Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hive SLR1 #8184

Closed
steveuk23 opened this issue Jul 30, 2021 · 263 comments
Closed

Hive SLR1 #8184

steveuk23 opened this issue Jul 30, 2021 · 263 comments
Labels
new device support New device support request

Comments

@steveuk23
Copy link

Hi @Koenkk @robertalexa
I'm trying to add a Unsupported device to zigbee2mqtt (i use the edge addon btw)
The device is listed as SLR1 and i was hoping it was basically the same as the SLR1b that is supported.
i found this hive.js and edited it to suit my device and added the below to my zigbee2mqtt configuration.yaml

external_converters:
  - hive.js

But every time i restart the add on it fails to reload until i delete the line again,
I'm not great with all this so am just guessing as i go along but have read about
adding it to devices.js but not sure how or where that file is.
My hive.js code is like below

const exposes = require('../lib/exposes');
const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
const tz = require('../converters/toZigbee');
const globalStore = require('../lib/store');
const constants = require('../lib/constants');
const reporting = require('../lib/reporting');
const extend = require('../lib/extend');
const e = exposes.presets;
const ea = exposes.access;

module.exports = [
    {
        zigbeeModel: ['SLR1'],
        model: 'SLR1',
        vendor: 'Hive',
        description: 'Heating thermostat',
        fromZigbee: [fz.legacy.thermostat_att_report, fz.legacy.thermostat_weekly_schedule_rsp],
        toZigbee: [tz.thermostat_local_temperature, tz.thermostat_system_mode, tz.thermostat_running_state,
            tz.thermostat_occupied_heating_setpoint, tz.thermostat_control_sequence_of_operation, tz.thermostat_weekly_schedule,
            tz.thermostat_clear_weekly_schedule, tz.thermostat_temperature_setpoint_hold, tz.thermostat_temperature_setpoint_hold_duration],
        exposes: [exposes.climate().withSetpoint('occupied_heating_setpoint', 7, 30, 1).withLocalTemperature()
            .withSystemMode(['off', 'auto', 'heat']).withRunningState(['idle', 'heat']).withPiHeatingDemand()],
        meta: {disableDefaultResponse: true},
        configure: async (device, coordinatorEndpoint, logger) => {
            const endpoint = device.getEndpoint(5);
            const binds = ['genBasic', 'genIdentify', 'genAlarms', 'genTime', 'hvacThermostat'];
            await reporting.bind(endpoint, coordinatorEndpoint, binds);
            await reporting.thermostatTemperature(endpoint, {min: 0, max: constants.repInterval.HOUR, change: 1});
            await reporting.thermostatRunningState(endpoint);
            await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
            await reporting.thermostatTemperatureSetpointHold(endpoint);
            await reporting.thermostatTemperatureSetpointHoldDuration(endpoint);
        },
    },
];

hive

@steveuk23 steveuk23 added the new device support New device support request label Jul 30, 2021
@robertalexa
Copy link
Contributor

robertalexa commented Jul 30, 2021

@steveuk23 Thanks for emailing me, but as explained to you i much prefer to try and help you here for the benefit of everyone else. Hope you can understand :)

Can you please try the following, as per the documentation:

  • in the same location as your configuration.yaml file create a new file called SLR1.js

Paste the following code

const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const extend = require('zigbee-herdsman-converters/lib/extend');
const e = exposes.presets;
const ea = exposes.access;

const definition = {
    zigbeeModel: ['SLR1'],
    model: 'SLR1',
    vendor: 'Hive',
    description: 'Heating thermostat',
    fromZigbee: [fz.thermostat_att_report, fz.thermostat_weekly_schedule_rsp],
    toZigbee: [tz.thermostat_local_temperature, tz.thermostat_system_mode, tz.thermostat_running_state,
        tz.thermostat_occupied_heating_setpoint, tz.thermostat_control_sequence_of_operation, tz.thermostat_weekly_schedule,
        tz.thermostat_clear_weekly_schedule, tz.thermostat_temperature_setpoint_hold, tz.thermostat_temperature_setpoint_hold_duration],
    exposes: [exposes.climate().withSetpoint('occupied_heating_setpoint', 7, 30, 1).withLocalTemperature()
        .withSystemMode(['off', 'auto', 'heat']).withRunningState(['idle', 'heat']).withPiHeatingDemand()],
    meta: {disableDefaultResponse: true},
    configure: async (device, coordinatorEndpoint, logger) => {
        const endpoint = device.getEndpoint(5);
        const binds = ['genBasic', 'genIdentify', 'genAlarms', 'genTime', 'hvacThermostat'];
        await reporting.bind(endpoint, coordinatorEndpoint, binds);
        await reporting.thermostatTemperature(endpoint, {min: 0, max: constants.repInterval.HOUR, change: 1});
        await reporting.thermostatRunningState(endpoint);
        await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
        await reporting.thermostatTemperatureSetpointHold(endpoint);
        await reporting.thermostatTemperatureSetpointHoldDuration(endpoint);
    },
};

module.exports = definition;
  • make sure the log level is set to debug so you can check the logs if needed.
  • restart z2m
  • try the device.

Let me know how it goes, if things do not work, can you please paste your logs in here.

Rob

@steveuk23
Copy link
Author

@steveuk23 Thanks for emailing me, but as explained to you i much prefer to try and help you here for the benefit of everyone else. Hope you can understand :)

Can you please try the following, as per the documentation:

  • in the same location as your configuration.yaml file create a new file called SLR1.js

Paste the following code

const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const extend = require('zigbee-herdsman-converters/lib/extend');
const e = exposes.presets;
const ea = exposes.access;

const definition = {
    zigbeeModel: ['SLR1'],
    model: 'SLR1',
    vendor: 'Hive',
    description: 'Heating thermostat',
    fromZigbee: [fz.thermostat_att_report, fz.thermostat_weekly_schedule_rsp],
    toZigbee: [tz.thermostat_local_temperature, tz.thermostat_system_mode, tz.thermostat_running_state,
        tz.thermostat_occupied_heating_setpoint, tz.thermostat_control_sequence_of_operation, tz.thermostat_weekly_schedule,
        tz.thermostat_clear_weekly_schedule, tz.thermostat_temperature_setpoint_hold, tz.thermostat_temperature_setpoint_hold_duration],
    exposes: [exposes.climate().withSetpoint('occupied_heating_setpoint', 7, 30, 1).withLocalTemperature()
        .withSystemMode(['off', 'auto', 'heat']).withRunningState(['idle', 'heat']).withPiHeatingDemand()],
    meta: {disableDefaultResponse: true},
    configure: async (device, coordinatorEndpoint, logger) => {
        const endpoint = device.getEndpoint(5);
        const binds = ['genBasic', 'genIdentify', 'genAlarms', 'genTime', 'hvacThermostat'];
        await reporting.bind(endpoint, coordinatorEndpoint, binds);
        await reporting.thermostatTemperature(endpoint, {min: 0, max: constants.repInterval.HOUR, change: 1});
        await reporting.thermostatRunningState(endpoint);
        await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
        await reporting.thermostatTemperatureSetpointHold(endpoint);
        await reporting.thermostatTemperatureSetpointHoldDuration(endpoint);
    },
};

module.exports = definition;
  • make sure the log level is set to debug so you can check the logs if needed.
  • restart z2m
  • try the device.

Let me know how it goes, if things do not work, can you please paste your logs in here.

Rob

No i understand what you mean about doing it through here for others :)
I added the code to a SLR1.js file and placed it in the same folder.
But i'm not 100% sure how i add it as a external convertor so i added it in the configuration section of the add on like below

data_path: /share/zigbee2mqtt
external_converters:
  - SLR1.js

is that correct ?
But again the add on fails to restart when i press restart this is the error i'm getting in the log

Error: Cannot find module 'zigbee-herdsman-converters/lib/extend'
Require stack:
- /app/lib/util/utils.js
- /app/lib/util/settings.js
- /app/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at /app/lib/util/externally-loaded.js:5:16
    at Script.runInContext (vm.js:143:18)
    at Script.runInNewContext (vm.js:148:17)
    at Object.runInNewContext (vm.js:303:38)
    at loadModuleFromText (/app/lib/util/utils.js:162:8)
    at loadModuleFromFile (/app/lib/util/utils.js:168:12)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:2569) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:2569) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

@robertalexa
Copy link
Contributor

@steveuk23 Yes the configuration.yaml bit is correct.

Just to clarify:

  • if you remove the external converter from your configuration.yaml does it start properly?
  • do you have any other zigbee devices and are they working?
  • is you z2m instance the HA addon or a separate installation?

@steveuk23
Copy link
Author

@robertalexa Yes it starts back up no problems.

i have about 30 zigbee devices working no problems.
I'm actually using the Zigbee2mqtt EDGE addon within HA as it supported another device a while ago but i ended up staying on it to save the hassle of moving back to the standard zigbee2mqtt.
I just noticed it says 501 bad gateway where the dashboard should load.

@robertalexa
Copy link
Contributor

It would say 501 bad gateway while the addon properly starts. Give is a minute and it should load.

From the code i gave you, try removing this line and try again

const extend = require('zigbee-herdsman-converters/lib/extend');

With regards to the Edge addon, to my knowledge you can keep both of them installed, as long as one of them is stopped. You can always backup you device data before swapping the addons. My personal opinion on this is to stay on the stable release, this was you don't risk things breaking as they are still in development stage (the reason why the stable one gets released once every beginning of a month). And should you need to test things out, either swap to edge (which personally i don't do) or have a completely separate instance away from your "production" HA. Buy a second cheap adapter and either run it straight on you laptop or in a virtual box if you want to run it in HA environment.

