# MQTT Temp device randomly flips between C/F

**URL:** <https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657>\
**Category:** Devices\
**Created:** [May 8, 2026, 2:25pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657 "2026-05-08T14:25:56Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Scott\_Muckleroy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scott_muckleroy/32/121766_2.png) [@Scott\_Muckleroy](https://community.homey.app/u/Scott_Muckleroy)\
**Post date:** [May 8, 2026, 2:25pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/1 "2026-05-08T14:25:56Z")

</div>

I have a weather station that publishes temp data to a MQTT Broker that this Homey device pulls the temp from. The phone and web app randomly switches from thinking that the temp/number pulled is F to C. Later it will switch to displaying the correct value. Pretty sure it isn’t 122 degrees here in the PNW. 🙂 Has anyone else seen this behavior or have any suggestions? Thanks!

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/5/2533c16fcbc7a392037ca652968e8087d0a337e0.png)

Here is the topic for the MQTT Temp device:

{  
“measure\_temperature”: {  
“capability”: “measure\_temperature”,  
“stateTopic”: “weather/outTemp\_F”,  
“unit\_of\_measurement”: “°F”,  
“units”:“°F”,  
“setTopic”: “”,  
“valueTemplate”: “”,  
“outputTemplate”: “”,  
“displayName”: “Temperature”  
}  
}

---

<div class="post-metadata">

