Centralite Pearl Thermostat DTH (March 2019)

I just recently replaced my zwave thermostats with the Pearl Thermostats, and have been making changes to ST’s stock DTH for the way I want it to look and perform. I thought I’d share with the Community in case anyone else with these thermos would like to use it.

  • This has been tested and works with the ST Classic app, as well as the new app. The new app is having issues displaying the right scale for your Location, as well as modes for some reason. I’ll work on that over time, or perhaps it’s something the new app will fix on the backend.
  • This DTH (and ST’s) does not run local.
  • Operating states (idle, heating, cooling) are properly reflected.
  • Battery reports %
  • Fan mode is a toggle (like the original)
  • Modes are separate tiles, and will update the main tile when the thermo confirms the change.
  • Hold mode is included
  • Individual sliders for adjusting setpoints
  • Main tile displays current mode and operating state, as well as setpoint adjustments
  • The Configure tile properly binds the Zigbee clusters, and defines reporting for battery and operating state. It will automatically kick off a configuration when you install this DTH.

Work in progress : trying to determine how to properly capture/report power source (AC or batteries)

I’ll probably keep making a few tweaks, as well as work on making this work right with the new app. I’ll post updates to this discussion as updates are made.


1 Like

Thank you.

I have 2 Centalite t’stats and will try out your handler. Cheers!

1 Like

I have three of these thermostats. I’ll definitely give this handler a go. Do you happen to use Home Assistant as well?

Hi @jhartin, no I don’t sorry.

After loading the code into the Device handler im having an issue getting the Smart Things app to recognize it as a thermostat. It loads it as “thing” only with n o capabilities. Can someone let me know what the steps are and what i need to select in the app when pairing The Pearl?

  1. Do i pair first then load the Device Handler
  2. So i load DH first them pair? If yes then what option to i select?

I have 3 of these Pearls to load in. I know how to get the Pearl into pairing mode the issue is on the smartthings app

Any help would be greatly appreciated.

Thank you

Go back to the IDE and then go to your list of devices, and then edit the Thing you just added. Change the “Type” field to the name of the DTH you created (assuming you’ve saved published it ok). It’s pretty much that straight forward.

Please note, the handler looks a little different now compared to the picture I posted above.

Have you been able to successfully add your Pearl Thermostats?

Thanks for this! Working much better for me than the other device handlers I’ve found for the Pearl.

1 Like

I got it to report power source on mine by replacing your power source code with the same code from the zigbee thermostat code.

def getPowerSource(value) {
	def result = [name: "powerSource"]
	switch (value) {
		case "40000000":
			result.value = "battery"
			result.descriptionText = "${device.displayName} is powered by batteries"
			result.value = "mains"
			result.descriptionText = "${device.displayName} is connected to mains"
	return result

“Set Temperature” for cooling and heating is set to Celsius instead of Fahrenheit within the App, However “Current Temperature” shows as Fahrenheit. Is there any way to change this?

Which mobile app are you using, Classic or the new app? The DTH uses your location’s scale for temperature, like this:


I’m assuming yours is Celsius?

Screen Shot 2019-12-20 at 3.55.51 PM

No its set to Farenheit. I’ve been using the classic app, but I’m trying to migrate to the New app because Smartthings will be removing the Classic app from the app store by the end of this year.

Where did you hear that news?

In both Classic and the new app, I see the set temperatures and current temperatures correctly. I remember a while back the new app did have that problem, but I’m using my own DTH and I’m not having that problem. Are you using my device handler, or ST’s stock handler?

I am using yours. What is the most recent code? A smartthings representative told me.

Here’s the most current version, which is the one I’m using:


Should look like this:

You may need to go into the IDE and switch to a stock dth, open the properties in the Classic app and tap on Save without changing anything. Repeat that again after switching back to mine.

its still showing as Celsius.

Odd, try something? In the IDE, start Live Logging. In the Classic app, tap on the Power Source tile. That forces Configuration, and you should see something like this in live logging:


If that doesn’t help, you may need to exclude the device and rediscover it. I know that’s a pain, but I’m not sure why you’re still seeing things in Celsius.

Okay, I think that fixed it. The only other thing I’m noticing in the new App is that in automations the set temperature setting shows up twice for heating and cooling.

All your settings are showing up twice, and that’s definitely not right. It should look like this:

When you look at the details for your thermostat in the IDE, does it look like this, or do you see duplicates here too under Current States?: (you should not)

it looks normal.

although my battery is showing 133 percent.