Let me know how the above goes
Rob

@steveuk23
Copy link
Author

@robertalexa That did it.
Once i deleted that line it restarted fine and shows as a supported device.
I just need to work out the next step now as i just added a basic climate card which seems to turn the receiver on and off but obviously doen't show any current temp etc so i need to work that out.
But thanks for the help least it seems like i have the device added now to have a mess around.
i'm going to move back to the standard zigbee2mqqt add on i just wasn't sure how i did it lol
Thanks again

@steveuk23
Copy link
Author

@robertalexa
I may have spoken too soon as i am getting a error in the zigbee2mqtt addon
And when i turn on the heat through the linked thermostat the heat led turns on the receiver but the climate card doesn't update and vise versa when i adjust the climate card it doesn't affect the receiver it stays as it is

Zigbee2MQTT:error 2021-07-30 18:42:21: Failed to configure 'Hive receiver', attempt 2 (ReferenceError: constants is not defined
    at Object.configure (/app/lib/util/externally-loaded.js:24:71)
    at async Configure.configure (/app/lib/extension/configure.js:131:13))

@robertalexa
Copy link
Contributor

@steveuk23 hey. I am currently not at home anymore to look at code but for now i would suggest you stay away from ha.

While testing stick with the z2m frontend and run all the commands from there. Click on your device then exposes and chekc what is there.

In a different tab open up your logs and keep an eye on them.

Start running commands from physical thermostat and see what the logs output and also if the frontend reflecta the change.

If you get an error make a note of the action you did and then restart the addon. There is a chance that once you get an error it could be a fatal one and nothing will work after it. So always restart it between an error and trying different commands.

Also open the documentation and have a look at slr1b and what commands you can send via mqtt, you can try sending thise commands yourself and aee what you get.

You have a go at that and document as much as possible, keep everything posted here and i will contribute when i get around my computer.

If we nail this down i can submit a pull request and get this device supported for everyone

@steveuk23
Copy link
Author

@steveuk23 hey. I am currently not at home anymore to look at code but for now i would suggest you stay away from ha.

While testing stick with the z2m frontend and run all the commands from there. Click on your device then exposes and chekc what is there.

In a different tab open up your logs and keep an eye on them.

Start running commands from physical thermostat and see what the logs output and also if the frontend reflecta the change.

If you get an error make a note of the action you did and then restart the addon. There is a chance that once you get an error it could be a fatal one and nothing will work after it. So always restart it between an error and trying different commands.

Also open the documentation and have a look at slr1b and what commands you can send via mqtt, you can try sending thise commands yourself and aee what you get.

You have a go at that and document as much as possible, keep everything posted here and i will contribute when i get around my computer.

If we nail this down i can submit a pull request and get this device supported for everyone

Thanks for that.
I've run out of time now but will try that tomorrow and see what shows up

@steveuk23
Copy link
Author

Hi @robertalexa
I've been testing a few buttons on the Z2M frontend like you said.
i have 5 options available:

  • occupied_heating_setpoint - This seems to work ok the heat turns on and off when the sliders adjusted

  • local_temperature - This just displays N/A

  • running_state - This just displays N/A

  • pi_heating_demand - This just displays N/A

  • system_mode heat - Set to heat gives no errors but doesn't seem to do anything

Zigbee2MQTT:debug 2021-07-31 10:36:16: Received MQTT message on 'zigbee2mqtt/Hive receiver/set' with data '{"system_mode":"heat"}'
Zigbee2MQTT:debug 2021-07-31 10:36:16: Publishing 'set' 'system_mode' to 'Hive receiver'
Zigbee2MQTT:info  2021-07-31 10:36:16: MQTT publish: topic 'zigbee2mqtt/Hive receiver', payload '{"linkquality":81,"system_mode":"heat"}'

  • system_mode auto - Same no errors but cant see anything happen
Zigbee2MQTT:debug 2021-07-31 10:41:24: Received MQTT message on 'zigbee2mqtt/Hive receiver/set' with data '{"system_mode":"auto"}'
Zigbee2MQTT:debug 2021-07-31 10:41:24: Publishing 'set' 'system_mode' to 'Hive receiver'
Zigbee2MQTT:info  2021-07-31 10:41:24: MQTT publish: topic 'zigbee2mqtt/Hive receiver', payload '{"linkquality":78,"system_mode":"auto"}'
  • system_mode off - Same no errors but cant see anything happen
Zigbee2MQTT:debug 2021-07-31 10:44:04: Received MQTT message on 'zigbee2mqtt/Hive receiver/set' with data '{"system_mode":"off"}'
Zigbee2MQTT:debug 2021-07-31 10:44:04: Publishing 'set' 'system_mode' to 'Hive receiver'
Zigbee2MQTT:info  2021-07-31 10:44:04: MQTT publish: topic 'zigbee2mqtt/Hive receiver', payload '{"linkquality":28,"system_mode":"off"}'

and then on the refresh icon next to each option i get this error

Zigbee2MQTT:error 2021-07-31 10:45:30: Failed to call 'Receive' 'onZigbeeEvent' (TypeError: Cannot read property 'type' of undefined
    at /app/lib/extension/receive.js:117:42
    at Array.filter (<anonymous>)
    at Receive.onZigbeeEvent (/app/lib/extension/receive.js:116:65)
    at Controller.callExtensionMethod (/app/lib/controller.js:380:44))

And lastly i'm getting this error randomly appearing in the log

Zigbee2MQTT:error 2021-07-30 18:42:21: Failed to configure 'Hive receiver', attempt 3 (ReferenceError: constants is not defined
    at Object.configure (/app/lib/util/externally-loaded.js:24:71)
    at async Configure.configure (/app/lib/extension/configure.js:131:13))

Hopefully you can make sense of this as it's beyond me
Thanks
hive2

@robertalexa
Copy link
Contributor

robertalexa commented Jul 31, 2021

Hi @steveuk23

Did you revert all the files you have manully modified on your own? What I am trying to say - apart from the external converter, are you sure there is no other code that you have either added or removed while trying to support this device on your own?

Rob

@steveuk23
Copy link
Author

@robertalexa
The only thing I modified was the default name of the receiver in the devices.yaml in the Z2M folder to "Hive Receiver"
Everything else I did was just modifying the js file of the convertor.

@robertalexa
Copy link
Contributor

Could you please go here https://www.zigbee2mqtt.io/information/debug.html
And follow the instructions under: Home Assistant OS/Supervised addon

That will turn on the debuging for zigbee herdsman and hopefully will give us some more clues.

Could you please have another play like you did above and post back logs, making sure they are long enough to include the command and everything that was written as a result of it. (hopefully that makes sense)

Please do so for system_mode, the little refresh icons (might be worth you spliting these logs by each command in your reply so it is easy to follow).

Also, should you see the "Failed to configure" error come up again, try to paste it here again with more logging.

I had a look at other zigbee software solutions and it seems that no one has the SLT1 receiver supported, now i do not know if it is because the device is "basic" or no one actually worked with it. Also Hive is not publishing any specs for their devices so the only solution is to sniff the traffic between the receiver and the hub to learn exactly what is what.

But lets see where that takes us, maybe we can get to the bottom of it, maybe not.

@Koenkk and @sjorge any thoughts, you guys are a hell lot more familiar with the codebase than i am.

@steveuk23
Copy link
Author

@robertalexa
Thanks again i've enabled that logging and have it copied down i'll post it over a couple of posts.

@steveuk23
Copy link
Author

occupied_heating setpoint refresh

