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.