Sorry if this question has been asked before in a different way, but what I found on the forum I couldn't really understand.
I would like to capture a device variable and point it to a virtual device for it to then appear in HomeKit (via the built in HomeKit integration).
I have the new IKEA Vindstyrka air quality sensor. I am using KKOSSEV's driver. But the only thing that shows up in HomeKit is the temp and humidity. I am trying to get the Airqualityindex and PM25 to show up. Is this just a limitation of HomeKit or is there a custom app or custom rule that can handle this,
The way I was hoping to achieve this (with a different AQ sensor) was to mirror to a VirtualOmniSensor which would then be exposed to HomeKit - but that would require VirtualOmniSensor to be updated to support those capabilities.
So I did a test and created a Virtual Omni Sensor as a device. I did get it to show up in HomeKit with some but not all the variables with numeric values (ie, humidity, lux, temp). Expectedly power and energy did not show up.
I did go into the EVE app as sometimes variables show there that don't show in HomeKit. But to no avail.
So it would seem that while HomeKit may technical support those variables, There is no way to show them natively with this particular IKEA device and the custom driver used. Mapping the PM25 or AQI and representing it as an Illuminance sensor value is not ideal.
If by "variable" you mean "device attribute" (and really we are talking about device attributes that are linked to a documented driver capability) then there should be a way, at least for those capabilities (and related attributes) exposed by existing built-in drivers (e,g. CarbonDioxideMeasurement capability/carbonDioxide attribute, by VirtualOmniSensor) since they are not fundamentally different from those already mapped to HomeKit.
Correct. So in the case of the link you had sent to the Apple documentation previously, they call them "values" or HMCharacteristics". If what is listed in the in the hubitat driver device attribute, ie "airQualityIndex" or "pm25" can be mapped to the corresponding "value" or "HMCharacteristic" that HomeKit needs to be exposed to for it to show up natively in HomeKit.
I suspect that if I were using the new IKEA DIRIGERA hub this wouldn't be an issue by the very fact that it is HomeKit compatible so those values would automatically show up natively in HomeKit. Probably the same with AQARA Zigbee devices when tied to their hubs
No, the capabilities are static as per Hubitat restrictions, but are configurable at driver compile time.
… which reminds me to post just another request for adding Dynamic Capabilities and Dynamic Commands feature in Hubitat, although this has been already discussed and was determined to be a low value for money as the efforts from HE side will be too big.
HomeKit integration translates airQualityIndex maps to a handful of descriptive values, like Good, Fair, and Poor. Those are the constants Apple's implementation expects. It doesn't provide a way to pass an arbitrary number. I use the value mappings from AQI Basics | AirNow.gov.
There is no particulate matter in air quality sensor spec for HomeKit, as far as I could find anyway.
Well there is something in the docs for PM2.5 and PM10, in the Air Quality and Smoke Detection section... however I'm completely unfamiliar with the SDK so not sure if it applies...
Well. Perhaps this just puts a cork in it. I do appreciate all your efforts in looking into this.
If it helps though to provide any better insight, I have an Air purifier from a AirVersa. The device is HomeKit and thread compatible. It does show the following values.