Zigbee2MQTT:debug 2021-07-31 18:59:55: Received MQTT message on 'zigbee2mqtt/Hive receiver/get' with data '{"occupied_heating_setpoint":""}'
Zigbee2MQTT:debug 2021-07-31 18:59:55: Publishing get 'get' 'occupied_heating_setpoint' to 'Hive receiver'
2021-07-31T17:59:55.256Z zigbee-herdsman:controller:endpoint Read 0x001e5e0902193948/5 hvacThermostat(["occupiedHeatingSetpoint"], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T17:59:55.257Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T17:59:55.258Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":53,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[16,12,0,18,0]}}
2021-07-31T17:59:55.259Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,10,246,5,1,1,2,53,0,30,5,16,12,0,18,0,241]
2021-07-31T17:59:55.270Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T17:59:55.270Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T17:59:55.270Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T17:59:55.270Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T17:59:55.270Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T17:59:55.275Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,53,243]
2021-07-31T17:59:55.275Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,53,243]
2021-07-31T17:59:55.276Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,53] - 243
2021-07-31T17:59:55.276Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":53}
2021-07-31T17:59:55.276Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T17:59:55.292Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,5,69,196,10,246,1,217,0,160]
2021-07-31T17:59:55.292Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,5,69,196,10,246,1,217,0,160]
2021-07-31T17:59:55.293Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 5 - 2 - 5 - 196 - [10,246,1,217,0] - 160
2021-07-31T17:59:55.293Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - srcRtgInd - {"dstaddr":62986,"relaycount":1,"relaylist":[217]}
2021-07-31T17:59:55.293Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T17:59:55.348Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,29,68,129,0,0,1,2,10,246,5,1,0,84,0,77,144,20,0,0,9,8,12,1,18,0,0,41,208,7,217,0,28,155]
2021-07-31T17:59:55.348Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,29,68,129,0,0,1,2,10,246,5,1,0,84,0,77,144,20,0,0,9,8,12,1,18,0,0,41,208,7,217,0,28,155]
2021-07-31T17:59:55.348Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 29 - 2 - 4 - 129 - [0,0,1,2,10,246,5,1,0,84,0,77,144,20,0,0,9,8,12,1,18,0,0,41,208,7,217,0,28] - 155
2021-07-31T17:59:55.349Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - incomingMsg - {"groupid":0,"clusterid":513,"srcaddr":62986,"srcendpoint":5,"dstendpoint":1,"wasbroadcast":0,"linkquality":84,"securityuse":0,"timestamp":1347661,"transseqnumber":0,"len":9,"data":{"type":"Buffer","data":[8,12,1,18,0,0,41,208,7]}}
2021-07-31T17:59:55.352Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":12,"manufacturerCode":null,"commandIdentifier":1},"Payload":[{"attrId":18,"status":0,"dataType":41,"attrData":2000}],"Command":{"ID":1,"name":"readRsp","parameters":[{"name":"attrId","type":33},{"name":"status","type":32},{"name":"dataType","type":32,"conditions":[{"type":"statusEquals","value":0}]},{"name":"attrData","type":1000,"conditions":[{"type":"statusEquals","value":0}]}]}},"address":62986,"endpoint":5,"linkquality":84,"groupID":0}'
Zigbee2MQTT:debug 2021-07-31 18:59:55: Received Zigbee message from 'Hive receiver', type 'readResponse', cluster 'hvacThermostat', data '{"occupiedHeatingSetpoint":2000}' from endpoint 5 with groupID 0
2021-07-31T17:59:55.358Z zigbee-herdsman:controller:endpoint DefaultResponse 0x001e5e0902193948/5 513(1, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T17:59:55.359Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
Zigbee2MQTT:error 2021-07-31 18:59:55: Failed to call 'Receive' 'onZigbeeEvent' (TypeError: Cannot read property 'type' of undefined
    at /app/lib/extension/receive.js:117:42
    at Array.filter (<anonymous>)
    at Receive.onZigbeeEvent (/app/lib/extension/receive.js:116:65)
    at Controller.callExtensionMethod (/app/lib/controller.js:380:44))
2021-07-31T17:59:55.363Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T17:59:55.364Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":54,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,12,11,1,0]}}
2021-07-31T17:59:55.365Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,10,246,5,1,1,2,54,0,30,5,24,12,11,1,0,226]
2021-07-31T17:59:55.376Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T17:59:55.376Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T17:59:55.376Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T17:59:55.377Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T17:59:55.377Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T17:59:55.387Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,54,240]
2021-07-31T17:59:55.388Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,54,240]
2021-07-31T17:59:55.388Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,54] - 240
2021-07-31T17:59:55.388Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":54}
2021-07-31T17:59:55.388Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []

local_temperature refresh

Zigbee2MQTT:debug 2021-07-31 18:49:15: Received Zigbee message from 'Hive receiver', type 'readResponse', cluster 'hvacThermostat', data '{"localTemp":2028}' from endpoint 5 with groupID 0
2021-07-31T17:49:15.019Z zigbee-herdsman:controller:endpoint DefaultResponse 0x001e5e0902193948/5 513(1, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T17:49:15.020Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
Zigbee2MQTT:error 2021-07-31 18:49:15: Failed to call 'Receive' 'onZigbeeEvent' (TypeError: Cannot read property 'type' of undefined
    at /app/lib/extension/receive.js:117:42
    at Array.filter (<anonymous>)
    at Receive.onZigbeeEvent (/app/lib/extension/receive.js:116:65)
    at Controller.callExtensionMethod (/app/lib/controller.js:380:44))
2021-07-31T17:49:15.025Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T17:49:15.026Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":72,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,10,11,1,0]}}
2021-07-31T17:49:15.026Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,10,246,5,1,1,2,72,0,30,5,24,10,11,1,0,154]
2021-07-31T17:49:15.037Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T17:49:15.038Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T17:49:15.038Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T17:49:15.038Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T17:49:15.038Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T17:49:15.044Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,72,142]
2021-07-31T17:49:15.045Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,72,142]
2021-07-31T17:49:15.045Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,72] - 142
2021-07-31T17:49:15.045Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":72}
2021-07-31T17:49:15.045Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []

system_mode refresh

Zigbee2MQTT:debug 2021-07-31 19:08:50: Received MQTT message on 'zigbee2mqtt/Hive receiver/get' with data '{"system_mode":""}'
Zigbee2MQTT:debug 2021-07-31 19:08:50: Publishing get 'get' 'system_mode' to 'Hive receiver'
2021-07-31T18:08:50.326Z zigbee-herdsman:controller:endpoint Read 0x001e5e0902193948/5 hvacThermostat(["systemMode"], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:08:50.327Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:08:50.328Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":85,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[16,20,0,28,0]}}
2021-07-31T18:08:50.329Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,10,246,5,1,1,2,85,0,30,5,16,20,0,28,0,135]
2021-07-31T18:08:50.340Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:08:50.340Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:08:50.340Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:08:50.341Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:08:50.341Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:08:50.347Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,85,147]
2021-07-31T18:08:50.348Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,85,147]
2021-07-31T18:08:50.348Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,85] - 147
2021-07-31T18:08:50.349Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":85}
2021-07-31T18:08:50.349Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:08:50.367Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,5,69,196,10,246,1,217,0,160]
2021-07-31T18:08:50.367Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,5,69,196,10,246,1,217,0,160]
2021-07-31T18:08:50.368Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 5 - 2 - 5 - 196 - [10,246,1,217,0] - 160
2021-07-31T18:08:50.369Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - srcRtgInd - {"dstaddr":62986,"relaycount":1,"relaylist":[217]}
2021-07-31T18:08:50.369Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:08:50.418Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,28,68,129,0,0,1,2,10,246,5,1,0,86,0,34,20,46,0,0,8,8,20,1,28,0,0,48,1,217,0,28,145]
2021-07-31T18:08:50.419Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,28,68,129,0,0,1,2,10,246,5,1,0,86,0,34,20,46,0,0,8,8,20,1,28,0,0,48,1,217,0,28,145]
2021-07-31T18:08:50.419Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 28 - 2 - 4 - 129 - [0,0,1,2,10,246,5,1,0,86,0,34,20,46,0,0,8,8,20,1,28,0,0,48,1,217,0,28] - 145
2021-07-31T18:08:50.420Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - incomingMsg - {"groupid":0,"clusterid":513,"srcaddr":62986,"srcendpoint":5,"dstendpoint":1,"wasbroadcast":0,"linkquality":86,"securityuse":0,"timestamp":3019810,"transseqnumber":0,"len":8,"data":{"type":"Buffer","data":[8,20,1,28,0,0,48,1]}}
2021-07-31T18:08:50.423Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":20,"manufacturerCode":null,"commandIdentifier":1},"Payload":[{"attrId":28,"status":0,"dataType":48,"attrData":1}],"Command":{"ID":1,"name":"readRsp","parameters":[{"name":"attrId","type":33},{"name":"status","type":32},{"name":"dataType","type":32,"conditions":[{"type":"statusEquals","value":0}]},{"name":"attrData","type":1000,"conditions":[{"type":"statusEquals","value":0}]}]}},"address":62986,"endpoint":5,"linkquality":86,"groupID":0}'
Zigbee2MQTT:debug 2021-07-31 19:08:50: Received Zigbee message from 'Hive receiver', type 'readResponse', cluster 'hvacThermostat', data '{"systemMode":1}' from endpoint 5 with groupID 0
2021-07-31T18:08:50.429Z zigbee-herdsman:controller:endpoint DefaultResponse 0x001e5e0902193948/5 513(1, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:08:50.429Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
Zigbee2MQTT:error 2021-07-31 19:08:50: Failed to call 'Receive' 'onZigbeeEvent' (TypeError: Cannot read property 'type' of undefined
    at /app/lib/extension/receive.js:117:42
    at Array.filter (<anonymous>)
    at Receive.onZigbeeEvent (/app/lib/extension/receive.js:116:65)
    at Controller.callExtensionMethod (/app/lib/controller.js:380:44))
2021-07-31T18:08:50.434Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:08:50.435Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":86,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,20,11,1,0]}}
2021-07-31T18:08:50.435Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,10,246,5,1,1,2,86,0,30,5,24,20,11,1,0,154]
2021-07-31T18:08:50.447Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:08:50.447Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:08:50.447Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:08:50.447Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:08:50.448Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:08:50.453Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,86,144]
2021-07-31T18:08:50.453Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,86,144]
2021-07-31T18:08:50.453Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,86] - 144
2021-07-31T18:08:50.454Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":86}
2021-07-31T18:08:50.454Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:08:50.636Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,11,69,200,106,84,176,21,29,2,9,94,30,0,1,74]
2021-07-31T18:08:50.636Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,11,69,200,106,84,176,21,29,2,9,94,30,0,1,74]
2021-07-31T18:08:50.636Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 11 - 2 - 5 - 200 - [106,84,176,21,29,2,9,94,30,0,1] - 74
2021-07-31T18:08:50.637Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - concentratorIndCb - {"srcaddr":21610,"extaddr":"0x001e5e09021d15b0","pktCost":1}
2021-07-31T18:08:50.637Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []

running_state refresh

