access-ps-app/access-ps-app

1 line
401 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"Id":256,"Name":null,"Description":null,"FirmwareVersion":"","InProgress":false,"MessageTypes":[{"Id":7877,"Code":"COMM-SET_SOSNUMBER","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;mid=<<count_number>>;SET_SOSNUMBER=<<sosnumber>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;mid=[^;;]*;SET_SOSNUMBER=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":7877,\"Code\":\"COMM-SET_SOSNUMBER\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;SET_SOSNUMBER=<<sosnumber>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;SET_SOSNUMBER=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1741272718},{"Type":1,"NewValue":"{\"Id\":7877,\"Code\":\"COMM-SET_SOSNUMBER\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;SET_SOSNUMBER=<<sosnumber>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;SET_SOSNUMBER=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183702}],"Tags":[]},{"Id":7677,"Code":"COMM-IS_REGISTERED","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;mid=<<count_number>>;IS_REGISTERED=<<userId>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;mid=[^;;]*;IS_REGISTERED=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":7677,\"Code\":\"COMM-IS_REGISTERED\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;mid=<<count_number>>;IS_REGISTERED=<<userId>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;mid=[^;;]*;IS_REGISTERED=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183670}],"Tags":[]},{"Id":7676,"Code":"COMM-SET_USERID","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;mid=<<count_number>>;SET_USERID=<<userId>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;mid=[^;;]*;SET_USERID=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":7676,\"Code\":\"COMM-SET_USERID\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;mid=<<count_number>>;SET_USERID=<<userId>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;mid=[^;;]*;SET_USERID=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183739}],"Tags":[]},{"Id":7675,"Code":"COMM-REGISTER","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;mid=<<count_number>>;REGISTER=<<phoneId>>,<<userId>>,<<phonenumber>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;mid=[^;;]*;REGISTER=[^,;]*,[^,,]*,[^;,]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":7675,\"Code\":\"COMM-REGISTER\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;mid=<<count_number>>;REGISTER=<<phoneId>>,<<userId>>,<<phonenumber>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;mid=[^;;]*;REGISTER=[^,;]*,[^,,]*,[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183686}],"Tags":[]},{"Id":7593,"Code":"ALSOS","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALSOS;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALSOS;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":7593,\"Code\":\"ALSOS\",\"Name\":null,\"MessageCode\":\"ALSOS\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALSOS;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALSOS;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185984},{"Type":1,"NewValue":"{\"Id\":7593,\"Code\":\"ALSOS\",\"Name\":null,\"MessageCode\":\"ALSOS\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALSOS;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALSOS;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214104}],"Tags":[]},{"Id":7592,"Code":"CYC","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CYC;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CYC;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":7592,\"Code\":\"CYC\",\"Name\":null,\"MessageCode\":\"CYC\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CYC;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CYC;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747186003},{"Type":1,"NewValue":"{\"Id\":7592,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\" APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^ APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773221900},{"Type":1,"NewValue":"{\"Id\":7592,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\" APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^ APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773221913},{"Type":1,"NewValue":"{\"Id\":7592,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773221981},{"Type":1,"NewValue":"{\"Id\":7592,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;<<single_column_value>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773304653},{"Type":1,"NewValue":"{\"Id\":7592,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;<<single_column_value>>;LBEACON=<<beacon_mac>>,<<beacon_major>>,<<beacon_minor>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;[^;;]*;LBEACON=[^,;]*,[^,,]*,[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773314496},{"Type":1,"NewValue":"{\"Id\":7592,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;<<single_column_value>>;LBEACON=<<beacon_mac>>,<<beacon_major>>,<<beacon_minor>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;[^;;]*;LBEACON=[^,;]*,[^,,]*,[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773317014}],"Tags":[]},{"Id":7898,"Code":"ZNI","Name":null,"MessageCode":"ZNI","NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"+RESP:ZIN,<<imei>>,<<zone_name>>,<<latitude>>,<<longitude>>,<<location_accuracy>>,<<location_time>>,<<event_time>>,<<source>>$","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"\\+RESP:ZIN,[^,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^\\$,]*\\$","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7898,\"Code\":\"ZNI\",\"Name\":null,\"MessageCode\":\"ZNI\",\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"+RESP:ZIN,<<imei>>,<<zone_name>>,<<latitude>>,<<longitude>>,<<location_accuracy>>,<<location_time>>,<<event_time>>,<<source>>$\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"\\\\+RESP:ZIN,[^,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^\\\\$,]*\\\\$\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1741959809}],"Tags":[]},{"Id":7899,"Code":"ZNI","Name":null,"MessageCode":"ZNI","NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"+RESP:ZOUT,<<imei>>,<<zone_name>>,<<latitude>>,<<longitude>>,<<location_accuracy>>,<<location_time>>,<<event_time>>,<<source>>$","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"\\+RESP:ZOUT,[^,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^\\$,]*\\$","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7899,\"Code\":\"ZNI\",\"Name\":null,\"MessageCode\":\"ZNI\",\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"+RESP:ZOUT,<<imei>>,<<zone_name>>,<<latitude>>,<<longitude>>,<<location_accuracy>>,<<location_time>>,<<event_time>>,<<source>>$\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"\\\\+RESP:ZOUT,[^,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^\\\\$,]*\\\\$\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1741959833},{"Type":1,"NewValue":"{\"Id\":7899,\"Code\":\"ZNO\",\"Name\":null,\"MessageCode\":\"ZNO\",\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"+RESP:ZOUT,<<imei>>,<<zone_name>>,<<latitude>>,<<longitude>>,<<location_accuracy>>,<<location_time>>,<<event_time>>,<<source>>$\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"\\\\+RESP:ZOUT,[^,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^\\\\$,]*\\\\$\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1741959860}],"Tags":[]},{"Id":7915,"Code":"CON-LOGIN","Name":null,"MessageCode":"CON","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CON-LOGIN;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CON-LOGIN;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CON-LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CON-LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743666904},{"Type":1,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743667018},{"Type":1,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183762},{"Type":1,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1749618551},{"Type":1,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1749618889},{"Type":1,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1749619299},{"Type":1,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":true,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1774005795}],"Tags":[]},{"Id":7916,"Code":"DISCON-LOGOUT","Name":null,"MessageCode":"DISCON","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGOUT;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGOUT;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7916,\"Code\":\"DISCON-LOGOUT\",\"Name\":null,\"MessageCode\":\"DISCON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGOUT;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGOUT;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743666992},{"Type":1,"NewValue":"{\"Id\":7916,\"Code\":\"DISCON-LOGOUT\",\"Name\":null,\"MessageCode\":\"DISCON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGOUT;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGOUT;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185848}],"Tags":[]},{"Id":7917,"Code":"RTL-LIVE_ENABLE","Name":null,"MessageCode":"RTL","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_ENABLE;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_ENABLE;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7917,\"Code\":\"RTL-LIVE_ENABLE\",\"Name\":null,\"MessageCode\":\"RTL\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_ENABLE;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_ENABLE;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743667282},{"Type":1,"NewValue":"{\"Id\":7917,\"Code\":\"RTL-LIVE_ENABLED\",\"Name\":null,\"MessageCode\":\"RTL\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_ENABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_ENABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743667395},{"Type":1,"NewValue":"{\"Id\":7917,\"Code\":\"RTL-LIVE_ENABLED\",\"Name\":null,\"MessageCode\":\"RTL\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_ENABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_ENABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185913},{"Type":1,"NewValue":"{\"Id\":7917,\"Code\":\"LOCN-LIVE_ENABLED\",\"Name\":null,\"MessageCode\":\"LOCN\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_ENABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_ENABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214018}],"Tags":[]},{"Id":7918,"Code":"RTL-LIVE_DISABLED","Name":null,"MessageCode":"RTL","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_DISABLED;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_DISABLED;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7918,\"Code\":\"RTL-LIVE_DISABLED\",\"Name\":null,\"MessageCode\":\"RTL\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_DISABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_DISABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743667342},{"Type":1,"NewValue":"{\"Id\":7918,\"Code\":\"RTL-LIVE_DISABLED\",\"Name\":null,\"MessageCode\":\"RTL\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_DISABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_DISABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185899},{"Type":1,"NewValue":"{\"Id\":7918,\"Code\":\"LOCN-LIVE_DISABLED\",\"Name\":null,\"MessageCode\":\"LOCN\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_DISABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_DISABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750213991}],"Tags":[]},{"Id":7919,"Code":"INFO-OS_VERSION","Name":null,"MessageCode":"INFO","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;OS_VERSION;OS=<<platform>>,<<version>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;OS_VERSION;OS=[^,;]*,[^;]*;TIME=[^;,]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7919,\"Code\":\"INFO-OS_VERSION\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;OS_VERSION;OS=<<platform>>,<<version>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;OS_VERSION;OS=[^,;]*,[^;]*;TIME=[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743670604},{"Type":1,"NewValue":"{\"Id\":7919,\"Code\":\"INFO-OS_VERSION\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;OS_VERSION;OS=<<device>>,<<platform>>,<<version>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;OS_VERSION;OS=[^,;]*,[^,,]*,[^;]*;TIME=[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743751411},{"Type":1,"NewValue":"{\"Id\":7919,\"Code\":\"INFO-OS_VERSION\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;OS_VERSION;OS=<<device>>,<<platform>>,<<version>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;OS_VERSION;OS=[^,;]*,[^,,]*,[^;]*;TIME=[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185817}],"Tags":[]},{"Id":7920,"Code":"INFO-APP_VERSION","Name":null,"MessageCode":"INFO","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;APP_VERSION;APP=<<device>>,<<platform>>,<<version>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;APP_VERSION;APP=[^,;]*,[^,,]*,[^;]*;TIME=[^;,]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7920,\"Code\":\"INFO-APP_VERSION\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;APP_VERSION;APP=<<device>>,<<platform>>,<<version>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;APP_VERSION;APP=[^,;]*,[^,,]*,[^;]*;TIME=[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743751375},{"Type":1,"NewValue":"{\"Id\":7920,\"Code\":\"INFO-APP_VERSION\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;APP_VERSION;APP=<<device>>,<<platform>>,<<version>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;APP_VERSION;APP=[^,;]*,[^,,]*,[^;]*;TIME=[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183814}],"Tags":[]},{"Id":7921,"Code":"INFO-NETWORK_INFO","Name":null,"MessageCode":"INFO","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NETWORK_INFO;NETWORK=<<type>>,<<cellularGen>>,<<carrier>>,<<frequency>>,<<signalStrength>>,<<gpsStrength>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NETWORK_INFO;NETWORK=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7921,\"Code\":\"INFO-NETWORK_INFO\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NETWORK_INFO;NETWORK=<<type>>,<<cellularGen>>,<<carrier>>,<<frequency>>,<<signalStrength>>,<<gpsStrength>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NETWORK_INFO;NETWORK=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743758028},{"Type":1,"NewValue":"{\"Id\":7921,\"Code\":\"INFO-NETWORK_INFO\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NETWORK_INFO;NETWORK=<<type>>,<<cellularGen>>,<<carrier>>,<<frequency>>,<<signalStrength>>,<<gpsStrength>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NETWORK_INFO;NETWORK=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747186018}],"Tags":[]},{"Id":7927,"Code":"PWRN","Name":null,"MessageCode":"PWRN","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;POWER_ON;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;POWER_ON;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7927,\"Code\":\"PWRN\",\"Name\":null,\"MessageCode\":\"PWRN\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;POWER_ON;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;POWER_ON;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183225},{"Type":1,"NewValue":"{\"Id\":7927,\"Code\":\"PWRN\",\"Name\":null,\"MessageCode\":\"PWRN\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;POWER_ON;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;POWER_ON;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185881}],"Tags":[]},{"Id":7928,"Code":"PWRF","Name":null,"MessageCode":"PWRF","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;POWER_OFF;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;POWER_OFF;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7928,\"Code\":\"PWRF\",\"Name\":null,\"MessageCode\":\"PWRF\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;POWER_OFF;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;POWER_OFF;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183279},{"Type":1,"NewValue":"{\"Id\":7928,\"Code\":\"PWRF\",\"Name\":null,\"MessageCode\":\"PWRF\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;POWER_OFF;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;POWER_OFF;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185862}],"Tags":[]},{"Id":7929,"Code":"INFO-DEBUG","Name":null,"MessageCode":"INFO","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;DEBUG;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":"","LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":"","ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;DEBUG;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7929,\"Code\":\"INFO-DEBUG\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;DEBUG;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":\"\",\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":\"\",\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;DEBUG;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183542},{"Type":1,"NewValue":"{\"Id\":7929,\"Code\":\"INFO-DEBUG\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;DEBUG;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":\"\",\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":\"\",\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;DEBUG;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185796}],"Tags":[]},{"Id":8013,"Code":"ACK-CMD","Name":null,"MessageCode":"ACK","NeedAck":false,"IsAck":true,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"ACK-CMD;<<imei>>;<<sequenceNumber>>;OK;","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^ACK-CMD;[^;]*;[^;;]*;OK;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8013,\"Code\":\"ACK-CMD\",\"Name\":null,\"MessageCode\":\"ACK\",\"NeedAck\":false,\"IsAck\":true,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"ACK-CMD;<<imei>>;<<sequenceNumber>>;OK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^ACK-CMD;[^;]*;[^;;]*;OK;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1749537162}],"Tags":[]},{"Id":8020,"Code":"PBB","Name":null,"MessageCode":"PBB","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;PBB;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;PBB;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8020,\"Code\":\"PBB\",\"Name\":null,\"MessageCode\":\"PBB\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;PBB;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;PBB;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214085}],"Tags":[]},{"Id":8021,"Code":"ALA-O","Name":null,"MessageCode":"ALA-O","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-O;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-O;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8021,\"Code\":\"ALA-O\",\"Name\":null,\"MessageCode\":\"ALA-O\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-O;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-O;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214346}],"Tags":[]},{"Id":8022,"Code":"ALA-C","Name":null,"MessageCode":"ALA-C","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-C;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-C;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8022,\"Code\":\"ALA-C\",\"Name\":null,\"MessageCode\":\"ALA-C\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-C;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-C;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214419}],"Tags":[]},{"Id":8023,"Code":"ALA-S","Name":null,"MessageCode":"ALA-S","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-S;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-S;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8023,\"Code\":\"ALA-S\",\"Name\":null,\"MessageCode\":\"ALA-S\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-S;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-S;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214484}],"Tags":[]},{"Id":8024,"Code":"ALA","Name":null,"MessageCode":"ALA","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8024,\"Code\":\"ALA\",\"Name\":null,\"MessageCode\":\"ALA\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214619},{"Type":1,"NewValue":"{\"Id\":8024,\"Code\":\"ALA\",\"Name\":null,\"MessageCode\":\"ALA\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214680}],"Tags":[]},{"Id":8067,"Code":"COMM","Name":null,"MessageCode":"COMM","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userID>>;mid=<<messageId>>;IS_REGISTERED;TIME=<<event_time>>","HasTemplateGlobal":false,"ResponseTemplate":"APSCMD-<<version>>;update=<<messageId>>;REGISTERED_OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;IS_REGISTERED;TIME=[^=]*","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8067,\"Code\":\"COMM\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userID>>;mid=<<messageId>>;IS_REGISTERED;TIME=<<event_time>>\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<<version>>;update=<<messageId>>;REGISTERED_OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;IS_REGISTERED;TIME=[^=]*\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1769764395},{"Type":1,"NewValue":"{\"Id\":8067,\"Code\":\"COMM-IS_REGISTERED\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userID>>;mid=<<messageId>>;IS_REGISTERED;TIME=<<event_time>>\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<<version>>;update=<<messageId>>;REGISTERED_OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;IS_REGISTERED;TIME=[^=]*\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1769764439},{"Type":2,"NewValue":"{\"Id\":8067,\"Code\":\"COMM-IS_REGISTERED\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userID>>;mid=<<messageId>>;IS_REGISTERED;TIME=<<event_time>>\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<<version>>;update=<<messageId>>;REGISTERED_OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;IS_REGISTERED;TIME=[^=]*\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1771504412}],"Tags":[]},{"Id":8068,"Code":"COMM-REGISTER","Name":null,"MessageCode":"COMM","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<username>>;mid=<<messageId>>;REGISTER;PHONE=<<phoneNumber>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"APSCMD-<<version>>;update=<<messageId>>;ACTIVATED_OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;REGISTER;PHONE=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8068,\"Code\":\"COMM-REGISTER\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<username>>;mid=<<messageId>>;REGISTER;PHONE=<<phoneNumber>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<<version>>;update=<<messageId>>;ACTIVATED_OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;REGISTER;PHONE=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1769768681},{"Type":2,"NewValue":"{\"Id\":8068,\"Code\":\"COMM-REGISTER\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<username>>;mid=<<messageId>>;REGISTER;PHONE=<<phoneNumber>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<<version>>;update=<<messageId>>;ACTIVATED_OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;REGISTER;PHONE=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1771504427}],"Tags":[]},{"Id":8079,"Code":"NFC","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"!MA$<<->>$<<protocol_version>>$NFC$<<imei>>$<<beacon_mac>>$<<fix_state>>$<<raw_accuracy>>$<<speed_kph>>$<<heading>>$<<raw_longitude>>$<<raw_latitude>>$<<location_time_raw>>$<<battery_percentage>>$<<raw_cellid>>$<<raw_lac>>$<<mnc>>$<<mcc>>$","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^!MA\\$[^\\$]*\\$[^\\$]*\\$NFC\\$[^\\$]*\\$[^\\$]*\\$[^\\$]*\\$[^\\$]*\\$[^\\$]*\\$[^\\$]*\\$[^\\$]*\\$[^\\$]*\\$[^\\$]*\\$[^\\$]*\\$[^\\$]*\\$[^\\$]*\\$[^\\$]*\\$[^\\$]*\\$","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8079,\"Code\":\"NFC\",\"Name\":null,\"MessageCode\":null,\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"!MA$<<->>$<<protocol_version>>$NFC$<<imei>>$<<beacon_mac>>$<<fix_state>>$<<raw_accuracy>>$<<speed_kph>>$<<heading>>$<<raw_longitude>>$<<raw_latitude>>$<<location_time_raw>>$<<battery_percentage>>$<<raw_cellid>>$<<raw_lac>>$<<mnc>>$<<mcc>>$\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^!MA\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$NFC\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773179160},{"Type":1,"NewValue":"{\"Id\":8079,\"Code\":\"NFC\",\"Name\":null,\"MessageCode\":null,\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"!MA$<<->>$<<protocol_version>>$NFC$<<imei>>$<<beacon_mac>>$<<fix_state>>$<<raw_accuracy>>$<<speed_kph>>$<<heading>>$<<raw_longitude>>$<<raw_latitude>>$<<location_time_raw>>$<<battery_percentage>>$<<raw_cellid>>$<<raw_lac>>$<<mnc>>$<<mcc>>$\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^!MA\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$NFC\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773179221},{"Type":1,"NewValue":"{\"Id\":8079,\"Code\":\"NFC\",\"Name\":null,\"MessageCode\":null,\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"!MA$<<->>$<<protocol_version>>$NFC$<<imei>>$<<beacon_mac>>$<<fix_state>>$<<raw_accuracy>>$<<speed_kph>>$<<heading>>$<<raw_longitude>>$<<raw_latitude>>$<<location_time_raw>>$<<battery_percentage>>$<<raw_cellid>>$<<raw_lac>>$<<mnc>>$<<mcc>>$\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^!MA\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$NFC\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773179232},{"Type":1,"NewValue":"{\"Id\":8079,\"Code\":\"NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"!MA$<<->>$<<protocol_version>>$NFC$<<imei>>$<<beacon_mac>>$<<fix_state>>$<<raw_accuracy>>$<<speed_kph>>$<<heading>>$<<raw_longitude>>$<<raw_latitude>>$<<location_time_raw>>$<<battery_percentage>>$<<raw_cellid>>$<<raw_lac>>$<<mnc>>$<<mcc>>$\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^!MA\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$NFC\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$[^\\\\$]*\\\\$\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773179274},{"Type":1,"NewValue":"{\"Id\":8079,\"Code\":\"NFC\",\"Name\":null,\"MessageCode\":null,\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-001;{IMEI};{USER};mid={ID};NFC;TAG={uid};LAT={lat};LON={lon};ACC={accuracy};BATP={batt};TIME={ts};\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-001;{IMEI};{USER};mid={ID};NFC;TAG={uid};LAT={lat};LON={lon};ACC={accuracy};BATP={batt};TIME={ts};\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773181802},{"Type":1,"NewValue":"{\"Id\":8079,\"Code\":\"NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-001;{IMEI};{USER};mid={ID};NFC;TAG={uid};LAT={lat};LON={lon};ACC={accuracy};BATP={batt};TIME={ts};\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-001;{IMEI};{USER};mid={ID};NFC;TAG={uid};LAT={lat};LON={lon};ACC={accuracy};BATP={batt};TIME={ts};\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773221094},{"Type":1,"NewValue":"{\"Id\":8079,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-001;{IMEI};{USER};mid={ID};NFC;TAG={uid};LAT={lat};LON={lon};ACC={accuracy};BATP={batt};TIME={ts};\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-001;{IMEI};{USER};mid={ID};NFC;TAG={uid};LAT={lat};LON={lon};ACC={accuracy};BATP={batt};TIME={ts};\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773221295},{"Type":1,"NewValue":"{\"Id\":8079,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773221560},{"Type":1,"NewValue":"{\"Id\":8079,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773221600},{"Type":2,"NewValue":"{\"Id\":8079,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773221698}],"Tags":[]},{"Id":8080,"Code":"EBZI-NFC","Name":null,"MessageCode":"EBZI","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":" ","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^ ","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8080,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\" \",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^ \",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773221793},{"Type":1,"NewValue":"{\"Id\":8080,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\" APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^ APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773221858},{"Type":1,"NewValue":"{\"Id\":8080,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\" \",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^ \",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773221883},{"Type":1,"NewValue":"{\"Id\":8080,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773221967},{"Type":1,"NewValue":"{\"Id\":8080,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;<<single_column_value>>;LBEACON=<<beacon_mac>>,<<beacon_major>>,<<beacon_minor>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;[^;;]*;LBEACON=[^,;]*,[^,,]*,[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1773316345},{"Type":2,"NewValue":"{\"Id\":8080,\"Code\":\"EBZI-NFC\",\"Name\":null,\"MessageCode\":\"EBZI\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NFC;TAG=<<tag_id>>;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;<<single_column_value>>;LBEACON=<<beacon_mac>>,<<beacon_major>>,<<beacon_minor>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NFC;TAG=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;[^;;]*;LBEACON=[^,;]*,[^,,]*,[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1782725122}],"Tags":[]},{"Id":8094,"Code":"CYC","Name":null,"MessageCode":"CYC","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CYC;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CYC;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8094,\"Code\":\"CYC\",\"Name\":null,\"MessageCode\":\"CYC\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CYC;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CYC;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1774948886}],"Tags":[]},{"Id":8305,"Code":"CHK","Name":null,"MessageCode":"CHK","NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"ACK-CMD;<<imei>>;<<sequenceNumber>>;CHK;","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^ACK-CMD;[^;]*;[^;;]*;CHK;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8305,\"Code\":\"CHK\",\"Name\":null,\"MessageCode\":\"CHK\",\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"ACK-CMD;<<imei>>;<<sequenceNumber>>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^ACK-CMD;[^;]*;[^;;]*;CHK;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1779284061},{"Type":1,"NewValue":"{\"Id\":8305,\"Code\":\"CHK\",\"Name\":null,\"MessageCode\":\"CHK\",\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<sequenceNumber>>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;CHK;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1779284402},{"Type":1,"NewValue":"{\"Id\":8305,\"Code\":\"CHK\",\"Name\":null,\"MessageCode\":\"CHK\",\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CHK;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1779284805},{"Type":1,"NewValue":"{\"Id\":8305,\"Code\":\"CHK\",\"Name\":null,\"MessageCode\":\"CHK\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK;<<count_number>>;[0a]\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CHK;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784734864},{"Type":1,"NewValue":"{\"Id\":8305,\"Code\":\"CHK\",\"Name\":null,\"MessageCode\":\"CHK\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CHK;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784735776},{"Type":1,"NewValue":"{\"Id\":8305,\"Code\":\"CHK\",\"Name\":null,\"MessageCode\":\"CHK\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CHK;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784735859},{"Type":1,"NewValue":"{\"Id\":8305,\"Code\":\"CHK\",\"Name\":null,\"MessageCode\":\"CHK\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CHK;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784735931},{"Type":1,"NewValue":"{\"Id\":8305,\"Code\":\"CHK\",\"Name\":null,\"MessageCode\":\"CHK\",\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CHK;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784882815},{"Type":1,"NewValue":"{\"Id\":8305,\"Code\":\"CHK\",\"Name\":null,\"MessageCode\":\"CHK\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CHK;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784883123}],"Tags":[]},{"Id":8312,"Code":"ALA-O2","Name":null,"MessageCode":"ALA-O","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-O;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;ALAT=<<ala_duration>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-O;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;ALAT=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8312,\"Code\":\"ALA-O2\",\"Name\":null,\"MessageCode\":\"ALA-O\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-O;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;ALAT=<<ala_duration>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-O;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;ALAT=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1782741867},{"Type":1,"NewValue":"{\"Id\":8312,\"Code\":\"ALA-O2\",\"Name\":null,\"MessageCode\":\"ALA-O\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-O2;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;ALAT=<<ala_duration>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-O2;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;ALAT=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1782744913}],"Tags":[]},{"Id":8314,"Code":"ALA-S2","Name":null,"MessageCode":"ALA-S","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-S2;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;ALAT=<<ala_duration>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-S2;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;ALAT=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8314,\"Code\":\"ALA-S2\",\"Name\":null,\"MessageCode\":\"ALA-S\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-S2;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;ALAT=<<ala_duration>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-S2;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;ALAT=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1782828381}],"Tags":[]},{"Id":8317,"Code":"ALF","Name":null,"MessageCode":"ALF","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALF;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;FORCE=<<peak_g_force>>;","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALF;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;FORCE=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8317,\"Code\":\"ALF\",\"Name\":null,\"MessageCode\":\"ALF\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALF;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;FORCE=<<peak_g_force>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALF;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;FORCE=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1783515077},{"Type":1,"NewValue":"{\"Id\":8317,\"Code\":\"ALF\",\"Name\":null,\"MessageCode\":\"ALF\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALF;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;FORCE=<<peak_g_force>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALF;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;FORCE=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1783515129},{"Type":1,"NewValue":"{\"Id\":8317,\"Code\":\"ALF\",\"Name\":null,\"MessageCode\":\"ALF\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALF;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;FORCE=<<peak_g_force>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALF;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;FORCE=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1783515162}],"Tags":[]},{"Id":8322,"Code":"ALI","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALI;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALI;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8322,\"Code\":\"ALI\",\"Name\":null,\"MessageCode\":null,\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALI;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALI;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784901737},{"Type":1,"NewValue":"{\"Id\":8322,\"Code\":\"ALI\",\"Name\":null,\"MessageCode\":null,\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALI;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALI;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784901765},{"Type":1,"NewValue":"{\"Id\":8322,\"Code\":\"ALI\",\"Name\":null,\"MessageCode\":null,\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALI;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALI;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784901804},{"Type":1,"NewValue":"{\"Id\":8322,\"Code\":\"ALI\",\"Name\":null,\"MessageCode\":null,\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALI;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALI;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784901844},{"Type":1,"NewValue":"{\"Id\":8322,\"Code\":\"ALI\",\"Name\":null,\"MessageCode\":\"ALNM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALNM;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALNM;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784901904},{"Type":1,"NewValue":"{\"Id\":8322,\"Code\":\"ALNM\",\"Name\":null,\"MessageCode\":\"ALNM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALNM;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALNM;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784902116}],"Tags":[]},{"Id":8323,"Code":"ALNM-C","Name":null,"MessageCode":"ALNM-C","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALNM-C;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALNM-C;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8323,\"Code\":\"ALNM-C\",\"Name\":null,\"MessageCode\":\"ALNM-C\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALNM-C;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALNM-C;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784901954},{"Type":1,"NewValue":"{\"Id\":8323,\"Code\":\"ALNM-C\",\"Name\":null,\"MessageCode\":\"ALNM-C\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALNM-C;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALNM-C;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784902085}],"Tags":[]},{"Id":8324,"Code":"ALF-C","Name":null,"MessageCode":"ALF-C","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALF-C;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;FORCE=<<peak_g_force>>;","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALF-C;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;FORCE=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8324,\"Code\":\"ALF-C\",\"Name\":null,\"MessageCode\":\"ALF-C\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALF-C;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;FORCE=<<peak_g_force>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALF-C;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;FORCE=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784902030},{"Type":1,"NewValue":"{\"Id\":8324,\"Code\":\"ALF-C\",\"Name\":null,\"MessageCode\":\"ALF-C\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALF-C;LOTH=<<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;FORCE=<<peak_g_force>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALF-C;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;FORCE=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784902065}],"Tags":[]},{"Id":8325,"Code":"FALL_ENABLED","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;FALL_ENABLED;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;FALL_ENABLED;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8325,\"Code\":\"FALL_ENABLED\",\"Name\":null,\"MessageCode\":null,\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;FALL_ENABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;FALL_ENABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784902474},{"Type":2,"NewValue":"{\"Id\":8325,\"Code\":\"FALL_ENABLED\",\"Name\":null,\"MessageCode\":null,\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;FALL_ENABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;FALL_ENABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784902507}],"Tags":[]}],"Commands":[{"Id":5719,"Name":"SOS Number","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"SOSN=\" + params.AlertSettings.SOSNumber.replace(\"(\", \"\").replace(\")\", \"\");\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\nconst _crypto = require('crypto');\nvar password = params.Password.Password;\nif (password === \"\") {\n var part2 = command;\n} else {\n var part2 = \"enc=\" + encrypt(command, part1, password);\n}\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n\nfunction encrypt(text, mid, password) {\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n const iv = _crypto.randomBytes(16); // random initialization vector\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n // set the cipher\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n // encrypt text\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n // generate output ( encrypted text )\n return Buffer.concat([iv, encrypted]).toString('base64');\n}","CommandToUpdate":null,"Parent":null,"AvoidResending":false,"FollowParentSentType":false,"SendingType":0,"HasAck":true,"HexString":false,"Order":null,"SendAttempts":8,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":5719,\"Name\":\"SOS Number\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"SOSN=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\nconst _crypto = require('crypto');\\nvar password = params.Password.Password;\\nif (password === \\\"\\\") {\\n var part2 = command;\\n} else {\\n var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n}\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":0,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":8,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747192387},{"Type":1,"NewValue":"{\"Id\":5719,\"Name\":\"SOS Number\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"SOSN=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\nconst _crypto = require('crypto');\\nvar password = params.Password.Password;\\nif (password === \\\"\\\") {\\n var part2 = command;\\n} else {\\n var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n}\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":8,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747192811},{"Type":1,"NewValue":"{\"Id\":5719,\"Name\":\"SOS Number\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"SOSN=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n// function encrypt(text, mid, password) {\\n// var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n// const iv = _crypto.randomBytes(16); // random initialization vector\\n// const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n// // set the cipher\\n// const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n// // encrypt text\\n// const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n// // generate output ( encrypted text )\\n// return Buffer.concat([iv, encrypted]).toString('base64');\\n// }\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":8,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1748942103}],"Tags":[]},{"Id":5825,"Name":"Fall Detection Config","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"FALLCONFIG=\" + params.AlertSettings.SOSNumber.replace(\"(\", \"\").replace(\")\", \"\");\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\n// const _crypto = require('crypto');\n// var password = params.Password.Password;\n// if (password === \"\") {\nvar part2 = command;\n// } else {\n// var part2 = \"enc=\" + encrypt(command, part1, password);\n// }\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n// function encrypt(text, mid, password) {\n// var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n// const iv = _crypto.randomBytes(16); // random initialization vector\n// const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n// // set the cipher\n// const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n// // encrypt text\n// const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n// // generate output ( encrypted text )\n// return Buffer.concat([iv, encrypted]).toString('base64');\n// }","CommandToUpdate":null,"Parent":null,"AvoidResending":false,"FollowParentSentType":false,"SendingType":3,"HasAck":true,"HexString":false,"Order":null,"SendAttempts":6,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":5825,\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"FALLCONFIG=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n// function encrypt(text, mid, password) {\\n// var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n// const iv = _crypto.randomBytes(16); // random initialization vector\\n// const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n// // set the cipher\\n// const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n// // encrypt text\\n// const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n// // generate output ( encrypted text )\\n// return Buffer.concat([iv, encrypted]).toString('base64');\\n// }\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":6,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1783525517},{"Type":1,"NewValue":"{\"Id\":5825,\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"FALLCONFIG=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\nvar part2 = command;\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":6,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1783525943},{"Type":1,"NewValue":"{\"Id\":5825,\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"// var command = \\\"FALLCONFIG=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\n// var configs = [];\\n// sequenceNumber = (new Date().getTime()).toString(36);\\n// var part1 = \\\"update=\\\" + sequenceNumber;\\n// var part2 = command;\\n// AddValue(\\\"part1\\\", part1);\\n// AddValue(\\\"part2\\\", part2);\\n// AddValue(\\\"sequenceNumber\\\", sequenceNumber);\\n// var commandConfigs = {\\n// template: \\\"main\\\",\\n// configs: configs,\\n// };\\n// msg.push(JSON.stringify(commandConfigs));\\n// function AddValue(p1, p2) {\\n// var cvpair = {\\n// code: p1,\\n// value: p2\\n// };\\n// configs.push(cvpair);\\n// }\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":6,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1783526707},{"Type":1,"NewValue":"{\"Id\":5825,\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"FALLCONFIG=\\\" + params.AlertSettings.params.FallAlarm.Sensitivity + \\\",\\\" + params.AlertSettings.params.FallAlarm.UserFallAlarmCancellationPeriod + \\\",\\\" + params.AlertSettings.params.FallAlarm.DetectionPostFallIgnoreMovementGracePeriod + \\\",\\\" + params.AlertSettings.params.FallAlarm.DetectionPostFallStillnessRequirementPeriod;\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":6,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1783590454},{"Type":1,"NewValue":"{\"Id\":5825,\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"FALLCONFIG=\\\" + params.FallAlarm.Sensitivity + \\\",\\\" + params.FallAlarm.UserFallAlarmCancellationPeriod + \\\",\\\" + params.FallAlarm.DetectionPostFallIgnoreMovementGracePeriod + \\\",\\\" + params.FallAlarm.DetectionPostFallStillnessRequirementPeriod;\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":6,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1783592484},{"Type":1,"NewValue":"{\"Id\":5825,\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"FALLCONFIG=\\\" + params.FallAlarm.Sensitivity + \\\",\\\" + params.FallAlarm.UserFallAlarmCancellationPeriod + \\\",\\\" + params.FallAlarm.DetectionPostFallIgnoreMovementGracePeriod + \\\",\\\" + params.FallAlarm.DetectionPostFallStillnessRequirementPeriod + \\\",\\\" + Object.keys(params.FallAlarm);\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":6,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1783592718},{"Type":1,"NewValue":"{\"Id\":5825,\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"FALLCONFIG=\\\" + params.FallAlarm.Sensitivity + \\\",\\\" + params.FallAlarm.UserFallAlarmCancellationPeriod + \\\",\\\" + params.FallAlarm[\\\"Detection:Post-FallIgnoreMovementGracePeriod\\\"] + \\\",\\\" + params.FallAlarm[\\\"Detection:Post-FallStillnessRequirementPeriod\\\"];\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":6,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1783592996},{"Type":1,"NewValue":"{\"Id\":5825,\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"FALLCONFIG=\\\" + params.FallAlarm.EnableDisableFallAlarm + \\\",\\\" + params.FallAlarm.Sensitivity + \\\",\\\" + params.FallAlarm.UserFallAlarmCancellationPeriod + \\\",\\\" + params.FallAlarm[\\\"Detection:Post-FallIgnoreMovementGracePeriod\\\"] + \\\",\\\" + params.FallAlarm[\\\"Detection:Post-FallStillnessRequirementPeriod\\\"];\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":6,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1785335637}],"Tags":[]},{"Id":5830,"Name":"Inactivity Detection Config","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"INACTIVITYCONFIG=\" + params.InactivityAlarm.EnableDisableInactivityAlarm + \",\" + params.InactivityAlarm.InactivityTimeout;\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\n// const _crypto = require('crypto');\n// var password = params.Password.Password;\n// if (password === \"\") {\nvar part2 = command;\n// } else {\n// var part2 = \"enc=\" + encrypt(command, part1, password);\n// }\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n\nfunction encrypt(text, mid, password) {\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n const iv = _crypto.randomBytes(16); // random initialization vector\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n // set the cipher\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n // encrypt text\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n // generate output ( encrypted text )\n return Buffer.concat([iv, encrypted]).toString('base64');\n}","CommandToUpdate":null,"Parent":null,"AvoidResending":false,"FollowParentSentType":false,"SendingType":3,"HasAck":true,"HexString":false,"Order":null,"SendAttempts":6,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":5830,\"Name\":\"Inactivity Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"INACTIVITYCONFIG=\\\" + params.InactivityAlarm.EnableDisableInactivityAlarm + \\\",\\\" + params.InactivityAlarm.InactivityTimeout;\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":6,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1784901251},{"Type":1,"NewValue":"{\"Id\":5830,\"Name\":\"Inactivity Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"INACTIVITYCONFIG=\\\" + params.InactivityAlarm.EnableDisableInactivityAlarm + \\\",\\\" + params.InactivityAlarm.InactivityTimeout + \\\",\\\" + params.InactivityAlarm.UserInactivityAlarmCancellationPeriod;\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":6,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1785337572}],"Tags":[]}],"Operations":[{"Id":367,"Name":"apsapp_ops","Operation":"function execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, localTesting) {\n // ADD THE OPS CODE HERE\n let tasks = []; // array of tasks to be executed\n var deviceParams = [];\n var configsToUpdate = [];\n AddValue(\"imei\", params.imei);\n // evaluate messageTypLocalCOde \n if (messageTypeLocalCode == \"COMM-REGISTER\") { // Create message\n let userId = params.userId;\n let phoneId = params.phoneId;\n let phoneNumber = params.phonenumber;\n let message = \"APS-001;\" + phoneId + \";mid=\" + params.count_number + \";SET_USERID=\" + userId + \";\";\n // sendMessageToLocalhost(message); \n tasks = [{\n \"name\": \"Create\" + phoneId,\n \"option\": \"sync\",\n \"type\": \"createDevice\",\n \"payload\": JSON.stringify({\n \"name\": \"APS\" + phoneId,\n \"imei\": phoneId,\n \"abortOnError\": false,\n \"init\": true,\n \"phoneNumber\": phoneNumber,\n // \"entity\":\"import_test\",\n }),\n \"order\": 1\n }, {\n \"name\": \"SetUserId\" + userId,\n \"option\": \"async\",\n \"type\": \"sendMessage\",\n \"payload\": JSON.stringify({\n \"message\": message\n }),\n \"order\": 2\n }]\n } else if (messageTypeLocalCode == \"COMM-SET_USERID\") { // Set Device ID message\n let userId = params.userId;\n AddValue(\"userId\", userId);\n AddConfigToUpdate(configIds.Config.UserId, userId);\n } else if (messageTypeLocalCode == \"COMM-IS_REGISTERED\") { // Get Device ID message\n // is the input deviceid the same as the one registered?\n let currentUserId = configs.Config.UserId;\n let newUserId = params.userId;\n AddValue(\"currentUserId\", currentUserId);\n AddValue(\"oldUserId\", configs.Config.UserIdOld);\n if (currentUserId !== newUserId) {\n AddConfigToUpdate(configIds.Config.UserId, newUserId);\n }\n }\n var msg = {\n 'values': deviceParams,\n };\n if (tasks.length > 0) {\n msg.tasks = tasks;\n }\n if (configsToUpdate.length > 0) {\n msg.configsToUpdate = configsToUpdate\n };\n // modify to return the object that contains your data\n console.log(msg);\n return msg;\n\n function AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n deviceParams.push(cvpair);\n }\n\n function AddConfigToUpdate(configName, newvalue) {\n if (newvalue !== undefined) { // don't add if newvalue is undefined\n var cvpair = {\n 'code': configName,\n 'value': newvalue,\n 'forced': true\n };\n configsToUpdate.push(cvpair);\n };\n }\n}\n// params is not defined locally -> export as module\nif (typeof(params) === 'undefined') {\n module.exports = {\n execute_ops\n }\n} else { // on server use local defined vars\n let return_values = execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, false)\n // define global returns\n msg = return_values;\n}","Type":0,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":367,\"Name\":\"apsapp_ops\",\"Operation\":\"function execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, localTesting) {\\n // ADD THE OPS CODE HERE\\n let tasks = []; // array of tasks to be executed\\n var deviceParams = [];\\n var configsToUpdate = [];\\n AddValue(\\\"imei\\\", params.imei);\\n // evaluate messageTypLocalCOde \\n if (messageTypeLocalCode == \\\"COMM-REGISTER\\\") { // Create message\\n let userId = params.userId;\\n let phoneId = params.phoneId;\\n let phoneNumber = params.phonenumber;\\n let message = \\\"APS-001;\\\" + phoneId + \\\";mid=\\\" + params.count_number + \\\";SET_USERID=\\\" + userId + \\\";\\\";\\n // sendMessageToLocalhost(message); \\n tasks = [{\\n \\\"name\\\": \\\"Create\\\" + phoneId,\\n \\\"option\\\": \\\"sync\\\",\\n \\\"type\\\": \\\"createDevice\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"name\\\": \\\"APS\\\" + phoneId,\\n \\\"imei\\\": phoneId,\\n \\\"abortOnError\\\": false,\\n \\\"init\\\": true,\\n \\\"phoneNumber\\\": phoneNumber,\\n // \\\"entity\\\":\\\"import_test\\\",\\n }),\\n \\\"order\\\": 1\\n }, {\\n \\\"name\\\": \\\"SetUserId\\\" + userId,\\n \\\"option\\\": \\\"async\\\",\\n \\\"type\\\": \\\"sendMessage\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"message\\\": message\\n }),\\n \\\"order\\\": 2\\n }]\\n } else if (messageTypeLocalCode == \\\"COMM-SET_USERID\\\") { // Set Device ID message\\n let userId = params.userId;\\n AddValue(\\\"userId\\\", userId);\\n AddConfigToUpdate(configIds.Config.UserId, userId);\\n } else if (messageTypeLocalCode == \\\"COMM-SET_SOSNUMBER\\\") { // Set SOS NUMBER message\\n let sosNumber = params.sosnumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n } else if (messageTypeLocalCode == \\\"COMM-IS_REGISTERED\\\") { // Get Device ID message\\n // is the input deviceid the same as the one registered?\\n let currentUserId = configs.Config.UserId;\\n let newUserId = params.userId;\\n AddValue(\\\"currentUserId\\\", currentUserId);\\n AddValue(\\\"oldUserId\\\", configs.Config.UserIdOld);\\n if (currentUserId !== newUserId) {\\n AddConfigToUpdate(configIds.Config.UserId, newUserId);\\n }\\n }\\n var msg = {\\n 'values': deviceParams,\\n };\\n if (tasks.length > 0) {\\n msg.tasks = tasks;\\n }\\n if (configsToUpdate.length > 0) {\\n msg.configsToUpdate = configsToUpdate\\n };\\n // modify to return the object that contains your data\\n console.log(msg);\\n return msg;\\n\\n function AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n deviceParams.push(cvpair);\\n }\\n\\n function AddConfigToUpdate(configName, newvalue) {\\n if (newvalue !== undefined) { // don't add if newvalue is undefined\\n var cvpair = {\\n 'code': configName,\\n 'value': newvalue,\\n 'forced': true\\n };\\n configsToUpdate.push(cvpair);\\n };\\n }\\n}\\n// params is not defined locally -> export as module\\nif (typeof(params) === 'undefined') {\\n module.exports = {\\n execute_ops\\n }\\n} else { // on server use local defined vars\\n let return_values = execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, false)\\n // define global returns\\n msg = return_values;\\n}\",\"Type\":0,\"ProtocolActionObjects\":[]}","Timestamp":1741187532},{"Type":1,"NewValue":"{\"Id\":367,\"Name\":\"apsapp_ops\",\"Operation\":\"function execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, localTesting) {\\n // ADD THE OPS CODE HERE\\n let tasks = []; // array of tasks to be executed\\n var deviceParams = [];\\n var configsToUpdate = [];\\n AddValue(\\\"imei\\\", params.imei);\\n // evaluate messageTypLocalCOde \\n if (messageTypeLocalCode == \\\"COMM-REGISTER\\\") { // Create message\\n let userId = params.userId;\\n let phoneId = params.phoneId;\\n let phoneNumber = params.phonenumber;\\n let message = \\\"APS-001;\\\" + phoneId + \\\";mid=\\\" + params.count_number + \\\";SET_USERID=\\\" + userId + \\\";\\\";\\n // sendMessageToLocalhost(message); \\n tasks = [{\\n \\\"name\\\": \\\"Create\\\" + phoneId,\\n \\\"option\\\": \\\"sync\\\",\\n \\\"type\\\": \\\"createDevice\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"name\\\": \\\"APS\\\" + phoneId,\\n \\\"imei\\\": phoneId,\\n \\\"abortOnError\\\": false,\\n \\\"init\\\": true,\\n \\\"phoneNumber\\\": phoneNumber,\\n // \\\"entity\\\":\\\"import_test\\\",\\n }),\\n \\\"order\\\": 1\\n }, {\\n \\\"name\\\": \\\"SetUserId\\\" + userId,\\n \\\"option\\\": \\\"async\\\",\\n \\\"type\\\": \\\"sendMessage\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"message\\\": message\\n }),\\n \\\"order\\\": 2\\n }]\\n } else if (messageTypeLocalCode == \\\"COMM-SET_USERID\\\") { // Set Device ID message\\n let userId = params.userId;\\n AddValue(\\\"userId\\\", userId);\\n AddConfigToUpdate(configIds.Config.UserId, userId);\\n } else if (messageTypeLocalCode == \\\"COMM-SET_SOSNUMBER\\\") { // Set SOS NUMBER message\\n let sosNumber = params.sosnumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n } else if (messageTypeLocalCode == \\\"COMM-IS_REGISTERED\\\") { // Get Device ID message\\n // is the input deviceid the same as the one registered?\\n let currentUserId = configs.Config.UserId;\\n let newUserId = params.userId;\\n AddValue(\\\"currentUserId\\\", currentUserId);\\n AddValue(\\\"oldUserId\\\", configs.Config.UserIdOld);\\n if (currentUserId !== newUserId) {\\n AddConfigToUpdate(configIds.Config.UserId, newUserId);\\n }\\n } else if (messageTypeLocalCode == \\\"CON-LOGIN\\\") { // Set SOS Number as forced when login is detected\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, configs.AlertSettings.SOSNumber);\\n }\\n var msg = {\\n 'values': deviceParams,\\n };\\n if (tasks.length > 0) {\\n msg.tasks = tasks;\\n }\\n if (configsToUpdate.length > 0) {\\n msg.configsToUpdate = configsToUpdate\\n };\\n // modify to return the object that contains your data\\n console.log(msg);\\n return msg;\\n\\n function AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n deviceParams.push(cvpair);\\n }\\n\\n function AddConfigToUpdate(configName, newvalue) {\\n if (newvalue !== undefined) { // don't add if newvalue is undefined\\n var cvpair = {\\n 'code': configName,\\n 'value': newvalue,\\n 'forced': true\\n };\\n configsToUpdate.push(cvpair);\\n };\\n }\\n}\\n// params is not defined locally -> export as module\\nif (typeof(params) === 'undefined') {\\n module.exports = {\\n execute_ops\\n }\\n} else { // on server use local defined vars\\n let return_values = execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, false)\\n // define global returns\\n msg = return_values;\\n}\",\"Type\":0,\"ProtocolActionObjects\":[]}","Timestamp":1749537535},{"Type":1,"NewValue":"{\"Id\":367,\"Name\":\"apsapp_ops\",\"Operation\":\"function execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, localTesting) {\\n // ADD THE OPS CODE HERE\\n let tasks = []; // array of tasks to be executed\\n var deviceParams = [];\\n var configsToUpdate = [];\\n AddValue(\\\"imei\\\", params.imei);\\n // evaluate messageTypLocalCOde \\n if (messageTypeLocalCode == \\\"COMM-REGISTER\\\") { // Create message\\n let userId = params.userId;\\n let phoneId = params.phoneId;\\n let phoneNumber = params.phonenumber;\\n let message = \\\"APS-001;\\\" + phoneId + \\\";mid=\\\" + params.count_number + \\\";SET_USERID=\\\" + userId + \\\";\\\";\\n // sendMessageToLocalhost(message); \\n tasks = [{\\n \\\"name\\\": \\\"Create\\\" + phoneId,\\n \\\"option\\\": \\\"sync\\\",\\n \\\"type\\\": \\\"createDevice\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"name\\\": \\\"APS\\\" + phoneId,\\n \\\"imei\\\": phoneId,\\n \\\"abortOnError\\\": false,\\n \\\"init\\\": true,\\n \\\"phoneNumber\\\": phoneNumber,\\n // \\\"entity\\\":\\\"import_test\\\",\\n }),\\n \\\"order\\\": 1\\n }, {\\n \\\"name\\\": \\\"SetUserId\\\" + userId,\\n \\\"option\\\": \\\"async\\\",\\n \\\"type\\\": \\\"sendMessage\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"message\\\": message\\n }),\\n \\\"order\\\": 2\\n }]\\n } else if (messageTypeLocalCode == \\\"COMM-SET_USERID\\\") { // Set Device ID message\\n let userId = params.userId;\\n AddValue(\\\"userId\\\", userId);\\n AddConfigToUpdate(configIds.Config.UserId, userId);\\n } else if (messageTypeLocalCode == \\\"COMM-SET_SOSNUMBER\\\") { // Set SOS NUMBER message\\n let sosNumber = params.sosnumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n } else if (messageTypeLocalCode == \\\"COMM-IS_REGISTERED\\\") { // Get Device ID message\\n // is the input deviceid the same as the one registered?\\n let currentUserId = configs.Config.UserId;\\n let newUserId = params.userId;\\n AddValue(\\\"currentUserId\\\", currentUserId);\\n AddValue(\\\"oldUserId\\\", configs.Config.UserIdOld);\\n if (currentUserId !== newUserId) {\\n AddConfigToUpdate(configIds.Config.UserId, newUserId);\\n }\\n } else if (messageTypeLocalCode == \\\"CON-LOGIN\\\") { // Set SOS Number as forced when login is detected\\n let sosNumber = configs.AlertSettings.SOSNumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, configs.AlertSettings.SOSNumber);\\n }\\n var msg = {\\n 'values': deviceParams,\\n };\\n if (tasks.length > 0) {\\n msg.tasks = tasks;\\n }\\n if (configsToUpdate.length > 0) {\\n msg.configsToUpdate = configsToUpdate\\n };\\n // modify to return the object that contains your data\\n console.log(msg);\\n return msg;\\n\\n function AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n deviceParams.push(cvpair);\\n }\\n\\n function AddConfigToUpdate(configName, newvalue) {\\n if (newvalue !== undefined) { // don't add if newvalue is undefined\\n var cvpair = {\\n 'code': configName,\\n 'value': newvalue,\\n 'forced': true\\n };\\n configsToUpdate.push(cvpair);\\n };\\n }\\n}\\n// params is not defined locally -> export as module\\nif (typeof(params) === 'undefined') {\\n module.exports = {\\n execute_ops\\n }\\n} else { // on server use local defined vars\\n let return_values = execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, false)\\n // define global returns\\n msg = return_values;\\n}\",\"Type\":0,\"ProtocolActionObjects\":[]}","Timestamp":1749538759},{"Type":1,"NewValue":"{\"Id\":367,\"Name\":\"apsapp_ops\",\"Operation\":\"function execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, localTesting) {\\n // ADD THE OPS CODE HERE\\n let tasks = []; // array of tasks to be executed\\n var deviceParams = [];\\n var configsToUpdate = [];\\n AddValue(\\\"imei\\\", params.imei);\\n // evaluate messageTypLocalCOde \\n if (messageTypeLocalCode == \\\"COMM-REGISTER\\\") { // Create message\\n let userId = params.userId;\\n let phoneId = params.phoneId;\\n let phoneNumber = params.phonenumber;\\n let message = \\\"APS-001;\\\" + phoneId + \\\";mid=\\\" + params.count_number + \\\";SET_USERID=\\\" + userId + \\\";\\\";\\n // sendMessageToLocalhost(message); \\n tasks = [{\\n \\\"name\\\": \\\"Create\\\" + phoneId,\\n \\\"option\\\": \\\"sync\\\",\\n \\\"type\\\": \\\"createDevice\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"name\\\": \\\"APS\\\" + phoneId,\\n \\\"imei\\\": phoneId,\\n \\\"abortOnError\\\": false,\\n \\\"init\\\": true,\\n \\\"phoneNumber\\\": phoneNumber,\\n // \\\"entity\\\":\\\"import_test\\\",\\n }),\\n \\\"order\\\": 1\\n }, {\\n \\\"name\\\": \\\"SetUserId\\\" + userId,\\n \\\"option\\\": \\\"async\\\",\\n \\\"type\\\": \\\"sendMessage\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"message\\\": message\\n }),\\n \\\"order\\\": 2\\n }]\\n } else if (messageTypeLocalCode == \\\"COMM-SET_USERID\\\") { // Set Device ID message\\n let userId = params.userId;\\n AddValue(\\\"userId\\\", userId);\\n AddConfigToUpdate(configIds.Config.UserId, userId);\\n } else if (messageTypeLocalCode == \\\"COMM-SET_SOSNUMBER\\\") { // Set SOS NUMBER message\\n let sosNumber = params.sosnumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n } else if (messageTypeLocalCode == \\\"COMM-IS_REGISTERED\\\") { // Get Device ID message\\n // is the input deviceid the same as the one registered?\\n let currentUserId = configs.Config.UserId;\\n let newUserId = params.userId;\\n AddValue(\\\"currentUserId\\\", currentUserId);\\n AddValue(\\\"oldUserId\\\", configs.Config.UserIdOld);\\n if (currentUserId !== newUserId) {\\n AddConfigToUpdate(configIds.Config.UserId, newUserId);\\n }\\n } else if (messageTypeLocalCode == \\\"CON-LOGIN\\\") { // Set SOS Number as forced when login is detected\\n // let sosNumber = configs.AlertSettings.SOSNumber;\\n let sosNumber = \\\"+441295530101\\\";\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n }\\n var msg = {\\n 'values': deviceParams,\\n };\\n if (tasks.length > 0) {\\n msg.tasks = tasks;\\n }\\n if (configsToUpdate.length > 0) {\\n msg.configsToUpdate = configsToUpdate\\n };\\n // modify to return the object that contains your data\\n console.log(msg);\\n return msg;\\n\\n function AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n deviceParams.push(cvpair);\\n }\\n\\n function AddConfigToUpdate(configName, newvalue) {\\n if (newvalue !== undefined) { // don't add if newvalue is undefined\\n var cvpair = {\\n 'code': configName,\\n 'value': newvalue,\\n 'forced': true\\n };\\n configsToUpdate.push(cvpair);\\n };\\n }\\n}\\n// params is not defined locally -> export as module\\nif (typeof(params) === 'undefined') {\\n module.exports = {\\n execute_ops\\n }\\n} else { // on server use local defined vars\\n let return_values = execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, false)\\n // define global returns\\n msg = return_values;\\n}\",\"Type\":0,\"ProtocolActionObjects\":[]}","Timestamp":1749541147},{"Type":1,"NewValue":"{\"Id\":367,\"Name\":\"apsapp_ops\",\"Operation\":\"function execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, localTesting) {\\n // ADD THE OPS CODE HERE\\n let tasks = []; // array of tasks to be executed\\n var deviceParams = [];\\n var configsToUpdate = [];\\n AddValue(\\\"imei\\\", params.imei);\\n // evaluate messageTypLocalCOde \\n if (messageTypeLocalCode == \\\"COMM-REGISTER\\\") { // Create message\\n let userId = params.userId;\\n let phoneId = params.phoneId;\\n let phoneNumber = params.phonenumber;\\n let message = \\\"APS-001;\\\" + phoneId + \\\";mid=\\\" + params.count_number + \\\";SET_USERID=\\\" + userId + \\\";\\\";\\n // sendMessageToLocalhost(message); \\n tasks = [{\\n \\\"name\\\": \\\"Create\\\" + phoneId,\\n \\\"option\\\": \\\"sync\\\",\\n \\\"type\\\": \\\"createDevice\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"name\\\": \\\"APS\\\" + phoneId,\\n \\\"imei\\\": phoneId,\\n \\\"abortOnError\\\": false,\\n \\\"init\\\": true,\\n \\\"phoneNumber\\\": phoneNumber,\\n // \\\"entity\\\":\\\"import_test\\\",\\n }),\\n \\\"order\\\": 1\\n }, {\\n \\\"name\\\": \\\"SetUserId\\\" + userId,\\n \\\"option\\\": \\\"async\\\",\\n \\\"type\\\": \\\"sendMessage\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"message\\\": message\\n }),\\n \\\"order\\\": 2\\n }]\\n } else if (messageTypeLocalCode == \\\"COMM-SET_USERID\\\") { // Set Device ID message\\n let userId = params.userId;\\n AddValue(\\\"userId\\\", userId);\\n AddConfigToUpdate(configIds.Config.UserId, userId);\\n } else if (messageTypeLocalCode == \\\"COMM-SET_SOSNUMBER\\\") { // Set SOS NUMBER message\\n let sosNumber = params.sosnumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n } else if (messageTypeLocalCode == \\\"COMM-IS_REGISTERED\\\") { // Get Device ID message\\n // is the input deviceid the same as the one registered?\\n let currentUserId = configs.Config.UserId;\\n let newUserId = params.userId;\\n AddValue(\\\"currentUserId\\\", currentUserId);\\n AddValue(\\\"oldUserId\\\", configs.Config.UserIdOld);\\n if (currentUserId !== newUserId) {\\n AddConfigToUpdate(configIds.Config.UserId, newUserId);\\n }\\n } else if (messageTypeLocalCode == \\\"CON-LOGIN\\\") { // Set SOS Number as forced when login is detected\\n // let sosNumber = configs.AlertSettings.SOSNumber;\\n let sosNumber = configs.AlertSettings.SOSNumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n }\\n var msg = {\\n 'values': deviceParams,\\n };\\n if (tasks.length > 0) {\\n msg.tasks = tasks;\\n }\\n if (configsToUpdate.length > 0) {\\n msg.configsToUpdate = configsToUpdate\\n };\\n // modify to return the object that contains your data\\n console.log(msg);\\n return msg;\\n\\n function AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n deviceParams.push(cvpair);\\n }\\n\\n function AddConfigToUpdate(configName, newvalue) {\\n if (newvalue !== undefined) { // don't add if newvalue is undefined\\n var cvpair = {\\n 'code': configName,\\n 'value': newvalue,\\n 'forced': true\\n };\\n configsToUpdate.push(cvpair);\\n };\\n }\\n}\\n// params is not defined locally -> export as module\\nif (typeof(params) === 'undefined') {\\n module.exports = {\\n execute_ops\\n }\\n} else { // on server use local defined vars\\n let return_values = execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, false)\\n // define global returns\\n msg = return_values;\\n}\",\"Type\":0,\"ProtocolActionObjects\":[]}","Timestamp":1749541277},{"Type":1,"NewValue":"{\"Id\":367,\"Name\":\"apsapp_ops\",\"Operation\":\"function execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, localTesting) {\\n // ADD THE OPS CODE HERE\\n let tasks = []; // array of tasks to be executed\\n var deviceParams = [];\\n var configsToUpdate = [];\\n AddValue(\\\"imei\\\", params.imei);\\n // evaluate messageTypLocalCOde \\n if (messageTypeLocalCode == \\\"COMM-REGISTER\\\") { // Create message\\n let userId = params.userId;\\n let phoneId = params.phoneId;\\n let phoneNumber = params.phonenumber;\\n let message = \\\"APS-001;\\\" + phoneId + \\\";mid=\\\" + params.count_number + \\\";SET_USERID=\\\" + userId + \\\";\\\";\\n // sendMessageToLocalhost(message); \\n tasks = [{\\n \\\"name\\\": \\\"Create\\\" + phoneId,\\n \\\"option\\\": \\\"sync\\\",\\n \\\"type\\\": \\\"createDevice\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"name\\\": \\\"APS\\\" + phoneId,\\n \\\"imei\\\": phoneId,\\n \\\"abortOnError\\\": false,\\n \\\"init\\\": true,\\n \\\"phoneNumber\\\": phoneNumber,\\n // \\\"entity\\\":\\\"import_test\\\",\\n }),\\n \\\"order\\\": 1\\n }, {\\n \\\"name\\\": \\\"SetUserId\\\" + userId,\\n \\\"option\\\": \\\"async\\\",\\n \\\"type\\\": \\\"sendMessage\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"message\\\": message\\n }),\\n \\\"order\\\": 2\\n }]\\n } else if (messageTypeLocalCode == \\\"COMM-SET_USERID\\\") { // Set Device ID message\\n let userId = params.userId;\\n AddValue(\\\"userId\\\", userId);\\n AddConfigToUpdate(configIds.Config.UserId, userId);\\n } else if (messageTypeLocalCode == \\\"COMM-SET_SOSNUMBER\\\") { // Set SOS NUMBER message\\n let sosNumber = params.sosnumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n } else if (messageTypeLocalCode == \\\"COMM-IS_REGISTERED\\\") { // Get Device ID message\\n // is the input deviceid the same as the one registered?\\n let currentUserId = configs.Config.UserId;\\n let newUserId = params.userId;\\n AddValue(\\\"currentUserId\\\", currentUserId);\\n AddValue(\\\"oldUserId\\\", configs.Config.UserIdOld);\\n if (currentUserId !== newUserId) {\\n AddConfigToUpdate(configIds.Config.UserId, newUserId);\\n }\\n } else if (messageTypeLocalCode == \\\"CON-LOGIN\\\") { // Set SOS Number as forced when login is detected\\n // let sosNumber = configs.AlertSettings.SOSNumber;\\n let sosNumber = \\\"+441295530101\\\";\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n }\\n var msg = {\\n 'values': deviceParams,\\n };\\n if (tasks.length > 0) {\\n msg.tasks = tasks;\\n }\\n if (configsToUpdate.length > 0) {\\n msg.configsToUpdate = configsToUpdate\\n };\\n // modify to return the object that contains your data\\n console.log(msg);\\n return msg;\\n\\n function AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n deviceParams.push(cvpair);\\n }\\n\\n function AddConfigToUpdate(configName, newvalue) {\\n if (newvalue !== undefined) { // don't add if newvalue is undefined\\n var cvpair = {\\n 'code': configName,\\n 'value': newvalue,\\n 'forced': true\\n };\\n configsToUpdate.push(cvpair);\\n };\\n }\\n}\\n// params is not defined locally -> export as module\\nif (typeof(params) === 'undefined') {\\n module.exports = {\\n execute_ops\\n }\\n} else { // on server use local defined vars\\n let return_values = execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, false)\\n // define global returns\\n msg = return_values;\\n}\",\"Type\":0,\"ProtocolActionObjects\":[]}","Timestamp":1749541392},{"Type":1,"NewValue":"{\"Id\":367,\"Name\":\"apsapp_ops\",\"Operation\":\"function execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, localTesting) {\\n // ADD THE OPS CODE HERE\\n let tasks = []; // array of tasks to be executed\\n var deviceParams = [];\\n var configsToUpdate = [];\\n AddValue(\\\"imei\\\", params.imei);\\n // evaluate messageTypLocalCOde \\n if (messageTypeLocalCode == \\\"COMM-REGISTER\\\") { // Create message\\n let userId = params.userId;\\n let phoneId = params.phoneId;\\n let phoneNumber = params.phonenumber;\\n let message = \\\"APS-001;\\\" + phoneId + \\\";mid=\\\" + params.count_number + \\\";SET_USERID=\\\" + userId + \\\";\\\";\\n // sendMessageToLocalhost(message); \\n tasks = [{\\n \\\"name\\\": \\\"Create\\\" + phoneId,\\n \\\"option\\\": \\\"sync\\\",\\n \\\"type\\\": \\\"createDevice\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"name\\\": \\\"APS\\\" + phoneId,\\n \\\"imei\\\": phoneId,\\n \\\"abortOnError\\\": false,\\n \\\"init\\\": true,\\n \\\"phoneNumber\\\": phoneNumber,\\n // \\\"entity\\\":\\\"import_test\\\",\\n }),\\n \\\"order\\\": 1\\n }, {\\n \\\"name\\\": \\\"SetUserId\\\" + userId,\\n \\\"option\\\": \\\"async\\\",\\n \\\"type\\\": \\\"sendMessage\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"message\\\": message\\n }),\\n \\\"order\\\": 2\\n }]\\n } else if (messageTypeLocalCode == \\\"COMM-SET_USERID\\\") { // Set Device ID message\\n let userId = params.userId;\\n AddValue(\\\"userId\\\", userId);\\n AddConfigToUpdate(configIds.Config.UserId, userId);\\n } else if (messageTypeLocalCode == \\\"COMM-SET_SOSNUMBER\\\") { // Set SOS NUMBER message\\n let sosNumber = params.sosnumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n } else if (messageTypeLocalCode == \\\"COMM-IS_REGISTERED\\\") { // Get Device ID message\\n // is the input deviceid the same as the one registered?\\n let currentUserId = configs.Config.UserId;\\n let newUserId = params.userId;\\n AddValue(\\\"currentUserId\\\", currentUserId);\\n AddValue(\\\"oldUserId\\\", configs.Config.UserIdOld);\\n if (currentUserId !== newUserId) {\\n AddConfigToUpdate(configIds.Config.UserId, newUserId);\\n }\\n } else if (messageTypeLocalCode == \\\"CON-LOGIN\\\") { // Set SOS Number as forced when login is detected\\n let sosNumber = configs.AlertSettings.SOSNumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n }\\n var msg = {\\n 'values': deviceParams,\\n };\\n if (tasks.length > 0) {\\n msg.tasks = tasks;\\n }\\n if (configsToUpdate.length > 0) {\\n msg.configsToUpdate = configsToUpdate\\n };\\n // modify to return the object that contains your data\\n console.log(msg);\\n return msg;\\n\\n function AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n deviceParams.push(cvpair);\\n }\\n\\n function AddConfigToUpdate(configName, newvalue) {\\n if (newvalue !== undefined) { // don't add if newvalue is undefined\\n var cvpair = {\\n 'code': configName,\\n 'value': newvalue,\\n 'forced': true\\n };\\n configsToUpdate.push(cvpair);\\n };\\n }\\n}\\n// params is not defined locally -> export as module\\nif (typeof(params) === 'undefined') {\\n module.exports = {\\n execute_ops\\n }\\n} else { // on server use local defined vars\\n let return_values = execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, false)\\n // define global returns\\n msg = return_values;\\n}\",\"Type\":0,\"ProtocolActionObjects\":[]}","Timestamp":1749617741},{"Type":1,"NewValue":"{\"Id\":367,\"Name\":\"apsapp_ops\",\"Operation\":\"function execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, localTesting) {\\n // ADD THE OPS CODE HERE\\n let tasks = []; // array of tasks to be executed\\n var deviceParams = [];\\n var configsToUpdate = [];\\n AddValue(\\\"imei\\\", params.imei);\\n // evaluate messageTypLocalCOde \\n if (messageTypeLocalCode == \\\"COMM-REGISTER\\\") { // Create message\\n let userId = params.userId;\\n let phoneId = params.phoneId;\\n let phoneNumber = params.phonenumber;\\n let message = \\\"APS-001;\\\" + phoneId + \\\";mid=\\\" + params.count_number + \\\";SET_USERID=\\\" + userId + \\\";\\\";\\n // sendMessageToLocalhost(message); \\n tasks = [{\\n \\\"name\\\": \\\"Create\\\" + phoneId,\\n \\\"option\\\": \\\"sync\\\",\\n \\\"type\\\": \\\"createDevice\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"name\\\": \\\"APS\\\" + phoneId,\\n \\\"imei\\\": phoneId,\\n \\\"abortOnError\\\": false,\\n \\\"init\\\": true,\\n \\\"phoneNumber\\\": phoneNumber,\\n // \\\"entity\\\":\\\"import_test\\\",\\n }),\\n \\\"order\\\": 1\\n }, {\\n \\\"name\\\": \\\"SetUserId\\\" + userId,\\n \\\"option\\\": \\\"async\\\",\\n \\\"type\\\": \\\"sendMessage\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"message\\\": message\\n }),\\n \\\"order\\\": 2\\n }]\\n } else if (messageTypeLocalCode == \\\"COMM-SET_USERID\\\") { // Set Device ID message\\n let userId = params.userId;\\n AddValue(\\\"userId\\\", userId);\\n AddConfigToUpdate(configIds.Config.UserId, userId);\\n } else if (messageTypeLocalCode == \\\"COMM-SET_SOSNUMBER\\\") { // Set SOS NUMBER message\\n let sosNumber = params.sosnumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n } else if (messageTypeLocalCode == \\\"COMM-IS_REGISTERED\\\") { // Get Device ID message\\n // is the input deviceid the same as the one registered?\\n let currentUserId = configs.Config.UserId;\\n let newUserId = params.userId;\\n AddValue(\\\"currentUserId\\\", currentUserId);\\n AddValue(\\\"oldUserId\\\", configs.Config.UserIdOld);\\n if (currentUserId !== newUserId) {\\n AddConfigToUpdate(configIds.Config.UserId, newUserId);\\n }\\n } else if (messageTypeLocalCode == \\\"CON-LOGIN\\\") {\\n let sosNumber = configs.AlertSettings.SOSNumber;\\n if (sosNumber.startsWith(\\\"+\\\")) {\\n sosNumber = sosNumber.slice(1);\\n } else {\\n sosNumber = \\\"+\\\" + sosNumber;\\n }\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n }\\n var msg = {\\n 'values': deviceParams,\\n };\\n if (tasks.length > 0) {\\n msg.tasks = tasks;\\n }\\n if (configsToUpdate.length > 0) {\\n msg.configsToUpdate = configsToUpdate\\n };\\n // modify to return the object that contains your data\\n console.log(msg);\\n return msg;\\n\\n function AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n deviceParams.push(cvpair);\\n }\\n\\n function AddConfigToUpdate(configName, newvalue) {\\n if (newvalue !== undefined) { // don't add if newvalue is undefined\\n var cvpair = {\\n 'code': configName,\\n 'value': newvalue,\\n 'forced': true\\n };\\n configsToUpdate.push(cvpair);\\n };\\n }\\n}\\n// params is not defined locally -> export as module\\nif (typeof(params) === 'undefined') {\\n module.exports = {\\n execute_ops\\n }\\n} else { // on server use local defined vars\\n let return_values = execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, false)\\n // define global returns\\n msg = return_values;\\n}\",\"Type\":0,\"ProtocolActionObjects\":[]}","Timestamp":1749628968},{"Type":1,"NewValue":"{\"Id\":367,\"Name\":\"apsapp_ops\",\"Operation\":\"function execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, localTesting) {\\n // ADD THE OPS CODE HERE\\n let tasks = []; // array of tasks to be executed\\n var deviceParams = [];\\n var configsToUpdate = [];\\n var configsToSend = [];\\n AddValue(\\\"imei\\\", params.imei);\\n // evaluate messageTypLocalCOde \\n if (messageTypeLocalCode == \\\"COMM-REGISTER\\\") { // Create message\\n let userId = params.userId;\\n let phoneId = params.phoneId;\\n let phoneNumber = params.phonenumber;\\n let message = \\\"APS-001;\\\" + phoneId + \\\";mid=\\\" + params.count_number + \\\";SET_USERID=\\\" + userId + \\\";\\\";\\n // sendMessageToLocalhost(message); \\n tasks = [{\\n \\\"name\\\": \\\"Create\\\" + phoneId,\\n \\\"option\\\": \\\"sync\\\",\\n \\\"type\\\": \\\"createDevice\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"name\\\": \\\"APS\\\" + phoneId,\\n \\\"imei\\\": phoneId,\\n \\\"abortOnError\\\": false,\\n \\\"init\\\": true,\\n \\\"phoneNumber\\\": phoneNumber,\\n // \\\"entity\\\":\\\"import_test\\\",\\n }),\\n \\\"order\\\": 1\\n }, {\\n \\\"name\\\": \\\"SetUserId\\\" + userId,\\n \\\"option\\\": \\\"async\\\",\\n \\\"type\\\": \\\"sendMessage\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"message\\\": message\\n }),\\n \\\"order\\\": 2\\n }]\\n } else if (messageTypeLocalCode == \\\"COMM-SET_USERID\\\") { // Set Device ID message\\n let userId = params.userId;\\n AddValue(\\\"userId\\\", userId);\\n AddConfigToUpdate(configIds.Config.UserId, userId);\\n } else if (messageTypeLocalCode == \\\"COMM-SET_SOSNUMBER\\\") { // Set SOS NUMBER message\\n let sosNumber = params.sosnumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n } else if (messageTypeLocalCode == \\\"COMM-IS_REGISTERED\\\") { // Get Device ID message\\n // is the input deviceid the same as the one registered?\\n let currentUserId = configs.Config.UserId;\\n let newUserId = params.userId;\\n AddValue(\\\"currentUserId\\\", currentUserId);\\n AddValue(\\\"oldUserId\\\", configs.Config.UserIdOld);\\n if (currentUserId !== newUserId) {\\n AddConfigToUpdate(configIds.Config.UserId, newUserId);\\n }\\n } else if (messageTypeLocalCode == \\\"CON-LOGIN\\\") {\\n let sosNumber = configs.AlertSettings.SOSNumber;\\n if (sosNumber.startsWith(\\\"+\\\")) {\\n sosNumber = sosNumber.slice(1);\\n } else {\\n sosNumber = \\\"+\\\" + sosNumber;\\n }\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToSend(configIds.AlertSettings.SOSNumber, sosNumber);\\n }\\n var msg = {\\n 'values': deviceParams,\\n };\\n if (tasks.length > 0) {\\n msg.tasks = tasks;\\n }\\n if (configsToUpdate.length > 0) {\\n msg.configsToUpdate = configsToUpdate\\n };\\n if (configsToSend.length > 0) {\\n msg.configsToSend = configsToSend\\n };\\n // modify to return the object that contains your data\\n console.log(msg);\\n return msg;\\n\\n function AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n deviceParams.push(cvpair);\\n }\\n\\n function AddConfigToUpdate(configName, newvalue) {\\n if (newvalue !== undefined) { // don't add if newvalue is undefined\\n var cvpair = {\\n 'code': configName,\\n 'value': newvalue,\\n 'forced': true\\n };\\n configsToUpdate.push(cvpair);\\n };\\n }\\n\\n function AddConfigToSend(configName, newvalue) {\\n if (newvalue !== undefined) { // don't add if newvalue is undefined\\n var cvpair = {\\n 'code': configName,\\n 'value': newvalue,\\n 'forced': true\\n };\\n configsToSend.push(cvpair);\\n };\\n }\\n}\\n// params is not defined locally -> export as module\\nif (typeof(params) === 'undefined') {\\n module.exports = {\\n execute_ops\\n }\\n} else { // on server use local defined vars\\n let return_values = execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, false)\\n // define global returns\\n msg = return_values;\\n}\",\"Type\":0,\"ProtocolActionObjects\":[]}","Timestamp":1749630769},{"Type":1,"NewValue":"{\"Id\":367,\"Name\":\"apsapp_ops\",\"Operation\":\"function execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, localTesting) {\\n // ADD THE OPS CODE HERE\\n let tasks = []; // array of tasks to be executed\\n var deviceParams = [];\\n var configsToUpdate = [];\\n var configsToSend = [];\\n AddValue(\\\"imei\\\", params.imei);\\n // evaluate messageTypLocalCOde \\n if (messageTypeLocalCode == \\\"COMM-REGISTER\\\") { // Create message\\n let userId = params.userId;\\n let phoneId = params.phoneId;\\n let phoneNumber = params.phonenumber;\\n let message = \\\"APS-001;\\\" + phoneId + \\\";mid=\\\" + params.count_number + \\\";SET_USERID=\\\" + userId + \\\";\\\";\\n // sendMessageToLocalhost(message); \\n tasks = [{\\n \\\"name\\\": \\\"Create\\\" + phoneId,\\n \\\"option\\\": \\\"sync\\\",\\n \\\"type\\\": \\\"createDevice\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"name\\\": \\\"APS\\\" + phoneId,\\n \\\"imei\\\": phoneId,\\n \\\"abortOnError\\\": false,\\n \\\"init\\\": true,\\n \\\"phoneNumber\\\": phoneNumber,\\n // \\\"entity\\\":\\\"import_test\\\",\\n }),\\n \\\"order\\\": 1\\n }, {\\n \\\"name\\\": \\\"SetUserId\\\" + userId,\\n \\\"option\\\": \\\"async\\\",\\n \\\"type\\\": \\\"sendMessage\\\",\\n \\\"payload\\\": JSON.stringify({\\n \\\"message\\\": message\\n }),\\n \\\"order\\\": 2\\n }]\\n } else if (messageTypeLocalCode == \\\"COMM-SET_USERID\\\") { // Set Device ID message\\n let userId = params.userId;\\n AddValue(\\\"userId\\\", userId);\\n AddConfigToUpdate(configIds.Config.UserId, userId);\\n } else if (messageTypeLocalCode == \\\"COMM-SET_SOSNUMBER\\\") { // Set SOS NUMBER message\\n let sosNumber = params.sosnumber;\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToUpdate(configIds.AlertSettings.SOSNumber, sosNumber);\\n } else if (messageTypeLocalCode == \\\"COMM-IS_REGISTERED\\\") { // Get Device ID message\\n // is the input deviceid the same as the one registered?\\n let currentUserId = configs.Config.UserId;\\n let newUserId = params.userId;\\n AddValue(\\\"currentUserId\\\", currentUserId);\\n AddValue(\\\"oldUserId\\\", configs.Config.UserIdOld);\\n if (currentUserId !== newUserId) {\\n AddConfigToUpdate(configIds.Config.UserId, newUserId);\\n }\\n } else if (messageTypeLocalCode == \\\"CON-LOGIN\\\") {\\n let sosNumber = configs.AlertSettings.SOSNumber;\\n if (!sosNumber || sosNumber.trim() === \\\"\\\" || sosNumber.trim() === \\\"+\\\" || sosNumber.replace(/[\\\\s+]/g, \\\"\\\") === \\\"\\\") {\\n sosNumber = \\\"+441295530101\\\"; // DEFAULT OYSTA SUPPORT PHONE NUMBER\\n }\\n AddValue(\\\"sosNumber\\\", sosNumber);\\n AddConfigToSend(configIds.AlertSettings.SOSNumber, sosNumber);\\n }\\n var msg = {\\n 'values': deviceParams,\\n };\\n if (tasks.length > 0) {\\n msg.tasks = tasks;\\n }\\n if (configsToUpdate.length > 0) {\\n msg.configsToUpdate = configsToUpdate\\n };\\n if (configsToSend.length > 0) {\\n msg.configsToSend = configsToSend\\n };\\n // modify to return the object that contains your data\\n console.log(msg);\\n return msg;\\n\\n function AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n deviceParams.push(cvpair);\\n }\\n\\n function AddConfigToUpdate(configName, newvalue) {\\n if (newvalue !== undefined) { // don't add if newvalue is undefined\\n var cvpair = {\\n 'code': configName,\\n 'value': newvalue,\\n 'forced': true\\n };\\n configsToUpdate.push(cvpair);\\n };\\n }\\n\\n function AddConfigToSend(configName, newvalue) {\\n if (newvalue !== undefined) { // don't add if newvalue is undefined\\n var cvpair = {\\n 'code': configName,\\n 'value': newvalue,\\n 'forced': true\\n };\\n configsToSend.push(cvpair);\\n };\\n }\\n}\\n// params is not defined locally -> export as module\\nif (typeof(params) === 'undefined') {\\n module.exports = {\\n execute_ops\\n }\\n} else { // on server use local defined vars\\n let return_values = execute_ops(moment, msg, net, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, false)\\n // define global returns\\n msg = return_values;\\n}\",\"Type\":0,\"ProtocolActionObjects\":[]}","Timestamp":1751467922}]}],"Groups":[{"Id":7041,"Parent":null,"Name":"Admin","Json":"{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7043,"Parent":{"Id":7041,"Name":"Admin","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7043,"Name":"Config","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7310,"Name":"Alert Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Name":"Config","Json":"{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7310,"Parent":{"Id":7041,"Name":"Admin","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7043,"Name":"Config","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7310,"Name":"Alert Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Name":"Alert Settings","Json":"{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7500,"Parent":{"Id":7310,"Name":"Alert Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7041,"Name":"Admin","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7500,"Name":"Fall Alarm","Json":{"description":"Configurations for fall detection & fall alerts","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":true,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Name":"Fall Alarm","Json":"{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":true,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7500,\"Parent\":{\"Id\":7310,\"Name\":\"Alert Settings\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":{\"Id\":7041,\"Name\":\"Admin\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]}]},\"Name\":\"Fall Alarm\",\"Json\":\"{\\\"description\\\":\\\"Configurations for fall detection & fall alerts\\\",\\\"columns\\\":1,\\\"order\\\":1,\\\"listSize\\\":1,\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\"]}\",\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"LanguageId\":null,\"ProtocolActionObjects\":[]}","Timestamp":1783520323},{"Type":1,"NewValue":"{\"Id\":7500,\"Parent\":{\"Id\":7310,\"Name\":\"Alert Settings\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[{\"Id\":7502,\"Name\":\"Default fall alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"],\"index\":1},\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},{\"Id\":7503,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"],\"index\":1},\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]}]}]},\"Name\":\"Fall Alarm\",\"Json\":\"{\\\"description\\\":\\\"Configurations for fall detection & fall alerts\\\",\\\"columns\\\":1,\\\"order\\\":1,\\\"listSize\\\":1,\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\"]}\",\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"LanguageId\":null,\"ProtocolActionObjects\":[]}","Timestamp":1783524978}]},{"Id":7505,"Parent":{"Id":7310,"Name":"Alert Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7041,"Name":"Admin","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7500,"Name":"Fall Alarm","Json":{"description":"Configurations for fall detection & fall alerts","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7505,"Name":"Inactivity Alarm","Json":{"description":"Configuration for inactivity detection","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Name":"Inactivity Alarm","Json":"{\"description\":\"Configuration for inactivity detection\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7505,\"Parent\":{\"Id\":7310,\"Name\":\"Alert Settings\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":{\"Id\":7041,\"Name\":\"Admin\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},{\"Id\":7505,\"Name\":\"Inactivity Alarm\",\"Json\":{\"description\":\"Configuration for inactivity detection\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]}]},\"Name\":\"Inactivity Alarm\",\"Json\":\"{\\\"description\\\":\\\"Configuration for inactivity detection\\\",\\\"columns\\\":1,\\\"order\\\":1,\\\"listSize\\\":1,\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\"]}\",\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"LanguageId\":null,\"ProtocolActionObjects\":[]}","Timestamp":1784899234},{"Type":1,"NewValue":"{\"Id\":7505,\"Parent\":{\"Id\":7310,\"Name\":\"Alert Settings\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[{\"Id\":7505,\"Name\":\"Inactivity Alarm\",\"Json\":{\"description\":\"Configuration for inactivity detection\",\"columns\":1,\"order\":2,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]}]},\"Name\":\"Inactivity Alarm\",\"Json\":\"{\\\"description\\\":\\\"Configuration for inactivity detection\\\",\\\"columns\\\":1,\\\"order\\\":2,\\\"listSize\\\":1,\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\"]}\",\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"LanguageId\":null,\"ProtocolActionObjects\":[]}","Timestamp":1784899437}]}],"GroupParams":[{"Id":11877,"Group":{"Id":7043,"Name":"Config","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7041,"Name":"Admin","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7310,"Name":"Alert Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"UserId","Json":"{\"name\":\"UserId\",\"default\":\"\",\"description\":\"The latest User ID using this device.\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12270,"Group":{"Id":7310,"Name":"Alert Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7041,"Name":"Admin","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7043,"Name":"Config","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"SOS Number","Json":"{\"name\":\"SOS Number\",\"default\":\"\",\"description\":\"SOS number\",\"type\":\"phone\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":true,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"The number called when the Alert button is pushed on the device (typically the ARC)\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":12270,\"Group\":{\"Id\":7310,\"Name\":\"Alert Settings\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"SOS Number\",\"Json\":\"{\\\"name\\\":\\\"SOS Number\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"SOS number\\\",\\\"type\\\":\\\"text\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":true,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"The number called when the Alert button is pushed on the device (typically the ARC)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1741189055},{"Type":1,"NewValue":"{\"Id\":12270,\"Group\":{\"Id\":7310,\"Name\":\"Alert Settings\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"SOS Number\",\"Json\":\"{\\\"name\\\":\\\"SOS Number\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"SOS number\\\",\\\"type\\\":\\\"text\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"The number called when the Alert button is pushed on the device (typically the ARC)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1748925810},{"Type":1,"NewValue":"{\"Id\":12270,\"Group\":{\"Id\":7310,\"Name\":\"Alert Settings\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"SOS Number\",\"Json\":\"{\\\"name\\\":\\\"SOS Number\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"SOS number\\\",\\\"type\\\":\\\"text\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"The number called when the Alert button is pushed on the device (typically the ARC)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1748941964},{"Type":0,"NewValue":"{\"Id\":12270,\"Group\":{\"Id\":7310,\"Name\":\"Alert Settings\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"SOS Number\",\"Json\":\"{\\\"name\\\":\\\"SOS Number\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"SOS number\\\",\\\"type\\\":\\\"text\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"The number called when the Alert button is pushed on the device (typically the ARC)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":{\"Id\":5719,\"Protocol\":{\"Id\":256,\"Code\":\"Access PS App\",\"Version\":\"0.6\",\"FirmwareVersion\":\"\",\"Product\":null,\"AvailableVersions\":[],\"HistoryVersions\":[],\"IsChanged\":true},\"Name\":\"SOS Number\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"SOSN=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\nconst _crypto = require('crypto');\\nvar password = params.Password.Password;\\nif (password === \\\"\\\") {\\n var part2 = command;\\n} else {\\n var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n}\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"CommandToUpdateId\":null,\"ParentId\":null,\"Parent\":null,\"HasAck\":true,\"HexString\":false,\"SendAttempts\":8,\"Order\":null},\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1748941969}],"LanguageId":null,"Tags":[]},{"Id":12270,"Group":{"Id":7310,"Name":"Alert Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"SOS Number","Json":"{\"name\":\"SOS Number\",\"default\":\"\",\"description\":\"SOS number\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"The number called when the Alert button is pushed on the device (typically the ARC)\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":{"Id":5719,"Protocol":{"Id":256,"Code":"Access PS App","Version":"0.6","FirmwareVersion":"","Product":null,"AvailableVersions":[],"HistoryVersions":[],"IsChanged":true},"Name":"SOS Number","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"SOSN=\" + params.AlertSettings.SOSNumber.replace(\"(\", \"\").replace(\")\", \"\");\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\nconst _crypto = require('crypto');\nvar password = params.Password.Password;\nif (password === \"\") {\n var part2 = command;\n} else {\n var part2 = \"enc=\" + encrypt(command, part1, password);\n}\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n\nfunction encrypt(text, mid, password) {\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n const iv = _crypto.randomBytes(16); // random initialization vector\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n // set the cipher\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n // encrypt text\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n // generate output ( encrypted text )\n return Buffer.concat([iv, encrypted]).toString('base64');\n}","AvoidResending":false,"FollowParentSentType":false,"SendingType":3,"CommandToUpdateId":null,"ParentId":null,"Parent":null,"HasAck":true,"HexString":false,"SendAttempts":8,"Order":null},"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12413,"Group":{"Id":7500,"Name":"Fall Alarm","Json":{"description":"Configurations for fall detection & fall alerts","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":true,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Sensitivity","Json":"{\"name\":\"Sensitivity\",\"default\":\"\",\"description\":\"1-10 (1=lowest sensitivity, 10=highest sensitivity)\",\"type\":\"radioGroup\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[{\"label\":\"LOWEST (1)\",\"value\":\"1\"},{\"label\":\"LOW (2)\",\"value\":\"2\"},{\"label\":\"LOW (3)\",\"value\":\"3\"},{\"label\":\"MED (4)\",\"value\":\"4\"},{\"label\":\"MED (5)\",\"value\":\"5\"},{\"label\":\"MED (6)\",\"value\":\"6\"},{\"label\":\"HIGH (7)\",\"value\":\"7\"},{\"label\":\"HIGH (8)\",\"value\":\"8\"},{\"label\":\"HIGH (9)\",\"value\":\"9\"},{\"label\":\"HIGHEST (10)\",\"value\":\"10\"}],\"toTranslate\":[\"name\",\"description\",\"helpText\",\"label\"]}","Default":"","Command":null,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"1-10 (1=lowest sensitivity, 10=highest sensitivity)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":null,\\\"options\\\":[{\\\"label\\\":\\\"LOWEST (1)\\\",\\\"value\\\":\\\"1\\\"},{\\\"label\\\":\\\"LOW (2)\\\",\\\"value\\\":\\\"2\\\"},{\\\"label\\\":\\\"LOW (3)\\\",\\\"value\\\":\\\"3\\\"},{\\\"label\\\":\\\"MED (4)\\\",\\\"value\\\":\\\"4\\\"},{\\\"label\\\":\\\"MED (5)\\\",\\\"value\\\":\\\"5\\\"},{\\\"label\\\":\\\"MED (6)\\\",\\\"value\\\":\\\"6\\\"},{\\\"label\\\":\\\"HIGH (7)\\\",\\\"value\\\":\\\"7\\\"},{\\\"label\\\":\\\"HIGH (8)\\\",\\\"value\\\":\\\"8\\\"},{\\\"label\\\":\\\"HIGH (9)\\\",\\\"value\\\":\\\"9\\\"},{\\\"label\\\":\\\"HIGHEST (10)\\\",\\\"value\\\":\\\"10\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783520544},{"Type":1,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"1-10 (1=lowest sensitivity, 10=highest sensitivity)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":null,\\\"options\\\":[{\\\"label\\\":\\\"LOWEST (1)\\\",\\\"value\\\":\\\"1\\\"},{\\\"label\\\":\\\"LOW (2)\\\",\\\"value\\\":\\\"2\\\"},{\\\"label\\\":\\\"LOW (3)\\\",\\\"value\\\":\\\"3\\\"},{\\\"label\\\":\\\"MED (4)\\\",\\\"value\\\":\\\"4\\\"},{\\\"label\\\":\\\"MED (5)\\\",\\\"value\\\":\\\"5\\\"},{\\\"label\\\":\\\"MED (6)\\\",\\\"value\\\":\\\"6\\\"},{\\\"label\\\":\\\"HIGH (7)\\\",\\\"value\\\":\\\"7\\\"},{\\\"label\\\":\\\"HIGH (8)\\\",\\\"value\\\":\\\"8\\\"},{\\\"label\\\":\\\"HIGH (9)\\\",\\\"value\\\":\\\"9\\\"},{\\\"label\\\":\\\"HIGHEST (10)\\\",\\\"value\\\":\\\"10\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"],\\\"order\\\":0}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783521417},{"Type":1,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"1-10 (1=lowest sensitivity, 10=highest sensitivity)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":null,\\\"options\\\":[{\\\"value\\\":\\\"1\\\",\\\"label\\\":\\\"LOWEST (1)\\\"},{\\\"value\\\":\\\"2\\\",\\\"label\\\":\\\"LOW (2)\\\"},{\\\"value\\\":\\\"3\\\",\\\"label\\\":\\\"LOW (3)\\\"},{\\\"value\\\":\\\"4\\\",\\\"label\\\":\\\"MED (4)\\\"},{\\\"value\\\":\\\"5\\\",\\\"label\\\":\\\"MED (5)\\\"},{\\\"value\\\":\\\"6\\\",\\\"label\\\":\\\"MED (6)\\\"},{\\\"value\\\":\\\"7\\\",\\\"label\\\":\\\"HIGH (7)\\\"},{\\\"value\\\":\\\"8\\\",\\\"label\\\":\\\"HIGH (8)\\\"},{\\\"value\\\":\\\"9\\\",\\\"label\\\":\\\"HIGH (9)\\\"},{\\\"value\\\":\\\"10\\\",\\\"label\\\":\\\"HIGHEST (10)\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783525601},{"Type":0,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"1-10 (1=lowest sensitivity, 10=highest sensitivity)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":null,\\\"options\\\":[{\\\"value\\\":\\\"1\\\",\\\"label\\\":\\\"LOWEST (1)\\\"},{\\\"value\\\":\\\"2\\\",\\\"label\\\":\\\"LOW (2)\\\"},{\\\"value\\\":\\\"3\\\",\\\"label\\\":\\\"LOW (3)\\\"},{\\\"value\\\":\\\"4\\\",\\\"label\\\":\\\"MED (4)\\\"},{\\\"value\\\":\\\"5\\\",\\\"label\\\":\\\"MED (5)\\\"},{\\\"value\\\":\\\"6\\\",\\\"label\\\":\\\"MED (6)\\\"},{\\\"value\\\":\\\"7\\\",\\\"label\\\":\\\"HIGH (7)\\\"},{\\\"value\\\":\\\"8\\\",\\\"label\\\":\\\"HIGH (8)\\\"},{\\\"value\\\":\\\"9\\\",\\\"label\\\":\\\"HIGH (9)\\\"},{\\\"value\\\":\\\"10\\\",\\\"label\\\":\\\"HIGHEST (10)\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"]}\",\"Default\":\"\",\"Command\":{\"Id\":5825,\"Protocol\":{\"Id\":256,\"Code\":\"Access PS App\",\"Version\":\"1.2\",\"FirmwareVersion\":\"\",\"Product\":null,\"AvailableVersions\":[],\"HistoryVersions\":[],\"IsChanged\":true},\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"FALLCONFIG=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n// function encrypt(text, mid, password) {\\n// var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n// const iv = _crypto.randomBytes(16); // random initialization vector\\n// const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n// // set the cipher\\n// const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n// // encrypt text\\n// const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n// // generate output ( encrypted text )\\n// return Buffer.concat([iv, encrypted]).toString('base64');\\n// }\",\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"CommandToUpdateId\":null,\"ParentId\":null,\"Parent\":null,\"HasAck\":true,\"HexString\":false,\"SendAttempts\":6,\"Order\":null},\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783525605},{"Type":1,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"1-10 (1=lowest sensitivity, 10=highest sensitivity)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Determines how much the accelerometer needs to be impacted by in order to trigger a fall alarm.\\\",\\\"options\\\":[{\\\"value\\\":\\\"1\\\",\\\"label\\\":\\\"LOWEST (1)\\\"},{\\\"value\\\":\\\"2\\\",\\\"label\\\":\\\"LOW (2)\\\"},{\\\"value\\\":\\\"3\\\",\\\"label\\\":\\\"LOW (3)\\\"},{\\\"value\\\":\\\"4\\\",\\\"label\\\":\\\"MED (4)\\\"},{\\\"value\\\":\\\"5\\\",\\\"label\\\":\\\"MED (5)\\\"},{\\\"value\\\":\\\"6\\\",\\\"label\\\":\\\"MED (6)\\\"},{\\\"value\\\":\\\"7\\\",\\\"label\\\":\\\"HIGH (7)\\\"},{\\\"value\\\":\\\"8\\\",\\\"label\\\":\\\"HIGH (8)\\\"},{\\\"value\\\":\\\"9\\\",\\\"label\\\":\\\"HIGH (9)\\\"},{\\\"value\\\":\\\"10\\\",\\\"label\\\":\\\"HIGHEST (10)\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783525781},{"Type":1,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"1-10 (1=lowest sensitivity, 10=highest sensitivity)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Determines how much the accelerometer needs to be impacted by in order to trigger a fall alarm.\\\",\\\"options\\\":[{\\\"value\\\":\\\"1\\\",\\\"label\\\":\\\"LOWEST (1)\\\"},{\\\"value\\\":\\\"2\\\",\\\"label\\\":\\\"LOW (2)\\\"},{\\\"value\\\":\\\"3\\\",\\\"label\\\":\\\"LOW (3)\\\"},{\\\"value\\\":\\\"4\\\",\\\"label\\\":\\\"MED (4)\\\"},{\\\"value\\\":\\\"5\\\",\\\"label\\\":\\\"MED (5)\\\"},{\\\"value\\\":\\\"6\\\",\\\"label\\\":\\\"MED (6)\\\"},{\\\"value\\\":\\\"7\\\",\\\"label\\\":\\\"HIGH (7)\\\"},{\\\"value\\\":\\\"8\\\",\\\"label\\\":\\\"HIGH (8)\\\"},{\\\"value\\\":\\\"9\\\",\\\"label\\\":\\\"HIGH (9)\\\"},{\\\"value\\\":\\\"10\\\",\\\"label\\\":\\\"HIGHEST (10)\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"],\\\"order\\\":0}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783593632},{"Type":1,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"1-10 (1=lowest sensitivity, 10=highest sensitivity)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Determines how much the accelerometer needs to be impacted by in order to trigger a fall alarm.\\\",\\\"options\\\":[{\\\"value\\\":\\\"1\\\",\\\"label\\\":\\\"LOWEST (1)\\\"},{\\\"value\\\":\\\"2\\\",\\\"label\\\":\\\"LOW (2)\\\"},{\\\"value\\\":\\\"3\\\",\\\"label\\\":\\\"LOW (3)\\\"},{\\\"value\\\":\\\"4\\\",\\\"label\\\":\\\"MED (4)\\\"},{\\\"value\\\":\\\"5\\\",\\\"label\\\":\\\"MED (5)\\\"},{\\\"value\\\":\\\"6\\\",\\\"label\\\":\\\"MED (6)\\\"},{\\\"value\\\":\\\"7\\\",\\\"label\\\":\\\"HIGH (7)\\\"},{\\\"value\\\":\\\"8\\\",\\\"label\\\":\\\"HIGH (8)\\\"},{\\\"value\\\":\\\"9\\\",\\\"label\\\":\\\"HIGH (9)\\\"},{\\\"value\\\":\\\"10\\\",\\\"label\\\":\\\"HIGHEST (10)\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"],\\\"order\\\":1}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783603912},{"Type":1,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Sensitivity (Modulates how much force is needed to be considered a fall)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Determines how much the accelerometer needs to be impacted by in order to trigger a fall alarm.\\\",\\\"options\\\":[{\\\"value\\\":\\\"1\\\",\\\"label\\\":\\\"LOWEST (1)\\\"},{\\\"value\\\":\\\"2\\\",\\\"label\\\":\\\"LOW (2)\\\"},{\\\"value\\\":\\\"3\\\",\\\"label\\\":\\\"LOW (3)\\\"},{\\\"value\\\":\\\"4\\\",\\\"label\\\":\\\"MED (4)\\\"},{\\\"value\\\":\\\"5\\\",\\\"label\\\":\\\"MED (5)\\\"},{\\\"value\\\":\\\"6\\\",\\\"label\\\":\\\"MED (6)\\\"},{\\\"value\\\":\\\"7\\\",\\\"label\\\":\\\"HIGH (7)\\\"},{\\\"value\\\":\\\"8\\\",\\\"label\\\":\\\"HIGH (8)\\\"},{\\\"value\\\":\\\"9\\\",\\\"label\\\":\\\"HIGH (9)\\\"},{\\\"value\\\":\\\"10\\\",\\\"label\\\":\\\"HIGHEST (10)\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783604081},{"Type":1,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Sensitivity (Modulates how much force is needed to be considered a fall)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Determines how much the accelerometer needs to be impacted by in order to trigger a fall alarm.\\\",\\\"options\\\":[{\\\"value\\\":\\\"1\\\",\\\"label\\\":\\\"LOWEST (1)\\\"},{\\\"value\\\":\\\"2\\\",\\\"label\\\":\\\"LOW (2)\\\"},{\\\"value\\\":\\\"3\\\",\\\"label\\\":\\\"LOW (3)\\\"},{\\\"value\\\":\\\"4\\\",\\\"label\\\":\\\"MED (4)\\\"},{\\\"value\\\":\\\"5\\\",\\\"label\\\":\\\"MED (5)\\\"},{\\\"value\\\":\\\"6\\\",\\\"label\\\":\\\"MED (6)\\\"},{\\\"value\\\":\\\"7\\\",\\\"label\\\":\\\"HIGH (7)\\\"},{\\\"value\\\":\\\"8\\\",\\\"label\\\":\\\"HIGH (8)\\\"},{\\\"value\\\":\\\"9\\\",\\\"label\\\":\\\"HIGH (9)\\\"},{\\\"value\\\":\\\"10\\\",\\\"label\\\":\\\"HIGHEST (10)\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"],\\\"order\\\":1}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783604115},{"Type":1,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Sensitivity (Modulates how much force is needed to be considered a fall)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Determines how much the accelerometer needs to be impacted by in order to trigger a fall alarm.\\\",\\\"options\\\":[{\\\"value\\\":\\\"1\\\",\\\"label\\\":\\\"LOWEST (1)\\\"},{\\\"value\\\":\\\"2\\\",\\\"label\\\":\\\"LOW (2)\\\"},{\\\"value\\\":\\\"3\\\",\\\"label\\\":\\\"LOW (3)\\\"},{\\\"value\\\":\\\"4\\\",\\\"label\\\":\\\"MED (4)\\\"},{\\\"value\\\":\\\"5\\\",\\\"label\\\":\\\"MED (5)\\\"},{\\\"value\\\":\\\"6\\\",\\\"label\\\":\\\"MED (6)\\\"},{\\\"value\\\":\\\"7\\\",\\\"label\\\":\\\"HIGH (7)\\\"},{\\\"value\\\":\\\"8\\\",\\\"label\\\":\\\"HIGH (8)\\\"},{\\\"value\\\":\\\"9\\\",\\\"label\\\":\\\"HIGH (9)\\\"},{\\\"value\\\":\\\"10\\\",\\\"label\\\":\\\"HIGHEST (10)\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"],\\\"order\\\":3}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784899738},{"Type":1,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Sensitivity (Modulates how much force is needed to be considered a fall)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Determines how much the accelerometer needs to be impacted by in order to trigger a fall alarm.\\\",\\\"options\\\":[{\\\"value\\\":\\\"1\\\",\\\"label\\\":\\\"LOWEST (1)\\\"},{\\\"value\\\":\\\"2\\\",\\\"label\\\":\\\"LOW (2)\\\"},{\\\"value\\\":\\\"3\\\",\\\"label\\\":\\\"LOW (3)\\\"},{\\\"value\\\":\\\"4\\\",\\\"label\\\":\\\"MED (4)\\\"},{\\\"value\\\":\\\"5\\\",\\\"label\\\":\\\"MED (5)\\\"},{\\\"value\\\":\\\"6\\\",\\\"label\\\":\\\"MED (6)\\\"},{\\\"value\\\":\\\"7\\\",\\\"label\\\":\\\"HIGH (7)\\\"},{\\\"value\\\":\\\"8\\\",\\\"label\\\":\\\"HIGH (8)\\\"},{\\\"value\\\":\\\"9\\\",\\\"label\\\":\\\"HIGH (9)\\\"},{\\\"value\\\":\\\"10\\\",\\\"label\\\":\\\"HIGHEST (10)\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"],\\\"order\\\":1}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784899743},{"Type":1,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Sensitivity (Modulates how much force is needed to be considered a fall)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Determines how much the accelerometer needs to be impacted by in order to trigger a fall alarm.\\\",\\\"options\\\":[{\\\"value\\\":\\\"1\\\",\\\"label\\\":\\\"LOWEST (1)\\\"},{\\\"value\\\":\\\"2\\\",\\\"label\\\":\\\"LOW (2)\\\"},{\\\"value\\\":\\\"3\\\",\\\"label\\\":\\\"LOW (3)\\\"},{\\\"value\\\":\\\"4\\\",\\\"label\\\":\\\"MED (4)\\\"},{\\\"value\\\":\\\"5\\\",\\\"label\\\":\\\"MED (5)\\\"},{\\\"value\\\":\\\"6\\\",\\\"label\\\":\\\"MED (6)\\\"},{\\\"value\\\":\\\"7\\\",\\\"label\\\":\\\"HIGH (7)\\\"},{\\\"value\\\":\\\"8\\\",\\\"label\\\":\\\"HIGH (8)\\\"},{\\\"value\\\":\\\"9\\\",\\\"label\\\":\\\"HIGH (9)\\\"},{\\\"value\\\":\\\"10\\\",\\\"label\\\":\\\"HIGHEST (10)\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"],\\\"order\\\":0}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784900924},{"Type":1,"NewValue":"{\"Id\":12413,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Sensitivity\",\"Json\":\"{\\\"name\\\":\\\"Sensitivity\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Sensitivity (Modulates how much force is needed to be considered a fall)\\\",\\\"type\\\":\\\"radioGroup\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Determines how much the accelerometer needs to be impacted by in order to trigger a fall alarm.\\\",\\\"options\\\":[{\\\"value\\\":\\\"1\\\",\\\"label\\\":\\\"LOWEST (1)\\\"},{\\\"value\\\":\\\"2\\\",\\\"label\\\":\\\"LOW (2)\\\"},{\\\"value\\\":\\\"3\\\",\\\"label\\\":\\\"LOW (3)\\\"},{\\\"value\\\":\\\"4\\\",\\\"label\\\":\\\"MED (4)\\\"},{\\\"value\\\":\\\"5\\\",\\\"label\\\":\\\"MED (5)\\\"},{\\\"value\\\":\\\"6\\\",\\\"label\\\":\\\"MED (6)\\\"},{\\\"value\\\":\\\"7\\\",\\\"label\\\":\\\"HIGH (7)\\\"},{\\\"value\\\":\\\"8\\\",\\\"label\\\":\\\"HIGH (8)\\\"},{\\\"value\\\":\\\"9\\\",\\\"label\\\":\\\"HIGH (9)\\\"},{\\\"value\\\":\\\"10\\\",\\\"label\\\":\\\"HIGHEST (10)\\\"}],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\",\\\"label\\\"],\\\"order\\\":1}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784900938}],"LanguageId":null,"Tags":[]},{"Id":12414,"Group":{"Id":7500,"Name":"Fall Alarm","Json":{"description":"Configurations for fall detection & fall alerts","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":true,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Post-Fall Stillness Requirement Period","Json":"{\"name\":\"Post-Fall Stillness Requirement Period\",\"default\":\"\",\"description\":\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\",\"type\":\"number\",\"suffix\":\"s\",\"prefix\":null,\"min\":0,\"max\":60,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783520847},{"Type":1,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":2}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783521422},{"Type":1,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783521611},{"Type":1,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783525586},{"Type":0,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":{\"Id\":5825,\"Protocol\":{\"Id\":256,\"Code\":\"Access PS App\",\"Version\":\"1.2\",\"FirmwareVersion\":\"\",\"Product\":null,\"AvailableVersions\":[],\"HistoryVersions\":[],\"IsChanged\":true},\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"FALLCONFIG=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n// function encrypt(text, mid, password) {\\n// var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n// const iv = _crypto.randomBytes(16); // random initialization vector\\n// const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n// // set the cipher\\n// const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n// // encrypt text\\n// const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n// // generate output ( encrypted text )\\n// return Buffer.concat([iv, encrypted]).toString('base64');\\n// }\",\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"CommandToUpdateId\":null,\"ParentId\":null,\"Parent\":null,\"HasAck\":true,\"HexString\":false,\"SendAttempts\":6,\"Order\":null},\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783525590},{"Type":1,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783525828},{"Type":1,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":2}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783593636},{"Type":1,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":3}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783593648},{"Type":1,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784899611},{"Type":1,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Fall Period: Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784899639},{"Type":1,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Fall Period: Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":2}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784899735},{"Type":1,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Fall Period: Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":3}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784899747},{"Type":1,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Fall Period: Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":2}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784900928},{"Type":1,"NewValue":"{\"Id\":12414,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Stillness Requirement Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Stillness Requirement Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Fall Period: Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":3}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784900942}],"LanguageId":null,"Tags":[]},{"Id":12415,"Group":{"Id":7500,"Name":"Fall Alarm","Json":{"description":"Configurations for fall detection & fall alerts","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":true,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"User Fall Alarm Cancellation Period","Json":"{\"name\":\"User Fall Alarm Cancellation Period\",\"default\":\"\",\"description\":\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\",\"type\":\"number\",\"suffix\":\"s\",\"prefix\":null,\"min\":0,\"max\":300,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783521110},{"Type":1,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":3}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783521425},{"Type":1,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783525611},{"Type":0,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":{\"Id\":5825,\"Protocol\":{\"Id\":256,\"Code\":\"Access PS App\",\"Version\":\"1.2\",\"FirmwareVersion\":\"\",\"Product\":null,\"AvailableVersions\":[],\"HistoryVersions\":[],\"IsChanged\":true},\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"FALLCONFIG=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n// function encrypt(text, mid, password) {\\n// var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n// const iv = _crypto.randomBytes(16); // random initialization vector\\n// const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n// // set the cipher\\n// const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n// // encrypt text\\n// const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n// // generate output ( encrypted text )\\n// return Buffer.concat([iv, encrypted]).toString('base64');\\n// }\",\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"CommandToUpdateId\":null,\"ParentId\":null,\"Parent\":null,\"HasAck\":true,\"HexString\":false,\"SendAttempts\":6,\"Order\":null},\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783525615},{"Type":1,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":3}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783593638},{"Type":1,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":1}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783593644},{"Type":1,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"s\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":0}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783603910},{"Type":1,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Pre-Alert Duration: Seconds the user has available to cancel a pending fall alarm before it is sent automatically\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784899572},{"Type":1,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Pre-Alert Duration: Seconds the user has available to cancel a pending fall alarm before it is sent automatically\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":0}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784899731},{"Type":1,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Pre-Alert Duration: Seconds the user has available to cancel a pending fall alarm before it is sent automatically\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":10,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784900047},{"Type":1,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Pre-Alert Duration: Seconds the user has available to cancel a pending fall alarm before it is sent automatically\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":10,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":3}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784900930},{"Type":1,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Pre-Alert Duration: Seconds the user has available to cancel a pending fall alarm before it is sent automatically\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":10,\\\"max\\\":300,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":0}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784900936},{"Type":1,"NewValue":"{\"Id\":12415,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Fall Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Fall Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Pre-Alert Duration: Seconds the user has available to cancel a pending fall alarm before it is sent automatically\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":5,\\\"max\\\":900,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1785332940}],"LanguageId":null,"Tags":[]},{"Id":12416,"Group":{"Id":7500,"Name":"Fall Alarm","Json":{"description":"Configurations for fall detection & fall alerts","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":true,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Post-Fall Ignore Movement Grace Period","Json":"{\"name\":\"Post-Fall Ignore Movement Grace Period\",\"default\":\"\",\"description\":\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\",\"type\":\"number\",\"suffix\":\"ms\",\"prefix\":null,\"min\":0,\"max\":60000,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":12416,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Post-Fall Ignore Movement Grace Period\",\"Json\":\"{\\\"name\\\":\\\"Post-Fall Ignore Movement Grace Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"ms\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60000,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783521391},{"Type":1,"NewValue":"{\"Id\":12416,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Post-Fall Ignore Movement Grace Period\",\"Json\":\"{\\\"name\\\":\\\"Post-Fall Ignore Movement Grace Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"ms\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60000,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":1}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783521419},{"Type":1,"NewValue":"{\"Id\":12416,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":true,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Ignore Movement Grace Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Ignore Movement Grace Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"ms\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60000,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783521577},{"Type":1,"NewValue":"{\"Id\":12416,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Ignore Movement Grace Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Ignore Movement Grace Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"ms\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60000,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783525576},{"Type":0,"NewValue":"{\"Id\":12416,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Ignore Movement Grace Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Ignore Movement Grace Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"ms\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60000,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":{\"Id\":5825,\"Protocol\":{\"Id\":256,\"Code\":\"Access PS App\",\"Version\":\"1.2\",\"FirmwareVersion\":\"\",\"Product\":null,\"AvailableVersions\":[],\"HistoryVersions\":[],\"IsChanged\":true},\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"FALLCONFIG=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n// function encrypt(text, mid, password) {\\n// var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n// const iv = _crypto.randomBytes(16); // random initialization vector\\n// const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n// // set the cipher\\n// const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n// // encrypt text\\n// const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n// // generate output ( encrypted text )\\n// return Buffer.concat([iv, encrypted]).toString('base64');\\n// }\",\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"CommandToUpdateId\":null,\"ParentId\":null,\"Parent\":null,\"HasAck\":true,\"HexString\":false,\"SendAttempts\":6,\"Order\":null},\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783525580},{"Type":1,"NewValue":"{\"Id\":12416,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Ignore Movement Grace Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Ignore Movement Grace Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"ms\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60000,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":1}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783593634},{"Type":1,"NewValue":"{\"Id\":12416,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Ignore Movement Grace Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Ignore Movement Grace Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"ms\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60000,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":2}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1783593646},{"Type":1,"NewValue":"{\"Id\":12416,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Ignore Movement Grace Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Ignore Movement Grace Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"milliseconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60000,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784899597},{"Type":1,"NewValue":"{\"Id\":12416,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Ignore Movement Grace Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Ignore Movement Grace Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"milliseconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60000,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":1}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784899733},{"Type":1,"NewValue":"{\"Id\":12416,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Ignore Movement Grace Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Ignore Movement Grace Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"milliseconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60000,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":2}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784899745},{"Type":1,"NewValue":"{\"Id\":12416,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Ignore Movement Grace Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Ignore Movement Grace Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"milliseconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60000,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":1}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784900926},{"Type":1,"NewValue":"{\"Id\":12416,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Detection: Post-Fall Ignore Movement Grace Period\",\"Json\":\"{\\\"name\\\":\\\"Detection: Post-Fall Ignore Movement Grace Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"milliseconds\\\",\\\"prefix\\\":null,\\\"min\\\":0,\\\"max\\\":60000,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":2}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784900940}],"LanguageId":null,"Tags":[]},{"Id":12416,"Group":{"Id":7500,"Name":"Fall Alarm","Json":{"description":"Configurations for fall detection & fall alerts","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Detection: Post-Fall Ignore Movement Grace Period","Json":"{\"name\":\"Detection: Post-Fall Ignore Movement Grace Period\",\"default\":\"\",\"description\":\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\",\"type\":\"number\",\"suffix\":\"ms\",\"prefix\":null,\"min\":0,\"max\":60000,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Millisecond period after a fall is detected where any additional movement is ignored, before the Post-Fall Stillness Requirement Period starts\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":{"Id":5825,"Protocol":{"Id":256,"Code":"Access PS App","Version":"1.2","FirmwareVersion":"","Product":null,"AvailableVersions":[],"HistoryVersions":[],"IsChanged":true},"Name":"Fall Detection Config","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"FALLCONFIG=\" + params.AlertSettings.SOSNumber.replace(\"(\", \"\").replace(\")\", \"\");\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\n// const _crypto = require('crypto');\n// var password = params.Password.Password;\n// if (password === \"\") {\nvar part2 = command;\n// } else {\n// var part2 = \"enc=\" + encrypt(command, part1, password);\n// }\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n// function encrypt(text, mid, password) {\n// var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n// const iv = _crypto.randomBytes(16); // random initialization vector\n// const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n// // set the cipher\n// const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n// // encrypt text\n// const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n// // generate output ( encrypted text )\n// return Buffer.concat([iv, encrypted]).toString('base64');\n// }","AvoidResending":false,"FollowParentSentType":false,"SendingType":3,"CommandToUpdateId":null,"ParentId":null,"Parent":null,"HasAck":true,"HexString":false,"SendAttempts":6,"Order":null},"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12414,"Group":{"Id":7500,"Name":"Fall Alarm","Json":{"description":"Configurations for fall detection & fall alerts","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Detection: Post-Fall Stillness Requirement Period","Json":"{\"name\":\"Detection: Post-Fall Stillness Requirement Period\",\"default\":\"\",\"description\":\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\",\"type\":\"number\",\"suffix\":\"s\",\"prefix\":null,\"min\":0,\"max\":300,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Seconds of stillness required after a fall -- movement during this window will CANCEL a prospective alarm.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":{"Id":5825,"Protocol":{"Id":256,"Code":"Access PS App","Version":"1.2","FirmwareVersion":"","Product":null,"AvailableVersions":[],"HistoryVersions":[],"IsChanged":true},"Name":"Fall Detection Config","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"FALLCONFIG=\" + params.AlertSettings.SOSNumber.replace(\"(\", \"\").replace(\")\", \"\");\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\n// const _crypto = require('crypto');\n// var password = params.Password.Password;\n// if (password === \"\") {\nvar part2 = command;\n// } else {\n// var part2 = \"enc=\" + encrypt(command, part1, password);\n// }\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n// function encrypt(text, mid, password) {\n// var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n// const iv = _crypto.randomBytes(16); // random initialization vector\n// const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n// // set the cipher\n// const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n// // encrypt text\n// const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n// // generate output ( encrypted text )\n// return Buffer.concat([iv, encrypted]).toString('base64');\n// }","AvoidResending":false,"FollowParentSentType":false,"SendingType":3,"CommandToUpdateId":null,"ParentId":null,"Parent":null,"HasAck":true,"HexString":false,"SendAttempts":6,"Order":null},"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12413,"Group":{"Id":7500,"Name":"Fall Alarm","Json":{"description":"Configurations for fall detection & fall alerts","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Sensitivity","Json":"{\"name\":\"Sensitivity\",\"default\":\"\",\"description\":\"1-10 (1=lowest sensitivity, 10=highest sensitivity)\",\"type\":\"radioGroup\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[{\"value\":\"1\",\"label\":\"LOWEST (1)\"},{\"value\":\"2\",\"label\":\"LOW (2)\"},{\"value\":\"3\",\"label\":\"LOW (3)\"},{\"value\":\"4\",\"label\":\"MED (4)\"},{\"value\":\"5\",\"label\":\"MED (5)\"},{\"value\":\"6\",\"label\":\"MED (6)\"},{\"value\":\"7\",\"label\":\"HIGH (7)\"},{\"value\":\"8\",\"label\":\"HIGH (8)\"},{\"value\":\"9\",\"label\":\"HIGH (9)\"},{\"value\":\"10\",\"label\":\"HIGHEST (10)\"}],\"toTranslate\":[\"name\",\"description\",\"helpText\",\"label\"]}","Default":"","Command":{"Id":5825,"Protocol":{"Id":256,"Code":"Access PS App","Version":"1.2","FirmwareVersion":"","Product":null,"AvailableVersions":[],"HistoryVersions":[],"IsChanged":true},"Name":"Fall Detection Config","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"FALLCONFIG=\" + params.AlertSettings.SOSNumber.replace(\"(\", \"\").replace(\")\", \"\");\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\n// const _crypto = require('crypto');\n// var password = params.Password.Password;\n// if (password === \"\") {\nvar part2 = command;\n// } else {\n// var part2 = \"enc=\" + encrypt(command, part1, password);\n// }\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n// function encrypt(text, mid, password) {\n// var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n// const iv = _crypto.randomBytes(16); // random initialization vector\n// const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n// // set the cipher\n// const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n// // encrypt text\n// const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n// // generate output ( encrypted text )\n// return Buffer.concat([iv, encrypted]).toString('base64');\n// }","AvoidResending":false,"FollowParentSentType":false,"SendingType":3,"CommandToUpdateId":null,"ParentId":null,"Parent":null,"HasAck":true,"HexString":false,"SendAttempts":6,"Order":null},"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12415,"Group":{"Id":7500,"Name":"Fall Alarm","Json":{"description":"Configurations for fall detection & fall alerts","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"User Fall Alarm Cancellation Period","Json":"{\"name\":\"User Fall Alarm Cancellation Period\",\"default\":\"\",\"description\":\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\",\"type\":\"number\",\"suffix\":\"s\",\"prefix\":null,\"min\":0,\"max\":300,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Seconds the user has available to cancel a pending fall alarm before it is sent automatically. (This is shown as a countdown notification)\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":{"Id":5825,"Protocol":{"Id":256,"Code":"Access PS App","Version":"1.2","FirmwareVersion":"","Product":null,"AvailableVersions":[],"HistoryVersions":[],"IsChanged":true},"Name":"Fall Detection Config","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"FALLCONFIG=\" + params.AlertSettings.SOSNumber.replace(\"(\", \"\").replace(\")\", \"\");\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\n// const _crypto = require('crypto');\n// var password = params.Password.Password;\n// if (password === \"\") {\nvar part2 = command;\n// } else {\n// var part2 = \"enc=\" + encrypt(command, part1, password);\n// }\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n// function encrypt(text, mid, password) {\n// var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n// const iv = _crypto.randomBytes(16); // random initialization vector\n// const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n// // set the cipher\n// const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n// // encrypt text\n// const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n// // generate output ( encrypted text )\n// return Buffer.concat([iv, encrypted]).toString('base64');\n// }","AvoidResending":false,"FollowParentSentType":false,"SendingType":3,"CommandToUpdateId":null,"ParentId":null,"Parent":null,"HasAck":true,"HexString":false,"SendAttempts":6,"Order":null},"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12426,"Group":{"Id":7505,"Name":"Inactivity Alarm","Json":{"description":"Configuration for inactivity detection","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Inactivity Timeout","Json":"{\"name\":\"Inactivity Timeout\",\"default\":\"\",\"description\":\"Period of detected inactivity required to raise inactivity alarm\",\"type\":\"number\",\"suffix\":\"minutes\",\"prefix\":null,\"min\":3,\"max\":90,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Minutes user must be inactive in order to trigger inactivity alarm\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":12426,\"Group\":{\"Id\":7505,\"Name\":\"Inactivity Alarm\",\"Json\":{\"description\":\"Configuration for inactivity detection\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Inactivity Timeout\",\"Json\":\"{\\\"name\\\":\\\"Inactivity Timeout\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Period of detected inactivity required to raise inactivity alarm\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"minutes\\\",\\\"prefix\\\":null,\\\"min\\\":3,\\\"max\\\":90,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Minutes user must be inactive in order to trigger inactivity alarm\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784899425},{"Type":1,"NewValue":"{\"Id\":12426,\"Group\":{\"Id\":7505,\"Name\":\"Inactivity Alarm\",\"Json\":{\"description\":\"Configuration for inactivity detection\",\"columns\":1,\"order\":2,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Inactivity Timeout\",\"Json\":\"{\\\"name\\\":\\\"Inactivity Timeout\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Period of detected inactivity required to raise inactivity alarm\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"minutes\\\",\\\"prefix\\\":null,\\\"min\\\":3,\\\"max\\\":90,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Minutes user must be inactive in order to trigger inactivity alarm\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1785248863},{"Type":0,"NewValue":"{\"Id\":12426,\"Group\":{\"Id\":7505,\"Name\":\"Inactivity Alarm\",\"Json\":{\"description\":\"Configuration for inactivity detection\",\"columns\":1,\"order\":2,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Inactivity Timeout\",\"Json\":\"{\\\"name\\\":\\\"Inactivity Timeout\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Period of detected inactivity required to raise inactivity alarm\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"minutes\\\",\\\"prefix\\\":null,\\\"min\\\":3,\\\"max\\\":90,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Minutes user must be inactive in order to trigger inactivity alarm\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":{\"Id\":5830,\"Protocol\":{\"Id\":256,\"Code\":\"Access PS App\",\"Version\":\"1.3\",\"FirmwareVersion\":\"\",\"Product\":null,\"AvailableVersions\":[],\"HistoryVersions\":[],\"IsChanged\":true},\"Name\":\"Inactivity Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"INACTIVITYCONFIG=\\\" + params.InactivityAlarm.EnableDisableInactivityAlarm + \\\",\\\" + params.InactivityAlarm.InactivityTimeout;\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"CommandToUpdateId\":null,\"ParentId\":null,\"Parent\":null,\"HasAck\":true,\"HexString\":false,\"SendAttempts\":6,\"Order\":null},\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1785248866},{"Type":1,"NewValue":"{\"Id\":12426,\"Group\":{\"Id\":7505,\"Name\":\"Inactivity Alarm\",\"Json\":{\"description\":\"Configuration for inactivity detection\",\"columns\":1,\"order\":2,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Inactivity Timeout\",\"Json\":\"{\\\"name\\\":\\\"Inactivity Timeout\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Period of detected inactivity required to raise inactivity alarm\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"minutes\\\",\\\"prefix\\\":null,\\\"min\\\":1,\\\"max\\\":1436,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Minutes user must be inactive in order to trigger inactivity alarm\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1785333042}],"LanguageId":null,"Tags":[]},{"Id":12427,"Group":{"Id":7505,"Name":"Inactivity Alarm","Json":{"description":"Configuration for inactivity detection","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Enable Disable Inactivity Alarm","Json":"{\"name\":\"Enable Disable Inactivity Alarm\",\"default\":\"\",\"description\":\"Enabled?\",\"type\":\"enable\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Toggle for whether inactivity detection should be enabled - if enabled, an alarm will be raised if the user is detected to be inactive for too long\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"false","Command":null,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":12427,\"Group\":{\"Id\":7505,\"Name\":\"Inactivity Alarm\",\"Json\":{\"description\":\"Configuration for inactivity detection\",\"columns\":1,\"order\":2,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Enable Disable Inactivity Alarm\",\"Json\":\"{\\\"name\\\":\\\"Enable Disable Inactivity Alarm\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Enabled?\\\",\\\"type\\\":\\\"enable\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Toggle for whether inactivity detection should be enabled - if enabled, an alarm will be raised if the user is detected to be inactive for too long\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"false\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784900347},{"Type":1,"NewValue":"{\"Id\":12427,\"Group\":{\"Id\":7505,\"Name\":\"Inactivity Alarm\",\"Json\":{\"description\":\"Configuration for inactivity detection\",\"columns\":1,\"order\":2,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Enable Disable Inactivity Alarm\",\"Json\":\"{\\\"name\\\":\\\"Enable Disable Inactivity Alarm\\\",\\\"default\\\":\\\"false\\\",\\\"description\\\":\\\"Enabled?\\\",\\\"type\\\":\\\"enable\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Toggle for whether inactivity detection should be enabled - if enabled, an alarm will be raised if the user is detected to be inactive for too long\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"true\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1785248888},{"Type":0,"NewValue":"{\"Id\":12427,\"Group\":{\"Id\":7505,\"Name\":\"Inactivity Alarm\",\"Json\":{\"description\":\"Configuration for inactivity detection\",\"columns\":1,\"order\":2,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Enable Disable Inactivity Alarm\",\"Json\":\"{\\\"name\\\":\\\"Enable Disable Inactivity Alarm\\\",\\\"default\\\":\\\"false\\\",\\\"description\\\":\\\"Enabled?\\\",\\\"type\\\":\\\"enable\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Toggle for whether inactivity detection should be enabled - if enabled, an alarm will be raised if the user is detected to be inactive for too long\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"true\",\"Command\":{\"Id\":5830,\"Protocol\":{\"Id\":256,\"Code\":\"Access PS App\",\"Version\":\"1.3\",\"FirmwareVersion\":\"\",\"Product\":null,\"AvailableVersions\":[],\"HistoryVersions\":[],\"IsChanged\":true},\"Name\":\"Inactivity Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"INACTIVITYCONFIG=\\\" + params.InactivityAlarm.EnableDisableInactivityAlarm + \\\",\\\" + params.InactivityAlarm.InactivityTimeout;\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"CommandToUpdateId\":null,\"ParentId\":null,\"Parent\":null,\"HasAck\":true,\"HexString\":false,\"SendAttempts\":6,\"Order\":null},\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1785248891}],"LanguageId":null,"Tags":[]},{"Id":12428,"Group":{"Id":7500,"Name":"Fall Alarm","Json":{"description":"Configurations for fall detection & fall alerts","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Enable Disable Fall Alarm","Json":"{\"name\":\"Enable Disable Fall Alarm\",\"default\":\"\",\"description\":\"Enabled?\",\"type\":\"enable\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Enable or disable fall detection - if enabled, an alarm will be raised if accelerometer detects a fall\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"false","Command":null,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":12428,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Enable Disable Fall Alarm\",\"Json\":\"{\\\"name\\\":\\\"Enable Disable Fall Alarm\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Enabled?\\\",\\\"type\\\":\\\"enable\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Enable or disable fall detection - if enabled, an alarm will be raised if accelerometer detects a fall\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"false\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784900505},{"Type":1,"NewValue":"{\"Id\":12428,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Enable Disable Fall Alarm\",\"Json\":\"{\\\"name\\\":\\\"Enable Disable Fall Alarm\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Enabled?\\\",\\\"type\\\":\\\"enable\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Enable or disable fall detection - if enabled, an alarm will be raised if accelerometer detects a fall\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"],\\\"order\\\":4}\",\"Default\":\"false\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1784900931},{"Type":1,"NewValue":"{\"Id\":12428,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Enable Disable Fall Alarm\",\"Json\":\"{\\\"name\\\":\\\"Enable Disable Fall Alarm\\\",\\\"default\\\":\\\"false\\\",\\\"description\\\":\\\"Enabled?\\\",\\\"type\\\":\\\"enable\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Enable or disable fall detection - if enabled, an alarm will be raised if accelerometer detects a fall\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"true\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1785335572},{"Type":0,"NewValue":"{\"Id\":12428,\"Group\":{\"Id\":7500,\"Name\":\"Fall Alarm\",\"Json\":{\"description\":\"Configurations for fall detection & fall alerts\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"Enable Disable Fall Alarm\",\"Json\":\"{\\\"name\\\":\\\"Enable Disable Fall Alarm\\\",\\\"default\\\":\\\"false\\\",\\\"description\\\":\\\"Enabled?\\\",\\\"type\\\":\\\"enable\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Enable or disable fall detection - if enabled, an alarm will be raised if accelerometer detects a fall\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"true\",\"Command\":{\"Id\":5825,\"Protocol\":{\"Id\":256,\"Code\":\"Access PS App\",\"Version\":\"1.3\",\"FirmwareVersion\":\"\",\"Product\":null,\"AvailableVersions\":[],\"HistoryVersions\":[],\"IsChanged\":true},\"Name\":\"Fall Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"FALLCONFIG=\\\" + params.FallAlarm.Sensitivity + \\\",\\\" + params.FallAlarm.UserFallAlarmCancellationPeriod + \\\",\\\" + params.FallAlarm[\\\"Detection:Post-FallIgnoreMovementGracePeriod\\\"] + \\\",\\\" + params.FallAlarm[\\\"Detection:Post-FallStillnessRequirementPeriod\\\"];\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"CommandToUpdateId\":null,\"ParentId\":null,\"Parent\":null,\"HasAck\":true,\"HexString\":false,\"SendAttempts\":6,\"Order\":null},\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1785335575}],"LanguageId":null,"Tags":[]},{"Id":12426,"Group":{"Id":7505,"Name":"Inactivity Alarm","Json":{"description":"Configuration for inactivity detection","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Inactivity Timeout","Json":"{\"name\":\"Inactivity Timeout\",\"default\":\"\",\"description\":\"Period of detected inactivity required to raise inactivity alarm\",\"type\":\"number\",\"suffix\":\"minutes\",\"prefix\":null,\"min\":3,\"max\":90,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Minutes user must be inactive in order to trigger inactivity alarm\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":{"Id":5830,"Protocol":{"Id":256,"Code":"Access PS App","Version":"1.3","FirmwareVersion":"","Product":null,"AvailableVersions":[],"HistoryVersions":[],"IsChanged":true},"Name":"Inactivity Detection Config","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"INACTIVITYCONFIG=\" + params.InactivityAlarm.EnableDisableInactivityAlarm + \",\" + params.InactivityAlarm.InactivityTimeout;\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\n// const _crypto = require('crypto');\n// var password = params.Password.Password;\n// if (password === \"\") {\nvar part2 = command;\n// } else {\n// var part2 = \"enc=\" + encrypt(command, part1, password);\n// }\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n\nfunction encrypt(text, mid, password) {\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n const iv = _crypto.randomBytes(16); // random initialization vector\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n // set the cipher\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n // encrypt text\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n // generate output ( encrypted text )\n return Buffer.concat([iv, encrypted]).toString('base64');\n}","AvoidResending":false,"FollowParentSentType":false,"SendingType":3,"CommandToUpdateId":null,"ParentId":null,"Parent":null,"HasAck":true,"HexString":false,"SendAttempts":6,"Order":null},"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12427,"Group":{"Id":7505,"Name":"Inactivity Alarm","Json":{"description":"Configuration for inactivity detection","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Enable Disable Inactivity Alarm","Json":"{\"name\":\"Enable Disable Inactivity Alarm\",\"default\":\"false\",\"description\":\"Enabled?\",\"type\":\"enable\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Toggle for whether inactivity detection should be enabled - if enabled, an alarm will be raised if the user is detected to be inactive for too long\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"true","Command":{"Id":5830,"Protocol":{"Id":256,"Code":"Access PS App","Version":"1.3","FirmwareVersion":"","Product":null,"AvailableVersions":[],"HistoryVersions":[],"IsChanged":true},"Name":"Inactivity Detection Config","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"INACTIVITYCONFIG=\" + params.InactivityAlarm.EnableDisableInactivityAlarm + \",\" + params.InactivityAlarm.InactivityTimeout;\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\n// const _crypto = require('crypto');\n// var password = params.Password.Password;\n// if (password === \"\") {\nvar part2 = command;\n// } else {\n// var part2 = \"enc=\" + encrypt(command, part1, password);\n// }\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n\nfunction encrypt(text, mid, password) {\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n const iv = _crypto.randomBytes(16); // random initialization vector\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n // set the cipher\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n // encrypt text\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n // generate output ( encrypted text )\n return Buffer.concat([iv, encrypted]).toString('base64');\n}","AvoidResending":false,"FollowParentSentType":false,"SendingType":3,"CommandToUpdateId":null,"ParentId":null,"Parent":null,"HasAck":true,"HexString":false,"SendAttempts":6,"Order":null},"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12428,"Group":{"Id":7500,"Name":"Fall Alarm","Json":{"description":"Configurations for fall detection & fall alerts","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Enable Disable Fall Alarm","Json":"{\"name\":\"Enable Disable Fall Alarm\",\"default\":\"false\",\"description\":\"Enabled?\",\"type\":\"enable\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Enable or disable fall detection - if enabled, an alarm will be raised if accelerometer detects a fall\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"true","Command":{"Id":5825,"Protocol":{"Id":256,"Code":"Access PS App","Version":"1.3","FirmwareVersion":"","Product":null,"AvailableVersions":[],"HistoryVersions":[],"IsChanged":true},"Name":"Fall Detection Config","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"FALLCONFIG=\" + params.FallAlarm.Sensitivity + \",\" + params.FallAlarm.UserFallAlarmCancellationPeriod + \",\" + params.FallAlarm[\"Detection:Post-FallIgnoreMovementGracePeriod\"] + \",\" + params.FallAlarm[\"Detection:Post-FallStillnessRequirementPeriod\"];\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\n// const _crypto = require('crypto');\n// var password = params.Password.Password;\n// if (password === \"\") {\nvar part2 = command;\n// } else {\n// var part2 = \"enc=\" + encrypt(command, part1, password);\n// }\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n\nfunction encrypt(text, mid, password) {\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n const iv = _crypto.randomBytes(16); // random initialization vector\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n // set the cipher\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n // encrypt text\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n // generate output ( encrypted text )\n return Buffer.concat([iv, encrypted]).toString('base64');\n}","AvoidResending":false,"FollowParentSentType":false,"SendingType":3,"CommandToUpdateId":null,"ParentId":null,"Parent":null,"HasAck":true,"HexString":false,"SendAttempts":6,"Order":null},"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12430,"Group":{"Id":7505,"Name":"Inactivity Alarm","Json":{"description":"Configuration for inactivity detection","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"User Inactivity Alarm Cancellation Period","Json":"{\"name\":\"User Inactivity Alarm Cancellation Period\",\"default\":\"\",\"description\":\"Pre-Alert Duration: Seconds the user has available to cancel a pending inactivity alarm before it is sent automatically\",\"type\":\"number\",\"suffix\":\"seconds\",\"prefix\":null,\"min\":5,\"max\":900,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Seconds the user has available to cancel a pending inactivity alarm before it is sent automatically. (This is shown as a countdown notification)\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":12430,\"Group\":{\"Id\":7505,\"Name\":\"Inactivity Alarm\",\"Json\":{\"description\":\"Configuration for inactivity detection\",\"columns\":1,\"order\":2,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Inactivity Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Inactivity Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Pre-Alert Duration: Seconds the user has available to cancel a pending inactivity alarm before it is sent automatically\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":5,\\\"max\\\":900,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending inactivity alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1785337440},{"Type":0,"NewValue":"{\"Id\":12430,\"Group\":{\"Id\":7505,\"Name\":\"Inactivity Alarm\",\"Json\":{\"description\":\"Configuration for inactivity detection\",\"columns\":1,\"order\":2,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"User Inactivity Alarm Cancellation Period\",\"Json\":\"{\\\"name\\\":\\\"User Inactivity Alarm Cancellation Period\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"Pre-Alert Duration: Seconds the user has available to cancel a pending inactivity alarm before it is sent automatically\\\",\\\"type\\\":\\\"number\\\",\\\"suffix\\\":\\\"seconds\\\",\\\"prefix\\\":null,\\\"min\\\":5,\\\"max\\\":900,\\\"futureOnly\\\":false,\\\"integerOnly\\\":true,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"Seconds the user has available to cancel a pending inactivity alarm before it is sent automatically. (This is shown as a countdown notification)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":{\"Id\":5830,\"Protocol\":{\"Id\":256,\"Code\":\"Access PS App\",\"Version\":\"1.3\",\"FirmwareVersion\":\"\",\"Product\":null,\"AvailableVersions\":[],\"HistoryVersions\":[],\"IsChanged\":true},\"Name\":\"Inactivity Detection Config\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"INACTIVITYCONFIG=\\\" + params.InactivityAlarm.EnableDisableInactivityAlarm + \\\",\\\" + params.InactivityAlarm.InactivityTimeout;\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"CommandToUpdateId\":null,\"ParentId\":null,\"Parent\":null,\"HasAck\":true,\"HexString\":false,\"SendAttempts\":6,\"Order\":null},\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1785337444}],"LanguageId":null,"Tags":[]},{"Id":12430,"Group":{"Id":7505,"Name":"Inactivity Alarm","Json":{"description":"Configuration for inactivity detection","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"User Inactivity Alarm Cancellation Period","Json":"{\"name\":\"User Inactivity Alarm Cancellation Period\",\"default\":\"\",\"description\":\"Pre-Alert Duration: Seconds the user has available to cancel a pending inactivity alarm before it is sent automatically\",\"type\":\"number\",\"suffix\":\"seconds\",\"prefix\":null,\"min\":5,\"max\":900,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Seconds the user has available to cancel a pending inactivity alarm before it is sent automatically. (This is shown as a countdown notification)\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":{"Id":5830,"Protocol":{"Id":256,"Code":"Access PS App","Version":"1.3","FirmwareVersion":"","Product":null,"AvailableVersions":[],"HistoryVersions":[],"IsChanged":true},"Name":"Inactivity Detection Config","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"INACTIVITYCONFIG=\" + params.InactivityAlarm.EnableDisableInactivityAlarm + \",\" + params.InactivityAlarm.InactivityTimeout;\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\n// const _crypto = require('crypto');\n// var password = params.Password.Password;\n// if (password === \"\") {\nvar part2 = command;\n// } else {\n// var part2 = \"enc=\" + encrypt(command, part1, password);\n// }\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n\nfunction encrypt(text, mid, password) {\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n const iv = _crypto.randomBytes(16); // random initialization vector\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n // set the cipher\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n // encrypt text\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n // generate output ( encrypted text )\n return Buffer.concat([iv, encrypted]).toString('base64');\n}","AvoidResending":false,"FollowParentSentType":false,"SendingType":3,"CommandToUpdateId":null,"ParentId":null,"Parent":null,"HasAck":true,"HexString":false,"SendAttempts":6,"Order":null},"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]}],"ProtocolChanges":[{"Version":"0.2","UserName":"IbrahimMeman","Resource":"Operation","Name":"apsapp_ops","Message":"(Update) (apsapp_ops) Added sos number","Timestamp":1741187532},{"Version":"0.2","UserName":"IbrahimMeman","Resource":"GroupParam","Name":"SOS Number","Message":"(Update) (SOS Number) Changed to read only text","Timestamp":1741189055},{"Version":"0.2","UserName":"IbrahimMeman","Resource":"MessageType","Name":"COMM-SET_SOSNUMBER","Message":"(Update) (COMM-SET_SOSNUMBER) updated template\n","Timestamp":1741272718},{"Version":"0.2","UserName":"Shadhees_Thinakaran","Resource":"Protocol","Name":null,"Message":"Set SOS Number added","Timestamp":1741327405},{"Version":"0.3","UserName":"David_Admin","Resource":"MessageType","Name":"ZNI","Message":"(Create) (ZNI) Zone in was missing","Timestamp":1741959809},{"Version":"0.3","UserName":"David_Admin","Resource":"MessageType","Name":"ZNI","Message":"(Create) (ZNI) Zone in was missing","Timestamp":1741959833},{"Version":"0.3","UserName":"David_Admin","Resource":"MessageType","Name":"ZNO","Message":"(Update) (ZNO) I put the wrong zone in.","Timestamp":1741959860},{"Version":"0.3","UserName":"Sean-Admin","Resource":"Protocol","Name":null,"Message":"Zone In and out messages added","Timestamp":1742826249},{"Version":"0.4","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"CON-LOGIN","Message":"(Create) (CON-LOGIN) Added Login protocol","Timestamp":1743666904},{"Version":"0.4","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"DISCON-LOGOUT","Message":"(Create) (DISCON-LOGOUT) Added Logout protocol","Timestamp":1743666992},{"Version":"0.4","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"CON-LOGIN","Message":"(Update) (CON-LOGIN) Modified Login protocol","Timestamp":1743667018},{"Version":"0.4","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"RTL-LIVE_ENABLE","Message":"(Create) (RTL-LIVE_ENABLE) Added Live Enabled Protocol","Timestamp":1743667282},{"Version":"0.4","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"RTL-LIVE_DISABLED","Message":"(Create) (RTL-LIVE_DISABLED) Added Live Disabled Protocol","Timestamp":1743667342},{"Version":"0.4","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"RTL-LIVE_ENABLED","Message":"(Update) (RTL-LIVE_ENABLED) Changed Name for Live Enabled Protocol","Timestamp":1743667395},{"Version":"0.4","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"INFO-OS_VERSION","Message":"(Create) (INFO-OS_VERSION) Added OS Version protocol","Timestamp":1743670604},{"Version":"0.4","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"INFO-APP_VERSION","Message":"(Create) (INFO-APP_VERSION) Added App version Protocol","Timestamp":1743751375},{"Version":"0.4","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"INFO-OS_VERSION","Message":"(Update) (INFO-OS_VERSION) Modified OS version protocol to add device","Timestamp":1743751411},{"Version":"0.4","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"INFO-NETWORK_INFO","Message":"(Create) (INFO-NETWORK_INFO) Added Network Info protocol","Timestamp":1743758028},{"Version":"0.4","UserName":"Shadhees_Thinakaran","Resource":"Protocol","Name":null,"Message":"Added login, logout, rtl, app & os info, net info protocols","Timestamp":1745321781},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"PWRN","Message":"(Create) (PWRN) add power on protocol","Timestamp":1747183225},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"PWRF","Message":"(Create) (PWRF) add power off protocol","Timestamp":1747183279},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"INFO-DEBUG","Message":"(Create) (INFO-DEBUG) add debug protocol","Timestamp":1747183542},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"COMM-IS_REGISTERED","Message":"(Update) (COMM-IS_REGISTERED) is_registered no command","Timestamp":1747183670},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"COMM-REGISTER","Message":"(Update) (COMM-REGISTER) register no command","Timestamp":1747183686},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"COMM-SET_SOSNUMBER","Message":"(Update) (COMM-SET_SOSNUMBER) set_sosnumber no command","Timestamp":1747183702},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"COMM-SET_USERID","Message":"(Update) (COMM-SET_USERID) set_userid no command","Timestamp":1747183739},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"CON-LOGIN","Message":"(Update) (CON-LOGIN) login no command","Timestamp":1747183762},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"INFO-APP_VERSION","Message":"(Update) (INFO-APP_VERSION) app_version no command","Timestamp":1747183814},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"INFO-DEBUG","Message":"(Update) (INFO-DEBUG) debug no command","Timestamp":1747185796},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"INFO-OS_VERSION","Message":"(Update) (INFO-OS_VERSION) os_version no command","Timestamp":1747185817},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"DISCON-LOGOUT","Message":"(Update) (DISCON-LOGOUT) logout no command","Timestamp":1747185848},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"PWRF","Message":"(Update) (PWRF) power_off no command","Timestamp":1747185862},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"PWRN","Message":"(Update) (PWRN) power_on no command","Timestamp":1747185881},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"RTL-LIVE_DISABLED","Message":"(Update) (RTL-LIVE_DISABLED) live_disabled no command","Timestamp":1747185899},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"RTL-LIVE_ENABLED","Message":"(Update) (RTL-LIVE_ENABLED) live_enabled no command","Timestamp":1747185913},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"ALSOS","Message":"(Update) (ALSOS) alsos ack first","Timestamp":1747185984},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"CYC","Message":"(Update) (CYC) cyc ack first","Timestamp":1747186003},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"INFO-NETWORK_INFO","Message":"(Update) (INFO-NETWORK_INFO) network_info ack first","Timestamp":1747186018},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"Command","Name":"SOS Number","Message":"(Create) (SOS Number) send sos number command","Timestamp":1747192387},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"Command","Name":"SOS Number","Message":"(Update) (SOS Number) changed send to gprs only","Timestamp":1747192811},{"Version":"0.5","UserName":"Shadhees_Thinakaran","Resource":"Protocol","Name":null,"Message":"added pwrn, pwrf, debug protocols","Timestamp":1748491424},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"GroupParam","Name":"SOS Number","Message":"(Update) (SOS Number) Allow update of SOS Number","Timestamp":1748925810},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"GroupParam","Name":"SOS Number","Message":"(Update) (SOS Number) Added command to be executed","Timestamp":1748941964},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"GroupParam","Name":"SOS Number","Message":"Associate groupParam SOS Number to command SOS Number","Timestamp":1748941969},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"Command","Name":"SOS Number","Message":"(Update) (SOS Number) removed encryption","Timestamp":1748942103},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"ACK-CMD","Message":"(Create) (ACK-CMD) Ack for command from server","Timestamp":1749537162},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"Operation","Name":"apsapp_ops","Message":"(Update) (apsapp_ops) Set SOS Number as forced when login is detected","Timestamp":1749537535},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"Operation","Name":"apsapp_ops","Message":"(Update) (apsapp_ops) modified login script","Timestamp":1749538759},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"Operation","Name":"apsapp_ops","Message":"(Update) (apsapp_ops) default sos number","Timestamp":1749541147},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"Operation","Name":"apsapp_ops","Message":"(Update) (apsapp_ops) use current sos number but forced on login","Timestamp":1749541277},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"Operation","Name":"apsapp_ops","Message":"(Update) (apsapp_ops) default number","Timestamp":1749541392},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"Operation","Name":"apsapp_ops","Message":"(Update) (apsapp_ops) use current sos number","Timestamp":1749617741},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"CON-LOGIN","Message":"(Update) (CON-LOGIN) send command for login\n","Timestamp":1749618551},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"CON-LOGIN","Message":"(Update) (CON-LOGIN) remove command send from login","Timestamp":1749618889},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"CON-LOGIN","Message":"(Update) (CON-LOGIN) allow command for login","Timestamp":1749619299},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"Operation","Name":"apsapp_ops","Message":"(Update) (apsapp_ops) sosnumber testing","Timestamp":1749628968},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"Operation","Name":"apsapp_ops","Message":"(Update) (apsapp_ops) added config to send","Timestamp":1749630769},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"LOCN-LIVE_DISABLED","Message":"(Update) (LOCN-LIVE_DISABLED) Changed RTL-DISABLED -> LOCN-DISABLED","Timestamp":1750213991},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"LOCN-LIVE_ENABLED","Message":"(Update) (LOCN-LIVE_ENABLED) Changed RTL-ENABLED -> LOCN-ENABLED","Timestamp":1750214018},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"PBB","Message":"(Create) (PBB) Added PBB","Timestamp":1750214085},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"ALSOS","Message":"(Update) (ALSOS) Updated ALSOS to type Alarm","Timestamp":1750214104},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"ALA-O","Message":"(Create) (ALA-O) added ALA-O","Timestamp":1750214346},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"ALA-C","Message":"(Create) (ALA-C) added ALA-C","Timestamp":1750214419},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"ALA-S","Message":"(Create) (ALA-S) added ALA-S","Timestamp":1750214484},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"ALA","Message":"(Create) (ALA) added ALA","Timestamp":1750214619},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"MessageType","Name":"ALA","Message":"(Update) (ALA) changed ALA to Alarm","Timestamp":1750214680},{"Version":"0.6","UserName":"Shadhees_Thinakaran","Resource":"Protocol","Name":null,"Message":"Deploy 0.6","Timestamp":1751290674},{"Version":"0.7","UserName":"Shadhees_Thinakaran","Resource":"Operation","Name":"apsapp_ops","Message":"(Update) (apsapp_ops) added default Oysta number fallback if the ARC is not set","Timestamp":1751467922},{"Version":"0.7","UserName":"Shadhees_Thinakaran","Resource":"Protocol","Name":null,"Message":"Added default Oysta number fallback if the ARC number is not set","Timestamp":1751468116},{"Version":"0.8","UserName":"David_Admin","Resource":"MessageType","Name":"COMM","Message":"(Create) (COMM) new registration trial","Timestamp":1769764395},{"Version":"0.8","UserName":"David_Admin","Resource":"MessageType","Name":"COMM-IS_REGISTERED","Message":"(Update) (COMM-IS_REGISTERED) change to local code to include -IS_REGISTERED","Timestamp":1769764439},{"Version":"0.8","UserName":"David_Admin","Resource":"MessageType","Name":"COMM-REGISTER","Message":"(Create) (COMM-REGISTER) new COMM-REGISTER command","Timestamp":1769768681},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"COMM-IS_REGISTERED","Message":"(Delete) (COMM-IS_REGISTERED)","Timestamp":1771504412},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"COMM-REGISTER","Message":"(Delete) (COMM-REGISTER)","Timestamp":1771504427},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"NFC","Message":"(Create) (NFC) adding NFC tag to PS protocol","Timestamp":1773179160},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"NFC","Message":"(Update) (NFC) updating","Timestamp":1773179221},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"NFC","Message":"(Update) (NFC) d","Timestamp":1773179232},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"NFC","Message":"(Update) (NFC) updating","Timestamp":1773179274},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"NFC","Message":"(Update) (NFC) changing","Timestamp":1773181802},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"NFC","Message":"(Update) (NFC) updating","Timestamp":1773221094},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) .","Timestamp":1773221295},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) making it make sense","Timestamp":1773221560},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) .","Timestamp":1773221600},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Delete) (EBZI-NFC)","Timestamp":1773221698},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Create) (EBZI-NFC) adding nfc","Timestamp":1773221793},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) adding message template","Timestamp":1773221858},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) adding ACK\n","Timestamp":1773221883},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) adding response","Timestamp":1773221900},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) adding response template","Timestamp":1773221913},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) change\n","Timestamp":1773221967},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) removing whitespace","Timestamp":1773221981},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) adding value column","Timestamp":1773304653},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) adding beacon minor and major","Timestamp":1773314496},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) adding beacon minor and major","Timestamp":1773316345},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Update) (EBZI-NFC) checking","Timestamp":1773317014},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"MessageType","Name":"CON-LOGIN","Message":"(Update) (CON-LOGIN) Adding long connection on login","Timestamp":1774005795},{"Version":"0.8","UserName":"Sean-Admin","Resource":"MessageType","Name":"CYC","Message":"(Create) (CYC) Adding CYC messagetype back in","Timestamp":1774948886},{"Version":"0.8","UserName":"lex.smith@theaccessgroup.com","Resource":"Protocol","Name":null,"Message":"updated PS app for NFC beacons and V2 of app","Timestamp":1778231334},{"Version":"1.0","UserName":"Katie.C_Test","Resource":"MessageType","Name":"CHK","Message":"(Create) (CHK) Add CHK heartbeat message for PS app","Timestamp":1779284061},{"Version":"1.0","UserName":"Katie.C_Test","Resource":"MessageType","Name":"CHK","Message":"(Update) (CHK) CHK heartbeat for PS app should use normal APS prefix","Timestamp":1779284402},{"Version":"1.0","UserName":"Katie.C_Test","Resource":"MessageType","Name":"CHK","Message":"(Update) (CHK) CHK message for PS app should conform to standard message header","Timestamp":1779284805},{"Version":"1.0","UserName":"Sean-Admin","Resource":"MessageType","Name":"EBZI-NFC","Message":"(Delete) (EBZI-NFC)","Timestamp":1782725122},{"Version":"1.0","UserName":"Sean-Admin","Resource":"Protocol","Name":null,"Message":"remove duplicate Zone Beacon message","Timestamp":1782725160},{"Version":"1.1","UserName":"douglas.hunter","Resource":"MessageType","Name":"ALA-O2","Message":"(Create) (ALA-O2) Duplicate of ALA-O with duration fields added","Timestamp":1782741867},{"Version":"1.1","UserName":"douglas.hunter","Resource":"MessageType","Name":"ALA-O2","Message":"(Update) (ALA-O2) Update message identifier to distinguish between ALA-O","Timestamp":1782744913},{"Version":"1.1","UserName":"douglas.hunter","Resource":"MessageType","Name":"ALA-S2","Message":"(Create) (ALA-S2) New ALA-S with duration included","Timestamp":1782828381},{"Version":"1.1","UserName":"Michael_Admin","Resource":"Protocol","Name":null,"Message":"Ready to import to p-i A and prod ","Timestamp":1783421468},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALF","Message":"(Create) (ALF) Add ALF (fall alarm)","Timestamp":1783515077},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALF","Message":"(Update) (ALF) Add ack first flag to ALF (fall alarm)","Timestamp":1783515129},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALF","Message":"(Update) (ALF) Add response to ALF (fall alarm)","Timestamp":1783515162},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"Group","Name":"Fall Alarm","Message":"(Create) (Fall Alarm) Adding fall alarm device settings","Timestamp":1783520323},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"(Create) (Sensitivity) Add fall detection sensitivity configuration","Timestamp":1783520544},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Post-Fall Stillness Requirement Period","Message":"(Create) (Post-Fall Stillness Requirement Period) Add post-fall stillness period configuration setting","Timestamp":1783520847},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"(Create) (User Fall Alarm Cancellation Period) Add user alarm cancellation period as configurable parameter","Timestamp":1783521110},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Post-Fall Ignore Movement Grace Period","Message":"(Create) (Post-Fall Ignore Movement Grace Period) Add configuration for ignore movement after detection grace period","Timestamp":1783521391},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"(Update) (Sensitivity) Reorder Group Params","Timestamp":1783521417},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Post-Fall Ignore Movement Grace Period","Message":"(Update) (Post-Fall Ignore Movement Grace Period) Reorder Group Params","Timestamp":1783521419},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Post-Fall Stillness Requirement Period","Message":"(Update) (Post-Fall Stillness Requirement Period) Reorder Group Params","Timestamp":1783521422},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"(Update) (User Fall Alarm Cancellation Period) Reorder Group Params","Timestamp":1783521425},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Ignore Movement Grace Period","Message":"(Update) (Detection: Post-Fall Ignore Movement Grace Period) Prefix setting with Detection for clarity","Timestamp":1783521577},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Stillness Requirement Period","Message":"(Update) (Detection: Post-Fall Stillness Requirement Period) Prefix setting with Detection: for clarity; Change max time to 5m","Timestamp":1783521611},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"Group","Name":"Fall Alarm","Message":"(Update) (Fall Alarm) Uncheck device related tickbox","Timestamp":1783524978},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"Command","Name":"Fall Detection Config","Message":"(Create) (Fall Detection Config) (WIP) Start adding fall config configuration command","Timestamp":1783525517},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Ignore Movement Grace Period","Message":"(Update) (Detection: Post-Fall Ignore Movement Grace Period) Use fall detection config command for setting fall detection params","Timestamp":1783525576},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Ignore Movement Grace Period","Message":"Associate groupParam Detection: Post-Fall Ignore Movement Grace Period to command Fall Detection Config","Timestamp":1783525580},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Stillness Requirement Period","Message":"(Update) (Detection: Post-Fall Stillness Requirement Period) Use fall detection config command for setting fall detection params","Timestamp":1783525586},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Stillness Requirement Period","Message":"Associate groupParam Detection: Post-Fall Stillness Requirement Period to command Fall Detection Config","Timestamp":1783525590},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"(Update) (Sensitivity) Use fall detection config command for setting fall detection params","Timestamp":1783525601},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"Associate groupParam Sensitivity to command Fall Detection Config","Timestamp":1783525605},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"(Update) (User Fall Alarm Cancellation Period) Use fall detection config command for setting fall detection params","Timestamp":1783525611},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"Associate groupParam User Fall Alarm Cancellation Period to command Fall Detection Config","Timestamp":1783525615},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"(Update) (Sensitivity) Add help text to sensitivity","Timestamp":1783525781},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Stillness Requirement Period","Message":"(Update) (Detection: Post-Fall Stillness Requirement Period) Allow integers only on detection stillness period","Timestamp":1783525828},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"Command","Name":"Fall Detection Config","Message":"(Update) (Fall Detection Config) Remove commented out code","Timestamp":1783525943},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"Command","Name":"Fall Detection Config","Message":"(Update) (Fall Detection Config) Disable for now","Timestamp":1783526707},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"Command","Name":"Fall Detection Config","Message":"(Update) (Fall Detection Config) Add fall detection config command","Timestamp":1783590454},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"Command","Name":"Fall Detection Config","Message":"(Update) (Fall Detection Config) Fix typo with param names","Timestamp":1783592484},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"Command","Name":"Fall Detection Config","Message":"(Update) (Fall Detection Config) Debug: Add a way to check what the param names are","Timestamp":1783592718},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"Command","Name":"Fall Detection Config","Message":"(Update) (Fall Detection Config) Try to access param keys with special characters","Timestamp":1783592996},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"(Update) (Sensitivity) Reorder Group Params","Timestamp":1783593632},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Ignore Movement Grace Period","Message":"(Update) (Detection: Post-Fall Ignore Movement Grace Period) Reorder Group Params","Timestamp":1783593634},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Stillness Requirement Period","Message":"(Update) (Detection: Post-Fall Stillness Requirement Period) Reorder Group Params","Timestamp":1783593636},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"(Update) (User Fall Alarm Cancellation Period) Reorder Group Params","Timestamp":1783593638},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"(Update) (User Fall Alarm Cancellation Period) Reorder Group Params","Timestamp":1783593644},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Ignore Movement Grace Period","Message":"(Update) (Detection: Post-Fall Ignore Movement Grace Period) Reorder Group Params","Timestamp":1783593646},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Stillness Requirement Period","Message":"(Update) (Detection: Post-Fall Stillness Requirement Period) Reorder Group Params","Timestamp":1783593648},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"(Update) (User Fall Alarm Cancellation Period) Reorder Group Params","Timestamp":1783603910},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"(Update) (Sensitivity) Reorder Group Params","Timestamp":1783603912},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"(Update) (Sensitivity) Improve sensitivity description","Timestamp":1783604081},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"(Update) (Sensitivity) Reorder Group Params","Timestamp":1783604115},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"MessageType","Name":"CHK","Message":"(Update) (CHK) Change CHK to match oystaCare","Timestamp":1784734864},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"MessageType","Name":"CHK","Message":"(Update) (CHK) Use app-standard ACK format","Timestamp":1784735776},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"MessageType","Name":"CHK","Message":"(Update) (CHK) Fix missing ; at end of ACK","Timestamp":1784735859},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"MessageType","Name":"CHK","Message":"(Update) (CHK) ACK first for CHK to match the rest of the app","Timestamp":1784735931},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"MessageType","Name":"CHK","Message":"(Update) (CHK) Remove ACKback from CHK (heartbeat)","Timestamp":1784882815},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"MessageType","Name":"CHK","Message":"(Update) (CHK) Undo ACK removal (server closes connection, not sure why)","Timestamp":1784883123},{"Version":"1.2","UserName":"Katie.C_Test","Resource":"Protocol","Name":null,"Message":"Support CHK (heartbeat / keepalive) with ACKs","Timestamp":1784893431},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"Group","Name":"Inactivity Alarm","Message":"(Create) (Inactivity Alarm) Add group for inactivity settings","Timestamp":1784899234},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Inactivity Timeout","Message":"(Create) (Inactivity Timeout) Add inactivity timeout param","Timestamp":1784899425},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"Group","Name":"Inactivity Alarm","Message":"(Update) (Inactivity Alarm) Reorder Groups","Timestamp":1784899437},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"(Update) (User Fall Alarm Cancellation Period) Tweak description of alarm countdown + change unit to 'seconds'","Timestamp":1784899572},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Ignore Movement Grace Period","Message":"(Update) (Detection: Post-Fall Ignore Movement Grace Period) Change unit to milliseconds","Timestamp":1784899597},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Stillness Requirement Period","Message":"(Update) (Detection: Post-Fall Stillness Requirement Period) Change unit to seconds","Timestamp":1784899611},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Stillness Requirement Period","Message":"(Update) (Detection: Post-Fall Stillness Requirement Period) Prefix description with Fall Period","Timestamp":1784899639},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"(Update) (User Fall Alarm Cancellation Period) Reorder Group Params","Timestamp":1784899731},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Ignore Movement Grace Period","Message":"(Update) (Detection: Post-Fall Ignore Movement Grace Period) Reorder Group Params","Timestamp":1784899733},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Stillness Requirement Period","Message":"(Update) (Detection: Post-Fall Stillness Requirement Period) Reorder Group Params","Timestamp":1784899735},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"(Update) (Sensitivity) Reorder Group Params","Timestamp":1784899738},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"(Update) (Sensitivity) Reorder Group Params","Timestamp":1784899743},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Ignore Movement Grace Period","Message":"(Update) (Detection: Post-Fall Ignore Movement Grace Period) Reorder Group Params","Timestamp":1784899745},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Stillness Requirement Period","Message":"(Update) (Detection: Post-Fall Stillness Requirement Period) Reorder Group Params","Timestamp":1784899747},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"(Update) (User Fall Alarm Cancellation Period) Change min fall countdown period to 10s","Timestamp":1784900047},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Enable Disable Inactivity Alarm","Message":"(Create) (Enable Disable Inactivity Alarm) Add enable/disable toggle for inactivity","Timestamp":1784900347},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Enable Disable Fall Alarm","Message":"(Create) (Enable Disable Fall Alarm) Add enable/disable toggle for fall alarm","Timestamp":1784900505},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"(Update) (Sensitivity) Reorder Group Params","Timestamp":1784900924},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Ignore Movement Grace Period","Message":"(Update) (Detection: Post-Fall Ignore Movement Grace Period) Reorder Group Params","Timestamp":1784900926},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Stillness Requirement Period","Message":"(Update) (Detection: Post-Fall Stillness Requirement Period) Reorder Group Params","Timestamp":1784900928},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"(Update) (User Fall Alarm Cancellation Period) Reorder Group Params","Timestamp":1784900930},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Enable Disable Fall Alarm","Message":"(Update) (Enable Disable Fall Alarm) Reorder Group Params","Timestamp":1784900931},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"(Update) (User Fall Alarm Cancellation Period) Reorder Group Params","Timestamp":1784900936},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Sensitivity","Message":"(Update) (Sensitivity) Reorder Group Params","Timestamp":1784900938},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Ignore Movement Grace Period","Message":"(Update) (Detection: Post-Fall Ignore Movement Grace Period) Reorder Group Params","Timestamp":1784900940},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Detection: Post-Fall Stillness Requirement Period","Message":"(Update) (Detection: Post-Fall Stillness Requirement Period) Reorder Group Params","Timestamp":1784900942},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"Command","Name":"Inactivity Detection Config","Message":"(Create) (Inactivity Detection Config) Add inactivity detection config","Timestamp":1784901251},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALI","Message":"(Create) (ALI) Add ALI (inactivity alarm)","Timestamp":1784901737},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALI","Message":"(Update) (ALI) Update ALI name","Timestamp":1784901765},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALI","Message":"(Update) (ALI) Update ALI name","Timestamp":1784901804},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALI","Message":"(Update) (ALI) Why is the name empty","Timestamp":1784901844},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALI","Message":"(Update) (ALI) Change name of inactivity alarm to ALNM (non movement alarm)","Timestamp":1784901904},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALNM-C","Message":"(Create) (ALNM-C) Add inactivity alarm (cancelled by user)","Timestamp":1784901954},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALF-C","Message":"(Create) (ALF-C) Add ALF-C for cancelled fall alarms","Timestamp":1784902030},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALF-C","Message":"(Update) (ALF-C) Add ack response template","Timestamp":1784902065},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALNM-C","Message":"(Update) (ALNM-C) Add ack response template","Timestamp":1784902085},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"MessageType","Name":"ALNM","Message":"(Update) (ALNM) Update non-movement code & add ack response template","Timestamp":1784902116},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"MessageType","Name":"FALL_ENABLED","Message":"(Create) (FALL_ENABLED) Add fall detection enabled","Timestamp":1784902474},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"MessageType","Name":"FALL_ENABLED","Message":"(Delete) (FALL_ENABLED)","Timestamp":1784902507},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Inactivity Timeout","Message":"(Update) (Inactivity Timeout) Hook up config setter to command sending","Timestamp":1785248863},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Inactivity Timeout","Message":"Associate groupParam Inactivity Timeout to command Inactivity Detection Config","Timestamp":1785248866},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Enable Disable Inactivity Alarm","Message":"(Update) (Enable Disable Inactivity Alarm) Hook up inactivity config setter","Timestamp":1785248888},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Enable Disable Inactivity Alarm","Message":"Associate groupParam Enable Disable Inactivity Alarm to command Inactivity Detection Config","Timestamp":1785248891},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Fall Alarm Cancellation Period","Message":"(Update) (User Fall Alarm Cancellation Period) Use more permissive min/max settings","Timestamp":1785332940},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Inactivity Timeout","Message":"(Update) (Inactivity Timeout) Use more permissive min/max settings","Timestamp":1785333042},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Enable Disable Fall Alarm","Message":"(Update) (Enable Disable Fall Alarm) Hook up enable toggle to fall detection config","Timestamp":1785335572},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"Enable Disable Fall Alarm","Message":"Associate groupParam Enable Disable Fall Alarm to command Fall Detection Config","Timestamp":1785335575},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"Command","Name":"Fall Detection Config","Message":"(Update) (Fall Detection Config) Add enable disable param to fall detection config","Timestamp":1785335637},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Inactivity Alarm Cancellation Period","Message":"(Create) (User Inactivity Alarm Cancellation Period) Add user alarm countdown seconds to inactivity config","Timestamp":1785337440},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"GroupParam","Name":"User Inactivity Alarm Cancellation Period","Message":"Associate groupParam User Inactivity Alarm Cancellation Period to command Inactivity Detection Config","Timestamp":1785337444},{"Version":"1.3","UserName":"Katie.C_Test","Resource":"Command","Name":"Inactivity Detection Config","Message":"(Update) (Inactivity Detection Config) Update inactivity config to send user alarm cancellation timeout","Timestamp":1785337572}],"ProtocolActionObjects":[],"Tags":[{"Id":2156,"Name":"PermitDuplicates","BackendAction":"permitReceiverDublicates","Value":"True"},{"Id":2157,"Name":"OneCommandSender","BackendAction":"oneCommandSender","Value":"True"}],"MessageCodes":[{"Name":"Alarm - Movement","Description":"At alert on movement ( not fall)","Code":"ALMOV","CanLiveInsights":false},{"Name":"Alarm-Welfare Check","Description":"Welfare check alarm","Code":"ALW","CanLiveInsights":false},{"Name":"Cycle","Description":"Regular, cyclic, events from a device","Code":"CYC","CanLiveInsights":false},{"Name":"Location - other","Description":"Location - other","Code":"LOCN","CanLiveInsights":false},{"Name":"Acknowledge","Description":"Acknowledgment of a command sent to the device","Code":"ACK","CanLiveInsights":false},{"Name":"Battery Charging - On","Description":"Battery Charging - On","Code":"BATCN","CanLiveInsights":false},{"Name":"Check / keep alive / Heartbeat","Description":"Keep alive / heartbeat signal to maintain a connection ","Code":"CHK","CanLiveInsights":false},{"Name":"Alarm - Amber Alert","Description":"Alarm - Amber Alert","Code":"ALA","CanLiveInsights":false},{"Name":"Alarm Fall","Description":"Alarm Fall","Code":"ALF","CanLiveInsights":false},{"Name":"Alarm Non movement","Description":"Alarm Non movement","Code":"ALNM","CanLiveInsights":false},{"Name":"Alarm - Smoke","Description":"Alarm - Smoke","Code":"ALSM","CanLiveInsights":false},{"Name":"Alarm - Speed","Description":"Alarm - Speed","Code":"ALSP","CanLiveInsights":false},{"Name":"Alarm Emergency Cancelled","Description":"Alarm Emergency Cancelled by the user","Code":"ALSOS-C","CanLiveInsights":false},{"Name":"Battery Charging - off","Description":"Battery Charging - off","Code":"BATCF","CanLiveInsights":false},{"Name":"Battery empty","Description":"Battery empty","Code":"BATE","CanLiveInsights":false},{"Name":"Battery full","Description":"Battery full","Code":"BATF","CanLiveInsights":false},{"Name":"Battery low","Description":"Battery low","Code":"BATL","CanLiveInsights":false},{"Name":"Button Press","Description":"Button Press","Code":"BPRS","CanLiveInsights":false},{"Name":"Ebeacon zone in","Description":"Ebeacon zone in","Code":"EBZI","CanLiveInsights":false},{"Name":"Ebeacon zone out","Description":"Ebeacon zone out","Code":"EBZO","CanLiveInsights":false},{"Name":"Location check in","Description":"Location check in","Code":"LCI","CanLiveInsights":false},{"Name":"Location check out","Description":"Location check out","Code":"LCO","CanLiveInsights":false},{"Name":"Reminder not ok","Description":"Reminder not ok","Code":"MRME","CanLiveInsights":false},{"Name":"No Activity","Description":"No Activity","Code":"NACT","CanLiveInsights":false},{"Name":"Power Off","Description":"Power Off","Code":"PWRF","CanLiveInsights":false},{"Name":"Power On","Description":"Power On","Code":"PWRN","CanLiveInsights":false},{"Name":"Vehicle - Driving hours excess","Description":"Vehicle - Driving hours excess","Code":"VDE","CanLiveInsights":false},{"Name":"Vehicle Fuel cap","Description":"Vehicle Fuel cap","Code":"VFC","CanLiveInsights":false},{"Name":"Vehicle - Fuel level","Description":"Vehicle - Fuel level","Code":"VFL","CanLiveInsights":false},{"Name":"Vehicle Harsh braking","Description":"Vehicle Harsh braking","Code":"VHB","CanLiveInsights":false},{"Name":"Vehicle Ignition off","Description":"Vehicle Ignition off","Code":"VIGF","CanLiveInsights":false},{"Name":"Vehicle Driver not authorized","Description":"Vehicle Driver not authorized","Code":"VNA","CanLiveInsights":false},{"Name":"Vehicle Night driving","Description":"Vehicle Night driving","Code":"VND","CanLiveInsights":false},{"Name":"Vehicle Ignition on","Description":"Vehicle Ignition on","Code":"VIGN","CanLiveInsights":false},{"Name":"Vehicle Seat belt","Description":"Vehicle Seat belt","Code":"VSB","CanLiveInsights":false},{"Name":"Zone in","Description":"Zone in","Code":"ZNI","CanLiveInsights":false},{"Name":"Zone out","Description":"Zone out","Code":"ZNO","CanLiveInsights":false},{"Name":"Device Status","Description":"Device Status","Code":"STATUS","CanLiveInsights":false},{"Name":"Real time location ","Description":"Real time location ","Code":"RTL","CanLiveInsights":false},{"Name":"Encoded communication","Description":"Encoded communication","Code":"ENC","CanLiveInsights":false},{"Name":"Proximity","Description":"Proximity alert ","Code":"PROX","CanLiveInsights":false},{"Name":"Dummy - do NOT use ","Description":"Dummy template - should not be used","Code":"DUMMY","CanLiveInsights":false},{"Name":"Battery High","Description":"Battery High","Code":"BATH","CanLiveInsights":false},{"Name":"Location - Set Available","Description":"Location - Set Available","Code":"LSA","CanLiveInsights":false},{"Name":"Location - Set Busy","Description":"Location - Set Busy","Code":"LSB","CanLiveInsights":false},{"Name":"Device information","Description":"General Device Information from the device","Code":"INFO","CanLiveInsights":false},{"Name":"Alarm - Tamper","Description":"Alarm - Device Tamper","Code":"ALTAM","CanLiveInsights":false},{"Name":"Communication ","Description":"General communication, initialisation etc.","Code":"COMM","CanLiveInsights":false},{"Name":"Humidity","Description":"Relative humidity","Code":"RH","CanLiveInsights":false},{"Name":"Temperature","Description":"Temperature","Code":"TEMP","CanLiveInsights":false},{"Name":"Alarm - Temperature","Description":"Alarm - Temperature","Code":"ALTEMP","CanLiveInsights":false},{"Name":"Alarm - Humidity","Description":"Alarm - Relative Humidity","Code":"ALRH","CanLiveInsights":false},{"Name":"Proximity End","Description":"Proximity End","Code":"PROX-E","CanLiveInsights":false},{"Name":"Alarm - PIR","Description":"Alarm - PIR","Code":"ALPIR","CanLiveInsights":false},{"Name":"PIR - Movements","Description":"Number of PIR movements detected in reporting period","Code":"PIRM","CanLiveInsights":false},{"Name":"Battery Report","Description":"Battery Voltage Report","Code":"BATR","CanLiveInsights":false},{"Name":"Alarm - Sim Swap","Description":"Alarm - Sim Swap","Code":"ALSS","CanLiveInsights":false},{"Name":"Mileage","Description":"Mileage","Code":"MIL","CanLiveInsights":false},{"Name":"Intrusion","Description":"Intrusion","Code":"INT","CanLiveInsights":false},{"Name":"No Fix Report","Description":"No fix report","Code":"NFR","CanLiveInsights":false},{"Name":"Switched Off Report","Description":"Switched off report","Code":"SOR","CanLiveInsights":false},{"Name":"End - Shift","Description":"End - Shift","Code":"ENDSH","CanLiveInsights":false},{"Name":"Sleep Mode","Description":"Device comes to sleep mode","Code":"SPM","CanLiveInsights":false},{"Name":"Wake Up Device","Description":"Device Wake Up from SleepMode","Code":"WUD","CanLiveInsights":false},{"Name":"Door Closed","Description":"Door Closed","Code":"DRCL","CanLiveInsights":false},{"Name":"Door Open","Description":"Door Open","Code":"DRO","CanLiveInsights":false},{"Name":"Alarm Door Closed","Description":"Alarm Door Closed","Code":"ALDC","CanLiveInsights":false},{"Name":"Alarm Door Open","Description":"Alarm Door Open","Code":"ALDO","CanLiveInsights":false},{"Name":"Alarm - Amber Alert - Snooze","Description":"Amber Alert Alarm - snoozed by user","Code":"ALA-S","CanLiveInsights":false},{"Name":"Amber Alert - On","Description":"Amber Alert Alarm created by User","Code":"ALA-O","CanLiveInsights":false},{"Name":"Reminder OK","Description":"Reminder OK","Code":"MRMK","CanLiveInsights":false},{"Name":"Message - text","Description":"Message- text","Code":"MSG","CanLiveInsights":false},{"Name":"Start - Shift","Description":"Start- Shift","Code":"STSH","CanLiveInsights":false},{"Name":"Beacon","Description":"Beacon","Code":"BT","CanLiveInsights":false},{"Name":"Alarm - Amber Alert - Cancel","Description":"Amber alert alarm, cancelled by user","Code":"ALA-C","CanLiveInsights":false},{"Name":"Alarm-Impact","Description":"Alarm-Impact","Code":"ALI","CanLiveInsights":false},{"Name":"Reminder Snooze ","Description":"Reminder - snooze","Code":"MRM-S","CanLiveInsights":false},{"Name":"Blood Pressure","Description":"Blood Pressure","Code":"HBP","CanLiveInsights":false},{"Name":"Heart Rate","Description":"Heart Rate","Code":"HRT","CanLiveInsights":false},{"Name":"SELFTEST","Description":"Used for Testing Purposes","Code":"TEST","CanLiveInsights":false},{"Name":"Alarm - Fall Cancelled","Description":"Alarm - Fall Cancelled","Code":"ALF-C","CanLiveInsights":false},{"Name":"Alarm Non Movement Cancelled","Description":"Alarm Non movement Cancelled by the user","Code":"ALNM-C","CanLiveInsights":false},{"Name":"Insight","Description":"Insight","Code":"INSIGHT","CanLiveInsights":false},{"Name":"Quantity Drunk","Description":"Quantity of liquid drunk ","Code":"QDRNK","CanLiveInsights":false},{"Name":"Bed - in","Description":"Bed or seat sensor ","Code":"BEDIN","CanLiveInsights":false},{"Name":"Bed - Out","Description":"Bed / seat sensor","Code":"BEDOUT","CanLiveInsights":false},{"Name":"Leak sensor","Description":"Leak detected ","Code":"LEAK","CanLiveInsights":false},{"Name":"Light - Lux","Description":"Light levels - LUX ","Code":"LUX","CanLiveInsights":false},{"Name":"Exited","Description":"Exited","Code":"EXIT","CanLiveInsights":false},{"Name":"Entered","Description":"Entered","Code":"ENTER","CanLiveInsights":false},{"Name":"Answered Door","Description":"Answered Door","Code":"ANSWDR","CanLiveInsights":false},{"Name":"Alarm Emergency","Description":"Alarm Emergency","Code":"ALSOS","CanLiveInsights":true},{"Name":"Alarm Gas","Description":"Alarm Gas ( carbon monixide, carbon dioxide, propane, butane ) ","Code":"ALG","CanLiveInsights":false},{"Name":"Leak Off","Description":"Leak detection has stopped alerting","Code":"LEAK-OFF","CanLiveInsights":false},{"Name":"Question-Answer","Description":"Question - Answer response","Code":"Q-A","CanLiveInsights":false},{"Name":"Visitor Arrived","Description":"Visitor Arrived","Code":"VISARR","CanLiveInsights":true},{"Name":"Visitor Departed","Description":"Visitor Departed","Code":"VISDEP","CanLiveInsights":true},{"Name":"Docked","Description":"Device placed in docking station","Code":"DOCK-IN","CanLiveInsights":false},{"Name":"Undocked","Description":"Device removed from docking station","Code":"DOCK-OUT","CanLiveInsights":false},{"Name":"Gas concentrarion","Description":"Gas concentrarion (ppm)","Code":"GAS","CanLiveInsights":false},{"Name":"Distance ","Description":"Distance measurement, could be level, proximity etc ","Code":"DIST","CanLiveInsights":false},{"Name":"Alarm Distance","Description":"Alarm on distance measurement, could be level, proximity etc ","Code":"ALDIST","CanLiveInsights":false},{"Name":"Welfare OK","Description":"Welfare check has returned OK","Code":"WELFOK","CanLiveInsights":false},{"Name":"Steps","Description":"Step counter","Code":"STEPS","CanLiveInsights":true},{"Name":"Connection","Description":"Connection","Code":"CON","CanLiveInsights":false},{"Name":"Disconnection","Description":"Disconnect","Code":"DISCON","CanLiveInsights":false},{"Name":"Position By Button","Description":"Position By Button","Code":"PBB","CanLiveInsights":false},{"Name":"Alarm Welfare","Description":"Alert welfare not confirmed","Code":"ALA-W","CanLiveInsights":false},{"Name":"Welfare Timer Starts","Description":"Welfare Check in","Code":"WTS","CanLiveInsights":false},{"Name":"Welfare Stops","Description":"Welfare Check out","Code":"WSTP","CanLiveInsights":false},{"Name":"Alarm Ended","Description":"Alarm finished","Code":"ALA-F","CanLiveInsights":false},{"Name":"BRTH - Breath Rate","Description":"Rate of Breathing per minute","Code":"BRTH","CanLiveInsights":false},{"Name":"Sleep State","Description":"Sleep state ","Code":"SLPSTATE","CanLiveInsights":false},{"Name":"Alarm - Tilt","Description":"Alarm - Tilt Alert","Code":"ALTLT","CanLiveInsights":false},{"Name":"Alert Fall Suspected","Description":"Alert Fall Suspected","Code":"ALFS","CanLiveInsights":false},{"Name":"testMCImportExport","Description":"A test message code to verify it imports correctly into Acceptance! Modify Description.","Code":"testMCImportExport","CanLiveInsights":false},{"Name":"gaurav_code_name","Description":"gaurav_code_desc","Code":"gaurav_code","CanLiveInsights":false},{"Name":"SPO2","Description":"blood oxygen saturation","Code":"SPO2","CanLiveInsights":false},{"Name":"Command","Description":"Send a command to a protocol","Code":"CMD","CanLiveInsights":false},{"Name":"OTA - Battery Low","Description":"OTA procedure interrupted due to battery low","Code":"OBTL","CanLiveInsights":false}]}