Xero wrote:I can't seem to find any documentation on code "616" which is being sent from my panel.
The raw code I get is, for example:
61600002000000000009F
or...
6160000220000000000A1
And I am assuming this is code 616 with the data 0000200000000000
I suspect it has something to do with zone bypassing, as I was testing some stuff related to that and started getting exceptions due to this unhandled code. Is there any documentation as to what this is? I was almost hoping maybe it's an output of the bypassed zones, which might actually be useful to me....
I also suspect this must be a new feature? I don't recall having my code throw exceptions after bypassing zones until now.
Oh, my bad. Yes we added the long requested "bypass status" for DSC and upcoming UNO versions. This was done initially with the customer portals in mind but we also added a command for TPI users. I'll ask Mike to upload the latest version of the doc on this thread but in the mean time you are correct, 616 is...
Bypassed Zones Bitfield Dump
This command is issued upon leaving Zone Bypass programming (*1 on the keypad). It is a 16 character HEX string representing an 8 byte bitfield. This bitfield indicates which zones are currently in bypass. A “1” indicates the zone is in bypass. The lower 8 zones are in the first position of the bitfield. The developer can force this dump by using the keystring commands to enter and leave zone bypassing. i.e. “*1#”
Ahh..took me a minute to figure that one out. the 8 byte thing had me there since i kept thinking hex is 4, but i see what you did, it's basically divided up into pairs like this:
That's a bummer. I thought we finally would get complete bypass zone monitoring.
Also, I think the zones in each 8-byte section of the hex dump are reversed once you do the binary conversion, i.e. the order is zones 8-1; 16-9; 24-17 etc
local selfId = fibaro:getSelfId();
local ip = fibaro:get(selfId, 'IPAddress');
local port = fibaro:get(selfId, 'TCPPort');
tcpSocket = Net.FTcpSocket(ip, port);
tcpSocket:setReadTimeout(2000);
bytes, errorCode = tcpSocket:write("what do I put here")
tcpSocket:disconnect()