dresden-elektronik / deconz-rest-plugin

deCONZ REST-API plugin to control ZigBee devices
BSD 3-Clause "New" or "Revised" License
1.88k stars 483 forks source link

Centralite Pearl Support #3240

Open cbrightly opened 3 years ago

cbrightly commented 3 years ago

Device

Screenshots

Please see https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2630 for an identical description of the issue.

I was able to successfully add a Centralite 3157100 to my conbee I stick with 2.05.78 and do see the thermostat temperature sensor in the API and home assistant. Thanks for getting this working in #2630 However currently it seems to only expose the current temperature and not any of the other information such as temperature set point, fan setting, cooling/heating mode. If the AC/heater is actually currently running. It also doesn't appear to be settable through the API, or at least it doesn't appear in the lights section of the API. The thermostat control in home assistant therefore also doesn't appear to be able to set the thermostat. I was able to set the temperature set point directly in deconz gui and read the information from the respective zigbee clusters. Is it easy to expose these other information through the API as well? I would like to write some automations to control the A/C through a temperature sensor in a different room instead of the room the thermostat is currently physically located.

CE1D45BA-8476-4A84-8E25-1D86D4637EE7 B62A2023-23DC-4704-BB09-7FC30336030B 4AF3F261-7A0E-4D6E-B56F-BD12143C0FF5

Mimiix commented 3 years ago

Hi @cbrightly Information seems to be missing. Cluster information in this case. Could you please add that?

cbrightly commented 3 years ago

Of course! Apologies for neglecting to add that! 5D05B060-75BE-4E8D-AA0A-2EED7BCDCD72

Mimiix commented 3 years ago

@cbrightly Yes, but also the clusters being read 😄

cbrightly commented 3 years ago

Thanks for your help and your patience! I’m unsure specifically what you are asking for though; can you point me to how or where to gather the information you need?

Mimiix commented 3 years ago

No worries :)

You did a read of the basic cluster already, but you need to do that with all clusters and provide screens of those.

cbrightly commented 3 years ago

Here are screenshots of the readable attributes. If you need the rest of the cluster information panels (exec functions, etc.) please let me know and I can repost them.

BD93DE44-1867-48A6-A627-404810BF82D9 8B81BE2B-BD24-4C44-ADA5-BEE39E2481A5 25FC0CF0-6CA9-42FA-9851-4866E4561F9C 4952A8A3-D58A-4185-BE1C-8A6F769B1473 2FD8078B-BB29-403B-9D14-E585DC037430 D8FB2A4F-649B-4B22-9BCA-408BD96A0F55 8A4EE526-F9FB-4CEE-B458-32AED90DDD15 BFEB7577-ED10-4106-89DA-C4735EEDF793

Mimiix commented 3 years ago

@SwoopX I think you can knock yourselve out with this one

SwoopX commented 3 years ago

I can at least have a look later. There's been lots of work and improvements on the thermostat functionality throughout the last 2 versions...

SwoopX commented 3 years ago

Could you please provide me the output of the REST API from /sensors and /lights. Based on the node name in deconz GUI, I doubt that everything's set up correctly or even anything at all.

Also, I'd require screenshots of all the read attributes from thermostat cluster. Please note that due to the high number of attributes, I'd recommend to read them one by one (double click on the value and then press read, NOT read config), starting from 0x0010.

Looking at the code, the device support has only been implemented superficially, presumably due to the lack of feedback. So, there's quite some work to do...

cbrightly commented 3 years ago

Here are the results of the API calls; No sign of the device through the API despite it showing in the GUI. I will grab those screenshots and post them a bit later.

Thanks for your assistance!

/sensors

