Re: How to auto power down projectors after current video source loses sync for 'n' seconds?
Look at the help file for the ROS
toggle quoted message
Show quoted text
On Fri, Jan 10, 2025 at 1:07?PM craigsalmond via <craigsalmond= [email protected]> wrote: I've been banging my head against the keyboard looking for an easy way to power off a dual projector room with (3) NVX-351s as encoders, one of which uses both HDMI inputs. I've tried using NOT symbols to check sync FB and run that into a debounce, but that just shuts it down. I've tried using more comparison symbols than I care to remember, but this seems like it ought to be easier than I'm making it out to be. Is there an easier way to do this logic without comparing dozens of symbols? Maybe a Simpl+ solution??
|
How to auto power down projectors after current video source loses sync for 'n' seconds?
I've been banging my head against the keyboard looking for an easy way to power off a dual projector room with (3) NVX-351s as encoders, one of which uses both HDMI inputs. The two projectors also each have an NVX-351 decoder. I've tried using NOT symbols to check sync FB and run that into a debounce, but that just shuts it down. I've tried using more comparison symbols than I care to remember, but this seems like it ought to be easier than I'm making it out to be. Is there an easier way to do this logic without comparing dozens of symbols? Maybe a Simpl+ solution??
|
On Thu, Jan 9, 2025 at 05:40 PM, Thorsten K?hler wrote:
Marc, if you?re reading this: I?m issuing the Lens Memory commands to select memory slots 1,2 and 3, using these commands:
\x21\x89\x01\x49\x4E\x4D\x4C\x30\x0A
\x21\x89\x01\x49\x4E\x4D\x4C\x31\x0A
\x21\x89\x01\x49\x4E\x4D\x4C\x32\x0A
?
Can you have a look if you have these commands available in your module?
Hi Thorsten,
?
Marc isn't in the office today, so I'll reply on his behalf.
?
I've just checked the driver and, yes, those are the same commands we recall for some of the display modes - the table in the docs explains which display modes match up to those memory slots (called Installation Mode Load 1, 2, 3 etc.)
?
As Stefan said, you can use the module in trial mode before you commit to a licence.
?
Best regards,
Oliver
|
Oh, yeah – they messed up the website ? Here?s the manual for the NZ9 => ? Cheers, Thorsten ? ? Understand :)
Switching the laser level is something I don't have at the moment for my JVC. But if that is? something JVC integrated into the saving on the preset memories like lens settings that? should be fine too.?
Tryed to download the manuals of the newer JVC yesterday, but they seem to change the? EU homepage so there was nothing to download there...
|
Understand :)
Switching the laser level is something I don't have at the moment for my JVC. But if that is? something JVC integrated into the saving on the preset memories like lens settings that? should be fine too.?
Tryed to download the manuals of the newer JVC yesterday, but they seem to change the? EU homepage so there was nothing to download there...
|
Thanks, Stefan. That sounds good. BTW, we?re also changing e.g. laser level with the presets, so it?s not only lens settings (zoom, lensshift). I?m aware of the trial period for the Ultamation modules, but since I don?t have a JVC at hand for testing, that would require testing at the client which I?d like to avoid. ? Thanks, Thorsten ? ? OK so, you want to switch the lens memories. That‘s what I am doing in my homecinema with that module.? Within Crestron Home you can setup which of these commands are available in the extra control commands. There I setup 3 of the display commands to control lens memory preset 1-3 of my JVC.?
On these I setup different zoom and lensshift settings for 1,79:1, 2,40:1 and 1,85:1.?
So if you don‘t need to switch the Picture settings differently only lens memory presets, that should be fine.?
But btw. you always can test the Ultamation moduls for 1h hour, without license. After that reboot of the? control system again 1h. So maybe best way test it…
|
Hi Thorsten,?
OK so, you want to switch the lens memories. That‘s what I am doing in my homecinema with that module.? Within Crestron Home you can setup which of these commands are available in the extra control commands. There I setup 3 of the display commands to control lens memory preset 1-3 of my JVC.?
On these I setup different zoom and lensshift settings for 1,79:1, 2,40:1 and 1,85:1.?
So if you don‘t need to switch the Picture settings differently only lens memory presets, that should be fine.?
But btw. you always can test the Ultamation moduls for 1h hour, without license. After that reboot of the? control system again 1h. So maybe best way test it…
|
Topics in Home Automation - New Article in Residential Tech Today
CES (Consumer Electronics Show) is a major annual trade show
organized by the Consumer Technology Association (CTA) in Las
Vegas.? This year there are over 4300 exhibitors and over
130,000 people are expected to attend.? CES showcases the latest
innovations in consumer electronics, including a host of new
smart home products.?
A few days ago I had an article published on
some of the new smart home products being shown at CES.? It
turned out that there were too many interesting products for
just one article.? So, here is a second article with some more
very interesting smart home products.? You can find the article
here:
In addition to being published on the
Residential Tech Today website, the article has also been
published on the Innovation and Tech Today website here:
For those interested in earlier articles
that I've written, you can find those here:
For these interested in even earlier content that I wrote, you
can find it all here though older content has formatting issues
due to a transfer from blogspot to wordpress.
Thanks
|
Re: Honeywell Vista 128BPT disarming issues
Thanks. I'll keep it in mind. My stopgap solution has been working for years now so I don't feel like tangling with another black box though it might be kind of fun.
|
Re: Honeywell Vista 128BPT disarming issues
Okay, I see. Hopefully I won't have to get into that, but thanks for the explanation.
toggle quoted message
Show quoted text
--- On Thursday, January 9, 2025 2:19 PM, Michael Caldwell-Waller wrote:
Well yes I'm going to agree with you, the protocols are different (I'm assuming they are both RS232 though). And the NX-8E fix (it's on GitHub ) is only going to directly help your home installation at best. The underlying principle of what's wrong, could be exactly the same. I'll share what the problem was in terms of NX-8E, and how that might apply to the Vista, assuming it's the same conceptual problem.
On the NX-8E, if the host and the NX-8E both send something at the same time (within hundreds of milliseconds), the NX-8E can't tolerate it, and malfunctions. Any time NX-8E begins transmitting a notification (about a door open/close etc.), it wants the event notification acknowledged before it will accept any commands. If a command (like disarm) was already inflight, and finishes arriving when the NX-8E suddenly wants an acknowledgment, it gets ignored and the NX-8E's serial processing freezes for about a second, and afterward, it still wants an acknowledgment before it will accept commands. Crestron is left to guess whether the command worked. NX-8E is a difficult negotiator.
How this might apply to the Vista,
Conceptually, the Vista may have the same design flaw -- requiring notifications acknowledged, and burping if a command is received when an acknowledgement was expected.
The way I discovered this, is with the Saleae Logic Analyzer, the smallest Pro model (which can analyze RS232 level voltages), connected to my MacBook. It's really easy to see when the two sides are stepping on one another. Even without looking at the messages, you can start to deduce who is "requesting" and who's "responding" just by looking at the timing of who is transmitting. You can also pick up when both sides start transmitting at the same time, and whether that results in a chaotic interruption to the normal flow.
If you see the problem, then it's within reach of solving with an Arduino.
All the Arduino is doing, is looking for occurrences of both sides transmitting at the same time. If that is detected, it memorizes (into RAM) the packet that the host was sending, and then intentionally corrupts the packet in transit to the alarm (so the alarm system receives "nothing valid" -- which it will ignore, and this prevents its malfunction). We let the alarm system talk first. Afterward, Arduino sends the acknowledgment the alarm system desires, followed by the original memorized message from RAM. Crestron is none the wiser about what happened.
Same principle, could work the same. The only thing Arduino code cares about is the format of a valid packet (including checksum etc.) and how to prevent a partially transmitted packet from completing successfully -- it doesn't need to know any details about the alarm system protocol beyond that.
Mike
On Thu, Jan 9, 2025 at 10:50?AM Tony Golden wrote:
I'm pretty sure the GE protocol is completely different than the Vista-BPT, but thanks for the ideas.
I'm scheduled to go back to the site next week, and will hopefully be able to duplicate the problem while watching Debugger. At the very least I'd like to determine which conditions cause it to happen, but finding a solution or work- around is the ultimate goal.
I'll update this thread with my findings, but in the meantime any other ideas are also welcome.
--- On Thursday, January 9, 2025 at 11:41 AM, Michael Caldwell-Waller wrote:
NX-8E!!
Within this last year, I did a deep dive on the serial protocol interaction between the NX-8E and the host, and am 100% sure I discovered the causation and
the fix for the intermittent disarm issue (or more broadly, the sending of any
command to the NX-8E whenever notifications of any kind are enabled on the NX-
8E). It's a timing race condition between the Crestron processor and the NX- 8E
that I solved by inserting an 8-bit Arduino board between the two, that detects
and recovers from the condition seamlessly. I am very happy with the outcome. It's impossible to program this fix on the Crestron processor because
the multitasking nature introduces some unpredictability in the timing of the serial response that aggravates the race condition. The Arduino solution has no such constraints and completely mitigates the issue because it can be precise on the timing. Let me know if you want more info on this.
Mike
On Thu, Jan 9, 2025 at 9:36?AM Randy S wrote:
I've been using a similar but older NX-8e panel in my house for years with the
same intermittent disarm issue. I did a bunch of digging and testing but never
found a cause or solution but plenty of folks had the same problem. My hacked
solution is to use an input on the alarm panel programmed as a dry contact controlled arm /disarm toggle to disarm it with a relay on the processor, using
a passcode programmed into the Crestron system that matches the one in the alarm panel. The buttons on the touch panels still arm it normally via serial
for home /away but the disarm is controlled by the relay with FB from the alarm
panel so it can only trip the disarm input when it's already armed. It's not
perfect since you have to hard code the disarm passcode in the processor so you
need to know the client's passcodes(s), and if they use more than one you would
need to add a password module for each different passcode. And if they change a
code you need to change it in the SIMPL programming to match. Also the arm buttons need to use the Instant Arming with no passcode needed, though I suppose you could buffer the touch panel keys from the alarm module to the password module depending on the alarm's state.
But it does work100% of the time. In some ways it's sort of handy since I can
disarm the alarm directly from the processor without having to punch in a code
with a stepper so it's easy to use as part of an automated sequence.
So would I recommend it as a solution in a client's home? Eh, maybe, but only
if the only other solution is to replace the existing alarm system.
|
Re: Honeywell Vista 128BPT disarming issues
Hi Tony,
Well yes I'm going to agree with you, the protocols are different (I'm assuming they are both RS232 though).? And the NX-8E fix (it's on GitHub ) is only going to directly help your home installation at best.? The underlying principle of what's wrong, could be exactly the same.? I'll share what the problem was in terms of NX-8E, and how that might apply to the Vista, assuming it's the same conceptual problem.
On the NX-8E, if the host and the NX-8E both send something at the same time (within hundreds of milliseconds), the NX-8E can't tolerate it, and malfunctions.? Any time NX-8E begins transmitting a notification (about a door open/close etc.), it wants the event notification acknowledged before it will accept any commands.? If a command (like disarm) was already inflight, and finishes arriving when the NX-8E suddenly wants an?acknowledgment, it gets ignored and the NX-8E's serial processing freezes for about a second, and afterward, it still wants an acknowledgment before it will accept commands.? Crestron is left to guess whether the command worked.? NX-8E is a difficult negotiator.
How this might apply to the Vista,
Conceptually, the Vista may have the?same design flaw -- requiring notifications acknowledged, and burping if a command is received when an acknowledgement was expected.
The way I discovered?this, is with the Saleae Logic Analyzer, the smallest Pro model (which can analyze RS232 level voltages), connected to my MacBook.? It's really easy to see when the two sides are stepping on one another.? Even without looking at the messages, you can start to deduce who is "requesting" and who's "responding" just by looking at the timing of who is transmitting.? You can also pick up when both sides start transmitting at the same time, and whether that results in a chaotic interruption to the normal flow.
If you see the problem, then it's within reach of solving with an Arduino.
All the Arduino is doing, is looking for occurrences of both sides transmitting at the same time.? If that is detected, it memorizes (into RAM) the packet that the host was sending, and then intentionally corrupts the packet in transit to the alarm (so the alarm system receives "nothing valid" -- which it will ignore, and this prevents its malfunction).? ?We let the alarm system talk first.? Afterward, Arduino sends the acknowledgment the alarm system desires, followed by the original memorized message from RAM.? Crestron is none the wiser about what happened.
Same principle, could work the same.? The only thing Arduino code cares about is the format of a valid packet (including checksum etc.) and how to prevent a partially transmitted packet from completing successfully -- it doesn't need to know any details about the alarm system protocol beyond that.
Mike
toggle quoted message
Show quoted text
I'm pretty sure the GE protocol is completely different than the Vista-BPT, but thanks for the ideas.
I'm scheduled to go back to the site next week, and will hopefully be able to duplicate the problem while watching Debugger.? At the very least I'd like to determine which conditions cause it to happen, but finding a solution or work-around is the ultimate goal.
I'll update this thread with my findings, but in the meantime any other ideas are also welcome.
> --- On Thursday, January 9, 2025 at 11:41 AM, Michael Caldwell-Waller wrote:
>
> NX-8E!!
>
> Within this last year, I did a deep dive on the serial protocol interaction
> between the NX-8E and the host, and am 100% sure I discovered the causation and
> the fix for the intermittent disarm issue (or more broadly, the sending of any
> command to the NX-8E whenever notifications of any kind are enabled on the NX-
> 8E).? It's a timing race condition between the Crestron processor and the NX-8E
> that I solved by inserting an 8-bit Arduino board between the two, that detects
> and recovers from the condition seamlessly.? I am very happy with the
> outcome.? It's impossible to program this fix on the Crestron processor because
> the multitasking nature introduces some unpredictability in the timing of the
> serial response that aggravates the race condition.? The Arduino solution has
> no such constraints and completely mitigates the issue because it can be
> precise on the timing.? Let me know if you want more info on this.
>
> Mike
>
>
> > On Thu, Jan 9, 2025 at 9:36?AM Randy S wrote:
> >
> > I've been using a similar but older NX-8e panel in my house for years with the
> > same intermittent disarm issue. I did a bunch of digging and testing but never
> > found a cause or solution but plenty of folks had the same problem. My hacked
> > solution is to use an input on the alarm panel programmed as a dry contact
> > controlled arm /disarm toggle to disarm it with a relay on the processor, using
> > a passcode programmed into the Crestron system that matches the one in the
> > alarm panel. The buttons on the touch panels still arm it normally via serial
> > for home /away but the disarm is controlled by the relay with FB from the alarm
> > panel so it can only trip the disarm input when it's already armed. It's not
> > perfect since you have to hard code the disarm passcode in the processor so you
> > need to know the client's passcodes(s), and if they use more than one you would
> > need to add a password module for each different passcode. And if they change a
> > code you need to change it in the SIMPL programming to match. Also the arm
> > buttons need to use the Instant Arming with no passcode needed, though I
> > suppose you could buffer the touch panel keys from the alarm module to the
> > password module depending on the alarm's state.
> >
> > But it does work100% of the time. In some ways it's sort of handy since I can
> > disarm the alarm directly from the processor without having to punch in a code
> > with a stepper so it's easy to use as part of an automated sequence.
> >
> > So would I recommend it as a solution in a client's home? Eh, maybe, but only
> > if the only other solution is to replace the existing alarm system.
> >
|
Re: Honeywell Vista 128BPT disarming issues
I'm pretty sure the GE protocol is completely different than the Vista-BPT, but thanks for the ideas.
I'm scheduled to go back to the site next week, and will hopefully be able to duplicate the problem while watching Debugger. At the very least I'd like to determine which conditions cause it to happen, but finding a solution or work-around is the ultimate goal.
I'll update this thread with my findings, but in the meantime any other ideas are also welcome.
toggle quoted message
Show quoted text
--- On Thursday, January 9, 2025 at 11:41 AM, Michael Caldwell-Waller wrote:
NX-8E!!
Within this last year, I did a deep dive on the serial protocol interaction between the NX-8E and the host, and am 100% sure I discovered the causation and the fix for the intermittent disarm issue (or more broadly, the sending of any command to the NX-8E whenever notifications of any kind are enabled on the NX- 8E). It's a timing race condition between the Crestron processor and the NX-8E that I solved by inserting an 8-bit Arduino board between the two, that detects and recovers from the condition seamlessly. I am very happy with the outcome. It's impossible to program this fix on the Crestron processor because the multitasking nature introduces some unpredictability in the timing of the serial response that aggravates the race condition. The Arduino solution has no such constraints and completely mitigates the issue because it can be precise on the timing. Let me know if you want more info on this.
Mike
On Thu, Jan 9, 2025 at 9:36?AM Randy S wrote:
I've been using a similar but older NX-8e panel in my house for years with the same intermittent disarm issue. I did a bunch of digging and testing but never found a cause or solution but plenty of folks had the same problem. My hacked solution is to use an input on the alarm panel programmed as a dry contact controlled arm /disarm toggle to disarm it with a relay on the processor, using a passcode programmed into the Crestron system that matches the one in the alarm panel. The buttons on the touch panels still arm it normally via serial for home /away but the disarm is controlled by the relay with FB from the alarm panel so it can only trip the disarm input when it's already armed. It's not perfect since you have to hard code the disarm passcode in the processor so you need to know the client's passcodes(s), and if they use more than one you would need to add a password module for each different passcode. And if they change a code you need to change it in the SIMPL programming to match. Also the arm buttons need to use the Instant Arming with no passcode needed, though I suppose you could buffer the touch panel keys from the alarm module to the password module depending on the alarm's state.
But it does work100% of the time. In some ways it's sort of handy since I can disarm the alarm directly from the processor without having to punch in a code with a stepper so it's easy to use as part of an automated sequence.
So would I recommend it as a solution in a client's home? Eh, maybe, but only if the only other solution is to replace the existing alarm system.
|
Hi Stefan, ? I?m switching different lens memories for different content types: SDR, HDR and 3D. I?m using the detected content types coming from a madVR Envy videoprocessor and then trigger the corresponding commands via the JVC control API. That already works by using my own module I?ve written, I?d just like to move over to a commercially available module, because I don?t want to spend more time on writing my own modules. ? Marc, if you?re reading this: I?m issuing the Lens Memory commands to select memory slots 1,2 and 3, using these commands: \x21\x89\x01\x49\x4E\x4D\x4C\x30\x0A \x21\x89\x01\x49\x4E\x4D\x4C\x31\x0A \x21\x89\x01\x49\x4E\x4D\x4C\x32\x0A ? Can you have a look if you have these commands available in your module? ? If that?s a yes, then I can skip the testing and purchase the module right away. ? Thanks, Thorsten ? ? ? would you like to be able to select different picture modes on a certain Videosignal, or do you setup picture settings for these different signals??
Not absolutely sure about the newer JVC models, but for my RS2000 I could save picture settings for? different signals SDR, HDR, HLG and I believe 3D. So if the projector recognizes these kind of signals? it will change the picture settings automatically. So maybe no need for manually changing the? picture modes.?
But of course if you setup different picturemodes for a kind of signal that wouldn't be enough.?
About the display modes, I am pretty sure you can't save picture settings within the presets. These are only installation setup settings like zoom, lensshift etc.?
But this seems to be selected by the DisplayMode commands within the driver.?
I checked the manual of my RS2000 and there is a autoselection of the HDR10 and HLG picture mode that you can setup for an certain saved picture mode. But I am afraid maybe not for 3D.?
|
Re: Honeywell Vista 128BPT disarming issues
NX-8E!!
Within this last year, I did a deep dive on the serial protocol interaction between the NX-8E and the host, and am 100% sure I discovered the causation and the fix for the intermittent disarm issue (or more broadly, the sending of any command to the NX-8E whenever notifications of any kind are enabled on the NX-8E).? It's a timing race condition between the Crestron processor and the NX-8E that I solved by inserting an 8-bit Arduino board between the two, that detects and recovers from the condition seamlessly.? I am very happy with the outcome.? It's impossible to program this fix on the Crestron processor because the multitasking nature introduces some unpredictability in the timing of the serial response that aggravates the race condition.? The Arduino solution has no such constraints and completely mitigates the issue because it can be precise on the timing.? Let me know if you want more info on this.
Mike
toggle quoted message
Show quoted text
I've been using a similar but older NX-8e panel in my house for years with the same intermittent disarm issue. I did a bunch of digging and testing but never found a cause or solution but plenty of folks had the same problem. My hacked solution is to use an input on the alarm panel programmed as a dry contact controlled arm /disarm toggle to disarm it with a relay on the processor, using a passcode programmed into the Crestron system that matches the one in the alarm panel. The buttons on the touch panels still arm it normally via serial for home /away but the disarm is controlled by the relay with FB from the alarm panel so it can only trip the disarm input when it's already armed. It's not perfect since you have to hard code the disarm passcode in the processor so you need to know the client's passcodes(s), and if they use more than one you would need to add a password module for each different passcode. And if they change a code you need to change it in the SIMPL programming to match. Also the arm buttons need to use the Instant Arming with no passcode needed, though I suppose you could buffer the touch panel keys from the alarm module to the password module depending on the alarm's state.
?
But it does work100% of the time. In some ways it's sort of handy since I can disarm the alarm directly from the processor without having to punch in a code with a stepper so it's easy to use as part of an automated sequence.
?
So would I recommend it as a solution in a client's home? Eh, maybe, but only if the only other solution is to replace the existing alarm system.
|
Re: Honeywell Vista 128BPT disarming issues
I've been using a similar but older NX-8e panel in my house for years with the same intermittent disarm issue. I did a bunch of digging and testing but never found a cause or solution but plenty of folks had the same problem. My hacked solution is to use an input on the alarm panel programmed as a dry contact controlled arm /disarm toggle to disarm it with a relay on the processor, using a passcode programmed into the Crestron system that matches the one in the alarm panel. The buttons on the touch panels still arm it normally via serial for home /away but the disarm is controlled by the relay with FB from the alarm panel so it can only trip the disarm input when it's already armed. It's not perfect since you have to hard code the disarm passcode in the processor so you need to know the client's passcodes(s), and if they use more than one you would need to add a password module for each different passcode. And if they change a code you need to change it in the SIMPL programming to match. Also the arm buttons need to use the Instant Arming with no passcode needed, though I suppose you could buffer the touch panel keys from the alarm module to the password module depending on the alarm's state.
?
But it does work100% of the time. In some ways it's sort of handy since I can disarm the alarm directly from the processor without having to punch in a code with a stepper so it's easy to use as part of an automated sequence.
?
So would I recommend it as a solution in a client's home? Eh, maybe, but only if the only other solution is to replace the existing alarm system.
|
Re: Programming avice needed: parsing bus system
Without knowing the formatting of what you are parsing and exactly how it gets distributed it is difficult to comment with any certainty.
Depending on what your dispatcher is doing, you may be able to embed unique data on the outputs that set up your individual modules for what it is looking for or how it is to act. That unique data might?be transmitted to the downstream modules on program boot to "configure" them for their specific tasks, On Thu, Jan 9, 2025 at 8:01?AM Thorsten K?hler via <thorsten.koehler= [email protected]> wrote:
toggle quoted message
Show quoted text
That?s how I?ve implemented it now. Instead of having multiple module parsing the input stream for relevant data, the whole stream now only gets parsed once in a “dispatcher”-module. Then the device-specific modules only parse the small piece that is relevant to them. Thanks for that suggestion! I think that reduces the parsing-workload significantly. ? The Dispatcher-module now has 100+ serial output signals that are connected to the corresponding device-module. Any idea how to make that a bit more elegant? ? Also thanks to Matt and Jay for your thoughts! ? Cheers, Thorsten ? ? I might go with an option C, which is a bit of the two combined. You have a parsing/sorting module (call it the sorting hat) that looks at incoming data and then sorts it based on subsystems, with each subsystem getting a serial output that feeds your B option modules. Instead of parsing all of your devices in one big module you sort it out so that your specific modules are only ever looking at data that is relevant. As presented, your Option B requires every module to startup and evaluate if the data is for them... easy to implement?in SIMPL but a large overhead in SIMPL+ thread creation that?isn't necessary. When data comes in, your sorting hat main module (ideally it can be GATHERed and only use a single thread) handles it and passes it onto a much smaller amount of modules to deal with it.? My $0.02 ? Hi Thorsten, In my drivers I do the parsing in S#.? Then I have individual S+ modules for each device type that is supported by the driver.? So, there might be a thermostat S+ module, a switch S+ module, etc.? An S#? HTTPRequestEventHandler receives messages from devices, parses the messages, and then uses the SignalChangeEvents mechanism in S# to pass the parsed data along to the S+ modules.?? S+ modules will look at the data sent from S# and decide if the event is meant for them.? The decision process is dependent on the driver.? For example, with my Shelly driver each Shelly device has an individual IP address.? The S# parsing code passes along the IP address of the device that sent the message.? Then, for example, a Shelly S+ relay module has the devices IP address as a parameter and can decide if the message originated from a Shelly device matches the IP address parameter on the module.? If there is a match it will act upon the data received.? If there isn't a match it ignores the data. I have used this mechanism over and over with different drivers and it has proved very reliable.? You can look at the Shelly code on my GitHub for an example. The mechanism is especially good for devices that send JSON because you can use Newtonsoft for parsing. Hope this helps Jay On 1/7/2025 7:07 AM, Thorsten K?hler via wrote: Hi, ? I?ve got a bus system called “LCN” installed in my house. It?s similar to KNX, but different. ? The bus is connected to the LAN via gateway and I?m able to send and receive commands to the bus to control lighting, relay, etc. and receive status feedback, sensor readings, etc. Communication is via TCP and ASCII. I?ve programmed a parser that receives and parses the bus messages. I?ve done that for a few LCN modules for testing and would like to extend that to all modules and sensors in my house (100+). ? My question is how would I approach this best: - Write a central parsing module (all SIMPL+) that receives all bus messages, parses and separates the messages to all the different modules.
- Write smaller modules based on the specifics of the hardware modules/sensors that only parse the messages dedicated to each module.
? ? “A” would lead to one huge module with long and huge parsing flow, but it would be just one module parsing the whole input stream. “B” would lead to 100+ modules just waiting for messages addressed to the specific module/sensor and then just parse these. ? I tend to option “B” combined with a central module that opens up and handles the TCP connection and receiving and sending the bus communication. ? Any thoughts? ? Thanks, Thorsten
|
Re: Programming avice needed: parsing bus system
That?s how I?ve implemented it now. Instead of having multiple module parsing the input stream for relevant data, the whole stream now only gets parsed once in a “dispatcher”-module. Then the device-specific modules only parse the small piece that is relevant to them. Thanks for that suggestion! I think that reduces the parsing-workload significantly. ? The Dispatcher-module now has 100+ serial output signals that are connected to the corresponding device-module. Any idea how to make that a bit more elegant? ? Also thanks to Matt and Jay for your thoughts! ? Cheers, Thorsten ? ? I might go with an option C, which is a bit of the two combined. You have a parsing/sorting module (call it the sorting hat) that looks at incoming data and then sorts it based on subsystems, with each subsystem getting a serial output that feeds your B option modules. Instead of parsing all of your devices in one big module you sort it out so that your specific modules are only ever looking at data that is relevant. As presented, your Option B requires every module to startup and evaluate if the data is for them... easy to implement?in SIMPL but a large overhead in SIMPL+ thread creation that?isn't necessary. When data comes in, your sorting hat main module (ideally it can be GATHERed and only use a single thread) handles it and passes it onto a much smaller amount of modules to deal with it.? My $0.02 ?
toggle quoted message
Show quoted text
On Tue, Jan 7, 2025 at 1:10?PM jbasen via <jay.m.basen= [email protected]> wrote: Hi Thorsten, In my drivers I do the parsing in S#.? Then I have individual S+ modules for each device type that is supported by the driver.? So, there might be a thermostat S+ module, a switch S+ module, etc.? An S#? HTTPRequestEventHandler receives messages from devices, parses the messages, and then uses the SignalChangeEvents mechanism in S# to pass the parsed data along to the S+ modules.?? S+ modules will look at the data sent from S# and decide if the event is meant for them.? The decision process is dependent on the driver.? For example, with my Shelly driver each Shelly device has an individual IP address.? The S# parsing code passes along the IP address of the device that sent the message.? Then, for example, a Shelly S+ relay module has the devices IP address as a parameter and can decide if the message originated from a Shelly device matches the IP address parameter on the module.? If there is a match it will act upon the data received.? If there isn't a match it ignores the data. I have used this mechanism over and over with different drivers and it has proved very reliable.? You can look at the Shelly code on my GitHub for an example. The mechanism is especially good for devices that send JSON because you can use Newtonsoft for parsing. Hope this helps Jay On 1/7/2025 7:07 AM, Thorsten K?hler via wrote: Hi, ? I?ve got a bus system called “LCN” installed in my house. It?s similar to KNX, but different. ? The bus is connected to the LAN via gateway and I?m able to send and receive commands to the bus to control lighting, relay, etc. and receive status feedback, sensor readings, etc. Communication is via TCP and ASCII. I?ve programmed a parser that receives and parses the bus messages. I?ve done that for a few LCN modules for testing and would like to extend that to all modules and sensors in my house (100+). ? My question is how would I approach this best: - Write a central parsing module (all SIMPL+) that receives all bus messages, parses and separates the messages to all the different modules.
- Write smaller modules based on the specifics of the hardware modules/sensors that only parse the messages dedicated to each module.
? ? “A” would lead to one huge module with long and huge parsing flow, but it would be just one module parsing the whole input stream. “B” would lead to 100+ modules just waiting for messages addressed to the specific module/sensor and then just parse these. ? I tend to option “B” combined with a central module that opens up and handles the TCP connection and receiving and sending the bus communication. ? Any thoughts? ? Thanks, Thorsten
|
Re: Schuco integration with Crestron
They had gateway with IOs many years ago. We use it with
Crestron. I don't remember name of the unit.
But take a look at Schuco Bacnet gateway. Bacnet protocol is
directly supported by Crestron.
toggle quoted message
Show quoted text
Hi all,?
?
I'm would wondering if any could advise how Crestron able to
integrate with Schuco door and windows.?
?
I found Schuco system need the automation manager with
integrate with KNX but couldn't find any solution for Crestron.?
?
Do we have to integrate over KNX gateway? Would be very
appreciated if you could advise the diagram nad sample program.?
?
Thank you,?
?
|
Hi Thorsten,?
would you like to be able to select different picture modes on a certain Videosignal, or do you setup picture settings for these different signals??
Not absolutely sure about the newer JVC models, but for my RS2000 I could save picture settings for? different signals SDR, HDR, HLG and I believe 3D. So if the projector recognizes these kind of signals? it will change the picture settings automatically. So maybe no need for manually changing the? picture modes.?
But of course if you setup different picturemodes for a kind of signal that wouldn't be enough.?
About the display modes, I am pretty sure you can't save picture settings within the presets. These are only installation setup settings like zoom, lensshift etc.?
But this seems to be selected by the DisplayMode commands within the driver.?
I checked the manual of my RS2000 and there is a autoselection of the HDR10 and HLG picture mode that you can setup for an certain saved picture mode. But I am afraid maybe not for 3D.?
|
Hi Marc, ? thanks a lot. I?ll have a test with the client setup soon. ? Cheers, Thorsten ? ? We've done a revision to our driver's documentation and we believe we support the functionality you were referring to with regards to selecting different display modes.? Here's a link if that's helpful:
|