Zigbee2MQTT:debug 2021-07-31 19:10:16: Received MQTT message on 'zigbee2mqtt/Hive receiver/get' with data '{"running_state":""}'
Zigbee2MQTT:debug 2021-07-31 19:10:16: Publishing get 'get' 'running_state' to 'Hive receiver'
2021-07-31T18:10:16.684Z zigbee-herdsman:controller:endpoint Read 0x001e5e0902193948/5 hvacThermostat(["runningState"], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:10:16.685Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:10:16.687Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":89,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[16,21,0,41,0]}}
2021-07-31T18:10:16.687Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,10,246,5,1,1,2,89,0,30,5,16,21,0,41,0,191]
2021-07-31T18:10:16.698Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:10:16.698Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:10:16.699Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:10:16.699Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:10:16.699Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:10:16.709Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,89,159]
2021-07-31T18:10:16.709Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,89,159]
2021-07-31T18:10:16.710Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,89] - 159
2021-07-31T18:10:16.710Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":89}
2021-07-31T18:10:16.710Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:10:16.727Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,5,69,196,10,246,1,217,0,160]
2021-07-31T18:10:16.727Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,5,69,196,10,246,1,217,0,160]
2021-07-31T18:10:16.727Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 5 - 2 - 5 - 196 - [10,246,1,217,0] - 160
2021-07-31T18:10:16.728Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - srcRtgInd - {"dstaddr":62986,"relaycount":1,"relaylist":[217]}
2021-07-31T18:10:16.728Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:10:16.785Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,29,68,129,0,0,1,2,10,246,5,1,0,86,0,113,50,50,0,0,9,8,21,1,41,0,0,25,0,0,217,0,28,228]
2021-07-31T18:10:16.785Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,29,68,129,0,0,1,2,10,246,5,1,0,86,0,113,50,50,0,0,9,8,21,1,41,0,0,25,0,0,217,0,28,228]
2021-07-31T18:10:16.786Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 29 - 2 - 4 - 129 - [0,0,1,2,10,246,5,1,0,86,0,113,50,50,0,0,9,8,21,1,41,0,0,25,0,0,217,0,28] - 228
2021-07-31T18:10:16.787Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - incomingMsg - {"groupid":0,"clusterid":513,"srcaddr":62986,"srcendpoint":5,"dstendpoint":1,"wasbroadcast":0,"linkquality":86,"securityuse":0,"timestamp":3289713,"transseqnumber":0,"len":9,"data":{"type":"Buffer","data":[8,21,1,41,0,0,25,0,0]}}
2021-07-31T18:10:16.791Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":21,"manufacturerCode":null,"commandIdentifier":1},"Payload":[{"attrId":41,"status":0,"dataType":25,"attrData":0}],"Command":{"ID":1,"name":"readRsp","parameters":[{"name":"attrId","type":33},{"name":"status","type":32},{"name":"dataType","type":32,"conditions":[{"type":"statusEquals","value":0}]},{"name":"attrData","type":1000,"conditions":[{"type":"statusEquals","value":0}]}]}},"address":62986,"endpoint":5,"linkquality":86,"groupID":0}'
Zigbee2MQTT:debug 2021-07-31 19:10:16: Received Zigbee message from 'Hive receiver', type 'readResponse', cluster 'hvacThermostat', data '{"runningState":0}' from endpoint 5 with groupID 0
2021-07-31T18:10:16.798Z zigbee-herdsman:controller:endpoint DefaultResponse 0x001e5e0902193948/5 513(1, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:10:16.798Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
Zigbee2MQTT:error 2021-07-31 19:10:16: Failed to call 'Receive' 'onZigbeeEvent' (TypeError: Cannot read property 'type' of undefined
    at /app/lib/extension/receive.js:117:42
    at Array.filter (<anonymous>)
    at Receive.onZigbeeEvent (/app/lib/extension/receive.js:116:65)
    at Controller.callExtensionMethod (/app/lib/controller.js:380:44))
2021-07-31T18:10:16.802Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:10:16.803Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":90,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,21,11,1,0]}}
2021-07-31T18:10:16.803Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,10,246,5,1,1,2,90,0,30,5,24,21,11,1,0,151]
2021-07-31T18:10:16.816Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:10:16.816Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:10:16.816Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:10:16.817Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:10:16.817Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:10:16.824Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,90,156]
2021-07-31T18:10:16.824Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,90,156]
2021-07-31T18:10:16.824Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,90] - 156
2021-07-31T18:10:16.825Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":90}
2021-07-31T18:10:16.825Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []

@steveuk23
Copy link
Author

system_mode TURNED OFF

Zigbee2MQTT:debug 2021-07-31 19:11:23: Received MQTT message on 'zigbee2mqtt/Hive receiver/set' with data '{"system_mode":"off"}'
Zigbee2MQTT:debug 2021-07-31 19:11:23: Publishing 'set' 'system_mode' to 'Hive receiver'
2021-07-31T18:11:23.932Z zigbee-herdsman:controller:endpoint Write 0x001e5e0902193948/5 hvacThermostat({"systemMode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:11:23.933Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:11:23.934Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":93,"options":0,"radius":30,"len":7,"data":{"type":"Buffer","data":[16,22,2,28,0,48,0]}}
2021-07-31T18:11:23.935Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,17,36,1,10,246,5,1,1,2,93,0,30,7,16,22,2,28,0,48,0,163]
2021-07-31T18:11:23.946Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:11:23.946Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:11:23.946Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:11:23.946Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:11:23.947Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:11:23.953Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,93,155]
2021-07-31T18:11:23.953Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,93,155]
2021-07-31T18:11:23.953Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,93] - 155
2021-07-31T18:11:23.954Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":93}
2021-07-31T18:11:23.954Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:11:23.972Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,5,69,196,10,246,1,217,0,160]
2021-07-31T18:11:23.972Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,5,69,196,10,246,1,217,0,160]
2021-07-31T18:11:23.973Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 5 - 2 - 5 - 196 - [10,246,1,217,0] - 160
2021-07-31T18:11:23.973Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - srcRtgInd - {"dstaddr":62986,"relaycount":1,"relaylist":[217]}
2021-07-31T18:11:23.974Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:11:24.025Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,24,68,129,0,0,1,2,10,246,5,1,0,86,0,73,103,53,0,0,4,8,22,4,0,217,0,28,176]
2021-07-31T18:11:24.026Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,24,68,129,0,0,1,2,10,246,5,1,0,86,0,73,103,53,0,0,4,8,22,4,0,217,0,28,176]
2021-07-31T18:11:24.026Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 24 - 2 - 4 - 129 - [0,0,1,2,10,246,5,1,0,86,0,73,103,53,0,0,4,8,22,4,0,217,0,28] - 176
2021-07-31T18:11:24.027Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - incomingMsg - {"groupid":0,"clusterid":513,"srcaddr":62986,"srcendpoint":5,"dstendpoint":1,"wasbroadcast":0,"linkquality":86,"securityuse":0,"timestamp":3499849,"transseqnumber":0,"len":4,"data":{"type":"Buffer","data":[8,22,4,0]}}
2021-07-31T18:11:24.029Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":22,"manufacturerCode":null,"commandIdentifier":4},"Payload":[{"status":0}],"Command":{"ID":4,"name":"writeRsp","parameters":[{"name":"status","type":32},{"name":"attrId","type":33,"conditions":[{"type":"statusNotEquals","value":0}]}]}},"address":62986,"endpoint":5,"linkquality":86,"groupID":0}'
2021-07-31T18:11:24.031Z zigbee-herdsman:controller:endpoint DefaultResponse 0x001e5e0902193948/5 513(4, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:11:24.032Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:11:24.032Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:11:24.034Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":94,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,22,11,4,0]}}
2021-07-31T18:11:24.034Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,10,246,5,1,1,2,94,0,30,5,24,22,11,4,0,149]
Zigbee2MQTT:info  2021-07-31 19:11:24: MQTT publish: topic 'zigbee2mqtt/Hive receiver', payload '{"linkquality":86,"system_mode":"off"}'
2021-07-31T18:11:24.046Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:11:24.046Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:11:24.046Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:11:24.047Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:11:24.047Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:11:24.053Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,94,152]
2021-07-31T18:11:24.053Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,94,152]
2021-07-31T18:11:24.053Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,94] - 152
2021-07-31T18:11:24.054Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":94}
2021-07-31T18:11:24.054Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []

system_mode AUTO PRESSED

