Hi,
has anyone an idea how to set the local_temp_calibration via zha?
Problem: The temperatur from my Moes BHT-002GCLZB alias TS0601 _TZE200_aoclfnxz is about 2.5 C° to high. With other sensors (like esphome sensors) I have the same problem. But there I set an offset from -2.5 and then it is okay.
The zha quirks “electric_heating.MoesBHT” shows under MoesBHTThermostat (Endpoint id:1, Id: 0x0201) cluster management the attribute local_temp_calibration (id: 0x0010).
But I can’t set the attribute. Try to write -2.5 (or -250) it shows an error that the value must higher than 0 (“Error calling service zha/set_zigbee_cluster_attribute. value must be at least 0 for dictionary value @ data[‘manufacturer’]”) and try to write 2.5 or 2 or 250 (for tests) I get “ERROR (MainThread) [zigpy.zcl] [0x650f:1:0x0201] invalid literal for int() with base 10: 'None'” in the log.
Has anyone an idea howto set this attribute over zha?
I do have the same issue. My thermostats are from Moes having the model BHT-002-GALZ(Zigbee).
I have a second temperaturemeter, which shows current temperature as 24,9 Celcius Degrees. But the Moes thermostat shows as current temperature 26,5 Celcius Degrees.
Not on my end. I browsed through the code a bit more, but didn’t quite get what is missing. If anyone with more experience in the code can point to the right direction I am happy to help out with reviews and tests.
I use z2m parallel to zha with a second zigbee stick, now. So the thermostats run on z2m where is easy to setup the temperature calibration.
This is my “solution”.
So do I understand correctly, that this is only implemented to Zigbee2Mqtt? Does this mean I would need to migrate my whole Zigbee network from ZHA to Z2M?
The value is in tenths of degrees, so enter -25 to lower the measured temperature by 2.5°C…
Then do “Write attribute”, the button should turn green. After that, empty the value field and do a “Read attribute” to confirm that the device has the expected value.
Apparently you can’t set the local_temperature_calibration because when you read the value it indicates “None”. When it’s supported it should return a number.
zha_toolkit provides “low level” acces to zigbee commands, so it’s perfectly fine to have difficulties with that … . Anyway, in this case it can not do more for the localtemperaturecalibration value.
I was happy to see some activity on this thread as the heating season is about to start here. Too bad there are no good news (yet).
Conclusion is that the calibration is not available by a Zigbee command and there is nothing we can do about it as long as there is no firmware update provided by the manufacturer?
Conclusion is that the calibration is not available by a Zigbee command and there is nothing we can do about it as long as there is no firmware update provided by the manufacturer?
@moes No. The calibration is possible with the original ZB Gateway and App or with Z2M. See the comment from zipp0kms11. Apr..
The calibration is not realized in zha. Code line in Zigbee2MQTT:
So it’s possible to do so under ZHA as well, at least with the zha-toolkit but you need to write it to the correst cluster/attribute (and set the correct value).
On a closer look in the code, it seems there is a specific method for writing “TUYA” attributes, but the method is not very obvious from the zhaquirks code.
I think setting Tuya attributes is not done in the regular Zigbee way, there seems to be a specific set_data command for Tuya.
So it seems easiest to adapt the quirk by extending (subclassing) it in a local quirk.
I am going to avoid Tuya/Moes products - I am checking out a 3 button remote and it’s not even possible to bind the buttons to targets in the regular way…
My proble is, that ZHA only sets whole degrees to the thermostat. No way to set 21,5°. It will set the thermostat to 22°. Anyone else with this issue?
And the other issue is the clock: it is off by at least 5mins in a single day. That’s ridiculous.