Home assistant don’t get correct unit, this resolves in it not showing up in homekit.
As an example, this is the same for all location where unit is missing ° sign.
Current implementation, not working, "C"},
is the intresseting part
void MiJiaDiscovery(char* mac) {
# define MiJiaparametersCount 5
Log.trace(F("MiJiaDiscovery" CR));
char* MiJiasensor[MiJiaparametersCount][8] = {
{"sensor", "MiJia-batt", mac, "battery", jsonBatt, "", "", "%"},
{"sensor", "MiJia-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
{"sensor", "MiJia-tempc", mac, "temperature", jsonTempc, "", "", "C"},
{"sensor", "MiJia-tempf", mac, "temperature", jsonTempf, "", "", "F"},
{"sensor", "MiJia-hum", mac, "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
createDiscoveryFromList(mac, MiJiasensor, MiJiaparametersCount);
}
Tested to replace "C"},
with "°C"},
(and "F"},
with "°F"},
and now it works flawless
void MiJiaDiscovery(char* mac) {
# define MiJiaparametersCount 5
Log.trace(F("MiJiaDiscovery" CR));
char* MiJiasensor[MiJiaparametersCount][8] = {
{"sensor", "MiJia-batt", mac, "battery", jsonBatt, "", "", "%"},
{"sensor", "MiJia-tem", mac, "temperature", jsonTempc, "", "", "°C"}, // remove for 0.9.6 release
{"sensor", "MiJia-tempc", mac, "temperature", jsonTempc, "", "", "°C"},
{"sensor", "MiJia-tempf", mac, "temperature", jsonTempf, "", "", "°F"},
{"sensor", "MiJia-hum", mac, "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
Was thinking of doing a PR, but not sure if this will break some other integration.