Zigbee2MQTT:debug 2021-07-31 19:12:57: Received MQTT message on 'zigbee2mqtt/Hive receiver/set' with data '{"system_mode":"auto"}'
Zigbee2MQTT:debug 2021-07-31 19:12:57: Publishing 'set' 'system_mode' to 'Hive receiver'
2021-07-31T18:12:57.315Z zigbee-herdsman:controller:endpoint Write 0x001e5e0902193948/5 hvacThermostat({"systemMode":1}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:12:57.319Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:12:57.319Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":100,"options":0,"radius":30,"len":7,"data":{"type":"Buffer","data":[16,25,2,28,0,48,1]}}
2021-07-31T18:12:57.320Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,17,36,1,10,246,5,1,1,2,100,0,30,7,16,25,2,28,0,48,1,148]
2021-07-31T18:12:57.332Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:12:57.332Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:12:57.332Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:12:57.333Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:12:57.333Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:12:57.340Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,100,162]
2021-07-31T18:12:57.340Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,100,162]
2021-07-31T18:12:57.340Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,100] - 162
2021-07-31T18:12:57.341Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":100}
2021-07-31T18:12:57.341Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:12:57.364Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,5,69,196,10,246,1,148,11,230]
2021-07-31T18:12:57.364Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,5,69,196,10,246,1,148,11,230]
2021-07-31T18:12:57.364Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 5 - 2 - 5 - 196 - [10,246,1,148,11] - 230
2021-07-31T18:12:57.364Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - srcRtgInd - {"dstaddr":62986,"relaycount":1,"relaylist":[2964]}
2021-07-31T18:12:57.364Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:12:57.416Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,24,68,129,0,0,1,2,10,246,5,1,0,86,0,85,219,57,0,0,4,8,25,4,0,148,11,28,85]
2021-07-31T18:12:57.416Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,24,68,129,0,0,1,2,10,246,5,1,0,86,0,85,219,57,0,0,4,8,25,4,0,148,11,28,85]
2021-07-31T18:12:57.416Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 24 - 2 - 4 - 129 - [0,0,1,2,10,246,5,1,0,86,0,85,219,57,0,0,4,8,25,4,0,148,11,28] - 85
2021-07-31T18:12:57.417Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - incomingMsg - {"groupid":0,"clusterid":513,"srcaddr":62986,"srcendpoint":5,"dstendpoint":1,"wasbroadcast":0,"linkquality":86,"securityuse":0,"timestamp":3791701,"transseqnumber":0,"len":4,"data":{"type":"Buffer","data":[8,25,4,0]}}
2021-07-31T18:12:57.420Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":25,"manufacturerCode":null,"commandIdentifier":4},"Payload":[{"status":0}],"Command":{"ID":4,"name":"writeRsp","parameters":[{"name":"status","type":32},{"name":"attrId","type":33,"conditions":[{"type":"statusNotEquals","value":0}]}]}},"address":62986,"endpoint":5,"linkquality":86,"groupID":0}'
2021-07-31T18:12:57.422Z zigbee-herdsman:controller:endpoint DefaultResponse 0x001e5e0902193948/5 513(4, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:12:57.422Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:12:57.423Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:12:57.424Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":101,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,25,11,4,0]}}
2021-07-31T18:12:57.425Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,10,246,5,1,1,2,101,0,30,5,24,25,11,4,0,161]
Zigbee2MQTT:info  2021-07-31 19:12:57: MQTT publish: topic 'zigbee2mqtt/Hive receiver', payload '{"linkquality":86,"system_mode":"auto"}'
2021-07-31T18:12:57.437Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:12:57.438Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:12:57.439Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:12:57.439Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:12:57.440Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:12:57.444Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,101,163]
2021-07-31T18:12:57.445Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,101,163]
2021-07-31T18:12:57.445Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,101] - 163
2021-07-31T18:12:57.446Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":101}
2021-07-31T18:12:57.446Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []

system_mode HEAT PRESSED

Zigbee2MQTT:debug 2021-07-31 19:14:07: Received MQTT message on 'zigbee2mqtt/Hive receiver/set' with data '{"system_mode":"heat"}'
Zigbee2MQTT:debug 2021-07-31 19:14:07: Publishing 'set' 'system_mode' to 'Hive receiver'
2021-07-31T18:14:07.535Z zigbee-herdsman:controller:endpoint Write 0x001e5e0902193948/5 hvacThermostat({"systemMode":4}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:14:07.536Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:14:07.537Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":102,"options":0,"radius":30,"len":7,"data":{"type":"Buffer","data":[16,26,2,28,0,48,4]}}
2021-07-31T18:14:07.537Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,17,36,1,10,246,5,1,1,2,102,0,30,7,16,26,2,28,0,48,4,144]
2021-07-31T18:14:07.548Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:14:07.548Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:14:07.548Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:14:07.548Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:14:07.548Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:14:07.563Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,102,160]
2021-07-31T18:14:07.564Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,102,160]
2021-07-31T18:14:07.564Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,102] - 160
2021-07-31T18:14:07.565Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":102}
2021-07-31T18:14:07.565Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:14:07.577Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,69,196,10,246,0,126]
2021-07-31T18:14:07.577Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,69,196,10,246,0,126]
2021-07-31T18:14:07.577Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 5 - 196 - [10,246,0] - 126
2021-07-31T18:14:07.578Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - srcRtgInd - {"dstaddr":62986,"relaycount":0,"relaylist":[]}
2021-07-31T18:14:07.578Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:14:07.636Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,24,68,129,0,0,1,2,10,246,5,1,0,70,0,142,52,61,0,0,4,8,26,4,0,10,246,29,20]
2021-07-31T18:14:07.637Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,24,68,129,0,0,1,2,10,246,5,1,0,70,0,142,52,61,0,0,4,8,26,4,0,10,246,29,20]
2021-07-31T18:14:07.637Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 24 - 2 - 4 - 129 - [0,0,1,2,10,246,5,1,0,70,0,142,52,61,0,0,4,8,26,4,0,10,246,29] - 20
2021-07-31T18:14:07.638Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - incomingMsg - {"groupid":0,"clusterid":513,"srcaddr":62986,"srcendpoint":5,"dstendpoint":1,"wasbroadcast":0,"linkquality":70,"securityuse":0,"timestamp":4011150,"transseqnumber":0,"len":4,"data":{"type":"Buffer","data":[8,26,4,0]}}
2021-07-31T18:14:07.641Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":26,"manufacturerCode":null,"commandIdentifier":4},"Payload":[{"status":0}],"Command":{"ID":4,"name":"writeRsp","parameters":[{"name":"status","type":32},{"name":"attrId","type":33,"conditions":[{"type":"statusNotEquals","value":0}]}]}},"address":62986,"endpoint":5,"linkquality":70,"groupID":0}'
2021-07-31T18:14:07.642Z zigbee-herdsman:controller:endpoint DefaultResponse 0x001e5e0902193948/5 513(4, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:14:07.643Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:14:07.645Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:14:07.645Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":103,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,26,11,4,0]}}
2021-07-31T18:14:07.646Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,10,246,5,1,1,2,103,0,30,5,24,26,11,4,0,160]
Zigbee2MQTT:info  2021-07-31 19:14:07: MQTT publish: topic 'zigbee2mqtt/Hive receiver', payload '{"linkquality":70,"system_mode":"heat"}'
2021-07-31T18:14:07.657Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:14:07.657Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:14:07.658Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:14:07.659Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:14:07.659Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:14:07.664Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,103,161]
2021-07-31T18:14:07.664Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,103,161]
2021-07-31T18:14:07.664Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,103] - 161
2021-07-31T18:14:07.665Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":103}
2021-07-31T18:14:07.665Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []

@steveuk23
Copy link
Author

This is the only thing i can see that works
occupied_heating_setpoint slider to to max 30

Zigbee2MQTT:debug 2021-07-31 19:14:58: Received MQTT message on 'zigbee2mqtt/Hive receiver/set' with data '{"occupied_heating_setpoint":30}'
Zigbee2MQTT:debug 2021-07-31 19:14:59: Publishing 'set' 'occupied_heating_setpoint' to 'Hive receiver'
2021-07-31T18:14:59.012Z zigbee-herdsman:controller:endpoint Write 0x001e5e0902193948/5 hvacThermostat({"occupiedHeatingSetpoint":3000}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:14:59.014Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:14:59.015Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":104,"options":0,"radius":30,"len":8,"data":{"type":"Buffer","data":[16,27,2,18,0,41,184,11]}}
2021-07-31T18:14:59.016Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,18,36,1,10,246,5,1,1,2,104,0,30,8,16,27,2,18,0,41,184,11,51]
2021-07-31T18:14:59.026Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:14:59.027Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:14:59.027Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:14:59.027Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:14:59.027Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:14:59.032Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,104,174]
2021-07-31T18:14:59.033Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,104,174]
2021-07-31T18:14:59.033Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,104] - 174
2021-07-31T18:14:59.033Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":104}
2021-07-31T18:14:59.033Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:14:59.050Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,69,196,10,246,0,126]
2021-07-31T18:14:59.050Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,69,196,10,246,0,126]
2021-07-31T18:14:59.050Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 5 - 196 - [10,246,0] - 126
2021-07-31T18:14:59.052Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - srcRtgInd - {"dstaddr":62986,"relaycount":0,"relaylist":[]}
2021-07-31T18:14:59.052Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:14:59.101Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,24,68,129,0,0,1,2,10,246,5,1,0,76,0,208,168,63,0,0,4,8,27,4,0,10,246,29,223]
2021-07-31T18:14:59.103Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,24,68,129,0,0,1,2,10,246,5,1,0,76,0,208,168,63,0,0,4,8,27,4,0,10,246,29,223]
2021-07-31T18:14:59.104Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 24 - 2 - 4 - 129 - [0,0,1,2,10,246,5,1,0,76,0,208,168,63,0,0,4,8,27,4,0,10,246,29] - 223
2021-07-31T18:14:59.105Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - incomingMsg - {"groupid":0,"clusterid":513,"srcaddr":62986,"srcendpoint":5,"dstendpoint":1,"wasbroadcast":0,"linkquality":76,"securityuse":0,"timestamp":4171984,"transseqnumber":0,"len":4,"data":{"type":"Buffer","data":[8,27,4,0]}}
2021-07-31T18:14:59.108Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":27,"manufacturerCode":null,"commandIdentifier":4},"Payload":[{"status":0}],"Command":{"ID":4,"name":"writeRsp","parameters":[{"name":"status","type":32},{"name":"attrId","type":33,"conditions":[{"type":"statusNotEquals","value":0}]}]}},"address":62986,"endpoint":5,"linkquality":76,"groupID":0}'
2021-07-31T18:14:59.110Z zigbee-herdsman:controller:endpoint DefaultResponse 0x001e5e0902193948/5 513(4, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:14:59.111Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:14:59.112Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:14:59.113Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":105,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,27,11,4,0]}}
2021-07-31T18:14:59.114Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,10,246,5,1,1,2,105,0,30,5,24,27,11,4,0,175]
2021-07-31T18:14:59.126Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:14:59.126Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:14:59.127Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:14:59.127Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:14:59.127Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:14:59.132Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,105,175]
2021-07-31T18:14:59.133Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,105,175]
2021-07-31T18:14:59.133Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,105] - 175
2021-07-31T18:14:59.133Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":105}
2021-07-31T18:14:59.134Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []

occupied_heating_setpoint slider to to min 7

Zigbee2MQTT:debug 2021-07-31 19:16:01: Received MQTT message on 'zigbee2mqtt/Hive receiver/set' with data '{"occupied_heating_setpoint":7}'
Zigbee2MQTT:debug 2021-07-31 19:16:01: Publishing 'set' 'occupied_heating_setpoint' to 'Hive receiver'
2021-07-31T18:16:01.284Z zigbee-herdsman:controller:endpoint Write 0x001e5e0902193948/5 hvacThermostat({"occupiedHeatingSetpoint":700}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:16:01.285Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:16:01.286Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":113,"options":0,"radius":30,"len":8,"data":{"type":"Buffer","data":[16,29,2,18,0,41,188,2]}}
2021-07-31T18:16:01.286Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,18,36,1,10,246,5,1,1,2,113,0,30,8,16,29,2,18,0,41,188,2,33]
2021-07-31T18:16:01.297Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:16:01.298Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:16:01.298Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:16:01.298Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:16:01.298Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:16:01.305Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,113,183]
2021-07-31T18:16:01.305Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,113,183]
2021-07-31T18:16:01.305Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,113] - 183
2021-07-31T18:16:01.305Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":113}
2021-07-31T18:16:01.306Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:16:01.321Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,69,196,10,246,0,126]
2021-07-31T18:16:01.321Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,69,196,10,246,0,126]
2021-07-31T18:16:01.322Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 5 - 196 - [10,246,0] - 126
2021-07-31T18:16:01.322Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - srcRtgInd - {"dstaddr":62986,"relaycount":0,"relaylist":[]}
2021-07-31T18:16:01.322Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:16:01.374Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,24,68,129,0,0,1,2,10,246,5,1,0,73,0,2,161,66,0,0,4,8,29,4,0,10,246,29,122]
2021-07-31T18:16:01.374Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,24,68,129,0,0,1,2,10,246,5,1,0,73,0,2,161,66,0,0,4,8,29,4,0,10,246,29,122]
2021-07-31T18:16:01.375Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 24 - 2 - 4 - 129 - [0,0,1,2,10,246,5,1,0,73,0,2,161,66,0,0,4,8,29,4,0,10,246,29] - 122
2021-07-31T18:16:01.375Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - incomingMsg - {"groupid":0,"clusterid":513,"srcaddr":62986,"srcendpoint":5,"dstendpoint":1,"wasbroadcast":0,"linkquality":73,"securityuse":0,"timestamp":4366594,"transseqnumber":0,"len":4,"data":{"type":"Buffer","data":[8,29,4,0]}}
2021-07-31T18:16:01.378Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":29,"manufacturerCode":null,"commandIdentifier":4},"Payload":[{"status":0}],"Command":{"ID":4,"name":"writeRsp","parameters":[{"name":"status","type":32},{"name":"attrId","type":33,"conditions":[{"type":"statusNotEquals","value":0}]}]}},"address":62986,"endpoint":5,"linkquality":73,"groupID":0}'
2021-07-31T18:16:01.379Z zigbee-herdsman:controller:endpoint DefaultResponse 0x001e5e0902193948/5 513(4, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false})
2021-07-31T18:16:01.380Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:16:01.381Z zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x001e5e0902193948:62986/5 (0,0,1)
2021-07-31T18:16:01.382Z zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":62986,"destendpoint":5,"srcendpoint":1,"clusterid":513,"transid":114,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,29,11,4,0]}}
2021-07-31T18:16:01.382Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,10,246,5,1,1,2,114,0,30,5,24,29,11,4,0,178]
2021-07-31T18:16:01.393Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100]
2021-07-31T18:16:01.394Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100]
2021-07-31T18:16:01.394Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100
2021-07-31T18:16:01.394Z zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0}
2021-07-31T18:16:01.394Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:16:01.400Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,114,180]
2021-07-31T18:16:01.400Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,114,180]
2021-07-31T18:16:01.400Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,114] - 180
2021-07-31T18:16:01.400Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":114}
2021-07-31T18:16:01.400Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:16:05.530Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,69,196,217,0,0,91]
2021-07-31T18:16:05.530Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,69,196,217,0,0,91]
2021-07-31T18:16:05.531Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 5 - 196 - [217,0,0] - 91
2021-07-31T18:16:05.531Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- ZDO - srcRtgInd - {"dstaddr":217,"relaycount":0,"relaylist":[]}
2021-07-31T18:16:05.531Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
2021-07-31T18:16:05.578Z zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,28,68,129,0,0,4,11,217,0,1,1,0,84,0,83,212,66,0,0,8,8,62,10,8,5,33,95,3,217,0,29,30]
2021-07-31T18:16:05.579Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,28,68,129,0,0,4,11,217,0,1,1,0,84,0,83,212,66,0,0,8,8,62,10,8,5,33,95,3,217,0,29,30]
2021-07-31T18:16:05.579Z zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 28 - 2 - 4 - 129 - [0,0,4,11,217,0,1,1,0,84,0,83,212,66,0,0,8,8,62,10,8,5,33,95,3,217,0,29] - 30
2021-07-31T18:16:05.579Z zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - incomingMsg - {"groupid":0,"clusterid":2820,"srcaddr":217,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":84,"securityuse":0,"timestamp":4379731,"transseqnumber":0,"len":8,"data":{"type":"Buffer","data":[8,62,10,8,5,33,95,3]}}
2021-07-31T18:16:05.584Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":62,"manufacturerCode":null,"commandIdentifier":10},"Payload":[{"attrId":1288,"dataType":33,"attrData":863}],"Command":{"ID":10,"name":"report","parameters":[{"name":"attrId","type":33},{"name":"dataType","type":32},{"name":"attrData","type":1000}]}},"address":217,"endpoint":1,"linkquality":84,"groupID":0}'

@robertalexa
Copy link
Contributor

@steveuk23 Can you please replace constants.repInterval.HOUR with 3600

That should take care of the constants error, idk if this would mess up with the rest but try to refresh 1 single thing like the local_temp and see if you get the same error message. If you do, no need to post new logs. Post them only if there is something new happening.

With regards to the system_mode, it feels like the commands are successful, so things should be happening? You could try setting it to heat, then from the thermostat set it to a high temperature, listen for your boiler, wait for it to ignite basically. Then set system_mode to off. Theoretically the boiler should stop?

As to the other error, that is a bit unexpected. Without some manual debugging not sure if i can figure it out. Have a look at my above suggestion first and maybe in the meantime Koen or Jorge have a look too.

@steveuk23
Copy link
Author

@robertalexa The receivers not actually connected to the boiler at the moment i didn't want to connect it until i had it working so it's just connected to a plug.
I've changed your code and i've not noticed any constant errors so far, But the same errors are still there when i refresh any of the refresh icons.
You're right the system_modes are actually working it's just taking time to sync to the linked thermostat.
Thanks for all the help with this i'm further on then when i was before ha ha
Could i ask how it detects the current temperature is that sent over from the linked Hive thermostat ? as i noticed all the Hive thermostats only expose the link quality.
I'm guessing it's not displaying the statues of the receiver exposes because of this error when refreshing ?

@steveuk23
Copy link
Author

steveuk23 commented Aug 1, 2021

i've just been reading #7926 post where @Koenkk replies saying he's missing 2 convertors.
Going off that am i right in thinking i'm missing fz.thermostat_att_report and fz.thermostat_weekly_schedule_rsp ?

@robertalexa
Copy link
Contributor

Morning @steveuk23 :)

Glad to hear about system_mode

With regards to local temperature, the thermostat is the one that will measure it and compare it to the temperature that you set, the receiver (SLR1) will just "do the work", but yes, it might appear confusing for the receiver to report the temperature and the thermostat to only act as a remote. In short, the thermostat reports the local temp to the receiver and the receiver "declares/exposes" it basically.

Your URL text is correct but the actual link is broken - but i read the thread and yes I expect it to be something along those lines, thus me asking if for sure you have not removed any other code. Technically all the endpoints should be available.

Can you please replace this line fromZigbee: [fz.thermostat_att_report, fz.thermostat_weekly_schedule_rsp], with fromZigbee: [fz.legacy.thermostat_att_report, fz.legacy.thermostat_weekly_schedule_rsp],

That might be what is causing this. Give it a try and please let me know how it went.

Thanks,
Rob

@steveuk23
Copy link
Author

Sorry morning @robertalexa i wasn't sure which time zone you was in ha ha
I have just replaced that line of code but the Z2M dashboard fails to load back up until i replace it back.
I just want to to double check when you say i might have removed code, where exactly should i look to make sure ?

@robertalexa
Copy link
Contributor

robertalexa commented Aug 1, 2021

@steveuk23 that makes absolutely no sense. When you replace that line do you get an error in the log?

If by you can't access the dashboard as in you get 502 Bad Gateway, remember you have to give it a minute for the addon to properly start.

Also make sure that you have copied and pasted correctly and not created any syntax errors.

As to code removed, that is very hard for me to advise, you are the only one that knows what files you edited :)

@steveuk23
Copy link
Author

@robertalexa
Yeah it's the 502 Bad gateway.
i remembered what you said about waiting and have given it nearly 5 minutes but still nothing.
I'm getting this error in the logs:

