diff --git a/access-ps-app b/access-ps-app index ba9cd55..b1214cb 100644 --- a/access-ps-app +++ b/access-ps-app @@ -1 +1 @@ -{"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-<>;<>;mid=<>;SET_SOSNUMBER=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;SET_SOSNUMBER=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;SET_SOSNUMBER=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;mid=<>;IS_REGISTERED=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;mid=<>;IS_REGISTERED=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;mid=<>;SET_USERID=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;mid=<>;SET_USERID=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;mid=<>;REGISTER=<>,<>,<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;mid=<>;REGISTER=<>,<>,<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALSOS;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALSOS;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALSOS;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CYC;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CYC;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;<>;LBEACON=<>,<>,<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;<>;LBEACON=<>,<>,<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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,<>,<>,<>,<>,<>,<>,<>,<>$","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,<>,<>,<>,<>,<>,<>,<>,<>$\",\"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,<>,<>,<>,<>,<>,<>,<>,<>$","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,<>,<>,<>,<>,<>,<>,<>,<>$\",\"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,<>,<>,<>,<>,<>,<>,<>,<>$\",\"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-<>;<>;<>;mid=<>;CON-LOGIN;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CON-LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGOUT;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGOUT;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGOUT;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_ENABLE;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_ENABLE;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_ENABLED;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_ENABLED;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_ENABLED;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_DISABLED;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_DISABLED;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_DISABLED;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_DISABLED;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;OS_VERSION;OS=<>,<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;OS_VERSION;OS=<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;OS_VERSION;OS=<>,<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;OS_VERSION;OS=<>,<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;APP_VERSION;APP=<>,<>,<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;APP_VERSION;APP=<>,<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;APP_VERSION;APP=<>,<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NETWORK_INFO;NETWORK=<>,<>,<>,<>,<>,<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NETWORK_INFO;NETWORK=<>,<>,<>,<>,<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NETWORK_INFO;NETWORK=<>,<>,<>,<>,<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;POWER_ON;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;POWER_ON;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;POWER_ON;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;POWER_OFF;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;POWER_OFF;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;POWER_OFF;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;DEBUG;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;DEBUG;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;DEBUG;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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;<>;<>;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;<>;<>;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-<>;<>;<>;mid=<>;PBB;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;PBB;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-O;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-O;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-C;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-C;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-S;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-S;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;IS_REGISTERED;TIME=<>","HasTemplateGlobal":false,"ResponseTemplate":"APSCMD-<>;update=<>;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-<>;<>;<>;mid=<>;IS_REGISTERED;TIME=<>\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<>;update=<>;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-<>;<>;<>;mid=<>;IS_REGISTERED;TIME=<>\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<>;update=<>;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-<>;<>;<>;mid=<>;IS_REGISTERED;TIME=<>\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<>;update=<>;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-<>;<>;<>;mid=<>;REGISTER;PHONE=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"APSCMD-<>;update=<>;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-<>;<>;<>;mid=<>;REGISTER;PHONE=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<>;update=<>;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-<>;<>;<>;mid=<>;REGISTER;PHONE=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<>;update=<>;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$<<->>$<>$NFC$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$","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$<<->>$<>$NFC$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$\",\"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$<<->>$<>$NFC$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$\",\"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$<<->>$<>$NFC$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$\",\"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$<<->>$<>$NFC$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$\",\"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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;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;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;<>;LBEACON=<>,<>,<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;<>;LBEACON=<>,<>,<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CYC;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CYC;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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;<>;<>;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;<>;<>;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-<>;<>;<>;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-<>;<>;<>;mid=<>;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-<>;<>;<>;mid=<>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK;<>;[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-<>;<>;<>;mid=<>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-O;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;ALAT=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-O;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;ALAT=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-O2;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;ALAT=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-S2;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;ALAT=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-S2;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;ALAT=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALF;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;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-<>;<>;<>;mid=<>;ALF;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;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-<>;<>;<>;mid=<>;ALF;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;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-<>;<>;<>;mid=<>;ALF;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;FORCE=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALI;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALI;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALI;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALI;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALI;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALNM;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALNM;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALNM-C;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALNM-C;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALNM-C;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALF-C;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;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-<>;<>;<>;mid=<>;ALF-C;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;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-<>;<>;<>;mid=<>;ALF-C;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;FORCE=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;FALL_ENABLED;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-<>;<>;<>;mid=<>;FALL_ENABLED;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-<>;<>;<>;mid=<>;FALL_ENABLED;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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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}],"Tags":[]},{"Id":5830,"Name":"Inactivity Detection Config","TemplateSMS":null,"Template":"APSCMD-001;<>;<>;[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;<>;<>;[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}],"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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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}],"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;<>;<>;[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;<>;<>;[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}],"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}]} \ No newline at end of file +{"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-<>;<>;mid=<>;SET_SOSNUMBER=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;SET_SOSNUMBER=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;SET_SOSNUMBER=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;mid=<>;IS_REGISTERED=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;mid=<>;IS_REGISTERED=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;mid=<>;SET_USERID=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;mid=<>;SET_USERID=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;mid=<>;REGISTER=<>,<>,<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;mid=<>;REGISTER=<>,<>,<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALSOS;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALSOS;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALSOS;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CYC;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CYC;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;<>;LBEACON=<>,<>,<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;<>;LBEACON=<>,<>,<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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,<>,<>,<>,<>,<>,<>,<>,<>$","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,<>,<>,<>,<>,<>,<>,<>,<>$\",\"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,<>,<>,<>,<>,<>,<>,<>,<>$","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,<>,<>,<>,<>,<>,<>,<>,<>$\",\"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,<>,<>,<>,<>,<>,<>,<>,<>$\",\"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-<>;<>;<>;mid=<>;CON-LOGIN;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CON-LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGIN;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGOUT;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGOUT;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LOGOUT;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_ENABLE;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_ENABLE;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_ENABLED;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_ENABLED;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_ENABLED;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_DISABLED;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_DISABLED;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_DISABLED;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;LIVE_DISABLED;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;OS_VERSION;OS=<>,<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;OS_VERSION;OS=<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;OS_VERSION;OS=<>,<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;OS_VERSION;OS=<>,<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;APP_VERSION;APP=<>,<>,<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;APP_VERSION;APP=<>,<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;APP_VERSION;APP=<>,<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NETWORK_INFO;NETWORK=<>,<>,<>,<>,<>,<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NETWORK_INFO;NETWORK=<>,<>,<>,<>,<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NETWORK_INFO;NETWORK=<>,<>,<>,<>,<>,<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;POWER_ON;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;POWER_ON;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;POWER_ON;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;POWER_OFF;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;POWER_OFF;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;POWER_OFF;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;DEBUG;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;DEBUG;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;DEBUG;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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;<>;<>;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;<>;<>;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-<>;<>;<>;mid=<>;PBB;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;PBB;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-O;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-O;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-C;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-C;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-S;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-S;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;IS_REGISTERED;TIME=<>","HasTemplateGlobal":false,"ResponseTemplate":"APSCMD-<>;update=<>;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-<>;<>;<>;mid=<>;IS_REGISTERED;TIME=<>\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<>;update=<>;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-<>;<>;<>;mid=<>;IS_REGISTERED;TIME=<>\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<>;update=<>;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-<>;<>;<>;mid=<>;IS_REGISTERED;TIME=<>\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<>;update=<>;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-<>;<>;<>;mid=<>;REGISTER;PHONE=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"APSCMD-<>;update=<>;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-<>;<>;<>;mid=<>;REGISTER;PHONE=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<>;update=<>;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-<>;<>;<>;mid=<>;REGISTER;PHONE=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"APSCMD-<>;update=<>;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$<<->>$<>$NFC$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$","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$<<->>$<>$NFC$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$\",\"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$<<->>$<>$NFC$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$\",\"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$<<->>$<>$NFC$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$\",\"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$<<->>$<>$NFC$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$\",\"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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;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;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;<>;LBEACON=<>,<>,<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;NFC;TAG=<>;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;<>;LBEACON=<>,<>,<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CYC;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CYC;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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;<>;<>;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;<>;<>;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-<>;<>;<>;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-<>;<>;<>;mid=<>;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-<>;<>;<>;mid=<>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK;<>;[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-<>;<>;<>;mid=<>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;CHK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-O;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;ALAT=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-O;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;ALAT=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-O2;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;ALAT=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-S2;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;ALAT=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALA-S2;LOTH=<>,<>,<>,<>,<>;BATP=<>;TIME=<>;ALAT=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALF;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;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-<>;<>;<>;mid=<>;ALF;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;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-<>;<>;<>;mid=<>;ALF;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;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-<>;<>;<>;mid=<>;ALF;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;FORCE=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALI;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALI;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALI;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALI;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALI;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALNM;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALNM;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALNM-C;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALNM-C;LOTH=<<>,<>,<>,<>,<>;BATP=<>;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-<>;<>;<>;mid=<>;ALNM-C;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;ALF-C;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;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-<>;<>;<>;mid=<>;ALF-C;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;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-<>;<>;<>;mid=<>;ALF-C;LOTH=<<>,<>,<>,<>,<>;BATP=<>;TIME=<>;FORCE=<>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<>;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-<>;<>;<>;mid=<>;FALL_ENABLED;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-<>;<>;<>;mid=<>;FALL_ENABLED;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-<>;<>;<>;mid=<>;FALL_ENABLED;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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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}],"Tags":[]},{"Id":5830,"Name":"Inactivity Detection Config","TemplateSMS":null,"Template":"APSCMD-001;<>;<>;[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;<>;<>;[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}],"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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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;<>;<>;[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}],"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;<>;<>;[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;<>;<>;[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}],"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}]} \ No newline at end of file