**Author:** ![smarthomesven](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/smarthomesven/32/79712_2.png) [@smarthomesven](https://community.homey.app/u/smarthomesven)\
**Post date:** [May 8, 2026, 2:41pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/2 "2026-05-08T14:41:51Z")

</div>

Every app provides temperature data in ºC, and Homey automatically converts it to ºF based on your location. Is your location set correctly in More-\>Settings-\>Location?

---

<div class="post-metadata">

**Author:** ![Scott\_Muckleroy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scott_muckleroy/32/121766_2.png) [@Scott\_Muckleroy](https://community.homey.app/u/Scott_Muckleroy)\
**Post date:** [May 8, 2026, 3:29pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/3 "2026-05-08T15:29:28Z")

</div>

Yes, there is a Pin on my house under location and timezone is set to Los\_Angeles.

---

<div class="post-metadata">

**Author:** ![Scott\_Muckleroy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scott_muckleroy/32/121766_2.png) [@Scott\_Muckleroy](https://community.homey.app/u/Scott_Muckleroy)\
**Post date:** [May 8, 2026, 3:32pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/4 "2026-05-08T15:32:21Z")

</div>

I just reopened Homey on my Pixel phone and it displayed ~51 degrees and now it is showing 125 degrees.

---

<div class="post-metadata">

**Author:** ![Scott\_Muckleroy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scott_muckleroy/32/121766_2.png) [@Scott\_Muckleroy](https://community.homey.app/u/Scott_Muckleroy)\
**Post date:** [May 8, 2026, 3:35pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/5 "2026-05-08T15:35:11Z")

</div>

I forgot to mention that if I open Insights for the temp, the graph is correct and doesn’t have any spikes into the 100’s of degrees. It has also never displayed the incorrect temperature at the top of the Home page where it says “Good Morning, Scott!” and the temp and weather conditions. The random issue happens when connecting to the local SHS address using admin account and my.homey.app (on local network and on cellular/remote).

---

<div class="post-metadata">

**Author:** ![Scott\_Muckleroy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scott_muckleroy/32/121766_2.png) [@Scott\_Muckleroy](https://community.homey.app/u/Scott_Muckleroy)\
**Post date:** [May 8, 2026, 3:54pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/6 "2026-05-08T15:54:14Z")

</div>

Home Assistant has been subscribed to the same Temp MQTT Broker topic for years and has never converted the temp to C so I don’t think there are any issues on the Broker/MQTT side.

---

<div class="post-metadata">

**Author:** ![smarthomesven](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/smarthomesven/32/79712_2.png) [@smarthomesven](https://community.homey.app/u/smarthomesven)\
**Post date:** [May 8, 2026, 4:04pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/7 "2026-05-08T16:04:23Z")

</div>

It’s not an issue with the device sending the data, since temperatures are always provided by the apps in ºC, after which Homey converts it automatically to ºC or ºF, depending on your location.

You should contact Athom:

> **[Support | Homey](https://homey.app/en-us/support/)**

---

<div class="post-metadata">

**Author:** ![s73nm](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/s73nm/32/110438_2.png) [@s73nm](https://community.homey.app/u/s73nm)\
**Post date:** [May 8, 2026, 5:51pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/8 "2026-05-08T17:51:40Z")

</div>

> [@Scott\_Muckleroy](#):
>
> ~51 degrees and now it is showing 125 degrees.

51ºF is not 125ºC

51ºF is actually 10.6ºC

But 51ºC is 123.8 ºF

As stated

> [@smarthomesven](#):
>
> Every app provides temperature data in ºC, and Homey automatically converts it to ºF based on your location.

It looks like Homey is receiving the temperature in ºF but expecting/interpreting it as ºC, and converting it to ºF.

Is it possible that something changed to the MQTT topic being written?

---

<div class="post-metadata">

**Author:** ![Scott\_Muckleroy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scott_muckleroy/32/121766_2.png) [@Scott\_Muckleroy](https://community.homey.app/u/Scott_Muckleroy)\
**Post date:** [May 8, 2026, 7:00pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/9 "2026-05-08T19:00:53Z")

</div>

Correct. Homey receives F, thinks it is C and converts it. I don’t think it is anything on the MQTT side because Home Assistant has never done this, data being published to the broker hasn’t changed, and this is a screen shot showing the temp directly from the Broker. I left the app open on my phone and it went from displaying the correct temp to incorrect temp (120+) and back to correct over the course of about 10 minutes.

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/3/937d0537849277b53643211dc3e8d0ae9cf00cf0.png)

---

<div class="post-metadata">

**Author:** ![Scott\_Muckleroy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scott_muckleroy/32/121766_2.png) [@Scott\_Muckleroy](https://community.homey.app/u/Scott_Muckleroy)\
**Post date:** [May 8, 2026, 7:19pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/10 "2026-05-08T19:19:30Z")

</div>

I think I just figured something out. The temp display in Homey switches to 100+ degrees when the Homey MQTT Temp device gets an updated temperature from the Broker. If I then do a Web page refresh the temperature reverts to the correct temp. Another clue to the root cause; if Broker receives exact same temperature, the temperature in Homey doesn’t switch to the 100+ degree temp. But if there is a temperature change Homey will display the incorrect temp until the page is refreshed.

---

<div class="post-metadata">

**Author:** ![Scott\_Muckleroy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scott_muckleroy/32/121766_2.png) [@Scott\_Muckleroy](https://community.homey.app/u/Scott_Muckleroy)\
**Post date:** [May 12, 2026, 5:24pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/11 "2026-05-12T17:24:36Z")

</div>

Homey Support says that it is an issue with the MQTT Hub App so I am going to contact them.

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [May 12, 2026, 7:06pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/12 "2026-05-12T19:06:30Z")

</div>

Hey, just to report the solution also in the forum 🙂

> <https://github.com/RonnyWinkler/homey.mqtthub/issues/20>
>
> 1. Homey version: 13.1.5, MQTT Hub version: 4.5.4 
> 2. MQTT Client provides the c…onnection to the EMQX MQTT Broker, MQTT Hub is what creates the Homey Device/Sensor.
> 3. Homey displays the incorrect temp(eg. 45F changed to 113F in the Homey apps) happens any time the mqtt broker receives a temperature that has changed (ex. 45.2 to 45.3) so pretty much all the time the incorrect temp is displayed.
> 4. Homey Support indicated that it was a bug/issue with MQTT Hub app and not Homey.

---

<div class="post-metadata">

**Author:** ![Scott\_Muckleroy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scott_muckleroy/32/121766_2.png) [@Scott\_Muckleroy](https://community.homey.app/u/Scott_Muckleroy)\
**Post date:** [May 13, 2026, 12:07am UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/13 "2026-05-13T00:07:26Z")

</div>

I added the conversion code and now if the web page is refreshed or the app is opened on my phone the temperature (in F) has been converted to C. If the broker receives an updated temperature the temperature will revert to being displayed correctly. The MQTT Broker receives the temp in F.

Here is the device config:  
{  
“measure\_temperature”: {  
“capability”: “measure\_temperature”,  
“stateTopic”: “weather/outTemp\_F”,  
“unit\_of\_measurement”: “°F”,  
“units”:“°F”,  
“setTopic”: “”,  
“valueTemplate”: “(topic) =\> { return ((topic.value - 32) \* 5/9) }”,  
“outputTemplate”: “”,  
“displayName”: “Temperature”  
}  
}

Attached are two images of the device.

> **(attachments)**
>
> ![Correct temp.jpg](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/5/55c5b6b17b369a1cd8fb4ab0fd36537c0293b7c2.jpeg)  
> ![IncorrectTempwhenpage openedorrefreshed.jpg](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/e/7e8283854c10bc4d853831ea516e6dc366c9562c.jpeg)  
> ![MQTTBrokerData.jpg](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/9/a9cafc033cf3108393984c21b377a6803419cbb9.jpeg)

---

<div class="post-metadata">

**Author:** ![Scott\_Muckleroy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scott_muckleroy/32/121766_2.png) [@Scott\_Muckleroy](https://community.homey.app/u/Scott_Muckleroy)\
**Post date:** [May 13, 2026, 12:15am UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/14 "2026-05-13T00:15:59Z")

</div>

And it causes a new issue. The temp recorded in Homey Insights for the temperature device is now in C not F. The Insights data had always been correct until adding the conversion to the temperature device.

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/d/4/d4cd27076944e7c670fd2eed79c4089ea4a6e608.png)

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [May 18, 2026, 4:18am UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/15 "2026-05-18T04:18:00Z")

</div>

I asked on Slack if it’s possible to show insights in °F. I got no answer yet. But I also haven’t found anything I can control from the app.

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [May 18, 2026, 4:30am UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/16 "2026-05-18T04:30:35Z")

</div>

The handling of temperatures, much like times, is a bit of a dumpster fire on Homey 🙄

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [May 18, 2026, 4:09pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/17 "2026-05-18T16:09:42Z")

</div>

I got an answer how Homey is doing the Geo specific conversion.

A capability with unit °F and a value in °F will be displayes without conversion as °F  
A capability with unit °C and value in °C will be converted to °F and also displayed with °F as unit in the GUI

That means, you can now change the unit in your device settings to °F. Can you please check if that works?

---

<div class="post-metadata">

**Author:** ![Scott\_Muckleroy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scott_muckleroy/32/121766_2.png) [@Scott\_Muckleroy](https://community.homey.app/u/Scott_Muckleroy)\
**Post date:** [May 18, 2026, 4:40pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/18 "2026-05-18T16:40:31Z")

</div>

This is the current setting for the temp device(and it does not work. FYI, the weather station is updating the MQTT broker with the temperature in F.

{  
“measure\_temperature”: {  
“capability”: “measure\_temperature”,  
“stateTopic”: “weather/outTemp\_F”,  
“units”:“°F”,  
“setTopic”: “”,  
“outputTemplate”: “”,  
“displayName”: “Temperature”  
}  
}

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [May 18, 2026, 4:54pm UTC](https://community.homey.app/t/mqtt-temp-device-randomly-flips-between-c-f/154657/19 "2026-05-18T16:54:17Z")

</div>

ok, so far so bad.

And the opposite? Unit = °C and value in °C?