> zigbee2mqtt@1.18.1 start /app
> node index.js
(node:3138) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'thermostat_att_report' of undefined
(Use `node --trace-warnings ...` to show where the warning was created)
(node:3138) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:3138) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[13:43:23] INFO: Zigbee Herdsman debug logging enabled
[13:43:23] INFO: Handing over control to Zigbee2mqtt Core ...
> zigbee2mqtt@1.18.1 start /app
> node index.js

@robertalexa
Copy link
Contributor

Thanks for the logs.

Try changing that line again and on top of that also replace this line
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');

with this
const fz = {...require('zigbee-herdsman-converters/converters/fromZigbee'), legacy: require('zigbee-herdsman-converters/lib/legacy').fromZigbee};

It's my bad for that. I forgot i didn't include the legacy in my original code.

I have tried this in my z2m instance and it boots up correctly.

Let me know how it goes.

@steveuk23
Copy link
Author

@robertalexa
Yes... that seems to have done it :)
All the refreshes work and the system_modes etc and it all syncs to HA and to the thermostat
Only thing i can't see is the pi_heating_demand but i'm not sure what that's meant to show ?
Thanks so much for all you're help it really is appreciated.
If this was you would you leave the heating schedule to the one set in the thermostat or maybe create one with node red or a automation etc ?
On another note do you happen to know if i can change the default image of the device from the red Z, i do remember seeing a option somewhere but can't find it now.
hive3

@robertalexa
Copy link
Contributor

Hi @steveuk23

I am glad it is now working. So yeah, it basically operates like the SLR1b so it will be an easy fix.

My bad for the problem caused by the "legacy". I should have just used it in the code.

pi_heating_demand will technically show how much the valve should be open and it is decided based on the difference between local_temperature and occupied_heating_setpoint. In principle this should update itself once an hour, based on the reporting settings. I do not know however if this actually works or not. Can you please set your temperature to the highest, and leave it running for say an hour or 2 and see if pi_heating_demand gets updated? That will give us a definitive answer.

As mentioned to you before, i have the SLR1b but never found the time to try and get it set up in my z2m, but I plan to do it really soon, and also fix everything that is missing, cause there are some missing features in z2m.

When i get around it, will you please be willing to do some testing for me, as everything new that i will do to the slr1b i will do to slr1, so that people like you benefit from it too. I am also inclined to try to "blindly" improve the SLR2 and SLR2b and i think i can find a couple of people to test for me.

On this topic, could you please tell me something? What is the lowest and highest temperature that you can set on the SLR1 using the physical thermostat? Cause i bet it is different than what you can do in the Frontend.

With regards to the device image, I will add the image when i submit my PR to support your device (which i will do as soon as we both agree things behave as they should, so maybe even today.) Can you confirm if your receiver looks like this? https://www.zigbee2mqtt.io/devices/SLR1b.html

As to the heating schedule, i would personally not do it through the device itself. This is exactly what i have chosen to do for my TRVs. That is also because on the TRVs, if you take out the batteries and put them back in the schedule gets lost. I wouldn't be surprised if the same happens to the thermostat. Instead, I simply change the desired temperature using Node-Red flows. I think system_mode auto actually uses the internal scheduler. Off is obviously off and heat is manual control. So basically I would do Off when you want it off, and "heat" for everything else. Then using node red you decide if it is OFF at night, HEAT 18C when you are away and HEAT 22C when you are home :) But I would test what is the behaviour of OFF, i would expect it to set the temperature around 6 degrees, that is to have frost protection. If it doesn't do that, then i would just stick to HEAT instead and manually setting the temp to 9C

Sorry for the long post, hopefully this answers your questions. If you clarify the things above for me then i can go ahead and submit the PR and get your device officially supported.

@robertalexa
Copy link
Contributor

@steveuk23 Try replacing 3600 with 600 and reload the addon. That would change the reporting of heating demand from hourly to only 10 minutes, which would be better anyway. See if that value gets populated.

@robertalexa
Copy link
Contributor

Your sensor will not belong to a device. You will be able to see them only by going Configuration -> Entities. So you simply need to delete all your custom ones and rely on the native entities that belong to the device. This way the communication between HA and Z2M works automatically, sending and receiving information.

@robertalexa
Copy link
Contributor

For anyone still watching this issue, I have now submitted a PR to update the documentation for SLR1, SLR1b, SLR2 and SLR2b. Koenkk/zigbee2mqtt.io#891

Once the PR gets merged in you will be able to see how to control all the device features, in one compact form.

Once again, thank you all for contributing and helping me help you. Hope you are excited to get this working nicely before the winter :)

@Super-JoConnell
Copy link

Super-JoConnell commented Sep 6, 2021

@steveuk23 @robertalexa absolute legends, got an SLR1 with a SLT3, using OpenHab3.1 instead of HomeAssist but nevertheless managed to get configured and set up :)

const fz = {...require('zigbee-herdsman-converters/converters/fromZigbee'), legacy: require('zigbee-herdsman-converters/lib/legacy').fromZigbee};
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes'); const
reporting = require('zigbee-herdsman-converters/lib/reporting'); const
extend = require('zigbee-herdsman-converters/lib/extend'); const e =
exposes.presets; const ea = exposes.access; const definition = {
zigbeeModel: ['SLR1'], model: 'SLR1', vendor: 'Hive', description:
'Heating thermostat', fromZigbee: [fz.legacy.thermostat_att_report,
fz.legacy.thermostat_weekly_schedule_rsp], toZigbee:
[tz.thermostat_local_temperature, tz.thermostat_system_mode,
tz.thermostat_running_state,
tz.thermostat_occupied_heating_setpoint,
tz.thermostat_control_sequence_of_operation,
tz.thermostat_weekly_schedule,
tz.thermostat_clear_weekly_schedule,
tz.thermostat_temperature_setpoint_hold,
tz.thermostat_temperature_setpoint_hold_duration],
exposes:
[exposes.climate().withSetpoint('occupied_heating_setpoint', 7, 30,
1).withLocalTemperature()
.withSystemMode(['off', 'auto',
'heat']).withRunningState(['idle',
'heat']).withPiHeatingDemand()],
meta: {disableDefaultResponse: true}, configure: async (device,
coordinatorEndpoint, logger) => {
const endpoint = device.getEndpoint(5); const binds =
['genBasic', 'genIdentify', 'genAlarms', 'genTime',
'hvacThermostat']; await reporting.bind(endpoint,
coordinatorEndpoint, binds); await
reporting.thermostatTemperature(endpoint, {min: 0, max:
200, change: 1}); await
reporting.thermostatRunningState(endpoint); await
reporting.thermostatOccupiedHeatingSetpoint(endpoint); await
reporting.thermostatTemperatureSetpointHold(endpoint); await
reporting.thermostatTemperatureSetpointHoldDuration(endpoint);
},
};
module.exports = definition;

this is saved as SLR1.js under /opt/zigbee2mqtt/data and i put this code below in the configuration.yaml
and all is working perfectly. thank you so much both of you's

external_converters:
- SLR1.js

before the hyphen there should be 2 spaces sorry for some reason i cant qoute in a box it just shows as a bullet point when i try to put a hyphen so had to assign it as code so it would show the hyphen but its took away the initial 2 spaces before the hyphen

@robertalexa
Copy link
Contributor

@Super-JoConnell thanks for the kind words.

Why are you using an external converter though? As of the latest z2m release, the device is supported out of the box :)

@Super-JoConnell
Copy link

thats good to know @robertalexa :-), was about a week ago that i downloaded z2m and found this and started to configure my system before it was officially supported out the box lol, was having issues with openhab and been spending alot of time trying to get that sorted and now finally got it all working and thought to thank you guys, you think it would be better for me to update z2m or just leave it the way i've configured it ?

@robertalexa
Copy link
Contributor

To avoid future issue i would suggest you remove the external converter from your config and update z2m. It should be super straight forward

@JeffersonBledsoe
Copy link

Just came in here to say that I've been using the SLR1 alongside the SLT3b out-the-box for a couple of days now with 0 issues and instant out-the-box setup, so thanks to everyone involved for such great work!
I'll likely do a PR to the docs for the SLR1 soon to add instructions for pairing mode, just to make it even easier for anybody to just open the docs, put the thermostat in pairing mode and be good to go :)

@robertalexa
Copy link
Contributor

I am glad everything is going well for you. I have also set it up at my end when this became officially supported (i have done the support in a test environment) and have not seen anything wrong so far.

Rest assured if i find sth, or if anyone else does, tag me, i will have a look at it.

If you are doing the pr for pairing mode, if you dont mind, you could do it for slr1, srl1b, slr2, slr2b and the remotes. I am pretty sure the all pair in the same way to your setup.

Once again, thanks to everyone that got involved with all these devices. It was great working with you guys

@steveuk23
Copy link
Author

steveuk23 commented Oct 14, 2021

Hi guys hope you are well @robertalexa @peterguy04
Long story but I've only just managed to hard wire my SLR1 in place and it does turn on and off and boost ok etc.
But the it's temperature readings are odd.
So this morning I saw on the thermostat it was 18.9° but HA was reporting it at 20.8° which would last for about a minute or so and then refresh onto the correct temp.
It seems to be changing roughly 1-1.5° I can't see a exact pattern.
I left the page open and it changes at random times from 57 - 64 seconds.
It also does this on the Zigbee2mqtt page.
I do have a few template warnings in my log but not sure if they relate to this.
I did a short screen recording to try and show what I mean.
http://imgur.com/a/X28kuic
Thanks for any help