{ "25" : { "config" : { "battery" : 31, "reachable" : true, "on" : true }, "manufacturername" : "Samjin", "state" : { "lastupdated" : "2020-09-08T19:43:40.315", "vibration" : false, "orientation" : [ -36, -1054, 11 ] }, "uniqueid" : "28:6d:97:00:01:0c:81:f3-01-fc02", "ep" : 1, "lastseen" : "2020-09-08T19:43Z", "modelid" : "multi", "type" : "ZHAVibration", "name" : "Back Door | Multi 2", "etag" : "41037b6a17d24f1e9b523dda627e356f" }, "10" : { "config" : { "battery" : 100, "reachable" : false, "on" : true }, "manufacturername" : "LUMI", "state" : { "lastupdated" : "2020-07-17T08:44:04.925", "pressure" : 1009 }, "swversion" : "20161129", "uniqueid" : "00:15:8d:00:04:11:d2:fa-01-0403", "ep" : 1, "lastseen" : null, "modelid" : "lumi.weather", "type" : "ZHAPressure", "name" : "Leather Traveldor", "etag" : "18936d258057fe04fd9a65644c5a4ec1" }, "26" : { "config" : { "battery" : 100, "reachable" : true, "on" : true }, "manufacturername" : "Samjin", "state" : { "lastupdated" : "2020-09-08T19:15:40.591", "open" : false }, "uniqueid" : "28:6d:97:00:01:0b:df:9b-01-0500", "ep" : 1, "lastseen" : "2020-09-08T19:15Z", "modelid" : "multi", "type" : "ZHAOpenClose", "name" : "Safe Door | Multi 1", "etag" : "3f09864c1e95b2c4ffee608dca4277fc" }, "27" : { "config" : { "reachable" : true, "offset" : 0, "battery" : 91, "on" : true }, "manufacturername" : "LUMI", "state" : { "lastupdated" : "2020-09-08T19:33:00.442", "temperature" : 2295 }, "swversion" : "20160516", "uniqueid" : "00:15:8d:00:03:6b:a8:f5-01-0402", "ep" : 1, "lastseen" : "2020-09-08T19:33Z", "modelid" : "lumi.sensor_ht", "type" : "ZHATemperature", "name" : "Downstairs Hall | Env 2", "etag" : "b241cdac0c873652a3adff6374fc16ec" }, "1" : { "config" : { "sunriseoffset" : 30, "sunsetoffset" : -30, "on" : true, "configured" : true }, "manufacturername" : "Philips", "state" : { "status" : null, "dark" : null, "lastupdated" : "none", "daylight" : null }, "swversion" : "1.0", "uniqueid" : "00:21:2e:ff:ff:04:dc:dc-01", "modelid" : "PHDL00", "type" : "Daylight", "name" : "Daylight", "etag" : "18936d258057fe04fd9a65644c5a4ec1" }, "28" : { "config" : { "reachable" : true, "offset" : 0, "battery" : 91, "on" : true }, "manufacturername" : "LUMI", "state" : { "humidity" : 6866, "lastupdated" : "2020-09-08T19:33:00.442" }, "swversion" : "20160516", "uniqueid" : "00:15:8d:00:03:6b:a8:f5-01-0405", "ep" : 1, "lastseen" : "2020-09-08T19:33Z", "modelid" : "lumi.sensor_ht", "type" : "ZHAHumidity", "name" : "Downstairs Hall | Env 2", "etag" : "b241cdac0c873652a3adff6374fc16ec" }, "29" : { "config" : { "reachable" : true, "offset" : 0, "battery" : 100, "on" : true }, "manufacturername" : "Samjin", "state" : { "lastupdated" : "2020-09-07T23:28:11.196", "temperature" : 2286 }, "uniqueid" : "28:6d:97:00:01:0b:df:9b-01-0402", "ep" : 1, "lastseen" : "2020-09-08T09:49Z", "modelid" : "multi", "type" : "ZHATemperature", "name" : "Safe Door | Multi 1", "etag" : "7a0af7ee32f8382a7aed1b7404a08475" }, "21" : { "config" : { "battery" : 31, "reachable" : true, "on" : true }, "manufacturername" : "Samjin", "state" : { "lastupdated" : "2020-09-08T19:43:55.520", "open" : false }, "uniqueid" : "28:6d:97:00:01:0c:81:f3-01-0500", "ep" : 1, "lastseen" : "2020-09-08T19:43Z", "modelid" : "multi", "type" : "ZHAOpenClose", "name" : "Back Door | Multi 2", "etag" : "2ffc066c1daed9b95a8acfdcbfbb9e3f" }, "37" : { "config" : { "reachable" : false, "offset" : 0, "battery" : null, "on" : true }, "manufacturername" : "LUMI", "state" : { "lastupdated" : "2020-09-06T06:38:22.259", "temperature" : 2973 }, "swversion" : "20160516", "uniqueid" : "00:15:8d:00:03:6b:8d:43-01-0402", "ep" : 1, "lastseen" : "2020-09-07T02:45Z", "modelid" : "lumi.sensor_ht", "type" : "ZHATemperature", "name" : "Upstairs Hall | Env 1", "etag" : "b446ec52d257d0874e30e8930cba4ff8" }, "22" : { "config" : { "reachable" : true, "temperature" : 3200, "tholddark" : 12000, "tholdoffset" : 7000, "battery" : 100, "on" : true }, "manufacturername" : "LUMI", "state" : { "lux" : 51, "dark" : false, "lastupdated" : "2020-09-08T19:37:21.462", "lightlevel" : 17076, "daylight" : false }, "swversion" : "20170627", "uniqueid" : "00:15:8d:00:02:75:1d:55-01-0400", "ep" : 1, "lastseen" : "2020-09-08T19:37Z", "modelid" : "lumi.sensor_motion.aq2", "type" : "ZHALightLevel", "name" : "Downstairs Hall | PIR 1", "etag" : "d1973049938e574752a1e584eb613734" }, "15" : { "config" : { "battery" : 36, "reachable" : false, "on" : true }, "manufacturername" : "Samjin", "state" : { "lastupdated" : "2020-04-22T02:12:41.000", "buttonevent" : 1004 }, "mode" : 1, "uniqueid" : "28:6d:97:00:01:0b:25:d0-01-0500", "ep" : 1, "lastseen" : null, "modelid" : "button", "type" : "ZHASwitch", "name" : "SmartThings Button", "etag" : "18936d258057fe04fd9a65644c5a4ec1" }, "38" : { "config" : { "reachable" : false, "offset" : 0, "battery" : null, "on" : true }, "manufacturername" : "LUMI", "state" : { "humidity" : 4868, "lastupdated" : "2020-09-06T06:38:22.264" }, "swversion" : "20160516", "uniqueid" : "00:15:8d:00:03:6b:8d:43-01-0405", "ep" : 1, "lastseen" : "2020-09-07T02:45Z", "modelid" : "lumi.sensor_ht", "type" : "ZHAHumidity", "name" : "Upstairs Hall | Env 1", "etag" : "b446ec52d257d0874e30e8930cba4ff8" }, "30" : { "config" : { "battery" : 100, "reachable" : true, "on" : true }, "manufacturername" : "Samjin", "state" : { "lastupdated" : "2020-09-08T09:49:09.301", "vibration" : true, "orientation" : [ -15, -1026, 27 ] }, "uniqueid" : "28:6d:97:00:01:0b:df:9b-01-fc02", "ep" : 1, "lastseen" : "2020-09-08T09:49Z", "modelid" : "multi", "type" : "ZHAVibration", "name" : "Safe Door | Multi 1", "etag" : "8bf04c27b9ff15fb25fdeb6a5bb1a31c" }, "23" : { "config" : { "on" : true, "reachable" : true, "temperature" : 3200, "battery" : 100, "duration" : 90 }, "manufacturername" : "LUMI", "state" : { "lastupdated" : "2020-09-08T19:38:51.759", "presence" : false }, "swversion" : "20170627", "uniqueid" : "00:15:8d:00:02:75:1d:55-01-0406", "ep" : 1, "lastseen" : "2020-09-08T19:37Z", "modelid" : "lumi.sensor_motion.aq2", "type" : "ZHAPresence", "name" : "Downstairs Hall | PIR 1", "etag" : "d1973049938e574752a1e584eb613734" }, "16" : { "config" : { "reachable" : false, "offset" : 0, "battery" : 36, "on" : true }, "manufacturername" : "Samjin", "state" : { "lastupdated" : "2020-05-01T06:21:26.000", "temperature" : 2221 }, "uniqueid" : "28:6d:97:00:01:0b:25:d0-01-0402", "ep" : 1, "lastseen" : null, "modelid" : "button", "type" : "ZHATemperature", "name" : "Temperature 16", "etag" : "18936d258057fe04fd9a65644c5a4ec1" }, "6" : { "config" : { "reachable" : true, "temperature" : 2600, "tholddark" : 12000, "tholdoffset" : 7000, "battery" : 100, "on" : true }, "manufacturername" : "LUMI", "state" : { "lux" : 21, "dark" : false, "lastupdated" : "2020-09-08T19:43:48.100", "lightlevel" : 13223, "daylight" : false }, "swversion" : "20170627", "uniqueid" : "00:15:8d:00:04:4c:79:d2-01-0400", "ep" : 1, "lastseen" : "2020-09-08T19:43Z", "modelid" : "lumi.sensor_motion.aq2", "type" : "ZHALightLevel", "name" : "Family Room | PIR 2", "etag" : "3147e61bd5fc8bf1ac4590d9334e1fb9" }, "7" : { "config" : { "on" : true, "reachable" : true, "temperature" : 2600, "battery" : 100, "duration" : 90 }, "manufacturername" : "LUMI", "state" : { "lastupdated" : "2020-09-08T19:43:48.105", "presence" : true }, "swversion" : "20170627", "uniqueid" : "00:15:8d:00:04:4c:79:d2-01-0406", "ep" : 1, "lastseen" : "2020-09-08T19:43Z", "modelid" : "lumi.sensor_motion.aq2", "type" : "ZHAPresence", "name" : "Family Room | PIR 2", "etag" : "3147e61bd5fc8bf1ac4590d9334e1fb9" }, "8" : { "config" : { "reachable" : false, "offset" : 0, "battery" : 100, "on" : true }, "manufacturername" : "LUMI", "state" : { "lastupdated" : "2020-07-17T08:40:22.650", "temperature" : 2238 }, "swversion" : "20161129", "uniqueid" : "00:15:8d:00:04:11:d2:fa-01-0402", "ep" : 1, "lastseen" : null, "modelid" : "lumi.weather", "type" : "ZHATemperature", "name" : "Leather Traveldor", "etag" : "18936d258057fe04fd9a65644c5a4ec1" }, "24" : { "config" : { "reachable" : true, "offset" : 0, "battery" : 31, "on" : true }, "manufacturername" : "Samjin", "state" : { "lastupdated" : "2020-09-08T19:43:00.187", "temperature" : 2384 }, "uniqueid" : "28:6d:97:00:01:0c:81:f3-01-0402", "ep" : 1, "lastseen" : "2020-09-08T19:43Z", "modelid" : "multi", "type" : "ZHATemperature", "name" : "Back Door | Multi 2", "etag" : "29283919d56b55717003bdf46b389de2" }, "17" : { "state" : { "eventduration" : 0, "lastupdated" : "2020-09-02T03:35:38.540", "buttonevent" : 4002 }, "lastseen" : "2020-09-08T19:42Z", "ep" : 2, "swversion" : "5.45.1.17846", "manufacturername" : "Philips", "type" : "ZHASwitch", "uniqueid" : "00:17:88:01:03:ca:4c:86-02-fc00", "mode" : 1, "config" : { "group" : "14", "reachable" : true, "battery" : 100, "on" : true }, "modelid" : "RWL020", "etag" : "64ef4b724c5ea99c530afb4733da9d94", "name" : "Hue Dimmer Switch" }, "9" : { "config" : { "reachable" : false, "offset" : 0, "battery" : 100, "on" : true }, "manufacturername" : "LUMI", "state" : { "humidity" : 5895, "lastupdated" : "2020-07-17T08:40:22.650" }, "swversion" : "20161129", "uniqueid" : "00:15:8d:00:04:11:d2:fa-01-0405", "ep" : 1, "lastseen" : null, "modelid" : "lumi.weather", "type" : "ZHAHumidity", "name" : "Leather Traveldor", "etag" : "18936d258057fe04fd9a65644c5a4ec1" } }

