Coder Social home page Coder Social logo

pyit600's People

Contributors

albei avatar fmanaila avatar jvitkauskas avatar konradb3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyit600's Issues

Support for AWRT10RT thermostat, wiring center

I've got a Salus UG600 gateway that's paired via zigbee with 3 Salus AWRT10RT thermostats and one AKL04PRF wireless pump relay controller.

The gateway responds to queries from pyit600 but the reported devices aren't recognized.

Attached is the output of main.py --host 192.168.1.69 --euid FFFFFFFFFFFFFFFF --debug (real EUID obfuscated).
debug.txt

I've tried a quick and dirty modification to gateway.py to add the device "sIT600D" as model "AWRT10RF" -- that seems to work to recognize the thermostats, but the call to:

DEBUG:pyit600:Gateway request: POST http://192.168.1.69:80/deviceid/write
{"requestAttr": "write", "id": [{"data": {"UniID": "FFFFFFFFFFFFFFFF", "DeviceType": 100, "Endpoint": 9}, "sIT600D": {"SetHeatingSetpoint_x100": 2100}}]}

fails and produces:

DEBUG:pyit600:Gateway response:
{"status":"fail","id":[{"status":"fail","data":{"UniID":"FFFFFFFFFFFFFFFF\t","Devicetype":100,"Endpoint":9}}]}

SyntaxError: 'async with' outside async function

I'm not python specialist, so could you help me with following error?

SyntaxError: 'async with' outside async function

I run script with following arguments:

python3 get_dev.py 192.168.0.145 001E5E09xxxxxxxx

edit:
never mind...
Eventually I run:
python3 main.py --host 192.168.0.145 --euid 001E5E09xxxxxxxx
with success

Support for ecm600

Hi I have to show gratitude for your work in getting salus to ha

I have a ecm600 that measures the power usage via clamps on ingoing line.

Hoping you can include this into your portfolio.

Kindly bse4792

Maintainer wanted

I am no longer developing this integration and therefore I am seeking someone who is willing to maintain it. Please contact me if you are interested.

SQ610 works!

Salus SQ610 works but on version 0.2.6. Up to version 0.3.0 at all, the HA did not detect devices, neither the SQ610, nor the SQ610RF, nor the VS20WRF.
image

ITG500/IT500 request/investigation

Would like to help with support on ITG500 and the IT500
Could I clarify if this device is not in scope for this project? If so, is there another project?
If this device is in scope, I have years of experience with Python, Linux, Bash, Network protocols.
Qutie happy to hack and play with WireShark to get network packets.
Otherwise I was going to write a python client for the naff web interface Salus provide.

Unable to write fan mode to UGE600 for FC600 device

While attempting to configure the HA integration I noticed that I am unable to change any settings. Narrowing it down to a minimal reproduction, I ended up with the following code:

import asyncio
import pyit600

async def go() -> asyncio.coroutine:
    gateway = pyit600.IT600Gateway(host="192.168.254.232", euid="001e5e09021f333d", debug=True)
    await gateway.connect()
    await gateway.poll_status()

    #climate_devices = gateway.get_climate_devices()

    #print("All climate devices:")
    #print(repr(climate_devices))

    #for climate_device_id in climate_devices:
    #    print(f"Climate device {climate_device_id} status:")
    #    print(repr(climate_devices.get(climate_device_id)))

    climate_device_id="001e5e0902626670"
    print(f"Setting heating device {climate_device_id} fan_mode to low")
    await gateway.set_climate_device_fan_mode(climate_device_id, "Low")

asyncio.run(go())

After fixing a few minor issues (renaming FAN_MODE_MID to FAN_MODE_MEDIUM and adding more debug entries), output is as follows:

Gateway request: POST http://192.168.254.232:80/deviceid/read
{"requestAttr": "readall"}

Gateway encrypted request: POST http://192.168.254.232:80/deviceid/read
b'\xe5\xa1![\xf9mv\xe6\xff\xd2,q6\xf8\xae\x1b\xc3\xc3\x12\xcd\x9e^\xe3\xda\x12u\xf6\x86\x83s5\xe5'