Logger: homeassistant.helpers.template
Source: helpers/template.py:1485
First occurred: 12 October 2021, 20:57:42 (52917 occurrences)
Last logged: 8:37:31

Template variable warning: 'dict object' has no attribute 'power_on_behavior' when rendering '{{ value_json.power_on_behavior }}'
Template variable warning: 'dict object' has no attribute 'energy' when rendering '{{ value_json.energy }}'
Template variable warning: 'dict object' has no attribute 'temperature' when rendering '{{ value_json.temperature }}'
Template variable warning: 'dict object' has no attribute 'action' when rendering '{{ value_json.action }}'
Template variable warning: 'dict object' has no attribute 'temperature_setpoint_hold_duration' when rendering '{{ value_json.temperature_setpoint_hold_duration }}'

@robertalexa
Copy link
Contributor

@steveuk23 I do not know if I fully understand your problem, I also don't know yet if it is a problem or not, but I will try to share some suggestions and hopefully you will get an answer:

The reporting for local temperature should happen after a minimum of 0.05 degrees difference. So for example, your thermostat on the wall might be different from z2m by theoretically maximum of 0.05 degrees, which in essence, it is negligible.

For testing purposes, i would say check the temperature only in Z2M, this way we can understand where the "problem" is. So i would suggest you forget about HA until you know if there is a problem with z2m. In my case, I have not had any issues with the device ever since the official support date.

Reminder that the local temperature is provided by the remote on the wall, and not the receiver on the boiler. Is your remote next to a window that is open, a door, a draughty area, above a radiator, basically anything that could fluctuate your temperature. I would suggest you place it on your desk for a while as that should be a neutral area and see if you get this variation.

Also, do you by any chance still use the external converter? Or do you have the device twice in z2m database file?

If the device behaves correctly in z2m, move your investigation to HA, but check the data in Configuration -> Devices -> Your_climate_device rather than lovelace dashboard. If that is also fine, then you investigate Lovelace.

@robertalexa
Copy link
Contributor

Also, can you please confirm what version of z2m and HA are u using?

@steveuk23
Copy link
Author

@robertalexa
Sorry I didn't explain it very well.
So this morning I noticed on the thermostat the temperature reading was 18.9 but in HA and Z2M it was saying it was 20.6 but then after about a minute it changed back to the correct 18.9 but kept repeating that cycle by jumping up then back down but all the time the wall thermostat was reading the correct temperature without any sudden changes.
This would explain to me why last night the house radiators were only Luke warm because my heating setpoint was 19.5 so these fluctuations were turning my boiler on and off every minute or so.

@steveuk23
Copy link
Author

Also, can you please confirm what version of z2m and HA are u using?

Z2m is 1.18.1-1
HA is 2021.9.7

@robertalexa
Copy link
Contributor

This would explain to me why last night the house radiators were only Luke warm because my heating setpoint was 19.5 so these fluctuations were turning my boiler on and off every minute or so.

No it would not explain it. Remote talks to the receiver about local temperature, z2m already set the occupied_heating_setpoint. From that point on, the boiler decides on its own when to start and stop. Based on what you say, the temperature on the remote remains constant, so it should not get the boiler to start. But i might have an idea:

When you press a button on the remote, does it take a long time to load? Does it say "No Signal" sometimes? I experienced similar-ish behaviour when the remote paired and connected straight to the coordinator. But I have re-paired both the receiver and remote while taking the remote next to a router device far away from the coordinator (could even be the receiver itself). I suspect your remote has crappy signal, and might be disconnecting.

I would suggest if you do a re-pair of both of them, first unpair them, make sure there are no traces of them in the database file, make sure you have removed the external converter, make sure you are using the latest version of HA and Z2M (those template warnings should not be happening in the latest version, there have been fixes done).

@steveuk23
Copy link
Author

Thanks I'll try all that tonight when I get home.
Do you think Z2M would report a increase in the current temp just because of a signal loss ?
When I initially set about this and you got it working I was using the WP1T thermostat paired with the SLR1 receiver.
And when I hard wired it in place last Friday I paired the SLR1 that you got working with my newer SLT3 thermostat but I've not been able to use it up until yesterday as I noticed the boiler leaking on Friday and it's only got repaired yesterday.
I've not noticed any delay when pressing a button but i only noticed something wasn't right this morning about 10 minutes before i had to leave.

@robertalexa
Copy link
Contributor

Do you think Z2M would report a increase in the current temp just because of a signal loss ?

It is very possible. Is it possible that the receiver has like a default value for local_temperature, just like the SLR2 has a default fake one for the water endpoint. But i can't say that with 100% certainty.

But there have been many improvements in z2m in the recent updates, so that would be my first approach if i were you. Update everything, make sure you don't have an external converter that might interfere (or might be outdated), and re-pair the devices from scratch. Then you know you are working with "stable" software, which we know behaves correctly for others.

@steveuk23
Copy link
Author

@robertalexa
Thanks I've just updated everything and I did still have 2 external converters

  • SLR1
  • WPT1A (you added battery support for that)
    I can't access the Z2M database through file editor on my phone unless you know a way so I'll do that tonight.
    If all is still the same after re pairing I might re pair it again to the WPTA thermostat to see how that one gets on.

@robertalexa
Copy link
Contributor

  • I can't access the Z2M database through file editor on my phone unless you know a way so I'll do that tonight.

You can do that:
image

Find it in the zigbee2mqtt folder at the end.

I did still have 2 external converters

I guess you have now removed them as they are not needed.

@steveuk23
Copy link
Author

  • I can't access the Z2M database through file editor on my phone unless you know a way so I'll do that tonight.

You can do that: image

Find it in the zigbee2mqtt folder at the end.

I did still have 2 external converters

I guess you have now removed them as they are not needed.

My Zigbee2mqtt for isn't inside the config file like yours.
It's a level above on the root which I normally access through SSH on my laptop.
Not sure why as I've never touched that.

@robertalexa
Copy link
Contributor

You can set the path, but i would advise you do it at home, when you can back everything up and potentially manually move it:
image

@steveuk23
Copy link
Author

You can set the path, but i would advise you do it at home, when you can back everything up and potentially manually move it: image

Hi Robert
I've done everything you suggested i realized my Z2M add on was out of date but there was no update showing and found out my repository URL was out of date so no newer version was showing,
Anyway i'm on the latest version now and i'm all set back up after deleting and pairing etc and touch wood everything seems to be stable and haven't noticed any jumps in temp readings.
Thanks for the help with this

@steveuk23
Copy link
Author

@robertalexa
Sorry spoke to soon it seems to be still doing it.
I've got the Z2M page open and watching the local_temperature and roughly every 2 minutes the temperature will jump up by about 1.5 degrees but the SLT3B thermostat remains a constant reading.
Everything is up to date now and no external convertors set up,
Have you any ideas what could be causing it ? the link quality is at 47 on the receiver and 78 on the thermostat
hive
hive2

@robertalexa
Copy link
Contributor

Absolutely no idea Steve unfortunately. For the sake of the testing, try to move the remote closer to the receiver, just to see if there is a signal problem between them.

In y case I am using the SLT3 and I have not noticed any issues, but to be completely honest I rarely had my heating on since setting it up. I will keep my eyes peeled if i see anything similar.

The alternative is to pair it with the old thermostat, again, just for testing sake, to see if the numbers are sticking.

Another thing i can think of is old firmware on the devices, but that can only be fixed by pairing them to the Hive hub and hopeing for an update. Although I think you can call Hive and ask them to push the latest firmware remotely.

Sorry I can't be of much use with this. Tried setting your log level to debug and keep your eyes on the log to see when and how that value changes. Maybe that would indicate sth

@steveuk23
Copy link
Author

@robertalexa
Thanks yeah I think I will swap them over because it is definitely turning the actual boiler on and off when it does it.
Because my heating setpoint this morning was set at 19.5 but the readings were jumping between the temperature of 18.9 and 20.3 and I was stood at the boiler and could see it turning it on and off, luckily the receiver has that inbuilt protection that stops the frequent on/off commands.
I've just moved them closer while I'm out today and can monitor it.
I'm hoping it's because one is old and the other new so they might be incompatible with each other....god knows 🥺
Thanks anyway.

@quantum-fc101
Copy link

I am trying to connect my Hive Single Channel Receiver SLR1d but it not supported. Any ideas how I can add support?
image

Thanks

Z2M Verion 1.40.1-1

@quantum-fc101
Copy link

For anyone still watching this issue, I have now submitted a PR to update the documentation for SLR1, SLR1b, SLR2 and SLR2b. Koenkk/zigbee2mqtt.io#891

Once the PR gets merged in you will be able to see how to control all the device features, in one compact form.

Once again, thank you all for contributing and helping me help you. Hope you are excited to get this working nicely before the winter :)

Could you help add support for SLR1d? Thanks

@Westie
Copy link

Westie commented Oct 12, 2024

@quantum-fc101 this got added in Koenkk/zigbee-herdsman-converters#8105 a couple of days ago.

Update: not having reporting in there really screwed me up 😂

For what it's worth, you can query stuff like target and local temperatures on both the thermostat and the thermostat controller, but there's nothing in any package on here that sets up reporting.

Should that be flagged as a separate issue @Koenkk ?

https://typefish.co.uk/post/764184068686528512/thoughts-over-hive-smart-thermostats

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new device support New device support request
Projects
None yet
Development

No branches or pull requests

9 participants