/lights

{ "3" : { "manufacturername" : "dresden elektronik", "hascolor" : false, "lastannounced" : null, "state" : { "reachable" : true }, "swversion" : "0x264a0700", "uniqueid" : "00:21:2e:ff:ff:04:dc:dc-01", "lastseen" : "2020-09-08T19:42Z", "modelid" : "ConBee II", "type" : "Configuration tool", "name" : "Configuration tool 3", "etag" : "b7116a9b1658bb4b9592fdcd9096212c" }, "4" : { "manufacturername" : "eWeLink", "hascolor" : false, "lastannounced" : null, "state" : { "alert" : "none", "reachable" : true, "on" : true }, "swversion" : "20190907-V102", "uniqueid" : "00:12:4b:00:1b:78:eb:c9-01", "lastseen" : "2020-09-08T19:43Z", "modelid" : "SA-003-Zigbee", "type" : "On\/Off plug-in unit", "name" : "On\/Off Wired Switch", "etag" : "1f8531fe3f7c40e7af0f60c545a613bc" }, "2" : { "manufacturername" : "Philips", "hascolor" : false, "lastannounced" : "2020-09-01T12:33:23Z", "state" : { "bri" : 86, "reachable" : true, "alert" : "none", "on" : false }, "swversion" : "1.15.2_r19181", "uniqueid" : "00:17:88:01:02:89:a3:d4-0b", "lastseen" : "2020-09-08T19:43Z", "modelid" : "LWB014", "type" : "Dimmable light", "name" : "Dad’s Nightstand Lamp", "etag" : "1e8ee7611a09ddfcbbfa331a966f1b6e" }, "5" : { "manufacturername" : "Philips", "hascolor" : false, "lastannounced" : "2020-09-06T10:21:15Z", "state" : { "bri" : 254, "reachable" : false, "alert" : "none", "on" : false }, "swversion" : "1.23.0_r20156", "uniqueid" : "00:17:88:01:03:4c:bd:2d-0b", "lastseen" : "2020-09-07T01:25Z", "modelid" : "LWB014", "type" : "Dimmable light", "name" : "Mom’s Nightstand Lamp", "etag" : "dd6662730b23e53025595171663e0187" } }

