Tuya qccdz EV Charger: Add support for sensors (power, energy, temperature, connection_state, charge_cur_set) #1756
Unanswered
normanp2pl
asked this question in
Integration enhancements
Replies: 1 comment
-
|
🏷️ I've automatically added the |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Integration name
tuya
Link to integration documentation on our website
https://www.home-assistant.io/integrations/tuya
Describe the enhancement
The Tuya EV charger with category qccdz exposes multiple data points (DPs) in the Tuya API, such as power, energy, temperature, connection_state, and charge_cur_set.
However, the official Home Assistant Tuya integration only creates a single entity - a switch - and none of the available data points are exposed as sensors or numbers.
In the device diagnostics, all DPs are visible in status and status_range, so the values are clearly available from the API, but they are not mapped to HA entities.
It would be very helpful if the integration created corresponding entities for these values (e.g., sensor.power_total, sensor.forward_energy_total, sensor.temp_current, sensor.connection_state, and a number.charge_cur_set for adjusting the charge current).
This would bring the qccdz category to parity with other Tuya EV chargers or power‐related devices, and allow meaningful use of the device inside Home Assistant (automation, energy dashboard, safety logic, etc.).
Use cases
Energy monitoring:
Use forward_energy_total, power_total and energy_charge sensors for the HA Energy Dashboard and cost tracking.
Charging current control:
Expose charge_cur_set as a number entity to adjust charging amperage directly from HA automations or dashboards.
Vehicle connection detection:
Use connection_state to trigger automations when a car is plugged in or unplugged.
Safety automations:
Use temp_current (temperature) to detect overheating and shut down charging if needed.
Historical data & statistics:
Allow HA to log power/energy/temperature over time for analysis and diagnostics.
Right now, none of these use cases are possible because the integration exposes only a single switch.
Anything else?
Device diagnostics JSON:
"integration_manifest": { "domain": "tuya", "name": "Tuya", "codeowners": [ "Tuya", "zlinoliver" ], "config_flow": true, "dependencies": [ "ffmpeg" ], "dhcp": [ { "macaddress": "105A17*" }, { "macaddress": "10D561*" }, { "macaddress": "1869D8*" }, { "macaddress": "381F8D*" }, { "macaddress": "508A06*" }, { "macaddress": "68572D*" }, { "macaddress": "708976*" }, { "macaddress": "7CF666*" }, { "macaddress": "84E342*" }, { "macaddress": "D4A651*" }, { "macaddress": "D81F12*" } ], "documentation": "https://www.home-assistant.io/integrations/tuya", "integration_type": "hub", "iot_class": "cloud_push", "loggers": [ "tuya_iot" ], "requirements": [ "tuya-device-sharing-sdk==0.2.1" ], "is_built_in": true, "overwrites_built_in": false }, "setup_times": {}, "data": { "endpoint": "https://apigw.tuyaeu.com", "terminal_id": "1763584808928q1lsIP", "mqtt_connected": true, "disabled_by": null, "disabled_polling": false, "id": "bf30b19586eadcb0c3dapw", "name": "GO-E31-16A", "category": "qccdz", "product_id": "8yxnucwmjpt9jr16", "product_name": "GO-E31-16A", "online": true, "sub": false, "time_zone": "+01:00", "active_time": "2025-11-19T11:00:01+00:00", "create_time": "2025-11-19T11:00:01+00:00", "update_time": "2025-11-19T11:00:01+00:00", "function": { "charge_cur_set": { "type": "Integer", "value": { "unit": "A", "min": 8, "max": 16, "scale": 0, "step": 1 } }, "energy_charge": { "type": "Integer", "value": { "unit": "kW\u00b7h", "min": 0, "max": 2000000, "scale": 2, "step": 1 } }, "switch": { "type": "Boolean", "value": {} } }, "status_range": { "forward_energy_total": { "type": "Integer", "value": { "unit": "kW\u00b7h", "min": 0, "max": 99999999, "scale": 2, "step": 1 } }, "charge_cur_set": { "type": "Integer", "value": { "unit": "A", "min": 8, "max": 16, "scale": 0, "step": 1 } }, "power_total": { "type": "Integer", "value": { "unit": "kW", "min": 0, "max": 99999999, "scale": 3, "step": 1 } }, "connection_state": { "type": "Enum", "value": { "range": [ "controlpi_12v", "controlpi_12v_pwm", "controlpi_9v", "controlpi_9v_pwm", "controlpi_6v", "controlpi_6v_pwm", "controlpi_error" ] } }, "energy_charge": { "type": "Integer", "value": { "unit": "kW\u00b7h", "min": 0, "max": 2000000, "scale": 2, "step": 1 } }, "switch": { "type": "Boolean", "value": {} }, "temp_current": { "type": "Integer", "value": { "unit": "\u2103", "min": -40, "max": 200, "scale": 0, "step": 1 } }, "charge_energy_once": { "type": "Integer", "value": { "unit": "kW\u00b7h", "min": 1, "max": 999999, "scale": 2, "step": 1 } } }, "status": { "forward_energy_total": 0, "charge_cur_set": 16, "power_total": 0, "connection_state": "controlpi_12v", "energy_charge": 0, "switch": false, "temp_current": 20, "charge_energy_once": 1 }, "home_assistant": { "name": "GO-E31-16A", "name_by_user": null, "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": null, "state": { "entity_id": "switch.go_e31_16a_switch", "state": "off", "attributes": { "friendly_name": "GO-E31-16A Switch" }, "last_changed": "2025-11-19T20:51:14.987603+00:00", "last_reported": "2025-11-19T21:12:58.011477+00:00", "last_updated": "2025-11-19T20:51:14.987603+00:00" } } ] }, "set_up": true, "support_local": true },Beta Was this translation helpful? Give feedback.
All reactions