From b8e79a67dbbf0cfda3b86e77ba665a3261507424 Mon Sep 17 00:00:00 2001 From: oysta_admin Date: Wed, 14 Oct 2026 13:19:22 +0000 Subject: [PATCH] initial commit - same as dv --- access-dv-aggressor | 1 + 1 file changed, 1 insertion(+) create mode 100644 access-dv-aggressor diff --git a/access-dv-aggressor b/access-dv-aggressor new file mode 100644 index 0000000..f7505ca --- /dev/null +++ b/access-dv-aggressor @@ -0,0 +1 @@ +{"Id":360,"Name":null,"Description":null,"FirmwareVersion":"","InProgress":true,"MessageTypes":[{"Id":8503,"Code":"INFO-GETPWB","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;GETPWB=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-PW;<>;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;GETPWB=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8504,"Code":"error","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":true,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"ACK-CMD;<>;<>;ERR;<>;","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^ACK-CMD;[^;]*;[^;;]*;ERR;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8505,"Code":"received","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":true,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"ACK-CMD;<>;<>;RCVD;","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":true,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^ACK-CMD;[^;]*;[^;;]*;RCVD;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8506,"Code":"MACB","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;MACB=<>,<>;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;MACB=[^,;]*,[^;,]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8507,"Code":"completed","Name":"ACK command","MessageCode":null,"NeedAck":false,"IsAck":true,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"ACK-CMD;<>;<>;OK;","HasTemplateGlobal":false,"ResponseTemplate":null,"TemplateGlobal":null,"LongConnection":true,"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":[]},{"Id":8508,"Code":"ENC","Name":"Encrypted","MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;enc=<>;$$","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;enc=[^;;]*;$","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8509,"Code":"PWRF","Name":"Power off","MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;PWRF;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;PWRF;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8510,"Code":"PWRN","Name":"Power on","MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;PWRN;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;PWRN;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8511,"Code":"BATCN","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;BATCN;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;BATCN;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8512,"Code":"BATCF","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;BATCF;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;BATCF;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8513,"Code":"BATL","Name":"Battery Low","MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;BATL;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":"","LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;BATL;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8514,"Code":"NACT","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"+RESP:NACT,<>,<>$","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:NACT,[^,]*,[^\\$,]*\\$","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8515,"Code":"DISCONB","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":2,"Template":"DVA-<>;<>;mid=<>;DISCONB;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;DISCONB;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8516,"Code":"IS_ACTIVATED","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;IS_ACTIVATED;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;IS_ACTIVATED;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8517,"Code":"ATEMPB","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"DVA-<>;<>;mid=<>;ATEMPB;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;ATEMPB;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8518,"Code":"ALNMB","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"DVA-<>;<>;mid=<>;ALNMB;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;ALNMB;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8519,"Code":"BATLB","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;BATLB;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;BATLB;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8520,"Code":"COMM","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"<<->>DVA-001-Invent<<->>\"Imei\":\"<>\",<<->>","HasTemplateGlobal":false,"ResponseTemplate":"OK","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^[^ ]*DVA-001-Invent[^ ]*\"Imei\":\"[^\"]*\",[^ ]*","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8521,"Code":"REGISTER","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;REGISTER=<>,<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;REGISTER=[^,;]*,[^;,]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8522,"Code":"CREATE","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;CREATE=<>,<>,<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;CREATE=[^,;]*,[^,,]*,[^;,]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8523,"Code":"COMM","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"<<->>\"Imei\":\"<>\"<<->>","HasTemplateGlobal":false,"ResponseTemplate":"OK","TemplateGlobal":"<<->>VGV-001-Invent<<->>","LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^[^ ]*\"Imei\":\"[^\"]*\"[^ ]*","RegExGlobal":"^[^ ]*VGV-001-Invent[^ ]*","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8524,"Code":"CONNB","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;CONNB;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;CONNB;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8525,"Code":"ALLDATA","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;ALLDATA=<>;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;ALLDATA=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8526,"Code":"CYC2","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":true,"Type":0,"Template":"DVA-<>;<>;mid=<>;CYC2;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIMEPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;CYC2;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIMEPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8527,"Code":"CYC","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":true,"Type":0,"Template":"DVA-<>;<>;mid=<>;CYC;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;CYC;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8528,"Code":"ALTAM","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"DVA-<>;<>;mid=<>;ALTAM;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;ALTAM;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8529,"Code":"ALNM","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"DVA-<>;<>;mid=<>;ALNM;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;ALNM;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8530,"Code":"BATE","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":2,"Template":"DVA-<>;<>;mid=<>;BATE;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;BATE;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8531,"Code":"BATEB","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":2,"Template":"DVA-<>;<>;mid=<>;BATEB;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;BATEB;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":8532,"Code":"NOTEREAD","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"DVA-<>;<>;mid=<>;NOTEREAD=<>;LOTH=<>,<>,<>,<>,<>,<>;NET=<>;BATP=<>;BATPB=<>;TEMPB=<>;TIME=<>;","HasTemplateGlobal":false,"ResponseTemplate":"ACK-MSG;<>;OK;[0a]","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":true,"ScaipH":false,"DoNotSendCommands":true,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^DVA-[^;]*;[^;;]*;mid=[^;;]*;NOTEREAD=[^;;]*;LOTH=[^,;]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^;,]*;NET=[^;;]*;BATP=[^;;]*;BATPB=[^;;]*;TEMPB=[^;;]*;TIME=[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]}],"Commands":[{"Id":5934,"Name":"Reset Device","TemplateSMS":"","Template":"VGCMD-001;<>;<>;","AckTemplate":null,"Operation":"var configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\nvar command = \"RESET\";\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":2,"HasAck":true,"HexString":false,"Order":null,"SendAttempts":1,"ProtocolActionObjects":[],"Tags":[]},{"Id":5935,"Name":"Set Server","TemplateSMS":"","Template":"VGCMD-001;<>;<>;","AckTemplate":null,"Operation":"var configs = [];\r\nsequenceNumber = (new Date().getTime()).toString(36);\r\nvar part1 = \"update=\" + sequenceNumber;\r\nvar command = \"IP=\" + params.SetServer.SetPrimaryServer + ',' + params.SetServer.SetSecondaryServer;\r\nconst _crypto = require('crypto');\r\nvar password = params.Password.Password;\r\nif (password === \"\") {\r\n var part2 = command;\r\n} else {\r\n var part2 = \"enc=\" + encrypt(command, part1, password);\r\n}\r\nAddValue(\"part1\", part1);\r\nAddValue(\"part2\", part2);\r\nAddValue(\"sequenceNumber\", sequenceNumber);\r\nvar commandConfigs = {\r\n template: \"main\",\r\n configs: configs\r\n};\r\nmsg.push(JSON.stringify(commandConfigs));\r\n\r\nfunction AddValue(p1, p2) {\r\n var cvpair = {\r\n code: p1,\r\n value: p2\r\n };\r\n configs.push(cvpair);\r\n}\r\n\r\nfunction encrypt(text, mid, password) {\r\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\r\n const iv = _crypto.randomBytes(16); // random initialization vector\r\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\r\n // set the cipher\r\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\r\n // encrypt text\r\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\r\n // generate output ( encrypted text )\r\n return Buffer.concat([iv, encrypted]).toString('base64');\r\n}","CommandToUpdate":null,"Parent":null,"AvoidResending":false,"FollowParentSentType":false,"SendingType":2,"HasAck":true,"HexString":false,"Order":null,"SendAttempts":1,"ProtocolActionObjects":[],"Tags":[]},{"Id":5913,"Name":"Set Bracelet Password","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"var command = \"BRAPW=\" + params.Password.BraceletPW;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5914,"Name":"Reset Bracelet","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"let command = \"RESETB\";\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5915,"Name":"SetTemp Bracelet","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"let command = \"TEMPBC=\" + params.Bracelet.LowTemp + \",\" + params.Bracelet.HighTemp;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5916,"Name":"SetBLEParam Bracelet","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"let command = \"BLEPAR=\" + params.Bracelet.BLEParam;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5917,"Name":"Set Password","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"var command = \"PW=\" + params.Password.Password;\nvar configs = [];\nvar configsSMS = []; // for sms template\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\nconst _crypto = require('crypto');\n// always use IMEI for encryption\nvar password = serverParams.Imei;\nvar part2 = \"enc=\" + encrypt(command, part1, password);\nAddValue(\"part1\", part1);\nAddValue(\"part2\", part2);\nAddValue(\"sequenceNumber\", sequenceNumber);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5918,"Name":"Set RTLog Enable","TemplateSMS":"VGCMD-001;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"// write your code here...\nif (params.DeviceConfig.EnableLogging == \"true\") {\n enableLogging = \"1\";\n} else {\n enableLogging = \"0\";\n}\nvar command = \"RTLOG=\" + enableLogging;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.push(cvpair);\n}\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":1,"ProtocolActionObjects":[],"Tags":[]},{"Id":5919,"Name":"Battery Low Alert Setting","TemplateSMS":"VGCMD-001;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"if (params.Batteryalerts.EnableBatteryLowAlert == \"true\") {\n endis = 1;\n} else {\n endis = \"0\";\n}\nvar command = \"BATAL=\" + endis + \",\" + params.Batteryalerts.BatteryLowThreshold;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.push(cvpair);\n}\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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5920,"Name":"SetCommonParam Bracelet","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"let command = \"COMPAR=\" + params.Bracelet.CommonParam;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5921,"Name":"RequestData","TemplateSMS":"VGCMD-001;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"var configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\nvar command = \"REQDATA\";\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":1,"ProtocolActionObjects":[],"Tags":[]},{"Id":5922,"Name":"PowerOff Bracelet","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"let command = \"PWRFB\";\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5923,"Name":"Device Activated","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"var command = \"ACTIVATED_FAIL=Unkonwn Failure.\";\nif (params.DeviceConfig.IVActivated == \"true\") {\n command = \"ACTIVATED_OK\";\n} else {\n command = \"ACTIVATED_FAIL=\" + params.DeviceConfig.IVActivatedFailMessage;\n}\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":4,"ProtocolActionObjects":[],"Tags":[]},{"Id":5924,"Name":"SetLTEParam Bracelet","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"let command = \"LTEPAR=\" + params.Bracelet.LTEParam;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5925,"Name":"SetBattery Bracelet","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"let command = \"BATBC=\" + params.Bracelet.LowBattery + \",\" + params.Bracelet.CriticalBattery;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5926,"Name":"Set Config Enable","TemplateSMS":"VGCMD-001;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"// write your code here...\nif (params.DeviceConfig.ConfigMode == \"true\") {\n enableConfig = 1;\n} else {\n enableConfig = \"0\";\n}\nvar command = \"CONFIG=\" + enableConfig;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.push(cvpair);\n}\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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5927,"Name":"ClearBuffer","TemplateSMS":"VGCMD-001;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"var configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\nvar command = \"CLRBUF\";\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":1,"ProtocolActionObjects":[],"Tags":[]},{"Id":5928,"Name":"Send Notification","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"var command = \"NOTE=\" + params.Note.Message;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5929,"Name":"NonMovement","TemplateSMS":"VGCMD-001;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"if (params.NonMovement.EnableDisableNonMovement == \"true\") {\n var state = 1;\n} else {\n var state = \"0\";\n}\nvar command = \"ALNM=\" + state + \",\" + params.NonMovement.period;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5931,"Name":"RequestLog","TemplateSMS":"VGCMD-001;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"var configs = [];\nvar starttimestr = params.DeviceConfig.StartTimeLog;\nvar starttimedate = new Date(starttimestr);\nstarttimeInt = starttimedate.getTime() / 1000;\nif (isNaN(starttimeInt)) {\n starttimeInt = '';\n}\nvar endtimestr = params.DeviceConfig.EndTimeLog;\nvar endtimedate = new Date(endtimestr);\nendtimeInt = endtimedate.getTime() / 1000;\nif (isNaN(endtimeInt)) {\n endtimeInt = '';\n}\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"update=\" + sequenceNumber;\nvar command = \"REQLOG=\" + starttimeInt + \",\" + endtimeInt;\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":1,"ProtocolActionObjects":[],"Tags":[]},{"Id":5932,"Name":"Reboot Bracelet","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"let command = \"REBOOTB\";\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5933,"Name":"Battery Critical Alert Setting","TemplateSMS":"VGCMD-001;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"// write your code here...\nif (params.Batteryalerts.EnableBatteryCriticalAlert == \"true\") {\n endis = 1;\n} else {\n endis = \"0\";\n}\nvar command = \"BATAC=\" + endis + \",\" + params.Batteryalerts.BatteryCriticalThreshold;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.push(cvpair);\n}\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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5936,"Name":"SetCloudParam Bracelet","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"let command = \"CLDPAR=\" + params.Bracelet.CloudParam;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\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 AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5937,"Name":"Battery Charging Alert","TemplateSMS":"VGCMD-001;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"// write your code here...\nif (params.Batteryalerts.EnableBatteryChargingAlerts == \"true\") {\n batCharging = 1;\n} else {\n batCharging = \"0\";\n}\nvar command = \"BATC=\" + batCharging;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.push(cvpair);\n}\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":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5938,"Name":"Set Location Period","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"let command = \"LOCPRDB=\" + params.Bracelet.LocationPeriod;\r\nvar configs = [];\r\nvar configsSMS = []; // for sms template \r\nsequenceNumber = (new Date().getTime()).toString(36);\r\nvar part1 = \"update=\" + sequenceNumber;\r\nconst _crypto = require('crypto');\r\nvar password = params.Password.Password;\r\nif (password === \"\") {\r\n var part2 = command;\r\n} else {\r\n var part2 = \"enc=\" + encrypt(command, part1, password);\r\n}\r\nAddValue(\"part1\", part1);\r\nAddValue(\"part2\", part2);\r\nAddValue(\"sequenceNumber\", sequenceNumber);\r\nAddValueSMS(\"part1\", part1); //for sms template \r\nAddValueSMS(\"part2\", part2); // for sms template \r\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template \r\nvar commandConfigs = {\r\n template: \"main\",\r\n configs: configs,\r\n configsSMS: configsSMS //for sms template \r\n};\r\nmsg.push(JSON.stringify(commandConfigs));\r\n\r\nfunction AddValue(p1, p2) {\r\n var cvpair = {\r\n code: p1,\r\n value: p2\r\n };\r\n configs.push(cvpair);\r\n}\r\n\r\nfunction AddValueSMS(p1, p2) { //function for sms template \r\n var cvpair = {\r\n code: p1,\r\n value: p2\r\n };\r\n configsSMS.push(cvpair);\r\n}\r\n\r\nfunction encrypt(text, mid, password) {\r\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\r\n const iv = _crypto.randomBytes(16); // random initialization vector \r\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\r\n // set the cipher \r\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\r\n // encrypt text \r\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\r\n // generate output ( encrypted text ) \r\n return Buffer.concat([iv, encrypted]).toString('base64');\r\n}","CommandToUpdate":null,"Parent":null,"AvoidResending":false,"FollowParentSentType":false,"SendingType":0,"HasAck":true,"HexString":false,"Order":null,"SendAttempts":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5939,"Name":"Check Bracelet Firmware","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"var command = \"CHKFRMB\";\r\nvar configs = [];\r\nsequenceNumber = (new Date().getTime()).toString(36);\r\nvar part1 = \"request=\" + sequenceNumber;\r\nconst _crypto = require('crypto');\r\nvar password = params.Password.Password;\r\nif (password === \"\") {\r\n var part2 = command;\r\n} else {\r\n var part2 = \"enc=\" + encrypt(command, part1, password);\r\n}\r\nAddValue(\"part1\", part1);\r\nAddValue(\"part2\", part2);\r\nAddValue(\"sequenceNumber\", sequenceNumber);\r\nvar commandConfigs = {\r\n template: \"main\",\r\n configs: configs\r\n};\r\nmsg.push(JSON.stringify(commandConfigs));\r\n\r\nfunction AddValue(p1, p2) {\r\n var cvpair = {\r\n code: p1,\r\n value: p2\r\n };\r\n configs.push(cvpair);\r\n}\r\n\r\nfunction encrypt(text, mid, password) {\r\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\r\n const iv = _crypto.randomBytes(16); // random initialization vector \r\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\r\n // set the cipher \r\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\r\n // encrypt text \r\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\r\n // generate output ( encrypted text ) \r\n return Buffer.concat([iv, encrypted]).toString('base64');\r\n}","CommandToUpdate":null,"Parent":null,"AvoidResending":false,"FollowParentSentType":false,"SendingType":0,"HasAck":true,"HexString":false,"Order":null,"SendAttempts":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5940,"Name":"Set Continuous Locate","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"if (params.Bracelet.EnableContinuousLocate == \"true\") {\r\n var state = 1;\r\n} else {\r\n var state = \"0\";\r\n}\r\nvar command = \"POSNB=\" + state + \",\" + params.Bracelet.ContinuousLocateDuration;\r\nvar configs = [];\r\nvar configsSMS = []; // for sms template \r\nsequenceNumber = (new Date().getTime()).toString(36);\r\nvar part1 = \"update=\" + sequenceNumber;\r\nconst _crypto = require('crypto');\r\nvar password = params.Password.Password;\r\nif (password === \"\") {\r\n var part2 = command;\r\n} else {\r\n var part2 = \"enc=\" + encrypt(command, part1, password);\r\n}\r\nAddValue(\"part1\", part1);\r\nAddValue(\"part2\", part2);\r\nAddValue(\"sequenceNumber\", sequenceNumber);\r\nAddValueSMS(\"part1\", part1); //for sms template \r\nAddValueSMS(\"part2\", part2); // for sms template \r\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template \r\nvar commandConfigs = {\r\n template: \"main\",\r\n configs: configs,\r\n configsSMS: configsSMS //for sms template \r\n};\r\nmsg.push(JSON.stringify(commandConfigs));\r\n\r\nfunction AddValue(p1, p2) {\r\n var cvpair = {\r\n code: p1,\r\n value: p2\r\n };\r\n configs.push(cvpair);\r\n}\r\n\r\nfunction AddValueSMS(p1, p2) { //function for sms template \r\n var cvpair = {\r\n code: p1,\r\n value: p2\r\n };\r\n configsSMS.push(cvpair);\r\n}\r\n\r\nfunction encrypt(text, mid, password) {\r\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\r\n const iv = _crypto.randomBytes(16); // random initialization vector \r\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\r\n // set the cipher \r\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\r\n // encrypt text \r\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\r\n // generate output ( encrypted text ) \r\n return Buffer.concat([iv, encrypted]).toString('base64');\r\n}","CommandToUpdate":null,"Parent":null,"AvoidResending":false,"FollowParentSentType":false,"SendingType":0,"HasAck":true,"HexString":false,"Order":null,"SendAttempts":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5941,"Name":"Rollback Bracelet Firmware","TemplateSMS":"OCA-CMD;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"var command = \"ROLLBACKFIRMB\";\r\nvar configs = [];\r\nsequenceNumber = (new Date().getTime()).toString(36);\r\nvar part1 = \"update=\" + sequenceNumber;\r\nconst _crypto = require('crypto');\r\nvar password = params.Password.Password;\r\nif (password === \"\") {\r\n var part2 = command;\r\n} else {\r\n var part2 = \"enc=\" + encrypt(command, part1, password);\r\n}\r\nAddValue(\"part1\", part1);\r\nAddValue(\"part2\", part2);\r\nAddValue(\"sequenceNumber\", sequenceNumber);\r\nvar commandConfigs = {\r\n template: \"main\",\r\n configs: configs\r\n};\r\nmsg.push(JSON.stringify(commandConfigs));\r\n\r\nfunction AddValue(p1, p2) {\r\n var cvpair = {\r\n code: p1,\r\n value: p2\r\n };\r\n configs.push(cvpair);\r\n}\r\n\r\nfunction encrypt(text, mid, password) {\r\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\r\n const iv = _crypto.randomBytes(16); // random initialization vector \r\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\r\n // set the cipher \r\n const cipher = _crypto.createCipheriv('aes-256-cbc', key, iv);\r\n // encrypt text \r\n const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);\r\n // generate output ( encrypted text ) \r\n return Buffer.concat([iv, encrypted]).toString('base64');\r\n}","CommandToUpdate":null,"Parent":null,"AvoidResending":false,"FollowParentSentType":false,"SendingType":0,"HasAck":true,"HexString":false,"Order":null,"SendAttempts":2,"ProtocolActionObjects":[],"Tags":[]},{"Id":5942,"Name":"Real Time Locate","TemplateSMS":"VGCMD-001;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"var command = \"POSN\";\nvar configs = [];\nsequenceNumber = (new Date().getTime()).toString(36);\nvar part1 = \"request=\" + 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":1,"ProtocolActionObjects":[],"Tags":[]},{"Id":5930,"Name":"Cycle Interval","TemplateSMS":"VGCMD-001;<>;<>;","Template":"VGCMD-001;<>;<>;[0a]","AckTemplate":null,"Operation":"var command = \"CYCCONFIG=\" + params.CycleInterval.CycleInterval;\nvar configs = [];\nvar configsSMS = []; // for sms template\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);\nAddValueSMS(\"part1\", part1); //for sms template\nAddValueSMS(\"part2\", part2); // for sms template\nAddValueSMS(\"sequenceNumber\", sequenceNumber); // for sms template\nvar commandConfigs = {\n template: \"main\",\n configs: configs,\n configsSMS: configsSMS //for sms template\n};\nmsg.push(JSON.stringify(commandConfigs));\n\nfunction AddValueSMS(p1, p2) { //function for sms template\n var cvpair = {\n code: p1,\n value: p2\n };\n configsSMS.push(cvpair);\n}\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":2,"ProtocolActionObjects":[],"Tags":[]}],"Operations":[{"Id":458,"Name":"VGA","Operation":"function execute_ops(moment, msg, params, rawFromBytes, raw, oystaTemplate, globalTemplate, arrays, commandsToExecute, serverParams, messageTypeCode, messageTypeLocalCode, messageTypeName, configs, configIds, commandsWaiting, localTesting) {\n // Define array to push device data into. This will be put into the msg array at the end.\n var deviceParams = [];\n var configsToSend = [];\n var tasks = [];\n var keyValueQuery = undefined;\n const _crypto = require('crypto');\n // handle ACK\n if (messageTypeCode == \"ACK\") {\n return \"\";\n }\n if (params.encrypted_data) { // encrypted data so needs decrypting\n var password;\n if (params.imei == \"null\") {\n return msg;\n }\n password = params.imei;\n if (configs.Password.Password === \"\") {\n // use imei as default password when not specified\n } else {\n // use the password\n password = configs.Password.Password\n }\n let message = decrypt(raw, password);\n if (message) {\n // send message internally\n sendMessageToLocalhost(message);\n let ack = \"ACK-MSG;\" + params.count_number + \";OK;\\n\"\n AddValue(\"ack\", ack);\n } else {\n ack = \"unknown message\" + \" - \" + serverParams.imei + \" --- \" + raw;\n AddValue(\"ack\", ack);\n }\n } else { // General Oysta Template\n switch (messageTypeLocalCode) {\n case (\"COMM\"):\n process_invent_msg(); //incoming invent commands\n break;\n case (\"MACB\"):\n AddConfig(configIds.DeviceConfig.BRAMAC, params.bracelet_mac);\n AddConfig(configIds.DeviceConfig.braceletIMEI, params.bracelet_imei);\n add_params_to_output();\n break;\n case \"INFO-GETPWB\": // handle GETPWB message\n let devicekey = params.bracelet_mac;\n keyValueQuery = {\n key: devicekey, // key to be lookded up\n type: \"Bracelet\", // type of the key\n template: \"password\" // the variable the result will be mapped to\n };\n break;\n case (\"REGISTER\"):\n let ble_mac = params.ble_mac;\n let iccid = params.iccid;\n // write values to readonly settings\n AddConfig(configIds.DeviceConfig.BLEMAC, ble_mac);\n AddConfig(configIds.DeviceConfig.ICCID, iccid);\n // will automtaically Activate on Acceptance\n if (serverParams.EnvName) {\n if (serverParams.EnvName === \"acceptance\") {\n AddConfig(configIds.DeviceConfig.IVActivated, 'true')\n }\n }\n break;\n case (\"CREATE\"):\n // temp fix to filter old messages\n // const cutoff = 1707523200000; //10.2.2024\n // let message_id_time = parseInt(params.count_number, 36);\n // if (message_id_time > cutoff){\n let c_ble_mac = params.ble_mac;\n let c_iccid = params.iccid;\n let new_imei = params.new_imei;\n let c_message = \"DVA-001;\" + new_imei + \";mid=\" + params.count_number + \";REGISTER=\" + c_ble_mac + \",\" + c_iccid + \";\";\n // sendMessageToLocalhost(c_message); \n tasks = [{\n \"name\": \"DVA\" + new_imei,\n \"option\": \"sync\",\n \"type\": \"createDevice\",\n \"payload\": JSON.stringify({\n \"name\": \"DVA\" + new_imei,\n \"imei\": new_imei,\n \"abortOnError\": false,\n \"init\": true\n }),\n \"order\": 1\n }, {\n \"name\": \"Create DVA\" + new_imei,\n \"option\": \"async\",\n \"type\": \"sendMessage\",\n \"payload\": JSON.stringify({\n \"message\": c_message\n }),\n \"order\": 2\n }]\n // }\n break;\n case (\"ALLDATA\"):\n // InterlliCare converts \" to ' when parsing, so convert back\n let json_str = changeSingleQuoteToDouble(params.all_data);\n let all_data = JSON.parse(json_str);\n if (\"version\" in all_data) {\n AddConfig(configIds.DeviceConfig.Version, all_data.version);\n };\n if (\"backgroundLocation\" in all_data) {\n AddConfig(configIds.DeviceConfig.BackgroundLocation, all_data.backgroundLocation);\n };\n if (\"coarseLocation\" in all_data) {\n AddConfig(configIds.DeviceConfig.CoarseLocation, all_data.coarseLocation);\n };\n if (\"fineLocation\" in all_data) {\n AddConfig(configIds.DeviceConfig.FineLocation, all_data.fineLocation);\n };\n if (\"restarts\" in all_data) {\n AddConfig(configIds.DeviceConfig.Restarts, all_data.restarts);\n };\n if (\"mtbr\" in all_data) {\n AddConfig(configIds.DeviceConfig.MTBR, moment.unix(all_data.mtbr).utc().format(\"HH:mm:ss\"));\n };\n break;\n default:\n // all other general messages\n // Generate location_accuracy based on raw_accuracy - currently no conversion\n add_params_to_output();\n }\n // add messagetTypeLocal to output for templates\n AddValue('local_message_type', messageTypeLocalCode);\n }\n var msg = {\n 'values': deviceParams,\n };\n if (configsToSend.length > 0) {\n msg.configsToSend = configsToSend\n };\n if (tasks.length > 0) {\n msg.tasks = tasks\n };\n if (keyValueQuery) {\n msg.KeyValue = keyValueQuery\n }\n // commit values to receiver processor\n console.log(msg);\n // modify to return the object that contains your data\n return msg;\n\n function add_params_to_output() {\n if (!params.raw_accuracy) {\n AddValue('location_accuracy', 9000);\n } else {\n AddValue('location_accuracy', params.raw_accuracy);\n }\n // generate timestamps if they don't exist\n if (!params.event_time) {\n AddValue('event_time', moment.utc().unix());\n }\n if (!params.location_time) {\n AddValue('event_time', moment.utc().unix());\n }\n //if no lat and long are given, set them to 0, 0\n if (!params.latitude_raw) {\n AddValue('latitude', 0);\n } else {\n AddValue('latitude', params.latitude_raw);\n }\n if (!params.longitude_raw) {\n AddValue('longitude', 0);\n } else {\n AddValue('longitude', params.longitude_raw);\n }\n // if (params.temp_bracelet){\n // AddValue('oysta_labels', 'DegC');\n // AddValue('single_column_value', params.temp_bracelet);\n // }\n }\n\n function process_invent_msg() {\n const details = JSON.parse(raw);\n // AddValue('imei', details.AppId);\n AddValue('json_in', JSON.stringify(details));\n switch (details.Command) {\n case \"ACTIVATE_OK\":\n AddConfig(configIds.DeviceConfig.IVActivated, 'true');\n break;\n case \"ACTIVATE_FAILS\":\n AddConfig(configIds.DeviceConfig.IVActivated, 'false');\n AddConfig(configIds.DeviceConfig.IVActivatedFailMessage, details.Data.Text);\n break;\n case \"APPSET\":\n AddConfig(configIds.CycleInterval.CycleInterval, details.Data.CycConfig);\n AddConfig(configIds.Batteryalerts.EnableBatteryLowAlert, details.Data.BatteryLowAlarmEnabled ? 'true' : 'false');\n AddConfig(configIds.Batteryalerts.BatteryLowThreshold, details.Data.BatteryLowThreshold);\n AddConfig(configIds.Batteryalerts.EnableBatteryCriticalAlert, details.Data.BatteryCriticalAlarmEnabled ? 'true' : 'false');\n AddConfig(configIds.Batteryalerts.BatteryCriticalThreshold, details.Data.BatteryCriticalThreshold);\n AddConfig(configIds.Batteryalerts.EnableBatteryChargingAlerts, details.Data.BatteryChargingAlarmEnabled ? 'true' : 'false');\n AddConfig(configIds.NonMovement.EnableDisableNonMovement, details.Data.NoMotionAlertEnabled ? 'true' : 'false');\n AddConfig(configIds.NonMovement.period, details.Data.NoMotionPeriod);\n AddConfig(configIds.Password.Password, details.Data.Password);\n break;\n case \"CONFIG\":\n AddConfig(configIds.DeviceConfig.ConfigMode, details.Data.EnableConfig ? 'true' : 'false');\n break;\n case \"CGFBR\":\n AddConfig(configIds.Bracelet.LowTemp, details.Data.TempLow);\n AddConfig(configIds.Bracelet.HighTemp, details.Data.TempHigh);\n AddConfig(configIds.Bracelet.LowBattery, details.Data.BatLow);\n AddConfig(configIds.Bracelet.CriticalBattery, details.Data.BatCritical);\n let commonParam = addEscapeChar(details.Data.ComPar);\n AddConfig(configIds.Bracelet.CommonParam, commonParam);\n let cloudParam = addEscapeChar(details.Data.CldPar);\n AddConfig(configIds.Bracelet.CloudParam, cloudParam);\n let lteParam = addEscapeChar(details.Data.LtePar);\n AddConfig(configIds.Bracelet.LTEParam, lteParam);\n let bleParam = addEscapeChar(details.Data.BlePar);\n AddConfig(configIds.Bracelet.BLEParam, bleParam);\n break;\n case \"REBOOTB\":\n AddConfig(configIds.Bracelet.Reboot, 'true');\n break;\n case \"PWRFB\":\n AddConfig(configIds.Bracelet.PowerOff, 'true');\n break;\n case \"RESETB\":\n AddConfig(configIds.Bracelet.Reset, 'true');\n break;\n case \"BRAPWUPDATE\":\n AddValue(\"PasswordRecoveryFrom\", details.Data.ImeiOld);\n // get password from old device, then set\n AddConfig(configIds.Password.BraceletPW, \"DoNotChange123\" // replace with recovered password, for test this is DoNotChange123\n )\n break;\n case \"NOTE\":\n let type = details.Data.Type !== undefined ? details.Data.Type : \"TYPE MISSING\";\n let text = details.Data.Text !== undefined ? details.Data.Text : \"Text Missing\";\n text = text.split(\",\").join(\" \");\n let id = details.Data.Id !== undefined ? details.Data.Id : \"Id Missing\";\n let time = details.Data.Time !== undefined ? details.Data.Time.toString() : '0';\n let value = time + \",\" + type + \",\" + id + \",\" + text;\n AddConfig(configIds.Note.Message, value)\n break;\n case \"LOCPRDB\":\n AddConfig(configIds.Bracelet.LocationPeriod, details.Data.Time);\n break;\n case \"POSNB\":\n AddConfig(configIds.Bracelet.EnableContinuousLocate, details.Data.Enable ? 'true' : 'false')\n AddConfig(configIds.Bracelet.ContinuousLocateDuration, details.Data.Duration);\n break;\n case \"CHKFRMB\":\n AddConfig(configIds.Bracelet.CheckBraceletFirmware, 'true');\n break;\n case \"ROLLBACKFIRMB\":\n AddConfig(configIds.Bracelet.RollbackBraceletFirmware, 'true');\n break;\n case \"POSN\":\n AddConfig(configIds.DeviceConfig.RealTimeLocate, 'true');\n break;\n }\n }\n\n function addEscapeChar(json) {\n if (json === undefined) {\n return undefined;\n }\n let outStr = \"\";\n let jsonStr = JSON.stringify(json);\n for (let c of jsonStr) {\n if (c.charCodeAt(0) == 34) { // replace quote with Escape quote\n outStr = outStr + String.fromCharCode(92) + String.fromCharCode(34);\n } else {\n outStr += c;\n }\n };\n return outStr;\n }\n\n function changeSingleQuoteToDouble(jsonStr) {\n if (jsonStr === undefined) {\n return undefined;\n }\n let outStr = \"\";\n for (let c of jsonStr) {\n if (c.charCodeAt(0) == 39) { // replace single quote with double quote\n outStr = outStr + String.fromCharCode(34);\n } else {\n outStr += c;\n }\n };\n return outStr;\n }\n\n function sendMessageToLocalhost(str) {\n if (localTesting) {\n console.log(\"Sending message to local host: \" + str);\n } else {\n var server = '127.0.0.1'; // replace with 'receiver-tcp' tp load balance\n var c = createConnection(5678, server); // acceptance is 5678 - protocol dev 5878 - dev is 5679 ?\n c.write(`${str}`);\n c.end();\n }\n AddValue(\"ToLocalhost\", str);\n }\n\n function createConnection(port, server) {\n c = net.createConnection(port, server);\n c.on('error', function(error) {\n c = createConnection(port, server);\n });\n return c;\n }\n\n function decrypt(encdata, password) {\n var decrypted;\n var dataarray = encdata.split(\";\");\n if (dataarray.length > 5) {\n return \"\";\n }\n var i;\n var part1 = \"\"; // part1 will hold the type, IMEI and message ID\n if (encdata.startsWith(\"ACK\")) {\n return encdata;\n }\n for (i = 0; i < 3; i++) {\n part1 = part1 + dataarray[i] + \";\";\n }\n var mid = dataarray[2]; // use the message ID to create the salt\n var enctext = dataarray[3].split(\"=\")[1]; // the encypted data\n var salt = _crypto.pbkdf2Sync(mid, 'salt', 1000, 64, 'sha1');\n // base64 decoding and extract the iv and encrypted data\n const bData = Buffer.from(enctext, 'base64');\n const iv = bData.slice(0, 16); // initial 16 chars\n const text = bData.slice(16); // all the encrypted data\n // derive key using; 32 byte key length (from salted password and mid)\n // decrypt the data in part2 and add to part1\n const key = _crypto.pbkdf2Sync(password, salt, 3145, 32, 'sha1');\n const decipher = _crypto.createDecipheriv('aes-256-cbc', key, iv);\n try {\n decrypted = part1 + decipher.update(text, 'binary', 'utf8') + decipher.final('utf8');\n } catch (err) {\n decrypted = undefined;\n }\n return decrypted;\n }\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 }\n\n function AddValue(p1, p2) {\n var cvpair = {\n code: p1,\n value: p2\n };\n deviceParams.push(cvpair);\n }\n\n function AddConfig(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 function isASCII(str) {\n return /^[\\x00-\\xFF]*$/.test(str);\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, 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":[]}],"Groups":[{"Id":7556,"Parent":null,"Name":"Settings","Json":"{\"description\":null,\"columns\":2,\"order\":3,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7557,"Parent":null,"Name":"Admin config","Json":"{ \"description\": \"Admin config\", \"columns\": 2, \"order\": 1, \"listSize\": 1, \"toTranslate\": [ \"name\", \"description\" ]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7558,"Parent":null,"Name":"Actions","Json":"{\"description\":\"Power off, real time locate etc.\",\"columns\":1,\"order\":4,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7559,"Parent":null,"Name":"Notification","Json":"{\"description\":null,\"columns\":1,\"order\":2,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7560,"Parent":null,"Name":"Not Implemented","Json":"{\"description\":null,\"columns\":1,\"order\":5,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7561,"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Name":"DeviceConfig","Json":"{\"description\":\"Reset the device with default factory values\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7562,"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Name":"Password","Json":"{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7563,"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Name":"Cycle Interval","Json":"{ \"description\": \"Define the period for which the device should send regular location updates, and how frequent those updates are.\", \"columns\": 1, \"order\": 2, \"listSize\": 1, \"toTranslate\": [ \"name\", \"description\" ]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7564,"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Name":"Battery alerts","Json":"{ \"description\": \"Battery alerts\", \"columns\": 1, \"order\": 5, \"toTranslate\": [ \"name\", \"description\" ]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7565,"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Name":"Bracelet","Json":"{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7566,"Parent":{"Id":7560,"Name":"Not Implemented","Json":{"description":null,"columns":1,"order":5,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7566,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7567,"Name":"Non Movement","Json":{"description":"","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7568,"Name":"Set Server","Json":{"description":"Set Server","columns":1,"order":4,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]}]},"Name":"No Activity","Json":"{\"description\":\"No Activity\",\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7567,"Parent":{"Id":7560,"Name":"Not Implemented","Json":{"description":null,"columns":1,"order":5,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7566,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7567,"Name":"Non Movement","Json":{"description":"","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7568,"Name":"Set Server","Json":{"description":"Set Server","columns":1,"order":4,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]}]},"Name":"Non Movement","Json":"{\"description\":\"\",\"columns\":1,\"order\":2,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7568,"Parent":{"Id":7560,"Name":"Not Implemented","Json":{"description":null,"columns":1,"order":5,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7566,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7567,"Name":"Non Movement","Json":{"description":"","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7568,"Name":"Set Server","Json":{"description":"Set Server","columns":1,"order":4,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]}]},"Name":"Set Server","Json":"{\"description\":\"Set Server\",\"columns\":1,\"order\":4,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":7569,"Parent":{"Id":7559,"Name":"Notification","Json":{"description":null,"columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7569,"Name":"Note","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Name":"Note","Json":"{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]}],"GroupParams":[{"Id":12571,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"Reset","Json":"{\"name\":\"Reset\",\"default\":\"\",\"description\":\"Reset Device\",\"type\":\"button\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":true,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":9}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12572,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"BLE MAC","Json":"{\"name\":\"BLE MAC\",\"default\":\"\",\"description\":\"Phone BLE MAC address\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":true,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"The Bluetooth MAC address of the phone.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":0}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12573,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"BRA MAC","Json":"{\"name\":\"BRA MAC\",\"default\":\"\",\"description\":\"Bracelet MAC address\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":true,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"The MAC address of the bracelet.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":1}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12574,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"braceletIMEI","Json":"{\"name\":\"braceletIMEI\",\"default\":\"\",\"description\":\"Bracelet IMEI\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":true,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Readonly field containing the bracelet IMEI.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":2}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12575,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"ICCID","Json":"{\"name\":\"ICCID\",\"default\":\"\",\"description\":\"SIM ICCID\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":true,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"The ICCID of hte phones SIM card.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":5}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12576,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"IV Activated","Json":"{\"name\":\"IV Activated\",\"default\":\"false\",\"description\":\"Invent Activated ok\",\"type\":\"checkbox\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Flag that is set when the Invent platform has acknowledged the activation of the device.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":6}","Default":"true","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12577,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"Config Mode","Json":"{\"name\":\"Config Mode\",\"default\":\"\",\"description\":\"Config Mode\",\"type\":\"checkbox\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Enables Config mode on in the app to show additional actions and buttons.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":4}","Default":"false","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12578,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"IV ActivatedFailMessage","Json":"{\"name\":\"IV ActivatedFailMessage\",\"default\":\"\",\"description\":\"Reason for Activation Failure\",\"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\"],\"order\":7}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12579,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"DisableAck","Json":"{\"name\":\"DisableAck\",\"default\":\"false\",\"description\":\"Disable Ack\",\"type\":\"checkbox\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":true,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Disable Acks for testing to simulate IntelliCare failure.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":10}","Default":"true","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12580,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"Clear Message Buffer","Json":"{\"name\":\"Clear Message Buffer\",\"default\":\"\",\"description\":\"Clear Message Buffer\",\"type\":\"button\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Clears the message buffer of unsent messages.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":3}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12581,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"Enable Logging","Json":"{\"name\":\"Enable Logging\",\"default\":\"false\",\"description\":\"Enable Realtime logging to Kibana.\",\"type\":\"checkbox\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":true,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":11}","Default":"true","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12582,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"Get Logs","Json":"{\"name\":\"Get Logs\",\"default\":\"\",\"description\":\"Get current Logs from the App.\",\"type\":\"button\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Will send logs directly to Kibana.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":12}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12583,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"Request Data","Json":"{\"name\":\"Request Data\",\"default\":\"\",\"description\":\"Request All Data command.\",\"type\":\"button\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Will return version and other settings from the app.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":16}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12584,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"Version","Json":"{\"name\":\"Version\",\"default\":\"\",\"description\":\"Current Version of the App.\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Use Button Request Data to update the field.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":17}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12585,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"StartTimeLog","Json":"{\"name\":\"StartTimeLog\",\"default\":\"\",\"description\":\"StartTime for Logs request\",\"type\":\"datetime\",\"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\"],\"order\":14}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12586,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"EndTimeLog","Json":"{\"name\":\"EndTimeLog\",\"default\":\"\",\"description\":\"Endtime for log request\",\"type\":\"datetime\",\"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\"],\"order\":15}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12587,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"Restarts","Json":"{\"name\":\"Restarts\",\"default\":\"\",\"description\":\"Number of Restarts\",\"type\":\"number\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":true,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"When a BLE lockup is detected the app will restart itself to re-enable BLE.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":13}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12588,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"MTBR","Json":"{\"name\":\"MTBR\",\"default\":\"\",\"description\":\"Mean Time Between Restarts (hh:mm:ss)\",\"type\":\"time\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":true,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Average time between restarts to fix the BLE issue. Bugger numbers are better.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":8}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12589,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"BackgroundLocation","Json":"{\"name\":\"BackgroundLocation\",\"default\":\"\",\"description\":\"BackgroundLocation\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"BackgroundLocation\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":20}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12590,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"CoarseLocation","Json":"{\"name\":\"CoarseLocation\",\"default\":\"\",\"description\":\"CoarseLocation\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"CoarseLocation\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":18}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12591,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"FineLocation","Json":"{\"name\":\"FineLocation\",\"default\":\"\",\"description\":\"FineLocation\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"FineLocation\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":19}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12592,"Group":{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"Real Time Locate","Json":"{\"name\":\"Real Time Locate\",\"default\":\"\",\"description\":\"Position Request\",\"type\":\"button\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Real Time Locate\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12593,"Group":{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"encryption","Json":"{\"name\":\"encryption\",\"default\":\"true\",\"description\":\"enable encryption for commands\",\"type\":\"checkbox\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":true,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"true","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12594,"Group":{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Password","Json":"{\"name\":\"Password\",\"default\":\"\",\"description\":\"Password\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Password used to encrypt communication between Device and platform.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12595,"Group":{"Id":7562,"Name":"Password","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7557,"Name":"Admin config","Json":{"description":"Admin config","columns":2,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[{"Id":7561,"Name":"DeviceConfig","Json":{"description":"Reset the device with default factory values","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"BraceletPW","Json":"{\"name\":\"BraceletPW\",\"default\":\"\",\"description\":\"Bracelet Password\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":true,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12596,"Group":{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Cycle Interval","Json":"{\"name\":\"Cycle Interval\",\"default\":\"\",\"description\":\"Cycle Interval\",\"type\":\"number\",\"suffix\":\"seconds\",\"prefix\":null,\"min\":1,\"max\":1440,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Frequency of location events, in seconds\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12597,"Group":{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Battery Low Threshold","Json":"{\"name\":\"Battery Low Threshold\",\"default\":\"100\",\"description\":\"Battery Low Threshold\",\"type\":\"number\",\"suffix\":\"%\",\"prefix\":null,\"min\":1,\"max\":99,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Percentage at which the device sends a low battery alert\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":3}","Default":"100","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12598,"Group":{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Battery Critical Threshold","Json":"{\"name\":\"Battery Critical Threshold\",\"default\":\"\",\"description\":\"Battery Critical Threshold\",\"type\":\"number\",\"suffix\":\"%\",\"prefix\":null,\"min\":1,\"max\":99,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Percentage at which the device sends a critical battery alert\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":1}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12599,"Group":{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Enable Battery Charging Alerts","Json":"{\"name\":\"Enable Battery Charging Alerts\",\"default\":\"true\",\"description\":\"Enable Alerts when charging.\",\"type\":\"checkbox\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Alerts will be sent when the users connects or disconnects the device to the charging station.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":4}","Default":"true","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12600,"Group":{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Enable Battery Low Alert","Json":"{\"name\":\"Enable Battery Low Alert\",\"default\":\"true\",\"description\":\"Enable Battery Low Alert\",\"type\":\"checkbox\",\"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\"],\"order\":2}","Default":"true","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12601,"Group":{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Enable Battery Critical Alert","Json":"{\"name\":\"Enable Battery Critical Alert\",\"default\":\"true\",\"description\":\"Enable Battery Critical Alert\",\"type\":\"checkbox\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Sends an Alert when the battery is critically low.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":0}","Default":"true","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12602,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"LowBattery","Json":"{\"name\":\"LowBattery\",\"default\":\"\",\"description\":\"Low Battery Threshold\",\"type\":\"number\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":2}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12603,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"CriticalBattery","Json":"{\"name\":\"CriticalBattery\",\"default\":\"\",\"description\":\"Critical Battery Threshold\",\"type\":\"number\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":3}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12604,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"CommonParam","Json":"{\"name\":\"CommonParam\",\"default\":\"\",\"description\":\"Common Parameters\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Common parameters as defined in the SDK as JSON string.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":10}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12605,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"CloudParam","Json":"{\"name\":\"CloudParam\",\"default\":\"\",\"description\":\"Cloud Parameters\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Cloud Parameters as defined by SDK as JSON string.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":12}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12606,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"LTEParam","Json":"{\"name\":\"LTEParam\",\"default\":\"\",\"description\":\"LTE Parameters\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"LTE Parameters as defined by SDK as JSON string.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":13}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12607,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"BLEParam","Json":"{\"name\":\"BLEParam\",\"default\":\"\",\"description\":\"BLE Parameters\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"BLE Parameters as defined in SDK as JSON string.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":11}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12608,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Reboot","Json":"{\"name\":\"Reboot\",\"default\":\"\",\"description\":\"Reboot\",\"type\":\"button\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Reboots the bracelet.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":6}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12609,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"PowerOff","Json":"{\"name\":\"PowerOff\",\"default\":\"\",\"description\":\"Power Off\",\"type\":\"button\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Power off the bracelet.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":5}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12610,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Reset","Json":"{\"name\":\"Reset\",\"default\":\"\",\"description\":\"Reset\",\"type\":\"button\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Resets the bracelet.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":7}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12611,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"HighTemp","Json":"{\"name\":\"HighTemp\",\"default\":\"\",\"description\":\"High Temperature\",\"type\":\"number\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Temperature above which a temperature alarm will be raised.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":1}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12612,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"LowTemp","Json":"{\"name\":\"LowTemp\",\"default\":\"\",\"description\":\"Low Temperature\",\"type\":\"number\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Threshold below which a temperature alert will be triggered.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":0}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12613,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"LocationPeriod","Json":"{\"name\":\"LocationPeriod\",\"default\":\"\",\"description\":\"Location Period\",\"type\":\"number\",\"suffix\":null,\"prefix\":null,\"min\":15,\"max\":600,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"The period/frequency for the bracelet to send information\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":4}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12614,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"EnableContinuousLocate","Json":"{\"name\":\"EnableContinuousLocate\",\"default\":\"\",\"description\":\"Enable Continuous Locate\",\"type\":\"checkbox\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Enables/disabled Continuous Locate\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":14}","Default":"false","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12615,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"ContinuousLocateDuration","Json":"{\"name\":\"ContinuousLocateDuration\",\"default\":\"\",\"description\":\"Continuous Locate Duration\",\"type\":\"number\",\"suffix\":null,\"prefix\":null,\"min\":120,\"max\":86400,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"The duration Continuous Locate is active in seconds\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":15}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12616,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"CheckBraceletFirmware","Json":"{\"name\":\"CheckBraceletFirmware\",\"default\":\"\",\"description\":\"Check Bracelet for Firmware Updates\",\"type\":\"button\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Ask the bracelet to for check for firmware updates. Updates automatically if higher version found\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":8}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12617,"Group":{"Id":7565,"Name":"Bracelet","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7556,"Name":"Settings","Json":{"description":null,"columns":2,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7563,"Name":"Cycle Interval","Json":{"description":"Define the period for which the device should send regular location updates, and how frequent those updates are.","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7564,"Name":"Battery alerts","Json":{"description":"Battery alerts","columns":1,"order":5,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"RollbackBraceletFirmware","Json":"{\"name\":\"RollbackBraceletFirmware\",\"default\":\"\",\"description\":\"Rollback Bracelet Firmware\",\"type\":\"button\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Roll the latest firmware updates back\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"],\"order\":9}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12618,"Group":{"Id":7566,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7560,"Name":"Not Implemented","Json":{"description":null,"columns":1,"order":5,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7567,"Name":"Non Movement","Json":{"description":"","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7568,"Name":"Set Server","Json":{"description":"Set Server","columns":1,"order":4,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"No Activity","Json":"{\"name\":\"No Activity\",\"default\":\"\",\"description\":\"Set No Activity Events\",\"type\":\"number\",\"suffix\":null,\"prefix\":null,\"min\":5,\"max\":10080,\"futureOnly\":null,\"integerOnly\":true,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Set No Activity Alerts in minutes. If the device does not report in the time frame it triggers a No Activity alert\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12619,"Group":{"Id":7566,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7560,"Name":"Not Implemented","Json":{"description":null,"columns":1,"order":5,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7567,"Name":"Non Movement","Json":{"description":"","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7568,"Name":"Set Server","Json":{"description":"Set Server","columns":1,"order":4,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Enable Disable No Activity","Json":"{\"name\":\"Enable Disable No Activity\",\"default\":\"true\",\"description\":\"Enable Disable No Activity\",\"type\":\"enable\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":true,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Enable or disable no activity alerts\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"true","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12620,"Group":{"Id":7567,"Name":"Non Movement","Json":{"description":"","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7560,"Name":"Not Implemented","Json":{"description":null,"columns":1,"order":5,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7566,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7568,"Name":"Set Server","Json":{"description":"Set Server","columns":1,"order":4,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"period ","Json":"{\"name\":\"period \",\"default\":\"600\",\"description\":\"Period in seconds which defines \\\"non-movement\\\"\",\"type\":\"number\",\"suffix\":null,\"prefix\":null,\"min\":5,\"max\":7200,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":true,\"minLength\":null,\"maxLength\":null,\"helpText\":\"\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"600","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12621,"Group":{"Id":7567,"Name":"Non Movement","Json":{"description":"","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7560,"Name":"Not Implemented","Json":{"description":null,"columns":1,"order":5,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7566,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7568,"Name":"Set Server","Json":{"description":"Set Server","columns":1,"order":4,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},"Name":"Enable Disable NonMovement","Json":"{\"name\":\"Enable Disable NonMovement\",\"default\":\"true\",\"description\":null,\"type\":\"enable\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":true,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"true","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12622,"Group":{"Id":7568,"Name":"Set Server","Json":{"description":"Set Server","columns":1,"order":4,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7560,"Name":"Not Implemented","Json":{"description":null,"columns":1,"order":5,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7566,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7567,"Name":"Non Movement","Json":{"description":"","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"Set Secondary Server","Json":"{\"name\":\"Set Secondary Server\",\"default\":\"\",\"description\":\"Select Server\",\"type\":\"select\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":true,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[{\"value\":\"52.232.85.255:5678\",\"label\":\"Production Secondary\"},{\"value\":\"52.174.17.77:5678\",\"label\":\"Acceptance Secondary\"}],\"toTranslate\":[\"name\",\"description\",\"helpText\",\"label\"]}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12623,"Group":{"Id":7568,"Name":"Set Server","Json":{"description":"Set Server","columns":1,"order":4,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7560,"Name":"Not Implemented","Json":{"description":null,"columns":1,"order":5,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":7566,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":7567,"Name":"Non Movement","Json":{"description":"","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":true,"Deleted":false,"Children":[]},"Name":"Set Primary Server","Json":"{\"name\":\"Set Primary Server\",\"default\":\"\",\"description\":\"Set Primary Server\",\"type\":\"select\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":true,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Select which server you wish the device to communicate to\",\"options\":[{\"value\":\"52.232.85.255:5678\",\"label\":\"Production Primary\"},{\"value\":\"52.174.17.77:5678\",\"label\":\"Acceptance Primary\"}],\"toTranslate\":[\"name\",\"description\",\"helpText\",\"label\"]}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]},{"Id":12624,"Group":{"Id":7569,"Name":"Note","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":7559,"Name":"Notification","Json":{"description":null,"columns":1,"order":2,"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":"Message","Json":"{\"name\":\"Message\",\"default\":\"\",\"description\":\"Message\",\"type\":\"text\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":false,\"integerOnly\":false,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Note as Comma sepearted values with Time(s from epoch), Type (INFO|WARNING|...), ID, Text.\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"","Command":null,"ProtocolActionObjects":[],"LanguageId":null,"Tags":[]}],"ProtocolChanges":[],"ProtocolActionObjects":[],"Tags":[],"MessageCodes":[]} \ No newline at end of file