UDP Virtual Output - 0/OFF state after reboot

164 views
Skip to first unread message

Jedi Tek'Unum

unread,
Mar 21, 2019, 2:05:15 PM3/21/19
to Loxone English
Looking for suggestions on how to do this.

I have another computer that interfaces to all my buttons and the buttons each have an LED (Wattstopper LVSW). Button presses are sent to Loxone via UDP Virtual Inputs. LED control is via UDP Virtual Outputs. Obviously the two systems should be kept in sync.

What I've discovered is that both the analog and digital UDP Virtual Output will NOT generate a UDP packet if its input is 0 after a reboot. IF the value was non-zero before the reboot then it DOES regenerate the UDP packet. A reboot has the potential to get things out of sync.

As an example, say a Switch block output goes to the Virtual Output. If the Switch is on and does not have Remanence enabled then after a reboot there will NOT be a UDP packet indicating a state change.

Another example is an Analog Virtual Input connected to an Analog Virtual Output. Reboot will generate a new UDP packet only if the last value was non-zero. I've tried a Memory Flag between them and that doesn't change a thing.

Virtual Output should ALWAYS generate a packet after a reboot.

My next thought was to just generate a packet after boot telling the other device to reset all state. There is a pulse after start block. Is there a guarantee that it will be completely processed before anything else? If not then this reset message could be intermixed with UDP packets going out for non-zero values and again everything would be out of sync. Of course there isn't a drop of information in the documentation nor is it something that can be tested for (absence of incorrect behavior is not a guarantee).

This would seem to be a big problem for any external (ethernet) I/O adapter.

Duncan

unread,
Mar 21, 2019, 3:05:32 PM3/21/19
to Loxone English

the udp outputs have a repeat functionality - would this solve your problem if you set it to repeat every 10 secs or so?

Jedi Tek'Unum

unread,
Mar 21, 2019, 4:02:56 PM3/21/19
to Loxone English
On Thursday, March 21, 2019 at 2:05:32 PM UTC-5, Duncan wrote:
the udp outputs have a repeat functionality - would this solve your problem if you set it to repeat every 10 secs or so?

Doesn't work.

"First repetition" = "The command will be repeated if the output is ON (as digital output), or more than 0 (as an analogue output), for longer than this duration."

"Repetition Interval" = "If the output remains ON (as digital output) or more than 0 (as analogue output), the command will be repeated at this interval."

Setting only Repetition Interval does nothing. Also setting First repetition does as it says - only when output is non-zero.

Andrew B

unread,
Mar 21, 2019, 8:08:07 PM3/21/19
to Loxone English
Use picoC?  Simple to have startup functionality vs changing input states.  I haven't looked in years, but I think this is what I'm doing...

Jedi Tek'Unum

unread,
Mar 23, 2019, 5:27:42 PM3/23/19
to Loxone English
Here is a kludge workaround.

Setup the on/non-zero UDP Virtual Output Command to only have a setting for the ON preference. Leave "Command for OFF" blank. This VOC will only be used for on/non-zero.

Create another Virtual Output Command for the off/zero state. Connect it to the output of a NOT block and the input of the NOT block to the same source as the other VOC. For the "Command for ON" send whatever command you want to represent off. Leave the "Command for OFF" blank. This will only be used to send the off state - even for reboot!

Ugly as sin and, of course, a nightmare when replicated many times.
Reply all
Reply to author
Forward
0 new messages