SwoopX commented 3 years ago

I'm afraid the list of sensors and lights does not correspond to your description of the issue. You don't have anything related to the device in the lists. From that perspective, I'd expect the device not to be paired correctly and I also wonder how you can determine if anything is missing when nothing is available. Your screenshot https://github.com/dresden-elektronik/deconz-rest-plugin/issues/3240#issuecomment-688510270 supports that assumption.

cbrightly commented 3 years ago

It appears the device is showing in the GUI but not the API? What could cause this?

On Sep 10, 2020, at 5:31 PM, SwoopX notifications@github.com wrote:

 I'm afraid the list of sensors and lights does not correspond to your description of the issue. You don't have anything related to the device in the lists. From that perspective, I'd expect the device not to be paired correctly and I also wonder how you can determine if anything is missing when nothing is available.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

ebaauw commented 3 years ago

See deCONZ for Dummies.

Typically all ZHA, ZLL, and Zigbee 3.0 devices devices appear in the GUI when they’ve joined the Zigbee network. The core also supports ZGP devices, but they’re not shown.

The API creates resources for supported device endpoints and clusters. The device needs to match the conditions for the resource to be created. For this, the gateway needs to read the device configuration. This takes multiple requests. When one of those requests goes unanswered, the process stalls. Unfortunately, this is not uncommon for battery-powered devices. Try manually reading the descriptors and the Basic cluster attributes, while the API is searching for new devices, and while forcing the device to be awake.

