Vista TPI suggestion: send current status to new connections
Posted: Sat Nov 07, 2015 10:46 pm
It would be great if the Envisalink would always send 01 and 02 messages (zone and partition status) immediately when a new connection is established and authenticated. Or alternately, if there were a command I could send to poll for the current zone and partition status.
Right now those messages are much less useful to my application than they could be because if there is already an active fault when I connect to the Envisalink, the only way I can find out about it is by parsing the text of incoming 00 update messages. If there's more than one fault, I have to wait for however long it takes to cycle through all the fault messages. That can take a while on a hot day when there are lots of doors and windows open.
If I have to parse the fault text to figure out the state of the world anyway, it seems like the 01 and 02 messages aren't buying me much aside from saving me from having to maintain a timer to expire faults I haven't seen in a while. But if the Envisalink sent the current state of the panel as soon as I connected, I could use the bitmasks in those messages to reliably initialize my application.
One workaround is to scrape the web UI and parse the "Zone Status" table HTML, but I'm not nuts about that idea, not least because the web UI could change in a future software update.
Right now those messages are much less useful to my application than they could be because if there is already an active fault when I connect to the Envisalink, the only way I can find out about it is by parsing the text of incoming 00 update messages. If there's more than one fault, I have to wait for however long it takes to cycle through all the fault messages. That can take a while on a hot day when there are lots of doors and windows open.
If I have to parse the fault text to figure out the state of the world anyway, it seems like the 01 and 02 messages aren't buying me much aside from saving me from having to maintain a timer to expire faults I haven't seen in a while. But if the Envisalink sent the current state of the panel as soon as I connected, I could use the bitmasks in those messages to reliably initialize my application.
One workaround is to scrape the web UI and parse the "Zone Status" table HTML, but I'm not nuts about that idea, not least because the web UI could change in a future software update.