Closed vklachkov closed 2 years ago
The problem turned out to be in foreach with async. I did this and it worked:
for (const ep of device.endpoints) {
await ep.read('hvacThermostat', [
'systemMode',
'localTemp',
'occupiedHeatingSetpoint',
'localTemperatureCalibration'
]);
await ep.read('hvacThermostat', [1024], manufacturerOptions.jennic);
}
I took the names from here: https://github.com/Koenkk/zigbee-herdsman/blob/fdc3a0f7de0b1e79346649e3edb2bb716255dc2f/src/zcl/definition/cluster.ts
What happened?
I am developing my own zigbee thermostat. In the converter, in exposes, I wrote
climate()
with some field. Like this:And so that the values would be synchronized during configuration, I wrote the following code in configure:
And it doesn't work. I removed the reading of different attributes, each time deleting the device, restarting Z2M, adding again. And it somehow even synchronized systemMode and custom attribute 1024. One has only to add occupiedHeatingSetpoint or localTemperatureCalibration and everything breaks! Sometimes reading only a custom attribute does not work. No errors, no logs. Just like this:
And there is also a strange incomplete synchronization:
If I manually click all the synchronization buttons, then everything works:
What did you expect to happen?
Synchronize all values or display a detailed error in the logs
How to reproduce it (minimal and precise)
I don’t understand anything, but I'm ready to provide any information, even make a video
Zigbee2MQTT version
1.23.0
Adapter firmware version
20210120
Adapter
SONOFF ZigBEE 3.0 USB Dongle Plus
Debug log
No response