cbrightly commented 3 years ago

After trying that, curiously, it now shows up under sensors in the API after adding it as such through the web interface, but still does not show via the web interface at all. Here is the new addition to the /sensors output:

"19" : { "config" : { "offset" : 0, "schedule_on" : null, "heatsetpoint" : 2000, "on" : true, "battery" : null, "reachable" : true, "schedule" : {

  }
},
"manufacturername" : "Centralite",
"state" : {
  "lastupdated" : "2020-09-12T09:48:30.849",
  "temperature" : 2958,
  "on" : null
},
"uniqueid" : "00:0d:6f:00:0b:4d:0c:75-01-0201",
"ep" : 1,
"lastseen" : "2020-09-12T09:50Z",
"modelid" : "3157100",
"type" : "ZHAThermostat",
"name" : "3157100",
"etag" : "c6e9828351a4382cb08588192938fefc"

}

I hope this is of help! Thanks again for your help and time!

On Sep 12, 2020, at 4:00 AM, Erik Baauw notifications@github.com wrote:

 See deCONZ for Dummies.

Typically all ZHA, ZLL, and Zigbee 3.0 devices devices appear in the GUI when they’ve joined the Zigbee network. The core also supports ZGP devices, but they’re not shown.

The API creates resources for supported device endpoints and clusters. The device needs to match the conditions for the resource to be created. For this, the gateway needs to read the device configuration. This takes multiple requests. When one of those requests goes unanswered, the process stalls. Unfortunately, this is not uncommon for battery-powered devices. Try manually reading the descriptors and the Basic cluster attributes, while the API is searching for new devices, and while forcing the device to be awake.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

ebaauw commented 3 years ago

but still does not show via the web interface at all.

It needs to be supported by Phoscon before it shows there. Best open an issue in the Phoson repo, asking for support.

cbrightly commented 3 years ago

Thanks for the tip; are you referring to the beta app repo?

On Sat, Sep 12, 2020 at 6:32 AM Erik Baauw notifications@github.com wrote:

but still does not show via the web interface at all.

It needs to be supported by Phoscon before it shows there. Best open an issue in the Phoson repo, asking for support.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/dresden-elektronik/deconz-rest-plugin/issues/3240#issuecomment-691465367, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAREDHJLOOLMM5C4IYRCAYDSFNE4PANCNFSM4Q5ARTYQ .

SwoopX commented 3 years ago

@cbrightly Alright, this is looking better now. However, you'd still need to go through the attributes as mentioned here https://github.com/dresden-elektronik/deconz-rest-plugin/issues/3240#issuecomment-689078201 to gain a better understanding on what the device capabilities are.

Also, can you please verify if the device can handle on-device schedules? Just use the commands offered above the attributes to play with. I'm afraid we also need an updated screenshot of the fan control cluster as it seems the attributes have not been read.

It would significantly help, if you can compile a test version of the REST API plugin (and hopefully do not use HA) to get the device supported faster.

cbrightly commented 3 years ago

The unit doesn't appear to support on-device scheduling. I have attached the requested screenshots; thanks again! I do use HA, but have deConz running on a separate Raspberry Pi, if that is of assistance.image image image image image image image image image image image

SwoopX commented 3 years ago

@cbrightly Thanks for following up!

The unit doesn't appear to support on-device scheduling.

Have you tried setting some? Z2m indicates they might be able too support it.

So now, you need to help me with any missing features. I understood that you want/need the fan control cluster and settings to be exposed. Which other features (that means attributes) from the thermostat cluster do you want/need/does the device support? You can all try and set then via GUI.

stevewull commented 3 years ago

Jumping into the middle of your discussion. I can start a separate issue if you would like... I have the same thermostat and was working with SwoopX (issue #2630) before events forced me to abruptly put my project on hold.

I recently installed deConz version 2.05.81. The GUI detects my Pearl Thermostat. My cluster info looks the same as the screenshots posted by cbrightly. The device shows up in the API. Home Assistant's deConz integration detects it as a thermostat and can display the temperature. You made great progress!

Reviewing the Pearl's manual and picking up on SwoopX's last question about missing features. Starting with controlling using the deConz gui and hoping all controls will eventually be available in Home Assistant.

  1. The Pearl has four modes. Pressing MODE button cycles between them. GUI should be able turn on and off each mode a. HEAT b. COOL c. Emergency Heat (if 2nd-stage heat is available) not a priority for me d. OFF

  2. Independently, a FAN button toggles between two modes. GUI should be able to switch between them. a. Fan On Mode b. Fan Auto Mode

  3. The Setpoint temperature is controlled by a slider to increase and decrease. The GUI should be able to change the Setpoint temperature

  4. There is no evidence in the documentation or the user interface that the Pearl supports on-device scheduling. Setting schedules in the GUI (and Home Assistant) to control the Pearl is a high priority.

  5. A HOLD button enables a hold function that locks out all scheduled system changes, both internal schedules and external schedules from a controller. Turning the hold on and off from the GUI would be good to have.

  6. Pearl has various menu functions and options. The four that would be nice to control from the GUI are below. This is a low priority a. Minimum Heatpoint b. Maximum Heatpoint c. Minimum Coolpoint d. Maximum Coolpoint

stevewull commented 3 years ago

Note: I tested the Setpoint Raise/Lower function in the Thermostat cluster. This works!

stevewull commented 3 years ago

Setpoint raise/lower also works from Home Assistant

stevewull commented 3 years ago

I experimented with a few of the read/write attributes and succeeded in controlling the Thermostat for the following

Overall, it looks like control of the Thermostat using the cluster attributes works

cbrightly commented 3 years ago

@stevewull I'm glad that some progress has been made! After a bit of working with it I decided that as a 'smart' thermostat the Centralite Pearl wasn't particularly intelligent and have since returned it (strange timing, it was literally yesterday). Best of luck with getting the integration tightened up!

@SwoopX et. al. Thank you for your assistance!

SwoopX commented 3 years ago

@stevewull Many thanks! That's exactly what we need here and valuable input. The changes should make it to the next beta release the coming week.

stevewull commented 3 years ago

@SwoopX . Thank you.

Note also: There are two setpoints. HEATING and COOLING.

SwoopX commented 3 years ago

Got that, working on it anyway ;) You should also get the fan control. I'll probably skip Temperature setpoint hold for now as I got too many changes on the thermostats in the pipe.

