tuya-local
tuya-local copied to clipboard
[New device] Support for PNI CT400 - 2 zone thermostats with gateway
Log message
{
"home_assistant": {
"installation_type": "Home Assistant Container",
"version": "2024.9.3",
"dev": false,
"hassio": false,
"virtualenv": false,
"python_version": "3.12.4",
"docker": true,
"arch": "x86_64",
"timezone": "Europe/Bucharest",
"os_name": "Linux",
"os_version": "6.1.0-25-amd64",
"run_as_root": true
},
"custom_components": {
"tplink_router": {
"documentation": "https://github.com/menahishayan/Home-Assistant-TP-Link-Router",
"version": "0.0.7",
"requirements": [
"tplinkrouter>=1.0.0"
]
},
"scheduler": {
"documentation": "https://github.com/nielsfaber/scheduler-component",
"version": "v0.0.0",
"requirements": []
},
"imou_life": {
"documentation": "https://github.com/user2684/imou_life",
"version": "1.0.15",
"requirements": [
"imouapi==1.0.15"
]
},
"tuya_local": {
"documentation": "https://github.com/make-all/tuya-local",
"version": "2024.9.1",
"requirements": [
"tinytuya==1.15.1",
"tuya-device-sharing-sdk>=0.1.9,<=0.2.99"
]
},
"browser_mod": {
"documentation": "https://github.com/thomasloven/hass-browser_mod/blob/master/README.md",
"version": "2.3.1",
"requirements": []
},
"hikvision_next": {
"documentation": "https://github.com/maciej-or/hikvision_next",
"version": "1.0.17",
"requirements": [
"xmltodict==0.13.0",
"hikvisionapi==0.3.2",
"requests-toolbelt==1.0.0"
]
},
"powercalc": {
"documentation": "https://docs.powercalc.nl",
"version": "v1.14.9",
"requirements": [
"numpy>=1.21.1"
]
},
"localtuya": {
"documentation": "https://github.com/xZetsubou/hass-localtuya/",
"version": "2024.9.0",
"requirements": []
},
"hacs": {
"documentation": "https://hacs.xyz/docs/configuration/start",
"version": "2.0.1",
"requirements": [
"aiogithubapi>=22.10.1"
]
},
"watchman": {
"documentation": "https://github.com/dummylabs/thewatchman",
"version": "0.6.3",
"requirements": [
"prettytable==3.10.0"
]
},
"virtual": {
"documentation": "https://github.com/twrecked/hass-virtual/blob/master/README.md",
"version": "0.8.0.1",
"requirements": []
},
"dahua": {
"documentation": "https://github.com/rroller/dahua",
"version": "0.9.60",
"requirements": []
},
"webrtc": {
"documentation": "https://github.com/AlexxIT/WebRTC",
"version": "v3.5.2",
"requirements": []
}
},
"integration_manifest": {
"domain": "tuya_local",
"name": "Tuya Local",
"codeowners": [
"make-all"
],
"config_flow": true,
"dependencies": [],
"documentation": "https://github.com/make-all/tuya-local",
"integration_type": "device",
"iot_class": "local_push",
"issue_tracker": "https://github.com/make-all/tuya-local/issues",
"requirements": [
"tinytuya==1.15.1",
"tuya-device-sharing-sdk>=0.1.9,<=0.2.99"
],
"version": "2024.9.1",
"is_built_in": false
},
"setup_times": {
"null": {
"setup": 5.217129364609718e-05
},
"dd79d94214bd471d8d5d016927751e28": {
"wait_import_platforms": -7.233800454065204,
"config_entry_setup": 8.279217539355159
},
"58ebc1d6fac48275df90fb4c1eb5a0e8": {
"wait_import_platforms": -7.238736346829683,
"config_entry_setup": 8.279266916681081
},
"d12a02625451d728caafc4e1b60c4ab4": {
"wait_import_platforms": -7.323434611782432,
"config_entry_setup": 8.297544728964567
},
"e3cd91280f4bfca8a5ce3d921760bc26": {
"wait_import_platforms": -7.326100453734398,
"config_entry_setup": 8.283666010014713
},
"ff7fc0b6af2169b421b83665ba330dd9": {
"wait_import_platforms": -7.326446097809821,
"config_entry_setup": 8.287361241877079
},
"01ef5ffc070be8fb286a13204a5e3a6c": {
"wait_import_platforms": -7.3267826633527875,
"config_entry_setup": 8.287855648435652
},
"891593273f8163822993c0ee8336b542": {
"wait_import_platforms": -7.3269274439662695,
"config_entry_setup": 8.288229300174862
},
"bee3338d0e3983c6780a8c0d12b7bd5e": {
"wait_import_platforms": -7.326943995896727,
"config_entry_setup": 8.291247279848903
},
"5b38acd90bc7aaef27bbf9bb460bf581": {
"wait_import_platforms": -7.330758168362081,
"config_entry_setup": 8.291546202264726
},
"861840c157f7283442426460df0d229a": {
"wait_import_platforms": -7.364822133909911,
"config_entry_setup": 8.291567991953343
},
"828633252b8a3d1d8f93f091e92f3b0c": {
"wait_import_platforms": -7.380086574237794,
"config_entry_setup": 8.291588595137
},
"01J8W8SH47MF5AC0MT6BNX3Y8V": {
"wait_import_platforms": -7.391615482978523,
"config_entry_setup": 8.290908758994192
},
"31edc989f384675ed970f7046326da00": {
"wait_import_platforms": -7.663098871242255,
"config_entry_setup": 8.326423609163612
}
},
"data": {
"name": "Termostat Daria",
"type": "etop_ht_01ac__thermostat",
"device_id": "**REDACTED**",
"device_cid": "**REDACTED**",
"local_key": "**REDACTED**",
"host": "**REDACTED**",
"protocol_version": 3.3,
"tinytuya_version": "1.15.1",
"api_version_set": 3.3,
"api_version_used": 3.3,
"api_working": true,
"status": {},
"cached_state": {
"updated_at": 1727526870.861745,
"1": false,
"2": "eco",
"3": "idle",
"8": true,
"10": false,
"16": 100,
"19": 215,
"24": 229,
"26": 100,
"27": 0,
"40": false,
"45": 0,
"101": 2
},
"pending_state": {},
"connected": true,
"force_dps": [],
"home_assistant": {
"name": "Termostat Daria",
"name_by_user": null,
"disabled": false,
"disabled_by": null,
"entities": [
{
"disabled": false,
"disabled_by": null,
"entity_category": "config",
"device_class": null,
"original_device_class": null,
"icon": null,
"unit_of_measurement": null,
"state": {
"entity_id": "switch.termostat_daria_anti_frost",
"state": "off",
"attributes": {
"icon": "mdi:snowflake-melt",
"friendly_name": "Termostat Daria Anti-frost"
},
"last_changed": "2024-09-28T12:18:45.196815+00:00",
"last_reported": "2024-09-28T12:18:45.196815+00:00",
"last_updated": "2024-09-28T12:18:45.196815+00:00"
}
},
{
"disabled": false,
"disabled_by": null,
"entity_category": "config",
"device_class": null,
"original_device_class": "temperature",
"icon": null,
"unit_of_measurement": "\u00b0C",
"state": {
"entity_id": "number.termostat_daria_setpoint_min",
"state": "10.0",
"attributes": {
"min": 0.0,
"max": 100.0,
"step": 0.5,
"mode": "slider",
"unit_of_measurement": "\u00b0C",
"device_class": "temperature",
"friendly_name": "Termostat Daria Setpoint min."
},
"last_changed": "2024-09-28T12:18:45.195417+00:00",
"last_reported": "2024-09-28T12:18:45.195417+00:00",
"last_updated": "2024-09-28T12:18:45.195417+00:00"
}
},
{
"disabled": false,
"disabled_by": null,
"entity_category": "config",
"device_class": null,
"original_device_class": "temperature",
"icon": null,
"unit_of_measurement": "\u00b0C",
"state": {
"entity_id": "number.termostat_daria_setpoint_max",
"state": "21.5",
"attributes": {
"min": 5.0,
"max": 100.0,
"step": 0.5,
"mode": "slider",
"unit_of_measurement": "\u00b0C",
"device_class": "temperature",
"friendly_name": "Termostat Daria Setpoint max."
},
"last_changed": "2024-09-28T12:18:45.195959+00:00",
"last_reported": "2024-09-28T12:18:45.195959+00:00",
"last_updated": "2024-09-28T12:18:45.195959+00:00"
}
},
{
"disabled": false,
"disabled_by": null,
"entity_category": "config",
"device_class": null,
"original_device_class": null,
"icon": null,
"unit_of_measurement": "\u00b0C",
"state": {
"entity_id": "number.termostat_daria_temperature_correction",
"state": "0.0",
"attributes": {
"min": -10.0,
"max": 10.0,
"step": 0.5,
"mode": "slider",
"unit_of_measurement": "\u00b0C",
"friendly_name": "Termostat Daria Temperature correction"
},
"last_changed": "2024-09-28T12:18:45.196435+00:00",
"last_reported": "2024-09-28T12:18:45.196435+00:00",
"last_updated": "2024-09-28T12:18:45.196435+00:00"
}
},
{
"disabled": false,
"disabled_by": null,
"entity_category": "config",
"device_class": null,
"original_device_class": null,
"icon": null,
"unit_of_measurement": null,
"state": {
"entity_id": "lock.termostat_daria_child_lock",
"state": "unlocked",
"attributes": {
"icon": "mdi:hand-back-right",
"friendly_name": "Termostat Daria Child lock",
"supported_features": 0
},
"last_changed": "2024-09-28T12:18:45.189783+00:00",
"last_reported": "2024-09-28T12:18:45.189783+00:00",
"last_updated": "2024-09-28T12:18:45.189783+00:00"
}
},
{
"disabled": false,
"disabled_by": null,
"entity_category": "diagnostic",
"device_class": null,
"original_device_class": "problem",
"icon": null,
"unit_of_measurement": null,
"state": {
"entity_id": "binary_sensor.termostat_daria_error",
"state": "off",
"attributes": {
"device_class": "problem",
"friendly_name": "Termostat Daria Error"
},
"last_changed": "2024-09-28T12:18:45.189361+00:00",
"last_reported": "2024-09-28T12:18:45.189361+00:00",
"last_updated": "2024-09-28T12:18:45.189361+00:00"
}
},
{
"disabled": false,
"disabled_by": null,
"entity_category": null,
"device_class": null,
"original_device_class": null,
"icon": null,
"unit_of_measurement": null,
"state": {
"entity_id": "climate.termostat_daria_thermostat",
"state": "off",
"attributes": {
"hvac_modes": [
"off",
"heat"
],
"min_temp": 10.0,
"max_temp": 21.5,
"target_temp_step": 0.5,
"preset_modes": [
"Manual",
"Eco",
"Auto"
],
"current_temperature": 22.9,
"temperature": 10.0,
"hvac_action": "idle",
"preset_mode": "Eco",
"fault_code": 0,
"icon": "mdi:sprout",
"friendly_name": "Termostat Daria",
"supported_features": 401
},
"last_changed": "2024-09-28T12:18:45.194525+00:00",
"last_reported": "2024-09-28T12:18:45.194525+00:00",
"last_updated": "2024-09-28T12:18:45.194525+00:00"
}
}
]
}
}
}
DPS information
{
"result": {
"properties": [
{
"code": "switch",
"custom_name": "",
"dp_id": 1,
"time": 1727027484843,
"type": "bool",
"value": false
},
{
"code": "mode",
"custom_name": "",
"dp_id": 2,
"time": 1725297275753,
"type": "enum",
"value": "eco"
},
{
"code": "work_state",
"custom_name": "",
"dp_id": 3,
"time": 1725297276732,
"type": "enum",
"value": "idle"
},
{
"code": "window_check",
"custom_name": "",
"dp_id": 8,
"time": 1725297277732,
"type": "bool",
"value": true
},
{
"code": "frost",
"custom_name": "",
"dp_id": 10,
"time": 1725297278724,
"type": "bool",
"value": false
},
{
"code": "temp_set",
"custom_name": "",
"dp_id": 16,
"time": 1727524233553,
"type": "value",
"value": 100
},
{
"code": "upper_temp",
"custom_name": "",
"dp_id": 19,
"time": 1725297280727,
"type": "value",
"value": 230
},
{
"code": "temp_current",
"custom_name": "",
"dp_id": 24,
"time": 1727524234009,
"type": "value",
"value": 245
},
{
"code": "lower_temp",
"custom_name": "",
"dp_id": 26,
"time": 1725297282884,
"type": "value",
"value": 100
},
{
"code": "temp_correction",
"custom_name": "",
"dp_id": 27,
"time": 1725297283889,
"type": "value",
"value": 0
},
{
"code": "week_program2",
"custom_name": "",
"dp_id": 37,
"time": 1727241186609,
"type": "raw",
"value": "CB4AyAweAM0RAADNFgAAzQgeAMgMHgDNEQAAzRYAAM0IHgDIDB4AzREAAM0WAADNCB4AyAweAM0RAADNFgAAzQgeAMgMHgDNEQAAzRYAAM0IHgDIDB4AzREAAM0WAADNCB4AyAweAM0RAADNFgAAzQ=="
},
{
"code": "factory_reset",
"custom_name": "",
"dp_id": 39,
"time": 1682160502184,
"type": "bool",
"value": false
},
{
"code": "child_lock",
"custom_name": "",
"dp_id": 40,
"time": 1725297285873,
"type": "bool",
"value": false
},
{
"code": "fault",
"custom_name": "",
"dp_id": 45,
"time": 1725297286884,
"type": "bitmap",
"value": 0
},
{
"code": "dead_zone",
"custom_name": "",
"dp_id": 101,
"time": 1725297287882,
"type": "value",
"value": 2
}
]
},
"success": true,
"t": 1727524346851,
"tid": "21d2cebf7d9011ef88b02ac421ecbce6"
}
Product ID
tsnkt6albivl8vaf
Product Name
PNI CT400
Information about how the device functions
The package contains 1 gateway and 2 subdevices (2 thermostats for 2 different zones) Full working yaml config: pni_ct_400_thermostat.txt