Skip to content

[BUG] TRV _TZE204_ogx8u5z6 temperature offset needs to be multiplied by ten #4124

@wsippel

Description

@wsippel

Bug description

The _TZE204_ogx8u5z6 TRV expects and stores temperature offsets in tenths of a degree, as int. Setting the offset from the GUI does nothing at all, I suspect because it tries to write a float, which the device doesn't accept in the first place? It throws an error if I try to write a float to the offset field manually. Setting TuyaThermostatV2/local_temperature_calibration manually using the "Manage Zigbee devices" option works, but confuses the HA integration, as a 1.5 degree offset now shows as 15 degrees in the web interface.

A quirk for this device was added in #3682 , and setpoint and local_temperature were multiplied by ten, but the offset wasn't, even though it appears to follow the same format.

Steps to reproduce

Try to change the offset through the GUI and notice that nothing happens, try to set it manually and observe the GUI showing the offset multiplied by ten.

Expected behavior

Offsets should be set and read correctly.

Screenshots/Video

No response

Device signature

Device signature
{
  "node_descriptor": {
    "logical_type": 2,
    "complex_descriptor_available": 0,
    "user_descriptor_available": 0,
    "reserved": 0,
    "aps_flags": 0,
    "frequency_band": 8,
    "mac_capability_flags": 128,
    "manufacturer_code": 4417,
    "maximum_buffer_size": 66,
    "maximum_incoming_transfer_size": 66,
    "server_mask": 10752,
    "maximum_outgoing_transfer_size": 66,
    "descriptor_capability_field": 0
  },
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0051",
      "input_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0x0201",
        "0xef00"
      ],
      "output_clusters": [
        "0x000a",
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZE204_ogx8u5z6",
  "model": "TS0601",
  "class": "zigpy.quirks.v2.CustomDeviceV2"
}

Diagnostic information

Diagnostic information
{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2025.6.0",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.13.3",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "6.12.23-haos",
    "supervisor": "2025.05.5",
    "host_os": "Home Assistant OS 15.2",
    "docker_version": "28.0.4",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "openai_tts": {
      "documentation": "https://github.com/sfortis/openai_tts/",
      "version": "0.3.2",
      "requirements": []
    },
    "hacs": {
      "documentation": "https://hacs.xyz/docs/use/",
      "version": "2.0.5",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "solarman": {
      "documentation": "https://github.com/davidrapan/ha-solarman",
      "version": "25.06.07",
      "requirements": [
        "propcache",
        "aiofiles",
        "pyyaml"
      ]
    },
    "bosch": {
      "documentation": "https://github.com/bosch-thermostat/home-assistant-bosch-custom-component",
      "version": "0.28.0",
      "requirements": [
        "bosch-thermostat-client==v0.28.0"
      ]
    },
    "nodered": {
      "documentation": "https://zachowj.github.io/node-red-contrib-home-assistant-websocket/guide/custom_integration/",
      "version": "4.1.2",
      "requirements": []
    },
    "dreame_vacuum": {
      "documentation": "https://github.com/Tasshack/dreame-vacuum/tree/dev?tab=readme-ov-file#features",
      "version": "v2.0.0b19",
      "requirements": [
        "pillow",
        "numpy",
        "pybase64",
        "requests",
        "pycryptodome",
        "python-miio",
        "py-mini-racer",
        "paho-mqtt"
      ]
    },
    "xiaomi_miot": {
      "documentation": "https://github.com/al-one/hass-xiaomi-miot",
      "version": "1.0.19",
      "requirements": [
        "construct>=2.10.68",
        "python-miio>=0.5.12",
        "micloud>=0.5"
      ]
    },
    "bosch_shc": {
      "documentation": "https://github.com/tschamm/boschshc-hass/blob/master/README.md",
      "version": "0.4.96",
      "requirements": [
        "boschshcpy==0.2.105"
      ]
    },
    "watchman": {
      "documentation": "https://github.com/dummylabs/thewatchman",
      "version": "0.6.5",
      "requirements": [
        "prettytable==3.12.0"
      ]
    },
    "browser_mod": {
      "documentation": "https://github.com/thomasloven/hass-browser_mod/blob/master/README.md",
      "version": "2.4.0",
      "requirements": []
    },
    "scheduler": {
      "documentation": "https://github.com/nielsfaber/scheduler-component",
      "version": "v0.0.0",
      "requirements": []
    },
    "moonraker": {
      "documentation": "https://moonraker-home-assistant.readthedocs.io/en/latest/",
      "version": "1.8.0",
      "requirements": [
        "moonraker-api==2.0.6"
      ]
    }
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "after_dependencies": [
      "hassio",
      "onboarding",
      "usb"
    ],
    "codeowners": [
      "dmulcahey",
      "adminiuga",
      "puddly",
      "TheJulianJES"
    ],
    "config_flow": true,
    "dependencies": [
      "file_upload",
      "homeassistant_hardware"
    ],
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "iot_class": "local_polling",
    "loggers": [
      "aiosqlite",
      "bellows",
      "crccheck",
      "pure_pcapy3",
      "zhaquirks",
      "zigpy",
      "zigpy_deconz",
      "zigpy_xbee",
      "zigpy_zigate",
      "zigpy_znp",
      "zha",
      "universal_silabs_flasher"
    ],
    "requirements": [
      "zha==0.0.59"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*slzb-07*",
        "known_devices": [
          "smlight slzb-07"
        ]
      },
      {
        "vid": "1A86",
        "pid": "55D4",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus v2"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*zigstar*",
        "known_devices": [
          "ZigStar Coordinators"
        ]
      },
      {
        "vid": "1CF1",
        "pid": "0030",
        "description": "*conbee*",
        "known_devices": [
          "Conbee II"
        ]
      },
      {
        "vid": "0403",
        "pid": "6015",
        "description": "*conbee*",
        "known_devices": [
          "Conbee III"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8A2A",
        "description": "*zigbee*",
        "known_devices": [
          "Nortek HUSBZB-1"
        ]
      },
      {
        "vid": "0403",
        "pid": "6015",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate+"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8B34",
        "description": "*bv 2010/10*",
        "known_devices": [
          "Bitron Video AV2010/10"
        ]
      }
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      },
      {
        "type": "_zigate-zigbee-gateway._tcp.local.",
        "name": "*zigate*"
      },
      {
        "type": "_zigstar_gw._tcp.local.",
        "name": "*zigstar*"
      },
      {
        "type": "_uzg-01._tcp.local.",
        "name": "uzg-01*"
      },
      {
        "type": "_slzb-06._tcp.local.",
        "name": "slzb-06*"
      },
      {
        "type": "_xzg._tcp.local.",
        "name": "xzg*"
      },
      {
        "type": "_czc._tcp.local.",
        "name": "czc*"
      },
      {
        "type": "_zigbee-coordinator._tcp.local.",
        "name": "*"
      }
    ],
    "is_built_in": true,
    "overwrites_built_in": false
  },
  "setup_times": {
    "null": {
      "setup": 5.719298496842384e-05
    },
    "01JX3005B71G8AP809ZHBZG3M6": {
      "wait_import_platforms": -0.012224448029883206,
      "wait_base_component": -0.0004576219944283366,
      "config_entry_setup": 11.449796273023821
    }
  },
  "data": {
    "version": 1,
    "ieee": "**REDACTED**",
    "nwk": "0xAF78",
    "manufacturer": "_TZE204_ogx8u5z6",
    "model": "TS0601",
    "friendly_manufacturer": "_TZE204_ogx8u5z6",
    "friendly_model": "TS0601",
    "name": "_TZE204_ogx8u5z6 TS0601",
    "quirk_applied": true,
    "quirk_class": "zigpy.quirks.v2.CustomDeviceV2",
    "quirk_id": null,
    "manufacturer_code": 4417,
    "power_source": "Battery or Unknown",
    "lqi": 80,
    "rssi": null,
    "last_seen": "2025-06-13T01:45:06.594040+00:00",
    "available": true,
    "device_type": "EndDevice",
    "active_coordinator": false,
    "node_descriptor": {
      "logical_type": "EndDevice",
      "complex_descriptor_available": false,
      "user_descriptor_available": false,
      "reserved": 0,
      "aps_flags": 0,
      "frequency_band": 8,
      "mac_capability_flags": 128,
      "manufacturer_code": 4417,
      "maximum_buffer_size": 66,
      "maximum_incoming_transfer_size": 66,
      "server_mask": 10752,
      "maximum_outgoing_transfer_size": 66,
      "descriptor_capability_field": 0
    },
    "endpoints": {
      "1": {
        "profile_id": 260,
        "device_type": {
          "name": "SMART_PLUG",
          "id": 81
        },
        "in_clusters": [
          {
            "cluster_id": "0x0000",
            "endpoint_attribute": "basic",
            "attributes": [
              {
                "id": "0x0013",
                "name": "alarm_mask",
                "zcl_type": "map8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0001",
                "name": "app_version",
                "zcl_type": "uint8",
                "value": 74,
                "unsupported": false
              },
              {
                "id": "0xfffd",
                "name": "cluster_revision",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0006",
                "name": "date_code",
                "zcl_type": "string",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0012",
                "name": "device_enabled",
                "zcl_type": "bool_",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0014",
                "name": "disable_local_config",
                "zcl_type": "map8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0008",
                "name": "generic_device_class",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0009",
                "name": "generic_device_type",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0003",
                "name": "hw_version",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0010",
                "name": "location_desc",
                "zcl_type": "string",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0004",
                "name": "manufacturer",
                "zcl_type": "string",
                "value": "_TZE204_ogx8u5z6",
                "unsupported": false
              },
              {
                "id": "0x000c",
                "name": "manufacturer_version_details",
                "zcl_type": "string",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0005",
                "name": "model",
                "zcl_type": "string",
                "value": "TS0601",
                "unsupported": false
              },
              {
                "id": "0x0011",
                "name": "physical_env",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0007",
                "name": "power_source",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x000a",
                "name": "product_code",
                "zcl_type": "octstr",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x000e",
                "name": "product_label",
                "zcl_type": "string",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x000b",
                "name": "product_url",
                "zcl_type": "string",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0xfffe",
                "name": "reporting_status",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x000d",
                "name": "serial_number",
                "zcl_type": "string",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0002",
                "name": "stack_version",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x4000",
                "name": "sw_build_id",
                "zcl_type": "string",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0000",
                "name": "zcl_version",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              }
            ]
          },
          {
            "cluster_id": "0x0004",
            "endpoint_attribute": "groups",
            "attributes": [
              {
                "id": "0xfffd",
                "name": "cluster_revision",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0000",
                "name": "name_support",
                "zcl_type": "map8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0xfffe",
                "name": "reporting_status",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              }
            ]
          },
          {
            "cluster_id": "0x0005",
            "endpoint_attribute": "scenes",
            "attributes": [
              {
                "id": "0xfffd",
                "name": "cluster_revision",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0000",
                "name": "count",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0002",
                "name": "current_group",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0001",
                "name": "current_scene",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0005",
                "name": "last_configured_by",
                "zcl_type": "EUI64",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0004",
                "name": "name_support",
                "zcl_type": "map8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0xfffe",
                "name": "reporting_status",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0003",
                "name": "scene_valid",
                "zcl_type": "bool_",
                "value": null,
                "unsupported": false
              }
            ]
          },
          {
            "cluster_id": "0x0201",
            "endpoint_attribute": "thermostat",
            "attributes": [
              {
                "id": "0x0006",
                "name": "abs_max_cool_setpoint_limit",
                "zcl_type": "int16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0004",
                "name": "abs_max_heat_setpoint_limit",
                "zcl_type": "int16",
                "value": 3000,
                "unsupported": false
              },
              {
                "id": "0x0005",
                "name": "abs_min_cool_setpoint_limit",
                "zcl_type": "int16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0003",
                "name": "abs_min_heat_setpoint_limit",
                "zcl_type": "int16",
                "value": 500,
                "unsupported": false
              },
              {
                "id": "0x0041",
                "name": "ac_capacity",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0047",
                "name": "ac_capacity_format",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0046",
                "name": "ac_coil_temperature",
                "zcl_type": "int16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0043",
                "name": "ac_compressor_type",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0044",
                "name": "ac_error_code",
                "zcl_type": "map32",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0045",
                "name": "ac_louver_position",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0042",
                "name": "ac_refrigerant_type",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0040",
                "name": "ac_type",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x001d",
                "name": "alarm_mask",
                "zcl_type": "map8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x001b",
                "name": "ctrl_sequence_of_oper",
                "zcl_type": "enum8",
                "value": 2,
                "unsupported": false
              },
              {
                "id": "0x003a",
                "name": "emergency_heat_delta",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0000",
                "name": "local_temperature",
                "zcl_type": "int16",
                "value": 1880,
                "unsupported": false
              },
              {
                "id": "0x0010",
                "name": "local_temperature_calibration",
                "zcl_type": "int8",
                "value": 38,
                "unsupported": true
              },
              {
                "id": "0x0018",
                "name": "max_cool_setpoint_limit",
                "zcl_type": "int16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0016",
                "name": "max_heat_setpoint_limit",
                "zcl_type": "int16",
                "value": null,
                "unsupported": true
              },
              {
                "id": "0x0017",
                "name": "min_cool_setpoint_limit",
                "zcl_type": "int16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0015",
                "name": "min_heat_setpoint_limit",
                "zcl_type": "int16",
                "value": null,
                "unsupported": true
              },
              {
                "id": "0x0019",
                "name": "min_setpoint_dead_band",
                "zcl_type": "int8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0022",
                "name": "number_of_daily_transitions",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0021",
                "name": "number_of_weekly_transitions",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0002",
                "name": "occupancy",
                "zcl_type": "map8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0011",
                "name": "occupied_cooling_setpoint",
                "zcl_type": "int16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0012",
                "name": "occupied_heating_setpoint",
                "zcl_type": "int16",
                "value": 1700,
                "unsupported": false
              },
              {
                "id": "0x0034",
                "name": "occupied_setback",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0036",
                "name": "occupied_setback_max",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0035",
                "name": "occupied_setback_min",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0001",
                "name": "outdoor_temperature",
                "zcl_type": "int16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0007",
                "name": "pi_cooling_demand",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0008",
                "name": "pi_heating_demand",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": true
              },
              {
                "id": "0x0025",
                "name": "programing_oper_mode",
                "zcl_type": "map8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x001a",
                "name": "remote_sensing",
                "zcl_type": "map8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x001e",
                "name": "running_mode",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0029",
                "name": "running_state",
                "zcl_type": "map16",
                "value": 0,
                "unsupported": false
              },
              {
                "id": "0x0031",
                "name": "setpoint_change_amount",
                "zcl_type": "int16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0030",
                "name": "setpoint_change_source",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": true
              },
              {
                "id": "0x0032",
                "name": "setpoint_change_source_timestamp",
                "zcl_type": "UTC",
                "value": null,
                "unsupported": true
              },
              {
                "id": "0x0020",
                "name": "start_of_week",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x001c",
                "name": "system_mode",
                "zcl_type": "enum8",
                "value": 4,
                "unsupported": false
              },
              {
                "id": "0x0009",
                "name": "system_type_config",
                "zcl_type": "map8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0023",
                "name": "temp_setpoint_hold",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0024",
                "name": "temp_setpoint_hold_duration",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0013",
                "name": "unoccupied_cooling_setpoint",
                "zcl_type": "int16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0014",
                "name": "unoccupied_heating_setpoint",
                "zcl_type": "int16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0037",
                "name": "unoccupied_setback",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0039",
                "name": "unoccupied_setback_max",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0038",
                "name": "unoccupied_setback_min",
                "zcl_type": "uint8",
                "value": null,
                "unsupported": false
              }
            ]
          },
          {
            "cluster_id": "0xef00",
            "endpoint_attribute": "tuya_manufacturer",
            "attributes": [
              {
                "id": "0xef07",
                "name": "child_lock",
                "zcl_type": "bool_",
                "value": 0,
                "unsupported": false
              },
              {
                "id": "0xef23",
                "name": "error_or_battery_low",
                "zcl_type": "bool_",
                "value": 0,
                "unsupported": false
              },
              {
                "id": "0xef24",
                "name": "frost_protection",
                "zcl_type": "bool_",
                "value": 1,
                "unsupported": false
              },
              {
                "id": "0xef2f",
                "name": "local_temperature_calibration",
                "zcl_type": "int32",
                "value": 38,
                "unsupported": false
              },
              {
                "id": "0xef00",
                "name": "mcu_version",
                "zcl_type": "uint48",
                "value": "1.0.1",
                "unsupported": false
              },
              {
                "id": "0xef27",
                "name": "scale_protection",
                "zcl_type": "bool_",
                "value": 1,
                "unsupported": false
              }
            ]
          }
        ],
        "out_clusters": [
          {
            "cluster_id": "0x000a",
            "endpoint_attribute": "time",
            "attributes": [
              {
                "id": "0xfffd",
                "name": "cluster_revision",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0004",
                "name": "dst_end",
                "zcl_type": "uint32",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0005",
                "name": "dst_shift",
                "zcl_type": "int32",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0003",
                "name": "dst_start",
                "zcl_type": "uint32",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0008",
                "name": "last_set_time",
                "zcl_type": "UTC",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0007",
                "name": "local_time",
                "zcl_type": "uint32",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0xfffe",
                "name": "reporting_status",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0006",
                "name": "standard_time",
                "zcl_type": "uint32",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0000",
                "name": "time",
                "zcl_type": "UTC",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0001",
                "name": "time_status",
                "zcl_type": "map8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0002",
                "name": "time_zone",
                "zcl_type": "int32",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0009",
                "name": "valid_until_time",
                "zcl_type": "UTC",
                "value": null,
                "unsupported": false
              }
            ]
          },
          {
            "cluster_id": "0x0019",
            "endpoint_attribute": "ota",
            "attributes": [
              {
                "id": "0xfffd",
                "name": "cluster_revision",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0002",
                "name": "current_file_version",
                "zcl_type": "uint32",
                "value": 74,
                "unsupported": false
              },
              {
                "id": "0x0003",
                "name": "current_zigbee_stack_version",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0004",
                "name": "downloaded_file_version",
                "zcl_type": "uint32",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0005",
                "name": "downloaded_zigbee_stack_version",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0001",
                "name": "file_offset",
                "zcl_type": "uint32",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x000a",
                "name": "image_stamp",
                "zcl_type": "uint32",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0008",
                "name": "image_type_id",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0006",
                "name": "image_upgrade_status",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0007",
                "name": "manufacturer_id",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0009",
                "name": "minimum_block_req_delay",
                "zcl_type": "uint16",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0xfffe",
                "name": "reporting_status",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x000b",
                "name": "upgrade_activation_policy",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x0000",
                "name": "upgrade_server_id",
                "zcl_type": "EUI64",
                "value": null,
                "unsupported": false
              },
              {
                "id": "0x000c",
                "name": "upgrade_timeout_policy",
                "zcl_type": "enum8",
                "value": null,
                "unsupported": false
              }
            ]
          }
        ]
      }
    },
    "original_signature": {},
    "zha_lib_entities": {
      "binary_sensor": [
        {
          "info_object": {
            "fallback_name": "Error or battery low",
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "binary_sensor",
            "class_name": "BinarySensor",
            "translation_key": "error_or_battery_low",
            "device_class": "problem",
            "state_class": null,
            "entity_category": "diagnostic",
            "entity_registry_enabled_default": true,
            "enabled": true,
            "primary": false,
            "cluster_handlers": [
              {
                "class_name": "TuyaClusterHandler",
                "generic_id": "cluster_handler_0xef00",
                "endpoint_id": 1,
                "cluster": {
                  "id": 61184,
                  "name": "Tuya Manufacturer Specific",
                  "type": "server"
                },
                "id": "1:0xef00",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": null
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "attribute_name": "error_or_battery_low"
          },
          "state": {
            "class_name": "BinarySensor",
            "available": true,
            "state": false
          }
        }
      ],
      "climate": [
        {
          "info_object": {
            "fallback_name": null,
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "climate",
            "class_name": "Thermostat",
            "translation_key": "thermostat",
            "device_class": null,
            "state_class": null,
            "entity_category": null,
            "entity_registry_enabled_default": true,
            "enabled": true,
            "primary": true,
            "cluster_handlers": [
              {
                "class_name": "ThermostatClusterHandler",
                "generic_id": "cluster_handler_0x0201",
                "endpoint_id": 1,
                "cluster": {
                  "id": 513,
                  "name": "TuyaThermostatV2",
                  "type": "server"
                },
                "id": "1:0x0201",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": "local_temperature"
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "max_temp": 30.0,
            "min_temp": 5.0,
            "supported_features": 385,
            "fan_modes": null,
            "preset_modes": [],
            "hvac_modes": [
              "off",
              "heat"
            ]
          },
          "state": {
            "class_name": "Thermostat",
            "available": true,
            "current_temperature": 18.8,
            "outdoor_temperature": null,
            "target_temperature": 17.0,
            "target_temperature_high": null,
            "target_temperature_low": null,
            "hvac_action": "idle",
            "hvac_mode": "heat",
            "preset_mode": "none",
            "fan_mode": "auto",
            "system_mode": "[4]/heat",
            "occupancy": null,
            "occupied_cooling_setpoint": null,
            "occupied_heating_setpoint": 1700,
            "pi_heating_demand": null,
            "pi_cooling_demand": null,
            "unoccupied_cooling_setpoint": null,
            "unoccupied_heating_setpoint": null
          }
        }
      ],
      "number": [
        {
          "info_object": {
            "fallback_name": "Local temperature calibration",
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "number",
            "class_name": "NumberConfigurationEntity",
            "translation_key": "local_temperature_calibration",
            "device_class": null,
            "state_class": null,
            "entity_category": "config",
            "entity_registry_enabled_default": true,
            "enabled": true,
            "primary": false,
            "cluster_handlers": [
              {
                "class_name": "TuyaClusterHandler",
                "generic_id": "cluster_handler_0xef00",
                "endpoint_id": 1,
                "cluster": {
                  "id": 61184,
                  "name": "Tuya Manufacturer Specific",
                  "type": "server"
                },
                "id": "1:0xef00",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": null
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "mode": "auto",
            "native_max_value": 6,
            "native_min_value": -6,
            "native_step": 1,
            "native_unit_of_measurement": "\u00b0C"
          },
          "state": {
            "class_name": "NumberConfigurationEntity",
            "available": true,
            "state": 38
          }
        }
      ],
      "sensor": [
        {
          "info_object": {
            "fallback_name": null,
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "sensor",
            "class_name": "LQISensor",
            "translation_key": "lqi",
            "device_class": null,
            "state_class": "measurement",
            "entity_category": "diagnostic",
            "entity_registry_enabled_default": false,
            "enabled": true,
            "primary": false,
            "cluster_handlers": [
              {
                "class_name": "BasicClusterHandler",
                "generic_id": "cluster_handler_0x0000",
                "endpoint_id": 1,
                "cluster": {
                  "id": 0,
                  "name": "Basic",
                  "type": "server"
                },
                "id": "1:0x0000",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": null
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "suggested_display_precision": null,
            "unit": null
          },
          "state": {
            "class_name": "LQISensor",
            "available": true,
            "state": 80
          }
        },
        {
          "info_object": {
            "fallback_name": null,
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "sensor",
            "class_name": "RSSISensor",
            "translation_key": "rssi",
            "device_class": "signal_strength",
            "state_class": "measurement",
            "entity_category": "diagnostic",
            "entity_registry_enabled_default": false,
            "enabled": true,
            "primary": false,
            "cluster_handlers": [
              {
                "class_name": "BasicClusterHandler",
                "generic_id": "cluster_handler_0x0000",
                "endpoint_id": 1,
                "cluster": {
                  "id": 0,
                  "name": "Basic",
                  "type": "server"
                },
                "id": "1:0x0000",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": null
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "suggested_display_precision": null,
            "unit": "dBm"
          },
          "state": {
            "class_name": "RSSISensor",
            "available": true,
            "state": null
          }
        },
        {
          "info_object": {
            "fallback_name": null,
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "sensor",
            "class_name": "ThermostatHVACAction",
            "translation_key": "hvac_action",
            "device_class": null,
            "state_class": null,
            "entity_category": null,
            "entity_registry_enabled_default": true,
            "enabled": true,
            "primary": false,
            "cluster_handlers": [
              {
                "class_name": "ThermostatClusterHandler",
                "generic_id": "cluster_handler_0x0201",
                "endpoint_id": 1,
                "cluster": {
                  "id": 513,
                  "name": "TuyaThermostatV2",
                  "type": "server"
                },
                "id": "1:0x0201",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": "local_temperature"
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "suggested_display_precision": null,
            "unit": null
          },
          "state": {
            "class_name": "ThermostatHVACAction",
            "available": true,
            "state": "idle"
          }
        }
      ],
      "switch": [
        {
          "info_object": {
            "fallback_name": "Child lock",
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "switch",
            "class_name": "ConfigurableAttributeSwitch",
            "translation_key": "child_lock",
            "device_class": null,
            "state_class": null,
            "entity_category": "config",
            "entity_registry_enabled_default": true,
            "enabled": true,
            "primary": false,
            "cluster_handlers": [
              {
                "class_name": "TuyaClusterHandler",
                "generic_id": "cluster_handler_0xef00",
                "endpoint_id": 1,
                "cluster": {
                  "id": 61184,
                  "name": "Tuya Manufacturer Specific",
                  "type": "server"
                },
                "id": "1:0xef00",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": null
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "attribute_name": "child_lock",
            "invert_attribute_name": null,
            "force_inverted": false,
            "off_value": 0,
            "on_value": 1
          },
          "state": {
            "class_name": "ConfigurableAttributeSwitch",
            "available": true,
            "state": false,
            "inverted": false
          }
        },
        {
          "info_object": {
            "fallback_name": "Frost protection",
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "switch",
            "class_name": "ConfigurableAttributeSwitch",
            "translation_key": "frost_protection",
            "device_class": null,
            "state_class": null,
            "entity_category": "config",
            "entity_registry_enabled_default": true,
            "enabled": true,
            "primary": false,
            "cluster_handlers": [
              {
                "class_name": "TuyaClusterHandler",
                "generic_id": "cluster_handler_0xef00",
                "endpoint_id": 1,
                "cluster": {
                  "id": 61184,
                  "name": "Tuya Manufacturer Specific",
                  "type": "server"
                },
                "id": "1:0xef00",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": null
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "attribute_name": "frost_protection",
            "invert_attribute_name": null,
            "force_inverted": false,
            "off_value": 0,
            "on_value": 1
          },
          "state": {
            "class_name": "ConfigurableAttributeSwitch",
            "available": true,
            "state": true,
            "inverted": false
          }
        },
        {
          "info_object": {
            "fallback_name": "Scale protection",
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "switch",
            "class_name": "ConfigurableAttributeSwitch",
            "translation_key": "scale_protection",
            "device_class": null,
            "state_class": null,
            "entity_category": "config",
            "entity_registry_enabled_default": true,
            "enabled": true,
            "primary": false,
            "cluster_handlers": [
              {
                "class_name": "TuyaClusterHandler",
                "generic_id": "cluster_handler_0xef00",
                "endpoint_id": 1,
                "cluster": {
                  "id": 61184,
                  "name": "Tuya Manufacturer Specific",
                  "type": "server"
                },
                "id": "1:0xef00",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": null
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "attribute_name": "scale_protection",
            "invert_attribute_name": null,
            "force_inverted": false,
            "off_value": 0,
            "on_value": 1
          },
          "state": {
            "class_name": "ConfigurableAttributeSwitch",
            "available": true,
            "state": true,
            "inverted": false
          }
        }
      ],
      "update": [
        {
          "info_object": {
            "fallback_name": null,
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "update",
            "class_name": "FirmwareUpdateEntity",
            "translation_key": null,
            "device_class": "firmware",
            "state_class": null,
            "entity_category": "config",
            "entity_registry_enabled_default": true,
            "enabled": true,
            "primary": false,
            "cluster_handlers": [
              {
                "class_name": "OtaClientClusterHandler",
                "generic_id": "cluster_handler_0x0019_client",
                "endpoint_id": 1,
                "cluster": {
                  "id": 25,
                  "name": "Ota",
                  "type": "client"
                },
                "id": "1:0x0019_client",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": null
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "supported_features": 7
          },
          "state": {
            "class_name": "FirmwareUpdateEntity",
            "available": true,
            "installed_version": "0x0000004a",
            "in_progress": false,
            "update_percentage": null,
            "latest_version": null,
            "release_summary": null,
            "release_notes": null,
            "release_url": null
          }
        }
      ]
    },
    "neighbors": [],
    "routes": []
  }
}

Logs

Logs
[Paste the logs here]

Additional information

The 38 degrees calibration value in the diagnostics I posted is actually 3.8 degrees and works correctly on the devices, but is displayed as 38 degrees in the web interface.

Metadata

Metadata

Assignees

No one assigned

    Labels

    TuyaRequest/PR regarding a Tuya devicebugConfirmed buglikely easy fixIt's likely that this issue is easily fixablepossible bugPossible bug, yet to be confirmed

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions