I am trying to get all measurements and statuses from HA sensors/entities into Homekit, and need help ‘transforming’ some of them into something Homekit will accept.
I am using Blueriiot2mqtt to get measurements into HA (it uses mqtt). I am using the Homekit integration, and out of the box, the temperature entity will appear in Homekit. Other entities measurement things like pH or status (OK, Warning, Bad) will not appear.
Problem 1: I’ve succeded in getting a few of them over there (pH, conductivity, ORP), by simply changing ‘unit_of_measurement’ in Developer Tools → States to e.g. lx or C, as Homekit support those, and they will appear in Homekit as soon as I restart the Homekit service. So far so good. Unfortunately they will revert to their original unit_of_measurement when the device updates its measurement.
[UPDATE: Solved problem 1 by customizing unit_of_measurement in configuration.yaml using this:
homeassistant:
customize:
sensor.hot_tub_ph:
unit_of_measurement: °C
]
Problem no. 2: The Blueriiiot2mqtt also creates a ‘status’, so e.g. if the temperature is within certain limits it will report ‘OK’, otherwise ‘Warning’ or if it is totally off ‘Bad’. These are not accepted by Homekit, and I have not found an easy way to change its state in Developer tools to get it into Homekit.
I am looking for some method to get both types into Homekit. For the measurement it could be creating a dummy sensor that simply sets a value, but has a different unit of measurement, and for the status it could be a switch that turns on if the value is ‘warning’ or some other means. I am open to suggestions, and since I’m a noob at this - also guidance on how to accomplish that.
Just for reference, here are the state attributes for the pH measurement and the pH status:
state_class: measurement
pool_id: 4c3f2b78-6d22-40af-ad76-a224257c2269
min: 5
max: 10
okmin: 7
okmax: 7.6
warninglow: 6.6
warninghigh: 8.4
timestamp: '2022-06-06T12:59:55Z'
source: sigfox
states:
- ok
- warning
- bad
status: ok
unit_of_measurement: pH
friendly_name: Hot Tub pH
pool_id: 4c3f2b78-6d22-40af-ad76-a224257c2269
min: 5
max: 10
okmin: 7
okmax: 7.6
warninglow: 6.6
warninghigh: 8.4
timestamp: '2022-06-06T12:59:55Z'
source: sigfox
states:
- ok
- warning
- bad
friendly_name: Hot Tub pH status
I hope someone can help.