Thermostat in °F but parts of HA show a °C numeric value with °F next to value

About 3 months ago I noticed this odd reporting but had hopes this would be fixed in an update but still seeing the incorrect value. I can set the temp in °F and that is working as normal but my HA dashboard is still showing up incorrect for current value but the sensor reported value is correct. Both of my thermostats are doing the same thing. Both are the same and they have been working great for almost 2 years without any problems.

Any ideas what to do?

The problem is that the thermostat reports temperature in C, but HA thinks it should be F. This problem has always existed and is not new, but you may be seeing it more often due to recent changes in the Z-Wave JS driver. The driver will now automatically queries sensor values every 6 hours if they are stale. I am assuming you are hitting this scenario. When no temperature scale (C or F) is set, this device seems to report temperatures in C. I would suggest submitting an issue to HA as previous ones went stale and were unresolved. This is ultimately a bug in the Z-Wave integration, but can be worked around via various methods.

Method 1: If you are using Z-Wave JS UI, set the preferred temperature scale to F in the settings. This will prevent the C temperature readings.


Method 2: If you are using the official Z-Wave JS add-on, then switch to the Z-Wave JS UI add-on and go to solution 1. The official add-on, and HA, do not support setting preferred scales.

Method 3: You can refresh the temperature value manually with an automation in HA. Example service call is posted here: Refresh it on a schedule, less than every 6 hours. This will force a temperature report in F, and prevent the driver from auto-refreshing.

Thanks for your explanation, and I agree that this must be better reported in an issue as the previous ones have not resolved the problem.
Your work around is effective until there is a reboot of HA. I am using Z-Wave2MQTT. After reboot the HA UI displays the temp as C. I can check the device in the Z-Wave JS UI and it is still set to F. In order to get the proper display in the HA UI, I change the “Temperature Scale” setting to Celsius, save it, and then change it back to Fahrenheit and save again. At that point the HA UI displays the temperature in F.
Doing the same thing in the HA UI device MQTT settings does not correct the UI display.
I’ll try out using a service call like you linked to and if it works I’ll call it after a system start.

Sorry, I’m not quite following everything.

You said you’re using both ZWave2MQTT and Z-Wave JS UI. Do you just mean Z-Wave JS UI (where does ZWave2MQTT come into play?)

What are the “HA UI device MQTT settings”? The service call posted is for the Z-Wave integration, no MQTT is involved.

You don’t need to toggle the scale either setting either, just leave it as F. Click the “Refresh” button next to the Multilevel Sensor CC panel, or use the service call posted above, to refresh the temperature value with the configured scale.

Apologies. I meant to say ZWaveJS2MQTT. The Z-Wave JS UI is required for setting up ZWaveJS2MQTT.
“HA UI device MQTT” settings - go to the Devices page, select the specific device and for an MQTT device, in the left hand column under Device Options, there is a configure option which mimics Z-Wave JS UI “Node - Configuration”. Like I said, toggling it there does not help

I’ve created the script and will test it as soon as the display switches to C.

What is “Multilevel Sensor CC panel”?

Getting off topic, but there is some clarifications needed here.

ZWaveJS2MQTT was the old name of the project. It no longer exists. The name was changed to Z-Wave JS UI, so that’s what you’re using.

The screenshot shows the HA device page, which is using the Z-Wave integration. That has nothing to do with MQTT. Z-Wave JS UI is providing the API access to the driver.

Yes, these are basically the same thing, but these are configuration parameters for the device and not related to the Z-Wave JS UI settings page. I was not suggesting changing config parameters, but setting the preferred scale to F, which is in the Z-Wave JS UI Z-Wave settings.

What is “Multilevel Sensor CC panel”?

It’s in the Z-Wave JS UI control panel, for the thermostat it contains the temp and humidity values.

Slight correction - it is in the Z-Wave JS UI “Configuration V4” settings section. (At least on my install.)

Just as a BTW and “really, really, really” off topic; due to the frequency and number of name changes for things related to Home Assistant over the last several years, I’ve totally lost track. Frustrating, as in this case, we were talking about the same thing, but I wasn’t using the most recent name… This is a hobby for me and if it were a more important part of my life, I might be more interested keeping up.

And thanks for your patience at keeping me current…

No… the preferred scales setting, which is what I’ve been referring to (even included a screenshot) is in the Z-Wave JS settings page. Here’s another screenshot:

You are referring to a device configuration parameter, which is not the same thing. I don’t know what the “Temperature Scale” device setting does for this Honeywell, but it seems to have little effect. You need to set the preferred scales setting in the Z-Wave JS UI Z-Wave settings page.

I’m having the exact same issue. but I do not understand how to get to the setting to fix it. I’m using Z-Wave JS UI 3.0.0 and Z-Wave JS version: 0.2.1. I don’t see this option anywhere.

I found the setting in the configure for device. It was already set to F, but I rocked it to C then F and it works now.