Question about OH3, Homekit, and a Temp Sensor

Good afternoon.

Running OH3 (under OpenHabian), and after having some issues migrating from 2.x to 3.x, I’m just now starting to dig into the new structure for HomeKit metadata associations.

Back on OH2, it was done with Tags, and sadly, with the upgrade to 3, that didn’t convert/carryover to Homekit in OH3, which wiped out all the HomeKit items, needing them to be manually re-added.

Once the metadata is added, they do populate again in HomeKit, but in the default room, so they still have to be manually moved and all automation/scene rules completely rebuilt.

In doing so, I discovered an oddity. We had a pool temp sensor (in OH2, the tag used was “CurrentTemperature”). In OH3, I’ve added the HomeKit metadata of “TemperatureSensor.CurrentTemperature”, as that seems the most logical match to the original.

Indeed, it now appears, but in OH2, this appeared as Fahrenheit. Now, in OH3, it’s showing as Celsius. On OH’s web portal the pool temp sensor shows 92 (as Fahrenheit is coming from the Omni alarm panel, which is the temp source), but in HomeKit, it’s showing 38 degrees. Still trying to understand the “config” options for a given HomeKit metadata item. Is there something I can add to the “code” section of that metadata that would make it force Fahrenheit? The system-wide option of UseFahrenheit is active but hasn’t seemed to have any affect on this figure.


What type of Item have you linked this to? OH3 bindings make more extensive use of Quantity types, where the user gets to choose display units etc. The source units don’t matter much.

Have you tried to set the „Use Fahrenheit Temperature“ to active in the HomeKit integration settings?

This is the OmniLink Binding (HAI/Leviton Omni automation panel). v3.1.0
I’ve noticed the list of HomeKit options are far superior to the older OH2 options. I was pleased to see some actual security components - I might actually be able to do something with a virtual keypad for setting the alarm, so that’s exciting. :slight_smile:

In terms of OH Item, it’s the original one that was built (from the upgrade) - that didn’t change, but it’s showing as:
Name: omnilink_temp_sensor_3adef24e_31_temperature
Label: Pool Water Temperature
Type: Number
Category: Temperature
Semantic Class: None

I did change it to a type of: Number:Temperature, which just changed the display in OH to now add “F” at the end, but no change in HomeKit.

If you’re talking about the Global Homekit Option - yes, that’s already active. I even turned it off (save) then back on (save again), since that setting was actually part OH2 config that carried over.

You may then change your Item state presentation options to get display in °C with auto conversion.

No, this way is internal to openHAB. As said, for this purpose it doesn’t matter what Homekit supplies, we can convert within OH.

You may wish to set the Homekit end as advised by @dirkdirk

The preferred display for us is F, and OH’s web portal is showing F, but ever since OH3, what HomeKit is receiving is now Celsius. The global option in HomeKit is set to display as F, so I’m not sure what you mean…

Okeydoke, what is your Number:Temperature Item state getting set to? Consult your events.log so that you are not looking at a possibly converted display.