Gateway decrypted response:
{"status":"success","id":[{"sScheS":{"CoolSchedule1":"01010600240023002800ffffffffffffffffffffffffffffffffdd0600240023002800ffffffffffffffffffffffffffffffffffffffffffffffffffffffff","CoolSchedule2":"01ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","CoolSchedule3":"01ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","ScheduleEnable":1},"sFanS":{"FanMode":2,"FanMode_a":2},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e0902625ea5"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":1300,"LocalTemperature_x100":2600,"CoolingSetpoint_x100":1300,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":3,"OperationMode":0,"RunningState":34,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e0902625ea5","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e0902625ea5","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Hallway Thermostat\",\"ShortID_d\":49791}","FirmwareVersion":"003A0027","ShortID_d":49791,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":0,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1}},{"data":{"DeviceType":200,"Endpoint":0,"UniID":"0000000000000000"},"DeviceL":{"DeviceType":200,"DeviceSubType":0,"UnquieID":"0000000000000000","AttributeList":"000100040003001100050008000b00100033","ModelIdentifier_i":"SAU2AG1-ZC","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"DeviceName":"{\"deviceName\":\"Salus Gateway\",\"ShortID_d\":0}","LeaveRequest_d":0,"MACAddress":"001e5e09021f333d","FirmwareVersion":"20210813","LeaveNetwork":0,"ShortID_d":0},"sCoord":{"PANID_d":21441,"Form_d":1,"Channel_d":18,"TimeFormat24Hour":1,"PermitJoinState_d":0,"ErrorCoordUART":0,"ReceiveZigbeeCommand_d":"7c0f230300830e0900427e010000ea"},"sBasicS":{"ModelIdentifier":"SAU2AG1-ZC","HardwareVersion":"161"},"sEndpt":{"DeviceType":0,"Endpoint_i":0},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/7a40e413-cf77-4953-acf4-3d47d96ee033/SAU2AG1-ZC_20210813.tar.gz","OTAFirmwareVersion_d":"20210813","endPoint_i":0,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818"}},{"sFanS":{"FanMode":3,"FanMode_a":3},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e0902626670"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":2000,"LocalTemperature_x100":2450,"CoolingSetpoint_x100":2000,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":3,"OperationMode":0,"RunningState":66,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e0902626670","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e0902626670","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Reading Thermostat\",\"ShortID_d\":17481}","FirmwareVersion":"00360023","ShortID_d":17481,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","endPoint_i":9,"OTAStatus_d":3},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"Debug_d":"+2000+2000302102002102402102001415C000G51886E2A71A46E2AG51886E2A71A46E2A","AutoCoolingSetpoint_x100":0,"CoolingFanDelay":0,"HoldType":2,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1,"DeviceSetting":"001030501001006032100030000000000800000010000611100000007FFF0000000000"}},{"sFanS":{"FanMode":1,"FanMode_a":1},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e090256d8f7"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":1600,"LocalTemperature_x100":2650,"CoolingSetpoint_x100":1600,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":0,"OperationMode":0,"RunningState":6,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e090256d8f7","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e090256d8f7","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Guestroom Thermostat\",\"ShortID_d\":538}","FirmwareVersion":"003A0027","ShortID_d":538,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":0,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1}},{"data":{"DeviceType":300,"Endpoint":0,"UniID":"0000000000000000"},"DeviceL":{"DeviceType":300,"DeviceSubType":0,"UnquieID":"0000000000000000","AttributeList":"00010002000b000c001e003100330036","ModelIdentifier_i":"SAU2AG1-GW","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sAyla_i":{"aylaNetWorkStatus":1,"aylaConfigStatus":1,"aylaDeviceID":"AC000W000624324","aylaGateWayDsn":"VR00ZN000787818","aylaTimeConfig":"1,1,60,1667091600","aylaSetUTCTimeStatus":1},"sGateway":{"GatewaySoftwareVersion":"020149211103","NetworkWiFiMAC":"00:1e:5e:01:b1:76","LEDMode":1,"NetworkSSID":"fdb783604bdf1a2e4d6a78802c91ab7b","GatewayHardwareVersion":"161","NetworkWiFiIP":"","NetworkLANMAC":"00:1e:5e:01:b1:77","NetworkLANIP":"192.168.254.232","IsRtcRight_i":1,"DisableLocalMode":0,"NetworkPassword":"fdb783604bdf1a2e4d6a78802c91ab7b","AylaConnected_i":1,"ModelIdentifier":"UG888","KeyState_i":0,"TimeOffset_i":1,"LANConnected_d":1,"WiFiConnected_d":0,"IsSdCardNormal_i":0,"PhoneLocation":"","DSTEnable_i":1,"DeviceTimeZone_i":3600,"LocalModeAccessCode":"2ca44efc0c3316b53e65c02b8307f509b38ce1a30d58225e0cc18de6db548e88","WiFiMode":0,"EnableNetworkReset":0,"WirelessAPpassword":"a3390e639c5e320d6c2177d3257fb5ea","TimeZone":"Europe/Belgrade","TimeStatus_i":2,"NetworkLANSubnet":"255.255.248.0","NetworkPriDNS":"192.168.254.254","NetworkLANRouterAddr":"192.168.254.254","NetworkSecDNS":"8.8.8.8","NetworkLANMode":1},"Product":{"Mode":1,"Model":"SAE2AG1"},"sAWSIoT":{"CertsStatus":0,"CertARN":"   "},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/167608df-3be8-4a90-a006-8bf523fcbacb/SAU2AG1-GW_020149211103.tar.gz","OTAFirmwareVersion_d":"020149211103","endPoint_i":0,"OTAStatus_d":0},"sDebug":{"LocalDebugMsg_d":"Model ID is: SAE2AG1","AylaHeartBeatFrequency":0},"status":"success"},{"sFanS":{"FanMode":1,"FanMode_a":1},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e0902625e0c"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":1500,"LocalTemperature_x100":2700,"CoolingSetpoint_x100":1500,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":3,"OperationMode":0,"RunningState":6,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":768,"UnquieID":"001e5e0902625e0c","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e0902625e0c","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Office Thermostat\",\"ShortID_d\":4719}","FirmwareVersion":"003A0027","ShortID_d":4719,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":768,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":2400,"AutoHeatingSetpoint_x100":2100,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1}},{"sScheS":{"CoolSchedule1":"020f","CoolSchedule2":"02ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","CoolSchedule3":"02ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","ScheduleEnable":1},"sFanS":{"FanMode":0,"FanMode_a":0},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e090262659c"},"sDiadS":{"LastMessageRSSI_d":-65},"status":"success","sTherS":{"CoolingSetpoint_x100_a":2100,"LocalTemperature_x100":2750,"CoolingSetpoint_x100":2100,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":0,"OperationMode":0,"RunningState":0,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e090262659c","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e090262659c","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Children Thermostat\",\"ShortID_d\":3715}","FirmwareVersion":"003A0027","ShortID_d":3715,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":0,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1,"DeviceSetting":"001030501001006032100030000000000800000010003011100000007FFF0000000000"}},{"sScheS":{"CoolSchedule1":"01010600240023002800ffffffffffffffffffffffffffffffffdd0600240023002800ffffffffffffffffffffffffffffffffffffffffffffffffffffffff","CoolSchedule3":"01ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","ScheduleEnable":1,"CoolSchedule2":"01ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff"},"sFanS":{"FanMode":3,"FanMode_a":3},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e0902625de5"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":1300,"LocalTemperature_x100":2700,"CoolingSetpoint_x100":1300,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":3,"OperationMode":0,"RunningState":66,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e0902625de5","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e0902625de5","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Dining Thermostat\",\"ShortID_d\":4131}","FirmwareVersion":"003A0027","ShortID_d":4131,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":0,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1}}]}

Gateway request: POST http://192.168.254.232:80/deviceid/read
{"requestAttr": "readall"}

Gateway encrypted request: POST http://192.168.254.232:80/deviceid/read
b'\xe5\xa1![\xf9mv\xe6\xff\xd2,q6\xf8\xae\x1b\xc3\xc3\x12\xcd\x9e^\xe3\xda\x12u\xf6\x86\x83s5\xe5'

Gateway decrypted response:
{"status":"success","id":[{"sScheS":{"CoolSchedule1":"01010600240023002800ffffffffffffffffffffffffffffffffdd0600240023002800ffffffffffffffffffffffffffffffffffffffffffffffffffffffff","CoolSchedule2":"01ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","CoolSchedule3":"01ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","ScheduleEnable":1},"sFanS":{"FanMode":2,"FanMode_a":2},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e0902625ea5"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":1300,"LocalTemperature_x100":2600,"CoolingSetpoint_x100":1300,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":3,"OperationMode":0,"RunningState":34,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e0902625ea5","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e0902625ea5","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Hallway Thermostat\",\"ShortID_d\":49791}","FirmwareVersion":"003A0027","ShortID_d":49791,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":0,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1}},{"data":{"DeviceType":200,"Endpoint":0,"UniID":"0000000000000000"},"DeviceL":{"DeviceType":200,"DeviceSubType":0,"UnquieID":"0000000000000000","AttributeList":"000100040003001100050008000b00100033","ModelIdentifier_i":"SAU2AG1-ZC","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"DeviceName":"{\"deviceName\":\"Salus Gateway\",\"ShortID_d\":0}","LeaveRequest_d":0,"MACAddress":"001e5e09021f333d","FirmwareVersion":"20210813","LeaveNetwork":0,"ShortID_d":0},"sCoord":{"PANID_d":21441,"Form_d":1,"Channel_d":18,"TimeFormat24Hour":1,"PermitJoinState_d":0,"ErrorCoordUART":0,"ReceiveZigbeeCommand_d":"7c0f230300830e0900427e010000ea"},"sBasicS":{"ModelIdentifier":"SAU2AG1-ZC","HardwareVersion":"161"},"sEndpt":{"DeviceType":0,"Endpoint_i":0},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/7a40e413-cf77-4953-acf4-3d47d96ee033/SAU2AG1-ZC_20210813.tar.gz","OTAFirmwareVersion_d":"20210813","endPoint_i":0,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818"}},{"sFanS":{"FanMode":3,"FanMode_a":3},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e0902626670"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":2000,"LocalTemperature_x100":2450,"CoolingSetpoint_x100":2000,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":3,"OperationMode":0,"RunningState":66,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e0902626670","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e0902626670","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Reading Thermostat\",\"ShortID_d\":17481}","FirmwareVersion":"00360023","ShortID_d":17481,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","endPoint_i":9,"OTAStatus_d":3},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"Debug_d":"+2000+2000302102002102402102001415C000G51886E2A71A46E2AG51886E2A71A46E2A","AutoCoolingSetpoint_x100":0,"CoolingFanDelay":0,"HoldType":2,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1,"DeviceSetting":"001030501001006032100030000000000800000010000611100000007FFF0000000000"}},{"sFanS":{"FanMode":1,"FanMode_a":1},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e090256d8f7"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":1600,"LocalTemperature_x100":2650,"CoolingSetpoint_x100":1600,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":0,"OperationMode":0,"RunningState":6,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e090256d8f7","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e090256d8f7","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Guestroom Thermostat\",\"ShortID_d\":538}","FirmwareVersion":"003A0027","ShortID_d":538,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":0,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1}},{"data":{"DeviceType":300,"Endpoint":0,"UniID":"0000000000000000"},"DeviceL":{"DeviceType":300,"DeviceSubType":0,"UnquieID":"0000000000000000","AttributeList":"00010002000b000c001e003100330036","ModelIdentifier_i":"SAU2AG1-GW","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sAyla_i":{"aylaNetWorkStatus":1,"aylaConfigStatus":1,"aylaDeviceID":"AC000W000624324","aylaGateWayDsn":"VR00ZN000787818","aylaTimeConfig":"1,1,60,1667091600","aylaSetUTCTimeStatus":1},"sGateway":{"GatewaySoftwareVersion":"020149211103","NetworkWiFiMAC":"00:1e:5e:01:b1:76","LEDMode":1,"NetworkSSID":"fdb783604bdf1a2e4d6a78802c91ab7b","GatewayHardwareVersion":"161","NetworkWiFiIP":"","NetworkLANMAC":"00:1e:5e:01:b1:77","NetworkLANIP":"192.168.254.232","IsRtcRight_i":1,"DisableLocalMode":0,"NetworkPassword":"fdb783604bdf1a2e4d6a78802c91ab7b","AylaConnected_i":1,"ModelIdentifier":"UG888","KeyState_i":0,"TimeOffset_i":1,"LANConnected_d":1,"WiFiConnected_d":0,"IsSdCardNormal_i":0,"PhoneLocation":"","DSTEnable_i":1,"DeviceTimeZone_i":3600,"LocalModeAccessCode":"2ca44efc0c3316b53e65c02b8307f509b38ce1a30d58225e0cc18de6db548e88","WiFiMode":0,"EnableNetworkReset":0,"WirelessAPpassword":"a3390e639c5e320d6c2177d3257fb5ea","TimeZone":"Europe/Belgrade","TimeStatus_i":2,"NetworkLANSubnet":"255.255.248.0","NetworkPriDNS":"192.168.254.254","NetworkLANRouterAddr":"192.168.254.254","NetworkSecDNS":"8.8.8.8","NetworkLANMode":1},"Product":{"Mode":1,"Model":"SAE2AG1"},"sAWSIoT":{"CertsStatus":0,"CertARN":"   "},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/167608df-3be8-4a90-a006-8bf523fcbacb/SAU2AG1-GW_020149211103.tar.gz","OTAFirmwareVersion_d":"020149211103","endPoint_i":0,"OTAStatus_d":0},"sDebug":{"LocalDebugMsg_d":"Model ID is: SAE2AG1","AylaHeartBeatFrequency":0},"status":"success"},{"sFanS":{"FanMode":1,"FanMode_a":1},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e0902625e0c"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":1500,"LocalTemperature_x100":2700,"CoolingSetpoint_x100":1500,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":3,"OperationMode":0,"RunningState":6,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":768,"UnquieID":"001e5e0902625e0c","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e0902625e0c","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Office Thermostat\",\"ShortID_d\":4719}","FirmwareVersion":"003A0027","ShortID_d":4719,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":768,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":2400,"AutoHeatingSetpoint_x100":2100,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1}},{"sScheS":{"CoolSchedule1":"020f","CoolSchedule2":"02ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","CoolSchedule3":"02ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","ScheduleEnable":1},"sFanS":{"FanMode":0,"FanMode_a":0},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e090262659c"},"sDiadS":{"LastMessageRSSI_d":-65},"status":"success","sTherS":{"CoolingSetpoint_x100_a":2100,"LocalTemperature_x100":2750,"CoolingSetpoint_x100":2100,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":0,"OperationMode":0,"RunningState":0,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e090262659c","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e090262659c","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Children Thermostat\",\"ShortID_d\":3715}","FirmwareVersion":"003A0027","ShortID_d":3715,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":0,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1,"DeviceSetting":"001030501001006032100030000000000800000010003011100000007FFF0000000000"}},{"sScheS":{"CoolSchedule1":"01010600240023002800ffffffffffffffffffffffffffffffffdd0600240023002800ffffffffffffffffffffffffffffffffffffffffffffffffffffffff","CoolSchedule3":"01ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","ScheduleEnable":1,"CoolSchedule2":"01ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff"},"sFanS":{"FanMode":3,"FanMode_a":3},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e0902625de5"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":1300,"LocalTemperature_x100":2700,"CoolingSetpoint_x100":1300,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":3,"OperationMode":0,"RunningState":66,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e0902625de5","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e0902625de5","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Dining Thermostat\",\"ShortID_d\":4131}","FirmwareVersion":"003A0027","ShortID_d":4131,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":0,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1}}]}

Gateway request: POST http://192.168.254.232:80/deviceid/read
{"requestAttr": "deviceid", "id": [{"data": {"DeviceType": 300, "Endpoint": 0, "UniID": "0000000000000000"}}]}

Gateway encrypted request: POST http://192.168.254.232:80/deviceid/read
b'\xe5\xa1![\xf9mv\xe6\xff\xd2,q6\xf8\xae\x1bu\xc4o\xdc\xea\xe3x\xd5o-\xc5\xfb\x96\xc0L\x7f3\x180\x15aj\xd3\x98\x13\xf9\x1a!\x8d2\x91.\xb1\xd6\xf7q\xae\x13k\xdb1\xde5\x9e\xa7\xde=%\x10tDRU\x12\xc0\xddM\x1dDA\xaa_\xeeG/\x8a5{\x8a\xaf\x18\xb5\xa7-\xce:B\xef\x99\xf6\x03\x1fA(\xf3\xe0f\xe7\x80\xdaN\xf8]\xeb\xd6\xed'

Gateway decrypted response:
{"status":"success","id":[{"data":{"DeviceType":300,"Endpoint":0,"UniID":"0000000000000000"},"DeviceL":{"DeviceType":300,"DeviceSubType":0,"UnquieID":"0000000000000000","AttributeList":"00010002000b000c001e003100330036","ModelIdentifier_i":"SAU2AG1-GW","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sAyla_i":{"aylaNetWorkStatus":1,"aylaConfigStatus":1,"aylaDeviceID":"AC000W000624324","aylaGateWayDsn":"VR00ZN000787818","aylaTimeConfig":"1,1,60,1667091600","aylaSetUTCTimeStatus":1},"sGateway":{"GatewaySoftwareVersion":"020149211103","NetworkWiFiMAC":"00:1e:5e:01:b1:76","LEDMode":1,"NetworkSSID":"fdb783604bdf1a2e4d6a78802c91ab7b","GatewayHardwareVersion":"161","NetworkWiFiIP":"","NetworkLANMAC":"00:1e:5e:01:b1:77","NetworkLANIP":"192.168.254.232","IsRtcRight_i":1,"DisableLocalMode":0,"NetworkPassword":"fdb783604bdf1a2e4d6a78802c91ab7b","AylaConnected_i":1,"ModelIdentifier":"UG888","KeyState_i":0,"TimeOffset_i":1,"LANConnected_d":1,"WiFiConnected_d":0,"IsSdCardNormal_i":0,"PhoneLocation":"","DSTEnable_i":1,"DeviceTimeZone_i":3600,"LocalModeAccessCode":"2ca44efc0c3316b53e65c02b8307f509b38ce1a30d58225e0cc18de6db548e88","WiFiMode":0,"EnableNetworkReset":0,"WirelessAPpassword":"a3390e639c5e320d6c2177d3257fb5ea","TimeZone":"Europe/Belgrade","TimeStatus_i":2,"NetworkLANSubnet":"255.255.248.0","NetworkPriDNS":"192.168.254.254","NetworkLANRouterAddr":"192.168.254.254","NetworkSecDNS":"8.8.8.8","NetworkLANMode":1},"Product":{"Mode":1,"Model":"SAE2AG1"},"sAWSIoT":{"CertsStatus":0,"CertARN":"   "},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/167608df-3be8-4a90-a006-8bf523fcbacb/SAU2AG1-GW_020149211103.tar.gz","OTAFirmwareVersion_d":"020149211103","endPoint_i":0,"OTAStatus_d":0},"sDebug":{"LocalDebugMsg_d":"Model ID is: SAE2AG1","AylaHeartBeatFrequency":0},"status":"success"}]}

Gateway request: POST http://192.168.254.232:80/deviceid/read
{"requestAttr": "deviceid", "id": [{"data": {"DeviceType": 100, "Endpoint": 9, "UniID": "001e5e0902625ea5"}}, {"data": {"DeviceType": 100, "Endpoint": 9, "UniID": "001e5e0902626670"}}, {"data": {"DeviceType": 100, "Endpoint": 9, "UniID": "001e5e090256d8f7"}}, {"data": {"DeviceType": 100, "Endpoint": 9, "UniID": "001e5e0902625e0c"}}, {"data": {"DeviceType": 100, "Endpoint": 9, "UniID": "001e5e090262659c"}}, {"data": {"DeviceType": 100, "Endpoint": 9, "UniID": "001e5e0902625de5"}}]}

Gateway encrypted request: POST http://192.168.254.232:80/deviceid/read
b"\xe5\xa1![\xf9mv\xe6\xff\xd2,q6\xf8\xae\x1bu\xc4o\xdc\xea\xe3x\xd5o-\xc5\xfb\x96\xc0L\x7f3\x180\x15aj\xd3\x98\x13\xf9\x1a!\x8d2\x91.2\xb9\xc2P\x7f\xa9\x1a\xec\xbdn\x12\x89\x80\x12(\x84\x03\x0c\x0e:\xa6HKH\xe3\xee\xc4n\xc4\xfe\x8c{\xc5\x81\xee1\xb4\xa4\x14N\xe5\xd1\xcc\xe03R\x80\xa3U\x11X\x95I\x91\xce~\xf4Y\xc8\xa0\xb4\xd7>\xc6\xaf[I\xb9n\xc7\x1e\x9d\x95P\xb1\xa9\xd2\xdd#\xa2 \xcc4\x05\xe7|\xfd\x8f\x18\xd1\xabt\xacL\x90qu\xbc8\xcfC\xa1\x9cI?\x84\xbe\x1d2\x8a>\xfeO\r@z\xe9l\xf7\xe3[\xb2\x11\xb5nP\xb3<w\xa1\xd8\x11\x89\xee\x93\xb3j\xb7\xa6\x82\xaa&\x06<\xda\xbcd\x03\xff>\x8f\x92\x8bQ<\xe1\xa9.c\x1f+\xee?\xb3)\xfa\xe5\xf5V\xa7UY\xb0\xc5A\x7f\r\xa3\xaa\xf5\x0b\x80\x8e\xb5\x0e\xb3L\x0f\xfbB\xab\x16\xb1o8tl\xaf\xab\x15!\xef$\xcd\xbd\xbf\x8d\xbc\xca\x8a&\xf2\xe9\xe5\xa0\xcc\xb6e\xcc\xe7\x95\xc7B\xba#7\x91%#\x1c\x14\xedO\xd2aGn\x8d\x0e\x8e:!B\xd9Y\xa8\xb2z\xad\xa6\xe1\n\xb3\xa6\xd5\xd6\x9f\xe7vD\xcfY\x04\xbc\xd4\xfa\xc3\x98f\x9e\x87C\xfck\xd1+5\x96nM\xb3\xd09\x845\xa8\xd2\r/h\xcb\xe5\xa6\xc3x\xce\xcf\xec\xc4\xf9\x1f\xbf\xbc\xf2\xccb\xc9\xc6\xfd\x111\x98>\xeeK\xb0\xb9D\xa0q\\\xc4\xacji\xc9\xef\xb0\xbe\r\x91(\x8e_\xady*\xdc\xde\xa3\xa8\xd1\xec\xd0zh\x83.\x13C\xb4\xf4\xb4d\xceUd\x08k\xeech\xf2\x9e\xf8\xfe\xb7\xa57\xef \xd7\x11\xdc\x91'{\xc1\xe9\xda\x16\x95\xa4\xc4\xb0\x1dQ*\xfa\x8c\x9a\x83\xe6\x97\x83\x0eJ\x0f\xf1\x85w\xcb\xf9\x9dj\xd7\xe7J\xc7\xf0\x92?H\x1c\x81Y2\xed<\x9d+t\xea\xcb\xc3\x14\xfb\xec\xc3bH\x84\xd8i\xba8\x7fT\x83\xe3\x99\x02\x1f\x16\xa1\xaf\x9c\x1c"

Gateway decrypted response:
{"status":"success","id":[{"sScheS":{"CoolSchedule1":"01010600240023002800ffffffffffffffffffffffffffffffffdd0600240023002800ffffffffffffffffffffffffffffffffffffffffffffffffffffffff","CoolSchedule2":"01ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","CoolSchedule3":"01ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","ScheduleEnable":1},"sFanS":{"FanMode":2,"FanMode_a":2},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e0902625ea5"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":1300,"LocalTemperature_x100":2600,"CoolingSetpoint_x100":1300,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":3,"OperationMode":0,"RunningState":34,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e0902625ea5","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e0902625ea5","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Hallway Thermostat\",\"ShortID_d\":49791}","FirmwareVersion":"003A0027","ShortID_d":49791,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":0,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1}},{"sFanS":{"FanMode":3,"FanMode_a":3},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e0902626670"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":2000,"LocalTemperature_x100":2450,"CoolingSetpoint_x100":2000,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":3,"OperationMode":0,"RunningState":66,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e0902626670","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e0902626670","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Reading Thermostat\",\"ShortID_d\":17481}","FirmwareVersion":"00360023","ShortID_d":17481,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","endPoint_i":9,"OTAStatus_d":3},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"Debug_d":"+2000+2000302102002102402102001415C000G51886E2A71A46E2AG51886E2A71A46E2A","AutoCoolingSetpoint_x100":0,"CoolingFanDelay":0,"HoldType":2,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1,"DeviceSetting":"001030501001006032100030000000000800000010000611100000007FFF0000000000"}},{"sFanS":{"FanMode":1,"FanMode_a":1},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e090256d8f7"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":1600,"LocalTemperature_x100":2650,"CoolingSetpoint_x100":1600,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":0,"OperationMode":0,"RunningState":6,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e090256d8f7","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e090256d8f7","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Guestroom Thermostat\",\"ShortID_d\":538}","FirmwareVersion":"003A0027","ShortID_d":538,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":0,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1}},{"sFanS":{"FanMode":1,"FanMode_a":1},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e0902625e0c"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":1500,"LocalTemperature_x100":2700,"CoolingSetpoint_x100":1500,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":3,"OperationMode":0,"RunningState":6,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":768,"UnquieID":"001e5e0902625e0c","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e0902625e0c","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Office Thermostat\",\"ShortID_d\":4719}","FirmwareVersion":"003A0027","ShortID_d":4719,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":768,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":2400,"AutoHeatingSetpoint_x100":2100,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1}},{"sScheS":{"CoolSchedule1":"020f","CoolSchedule2":"02ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","CoolSchedule3":"02ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","ScheduleEnable":1},"sFanS":{"FanMode":0,"FanMode_a":0},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e090262659c"},"sDiadS":{"LastMessageRSSI_d":-65},"status":"success","sTherS":{"CoolingSetpoint_x100_a":2100,"LocalTemperature_x100":2750,"CoolingSetpoint_x100":2100,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":0,"OperationMode":0,"RunningState":0,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e090262659c","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e090262659c","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Children Thermostat\",\"ShortID_d\":3715}","FirmwareVersion":"003A0027","ShortID_d":3715,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":0,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1,"DeviceSetting":"001030501001006032100030000000000800000010003011100000007FFF0000000000"}},{"sScheS":{"CoolSchedule1":"01010600240023002800ffffffffffffffffffffffffffffffffdd0600240023002800ffffffffffffffffffffffffffffffffffffffffffffffffffffffff","CoolSchedule3":"01ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff","ScheduleEnable":1,"CoolSchedule2":"01ffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffffffffffffffffffffffffffffddffffffffffffffffffffffff"},"sFanS":{"FanMode":3,"FanMode_a":3},"data":{"DeviceType":100,"Endpoint":9,"UniID":"001e5e0902625de5"},"status":"success","sTherS":{"CoolingSetpoint_x100_a":1300,"LocalTemperature_x100":2700,"CoolingSetpoint_x100":1300,"UnocCoolingSetpoint_x100":3000,"MinHeatSetpoint_x100":500,"HeatingSetpoint_x100":2100,"ACErrorCode_d":0,"HeatingSetpoint_x100_a":2100,"TempCalibration_x10":0,"ErrorTherSCompressor":0,"ErrorTherSTempSensor":0,"MaxCoolSetpoint_x100":4000,"UnocHeatingSetpoint_x100":1500,"MaxHeatSetpoint_x100":4000,"ErrorTherSOutdSensor":0,"Ocupancy":0,"MinCoolSetpoint_x100":500,"SystemMode":3,"SystemMode_a":3,"RunningMode":3,"OperationMode":0,"RunningState":66,"ErrorTherSOutdSensorShort":0,"ErrorTherSTempSensorShort":0,"ErrorInWallSwitchReleased":0},"DeviceL":{"DeviceType":100,"DeviceSubType":769,"UnquieID":"001e5e0902625de5","AttributeList":"000100100003001100330034000500080019001c001d001a00210022002a000b001b","ModelIdentifier_i":"FC600","ClusterIDList_i":"00000003000400050201020202040402fc04fc06fc09000a0019#","getModelIdentifierFlag_i":1,"DeviceEndpointNum_i":1},"sZDO":{"ProtocalType_i":2,"MACAddress":"001e5e0902625de5","LeaveRequest_d":0,"DeviceName":"{\"deviceName\":\"Dining Thermostat\",\"ShortID_d\":4131}","FirmwareVersion":"003A0027","ShortID_d":4131,"LeaveNetwork":0,"JoinConfigVersion_i":"211018"},"sTherUIS":{"TemperatureDisplayMode":0,"LockKey":0},"sBasicS":{"ManufactureName":"SALUS","ModelIdentifier":"FC600","HardwareVersion":"2","ApplicationVersion_d":1,"StackVersion_d":87,"PowerSource":1},"sEndpt":{"DeviceType":769,"Endpoint_i":9},"sOTA":{"OTAFirmwareURL_d":"http://eu.salusconnect.io/download/firmware/b478a944-6a14-4f20-9320-4854ce7b141d/FC600_003A0027.tar.gz","OTAFirmwareVersion_d":"003A0027","endPoint_i":9,"OTAStatus_d":0},"sZDOInfo":{"OnlineStatus_i":1,"GatewayNodeDSN_i":"VR00ZN000787818","JoinConfigEnd":1},"sComm":{"TimeFormat24Hour":1,"CoolingFanDelay":0,"HoldType":2,"AutoCoolingSetpoint_x100":0,"AutoHeatingSetpoint_x100":0,"HoldType_a":2,"ShortCycleProtection":300},"sFanCoil":{"FanCoilType":0,"S1ComTerminals":0,"CompleteSetup":15,"HeatCoolSelection":1,"S2ComTerminals":0,"WindowIconEnable":1}}]}

Setting heating device 001e5e0902626670 fan_mode to low
Gateway request: POST http://192.168.254.232:80/deviceid/write
{"requestAttr": "write", "id": [{"data": {"DeviceType": 100, "Endpoint": 9, "UniID": "001e5e0902626670"}, "sFanS": {"FanMode": 1}}]}

Gateway encrypted request: POST http://192.168.254.232:80/deviceid/write
b"\xe5\xa1![\xf9mv\xe6\xff\xd2,q6\xf8\xae\x1b\xdfv\x8e\xf1zt\x84@\x18u\xe5!j\x7fD\x99V\xd8\xc8\xca\xfe\x9b\x8b9-r\xb2e\xa5\xcb\x85\x0f\xb4\x93\x11h[\xe2Oi\xca5i\x81\xe9\xfd\t*\x7f\x81\xc5\x9b\xbc\xf4\x9a\xfb\xb0\xd0$\xb8\x99\x02e\x88\xcao4{\xecT\x8e=\xa1\xa1n\xb8\x1d\xafxmT\xcf\xfe\xa1\xf5T\x12\x13I\x05{'\x14y\x1c\x13\xdd\xdd\xc2\xe3\x17{\xb6\nto\xb6\xfa\x95\xd2\xf4\x97@0\x9dWeT\x82\xfb\xafJ;\xfdb\xdd\x7f\xe8"

Gateway decrypted response:
{"status":"fail","id":[{"status":"fail","data":{"Endpoint":9,"Devicetype":100,"UniID":"001e5e0902626670\t"}}]}

write failed: {'requestAttr': 'write', 'id': [{'data': {'DeviceType': 100, 'Endpoint': 9, 'UniID': '001e5e0902626670'}, 'sFanS': {'FanMode': 1}}]}
Exception. <class 'pyit600.exceptions.IT600CommandError'> ("iT600 gateway rejected 'write' command with content '{'requestAttr': 'write', 'id': [{'data': {'DeviceType': 100, 'Endpoint': 9, 'UniID': '001e5e0902626670'}, 'sFanS': {'FanMode': 1}}]}'",) / iT600 gateway rejected 'write' command with content '{'requestAttr': 'write', 'id': [{'data': {'DeviceType': 100, 'Endpoint': 9, 'UniID': '001e5e0902626670'}, 'sFanS': {'FanMode': 1}}]}'
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/pyit600/gateway.py", line 943, in _make_encrypted_request
    raise IT600CommandError(
pyit600.exceptions.IT600CommandError: iT600 gateway rejected 'write' command with content '{'requestAttr': 'write', 'id': [{'data': {'DeviceType': 100, 'Endpoint': 9, 'UniID': '001e5e0902626670'}, 'sFanS': {'FanMode': 1}}]}'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/config/test-salus.py", line 22, in <module>
    asyncio.run(go())
  File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/local/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/config/test-salus.py", line 20, in go
    await gateway.set_climate_device_fan_mode(climate_device_id, "Low")
  File "/usr/local/lib/python3.10/site-packages/pyit600/gateway.py", line 809, in set_climate_device_fan_mode
    await self._make_encrypted_request(
  File "/usr/local/lib/python3.10/site-packages/pyit600/gateway.py", line 960, in _make_encrypted_request
    raise IT600CommandError(
pyit600.exceptions.IT600CommandError: Unknown error occurred while communicating with iT600 gateway
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0xb58b3748>
Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0xb58a2988>, 11537.496090802)]']
connector: <aiohttp.connector.TCPConnector object at 0xb58b3868>

The relevant error is the "iT600 gateway rejected 'write' command with content" message. Reading data appears to work perfectly fine.

FC600 users wanted

Salus FC600 Fan Coil thermostat it's probably not supported yet. I am looking for owners to provide logs and help me figure this out.

HA not controlling Salus Thermostats

HA is now not able to adjust/control my Salus thermostat temperatures, I can't figure out why.

I can see the entities and attributes, no problem, but adjusting the temperature of a thermostat in HA does not seem to get through to the thermostat.

However, HA can control the thermostat mode, ie from permanent hold to schedule etc.

If I manually adjust the temperature on the thermostat in the room, HA sees the adjustment.

So it my diagnosis is that HA isn't sending temperature adjustments through to the gateway, but the gateway sends information to HA. Any ideas please?

iT600 gateway rejected 'read' command with content '{'requestAttr': 'deviceid', 'id': []}'

Hi, when I launch main.py with demo application and trying to connect to my UGE600 gateway I get error during "read" request. Trace log at the bottom.
The same thing when I try to integrate with home-assistant. There is a issue about that in homeassistant_salus project: konradb3/homeassistant_salus#2
Unfortunately I do not have any python experience and will be glad if someone can help figure out what is wrong.

System information:

  • Host system: Windows 10
  • Python 3.8.3
  • Salus UGE600 gateway
  • UGE600 software version: 020140200226
  • UGE600 coordinator version: 20200115
  • ZigBee chanel: 15
  • Thermostat connected: TS600 (the one and only active component)
  • There are other salus components mapped to UGE600 but they are turned off right now so there are warnings in app,
  • UGE600 has ip from router DHCP, 192.168.1.15 via wifi only,
  • UGE600 is reachable from salus it600 app.
  • http://192.168.1.15 shows only empty single select and "Refresh ID List" button.

Trace log after launching main.py:

C:\Projekty\Python_sandbox\it600>python main.py --host 192.168.1.15 --euid 001E5E0########
DEBUG:pyit600:Trying to connect to gateway at 192.168.1.15
ERROR:pyit600:read failed: {'requestAttr': 'deviceid', 'id': []}
--- Logging error ---
Traceback (most recent call last):
  File "C:\Python38\lib\site-packages\pyit600\gateway.py", line 280, in _make_encrypted_request
    raise IT600CommandError(
pyit600.exceptions.IT600CommandError: iT600 gateway rejected 'read' command with content '{'requestAttr': 'deviceid', 'id': []}'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python38\lib\logging\__init__.py", line 1081, in emit
    msg = self.format(record)
  File "C:\Python38\lib\logging\__init__.py", line 925, in format
    return fmt.format(record)
  File "C:\Python38\lib\logging\__init__.py", line 664, in format
    record.message = record.getMessage()
  File "C:\Python38\lib\logging\__init__.py", line 369, in getMessage
    msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
  File "main.py", line 78, in <module>
    asyncio.run(main())
  File "C:\Python38\lib\asyncio\runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "C:\Python38\lib\asyncio\base_events.py", line 603, in run_until_complete
    self.run_forever()
  File "C:\Python38\lib\asyncio\windows_events.py", line 316, in run_forever
    super().run_forever()
  File "C:\Python38\lib\asyncio\base_events.py", line 570, in run_forever
    self._run_once()
  File "C:\Python38\lib\asyncio\base_events.py", line 1859, in _run_once
    handle._run()
  File "C:\Python38\lib\asyncio\events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "main.py", line 62, in main
    await gateway.poll_status(send_callback=True)
  File "C:\Python38\lib\site-packages\pyit600\gateway.py", line 115, in poll_status
    status = await self._make_encrypted_request(
  File "C:\Python38\lib\site-packages\pyit600\gateway.py", line 291, in _make_encrypted_request
    _LOGGER.error("Exception. %s / %s", type(e), repr(e.args), e)
Message: 'Exception. %s / %s'
Arguments: (<class 'pyit600.exceptions.IT600CommandError'>, '("iT600 gateway rejected \'read\' command with content \'{\'requestAttr\': \'deviceid\', \'id\': []}\'",)', IT600CommandError("iT600 gateway rejected 'read' command with content '{'requestAttr': 'deviceid', 'id': []}'"))
Traceback (most recent call last):
  File "C:\Python38\lib\site-packages\pyit600\gateway.py", line 280, in _make_encrypted_request
    raise IT600CommandError(
pyit600.exceptions.IT600CommandError: iT600 gateway rejected 'read' command with content '{'requestAttr': 'deviceid', 'id': []}'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "main.py", line 78, in <module>
    asyncio.run(main())
  File "C:\Python38\lib\asyncio\runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "C:\Python38\lib\asyncio\base_events.py", line 616, in run_until_complete
    return future.result()
  File "main.py", line 62, in main
    await gateway.poll_status(send_callback=True)
  File "C:\Python38\lib\site-packages\pyit600\gateway.py", line 115, in poll_status
    status = await self._make_encrypted_request(
  File "C:\Python38\lib\site-packages\pyit600\gateway.py", line 292, in _make_encrypted_request
    raise IT600CommandError(
pyit600.exceptions.IT600CommandError: Unknown error occurred while communicating with iT600 gateway

Selling my Salus devices on eBay

EUID seems invalid

Hello!
Have you had any issues using the EUID on the gateway?
I get an error immediately after it tries to connect and enumerate all devices. It wont succeed with readall request even if I tried all the possible combinations.

OS600

Dear developer

It looks like the OS600 Windows Device are wrong. It appears as a temperature device and not as a binary switch

SensorDevice(available=True, name='Kontor, sensor', unique_id='xxxxxxxxxxxxxxxx', state='15.76', unit_of_measurement='°C', device_class='temperature', data={'DeviceType': 100, 'Endpoint': 1, 'UniID': '001e5e09021bf7c3'}, manufacturer='SALUS', model='OS600', sw_version='20160620')

Home Assistant support

Hello, congratulations on your efforts! Everything you have done so far is very helpful, I have been trying for a long time to integrate this system in the home assistant. I own the salus system with thermostats vs30 do you think they can be integrated in the home assistant?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.