Skip to content

Missing DP mappings for Heat Pump (gpzittzfnzhduquz) #65

Description

@tbouron

I have a connected heat pump in tuya, which has a couple of missing data points. I can see that the SDK is receiving the data from the cloud but doesn't have the mapping and get ignored.

Can this mapping be added please?

Relevant SDK logs

2026-05-01 10:29:05.416 DEBUG (paho-mqtt-client-cloud_63f41966a42deceafd9535700c4da9f2) [tuya_sharing] _on_log: Received PUBLISH (d0, q0, r0, m0), 'cloud/device/bfde57db0971635fb4vsop/in/24d2afb98121974b6505c40a3a980362/pen', ... (206 bytes)

2026-05-01 10:29:05.416 DEBUG (paho-mqtt-client-cloud_63f41966a42deceafd9535700c4da9f2) [tuya_sharing] payload-> b'{"protocol":4,"data":{"devId":"bfde57db0971635fb4vsop","dataId":"afdf169a-4066-490e-84fb-b37d0309ba1c","productKey":"gpzittzfnzhduquz","status":[{"dpId":103,"t":1777624144986,"value":6}]},"t":1777624145399}'

2026-05-01 10:29:05.418 DEBUG (paho-mqtt-client-cloud_63f41966a42deceafd9535700c4da9f2) [tuya_sharing] on_message: {'protocol': 4, 'data': {'devId': 'bfde57db0971635fb4vsop', 'dataId': 'afdf169a-4066-490e-84fb-b37d0309ba1c', 'productKey': 'gpzittzfnzhduquz', 'status': [{'dpId': 103, 't': 1777624144986, 'value': 6}]}, 't': 1777624145399}

2026-05-01 10:29:05.419 DEBUG (paho-mqtt-client-cloud_63f41966a42deceafd9535700c4da9f2) [tuya_sharing] mq receive-> {'protocol': 4, 'data': {'devId': 'bfde57db0971635fb4vsop', 'dataId': 'afdf169a-4066-490e-84fb-b37d0309ba1c', 'productKey': 'gpzittzfnzhduquz', 'status': [{'dpId': 103, 't': 1777624144986, 'value': 6}]}, 't': 1777624145399}

2026-05-01 10:29:05.419 DEBUG (paho-mqtt-client-cloud_63f41966a42deceafd9535700c4da9f2) [tuya_sharing] mq _on_device_report-> [{'dpId': 103, 't': 1777624144986, 'value': 6}]

2026-05-01 10:29:05.420 DEBUG (paho-mqtt-client-cloud_63f41966a42deceafd9535700c4da9f2) [tuya_sharing] mq _on_device_report unknown dpId: 103

2026-05-01 10:29:05.421 DEBUG (paho-mqtt-client-cloud_63f41966a42deceafd9535700c4da9f2) [homeassistant.components.tuya] Received update for device bfde57db0971635fb4vsop (online: True): {'switch': True, 'mode': 'heating', 'child_lock': False, 'temp_set': 28, 'temp_unit_convert': 'c', 'temp_current': -22, 'compressor_strength': 100, 'temp_top': 40, 'temp_bottom': 18, 'temp_coiler': -1, 'temp_venting': 78, 'temp_effluent': 26, 'temp_around': 14} (updated properties: [], dp_timestamps: {})

Relevant mapping data from (Home Assistant config entry)

