Moin Moin,
vorab - wenn das hier falsch einsortiert sein sollte -> bitte mitteilen, dann sortiere ich es gern korrekt ein.
Ich habe drei Tuya ZG-227ZL über Zigbee bei mir drin und wollte diese nun kalibrieren.
Dabei bemerkte, dass ich sowohl bei "temperature_calibration" als auch bei "humidity_calibration" trozt der klar definierten Range:
- Temp: -2 bis 2
- Humidity -30 bis 30
Keine negativen Werte ans Gerät übertragen bekomme.
Mit "-2" oder "-30" angewandt auf den humidity_calibration Datenpunkt oder per payload send ans Gerät:
payload_send:
{
"humidity_calibration": "-2",
}
Ergibt "-2" über beide Wege am Ende ein "254%" lesbar im Feld. Bewirken tut dies aber gar nichts im Bezug auf den Wert von humidity.
Bei temperature_calibration wird eine negative Zahl einfach zur positiven Zahl gewandelt und auf den Wert von temperature addiert - auch hier egal, ob Datenpunkt oder mittels payload_send.
payload_send:
{
"temperature_calibration": "-2",
}
"-2" bei über beide Wege (payload_send oder Datenpunkt temperature_calibration) ergibt am Ende eine "2" lesbar im Feld temperature_calibration und hebt "temperature" um diese 2 an (vorher 22 wird zu -> 24).
Muss ich irgendwie speziell was tun, um den negativen Wert zu übertragen oder ist hier ein Bug?
Positive werte kann ich wunderbar übetragen und werden korrekt gehandhabt um das Offset einzustellen.
Getestet habe ich als payload_send und direkt auf den Datenpunkt angewandt jeweils:
"-2"
-2
"-2.0"
-2.0
Damit das Gerät auf Empfang geht drücke ich kurz vorher den Knopf zum Umschalten der Einheit "F/C°" dann empfängt es die Veränderung und gibt auch den empfangenen Wert zurück.
Habt vielen Dank 
LG und schönes Wochenende.