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.
{
"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": []
}
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
Relevant mapping data from (Home Assistant config entry)