{
  "data": {
    "endpoint": "https://apigw.tuyaeu.com",
    "mqtt_connected": true,
    "disabled_by": null,
    "disabled_polling": false,
    "devices": [
      {
        "id": "bfde57db0971635fb4vsop",
        "name": "Inverter Pool Heat Pump",
        "category": "znrb",
        "product_id": "gpzittzfnzhduquz",
        "product_name": "Inverter Pool Heat Pump",
        "online": true,
        "sub": false,
        "time_zone": "+02:00",
        "active_time": "2025-10-04T08:58:39+00:00",
        "create_time": "2025-10-04T08:58:39+00:00",
        "update_time": "2025-10-04T08:58:39+00:00",
        "function": {
          "switch": {
            "type": "Boolean",
            "value": "{}"
          },
          "mode": {
            "type": "Enum",
            "value": "{\"range\":[\"auto\",\"heating\",\"cold\"]}"
          },
          "child_lock": {
            "type": "Boolean",
            "value": "{}"
          },
          "temp_set": {
            "type": "Integer",
            "value": "{\"unit\":\"\",\"min\":-22,\"max\":104,\"scale\":0,\"step\":1}"
          },
          "temp_unit_convert": {
            "type": "Enum",
            "value": "{\"range\":[\"f\",\"c\"]}"
          }
        },
        "local_strategy": {
          "1": {
            "value_convert": "default",
            "status_code": "switch",
            "config_item": {
              "statusFormat": "{\"switch\":\"$\"}",
              "valueDesc": "{}",
              "valueType": "Boolean",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          },
          "2": {
            "value_convert": "default",
            "status_code": "mode",
            "config_item": {
              "statusFormat": "{\"mode\":\"$\"}",
              "valueDesc": "{\"range\":[\"auto\",\"heating\",\"cold\"]}",
              "valueType": "Enum",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          },
          "3": {
            "value_convert": "default",
            "status_code": "child_lock",
            "config_item": {
              "statusFormat": "{\"child_lock\":\"$\"}",
              "valueDesc": "{}",
              "valueType": "Boolean",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          },
          "4": {
            "value_convert": "default",
            "status_code": "temp_set",
            "config_item": {
              "statusFormat": "{\"temp_set\":\"$\"}",
              "valueDesc": "{\"unit\":\"\",\"min\":-22,\"max\":104,\"scale\":0,\"step\":1}",
              "valueType": "Integer",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          },
          "6": {
            "value_convert": "default",
            "status_code": "temp_unit_convert",
            "config_item": {
              "statusFormat": "{\"temp_unit_convert\":\"$\"}",
              "valueDesc": "{\"range\":[\"f\",\"c\"]}",
              "valueType": "Enum",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          },
          "16": {
            "value_convert": "default",
            "status_code": "temp_current",
            "config_item": {
              "statusFormat": "{\"temp_current\":\"$\"}",
              "valueDesc": "{\"unit\":\"\",\"min\":-22,\"max\":250,\"scale\":0,\"step\":1}",
              "valueType": "Integer",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          },
          "20": {
            "value_convert": "default",
            "status_code": "compressor_strength",
            "config_item": {
              "statusFormat": "{\"compressor_strength\":\"$\"}",
              "valueDesc": "{\"unit\":\"%\",\"min\":0,\"max\":150,\"scale\":0,\"step\":1}",
              "valueType": "Integer",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          },
          "21": {
            "value_convert": "default",
            "status_code": "temp_top",
            "config_item": {
              "statusFormat": "{\"temp_top\":\"$\"}",
              "valueDesc": "{\"unit\":\"\",\"min\":-22,\"max\":104,\"scale\":0,\"step\":1}",
              "valueType": "Integer",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          },
          "22": {
            "value_convert": "default",
            "status_code": "temp_bottom",
            "config_item": {
              "statusFormat": "{\"temp_bottom\":\"$\"}",
              "valueDesc": "{\"unit\":\"\",\"min\":-22,\"max\":104,\"scale\":0,\"step\":1}",
              "valueType": "Integer",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          },
          "23": {
            "value_convert": "default",
            "status_code": "temp_coiler",
            "config_item": {
              "statusFormat": "{\"temp_coiler\":\"$\"}",
              "valueDesc": "{\"unit\":\"\",\"min\":-22,\"max\":250,\"scale\":0,\"step\":1}",
              "valueType": "Integer",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          },
          "24": {
            "value_convert": "default",
            "status_code": "temp_venting",
            "config_item": {
              "statusFormat": "{\"temp_venting\":\"$\"}",
              "valueDesc": "{\"unit\":\"\",\"min\":-22,\"max\":250,\"scale\":0,\"step\":1}",
              "valueType": "Integer",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          },
          "25": {
            "value_convert": "default",
            "status_code": "temp_effluent",
            "config_item": {
              "statusFormat": "{\"temp_effluent\":\"$\"}",
              "valueDesc": "{\"unit\":\"\",\"min\":-22,\"max\":250,\"scale\":0,\"step\":1}",
              "valueType": "Integer",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          },
          "26": {
            "value_convert": "default",
            "status_code": "temp_around",
            "config_item": {
              "statusFormat": "{\"temp_around\":\"$\"}",
              "valueDesc": "{\"unit\":\"\",\"min\":-22,\"max\":250,\"scale\":0,\"step\":1}",
              "valueType": "Integer",
              "enumMappingMap": {},
              "pid": "gpzittzfnzhduquz"
            }
          }
        },
        "status_range": {
          "switch": {
            "type": "Boolean",
            "value": "{}",
            "report_type": null
          },
          "mode": {
            "type": "Enum",
            "value": "{\"range\":[\"auto\",\"heating\",\"cold\"]}",
            "report_type": null
          },
          "child_lock": {
            "type": "Boolean",
            "value": "{}",
            "report_type": null
          },
          "temp_set": {
            "type": "Integer",
            "value": "{\"unit\":\"\",\"min\":-22,\"max\":104,\"scale\":0,\"step\":1}",
            "report_type": null
          },
          "temp_unit_convert": {
            "type": "Enum",
            "value": "{\"range\":[\"f\",\"c\"]}",
            "report_type": null
          },
          "temp_current": {
            "type": "Integer",
            "value": "{\"unit\":\"\",\"min\":-22,\"max\":250,\"scale\":0,\"step\":1}",
            "report_type": null
          },
          "compressor_strength": {
            "type": "Integer",
            "value": "{\"unit\":\"%\",\"min\":0,\"max\":150,\"scale\":0,\"step\":1}",
            "report_type": null
          },
          "temp_top": {
            "type": "Integer",
            "value": "{\"unit\":\"\",\"min\":-22,\"max\":104,\"scale\":0,\"step\":1}",
            "report_type": null
          },
          "temp_bottom": {
            "type": "Integer",
            "value": "{\"unit\":\"\",\"min\":-22,\"max\":104,\"scale\":0,\"step\":1}",
            "report_type": null
          },
          "temp_coiler": {
            "type": "Integer",
            "value": "{\"unit\":\"\",\"min\":-22,\"max\":250,\"scale\":0,\"step\":1}",
            "report_type": null
          },
          "temp_venting": {
            "type": "Integer",
            "value": "{\"unit\":\"\",\"min\":-22,\"max\":250,\"scale\":0,\"step\":1}",
            "report_type": null
          },
          "temp_effluent": {
            "type": "Integer",
            "value": "{\"unit\":\"\",\"min\":-22,\"max\":250,\"scale\":0,\"step\":1}",
            "report_type": null
          },
          "temp_around": {
            "type": "Integer",
            "value": "{\"unit\":\"\",\"min\":-22,\"max\":250,\"scale\":0,\"step\":1}",
            "report_type": null
          }
        },
        "status": {
          "switch": true,
          "mode": "heating",
          "child_lock": false,
          "temp_set": 28,
          "temp_unit_convert": "c",
          "temp_current": -22,
          "compressor_strength": 100,
          "temp_top": 40,
          "temp_bottom": 18,
          "temp_coiler": 0,
          "temp_venting": 77,
          "temp_effluent": 26,
          "temp_around": 14
        },
        "set_up": true,
        "support_local": true,
        "quirk": null,
        "warnings": null,
        "home_assistant": {
          "name": "Inverter Pool Heat Pump",
          "name_by_user": "PAC",
          "disabled": false,
          "disabled_by": null,
          "entities": [
            {
              "disabled": false,
              "disabled_by": null,
              "entity_category": null,
              "device_class": null,
              "original_device_class": null,
              "icon": null,
              "original_icon": null,
              "unit_of_measurement": "",
              "state": {
                "entity_id": "number.pac_temperature",
                "state": "28.0",
                "attributes": {
                  "min": -22.0,
                  "max": 104.0,
                  "step": 1.0,
                  "mode": "auto",
                  "unit_of_measurement": "",
                  "friendly_name": "PAC Temp\u00e9rature"
                },
                "last_changed": "2026-05-01T08:16:33.069878+00:00",
                "last_reported": "2026-05-01T08:16:33.069878+00:00",
                "last_updated": "2026-05-01T08:16:33.069878+00:00"
              }
            },
            {
              "disabled": false,
              "disabled_by": null,
              "entity_category": null,
              "device_class": null,
              "original_device_class": null,
              "icon": null,
              "original_icon": null,
              "unit_of_measurement": "",
              "state": {
                "entity_id": "sensor.pac_temperature",
                "state": "-22.0",
                "attributes": {
                  "state_class": "measurement",
                  "unit_of_measurement": "",
                  "friendly_name": "PAC Temp\u00e9rature"
                },
                "last_changed": "2026-04-30T23:06:46.852093+00:00",
                "last_reported": "2026-04-30T23:06:46.852093+00:00",
                "last_updated": "2026-04-30T23:06:46.852093+00:00"
              }
            },
            {
              "disabled": false,
              "disabled_by": null,
              "entity_category": null,
              "device_class": null,
              "original_device_class": null,
              "icon": null,
              "original_icon": null,
              "unit_of_measurement": null,
              "state": {
                "entity_id": "switch.pac_switch",
                "state": "on",
                "attributes": {
                  "friendly_name": "PAC Switch"
                },
                "last_changed": "2026-04-30T23:06:46.870245+00:00",
                "last_reported": "2026-04-30T23:06:46.870245+00:00",
                "last_updated": "2026-04-30T23:06:46.870245+00:00"
              }
            },
            {
              "disabled": false,
              "disabled_by": null,
              "entity_category": null,
              "device_class": null,
              "original_device_class": "temperature",
              "icon": null,
              "original_icon": null,
              "unit_of_measurement": "\u00b0C",
              "state": {
                "entity_id": "sensor.pac_temperature_normalisee",
                "state": "22.0",
                "attributes": {
                  "state_class": "measurement",
                  "unit_of_measurement": "\u00b0C",
                  "device_class": "temperature",
                  "friendly_name": "PAC Temp\u00e9rature normalis\u00e9e"
                },
                "last_changed": "2026-04-30T23:06:52.928355+00:00",
                "last_reported": "2026-04-30T23:06:52.928355+00:00",
                "last_updated": "2026-04-30T23:06:52.928355+00:00"
              }
            },
            {
              "disabled": false,
              "disabled_by": null,
              "entity_category": null,
              "device_class": null,
              "original_device_class": null,
              "icon": null,
              "original_icon": null,
              "unit_of_measurement": null,
              "state": {
                "entity_id": "climate.pac_thermostat",
                "state": "heat",
                "attributes": {
                  "hvac_modes": [
                    "heat",
                    "off"
                  ],
                  "min_temp": 24.0,
                  "max_temp": 34.0,
                  "target_temp_step": 0.1,
                  "preset_modes": [
                    "none",
                    "comfort",
                    "home"
                  ],
                  "current_temperature": 22.0,
                  "temperature": 28.0,
                  "hvac_action": "heating",
                  "preset_mode": "home",
                  "friendly_name": "PAC Thermostat",
                  "supported_features": 401
                },
                "last_changed": "2026-04-30T23:06:47.616891+00:00",
                "last_reported": "2026-04-30T23:06:52.937950+00:00",
                "last_updated": "2026-04-30T23:06:52.930356+00:00"
              }
            },
            {
              "disabled": false,
              "disabled_by": null,
              "entity_category": null,
              "device_class": null,
              "original_device_class": "power",
              "icon": null,
              "original_icon": null,
              "unit_of_measurement": "W",
              "state": {
                "entity_id": "sensor.pac_power",
                "state": "2507.00",
                "attributes": {
                  "state_class": "measurement",
                  "calculation_mode": "fixed",
                  "integration": "powercalc",
                  "source_entity": "switch.pac_switch",
                  "source_domain": "switch",
                  "energy_sensor_entity_id": "sensor.pac_energy",
                  "unit_of_measurement": "W",
                  "device_class": "power",
                  "friendly_name": "PAC Power"
                },
                "last_changed": "2026-04-30T23:06:52.940628+00:00",
                "last_reported": "2026-04-30T23:06:52.940628+00:00",
                "last_updated": "2026-04-30T23:06:52.940628+00:00"
              }
            },
            {
              "disabled": false,
              "disabled_by": null,
              "entity_category": null,
              "device_class": null,
              "original_device_class": "energy",
              "icon": null,
              "original_icon": "mdi:lightning-bolt",
              "unit_of_measurement": null,
              "state": {
                "entity_id": "sensor.pac_energy",
                "state": "241.8274",
                "attributes": {
                  "state_class": "total_increasing",
                  "source_entity": "switch.pac_switch",
                  "source_domain": "switch",
                  "source": "sensor.pac_power",
                  "unit_of_measurement": "kWh",
                  "device_class": "energy",
                  "icon": "mdi:lightning-bolt",
                  "friendly_name": "PAC Energy"
                },
                "last_changed": "2026-05-01T08:16:53.061902+00:00",
                "last_reported": "2026-05-01T08:16:53.061902+00:00",
                "last_updated": "2026-05-01T08:16:53.061902+00:00"
              }
            }
          ]
        }
      }
    ]
  },
  "issues": []
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions