Having trouble with Centralite Pearl Thermostat and Hubitat (Solved)

I am in the process of changing from SmartThings to Hubitat. I have been experimenting with SharpTools and Hubitat and have everything working except for my thermostat. It works in my Hubitat Devices. In SharpTools, it will only switch from off to cool or heat and back to off. It does not seem to adjust the temp. It does not show the current temperature. Any thoughts?

Thanks for posting and trying SharpTools with Hubitat! Which driver is the thermostat using?

I tried it with two different drivers. I had used the default Hubitat thermostat driver (I don’t have the name in front of me right this second) and had used the one that I found on this page… this is the one I have installed now.

Thanks. I’m taking a look at the driver code now. The tile expects the device driver to fully implement the Thermostat capabilities (including a number of attributes and methods).

Can you post a screenshot of the device details from SharpTools?

  1. Open your user page
  2. Tap the ... next to your Hubitat location
  3. Tap the device name in the list of devices
  4. Share a screenshot of the device details

From a quick review, it looks like the main issue is the thermostatSetpoint attribute needs to be set. When using the single-height thermostat, this is the primary value which is used in the display and control of the device.

Looking at the driver, it looks like the heatingSetpoint and coolingSetpoint are each set, but the generic thermostatSetpoint is not being updated.

I’m happy to post to the thread you linked to and see if we can get Denise to make a tweak to the driver. I think it would be as simple as something like injecting another event for the thermostat setpoint around line 213. Something like:

    if (map) {
        result = createEvent(map)
        if(map.name == "coolingSetpoint" || map.name == "heatingSetpoint"){
            result = [result, createEvent(name: "thermostatSetpoint", value: map.value, unit: map.unit)]

Alternatively, you could try changing the thermostat layout to use the Double Height Thermostat layout.

  1. Open your dashboard in edit mode
  2. Tap the ... in the top-right corner of the tile and choose Change Layout
  3. Select Double Height Thermostat

Here’s a reference to the Thermostat capability:


Thanks for sharing the screenshot. Did you just recently change the thermostat to that device driver in Hubitat? It looks like only the thermostatMode attribute is currently set. What do you see in your Hubitat admin UI?

You may need to manually run the configure and/or refresh action from the HE admin UI if you recently changed the thermostat driver over… usually that will get a device to report-in and should get the attribute values to properly populate.

Either way, the solution for adjusting the temperature would be to either make modifications to the driver so the thermostatSetpoint gets set (or use a driver which implements that attribute) or you could use the double height thermostat tile. :slight_smile:

Josh, first, thanks for the speedy replies.

I would like to take you up on contacting Denise in that thread. I am afraid she would ask me a more detailed question and…um…my programming experience plateaued with visual basic over 10 years ago.

I inserted the code and made it a double height tile and I don’t see any difference. Would I need to put the line “// thermostatSetpoint” near the top of the code to set a variable for the event? Or is this implied?

1 Like

I will give that a try this evening when I get away from work. I have not updated or reset the the HE admin UI.

1 Like

It’s implied by the device implementing the thermostat capability. But the device has to report the attribute at least once before the ‘state’ (eg. value) will be set. Usually this is done during device discovery, but sometimes if a custom driver is needed, you’ll either need to manually use the refresh/configure option in the Hubitat admin UI or manually control the device to get it to report in the desired values. :slight_smile:

FYI. I replied over in the thread you linked to on the HE community.

1 Like

OK Josh…don’t kill me. I ended up removing and re-initiating the thermostat, chose the default driver and it works like a charm. Apparently it didn’t register completely when I added the thermostat device. It works no matter if the tile is in the single height or in the double height mode. So it was an end-user problem and not a programming issue.

1 Like

Thanks for the update! Denise, developer of the custom driver you were using, suggested using the built in driver as well so I’m glad that worked for you!

The dashboard looks great! Thanks for sharing the screenshot. :+1: