Hi,
We have a few Modbus devices in our system:
- A load of relays used to control roller shutters. Simple stuff.
- A ventilation system. Loxone controls the flow rate on this depending on humidity, etc. and monitors various parameters (air input/output temperatures for example).
When left alone, these devices work just fine, but there is an option to put the ventilation system into standby and I would like to use that, but...
When one puts the ventilation system into standby it no longer responds to the requests for monitoring. Ie. Loxone cannot query air temperatures - and this is to be expected I guess as there's nothing happening in this device.
The problem is this: I have noticed that the Loxone system seems to have a queue for I/O on the Modbus... erm... bus. If the ventilation system is offline Loxone sends queries anyhow, and when no response is received, waits, then sends the request again, then waits some more, then gives up. It does this for all the parameters it's monitoring. No big deal you might think, but when one activates a roller shutter command while this request-wait-resend-wait process is going on then nothing happens with the shutters. It seems the command to turn on relays is queued and not sent until Loxone has finished messing around waiting for the ventilation and only then will the shutters move. This waiting is not insignificant and annoying as you can imagine.
Solutions I can think of:
- Mark the ventilation system as 'offline' when it's in standby mode and prevent Loxone from trying to communicate with it. I don't think this is possible, but would love to hear if it is!
- Change the polling period for the ventilation monitoring to something long and hope no-one commands the roller shutters during the 20-30s period Loxone will be busy waiting to talk to an offline device. This is hardly elegant and not a real solution.
- At least modify the Modbus query so for X parameters it reads multiple registers in one query and thus is waiting for a much shorter time. Again, not elegant or ideal and TBH, don't know why Loxone doesn't do this anyway.
- Something else? Any ideas?
Cheers,
Robin