diff --git a/ubiqutus b/ubiqutus index 1717db8..e990157 100644 --- a/ubiqutus +++ b/ubiqutus @@ -1 +1 @@ -{"Id":151,"Name":null,"Description":null,"FirmwareVersion":null,"InProgress":true,"MessageTypes":[{"Id":3457,"Code":"BEDI","Name":"In Bed","MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;<>;BEDI;","HasTemplateGlobal":false,"ResponseTemplate":"ACK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;[^;]*;BEDI;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3458,"Code":"DRO","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALExt1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;3;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3459,"Code":"BEDO","Name":"Out of Bed","MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;<>;BEDO;","HasTemplateGlobal":false,"ResponseTemplate":"ACK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;[^;]*;BEDO;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3461,"Code":"ALPIR","Name":"PIR Alarm","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALPIR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3462,"Code":"BATR","Name":"Battery","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Battery;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3463,"Code":"RH","Name":"Humidity","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Humidity;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3464,"Code":"PIR","Name":"PIR","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;PIR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3465,"Code":"ALBAT","Name":"Battery Alarm","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALBattery;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3466,"Code":"ALTemp","Name":"Temperature Alarm","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALTemp;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3467,"Code":"ALSOS","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"UBIQ;ALSYS;<>;<>;02;<>;<>;<>;<>;<>;1;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALSYS;[^;]*;[^;;]*;02;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;1;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3468,"Code":"DRCL","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Ext1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;2;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3469,"Code":"ALDO","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALExt1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;1;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3470,"Code":"ALDC","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALExt1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;0;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3471,"Code":"SYS","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;SYS;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3472,"Code":"Temp","Name":"Temperature","MessageCode":null,"NeedAck":true,"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,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Temp;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3473,"Code":"ALRH","Name":"Humidity Alarm","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALHumidity;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3474,"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,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;([^;;]*;[^;;]*;[^;;]*;[^;;]*;)+","RegExGlobal":"^8677[^ ]*,[^ ,]* ","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3475,"Code":"COMM","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBI0,<>,<>,<>,<>,<>,<> <>,","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBI0,[^,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^ ,]* [^, ]*,","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3476,"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,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;([^;;]*;[^;;]*;[^;;]*;[^;;]*;)+","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3477,"Code":"EXTNOC","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Ext1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;0;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3478,"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,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"\\+RESP:NACT,[^,]*,[^\\$,]*\\$","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3479,"Code":"VISARR","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALSYS;<>;<>;02;<>;<>;<>;<>;<>;2;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALSYS;[^;]*;[^;;]*;02;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;2;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3480,"Code":"VISDEP","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALSYS;<>;<>;02;<>;<>;<>;<>;<>;3;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALSYS;[^;]*;[^;;]*;02;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;3;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3481,"Code":"BEDIN","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALBED;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;1;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3482,"Code":"BEDOUT","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALBED;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;0;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3559,"Code":"LEAK","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALLEAK;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;1;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3570,"Code":"LUX","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Lux;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3577,"Code":"EXIT","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALDOOR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;7;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3578,"Code":"ENTER","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALDOOR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;13;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3579,"Code":"ANSWDR","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALDOOR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;15;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3582,"Code":"LEAK-OFF","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALLEAK;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;0;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3668,"Code":"CO2","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;CO2;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;CO2;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3679,"Code":"ALCO2","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"UBIQ;ALCO2;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALCO2;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]}],"Commands":[],"Operations":[{"Id":140,"Name":"Ubiqutus Operation","Operation":"function ParseHeader(strValue) {\r\n var i = 0;\r\n var res = \"\";\r\n while (i < strValue.length) {\r\n res += String.fromCharCode(parseInt(strValue.substr(i, 2), 16));\r\n i += 2;\r\n }\r\n return res;\r\n}\r\nif (Object.keys(configs).length !== 0) {\r\n hasConfigs = true;\r\n}\r\n\r\nfunction ParseValue(strValue) {\r\n var result = {};\r\n var val = parseInt(strValue, 16); // convert the chunk into an unsigned integer\r\n result.Alarm = (val >> 23) & 0x01; // this is a flag (0 or 1) to indicate that the value is in alarmed state\r\n result.DT = DataType[(val >> 20) & 0x07]; // this defines the value type (current, min, max, average, etc)\r\n result.ID = DeviceID[(val >> 16) & 0x0F]; // this is the measurement type (Battery, Temp, RH, Vibration, etc)\r\n result.Value = (val & 0xFFF); // this is the value mantissa\r\n if (((val >> 12) & 0x01) > 0) result.Value = -result.Value;\r\n var exp = ExpArray[(val >> 13) & 0x07];\r\n result.Value = result.Value * exp;\r\n result.Value = Math.round(result.Value * 100000) / 100000;\r\n // Replacing Device ID if an External Component is connected\r\n if (hasConfigs === true) { //if device has configs ie External Component is connected\r\n if (configs.Sensors.ExternalSensorType) {\r\n if ((result.ID === \"Ext1\") || (result.ID === \"Ext2\")) {\r\n var externalSensor = configs.Sensors.ExternalSensorType; // pulling value of sensor label from intellicare\r\n result.ID = externalSensor; // replace ID with the Sensor label\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n// Checking if correct payload for UBIQ\r\nfunction imeiFits(checkingImei) {\r\n // checking if imei exists\r\n if (!checkingImei) {\r\n return 'False';\r\n // Testing // console.log(\"Empty imei value\");\r\n }\r\n if (checkingImei.length == 11) {\r\n // console.log(Number.isInteger(parseInt(checkingImei)));\r\n // returns True or False\r\n return Number.isInteger(parseInt(checkingImei));\r\n } else {\r\n return 'False';\r\n // Testing // console.log(\"Is not 11 digits\");\r\n }\r\n}\r\n// adding a padding of '0's at the beginning of the length specified\r\nfunction pad(num, size) {\r\n num = num.toString();\r\n while (num.length < size) num = \"0\" + num;\r\n return num;\r\n}\r\nif (imeiFits(params.imeiPart2) && globalTemplate == \"True\") {\r\n var DeviceID = [\"SYS\", \"Ext1\", \"Temp\", \"Battery\", \"Humidity\", \"Temp\", \"Acceleration\", \"Mag\", \"PIR\", \"Lux\", \"Gas\", \"Sound\", \"Smoke\", \"Particle\", \"IR TEMP\", \"GPS\"];\r\n var DataType = [\"CUR\", \"SEC\", \"TRD\", \"MIN\", \"MAX\", \"AVG\", \"EVT\"];\r\n var ExpArray = [1000, 100, 10, 1, 0.1, 0.01, 0.001, 0.0001];\r\n var timeout = 1500;\r\n var ack = \"\";\r\n var chunk;\r\n var datasetStr = '';\r\n var dataset = {};\r\n var eventString = [];\r\n var message_time = moment.utc().unix();\r\n var numEvents = 0;\r\n var dataArray = [];\r\n var dsIdx, valIdx;\r\n var pos = rawFromBytes.indexOf(\"20\"); // the header is up to the value of \"20\" (space character)\r\n var header = ParseHeader(rawFromBytes.slice(0, pos));\r\n // to process the header we slit it into an array. Values are separated by comma \r\n var headerArray = header.split(',');\r\n var imei2 = headerArray[0];\r\n var index = headerArray[1];\r\n var flags = headerArray[2]; // A value of 1 indicates that the device will accept responses\r\n var imsi = headerArray[3];\r\n var rssi = headerArray[4];\r\n var interval = headerArray[5];\r\n var eventP1 = \"UBIQ;\";\r\n var eventP2 = '';\r\n var eventP3 = \";\" + imei2 + \";\" + index + \";\" + flags + \";\" + imsi + \";\" + rssi + \";\" + interval + \";\";\r\n var data = rawFromBytes.slice(pos + 2); // skip the first 00\r\n dataArray = data.split(\"2C\");\r\n datapointCount = [];\r\n datasetCount = 0;\r\n dsIdx = 0;\r\n while (dsIdx < dataArray.length) {\r\n datapointCount[dsIdx] = 0;\r\n datasetStr = dataArray[dsIdx];\r\n if (datasetStr.length >= 8) {\r\n valIdx = 2;\r\n while (valIdx < datasetStr.length) {\r\n chunk = datasetStr.substr(valIdx, 6);\r\n if (chunk.length === 6) {\r\n dataset = ParseValue(chunk);\r\n if (dataset.Alarm === 1) {\r\n eventP2 = \"AL\";\r\n } else {\r\n eventP2 = '';\r\n }\r\n eventP2 = eventP2 + dataset.ID;\r\n event_time = message_time - (interval * 60 * datasetCount);\r\n eventString[numEvents] = eventP1 + eventP2 + eventP3 + event_time + \";\" + dataset.DT + \";\" + dataset.Value + \";\" + dataset.Value + \";\" + numEvents + \";\";\r\n numEvents++;\r\n }\r\n valIdx += 6;\r\n }\r\n datasetCount++;\r\n }\r\n dsIdx++;\r\n }\r\n var c = createConnection(5678, '127.0.0.1');\r\n c.on('data', function(data) {\r\n var msgLocal = [];\r\n if (data.toString() == `ok${numEvents-1}`) {\r\n AddValue(msgLocal, 'ack', 'ok');\r\n AddValue(msgLocal, 'imei', imei2);\r\n console.log(msgLocal);\r\n c.end();\r\n }\r\n });\r\n for (let i = 0; i < numEvents; i++) {\r\n setTimeout(function() {\r\n c.write(eventString[i]);\r\n }, i * timeout);\r\n }\r\n} else if (oystaTemplate == \"True\") {\r\n if (params.datastring) {\r\n var DeviceID = [\"SYS\", \"Ext1\", \"Ext2\", \"Battery\", \"Humidity\", \"Temp\", \"Acceleration\", \"Lux\", \"PIR\", \"CO2\", \"Mag\", \"Sound\", \"Smoke\", \"Particle\", \"IR TEMP\", \"GPS\"];\r\n var DataType = [\"CUR\", \"SEC\", \"TRD\", \"AVG\", \"MIN\", \"MAX\", \"EVT\"];\r\n var ExpArray = [1000, 100, 10, 1, 0.1, 0.01, 0.001, 0.0001];\r\n var chunk;\r\n var timeout = 1500;\r\n var eventString = [];\r\n var message_time = moment.utc().unix();\r\n var numEvents = 0;\r\n var eventP1 = \"UBIQ;\";\r\n var eventP2 = '';\r\n var eventP3 = \";\" + params.imei + \";\" + params.message_index + \";\" + params.flags + \";\" + params.sim + \";\" + params.rssi + \";\" + params.interval + \";\";\r\n var event_time = moment.utc().unix();\r\n dsIdx = 0;\r\n dsStart = 0;\r\n dsEnd = 8;\r\n while (dsEnd <= params.datastring.length) {\r\n if (params.datastring.substring(dsStart, dsStart + 1) == ',') {\r\n dsStart = dsStart + 1;\r\n dsEnd = dsEnd + 3;\r\n }\r\n chunk = params.datastring.substring(dsStart, dsEnd)\r\n if (chunk.length === 8) {\r\n var ts = parseInt(chunk, 16);\r\n sec = pad(ts & 0x3F, 2);\r\n ts >>= 6;\r\n min = pad(ts & 0x3F, 2);\r\n ts >>= 6;\r\n hour = pad(ts & 0x1F, 2);\r\n ts >>= 5;\r\n day = pad(ts & 0x1F, 2);\r\n ts >>= 5;\r\n month = pad(ts & 0x0F, 2);\r\n ts >>= 4;\r\n year = ts + 2000;\r\n time = year + \"-\" + month + \"-\" + day + \" \" + hour + \":\" + min + \":\" + sec\r\n event_time = moment(time).utc().unix();\r\n if (isNaN(event_time)) event_time = moment.utc().unix();\r\n } else if (chunk.length === 6) {\r\n dataset = ParseValue(chunk);\r\n if (dataset.Alarm === 1) {\r\n eventP2 = \"AL\";\r\n } else {\r\n eventP2 = '';\r\n }\r\n eventP2 = eventP2 + dataset.ID;\r\n eventString[numEvents] = eventP1 + eventP2 + eventP3 + event_time + \";\" + dataset.DT + \";\" + dataset.Value + \";\" + dataset.Value + \";\" + numEvents + \";\";\r\n numEvents++;\r\n }\r\n dsStart = dsEnd;\r\n dsEnd = dsEnd + 6;\r\n }\r\n var c = createConnection(5678, '127.0.0.1');\r\n c.on('data', function(data) {\r\n var msgLocal = [];\r\n if (data.toString() == `ok${numEvents-1}`) {\r\n if (commandsWaiting === \"False\") {\r\n AddValue(msgLocal, 'ack', 'ok');\r\n } else if (commandsWaiting === \"True\") {\r\n AddValue(msgLocal, 'ack', '');\r\n }\r\n console.log(msgLocal);\r\n c.end();\r\n }\r\n });\r\n for (let i = 0; i < numEvents; i++) {\r\n setTimeout(function() {\r\n c.write(eventString[i]);\r\n }, i * timeout);\r\n }\r\n } else {\r\n AddValue(msg, 'ack', `ok${params.num_event}`);\r\n }\r\n if (messageTypeLocalCode === \"EXTNOC\") {\r\n var labels = ['Input Open Circuit'];\r\n AddValue(msg, 'oysta_labels', JSON.stringify(labels));\r\n }\r\n} else {\r\n // If the Payload does not match a UBIQ protocol then only output the IMEI\r\n AddValue(msg, 'imei', raw.substring(0, 3) + params.imeiPart2)\r\n}\r\n\r\nfunction createConnection(port, server) {\r\n c = net.createConnection(port, server);\r\n c.on('error', function(error) {\r\n c = createConnection(port, server);\r\n });\r\n return c;\r\n}\r\n\r\nfunction AddValue(msgArray, p1, p2) {\r\n var cvpair = {\r\n code: p1,\r\n value: p2\r\n };\r\n msgArray.push(cvpair);\r\n}","Type":0,"ProtocolActionObjects":[]}],"Groups":[{"Id":3627,"Parent":null,"Name":"Feature Settings","Json":"{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":3628,"Parent":{"Id":3627,"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":3628,"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":3629,"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,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":3629,"Parent":{"Id":3627,"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":3628,"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":3629,"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,"LanguageId":null,"ProtocolActionObjects":[]}],"GroupParams":[{"Id":5286,"Group":{"Id":3628,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":3627,"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":3629,"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\":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":5285,"Group":{"Id":3628,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":3627,"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":3629,"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":[],"LanguageId":null,"Tags":[]},{"Id":5288,"Group":{"Id":3629,"Name":"Sensors","Json":{"description":"External Sensor","columns":1,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":3627,"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":3628,"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":[],"LanguageId":null,"Tags":[]}],"ProtocolChanges":[],"ProtocolActionObjects":[],"Tags":[],"MessageCodes":[]} \ No newline at end of file +{"Id":151,"Name":null,"Description":null,"FirmwareVersion":null,"InProgress":true,"MessageTypes":[{"Id":3457,"Code":"BEDI","Name":"In Bed","MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;<>;BEDI;","HasTemplateGlobal":false,"ResponseTemplate":"ACK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;[^;]*;BEDI;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3458,"Code":"DRO","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALExt1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;3;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3459,"Code":"BEDO","Name":"Out of Bed","MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;<>;BEDO;","HasTemplateGlobal":false,"ResponseTemplate":"ACK;","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;[^;]*;BEDO;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3461,"Code":"ALPIR","Name":"PIR Alarm","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALPIR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3462,"Code":"BATR","Name":"Battery","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Battery;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3463,"Code":"RH","Name":"Humidity","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Humidity;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3464,"Code":"PIR","Name":"PIR","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;PIR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3465,"Code":"ALBAT","Name":"Battery Alarm","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALBattery;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3466,"Code":"ALTemp","Name":"Temperature Alarm","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALTemp;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3467,"Code":"ALSOS","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"UBIQ;ALSYS;<>;<>;02;<>;<>;<>;<>;<>;1;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALSYS;[^;]*;[^;;]*;02;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;1;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3468,"Code":"DRCL","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Ext1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;2;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3469,"Code":"ALDO","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALExt1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;1;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3470,"Code":"ALDC","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALExt1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;0;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3471,"Code":"SYS","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;SYS;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3472,"Code":"Temp","Name":"Temperature","MessageCode":null,"NeedAck":true,"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,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Temp;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3473,"Code":"ALRH","Name":"Humidity Alarm","MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALHumidity;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3474,"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,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;([^;;]*;[^;;]*;[^;;]*;[^;;]*;)+","RegExGlobal":"^8677[^ ]*,[^ ,]* ","IsDeviceUpdate":false,"ProtocolActionObjects":[{"Type":1,"NewValue":"{\"Id\":3474,\"Code\":\"CYC\",\"Name\":\"cycle\",\"MessageCode\":\"CYC\",\"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,\"ProtocolsLibraryMethod\":null,\"ProtocolsLibraryMethodArgs\":null,\"Command\":null,\"CacheImei\":false,\"RegEx\":\"^UBIQ;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;([^;;]*;[^;;]*;[^;;]*;[^;;]*;)+\",\"RegExGlobal\":\"^8677[^ ]*,[^,]*\",\"IsDeviceUpdate\":false,\"ProtocolActionObjects\":[],\"Tags\":[]}","Timestamp":1755700586}],"Tags":[]},{"Id":3475,"Code":"COMM","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBI0,<>,<>,<>,<>,<>,<> <>,","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBI0,[^,]*,[^,,]*,[^,,]*,[^,,]*,[^,,]*,[^ ,]* [^, ]*,","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3476,"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,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;([^;;]*;[^;;]*;[^;;]*;[^;;]*;)+","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3477,"Code":"EXTNOC","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Ext1;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;0;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3478,"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,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"\\+RESP:NACT,[^,]*,[^\\$,]*\\$","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3479,"Code":"VISARR","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALSYS;<>;<>;02;<>;<>;<>;<>;<>;2;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALSYS;[^;]*;[^;;]*;02;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;2;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3480,"Code":"VISDEP","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;ALSYS;<>;<>;02;<>;<>;<>;<>;<>;3;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALSYS;[^;]*;[^;;]*;02;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;3;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3481,"Code":"BEDIN","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALBED;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;1;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3482,"Code":"BEDOUT","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALBED;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;0;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3559,"Code":"LEAK","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALLEAK;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;1;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3570,"Code":"LUX","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;Lux;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3577,"Code":"EXIT","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALDOOR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;7;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3578,"Code":"ENTER","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALDOOR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;13;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3579,"Code":"ANSWDR","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALDOOR;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;15;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3582,"Code":"LEAK-OFF","Name":null,"MessageCode":null,"NeedAck":true,"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":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALLEAK;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;0;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3668,"Code":"CO2","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":0,"Template":"UBIQ;CO2;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;CO2;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]},{"Id":3679,"Code":"ALCO2","Name":null,"MessageCode":null,"NeedAck":true,"IsAck":false,"IsFailAck":false,"IsAckHexString":false,"NoOperation":false,"Type":1,"Template":"UBIQ;ALCO2;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;<>;","HasTemplateGlobal":false,"ResponseTemplate":"<>","TemplateGlobal":null,"LongConnection":false,"HexString":false,"AckFirst":false,"ScaipH":false,"DoNotSendCommands":false,"ProtocolsLibraryMethod":null,"ProtocolsLibraryMethodArgs":null,"Command":null,"CacheImei":false,"RegEx":"^UBIQ;ALCO2;[^;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;[^;;]*;","RegExGlobal":"","IsDeviceUpdate":false,"ProtocolActionObjects":[],"Tags":[]}],"Commands":[],"Operations":[{"Id":140,"Name":"Ubiqutus Operation","Operation":"function ParseHeader(strValue) {\r\n var i = 0;\r\n var res = \"\";\r\n while (i < strValue.length) {\r\n res += String.fromCharCode(parseInt(strValue.substr(i, 2), 16));\r\n i += 2;\r\n }\r\n return res;\r\n}\r\nif (Object.keys(configs).length !== 0) {\r\n hasConfigs = true;\r\n}\r\n\r\nfunction ParseValue(strValue) {\r\n var result = {};\r\n var val = parseInt(strValue, 16); // convert the chunk into an unsigned integer\r\n result.Alarm = (val >> 23) & 0x01; // this is a flag (0 or 1) to indicate that the value is in alarmed state\r\n result.DT = DataType[(val >> 20) & 0x07]; // this defines the value type (current, min, max, average, etc)\r\n result.ID = DeviceID[(val >> 16) & 0x0F]; // this is the measurement type (Battery, Temp, RH, Vibration, etc)\r\n result.Value = (val & 0xFFF); // this is the value mantissa\r\n if (((val >> 12) & 0x01) > 0) result.Value = -result.Value;\r\n var exp = ExpArray[(val >> 13) & 0x07];\r\n result.Value = result.Value * exp;\r\n result.Value = Math.round(result.Value * 100000) / 100000;\r\n // Replacing Device ID if an External Component is connected\r\n if (hasConfigs === true) { //if device has configs ie External Component is connected\r\n if (configs.Sensors.ExternalSensorType) {\r\n if ((result.ID === \"Ext1\") || (result.ID === \"Ext2\")) {\r\n var externalSensor = configs.Sensors.ExternalSensorType; // pulling value of sensor label from intellicare\r\n result.ID = externalSensor; // replace ID with the Sensor label\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n// Checking if correct payload for UBIQ\r\nfunction imeiFits(checkingImei) {\r\n // checking if imei exists\r\n if (!checkingImei) {\r\n return 'False';\r\n // Testing // console.log(\"Empty imei value\");\r\n }\r\n if (checkingImei.length == 11) {\r\n // console.log(Number.isInteger(parseInt(checkingImei)));\r\n // returns True or False\r\n return Number.isInteger(parseInt(checkingImei));\r\n } else {\r\n return 'False';\r\n // Testing // console.log(\"Is not 11 digits\");\r\n }\r\n}\r\n// adding a padding of '0's at the beginning of the length specified\r\nfunction pad(num, size) {\r\n num = num.toString();\r\n while (num.length < size) num = \"0\" + num;\r\n return num;\r\n}\r\nif (imeiFits(params.imeiPart2) && globalTemplate == \"True\") {\r\n var DeviceID = [\"SYS\", \"Ext1\", \"Temp\", \"Battery\", \"Humidity\", \"Temp\", \"Acceleration\", \"Mag\", \"PIR\", \"Lux\", \"Gas\", \"Sound\", \"Smoke\", \"Particle\", \"IR TEMP\", \"GPS\"];\r\n var DataType = [\"CUR\", \"SEC\", \"TRD\", \"MIN\", \"MAX\", \"AVG\", \"EVT\"];\r\n var ExpArray = [1000, 100, 10, 1, 0.1, 0.01, 0.001, 0.0001];\r\n var timeout = 1500;\r\n var ack = \"\";\r\n var chunk;\r\n var datasetStr = '';\r\n var dataset = {};\r\n var eventString = [];\r\n var message_time = moment.utc().unix();\r\n var numEvents = 0;\r\n var dataArray = [];\r\n var dsIdx, valIdx;\r\n var pos = rawFromBytes.indexOf(\"20\"); // the header is up to the value of \"20\" (space character)\r\n var header = ParseHeader(rawFromBytes.slice(0, pos));\r\n // to process the header we slit it into an array. Values are separated by comma \r\n var headerArray = header.split(',');\r\n var imei2 = headerArray[0];\r\n var index = headerArray[1];\r\n var flags = headerArray[2]; // A value of 1 indicates that the device will accept responses\r\n var imsi = headerArray[3];\r\n var rssi = headerArray[4];\r\n var interval = headerArray[5];\r\n var eventP1 = \"UBIQ;\";\r\n var eventP2 = '';\r\n var eventP3 = \";\" + imei2 + \";\" + index + \";\" + flags + \";\" + imsi + \";\" + rssi + \";\" + interval + \";\";\r\n var data = rawFromBytes.slice(pos + 2); // skip the first 00\r\n dataArray = data.split(\"2C\");\r\n datapointCount = [];\r\n datasetCount = 0;\r\n dsIdx = 0;\r\n while (dsIdx < dataArray.length) {\r\n datapointCount[dsIdx] = 0;\r\n datasetStr = dataArray[dsIdx];\r\n if (datasetStr.length >= 8) {\r\n valIdx = 2;\r\n while (valIdx < datasetStr.length) {\r\n chunk = datasetStr.substr(valIdx, 6);\r\n if (chunk.length === 6) {\r\n dataset = ParseValue(chunk);\r\n if (dataset.Alarm === 1) {\r\n eventP2 = \"AL\";\r\n } else {\r\n eventP2 = '';\r\n }\r\n eventP2 = eventP2 + dataset.ID;\r\n event_time = message_time - (interval * 60 * datasetCount);\r\n eventString[numEvents] = eventP1 + eventP2 + eventP3 + event_time + \";\" + dataset.DT + \";\" + dataset.Value + \";\" + dataset.Value + \";\" + numEvents + \";\";\r\n numEvents++;\r\n }\r\n valIdx += 6;\r\n }\r\n datasetCount++;\r\n }\r\n dsIdx++;\r\n }\r\n var c = createConnection(5678, '127.0.0.1');\r\n c.on('data', function(data) {\r\n var msgLocal = [];\r\n if (data.toString() == `ok${numEvents-1}`) {\r\n AddValue(msgLocal, 'ack', 'ok');\r\n AddValue(msgLocal, 'imei', imei2);\r\n console.log(msgLocal);\r\n c.end();\r\n }\r\n });\r\n for (let i = 0; i < numEvents; i++) {\r\n setTimeout(function() {\r\n c.write(eventString[i]);\r\n }, i * timeout);\r\n }\r\n} else if (oystaTemplate == \"True\") {\r\n if (params.datastring) {\r\n var DeviceID = [\"SYS\", \"Ext1\", \"Ext2\", \"Battery\", \"Humidity\", \"Temp\", \"Acceleration\", \"Lux\", \"PIR\", \"CO2\", \"Mag\", \"Sound\", \"Smoke\", \"Particle\", \"IR TEMP\", \"GPS\"];\r\n var DataType = [\"CUR\", \"SEC\", \"TRD\", \"AVG\", \"MIN\", \"MAX\", \"EVT\"];\r\n var ExpArray = [1000, 100, 10, 1, 0.1, 0.01, 0.001, 0.0001];\r\n var chunk;\r\n var timeout = 1500;\r\n var eventString = [];\r\n var message_time = moment.utc().unix();\r\n var numEvents = 0;\r\n var eventP1 = \"UBIQ;\";\r\n var eventP2 = '';\r\n var eventP3 = \";\" + params.imei + \";\" + params.message_index + \";\" + params.flags + \";\" + params.sim + \";\" + params.rssi + \";\" + params.interval + \";\";\r\n var event_time = moment.utc().unix();\r\n dsIdx = 0;\r\n dsStart = 0;\r\n dsEnd = 8;\r\n while (dsEnd <= params.datastring.length) {\r\n if (params.datastring.substring(dsStart, dsStart + 1) == ',') {\r\n dsStart = dsStart + 1;\r\n dsEnd = dsEnd + 3;\r\n }\r\n chunk = params.datastring.substring(dsStart, dsEnd)\r\n if (chunk.length === 8) {\r\n var ts = parseInt(chunk, 16);\r\n sec = pad(ts & 0x3F, 2);\r\n ts >>= 6;\r\n min = pad(ts & 0x3F, 2);\r\n ts >>= 6;\r\n hour = pad(ts & 0x1F, 2);\r\n ts >>= 5;\r\n day = pad(ts & 0x1F, 2);\r\n ts >>= 5;\r\n month = pad(ts & 0x0F, 2);\r\n ts >>= 4;\r\n year = ts + 2000;\r\n time = year + \"-\" + month + \"-\" + day + \" \" + hour + \":\" + min + \":\" + sec\r\n event_time = moment(time).utc().unix();\r\n if (isNaN(event_time)) event_time = moment.utc().unix();\r\n } else if (chunk.length === 6) {\r\n dataset = ParseValue(chunk);\r\n if (dataset.Alarm === 1) {\r\n eventP2 = \"AL\";\r\n } else {\r\n eventP2 = '';\r\n }\r\n eventP2 = eventP2 + dataset.ID;\r\n eventString[numEvents] = eventP1 + eventP2 + eventP3 + event_time + \";\" + dataset.DT + \";\" + dataset.Value + \";\" + dataset.Value + \";\" + numEvents + \";\";\r\n numEvents++;\r\n }\r\n dsStart = dsEnd;\r\n dsEnd = dsEnd + 6;\r\n }\r\n var c = createConnection(5678, '127.0.0.1');\r\n c.on('data', function(data) {\r\n var msgLocal = [];\r\n if (data.toString() == `ok${numEvents-1}`) {\r\n if (commandsWaiting === \"False\") {\r\n AddValue(msgLocal, 'ack', 'ok');\r\n } else if (commandsWaiting === \"True\") {\r\n AddValue(msgLocal, 'ack', '');\r\n }\r\n console.log(msgLocal);\r\n c.end();\r\n }\r\n });\r\n for (let i = 0; i < numEvents; i++) {\r\n setTimeout(function() {\r\n c.write(eventString[i]);\r\n }, i * timeout);\r\n }\r\n } else {\r\n AddValue(msg, 'ack', `ok${params.num_event}`);\r\n }\r\n if (messageTypeLocalCode === \"EXTNOC\") {\r\n var labels = ['Input Open Circuit'];\r\n AddValue(msg, 'oysta_labels', JSON.stringify(labels));\r\n }\r\n} else {\r\n // If the Payload does not match a UBIQ protocol then only output the IMEI\r\n AddValue(msg, 'imei', raw.substring(0, 3) + params.imeiPart2)\r\n}\r\n\r\nfunction createConnection(port, server) {\r\n c = net.createConnection(port, server);\r\n c.on('error', function(error) {\r\n c = createConnection(port, server);\r\n });\r\n return c;\r\n}\r\n\r\nfunction AddValue(msgArray, p1, p2) {\r\n var cvpair = {\r\n code: p1,\r\n value: p2\r\n };\r\n msgArray.push(cvpair);\r\n}","Type":0,"ProtocolActionObjects":[]}],"Groups":[{"Id":3627,"Parent":null,"Name":"Feature Settings","Json":"{\"description\":null,\"columns\":1,\"order\":1,\"listSize\":1,\"toTranslate\":[\"name\",\"description\"]}","DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":3628,"Parent":{"Id":3627,"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":3628,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":3629,"Name":"Sensors","Json":{"description":"External Sensor","columns":1,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"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,"LanguageId":null,"ProtocolActionObjects":[]},{"Id":3629,"Parent":{"Id":3627,"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":3628,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"Device":null,"DeviceRelated":false,"IsList":false,"IsAdminOnly":false,"Deleted":false,"Children":[]},{"Id":3629,"Name":"Sensors","Json":{"description":"External Sensor","columns":1,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":null,"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,"LanguageId":null,"ProtocolActionObjects":[]}],"GroupParams":[{"Id":5286,"Group":{"Id":3628,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":3627,"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":3629,"Name":"Sensors","Json":{"description":"External Sensor","columns":1,"order":3,"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":"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":5285,"Group":{"Id":3628,"Name":"No Activity","Json":{"description":"No Activity","columns":1,"order":2,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":3627,"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":3629,"Name":"Sensors","Json":{"description":"External Sensor","columns":1,"order":3,"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":"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":[],"LanguageId":null,"Tags":[]},{"Id":5288,"Group":{"Id":3629,"Name":"Sensors","Json":{"description":"External Sensor","columns":1,"order":3,"listSize":1,"toTranslate":["name","description"]},"Parent":{"Id":3627,"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":3628,"Name":"No Activity","Json":{"description":"No Activity","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":"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":[],"LanguageId":null,"Tags":[]}],"ProtocolChanges":[{"Version":"1.1","UserName":"Sean-Admin","Resource":"MessageType","Name":"CYC","Message":"(Update) (CYC) remove space","Timestamp":1755700586}],"ProtocolActionObjects":[],"Tags":[],"MessageCodes":[]} \ No newline at end of file