access-ps-app/access-ps-app

1 line
150 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

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

{"Id":256,"Name":null,"Description":null,"FirmwareVersion":"","InProgress":false,"MessageTypes":[{"Id":7877,"Code":"COMM-SET_SOSNUMBER","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;mid=<<count_number>>;SET_SOSNUMBER=<<sosnumber>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;mid=[^;;]*;SET_SOSNUMBER=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":7877,\"Code\":\"COMM-SET_SOSNUMBER\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;SET_SOSNUMBER=<<sosnumber>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;SET_SOSNUMBER=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1741272718},{"Type":1,"NewValue":"{\"Id\":7877,\"Code\":\"COMM-SET_SOSNUMBER\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;SET_SOSNUMBER=<<sosnumber>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;SET_SOSNUMBER=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183702}],"Tags":[]},{"Id":7677,"Code":"COMM-IS_REGISTERED","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;mid=<<count_number>>;IS_REGISTERED=<<userId>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;mid=[^;;]*;IS_REGISTERED=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":7677,\"Code\":\"COMM-IS_REGISTERED\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;mid=<<count_number>>;IS_REGISTERED=<<userId>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;mid=[^;;]*;IS_REGISTERED=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183670}],"Tags":[]},{"Id":7676,"Code":"COMM-SET_USERID","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;mid=<<count_number>>;SET_USERID=<<userId>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;mid=[^;;]*;SET_USERID=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":7676,\"Code\":\"COMM-SET_USERID\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;mid=<<count_number>>;SET_USERID=<<userId>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;mid=[^;;]*;SET_USERID=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183739}],"Tags":[]},{"Id":7675,"Code":"COMM-REGISTER","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;mid=<<count_number>>;REGISTER=<<phoneId>>,<<userId>>,<<phonenumber>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;mid=[^;;]*;REGISTER=[^,;]*,[^,,]*,[^;,]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":7675,\"Code\":\"COMM-REGISTER\",\"Name\":null,\"MessageCode\":\"COMM\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;mid=<<count_number>>;REGISTER=<<phoneId>>,<<userId>>,<<phonenumber>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;mid=[^;;]*;REGISTER=[^,;]*,[^,,]*,[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183686}],"Tags":[]},{"Id":7593,"Code":"ALSOS","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALSOS;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALSOS;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":7593,\"Code\":\"ALSOS\",\"Name\":null,\"MessageCode\":\"ALSOS\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALSOS;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALSOS;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185984},{"Type":1,"NewValue":"{\"Id\":7593,\"Code\":\"ALSOS\",\"Name\":null,\"MessageCode\":\"ALSOS\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALSOS;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALSOS;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214104}],"Tags":[]},{"Id":7592,"Code":"CYC","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CYC;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CYC;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":7592,\"Code\":\"CYC\",\"Name\":null,\"MessageCode\":\"CYC\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CYC;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CYC;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747186003}],"Tags":[]},{"Id":7898,"Code":"ZNI","Name":null,"MessageCode":"ZNI","NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"+RESP:ZIN,<<imei>>,<<zone_name>>,<<latitude>>,<<longitude>>,<<location_accuracy>>,<<location_time>>,<<event_time>>,<<source>>$","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"\\+RESP:ZIN,[^,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^\\$,]*\\$","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7898,\"Code\":\"ZNI\",\"Name\":null,\"MessageCode\":\"ZNI\",\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"+RESP:ZIN,<<imei>>,<<zone_name>>,<<latitude>>,<<longitude>>,<<location_accuracy>>,<<location_time>>,<<event_time>>,<<source>>$\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"\\\\+RESP:ZIN,[^,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^\\\\$,]*\\\\$\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1741959809}],"Tags":[]},{"Id":7899,"Code":"ZNI","Name":null,"MessageCode":"ZNI","NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"+RESP:ZOUT,<<imei>>,<<zone_name>>,<<latitude>>,<<longitude>>,<<location_accuracy>>,<<location_time>>,<<event_time>>,<<source>>$","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"\\+RESP:ZOUT,[^,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^\\$,]*\\$","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7899,\"Code\":\"ZNI\",\"Name\":null,\"MessageCode\":\"ZNI\",\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"+RESP:ZOUT,<<imei>>,<<zone_name>>,<<latitude>>,<<longitude>>,<<location_accuracy>>,<<location_time>>,<<event_time>>,<<source>>$\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"\\\\+RESP:ZOUT,[^,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^\\\\$,]*\\\\$\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1741959833},{"Type":1,"NewValue":"{\"Id\":7899,\"Code\":\"ZNO\",\"Name\":null,\"MessageCode\":\"ZNO\",\"NeedAck\":false,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"+RESP:ZOUT,<<imei>>,<<zone_name>>,<<latitude>>,<<longitude>>,<<location_accuracy>>,<<location_time>>,<<event_time>>,<<source>>$\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"\\\\+RESP:ZOUT,[^,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^\\\\$,]*\\\\$\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1741959860}],"Tags":[]},{"Id":7915,"Code":"CON-LOGIN","Name":null,"MessageCode":"CON","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CON-LOGIN;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CON-LOGIN;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;CON-LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;CON-LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743666904},{"Type":1,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743667018},{"Type":1,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183762},{"Type":1,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1749618551},{"Type":1,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1749618889},{"Type":1,"NewValue":"{\"Id\":7915,\"Code\":\"CON-LOGIN\",\"Name\":null,\"MessageCode\":\"CON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGIN;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGIN;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1749619299}],"Tags":[]},{"Id":7916,"Code":"DISCON-LOGOUT","Name":null,"MessageCode":"DISCON","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGOUT;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGOUT;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7916,\"Code\":\"DISCON-LOGOUT\",\"Name\":null,\"MessageCode\":\"DISCON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGOUT;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGOUT;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743666992},{"Type":1,"NewValue":"{\"Id\":7916,\"Code\":\"DISCON-LOGOUT\",\"Name\":null,\"MessageCode\":\"DISCON\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LOGOUT;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LOGOUT;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185848}],"Tags":[]},{"Id":7917,"Code":"RTL-LIVE_ENABLE","Name":null,"MessageCode":"RTL","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_ENABLE;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_ENABLE;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7917,\"Code\":\"RTL-LIVE_ENABLE\",\"Name\":null,\"MessageCode\":\"RTL\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_ENABLE;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_ENABLE;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743667282},{"Type":1,"NewValue":"{\"Id\":7917,\"Code\":\"RTL-LIVE_ENABLED\",\"Name\":null,\"MessageCode\":\"RTL\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_ENABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_ENABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743667395},{"Type":1,"NewValue":"{\"Id\":7917,\"Code\":\"RTL-LIVE_ENABLED\",\"Name\":null,\"MessageCode\":\"RTL\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_ENABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_ENABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185913},{"Type":1,"NewValue":"{\"Id\":7917,\"Code\":\"LOCN-LIVE_ENABLED\",\"Name\":null,\"MessageCode\":\"LOCN\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_ENABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_ENABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214018}],"Tags":[]},{"Id":7918,"Code":"RTL-LIVE_DISABLED","Name":null,"MessageCode":"RTL","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_DISABLED;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_DISABLED;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7918,\"Code\":\"RTL-LIVE_DISABLED\",\"Name\":null,\"MessageCode\":\"RTL\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_DISABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_DISABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743667342},{"Type":1,"NewValue":"{\"Id\":7918,\"Code\":\"RTL-LIVE_DISABLED\",\"Name\":null,\"MessageCode\":\"RTL\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_DISABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_DISABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185899},{"Type":1,"NewValue":"{\"Id\":7918,\"Code\":\"LOCN-LIVE_DISABLED\",\"Name\":null,\"MessageCode\":\"LOCN\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;LIVE_DISABLED;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;LIVE_DISABLED;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750213991}],"Tags":[]},{"Id":7919,"Code":"INFO-OS_VERSION","Name":null,"MessageCode":"INFO","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;OS_VERSION;OS=<<platform>>,<<version>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;OS_VERSION;OS=[^,;]*,[^;]*;TIME=[^;,]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7919,\"Code\":\"INFO-OS_VERSION\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;OS_VERSION;OS=<<platform>>,<<version>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;OS_VERSION;OS=[^,;]*,[^;]*;TIME=[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743670604},{"Type":1,"NewValue":"{\"Id\":7919,\"Code\":\"INFO-OS_VERSION\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;OS_VERSION;OS=<<device>>,<<platform>>,<<version>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;OS_VERSION;OS=[^,;]*,[^,,]*,[^;]*;TIME=[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743751411},{"Type":1,"NewValue":"{\"Id\":7919,\"Code\":\"INFO-OS_VERSION\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;OS_VERSION;OS=<<device>>,<<platform>>,<<version>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;OS_VERSION;OS=[^,;]*,[^,,]*,[^;]*;TIME=[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185817}],"Tags":[]},{"Id":7920,"Code":"INFO-APP_VERSION","Name":null,"MessageCode":"INFO","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;APP_VERSION;APP=<<device>>,<<platform>>,<<version>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;APP_VERSION;APP=[^,;]*,[^,,]*,[^;]*;TIME=[^;,]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7920,\"Code\":\"INFO-APP_VERSION\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;APP_VERSION;APP=<<device>>,<<platform>>,<<version>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;APP_VERSION;APP=[^,;]*,[^,,]*,[^;]*;TIME=[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743751375},{"Type":1,"NewValue":"{\"Id\":7920,\"Code\":\"INFO-APP_VERSION\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;APP_VERSION;APP=<<device>>,<<platform>>,<<version>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;APP_VERSION;APP=[^,;]*,[^,,]*,[^;]*;TIME=[^;,]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183814}],"Tags":[]},{"Id":7921,"Code":"INFO-NETWORK_INFO","Name":null,"MessageCode":"INFO","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NETWORK_INFO;NETWORK=<<type>>,<<cellularGen>>,<<carrier>>,<<frequency>>,<<signalStrength>>,<<gpsStrength>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NETWORK_INFO;NETWORK=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7921,\"Code\":\"INFO-NETWORK_INFO\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NETWORK_INFO;NETWORK=<<type>>,<<cellularGen>>,<<carrier>>,<<frequency>>,<<signalStrength>>,<<gpsStrength>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NETWORK_INFO;NETWORK=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1743758028},{"Type":1,"NewValue":"{\"Id\":7921,\"Code\":\"INFO-NETWORK_INFO\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;NETWORK_INFO;NETWORK=<<type>>,<<cellularGen>>,<<carrier>>,<<frequency>>,<<signalStrength>>,<<gpsStrength>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;NETWORK_INFO;NETWORK=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747186018}],"Tags":[]},{"Id":7927,"Code":"PWRN","Name":null,"MessageCode":"PWRN","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;POWER_ON;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;POWER_ON;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7927,\"Code\":\"PWRN\",\"Name\":null,\"MessageCode\":\"PWRN\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;POWER_ON;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;POWER_ON;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183225},{"Type":1,"NewValue":"{\"Id\":7927,\"Code\":\"PWRN\",\"Name\":null,\"MessageCode\":\"PWRN\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;POWER_ON;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;POWER_ON;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185881}],"Tags":[]},{"Id":7928,"Code":"PWRF","Name":null,"MessageCode":"PWRF","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;POWER_OFF;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;POWER_OFF;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7928,\"Code\":\"PWRF\",\"Name\":null,\"MessageCode\":\"PWRF\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;POWER_OFF;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;POWER_OFF;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183279},{"Type":1,"NewValue":"{\"Id\":7928,\"Code\":\"PWRF\",\"Name\":null,\"MessageCode\":\"PWRF\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;POWER_OFF;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;POWER_OFF;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185862}],"Tags":[]},{"Id":7929,"Code":"INFO-DEBUG","Name":null,"MessageCode":"INFO","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;DEBUG;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":"","LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":"","ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;DEBUG;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":7929,\"Code\":\"INFO-DEBUG\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;DEBUG;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":\"\",\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":\"\",\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;DEBUG;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747183542},{"Type":1,"NewValue":"{\"Id\":7929,\"Code\":\"INFO-DEBUG\",\"Name\":null,\"MessageCode\":\"INFO\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;DEBUG;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":\"\",\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":true,\"ProtocolsLibraryMethod\":\"\",\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;DEBUG;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747185796}],"Tags":[]},{"Id":8013,"Code":"ACK-CMD","Name":null,"MessageCode":"ACK","NeedAck":false,"IsAck":true,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"ACK-CMD;<<imei>>;<<sequenceNumber>>;OK;","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^ACK-CMD;[^;]*;[^;;]*;OK;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8013,\"Code\":\"ACK-CMD\",\"Name\":null,\"MessageCode\":\"ACK\",\"NeedAck\":false,\"IsAck\":true,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"ACK-CMD;<<imei>>;<<sequenceNumber>>;OK;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":null,\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":false,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^ACK-CMD;[^;]*;[^;;]*;OK;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1749537162}],"Tags":[]},{"Id":8020,"Code":"PBB","Name":null,"MessageCode":"PBB","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;PBB;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;PBB;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8020,\"Code\":\"PBB\",\"Name\":null,\"MessageCode\":\"PBB\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;PBB;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;PBB;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214085}],"Tags":[]},{"Id":8021,"Code":"ALA-O","Name":null,"MessageCode":"ALA-O","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-O;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-O;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8021,\"Code\":\"ALA-O\",\"Name\":null,\"MessageCode\":\"ALA-O\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-O;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-O;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214346}],"Tags":[]},{"Id":8022,"Code":"ALA-C","Name":null,"MessageCode":"ALA-C","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-C;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-C;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8022,\"Code\":\"ALA-C\",\"Name\":null,\"MessageCode\":\"ALA-C\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-C;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-C;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214419}],"Tags":[]},{"Id":8023,"Code":"ALA-S","Name":null,"MessageCode":"ALA-S","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-S;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-S;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8023,\"Code\":\"ALA-S\",\"Name\":null,\"MessageCode\":\"ALA-S\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA-S;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA-S;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214484}],"Tags":[]},{"Id":8024,"Code":"ALA","Name":null,"MessageCode":"ALA","NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<<count_number>>;OK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":8024,\"Code\":\"ALA\",\"Name\":null,\"MessageCode\":\"ALA\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":0,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214619},{"Type":1,"NewValue":"{\"Id\":8024,\"Code\":\"ALA\",\"Name\":null,\"MessageCode\":\"ALA\",\"NeedAck\":true,\"IsAck\":false,\"IsFailAck\":false,\"IsAckHexString\":false,\"NoOperation\":false,\"Type\":1,\"Template\":\"APS-<<version>>;<<imei>>;<<userId>>;mid=<<count_number>>;ALA;LOTH=<<latitude>>,<<longitude>>,<<location_accuracy>>,<<altitude>>,<<location_time>>;BATP=<<battery_percentage>>;TIME=<<event_time>>;\",\"HasTemplateGlobal\":false,\"ResponseTemplate\":\"ACK-MSG;<<count_number>>;OK;\",\"TemplateGlobal\":null,\"LongConnection\":false,\"HexString\":false,\"AckFirst\":true,\"ScaipH\":false,\"DoNotSendCommands\":false,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^APS-[^;]*;[^;;]*;[^;;]*;mid=[^;;]*;ALA;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;BATP=[^;;]*;TIME=[^;;]*;\",\"RegExGlobal\":\"\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1750214680}],"Tags":[]}],"Commands":[{"Id":5719,"Name":"SOS Number","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"SOSN=\" + params.AlertSettings.SOSNumber.replace(\"(\", \"\").replace(\")\", \"\");\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\nconst _crypto = require('crypto');\nvar password = params.Password.Password;\nif (password === \"\") {\n var part2 = command;\n} else {\n var part2 = \"enc=\" + encrypt(command, part1, password);\n}\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n\nfunction encrypt(text, mid, password) {\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n const iv = _crypto.randomBytes(16); // random initialization vector\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n // set the cipher\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n // encrypt text\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n // generate output ( encrypted text )\n return Buffer.concat([iv, encrypted]).toString('base64');\n}","CommandToUpdate":null,"Parent":null,"AvoidResending":false,"FollowParentSentType":false,"SendingType":0,"HasAck":true,"HexString":false,"Order":null,"SendAttempts":8,"ProtocolActionObjects":[{"Type":0,"NewValue":"{\"Id\":5719,\"Name\":\"SOS Number\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"SOSN=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\nconst _crypto = require('crypto');\\nvar password = params.Password.Password;\\nif (password === \\\"\\\") {\\n var part2 = command;\\n} else {\\n var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n}\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":0,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":8,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747192387},{"Type":1,"NewValue":"{\"Id\":5719,\"Name\":\"SOS Number\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"SOSN=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\nconst _crypto = require('crypto');\\nvar password = params.Password.Password;\\nif (password === \\\"\\\") {\\n var part2 = command;\\n} else {\\n var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n}\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":8,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1747192811},{"Type":1,"NewValue":"{\"Id\":5719,\"Name\":\"SOS Number\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"SOSN=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\n// const _crypto = require('crypto');\\n// var password = params.Password.Password;\\n// if (password === \\\"\\\") {\\nvar part2 = command;\\n// } else {\\n// var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n// }\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n// function encrypt(text, mid, password) {\\n// var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n// const iv = _crypto.randomBytes(16); // random initialization vector\\n// const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n// // set the cipher\\n// const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n// // encrypt text\\n// const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n// // generate output ( encrypted text )\\n// return Buffer.concat([iv, encrypted]).toString('base64');\\n// }\",\"CommandToUpdate\":null,\"Parent\":null,\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"HasAck\":true,\"HexString\":false,\"Order\":null,\"SendAttempts\":8,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1748942103}],"Tags":[]}],"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":[]}],"GroupParams":[{"Id":11877,"Group":{"Id":7043,"Name":"Config","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7041,"Name":"Admin","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7310,"Name":"Alert Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"UserId","Json":"{\"name\":\"UserId\",\"default\":\"\",\"description\":\"The latest User ID using this device.\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12270,"Group":{"Id":7310,"Name":"Alert Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7041,"Name":"Admin","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7043,"Name":"Config","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"SOS Number","Json":"{\"name\":\"SOS Number\",\"default\":\"\",\"description\":\"SOS number\",\"type\":\"phone\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":true,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"The number called when the Alert button is pushed on the device (typically the ARC)\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":12270,\"Group\":{\"Id\":7310,\"Name\":\"Alert Settings\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"SOS Number\",\"Json\":\"{\\\"name\\\":\\\"SOS Number\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"SOS number\\\",\\\"type\\\":\\\"text\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":true,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"The number called when the Alert button is pushed on the device (typically the ARC)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1741189055},{"Type":1,"NewValue":"{\"Id\":12270,\"Group\":{\"Id\":7310,\"Name\":\"Alert Settings\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"SOS Number\",\"Json\":\"{\\\"name\\\":\\\"SOS Number\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"SOS number\\\",\\\"type\\\":\\\"text\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"The number called when the Alert button is pushed on the device (typically the ARC)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1748925810},{"Type":1,"NewValue":"{\"Id\":12270,\"Group\":{\"Id\":7310,\"Name\":\"Alert Settings\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"SOS Number\",\"Json\":\"{\\\"name\\\":\\\"SOS Number\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"SOS number\\\",\\\"type\\\":\\\"text\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"The number called when the Alert button is pushed on the device (typically the ARC)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":null,\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1748941964},{"Type":0,"NewValue":"{\"Id\":12270,\"Group\":{\"Id\":7310,\"Name\":\"Alert Settings\",\"Json\":{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]},\"Parent\":null,\"Device\":null,\"DeviceRelated\":false,\"IsList\":false,\"IsAdminOnly\":false,\"Deleted\":false,\"Children\":[]},\"Name\":\"SOS Number\",\"Json\":\"{\\\"name\\\":\\\"SOS Number\\\",\\\"default\\\":\\\"\\\",\\\"description\\\":\\\"SOS number\\\",\\\"type\\\":\\\"text\\\",\\\"suffix\\\":null,\\\"prefix\\\":null,\\\"min\\\":null,\\\"max\\\":null,\\\"futureOnly\\\":false,\\\"integerOnly\\\":false,\\\"isReadOnly\\\":false,\\\"isHidden\\\":false,\\\"minLength\\\":null,\\\"maxLength\\\":null,\\\"helpText\\\":\\\"The number called when the Alert button is pushed on the device (typically the ARC)\\\",\\\"options\\\":[],\\\"toTranslate\\\":[\\\"name\\\",\\\"description\\\",\\\"helpText\\\"]}\",\"Default\":\"\",\"Command\":{\"Id\":5719,\"Protocol\":{\"Id\":256,\"Code\":\"Access PS App\",\"Version\":\"0.6\",\"FirmwareVersion\":\"\",\"Product\":null,\"AvailableVersions\":[],\"HistoryVersions\":[],\"IsChanged\":true},\"Name\":\"SOS Number\",\"TemplateSMS\":null,\"Template\":\"APSCMD-001;<<part1>>;<<part2>>;[0a]\",\"AckTemplate\":null,\"Operation\":\"var command = \\\"SOSN=\\\" + params.AlertSettings.SOSNumber.replace(\\\"(\\\", \\\"\\\").replace(\\\")\\\", \\\"\\\");\\nvar configs = [];\\nsequenceNumber = (new Date().getTime()).toString(36);\\nvar part1 = \\\"update=\\\" + sequenceNumber;\\nconst _crypto = require('crypto');\\nvar password = params.Password.Password;\\nif (password === \\\"\\\") {\\n var part2 = command;\\n} else {\\n var part2 = \\\"enc=\\\" + encrypt(command, part1, password);\\n}\\nAddValue(\\\"part1\\\", part1);\\nAddValue(\\\"part2\\\", part2);\\nAddValue(\\\"sequenceNumber\\\", sequenceNumber);\\nvar commandConfigs = {\\n template: \\\"main\\\",\\n configs: configs,\\n};\\nmsg.push(JSON.stringify(commandConfigs));\\n\\nfunction AddValue(p1, p2) {\\n var cvpair = {\\n code: p1,\\n value: p2\\n };\\n configs.push(cvpair);\\n}\\n\\nfunction encrypt(text, mid, password) {\\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\\n const iv = _crypto.randomBytes(16); // random initialization vector\\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\\n // set the cipher\\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\\n // encrypt text\\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\\n // generate output ( encrypted text )\\n return Buffer.concat([iv, encrypted]).toString('base64');\\n}\",\"AvoidResending\":false,\"FollowParentSentType\":false,\"SendingType\":3,\"CommandToUpdateId\":null,\"ParentId\":null,\"Parent\":null,\"HasAck\":true,\"HexString\":false,\"SendAttempts\":8,\"Order\":null},\"ProtocolActionObjects\":[],\"LanguageId\":null,\"Tags\":[]}","Timestamp":1748941969}],"LanguageId":null,"Tags":[]},{"Id":12270,"Group":{"Id":7310,"Name":"Alert Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"SOS Number","Json":"{\"name\":\"SOS Number\",\"default\":\"\",\"description\":\"SOS number\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"The number called when the Alert button is pushed on the device (typically the ARC)\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":{"Id":5719,"Protocol":{"Id":256,"Code":"Access PS App","Version":"0.6","FirmwareVersion":"","Product":null,"AvailableVersions":[],"HistoryVersions":[],"IsChanged":true},"Name":"SOS Number","TemplateSMS":null,"Template":"APSCMD-001;<<part1>>;<<part2>>;[0a]","AckTemplate":null,"Operation":"var command = \"SOSN=\" + params.AlertSettings.SOSNumber.replace(\"(\", \"\").replace(\")\", \"\");\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\nconst _crypto = require('crypto');\nvar password = params.Password.Password;\nif (password === \"\") {\n var part2 = command;\n} else {\n var part2 = \"enc=\" + encrypt(command, part1, password);\n}\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n configs.push(cvpair);\n}\n\nfunction encrypt(text, mid, password) {\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n const iv = _crypto.randomBytes(16); // random initialization vector\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n // set the cipher\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\n // encrypt text\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\n // generate output ( encrypted text )\n return Buffer.concat([iv, encrypted]).toString('base64');\n}","AvoidResending":false,"FollowParentSentType":false,"SendingType":3,"CommandToUpdateId":null,"ParentId":null,"Parent":null,"HasAck":true,"HexString":false,"SendAttempts":8,"Order":null},"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]}],"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}],"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}]}