deconz-rest-plugin icon indicating copy to clipboard operation
deconz-rest-plugin copied to clipboard

Centralite Pearl Support

Open cbrightly opened this issue 5 years ago • 36 comments

Device

  • Product name: Centralite Pearl Zigbee Thermostat
  • Manufacturer: Centralite
  • Model identifier: 3157100
  • Device type:
    • Thermostat

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

cbrightly avatar Sep 06 '20 22:09 cbrightly

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

Mimiix avatar Sep 07 '20 05:09 Mimiix

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

cbrightly avatar Sep 07 '20 21:09 cbrightly

@cbrightly Yes, but also the clusters being read 😄

Mimiix avatar Sep 08 '20 06:09 Mimiix

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?

cbrightly avatar Sep 08 '20 06:09 cbrightly

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.

Mimiix avatar Sep 08 '20 06:09 Mimiix

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

cbrightly avatar Sep 08 '20 06:09 cbrightly

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

Mimiix avatar Sep 08 '20 06:09 Mimiix

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 avatar Sep 08 '20 10:09 SwoopX

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...

SwoopX avatar Sep 08 '20 19:09 SwoopX

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" } }

cbrightly avatar Sep 08 '20 19:09 cbrightly

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.

SwoopX avatar Sep 10 '20 21:09 SwoopX

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 [email protected] 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.

cbrightly avatar Sep 12 '20 01:09 cbrightly

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.

ebaauw avatar Sep 12 '20 08:09 ebaauw

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 [email protected] 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.

cbrightly avatar Sep 12 '20 09:09 cbrightly

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.

ebaauw avatar Sep 12 '20 10:09 ebaauw

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

On Sat, Sep 12, 2020 at 6:32 AM Erik Baauw [email protected] 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 .

cbrightly avatar Sep 12 '20 10:09 cbrightly

@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.

SwoopX avatar Sep 13 '20 19:09 SwoopX

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

cbrightly avatar Sep 15 '20 11:09 cbrightly

@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.

SwoopX avatar Sep 17 '20 19:09 SwoopX

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 avatar Oct 08 '20 00:10 stevewull

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

stevewull avatar Oct 08 '20 00:10 stevewull

Setpoint raise/lower also works from Home Assistant

stevewull avatar Oct 08 '20 00:10 stevewull

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

  • Fan Mode: Set to Auto or On

  • System Mode: Set to OFF, COOL, HEAT, Emergency Heating, fan only

  • Temperature setpoint hold: Turn on and off

  • Occupied Cooling setpoint: can write a specific temperature

  • Occupied Heating Setpoint: can write a specific temperature

  • Presumably min/max heat and cool setpoint limits also work

  • The setpoint raise/lower command works for both the Heat and Cool setpoints

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

stevewull avatar Oct 08 '20 20:10 stevewull

@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!

cbrightly avatar Oct 09 '20 17:10 cbrightly

@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.

SwoopX avatar Oct 09 '20 19:10 SwoopX

@SwoopX . Thank you.

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

stevewull avatar Oct 09 '20 19:10 stevewull

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 avatar Oct 09 '20 19:10 SwoopX

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.

SwoopX avatar Oct 24 '20 22:10 SwoopX

Thanks for the update.

stevewull avatar Oct 26 '20 04:10 stevewull

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.

apmon avatar Nov 04 '20 15:11 apmon