From ac888d7331a3951e22994a6041cf7823cf8dad70 Mon Sep 17 00:00:00 2001 From: cyrilp Date: Mon, 13 May 2024 13:56:52 +0200 Subject: [PATCH 1/8] add aeraulic type --- custom_components/deltadore_tydom/tydom/MessageHandler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/deltadore_tydom/tydom/MessageHandler.py b/custom_components/deltadore_tydom/tydom/MessageHandler.py index 57502db..5d7270f 100644 --- a/custom_components/deltadore_tydom/tydom/MessageHandler.py +++ b/custom_components/deltadore_tydom/tydom/MessageHandler.py @@ -292,7 +292,7 @@ async def get_device( return TydomSmoke( tydom_client, uid, device_id, name, last_usage, endpoint, device_metadata[uid], data ) - case "boiler" | "sh_hvac" | "electric": + case "boiler" | "sh_hvac" | "electric" | "aeraulic": return TydomBoiler( tydom_client, uid, device_id, name, last_usage, endpoint, device_metadata[uid], data ) From a25c126e7cac7772dd3b0c38b8ab7f578197fd5c Mon Sep 17 00:00:00 2001 From: cyrilp Date: Mon, 13 May 2024 13:57:38 +0200 Subject: [PATCH 2/8] add naviclim traces --- tools/traces-naviclim-atlantic.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 tools/traces-naviclim-atlantic.txt diff --git a/tools/traces-naviclim-atlantic.txt b/tools/traces-naviclim-atlantic.txt new file mode 100644 index 0000000..0b005b6 --- /dev/null +++ b/tools/traces-naviclim-atlantic.txt @@ -0,0 +1,11 @@ +HTTP/1.1 200 OK\r\nServer: Tydom-001A25066BBE\r\nUri-Origin: /ping\r\nContent-Type: application/json\r\nContent-Length: 0\r\nTransac-Id: 0\r\n\r\n +HTTP/1.1 200 OK\r\nServer: Tydom-001A25066BBE\r\nUri-Origin: /info\r\nContent-Type: application/json\r\nTransfer-Encoding: chunked\r\nTransac-Id: 0\r\n\r\n1\r\n{\r\n1C\r\n"productName": "TYDOM HOME",\r\n16\r\n"mac": "001A2503ACB0",\r\n11\r\n"config": "prod",\r\n12\r\n"bddEmpty": false,\r\nF\r\n"bddStatus": 0,\r\n10\r\n"apiMode": true,\r\n1C\r\n"mainVersionSW": "03.16.14",\r\n1C\r\n"mainVersionHW": "00.00.01",\r\n14\r\n"mainId": "6700116",\r\n1C\r\n"mainReference": "25170010",\r\n1B\r\n"keyVersionSW": "01.08.04",\r\n1E\r\n"zigbeeVersionSW": "01.01.00",\r\n1B\r\n"keyVersionHW": "00.00.01",\r\n1E\r\n"keyVersionStack": "04.02.06",\r\n1B\r\n"keyReference": "25170020",\r\n1E\r\n"zigbeeReference": "25170030",\r\n1D\r\n"oryxVersion": "2.1.8-10.02",\r\n38\r\n"bootReference": "P25170011", "bootVersion": "01.00.10",\r\nF\r\n"TYDOM.dat": 0,\r\n11\r\n"config.json": 0,\r\nE\r\n"mom.json": 0,\r\n11\r\n"gateway.dat": 0,\r\nF\r\n"bdd.json": 25,\r\n14\r\n"collect.json": 170,\r\n12\r\n"groups.json": 33,\r\n13\r\n"mom_api.json": 41,\r\n13\r\n"scenario.json": 6,\r\n11\r\n"site.json": 120,\r\n12\r\n"bdd_mig.json": 0,\r\n13\r\n"info_mig.json": 0,\r\n13\r\n"info_col.json": 1,\r\n13\r\n"absence.json": 22,\r\n13\r\n"anticip.json": 40,\r\n12\r\n"trigger.json": 6,\r\n12\r\n"bioclim.json": 0,\r\n16\r\n"data_config.json": 3,\r\n26\r\n"urlMediation": "mediation.tydom.com",\r\n15\r\n"pltRegistered":true,\r\n19\r\n"updateAvailable": false,\r\n17\r\n"passwordEmpty": false,\r\nF\r\n"maintenance":{\r\n28\r\n"id": "0000000000000000000000ff00000000"\r\n2\r\n},\r\nB\r\n"geoloc": {\r\n15\r\n"longitude": 2333333,\r\n14\r\n"latitude": 48866666\r\n2\r\n},\r\nA\r\n"clock": {\r\n25\r\n"clock": "2024-05-10T20:28:20+02:00",\r\n10\r\n"source": "ntp",\r\nF\r\n"timezone": 60,\r\n14\r\n"summerOffset": "ON"\r\n2\r\n},\r\nC\r\n"moments": {\r\nC\r\n"suspend": {\r\n7\r\n"to": 0\r\n3\r\n}},\r\nF\r\n"local_claim":{\r\n12\r\n"status": "CLOSE",\r\n24\r\n"lastAccess": "2014-01-01T00:00:00Z"\r\n2\r\n},\r\nC\r\n"weather": {\r\n22\r\n"outTempSrc":{"devId":0,"epId":0},\r\n28\r\n"weatherSrc":{"devId":0,"epId":16711680}\r\n2\r\n},\r\nE\r\n"protocols": [\r\n71\r\n{"protocol":"X3D", "available":true, "installed":true, "ready":true, "status":"running", "installStatus":"idle"},\r\n74\r\n{"protocol":"ZIGBEE", "available":true, "installed":true, "ready":true, "status":"running", "installStatus":"idle"},\r\n27\r\n{"protocol":"X3DV", "available":false},\r\n2D\r\n{"protocol":"PltService", "available":false},\r\n71\r\n{"protocol":"HTTP", "available":true, "installed":true, "ready":true, "status":"running", "installStatus":"idle"}\r\n1\r\n]\r\n1\r\n}\r\n0\r\n\r\n +HTTP/1.1 200 OK\r\nServer: Tydom-001A25066BBE\r\nUri-Origin: /groups/file\r\nContent-Type: application/json\r\nContent-Length: 1051\r\nTransac-Id: 0\r\nFile-Version: 33\r\n\r\n{"groups":[{"areas":[],"devices":[],"id":1851415931},{"id":1022165148,"devices":[{"endpoints":[{"id":0}],"id":9},{"endpoints":[{"id":1670688808}],"id":1670688808},{"endpoints":[{"id":0}],"id":10},{"id":8,"endpoints":[{"id":0}]},{"id":1670689449,"endpoints":[{"id":1670689449}]},{"endpoints":[{"id":1670688732}],"id":1670688732},{"id":1670689697,"endpoints":[{"id":1670689697}]},{"endpoints":[{"id":1670689384}],"id":1670689384},{"id":1670689519,"endpoints":[{"id":1670689519}]}],"areas":[]},{"devices":[],"areas":[],"id":45675624},{"areas":[],"devices":[],"id":2117250291},{"devices":[{"id":1670688808,"endpoints":[{"id":1670688808}]},{"endpoints":[{"id":1670688732}],"id":1670688732},{"id":10,"endpoints":[{"id":0}]},{"endpoints":[{"id":0}],"id":9},{"endpoints":[{"id":1670689519}],"id":1670689519}],"areas":[],"id":565713470},{"id":854245770,"devices":[{"id":1670689449,"endpoints":[{"id":1670689449}]},{"endpoints":[{"id":1670689697}],"id":1670689697},{"id":8,"endpoints":[{"id":0}]},{"id":1670689384,"endpoints":[{"id":1670689384}]}],"areas":[]}]} +HTTP/1.1 200 OK\r\nServer: Tydom-001A25066BBE\r\nUri-Origin: /refresh/all\r\nContent-Type: application/json\r\nContent-Length: 0\r\nTransac-Id: 0\r\n\r\n +HTTP/1.1 200 OK\r\nServer: Tydom-001A25066BBE\r\nUri-Origin: /configs/file\r\nContent-Type: application/json\r\nContent-Length: 3290\r\nTransac-Id: 0\r\nFile-Version: 120\r\n\r\n{"version_application":"4.13.1 (1025)","groups":[{"is_group_user":false,"usage":"light","name":"TOTAL","group_all":true,"id":1851415931,"picto":"picto_lamp"},{"name":"TOTAL","group_all":true,"usage":"shutter","id":1022165148,"is_group_user":false,"picto":"picto_shutter"},{"picto":"picto_awning_awning","id":45675624,"usage":"awning","is_group_user":false,"name":"TOTAL","group_all":true},{"id":2117250291,"is_group_user":false,"usage":"plug","group_all":true,"name":"TOTAL","picto":"picto_smartplug"},{"is_group_user":true,"picto":"picto_shutter","id":565713470,"usage":"shutter","group_all":false,"name":"Volets du RDC"},{"usage":"shutter","id":854245770,"name":"Volets de lXXXXXtage","group_all":false,"picto":"picto_shutter","is_group_user":true}],"version":"1.0.1","camera_install_date":0,"zigbee_networks":[{"is_connected":true,"extended_pan_id":"0x6FBC1A3463A448F2","name":"RXXseau Zigbee","type":"coordinator"}],"os":"ios","endpoints":[{"name":"Chauffage du haut","anticipation_start":false,"first_usage":"hvac","last_usage":"boiler","id_device":0,"picto":"picto_radiator","id_endpoint":0},{"first_usage":"shutter","picto":"picto_shutter","anticipation_start":false,"id_endpoint":0,"last_usage":"shutter","id_device":8,"name":"Volet chambre parent"},{"last_usage":"shutter","picto":"picto_shutter","anticipation_start":false,"name":"Volet cuisine","id_device":9,"id_endpoint":0,"first_usage":"shutter"},{"name":"Volet salon terrasse","picto":"picto_shutter","id_device":10,"anticipation_start":false,"last_usage":"shutter","first_usage":"shutter","id_endpoint":0},{"first_usage":"shutter","last_usage":"shutter","name":"Volet salon entrXXe","id_endpoint":1670688732,"id_device":1670688732,"picto":"picto_shutter","anticipation_start":false},{"last_usage":"shutter","id_endpoint":1670688808,"first_usage":"shutter","picto":"picto_shutter","anticipation_start":false,"id_device":1670688808,"name":"Volet cuisine garage"},{"id_endpoint":1670689384,"first_usage":"shutter","picto":"picto_shutter","id_device":1670689384,"anticipation_start":false,"name":"Volet chambre dXXXelie","last_usage":"shutter"},{"first_usage":"shutter","id_device":1670689449,"id_endpoint":1670689449,"picto":"picto_shutter","last_usage":"shutter","anticipation_start":false,"name":"Volet bureau"},{"last_usage":"shutter","id_device":1670689519,"picto":"picto_shutter","name":"Volet salon arriXXre","id_endpoint":1670689519,"first_usage":"shutter","anticipation_start":false},{"last_usage":"shutter","picto":"picto_shutter","first_usage":"shutter","anticipation_start":false,"id_device":1670689697,"id_endpoint":1670689697,"name":"Volet chambre dXXXamis"},{"anticipation_start":false,"name":"XXquipement non gXXrXX","picto":"","last_usage":"","first_usage":"","id_device":1670690842,"id_endpoint":1670690842},{"last_usage":"aeraulic","id_device":1711649289,"first_usage":"hvac","id_endpoint":1711649289,"name":"Clim du bas","picto":"picto_climatisation","anticipation_start":false,"widget_behavior":{"tutorial_id":"split_takao_type_2"}}],"id_catalog":"F2BD90F93B888DA02C54980F11AE4796DFCC98F447CD3FE326F5A3A964C939BF","date":1714600420,"old_tycam":false,"scenarios":[],"moments":[{"name":"Couper la Clim","id":1039849051,"color":13587247},{"id":1904552856,"name":"Rallumer la Clim","color":4100464}],"areas":[]} +HTTP/1.1 200 OK\r\nServer: Tydom-001A25066BBE\r\nUri-Origin: /devices/meta\r\nContent-Type: application/json\r\nTransfer-Encoding: chunked\r\nTransac-Id: 0\r\n\r\nAB\r\n[{"id":0,"endpoints":[{"id":0,"error":0,"metadata":[{"name":"authorization","type":"string","permission":"rw","validity":"STATUS_POLLING","enum_values":["STOP","HEATING"]}\r\n6F\r\n,{"name":"comfortMode","type":"string","permission":"w","validity":"INFINITE","enum_values":["STOP","HEATING"]}\r\n86\r\n,{"name":"setpoint","type":"numeric","permission":"rw","validity":"DATA_POLLING","min":10.000,"max":30.000,"step":0.500,"unit":"degC"}\r\n6B\r\n,{"name":"thermicLevel","type":"string","permission":"rw","validity":"DATA_POLLING","enum_values":["STOP"]}\r\n86\r\n,{"name":"delaySetpoint","type":"numeric","permission":"w","validity":"INFINITE","min":10.000,"max":30.000,"step":0.500,"unit":"degC"}\r\n6B\r\n,{"name":"delayThermicLevel","type":"string","permission":"w","validity":"INFINITE","enum_values":["STOP"]}\r\n7D\r\n,{"name":"hvacMode","type":"string","permission":"rw","validity":"DATA_POLLING","enum_values":["NORMAL","STOP","ANTI_FROST"]}\r\n80\r\n,{"name":"timeDelay","type":"numeric","permission":"rw","validity":"TIMER_POLLING","min":0,"max":65535,"step":1,"unit":"minute"}\r\n8B\r\n,{"name":"temperature","type":"numeric","permission":"r","validity":"SENSOR_POLLING","min":-99.900,"max":99.900,"step":0.010,"unit":"degC"}\r\n62\r\n,{"name":"tempoOn","type":"boolean","permission":"r","validity":"STATUS_POLLING","unit":"boolean"}\r\n66\r\n,{"name":"antifrostOn","type":"boolean","permission":"r","validity":"STATUS_POLLING","unit":"boolean"}\r\n69\r\n,{"name":"loadSheddingOn","type":"boolean","permission":"r","validity":"STATUS_POLLING","unit":"boolean"}\r\n6A\r\n,{"name":"openingDetected","type":"boolean","permission":"r","validity":"STATUS_POLLING","unit":"boolean"}\r\n6B\r\n,{"name":"presenceDetected","type":"boolean","permission":"r","validity":"STATUS_POLLING","unit":"boolean"}\r\n62\r\n,{"name":"absence","type":"boolean","permission":"r","validity":"STATUS_POLLING","unit":"boolean"}\r\n6B\r\n,{"name":"productionDefect","type":"boolean","permission":"r","validity":"STATUS_POLLING","unit":"boolean"}\r\n6B\r\n,{"name":"batteryCmdDefect","type":"boolean","permission":"r","validity":"STATUS_POLLING","unit":"boolean"}\r\n6B\r\n,{"name":"tempSensorDefect","type":"boolean","permission":"r","validity":"STATUS_POLLING","unit":"boolean"}\r\n6D\r\n,{"name":"tempSensorShortCut","type":"boolean","permission":"r","validity":"STATUS_POLLING","unit":"boolean"}\r\n6D\r\n,{"name":"tempSensorOpenCirc","type":"boolean","permission":"r","validity":"STATUS_POLLING","unit":"boolean"}\r\n63\r\n,{"name":"boostOn","type":"boolean","permission":"rw","validity":"STATUS_POLLING","unit":"boolean"}\r\n67\r\n,{"name":"localisation","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n63\r\n,{"name":"modeAsso","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n7E\r\n,{"name":"anticipCoeff","type":"numeric","permission":"r","validity":"INFINITE","min":0,"max":65534,"step":1,"unit":"min/deg"}\r\nD4\r\n]}]},{"id":8,"endpoints":[{"id":0,"error":0,"metadata":[{"name":"positionCmd","type":"string","permission":"w","validity":"INFINITE","enum_values":["DOWN","UP","STOP","FAVORIT1","FAVORIT2","UP_SLOW","DOWN_SLOW"]}\r\n68\r\n,{"name":"thermicDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n79\r\n,{"name":"position","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":0,"max":100,"step":1,"unit":"%"}\r\n6F\r\n,{"name":"recFav","type":"string","permission":"w","validity":"INFINITE","enum_values":["FAVORIT1","FAVORIT2"]}\r\n63\r\n,{"name":"onFavPos","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n63\r\n,{"name":"upDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"downDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n69\r\n,{"name":"obstacleDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n64\r\n,{"name":"intrusion","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"battDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n67\r\n,{"name":"localisation","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n63\r\n,{"name":"modeAsso","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n78\r\n,{"name":"jobsMP","type":"numeric","permission":"r","validity":"INFINITE","min":0,"max":4294967294,"step":1,"unit":"NA"}\r\n69\r\n,{"name":"softVersion","type":"string","permission":"r","validity":"INFINITE","enum_values":["XX.YY.ZZ"]}\r\n69\r\n,{"name":"softPlan","type":"string","permission":"r","validity":"INFINITE","enum_values":["WW.XX.YY.ZZ"]}\r\n60\r\n,{"name":"reset","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\nD4\r\n]}]},{"id":9,"endpoints":[{"id":0,"error":0,"metadata":[{"name":"positionCmd","type":"string","permission":"w","validity":"INFINITE","enum_values":["DOWN","UP","STOP","FAVORIT1","FAVORIT2","UP_SLOW","DOWN_SLOW"]}\r\n68\r\n,{"name":"thermicDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n79\r\n,{"name":"position","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":0,"max":100,"step":1,"unit":"%"}\r\n6F\r\n,{"name":"recFav","type":"string","permission":"w","validity":"INFINITE","enum_values":["FAVORIT1","FAVORIT2"]}\r\n63\r\n,{"name":"onFavPos","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n63\r\n,{"name":"upDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"downDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n69\r\n,{"name":"obstacleDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n64\r\n,{"name":"intrusion","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"battDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n67\r\n,{"name":"localisation","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n63\r\n,{"name":"modeAsso","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n78\r\n,{"name":"jobsMP","type":"numeric","permission":"r","validity":"INFINITE","min":0,"max":4294967294,"step":1,"unit":"NA"}\r\n69\r\n,{"name":"softVersion","type":"string","permission":"r","validity":"INFINITE","enum_values":["XX.YY.ZZ"]}\r\n69\r\n,{"name":"softPlan","type":"string","permission":"r","validity":"INFINITE","enum_values":["WW.XX.YY.ZZ"]}\r\n60\r\n,{"name":"reset","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\nD5\r\n]}]},{"id":10,"endpoints":[{"id":0,"error":0,"metadata":[{"name":"positionCmd","type":"string","permission":"w","validity":"INFINITE","enum_values":["DOWN","UP","STOP","FAVORIT1","FAVORIT2","UP_SLOW","DOWN_SLOW"]}\r\n68\r\n,{"name":"thermicDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n79\r\n,{"name":"position","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":0,"max":100,"step":1,"unit":"%"}\r\n6F\r\n,{"name":"recFav","type":"string","permission":"w","validity":"INFINITE","enum_values":["FAVORIT1","FAVORIT2"]}\r\n63\r\n,{"name":"onFavPos","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n63\r\n,{"name":"upDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"downDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n69\r\n,{"name":"obstacleDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n64\r\n,{"name":"intrusion","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"battDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n67\r\n,{"name":"localisation","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n63\r\n,{"name":"modeAsso","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n78\r\n,{"name":"jobsMP","type":"numeric","permission":"r","validity":"INFINITE","min":0,"max":4294967294,"step":1,"unit":"NA"}\r\n69\r\n,{"name":"softVersion","type":"string","permission":"r","validity":"INFINITE","enum_values":["XX.YY.ZZ"]}\r\n69\r\n,{"name":"softPlan","type":"string","permission":"r","validity":"INFINITE","enum_values":["WW.XX.YY.ZZ"]}\r\n60\r\n,{"name":"reset","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\nE6\r\n]}]},{"id":1670688732,"endpoints":[{"id":1670688732,"error":0,"metadata":[{"name":"positionCmd","type":"string","permission":"w","validity":"INFINITE","enum_values":["DOWN","UP","STOP","FAVORIT1","FAVORIT2","UP_SLOW","DOWN_SLOW"]}\r\n68\r\n,{"name":"thermicDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n79\r\n,{"name":"position","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":0,"max":100,"step":1,"unit":"%"}\r\n6F\r\n,{"name":"recFav","type":"string","permission":"w","validity":"INFINITE","enum_values":["FAVORIT1","FAVORIT2"]}\r\n63\r\n,{"name":"onFavPos","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n63\r\n,{"name":"upDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"downDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n69\r\n,{"name":"obstacleDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n64\r\n,{"name":"intrusion","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"battDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n67\r\n,{"name":"localisation","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n63\r\n,{"name":"modeAsso","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n78\r\n,{"name":"jobsMP","type":"numeric","permission":"r","validity":"INFINITE","min":0,"max":4294967294,"step":1,"unit":"NA"}\r\n69\r\n,{"name":"softVersion","type":"string","permission":"r","validity":"INFINITE","enum_values":["XX.YY.ZZ"]}\r\n69\r\n,{"name":"softPlan","type":"string","permission":"r","validity":"INFINITE","enum_values":["WW.XX.YY.ZZ"]}\r\n60\r\n,{"name":"reset","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\nE6\r\n]}]},{"id":1670688808,"endpoints":[{"id":1670688808,"error":0,"metadata":[{"name":"positionCmd","type":"string","permission":"w","validity":"INFINITE","enum_values":["DOWN","UP","STOP","FAVORIT1","FAVORIT2","UP_SLOW","DOWN_SLOW"]}\r\n68\r\n,{"name":"thermicDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n79\r\n,{"name":"position","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":0,"max":100,"step":1,"unit":"%"}\r\n6F\r\n,{"name":"recFav","type":"string","permission":"w","validity":"INFINITE","enum_values":["FAVORIT1","FAVORIT2"]}\r\n63\r\n,{"name":"onFavPos","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n63\r\n,{"name":"upDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"downDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n69\r\n,{"name":"obstacleDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n64\r\n,{"name":"intrusion","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"battDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n67\r\n,{"name":"localisation","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n63\r\n,{"name":"modeAsso","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n78\r\n,{"name":"jobsMP","type":"numeric","permission":"r","validity":"INFINITE","min":0,"max":4294967294,"step":1,"unit":"NA"}\r\n69\r\n,{"name":"softVersion","type":"string","permission":"r","validity":"INFINITE","enum_values":["XX.YY.ZZ"]}\r\n69\r\n,{"name":"softPlan","type":"string","permission":"r","validity":"INFINITE","enum_values":["WW.XX.YY.ZZ"]}\r\n60\r\n,{"name":"reset","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\nE6\r\n]}]},{"id":1670689384,"endpoints":[{"id":1670689384,"error":0,"metadata":[{"name":"positionCmd","type":"string","permission":"w","validity":"INFINITE","enum_values":["DOWN","UP","STOP","FAVORIT1","FAVORIT2","UP_SLOW","DOWN_SLOW"]}\r\n68\r\n,{"name":"thermicDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n79\r\n,{"name":"position","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":0,"max":100,"step":1,"unit":"%"}\r\n6F\r\n,{"name":"recFav","type":"string","permission":"w","validity":"INFINITE","enum_values":["FAVORIT1","FAVORIT2"]}\r\n63\r\n,{"name":"onFavPos","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n63\r\n,{"name":"upDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"downDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n69\r\n,{"name":"obstacleDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n64\r\n,{"name":"intrusion","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"battDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n67\r\n,{"name":"localisation","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n63\r\n,{"name":"modeAsso","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n78\r\n,{"name":"jobsMP","type":"numeric","permission":"r","validity":"INFINITE","min":0,"max":4294967294,"step":1,"unit":"NA"}\r\n69\r\n,{"name":"softVersion","type":"string","permission":"r","validity":"INFINITE","enum_values":["XX.YY.ZZ"]}\r\n69\r\n,{"name":"softPlan","type":"string","permission":"r","validity":"INFINITE","enum_values":["WW.XX.YY.ZZ"]}\r\n60\r\n,{"name":"reset","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\nE6\r\n]}]},{"id":1670689449,"endpoints":[{"id":1670689449,"error":0,"metadata":[{"name":"positionCmd","type":"string","permission":"w","validity":"INFINITE","enum_values":["DOWN","UP","STOP","FAVORIT1","FAVORIT2","UP_SLOW","DOWN_SLOW"]}\r\n68\r\n,{"name":"thermicDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n79\r\n,{"name":"position","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":0,"max":100,"step":1,"unit":"%"}\r\n6F\r\n,{"name":"recFav","type":"string","permission":"w","validity":"INFINITE","enum_values":["FAVORIT1","FAVORIT2"]}\r\n63\r\n,{"name":"onFavPos","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n63\r\n,{"name":"upDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"downDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n69\r\n,{"name":"obstacleDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n64\r\n,{"name":"intrusion","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"battDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n67\r\n,{"name":"localisation","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n63\r\n,{"name":"modeAsso","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n78\r\n,{"name":"jobsMP","type":"numeric","permission":"r","validity":"INFINITE","min":0,"max":4294967294,"step":1,"unit":"NA"}\r\n69\r\n,{"name":"softVersion","type":"string","permission":"r","validity":"INFINITE","enum_values":["XX.YY.ZZ"]}\r\n69\r\n,{"name":"softPlan","type":"string","permission":"r","validity":"INFINITE","enum_values":["WW.XX.YY.ZZ"]}\r\n60\r\n,{"name":"reset","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\nE6\r\n]}]},{"id":1670689519,"endpoints":[{"id":1670689519,"error":0,"metadata":[{"name":"positionCmd","type":"string","permission":"w","validity":"INFINITE","enum_values":["DOWN","UP","STOP","FAVORIT1","FAVORIT2","UP_SLOW","DOWN_SLOW"]}\r\n68\r\n,{"name":"thermicDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n79\r\n,{"name":"position","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":0,"max":100,"step":1,"unit":"%"}\r\n6F\r\n,{"name":"recFav","type":"string","permission":"w","validity":"INFINITE","enum_values":["FAVORIT1","FAVORIT2"]}\r\n63\r\n,{"name":"onFavPos","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n63\r\n,{"name":"upDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"downDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n69\r\n,{"name":"obstacleDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n64\r\n,{"name":"intrusion","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"battDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n67\r\n,{"name":"localisation","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n63\r\n,{"name":"modeAsso","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n78\r\n,{"name":"jobsMP","type":"numeric","permission":"r","validity":"INFINITE","min":0,"max":4294967294,"step":1,"unit":"NA"}\r\n69\r\n,{"name":"softVersion","type":"string","permission":"r","validity":"INFINITE","enum_values":["XX.YY.ZZ"]}\r\n69\r\n,{"name":"softPlan","type":"string","permission":"r","validity":"INFINITE","enum_values":["WW.XX.YY.ZZ"]}\r\n60\r\n,{"name":"reset","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\nE6\r\n]}]},{"id":1670689697,"endpoints":[{"id":1670689697,"error":0,"metadata":[{"name":"positionCmd","type":"string","permission":"w","validity":"INFINITE","enum_values":["DOWN","UP","STOP","FAVORIT1","FAVORIT2","UP_SLOW","DOWN_SLOW"]}\r\n68\r\n,{"name":"thermicDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n79\r\n,{"name":"position","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":0,"max":100,"step":1,"unit":"%"}\r\n6F\r\n,{"name":"recFav","type":"string","permission":"w","validity":"INFINITE","enum_values":["FAVORIT1","FAVORIT2"]}\r\n63\r\n,{"name":"onFavPos","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n63\r\n,{"name":"upDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"downDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n69\r\n,{"name":"obstacleDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n64\r\n,{"name":"intrusion","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n65\r\n,{"name":"battDefect","type":"boolean","permission":"r","validity":"ES_SUPERVISION","unit":"boolean"}\r\n67\r\n,{"name":"localisation","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n63\r\n,{"name":"modeAsso","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n78\r\n,{"name":"jobsMP","type":"numeric","permission":"r","validity":"INFINITE","min":0,"max":4294967294,"step":1,"unit":"NA"}\r\n69\r\n,{"name":"softVersion","type":"string","permission":"r","validity":"INFINITE","enum_values":["XX.YY.ZZ"]}\r\n69\r\n,{"name":"softPlan","type":"string","permission":"r","validity":"INFINITE","enum_values":["WW.XX.YY.ZZ"]}\r\n60\r\n,{"name":"reset","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\nB1\r\n]}]},{"id":1670690842,"endpoints":[{"id":1670690842,"error":15,"metadata":[{"name":"localisation","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n63\r\n,{"name":"modeAsso","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\nBE\r\n]}]},{"id":1711649289,"endpoints":[{"id":1711649289,"error":0,"metadata":[{"name":"zclVersion","type":"numeric","permission":"r","validity":"INFINITE","min":0,"max":254,"step":1,"unit":"NA"}\r\n59\r\n,{"name":"manufacturer","type":"string","permission":"r","validity":"INFINITE","size":32}\r\n67\r\n,{"name":"localisation","type":"string","permission":"w","validity":"INFINITE","enum_values":["START"]}\r\n92\r\n,{"name":"ambientTemperature","type":"numeric","permission":"r","validity":"ES_SUPERVISION","min":-99.900,"max":99.900,"step":0.010,"unit":"degC"}\r\n8B\r\n,{"name":"coolSetpoint","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":7.000,"max":32.000,"step":0.500,"unit":"degC"}\r\n8D\r\n,{"name":"minCoolSetpoint","type":"numeric","permission":"r","validity":"ES_SUPERVISION","min":7.000,"max":32.000,"step":0.500,"unit":"degC"}\r\n8D\r\n,{"name":"maxCoolSetpoint","type":"numeric","permission":"r","validity":"ES_SUPERVISION","min":7.000,"max":32.000,"step":0.500,"unit":"degC"}\r\n87\r\n,{"name":"setpoint","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":7.000,"max":32.000,"step":0.500,"unit":"degC"}\r\n89\r\n,{"name":"minSetpoint","type":"numeric","permission":"r","validity":"ES_SUPERVISION","min":7.000,"max":32.000,"step":0.500,"unit":"degC"}\r\n89\r\n,{"name":"maxSetpoint","type":"numeric","permission":"r","validity":"ES_SUPERVISION","min":7.000,"max":32.000,"step":0.500,"unit":"degC"}\r\n8B\r\n,{"name":"heatSetpoint","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":7.000,"max":32.000,"step":0.500,"unit":"degC"}\r\n8D\r\n,{"name":"minHeatSetpoint","type":"numeric","permission":"r","validity":"ES_SUPERVISION","min":7.000,"max":32.000,"step":0.500,"unit":"degC"}\r\n8D\r\n,{"name":"maxHeatSetpoint","type":"numeric","permission":"r","validity":"ES_SUPERVISION","min":7.000,"max":32.000,"step":0.500,"unit":"degC"}\r\n82\r\n,{"name":"comfortMode","type":"string","permission":"w","validity":"DATA_POLLING_5MIN","enum_values":["STOP","HEATING","COOLING"]}\r\nA2\r\n,{"name":"authorization","type":"string","permission":"r","validity":"DATA_POLLING_5MIN","enum_values":["STOP","HEATING","COOLING","AUTO","VENTILATING","DRYING"]}\r\n67\r\n,{"name":"thermicLevel","type":"string","permission":"rw","validity":"INFINITE","enum_values":["STOP"]}\r\n75\r\n,{"name":"speed","type":"numeric","permission":"rw","validity":"ES_SUPERVISION","min":1,"max":3,"step":1,"unit":"NA"}\r\n6C\r\n,{"name":"speedString","type":"string","permission":"rw","validity":"ES_SUPERVISION","enum_values":["AUTO"]}\r\n85\r\n,{"name":"anticipCoeff","type":"numeric","permission":"r","validity":"INFINITE","min":0,"max":65534,"step":1,"unit":"min/deg"}]}]}]\r\n\r\n0\r\n\r\n +HTTP/1.1 200 OK\r\nServer: Tydom-001A25066BBE\r\nUri-Origin: /devices/cmeta\r\nContent-Type: application/json\r\nTransfer-Encoding: chunked\r\nTransac-Id: 0\r\n\r\n34\r\n[{"id":0,"endpoints":[{"id":0,"error":0,"cmetadata":\r\n39\r\n[]}]},{"id":8,"endpoints":[{"id":0,"error":0,"cmetadata":\r\n39\r\n[]}]},{"id":9,"endpoints":[{"id":0,"error":0,"cmetadata":\r\n3A\r\n[]}]},{"id":10,"endpoints":[{"id":0,"error":0,"cmetadata":\r\n4B\r\n[]}]},{"id":1670688732,"endpoints":[{"id":1670688732,"error":0,"cmetadata":\r\n4B\r\n[]}]},{"id":1670688808,"endpoints":[{"id":1670688808,"error":0,"cmetadata":\r\n4B\r\n[]}]},{"id":1670689384,"endpoints":[{"id":1670689384,"error":0,"cmetadata":\r\n4B\r\n[]}]},{"id":1670689449,"endpoints":[{"id":1670689449,"error":0,"cmetadata":\r\n4B\r\n[]}]},{"id":1670689519,"endpoints":[{"id":1670689519,"error":0,"cmetadata":\r\n4B\r\n[]}]},{"id":1670689697,"endpoints":[{"id":1670689697,"error":0,"cmetadata":\r\n4C\r\n[]}]},{"id":1670690842,"endpoints":[{"id":1670690842,"error":15,"cmetadata":\r\n53\r\n[]}]},{"id":1711649289,"endpoints":[{"id":1711649289,"error":0,"cmetadata":[]}]}]\r\n\r\n0\r\n\r\n +HTTP/1.1 200 OK\r\nServer: Tydom-001A25066BBE\r\nUri-Origin: /devices/data\r\nContent-Type: application/json\r\nTransfer-Encoding: chunked\r\nTransac-Id: 0\r\n\r\n70\r\n[{"id":0,"endpoints":[{"id":0,"error":0,"data":[{"name":"authorization","validity":"upToDate","value":"HEATING"}\r\n39\r\n,{"name":"setpoint","validity":"upToDate","value":21.000}\r\n3B\r\n,{"name":"thermicLevel","validity":"upToDate","value":null}\r\n3B\r\n,{"name":"hvacMode","validity":"upToDate","value":"NORMAL"}\r\n35\r\n,{"name":"timeDelay","validity":"upToDate","value":0}\r\n3C\r\n,{"name":"temperature","validity":"upToDate","value":24.300}\r\n37\r\n,{"name":"tempoOn","validity":"upToDate","value":false}\r\n3B\r\n,{"name":"antifrostOn","validity":"upToDate","value":false}\r\n3E\r\n,{"name":"loadSheddingOn","validity":"upToDate","value":false}\r\n3F\r\n,{"name":"openingDetected","validity":"upToDate","value":false}\r\n40\r\n,{"name":"presenceDetected","validity":"upToDate","value":false}\r\n37\r\n,{"name":"absence","validity":"upToDate","value":false}\r\n40\r\n,{"name":"productionDefect","validity":"upToDate","value":false}\r\n40\r\n,{"name":"batteryCmdDefect","validity":"upToDate","value":false}\r\n40\r\n,{"name":"tempSensorDefect","validity":"upToDate","value":false}\r\n42\r\n,{"name":"tempSensorShortCut","validity":"upToDate","value":false}\r\n42\r\n,{"name":"tempSensorOpenCirc","validity":"upToDate","value":false}\r\n37\r\n,{"name":"boostOn","validity":"upToDate","value":false}\r\n39\r\n,{"name":"anticipCoeff","validity":"upToDate","value":30}\r\n33\r\n]}]},{"id":8,"endpoints":[{"id":0,"error":0,"data":\r\n3D\r\n[{"name":"thermicDefect","validity":"upToDate","value":false}\r\n36\r\n,{"name":"position","validity":"upToDate","value":100}\r\n38\r\n,{"name":"onFavPos","validity":"upToDate","value":false}\r\n38\r\n,{"name":"upDefect","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"downDefect","validity":"upToDate","value":false}\r\n3E\r\n,{"name":"obstacleDefect","validity":"upToDate","value":false}\r\n39\r\n,{"name":"intrusion","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"battDefect","validity":"upToDate","value":false}\r\n34\r\n,{"name":"jobsMP","validity":"upToDate","value":536}\r\n40\r\n,{"name":"softVersion","validity":"upToDate","value":"02.05.02"}\r\n40\r\n,{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}\r\n33\r\n]}]},{"id":9,"endpoints":[{"id":0,"error":0,"data":\r\n3D\r\n[{"name":"thermicDefect","validity":"upToDate","value":false}\r\n35\r\n,{"name":"position","validity":"upToDate","value":40}\r\n38\r\n,{"name":"onFavPos","validity":"upToDate","value":false}\r\n38\r\n,{"name":"upDefect","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"downDefect","validity":"upToDate","value":false}\r\n3E\r\n,{"name":"obstacleDefect","validity":"upToDate","value":false}\r\n39\r\n,{"name":"intrusion","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"battDefect","validity":"upToDate","value":false}\r\n34\r\n,{"name":"jobsMP","validity":"upToDate","value":536}\r\n40\r\n,{"name":"softVersion","validity":"upToDate","value":"02.05.02"}\r\n40\r\n,{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}\r\n34\r\n]}]},{"id":10,"endpoints":[{"id":0,"error":0,"data":\r\n3D\r\n[{"name":"thermicDefect","validity":"upToDate","value":false}\r\n36\r\n,{"name":"position","validity":"upToDate","value":100}\r\n38\r\n,{"name":"onFavPos","validity":"upToDate","value":false}\r\n38\r\n,{"name":"upDefect","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"downDefect","validity":"upToDate","value":false}\r\n3E\r\n,{"name":"obstacleDefect","validity":"upToDate","value":false}\r\n39\r\n,{"name":"intrusion","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"battDefect","validity":"upToDate","value":false}\r\n34\r\n,{"name":"jobsMP","validity":"upToDate","value":536}\r\n40\r\n,{"name":"softVersion","validity":"upToDate","value":"02.05.02"}\r\n40\r\n,{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}\r\n45\r\n]}]},{"id":1670688732,"endpoints":[{"id":1670688732,"error":0,"data":\r\n3D\r\n[{"name":"thermicDefect","validity":"upToDate","value":false}\r\n36\r\n,{"name":"position","validity":"upToDate","value":100}\r\n38\r\n,{"name":"onFavPos","validity":"upToDate","value":false}\r\n38\r\n,{"name":"upDefect","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"downDefect","validity":"upToDate","value":false}\r\n3E\r\n,{"name":"obstacleDefect","validity":"upToDate","value":false}\r\n39\r\n,{"name":"intrusion","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"battDefect","validity":"upToDate","value":false}\r\n34\r\n,{"name":"jobsMP","validity":"upToDate","value":536}\r\n40\r\n,{"name":"softVersion","validity":"upToDate","value":"02.05.02"}\r\n40\r\n,{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}\r\n45\r\n]}]},{"id":1670688808,"endpoints":[{"id":1670688808,"error":0,"data":\r\n3D\r\n[{"name":"thermicDefect","validity":"upToDate","value":false}\r\n36\r\n,{"name":"position","validity":"upToDate","value":100}\r\n38\r\n,{"name":"onFavPos","validity":"upToDate","value":false}\r\n38\r\n,{"name":"upDefect","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"downDefect","validity":"upToDate","value":false}\r\n3E\r\n,{"name":"obstacleDefect","validity":"upToDate","value":false}\r\n39\r\n,{"name":"intrusion","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"battDefect","validity":"upToDate","value":false}\r\n34\r\n,{"name":"jobsMP","validity":"upToDate","value":536}\r\n40\r\n,{"name":"softVersion","validity":"upToDate","value":"02.05.02"}\r\n40\r\n,{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}\r\n45\r\n]}]},{"id":1670689384,"endpoints":[{"id":1670689384,"error":0,"data":\r\n3D\r\n[{"name":"thermicDefect","validity":"upToDate","value":false}\r\n36\r\n,{"name":"position","validity":"upToDate","value":100}\r\n38\r\n,{"name":"onFavPos","validity":"upToDate","value":false}\r\n38\r\n,{"name":"upDefect","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"downDefect","validity":"upToDate","value":false}\r\n3E\r\n,{"name":"obstacleDefect","validity":"upToDate","value":false}\r\n39\r\n,{"name":"intrusion","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"battDefect","validity":"upToDate","value":false}\r\n34\r\n,{"name":"jobsMP","validity":"upToDate","value":536}\r\n40\r\n,{"name":"softVersion","validity":"upToDate","value":"02.05.02"}\r\n40\r\n,{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}\r\n45\r\n]}]},{"id":1670689449,"endpoints":[{"id":1670689449,"error":0,"data":\r\n3D\r\n[{"name":"thermicDefect","validity":"upToDate","value":false}\r\n34\r\n,{"name":"position","validity":"upToDate","value":0}\r\n38\r\n,{"name":"onFavPos","validity":"upToDate","value":false}\r\n38\r\n,{"name":"upDefect","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"downDefect","validity":"upToDate","value":false}\r\n3E\r\n,{"name":"obstacleDefect","validity":"upToDate","value":false}\r\n39\r\n,{"name":"intrusion","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"battDefect","validity":"upToDate","value":false}\r\n34\r\n,{"name":"jobsMP","validity":"upToDate","value":536}\r\n40\r\n,{"name":"softVersion","validity":"upToDate","value":"02.05.02"}\r\n40\r\n,{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}\r\n45\r\n]}]},{"id":1670689519,"endpoints":[{"id":1670689519,"error":0,"data":\r\n3D\r\n[{"name":"thermicDefect","validity":"upToDate","value":false}\r\n36\r\n,{"name":"position","validity":"upToDate","value":100}\r\n38\r\n,{"name":"onFavPos","validity":"upToDate","value":false}\r\n38\r\n,{"name":"upDefect","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"downDefect","validity":"upToDate","value":false}\r\n3E\r\n,{"name":"obstacleDefect","validity":"upToDate","value":false}\r\n39\r\n,{"name":"intrusion","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"battDefect","validity":"upToDate","value":false}\r\n34\r\n,{"name":"jobsMP","validity":"upToDate","value":536}\r\n40\r\n,{"name":"softVersion","validity":"upToDate","value":"02.05.02"}\r\n40\r\n,{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}\r\n45\r\n]}]},{"id":1670689697,"endpoints":[{"id":1670689697,"error":0,"data":\r\n3D\r\n[{"name":"thermicDefect","validity":"upToDate","value":false}\r\n34\r\n,{"name":"position","validity":"upToDate","value":0}\r\n38\r\n,{"name":"onFavPos","validity":"upToDate","value":false}\r\n38\r\n,{"name":"upDefect","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"downDefect","validity":"upToDate","value":false}\r\n3E\r\n,{"name":"obstacleDefect","validity":"upToDate","value":false}\r\n39\r\n,{"name":"intrusion","validity":"upToDate","value":false}\r\n3A\r\n,{"name":"battDefect","validity":"upToDate","value":false}\r\n34\r\n,{"name":"jobsMP","validity":"upToDate","value":536}\r\n40\r\n,{"name":"softVersion","validity":"upToDate","value":"02.05.02"}\r\n40\r\n,{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}\r\n46\r\n]}]},{"id":1670690842,"endpoints":[{"id":1670690842,"error":15,"data":\r\n7C\r\n[]}]},{"id":1711649289,"endpoints":[{"id":1711649289,"error":0,"data":[{"name":"zclVersion","validity":"upToDate","value":3}\r\n47\r\n,{"name":"manufacturer","validity":"upToDate","value":"ATLANTIC GROUP"}\r\n43\r\n,{"name":"ambientTemperature","validity":"upToDate","value":25.500}\r\n3D\r\n,{"name":"coolSetpoint","validity":"upToDate","value":24.000}\r\n40\r\n,{"name":"minCoolSetpoint","validity":"upToDate","value":18.000}\r\n40\r\n,{"name":"maxCoolSetpoint","validity":"upToDate","value":30.000}\r\n37\r\n,{"name":"setpoint","validity":"upToDate","value":null}\r\n3C\r\n,{"name":"minSetpoint","validity":"upToDate","value":16.000}\r\n3C\r\n,{"name":"maxSetpoint","validity":"upToDate","value":30.000}\r\n3D\r\n,{"name":"heatSetpoint","validity":"upToDate","value":22.000}\r\n40\r\n,{"name":"minHeatSetpoint","validity":"upToDate","value":16.000}\r\n40\r\n,{"name":"maxHeatSetpoint","validity":"upToDate","value":30.000}\r\n41\r\n,{"name":"authorization","validity":"upToDate","value":"HEATING"}\r\n3D\r\n,{"name":"thermicLevel","validity":"upToDate","value":"STOP"}\r\n34\r\n,{"name":"speed","validity":"upToDate","value":null}\r\n3C\r\n,{"name":"speedString","validity":"upToDate","value":"AUTO"}\r\n40\r\n,{"name":"anticipCoeff","validity":"upToDate","value":30}]}]}]\r\n\r\n0\r\n\r\n +HTTP/1.1 200 OK\r\nServer: Tydom-001A25066BBE\r\nUri-Origin: /scenarios/file\r\nContent-Type: application/json\r\nContent-Length: 10\r\nTransac-Id: 0\r\nFile-Version: 6\r\n\r\n{"scn":[]} +HTTP/1.1 200 OK\r\nServer: Tydom-001A25066BBE\r\nUri-Origin: /ping\r\nContent-Type: application/json\r\nContent-Length: 0\r\nTransac-Id: 0\r\n\r\n +HTTP/1.1 200 OK\r\nServer: Tydom-001A25066BBE\r\nUri-Origin: /ping\r\nContent-Type: application/json\r\nContent-Length: 0\r\nTransac-Id: 0\r\n\r\n From 02ad9735b33fe5e2673422a301c3f3890576cdb7 Mon Sep 17 00:00:00 2001 From: ucpy7374 Date: Mon, 13 May 2024 17:29:19 +0200 Subject: [PATCH 3/8] implement naviclim support --- README.md | 1 + .../deltadore_tydom/ha_entities.py | 54 ++++++++++++++++--- .../deltadore_tydom/tydom/tydom_devices.py | 23 +++++--- 3 files changed, 65 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 866565b..49fe56a 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ Platform | Description - Tyxal+, Tyxal CSX40 - TYXIA 6610 - BSO +- Naviclim Atlantic 875311 Some other functions may also work or only report attributes. diff --git a/custom_components/deltadore_tydom/ha_entities.py b/custom_components/deltadore_tydom/ha_entities.py index 5e70a3e..d1f514e 100644 --- a/custom_components/deltadore_tydom/ha_entities.py +++ b/custom_components/deltadore_tydom/ha_entities.py @@ -610,17 +610,20 @@ class HaClimate(ClimateEntity, HAEntity): DICT_MODES_HA_TO_DD = { HVACMode.AUTO: "ANTI_FROST", - HVACMode.COOL: None, + HVACMode.COOL: "COOLING", HVACMode.HEAT: "NORMAL", HVACMode.OFF: "STOP", + HVACMode.FAN_ONLY: "VENTILATING", + HVACMode.DRY: "DRYING" } DICT_MODES_DD_TO_HA = { - # "": HVACMode.AUTO, - # "": HVACMode.COOL, + "COOLING": HVACMode.COOL, "ANTI_FROST": HVACMode.AUTO, "NORMAL": HVACMode.HEAT, "STOP": HVACMode.OFF, "AUTO": HVACMode.AUTO, + "VENTILATING": HVACMode.FAN_ONLY, + "DRYING": HVACMode.DRY } def __init__(self, device: TydomBoiler, hass) -> None: @@ -637,6 +640,12 @@ def __init__(self, device: TydomBoiler, hass) -> None: self._attr_supported_features | ClimateEntityFeature.TARGET_TEMPERATURE) + if hasattr(self._device, "minSetpoint"): + self._attr_min_temp = self._device.minSetpoint + + if hasattr(self._device, "maxSetpoint"): + self._attr_max_temp = self._device.maxSetpoint + self._attr_supported_features = ( self._attr_supported_features | ClimateEntityFeature.TURN_OFF @@ -649,9 +658,15 @@ def __init__(self, device: TydomBoiler, hass) -> None: # self._attr_preset_modes = ["NORMAL", "STOP", "ANTI_FROST"] self._attr_hvac_modes = [ HVACMode.OFF, - HVACMode.HEAT, HVACMode.AUTO, ] + + if ("comfortMode" in self._device._metadata and "COOLING" in self._device._metadata["comfortMode"]["enum_values"]) or ("hvacMode" in self._device._metadata and "COOLING" in self._device._metadata["hvacMode"]["enum_values"]): + self._attr_hvac_modes.append(HVACMode.COOL) + + if ("comfortMode" in self._device._metadata and "HEATING" in self._device._metadata["comfortMode"]["enum_values"]) or ("hvacMode" in self._device._metadata and "HEATING" in self._device._metadata["hvacMode"]["enum_values"]): + self._attr_hvac_modes.append(HVACMode.HEAT) + self._registered_sensors = [] if hasattr(self._device._metadata, "setpoint") and "min" in self._device._metadata["setpoint"]: @@ -663,11 +678,16 @@ def __init__(self, device: TydomBoiler, hass) -> None: @property def device_info(self) -> DeviceInfo: """Information about this entity/device.""" - return { + infos = { "identifiers": {(DOMAIN, self._device.device_id)}, "name": self._device.device_name, } + if hasattr(self._device, "manufacturer"): + infos["manufacturer"] = self._device.manufacturer + + return infos + @property def temperature_unit(self) -> str: """Return the unit of temperature measurement for the system.""" @@ -690,14 +710,34 @@ def current_temperature(self) -> float | None: """Return the current temperature.""" if hasattr(self._device, 'temperature'): return self._device.temperature + elif hasattr(self._device, 'ambientTemperature'): + return self._device.ambientTemperature else: return None @property def target_temperature(self) -> float | None: """Return the temperature currently set to be reached.""" - if self._device.authorization == "HEATING" and hasattr(self._device, "setpoint"): - return self._device.setpoint + if hasattr(self._device, 'hvacMode'): + if (self._device.hvacMode == "HEATING" or self._device.hvacMode == "NORMAL") and hasattr(self._device, "setpoint"): + return self._device.setpoint + elif (self._device.hvacMode == "HEATING" or self._device.hvacMode == "NORMAL") and hasattr(self._device, "heatSetpoint"): + return self._device.heatSetpoint + elif self._device.hvacMode == "COOLING" and hasattr(self._device, "setpoint"): + return self._device.setpoint + elif self._device.hvacMode == "COOLING" and hasattr(self._device, "coolSetpoint"): + return self._device.coolSetpoint + + elif hasattr(self._device, 'comfortMode'): + if self._device.comfortMode == "HEATING" and hasattr(self._device, "setpoint"): + return self._device.setpoint + elif self._device.comfortMode == "HEATING" and hasattr(self._device, "heatSetpoint"): + return self._device.heatSetpoint + elif self._device.comfortMode == "COOLING" and hasattr(self._device, "setpoint"): + return self._device.setpoint + elif self._device.comfortMode == "COOLING" and hasattr(self._device, "coolSetpoint"): + return self._device.coolSetpoint + return None async def async_set_hvac_mode(self, hvac_mode): diff --git a/custom_components/deltadore_tydom/tydom/tydom_devices.py b/custom_components/deltadore_tydom/tydom/tydom_devices.py index abcc3f0..c462a77 100644 --- a/custom_components/deltadore_tydom/tydom/tydom_devices.py +++ b/custom_components/deltadore_tydom/tydom/tydom_devices.py @@ -208,12 +208,19 @@ async def set_hvac_mode(self, mode): self._id, self._endpoint, "antifrostOn", False ) else: - await self._tydom_client.put_devices_data( - self._id, self._endpoint, "thermicLevel", "COMFORT" - ) - await self._tydom_client.put_devices_data( - self._id, self._endpoint, "comfortMode", "HEATING" - ) + if "COMFORT" in self._metadata["thermicLevel"]["enum_values"]: + await self._tydom_client.put_devices_data( + self._id, self._endpoint, "thermicLevel", "COMFORT" + ) + elif "HEATING" in self._metadata["thermicLevel"]["enum_values"]: + await self._tydom_client.put_devices_data( + self._id, self._endpoint, "thermicLevel", "HEATING" + ) + + if "HEATING" in self._metadata["comfortMode"]["enum_values"]: + await self._tydom_client.put_devices_data( + self._id, self._endpoint, "comfortMode", "HEATING" + ) elif mode == "STOP": if hasattr(self, 'hvacMode'): @@ -236,6 +243,10 @@ async def set_hvac_mode(self, mode): await self._tydom_client.put_devices_data( self._id, self._endpoint, "comfortMode", "STOP" ) + elif mode == "COOLING": + await self._tydom_client.put_devices_data( + self._id, self._endpoint, "comfortMode", "COOLING" + ) else: LOGGER.error("Unknown hvac mode: %s", mode) From fd1f19d8c4ce45f80b8095eccca8b772f8bdb65f Mon Sep 17 00:00:00 2001 From: CyrilP Date: Mon, 13 May 2024 17:34:07 +0200 Subject: [PATCH 4/8] fix ruff errors --- custom_components/deltadore_tydom/ha_entities.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/custom_components/deltadore_tydom/ha_entities.py b/custom_components/deltadore_tydom/ha_entities.py index d1f514e..e63c1bd 100644 --- a/custom_components/deltadore_tydom/ha_entities.py +++ b/custom_components/deltadore_tydom/ha_entities.py @@ -613,7 +613,7 @@ class HaClimate(ClimateEntity, HAEntity): HVACMode.COOL: "COOLING", HVACMode.HEAT: "NORMAL", HVACMode.OFF: "STOP", - HVACMode.FAN_ONLY: "VENTILATING", + HVACMode.FAN_ONLY: "VENTILATING", HVACMode.DRY: "DRYING" } DICT_MODES_DD_TO_HA = { @@ -660,7 +660,7 @@ def __init__(self, device: TydomBoiler, hass) -> None: HVACMode.OFF, HVACMode.AUTO, ] - + if ("comfortMode" in self._device._metadata and "COOLING" in self._device._metadata["comfortMode"]["enum_values"]) or ("hvacMode" in self._device._metadata and "COOLING" in self._device._metadata["hvacMode"]["enum_values"]): self._attr_hvac_modes.append(HVACMode.COOL) From 99533ab5353616a5a625aa95fc93fc0659ca618a Mon Sep 17 00:00:00 2001 From: CyrilP Date: Tue, 14 May 2024 10:23:29 +0200 Subject: [PATCH 5/8] fix climate status --- custom_components/deltadore_tydom/ha_entities.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/custom_components/deltadore_tydom/ha_entities.py b/custom_components/deltadore_tydom/ha_entities.py index e63c1bd..ed37019 100644 --- a/custom_components/deltadore_tydom/ha_entities.py +++ b/custom_components/deltadore_tydom/ha_entities.py @@ -696,10 +696,13 @@ def temperature_unit(self) -> str: @property def hvac_mode(self) -> HVACMode: """Return the current operation (e.g. heat, cool, idle).""" - if (hasattr(self._device, 'hvacMode')): + if hasattr(self._device, 'hvacMode'): LOGGER.debug("hvac_mode = %s", self.DICT_MODES_DD_TO_HA[self._device.hvacMode]) return self.DICT_MODES_DD_TO_HA[self._device.hvacMode] - elif (hasattr(self._device, 'thermicLevel')): + elif hasattr(self._device, 'authorization'): + LOGGER.debug("authorization = %s", self.DICT_MODES_DD_TO_HA[self._device.thermicLevel]) + return self.DICT_MODES_DD_TO_HA[self._device.authorization] + elif hasattr(self._device, 'thermicLevel'): LOGGER.debug("thermicLevel = %s", self.DICT_MODES_DD_TO_HA[self._device.thermicLevel]) return self.DICT_MODES_DD_TO_HA[self._device.thermicLevel] else: From 26e567f2593bf18478fd26a6c1ceb43676eca85f Mon Sep 17 00:00:00 2001 From: CyrilP Date: Wed, 15 May 2024 09:56:26 +0200 Subject: [PATCH 6/8] fix target temperature and cooling mode --- .../deltadore_tydom/ha_entities.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/custom_components/deltadore_tydom/ha_entities.py b/custom_components/deltadore_tydom/ha_entities.py index ed37019..656ef11 100644 --- a/custom_components/deltadore_tydom/ha_entities.py +++ b/custom_components/deltadore_tydom/ha_entities.py @@ -620,6 +620,7 @@ class HaClimate(ClimateEntity, HAEntity): "COOLING": HVACMode.COOL, "ANTI_FROST": HVACMode.AUTO, "NORMAL": HVACMode.HEAT, + "HEATING": HVACMode.HEAT, "STOP": HVACMode.OFF, "AUTO": HVACMode.AUTO, "VENTILATING": HVACMode.FAN_ONLY, @@ -635,10 +636,6 @@ def __init__(self, device: TydomBoiler, hass) -> None: self._attr_unique_id = f"{self._device.device_id}_climate" self._attr_name = self._device.device_name self._enable_turn_on_off_backwards_compatibility = False - if hasattr(self._device, "temperature"): - self._attr_supported_features = ( - self._attr_supported_features - | ClimateEntityFeature.TARGET_TEMPERATURE) if hasattr(self._device, "minSetpoint"): self._attr_min_temp = self._device.minSetpoint @@ -650,6 +647,7 @@ def __init__(self, device: TydomBoiler, hass) -> None: self._attr_supported_features | ClimateEntityFeature.TURN_OFF | ClimateEntityFeature.TURN_ON + | ClimateEntityFeature.TARGET_TEMPERATURE ) if "NORMAL" in self._device._metadata["thermicLevel"] and "AUTO" in self._device._metadata["thermicLevel"]: @@ -731,16 +729,15 @@ def target_temperature(self) -> float | None: elif self._device.hvacMode == "COOLING" and hasattr(self._device, "coolSetpoint"): return self._device.coolSetpoint - elif hasattr(self._device, 'comfortMode'): - if self._device.comfortMode == "HEATING" and hasattr(self._device, "setpoint"): - return self._device.setpoint - elif self._device.comfortMode == "HEATING" and hasattr(self._device, "heatSetpoint"): + elif hasattr(self._device, 'authorization'): + if self._device.authorization == "HEATING" and hasattr(self._device, "heatSetpoint"): return self._device.heatSetpoint - elif self._device.comfortMode == "COOLING" and hasattr(self._device, "setpoint"): + elif self._device.authorization == "HEATING" and hasattr(self._device, "setpoint"): return self._device.setpoint - elif self._device.comfortMode == "COOLING" and hasattr(self._device, "coolSetpoint"): + elif self._device.authorization == "COOLING" and hasattr(self._device, "coolSetpoint"): return self._device.coolSetpoint - + elif self._device.authorization == "COOLING" and hasattr(self._device, "setpoint"): + return self._device.setpoint return None async def async_set_hvac_mode(self, hvac_mode): From c98f91396376e70cb558aa037bf4e5aef7a7afe0 Mon Sep 17 00:00:00 2001 From: CyrilP Date: Wed, 15 May 2024 10:13:58 +0200 Subject: [PATCH 7/8] update for AUTO mode --- .../deltadore_tydom/ha_entities.py | 61 +++++++++++-------- 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/custom_components/deltadore_tydom/ha_entities.py b/custom_components/deltadore_tydom/ha_entities.py index 656ef11..96018b9 100644 --- a/custom_components/deltadore_tydom/ha_entities.py +++ b/custom_components/deltadore_tydom/ha_entities.py @@ -608,25 +608,6 @@ class HaClimate(ClimateEntity, HAEntity): "temperature": UnitOfTemperature.CELSIUS, } - DICT_MODES_HA_TO_DD = { - HVACMode.AUTO: "ANTI_FROST", - HVACMode.COOL: "COOLING", - HVACMode.HEAT: "NORMAL", - HVACMode.OFF: "STOP", - HVACMode.FAN_ONLY: "VENTILATING", - HVACMode.DRY: "DRYING" - } - DICT_MODES_DD_TO_HA = { - "COOLING": HVACMode.COOL, - "ANTI_FROST": HVACMode.AUTO, - "NORMAL": HVACMode.HEAT, - "HEATING": HVACMode.HEAT, - "STOP": HVACMode.OFF, - "AUTO": HVACMode.AUTO, - "VENTILATING": HVACMode.FAN_ONLY, - "DRYING": HVACMode.DRY - } - def __init__(self, device: TydomBoiler, hass) -> None: """Initialize Climate.""" super().__init__() @@ -637,6 +618,32 @@ def __init__(self, device: TydomBoiler, hass) -> None: self._attr_name = self._device.device_name self._enable_turn_on_off_backwards_compatibility = False + self.dict_modes_ha_to_dd = { + HVACMode.COOL: "COOLING", + HVACMode.HEAT: "NORMAL", + HVACMode.OFF: "STOP", + HVACMode.FAN_ONLY: "VENTILATING", + HVACMode.DRY: "DRYING" + } + self.dict_modes_dd_to_ha = { + "COOLING": HVACMode.COOL, + "ANTI_FROST": HVACMode.AUTO, + "NORMAL": HVACMode.HEAT, + "HEATING": HVACMode.HEAT, + "STOP": HVACMode.OFF, + "AUTO": HVACMode.AUTO, + "VENTILATING": HVACMode.FAN_ONLY, + "DRYING": HVACMode.DRY + } + + if "hvacMode" in self._device._metadata and "AUTO" in self._device._metadata["hvacMode"]["enum_values"]: + self.dict_modes_ha_to_dd[HVACMode.AUTO] = "AUTO" + elif "hvacMode" in self._device._metadata and "ANTI_FROST" in self._device._metadata["hvacMode"]["enum_values"]: + self.dict_modes_ha_to_dd[HVACMode.AUTO] = "ANTI_FROST" + else: + self.dict_modes_ha_to_dd[HVACMode.AUTO] = "AUTO" + + if hasattr(self._device, "minSetpoint"): self._attr_min_temp = self._device.minSetpoint @@ -651,7 +658,7 @@ def __init__(self, device: TydomBoiler, hass) -> None: ) if "NORMAL" in self._device._metadata["thermicLevel"] and "AUTO" in self._device._metadata["thermicLevel"]: - self.DICT_MODES_HA_TO_DD[HVACMode.HEAT] = "AUTO" + self.dict_modes_ha_to_dd[HVACMode.HEAT] = "AUTO" # self._attr_preset_modes = ["NORMAL", "STOP", "ANTI_FROST"] self._attr_hvac_modes = [ @@ -695,14 +702,14 @@ def temperature_unit(self) -> str: def hvac_mode(self) -> HVACMode: """Return the current operation (e.g. heat, cool, idle).""" if hasattr(self._device, 'hvacMode'): - LOGGER.debug("hvac_mode = %s", self.DICT_MODES_DD_TO_HA[self._device.hvacMode]) - return self.DICT_MODES_DD_TO_HA[self._device.hvacMode] + LOGGER.debug("hvac_mode = %s", self.dict_modes_dd_to_ha[self._device.hvacMode]) + return self.dict_modes_dd_to_ha[self._device.hvacMode] elif hasattr(self._device, 'authorization'): - LOGGER.debug("authorization = %s", self.DICT_MODES_DD_TO_HA[self._device.thermicLevel]) - return self.DICT_MODES_DD_TO_HA[self._device.authorization] + LOGGER.debug("authorization = %s", self.dict_modes_dd_to_ha[self._device.thermicLevel]) + return self.dict_modes_dd_to_ha[self._device.authorization] elif hasattr(self._device, 'thermicLevel'): - LOGGER.debug("thermicLevel = %s", self.DICT_MODES_DD_TO_HA[self._device.thermicLevel]) - return self.DICT_MODES_DD_TO_HA[self._device.thermicLevel] + LOGGER.debug("thermicLevel = %s", self.dict_modes_dd_to_ha[self._device.thermicLevel]) + return self.dict_modes_dd_to_ha[self._device.thermicLevel] else: return None @@ -742,7 +749,7 @@ def target_temperature(self) -> float | None: async def async_set_hvac_mode(self, hvac_mode): """Set new target hvac mode.""" - await self._device.set_hvac_mode(self.DICT_MODES_HA_TO_DD[hvac_mode]) + await self._device.set_hvac_mode(self.dict_modes_ha_to_dd[hvac_mode]) async def async_set_preset_mode(self, preset_mode): """Set new target preset mode.""" From 3d3accb096993e8df0ef296e97f6f9041297b906 Mon Sep 17 00:00:00 2001 From: ucpy7374 Date: Thu, 16 May 2024 09:21:10 +0200 Subject: [PATCH 8/8] update condition for auto mode --- custom_components/deltadore_tydom/ha_entities.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/deltadore_tydom/ha_entities.py b/custom_components/deltadore_tydom/ha_entities.py index 96018b9..2404dbe 100644 --- a/custom_components/deltadore_tydom/ha_entities.py +++ b/custom_components/deltadore_tydom/ha_entities.py @@ -657,7 +657,7 @@ def __init__(self, device: TydomBoiler, hass) -> None: | ClimateEntityFeature.TARGET_TEMPERATURE ) - if "NORMAL" in self._device._metadata["thermicLevel"] and "AUTO" in self._device._metadata["thermicLevel"]: + if "NORMAL" in self._device._metadata["thermicLevel"] or "AUTO" in self._device._metadata["thermicLevel"]: self.dict_modes_ha_to_dd[HVACMode.HEAT] = "AUTO" # self._attr_preset_modes = ["NORMAL", "STOP", "ANTI_FROST"]