diff --git a/sensecare b/sensecare new file mode 100644 index 0000000..6a3516f --- /dev/null +++ b/sensecare @@ -0,0 +1 @@ +{"Id":161,"Name":null,"Description":null,"FirmwareVersion":"","InProgress":true,"MessageTypes":[{"Id":3817,"Code":"ALPIR","Name":"PIR Alarm","MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"UBIQ;ALPIR;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALPIR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3790,"Code":"ALRH","Name":"Humidity Alarm","MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"UBIQ;ALHumidity;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALHumidity;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3821,"Code":"ALCO2","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"UBIQ;ALGas;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALGas;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3820,"Code":"PIR","Name":"PIR","MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;PIR;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;PIR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3819,"Code":"RH","Name":"Humidity","MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;Humidity;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Humidity;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3818,"Code":"BATR","Name":"Battery","MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;Battery;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Battery;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3814,"Code":"ANSWDR","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALDOOR;<>;<>;<>;<>;<>;<>;<>;<>;15;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALDOOR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;15;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3813,"Code":"ALBAT","Name":"Battery Alarm","MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"UBIQ;ALBattery;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALBattery;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3812,"Code":"ENTER","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALDOOR;<>;<>;<>;<>;<>;<>;<>;<>;13;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALDOOR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;13;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3811,"Code":"EXIT","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALDOOR;<>;<>;<>;<>;<>;<>;<>;<>;7;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALDOOR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;7;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3810,"Code":"CO2","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;Gas;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Gas;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3809,"Code":"LUX","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;Lux;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Lux;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3808,"Code":"LEAK","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALLEAK;<>;<>;<>;<>;<>;<>;<>;<>;1;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALLEAK;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;1;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3807,"Code":"BEDOUT","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALBED;<>;<>;<>;<>;<>;<>;<>;<>;0;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALBED;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;0;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3806,"Code":"ALTemp","Name":"Temperature Alarm","MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"UBIQ;ALTemp;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALTemp;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3805,"Code":"DRCL","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;Ext1;<>;<>;<>;<>;<>;<>;<>;<>;2;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Ext1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;2;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3804,"Code":"LEAK-OFF","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALLEAK;<>;<>;<>;<>;<>;<>;<>;<>;0;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALLEAK;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;0;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3803,"Code":"EXTNOC","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;Ext1;<>;<>;<>;<>;<>;<>;<>;<>;0;<>;","HasTemplateGlobal":false,"ResponseTemplate":"OK","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Ext1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;0;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3802,"Code":"COMM","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"","HasTemplateGlobal":true,"ResponseTemplate":"<>","TemplateGlobal":"coap-<>-ubi-<>-<>","LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"Command":null,"CacheImei":false,"RegEx":"","RegExGlobal":"^coap-[^-]*-ubi-[^--]*-[^-]*","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3801,"Code":"ALSOS","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"UBIQ;ALSYS;<>;<>;<>;<>;<>;<>;<>;<>;1;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALSYS;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;1;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3800,"Code":"DRO","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALExt1;<>;<>;<>;<>;<>;<>;<>;<>;3;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALExt1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;3;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3799,"Code":"VISDEP","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALSYS;<>;<>;<>;<>;<>;<>;<>;<>;3;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALSYS;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;3;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3798,"Code":"VISARR","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALSYS;<>;<>;<>;<>;<>;<>;<>;<>;2;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALSYS;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;2;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3797,"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":false,"Command":null,"CacheImei":false,"RegEx":"\\+RESP:NACT,[^,]*,[^\\$,]*\\$","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3796,"Code":"CYC","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;<>;<>;<>;<>;<>;<>;<>;[[<>;<>;<>;<>;]]","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;([^;;]*;[^;;]*;[^;;]*;[^;;]*;)+","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3795,"Code":"SYS","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;SYS;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;SYS;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3794,"Code":"ALDO","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"UBIQ;ALExt1;<>;<>;<>;<>;<>;<>;<>;<>;1;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALExt1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;1;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3793,"Code":"BEDIN","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALBED;<>;<>;<>;<>;<>;<>;<>;<>;1;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALBED;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;1;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3792,"Code":"ALDC","Name":null,"MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"UBIQ;ALExt1;<>;<>;<>;<>;<>;<>;<>;<>;0;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":true,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALExt1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;0;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3791,"Code":"CYC","Name":"cycle","MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;<>;<>;<>;<>;<>;<>;[[<>;<>;<>;<>;]]","HasTemplateGlobal":true,"ResponseTemplate":"<>","TemplateGlobal":"8677<>,<> ","LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;([^;;]*;[^;;]*;[^;;]*;[^;;]*;)+","RegExGlobal":"^8677[^ ]*,[^ ,]* ","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3789,"Code":"Temp","Name":"Temperature","MessageCode":null,"NeedAck":false,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;Temp;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Temp;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]}],"Commands":[],"Operations":[{"Id":165,"Name":"Operation","Operation":"if (typeof localTesting === \"undefined\") {\n var localTesting = \"False\";\n}\nvar dataToReceiver = [];\nvar codeValues = [];\nvar timeNow = moment.utc().unix();\nAddValue(codeValues, 'protocol_template', 'SafeHome');\nAddValue(codeValues, 'product', serverParams.ProductName);\nif (globalTemplate == \"True\") { // encooded data from device\n if (params.method == \"post\") { // device sending in data\n var DeviceID = [\"SYS\", \"Ext1\", \"Temp\", \"Battery\", \"Humidity\", \"Temp\", \"Acceleration\", \"Mag\", \"PIR\", \"Lux\", \"Gas\", \"Sound\", \"Smoke\", \"Particle\", \"IR TEMP\", \"GPS\"];\n var DataType = [\"CUR\", \"SEC\", \"TRD\", \"MIN\", \"MAX\", \"AVG\", \"EVT\"];\n var ExpArray = [1000, 100, 10, 1, 0.1, 0.01, 0.001, 0.0001];\n var ack = \"\";\n var chunk;\n var datasetStr = '';\n var dataset = {};\n var eventString;\n var message_time = moment.utc().unix();\n var dataArray = [];\n var dsIdx, valIdx;\n var pos = params.data.indexOf(\" \"); // the header is up to the value of \"20\" (space character)\n // var header = ParseHeader(rawFromBytes.slice(0, pos));\n var header = params.data.slice(0, pos);\n // to process the header we slit it into an array. Values are separated by comma \n var headerArray = header.split(',');\n var uID = headerArray[0];\n var imei = headerArray[1];\n var index = headerArray[2];\n var flags = headerArray[3]; // A value of 1 indicates that the device will accept responses\n var imsi = headerArray[4];\n var rssi = headerArray[5];\n var interval = headerArray[6];\n debug('params.data =' + params.data);\n debug('header =' + header);\n debug('uID =' + uID);\n debug('imei =' + imei);\n debug('index =' + index);\n debug('flags =' + flags);\n debug('imsi =' + imsi);\n debug('rssi =' + rssi);\n debug('interval =' + interval);\n var eventP1 = \"UBIQ;\";\n var eventP2 = '';\n var eventP3 = \";\" + imei + \";\" + index + \";\" + flags + \";\" + imsi + \";\" + rssi + \";\" + interval + \";\";\n var data = params.data.slice(pos + 1); // skip the first 00\n debug('data =' + data);\n dataArray = data.split(\",\");\n datapointCount = [];\n datasetCount = 0;\n dsIdx = 0;\n while (dsIdx < dataArray.length) {\n datapointCount[dsIdx] = 0;\n datasetStr = dataArray[dsIdx];\n debug('datasetStr =' + datasetStr);\n if (datasetStr.length >= 8) {\n valIdx = 2;\n while (valIdx < datasetStr.length) {\n chunk = datasetStr.substr(valIdx, 6);\n debug('chunk = ' + chunk)\n if (chunk.length === 6) {\n dataset = ParseValue(chunk);\n if (dataset.Alarm === 1) {\n eventP2 = \"AL\";\n } else {\n eventP2 = '';\n }\n eventP2 = eventP2 + dataset.ID;\n event_time = message_time - (interval * 3600 * datasetCount);\n eventString = eventP1 + eventP2 + eventP3 + event_time + \";\" + dataset.DT + \";\" + dataset.Value + \";\" + dataset.Value + \";\";\n sendMessageToLocalhostNoWait(eventString);\n }\n valIdx += 6;\n }\n datasetCount++;\n }\n dsIdx++;\n }\n var payload = '31';\n var statusCode = '65';\n var ackArr = {\n 'payload': payload,\n 'statusCode': statusCode\n };\n AddValue(codeValues, 'ack', JSON.stringify(ackArr));\n AddValue(codeValues, 'imei', imei);\n debug(\"finished global\");\n } else if (params.method == \"get\") { // device getting commands\n imei = params.query_params[0].value; // add imei so server knows which device commands to provide.\n AddValue(codeValues, \"imei\", imei);\n }\n} else if (oystaTemplate == \"True\") { // decoded event from receiver\n}\nvar dataToReceiver = {\n 'values': codeValues\n};\nconsole.log(dataToReceiver);\ndebug(\"end of operation\");\n// end of main operation\n// define functions used in operation\nfunction AddValue(msgArray, p1, p2) { // push code value pair into array\n var cvpair = {\n code: p1,\n value: p2\n };\n msgArray.push(cvpair);\n}\n\nfunction debug(str) { // print out debug info if flag set for local use \n if (localTesting === \"True\") {\n console.log(str);\n }\n}\n\nfunction hex_to_ascii(str1) { // convert hex to ascii\n var hex = str1.toString();\n var str = '';\n for (var n = 0; n < hex.length; n += 2) {\n str += String.fromCharCode(parseInt(hex.substr(n, 2), 16));\n }\n return str;\n}\n\nfunction ParseHeader(strValue) {\n var i = 0;\n var res = \"\";\n while (i < strValue.length) {\n res += String.fromCharCode(parseInt(strValue.substr(i, 2), 16));\n i += 2;\n }\n return res;\n}\n\nfunction pad(num, size) {\n num = num.toString();\n while (num.length < size) num = \"0\" + num;\n return num;\n}\n\nfunction ParseValue(strValue) {\n var result = {};\n var val = parseInt(strValue, 16); // convert the chunk into an unsigned integer\n result.Alarm = (val >> 23) & 0x01; // this is a flag (0 or 1) to indicate that the value is in alarmed state\n result.DT = DataType[(val >> 20) & 0x07]; // this defines the value type (current, min, max, average, etc)\n result.ID = DeviceID[(val >> 16) & 0x0F]; // this is the measurement type (Battery, Temp, RH, Vibration, etc)\n result.Value = (val & 0xFFF); // this is the value mantissa\n if (((val >> 12) & 0x01) > 0) result.Value = -result.Value;\n var exp = ExpArray[(val >> 13) & 0x07];\n result.Value = result.Value * exp;\n result.Value = Math.round(result.Value * 100000) / 100000;\n // Replacing Device ID if an External Component is connected\n if (serverParams.IsInit === true) { //if device has configs ie External Component is connected\n if (configs.Sensors.ExternalSensorType) {\n if ((result.ID === \"Ext1\") || (result.ID === \"Ext2\")) {\n var externalSensor = configs.Sensors.ExternalSensorType; // pulling value of sensor label from intellicare\n result.ID = externalSensor; // replace ID with the Sensor label\n }\n }\n }\n return result;\n}\n\nfunction sendMessageToLocalhostNoWait(str) { // sends message to system, closing connection after\n var server;\n if (localTesting === \"True\") {\n console.log('local testing - sending to acceptance server the message ... ');\n console.log(str);\n server = '52.174.17.77';\n } else {\n server = '127.0.0.1';\n }\n var c = net.createConnection(5678, server);\n c.on('error', function(error) {\n c = net.createConnection(5678, server);\n });\n c.write(`${str}`);\n c.end();\n}","Type":0,"ProtocolActionObjects":[]}],"Groups":[{"Id":4210,"Parent":null,"Name":"Feature Settings","Json":"{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"ProtocolActionObjects":[]},{"Id":4211,"Parent":{"Id":4210,"Name":"Feature Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":4211,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":4212,"Name":"Sensors","Json":{"description":"External Sensor","columns":1,"order":3,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Name":"No Activity","Json":"{\"description\":\"No Activity\",\"columns\":1,\"order\":2,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"ProtocolActionObjects":[]},{"Id":4212,"Parent":{"Id":4210,"Name":"Feature Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":4211,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":4212,"Name":"Sensors","Json":{"description":"External Sensor","columns":1,"order":3,"listSize":1,"toTranslate":["name","description"]},"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]}]},"Name":"Sensors","Json":"{\"description\":\"External Sensor\",\"columns\":1,\"order\":3,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"ProtocolActionObjects":[]}],"GroupParams":[{"Id":5807,"Group":{"Id":4211,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":4210,"Name":"Feature Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":4212,"Name":"Sensors","Json":{"description":"External Sensor","columns":1,"order":3,"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":"No Activity","Json":"{\"name\":\"No Activity\",\"default\":\"\",\"description\":\"Set No Activity Events\",\"type\":\"number\",\"suffix\":null,\"prefix\":null,\"min\":5,\"max\":10080,\"futureOnly\":false,\"integerOnly\":true,\"isReadOnly\":false,\"isHidden\":false,\"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":[],"Tags":[]},{"Id":5806,"Group":{"Id":4211,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":4210,"Name":"Feature Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":4212,"Name":"Sensors","Json":{"description":"External Sensor","columns":1,"order":3,"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 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\":null,\"integerOnly\":null,\"minLength\":null,\"maxLength\":null,\"helpText\":\"Enable or disable no activity alerts\",\"options\":[],\"toTranslate\":[\"name\",\"description\",\"helpText\"]}","Default":"true","Command":null,"ProtocolActionObjects":[],"Tags":[]},{"Id":5808,"Group":{"Id":4212,"Name":"Sensors","Json":{"description":"External Sensor","columns":1,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":4210,"Name":"Feature Settings","Json":{"description":null,"columns":1,"order":1,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[{"Id":4211,"Name":"No Activity","Json":{"description":"No Activity","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":false,"Deleted":false,"Children":[]},"Name":"ExternalSensorType","Json":"{\"name\":\"ExternalSensorType\",\"default\":\"\",\"description\":null,\"type\":\"select\",\"suffix\":null,\"prefix\":null,\"min\":null,\"max\":null,\"futureOnly\":null,\"integerOnly\":null,\"isReadOnly\":false,\"isHidden\":false,\"minLength\":null,\"maxLength\":null,\"helpText\":null,\"options\":[{\"value\":\"BED\",\"label\":\"Bed Sensor\"},{\"value\":\"DOOR\",\"label\":\"Door Sensor\"},{\"value\":\"ALLEAK\",\"label\":\"Leak Sensor\"},{\"label\":\"No External Sensor\",\"value\":\"Ext1\"}],\"toTranslate\":[\"name\",\"description\",\"helpText\",\"label\"]}","Default":"","Command":null,"ProtocolActionObjects":[],"Tags":[]}],"ProtocolChanges":[],"ProtocolActionObjects":[],"Tags":[]} \ No newline at end of file