SwoopX commented 3 years ago

Just a quick update: Haven't forgotten about that, but I need to wait for other PRs to be merged first before I can bring this one in.

stevewull commented 3 years ago

Thanks for the update.

apmon commented 3 years ago

Thanks for all of the hard work, and I am looking forward to seeing those changes as I have now finally gotten around to installing my centralite pearl thermostat that I had lying around for a while. I have it show up in the rest api and home assistant sees it (as far as it is currently implemented). However, one thing, that I am not sure has been mentioned yet (sorry, if I missed it in this long thread), is that I don't seem to get it to automatically update if things change on the thermostat side (e.g. current temperature). I.e. attribute reporting/polling doesn't currently work. If I manually read the cluster in deconz it does update, and does pass those updates through to home assistant.

SwoopX commented 3 years ago

https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/How-to...#manually-configure-attribute-reporting for thermostat cluster and the attributes of interest.

I currently planned to configure reporting for the attributes you can see in the screenshot: grafik

SwoopX commented 3 years ago

Closing this one as it is supported with version 2.06.00.

stevewull commented 3 years ago

Thank you!! Looking forward to the version 2.06.00 release.

xbmcnut commented 2 years ago

Thanks for all of the hard work, and I am looking forward to seeing those changes as I have now finally gotten around to installing my centralite pearl thermostat that I had lying around for a while. I have it show up in the rest api and home assistant sees it (as far as it is currently implemented). However, one thing, that I am not sure has been mentioned yet (sorry, if I missed it in this long thread), is that I don't seem to get it to automatically update if things change on the thermostat side (e.g. current temperature). I.e. attribute reporting/polling doesn't currently work. If I manually read the cluster in deconz it does update, and does pass those updates through to home assistant.

I too have these issues many years latter running deCONZ v2.14.1 under the Home Assistant add-on version 6.12.0. The guys on the forums asked me to post here and the full thread is https://forum.phoscon.de/t/centralite-pearl-3-thermostat-not-presenting-all-hvac-modes-in-home-assistant/1803/43

Now that I've added coolsetpoint using DDF and added 'off' as the default for mode, everything is working with the exception of mode commands from the physical controller to Home Assistant as noted by @apmon above.

If I send a mode control (heat/cool/off) or a temp setpoint from HA to the physical thermostat, everything is sent. If I send a setpoint back to HA from the physical controller that works too. If however I send a mode command (heat/cool/off) to HA, nothing is sent.

image

PS: I had to roll the deCONZ version in HA back from 6.13.0 with v2.15.3 as I was unable to change names and entity ID's for my Xiaomi multi sensors and it was also missing reporting of power consumption for my Xiaomi smart plugs. Note that all my testing defined in the forum thread was completed under 6.13.0 with deCONZ 2.15.3 that has added support for my specific 'E' variant of the Pearl thermostat.

Mimiix commented 2 years ago

Re-opened on request.

snel6424 commented 1 year ago

Not entirely related, but has anyone found the zigbee settings to allow external sensor temperature overrides? According to the docs, this is possible, but I have not been able to figure it out