update temperature unit to work in HA (#768)

* update temperature unit to work in HA
* use only one temperature sensor for HA
This commit is contained in:
orrpan authored and GitHub committed 2020-10-04 14:56:34 -05:00
1 parent 7cd1e9a1ab
commit 03ab7f7d0e
3 files changed
+31 -63

No files matched your search

+22 -41
View File
@@ -183,13 +183,11 @@ void strupp(char* beg) {
# ifdef ZmqttDiscovery
void MiFloraDiscovery(char* mac) {
# define MiFloraparametersCount 6
# define MiFloraparametersCount 4
Log.trace(F("MiFloraDiscovery" CR));
char* MiFlorasensor[MiFloraparametersCount][8] = {
{"sensor", "MiFlora-lux", mac, "illuminance", jsonLux, "", "", "lx"},
{"sensor", "MiFlora-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
{"sensor", "MiFlora-tempc", mac, "temperature", jsonTempc, "", "", "C"},
{"sensor", "MiFlora-tempf", mac, "temperature", jsonTempf, "", "", "F"},
{"sensor", "MiFlora-temp", mac, "temperature", jsonTempc, "", "", "°C"},
{"sensor", "MiFlora-fer", mac, "", jsonFer, "", "", "µS/cm"},
{"sensor", "MiFlora-moi", mac, "", jsonMoi, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
@@ -199,13 +197,11 @@ void MiFloraDiscovery(char* mac) {
}
void VegTrugDiscovery(char* mac) {
# define VegTrugparametersCount 6
# define VegTrugparametersCount 4
Log.trace(F("VegTrugDiscovery" CR));
char* VegTrugsensor[VegTrugparametersCount][8] = {
{"sensor", "VegTrug-lux", mac, "illuminance", jsonLux, "", "", "lx"},
{"sensor", "VegTrug-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
{"sensor", "VegTrug-tempc", mac, "temperature", jsonTempc, "", "", "C"},
{"sensor", "VegTrug-tempf", mac, "temperature", jsonTempf, "", "", "F"},
{"sensor", "VegTrug-temp", mac, "temperature", jsonTempc, "", "", "°C"},
{"sensor", "VegTrug-fer", mac, "", jsonFer, "", "", "µS/cm"},
{"sensor", "VegTrug-moi", mac, "", jsonMoi, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
@@ -215,13 +211,11 @@ void VegTrugDiscovery(char* mac) {
}
void MiJiaDiscovery(char* mac) {
# define MiJiaparametersCount 5
# define MiJiaparametersCount 3
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-temp", mac, "temperature", jsonTempc, "", "", "°C"},
{"sensor", "MiJia-hum", mac, "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
@@ -230,12 +224,11 @@ void MiJiaDiscovery(char* mac) {
}
void FormalDiscovery(char* mac) {
# define FormalparametersCount 5
# define FormalparametersCount 4
Log.trace(F("FormalDiscovery" CR));
char* Formalsensor[FormalparametersCount][8] = {
{"sensor", "Formal-batt", mac, "battery", jsonBatt, "", "", "%"},
{"sensor", "Formal-tempc", mac, "temperature", jsonTempc, "", "", "C"},
{"sensor", "Formal-tempf", mac, "temperature", jsonTempf, "", "", "F"},
{"sensor", "Formal-temp", mac, "temperature", jsonTempc, "", "", "°C"},
{"sensor", "Formal-hum", mac, "humidity", jsonHum, "", "", "%"},
{"sensor", "Formal-for", mac, "formaldehyde", jsonFor, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
@@ -245,13 +238,11 @@ void FormalDiscovery(char* mac) {
}
void LYWSD02Discovery(char* mac) {
# define LYWSD02parametersCount 5
# define LYWSD02parametersCount 3
Log.trace(F("LYWSD02Discovery" CR));
char* LYWSD02sensor[LYWSD02parametersCount][8] = {
{"sensor", "LYWSD02-batt", mac, "battery", jsonBatt, "", "", "V"},
{"sensor", "LYWSD02-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
{"sensor", "LYWSD02-tempc", mac, "temperature", jsonTempc, "", "", "C"},
{"sensor", "LYWSD02-tempf", mac, "temperature", jsonTempf, "", "", "F"},
{"sensor", "LYWSD02-temp", mac, "temperature", jsonTempc, "", "", "°C"},
{"sensor", "LYWSD02-hum", mac, "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
@@ -260,13 +251,11 @@ void LYWSD02Discovery(char* mac) {
}
void CLEARGRASSTRHDiscovery(char* mac) {
# define CLEARGRASSTRHparametersCount 5
# define CLEARGRASSTRHparametersCount 3
Log.trace(F("CLEARGRASSTRHDiscovery" CR));
char* CLEARGRASSTRHsensor[CLEARGRASSTRHparametersCount][8] = {
{"sensor", "CLEARGRASSTRH-batt", mac, "battery", jsonBatt, "", "", "V"},
{"sensor", "CLEARGRASSTRH-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
{"sensor", "CLEARGRASSTRH-tempc", mac, "temperature", jsonTempc, "", "", "C"},
{"sensor", "CLEARGRASSTRH-tempf", mac, "temperature", jsonTempf, "", "", "F"},
{"sensor", "CLEARGRASSTRH-temp", mac, "temperature", jsonTempc, "", "", "°C"},
{"sensor", "CLEARGRASSTRH-hum", mac, "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
@@ -275,13 +264,11 @@ void CLEARGRASSTRHDiscovery(char* mac) {
}
void CLEARGRASSCGD1Discovery(char* mac) {
# define CLEARGRASSCGD1parametersCount 5
# define CLEARGRASSCGD1parametersCount 3
Log.trace(F("CLEARGRASSCGD1Discovery" CR));
char* CLEARGRASSCGD1sensor[CLEARGRASSCGD1parametersCount][8] = {
{"sensor", "CLEARGRASSCGD1-batt", mac, "battery", jsonBatt, "", "", "V"},
{"sensor", "CLEARGRASSCGD1-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
{"sensor", "CLEARGRASSCGD1-tempc", mac, "temperature", jsonTempc, "", "", "C"},
{"sensor", "CLEARGRASSCGD1-tempf", mac, "temperature", jsonTempf, "", "", "F"},
{"sensor", "CLEARGRASSCGD1-temp", mac, "temperature", jsonTempc, "", "", "°C"},
{"sensor", "CLEARGRASSCGD1-hum", mac, "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
@@ -290,13 +277,11 @@ void CLEARGRASSCGD1Discovery(char* mac) {
}
void CLEARGRASSTRHKPADiscovery(char* mac) {
# define CLEARGRASSTRHKPAparametersCount 5
# define CLEARGRASSTRHKPAparametersCount 3
Log.trace(F("CLEARGRASSTRHKPADiscovery" CR));
char* CLEARGRASSTRHKPAsensor[CLEARGRASSTRHKPAparametersCount][8] = {
{"sensor", "CLEARGRASSTRHKPA-pres", mac, "pressure", jsonPres, "", "", "kPa"},
{"sensor", "CLEARGRASSTRHKPA-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
{"sensor", "CLEARGRASSTRHKPA-tempc", mac, "temperature", jsonTempc, "", "", "C"},
{"sensor", "CLEARGRASSTRHKPA-tempf", mac, "temperature", jsonTempf, "", "", "F"},
{"sensor", "CLEARGRASSTRHKPA-temp", mac, "temperature", jsonTempc, "", "", "°C"},
{"sensor", "CLEARGRASSTRHKPA-hum", mac, "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
@@ -338,13 +323,11 @@ void MiBandDiscovery(char* mac) {
}
void InkBirdDiscovery(char* mac) {
# define InkBirdparametersCount 5
# define InkBirdparametersCount 3
Log.trace(F("InkBirdDiscovery" CR));
char* InkBirdsensor[InkBirdparametersCount][8] = {
{"sensor", "InkBird-batt", mac, "battery", jsonBatt, "", "", "%"},
{"sensor", "InkBird-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
{"sensor", "InkBird-tempc", mac, "temperature", jsonTempc, "", "", "C"},
{"sensor", "InkBird-tempf", mac, "temperature", jsonTempf, "", "", "F"},
{"sensor", "InkBird-temp", mac, "temperature", jsonTempc, "", "", "°C"},
{"sensor", "InkBird-hum", mac, "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
@@ -353,13 +336,12 @@ void InkBirdDiscovery(char* mac) {
}
void LYWSD03MMCDiscovery(char* mac) {
# define LYWSD03MMCparametersCount 5
# define LYWSD03MMCparametersCount 4
Log.trace(F("LYWSD03MMCDiscovery" CR));
char* LYWSD03MMCsensor[LYWSD03MMCparametersCount][8] = {
{"sensor", "LYWSD03MMC-batt", mac, "battery", jsonBatt, "", "", "%"},
{"sensor", "LYWSD03MMC-volt", mac, "", jsonVolt, "", "", "V"},
{"sensor", "LYWSD03MMC-tempc", mac, "temperature", jsonTempc, "", "", "C"},
{"sensor", "LYWSD03MMC-tempf", mac, "temperature", jsonTempf, "", "", "F"},
{"sensor", "LYWSD03MMC-temp", mac, "temperature", jsonTempc, "", "", "°C"},
{"sensor", "LYWSD03MMC-hum", mac, "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
@@ -368,13 +350,12 @@ void LYWSD03MMCDiscovery(char* mac) {
}
void MHO_C401Discovery(char* mac) {
# define MHO_C401parametersCount 5
# define MHO_C401parametersCount 4
Log.trace(F("MHO_C401Discovery" CR));
char* MHO_C401sensor[MHO_C401parametersCount][8] = {
{"sensor", "MHO_C401-batt", mac, "battery", jsonBatt, "", "", "%"},
{"sensor", "MHO_C401-volt", mac, "", jsonVolt, "", "", "V"},
{"sensor", "MHO_C401-tempc", mac, "temperature", jsonTempc, "", "", "C"},
{"sensor", "MHO_C401-tempf", mac, "temperature", jsonTempf, "", "", "F"},
{"sensor", "MHO_C401-temp", mac, "temperature", jsonTempc, "", "", "°C"},
{"sensor", "MHO_C401-hum", mac, "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
+8 -12
View File
@@ -142,11 +142,10 @@ void pubMqttDiscovery() {
);
# ifdef ZsensorBME280
# define BMEparametersCount 6
# define BMEparametersCount 5
Log.trace(F("bme280Discovery" CR));
char* BMEsensor[BMEparametersCount][8] = {
{"sensor", "tempc", "bme", "temperature", jsonTempc, "", "", "C"},
{"sensor", "tempf", "bme", "temperature", jsonTempf, "", "", "F"},
{"sensor", "temp", "bme", "temperature", jsonTempc, "", "", "°C"},
{"sensor", "pa", "bme", "", jsonPa, "", "", "hPa"},
{"sensor", "hum", "bme", "humidity", jsonHum, "", "", "%"},
{"sensor", "altim", "bme", "", jsonAltim, "", "", "m"},
@@ -166,11 +165,10 @@ void pubMqttDiscovery() {
# endif
# ifdef ZsensorHTU21
# define HTUparametersCount 3
# define HTUparametersCount 2
Log.trace(F("htu21Discovery" CR));
char* HTUsensor[HTUparametersCount][8] = {
{"sensor", "tempc", "htu", "temperature", jsonTempc, "", "", "C"},
{"sensor", "tempf", "htu", "temperature", jsonTempf, "", "", "F"},
{"sensor", "temp", "htu", "temperature", jsonTempc, "", "", "°C"},
{"sensor", "hum", "htu", "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
@@ -187,11 +185,10 @@ void pubMqttDiscovery() {
# endif
# ifdef ZsensorAHTx0
# define AHTparametersCount 3
# define AHTparametersCount 2
Log.trace(F("AHTx0Discovery" CR));
char* AHTsensor[AHTparametersCount][8] = {
{"sensor", "tempc", "aht", "temperature", jsonTempc, "", "", "C"},
{"sensor", "tempf", "aht", "temperature", jsonTempf, "", "", "F"},
{"sensor", "temp", "aht", "temperature", jsonTempc, "", "", "°C"},
{"sensor", "hum", "aht", "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
@@ -207,11 +204,10 @@ void pubMqttDiscovery() {
# endif
# ifdef ZsensorDHT
# define DHTparametersCount 3
# define DHTparametersCount 2
Log.trace(F("DHTDiscovery" CR));
char* DHTsensor[DHTparametersCount][8] = {
{"sensor", "tempc", "dht", "temperature", jsonTempc, "", "", "C"},
{"sensor", "tempf", "dht", "temperature", jsonTempf, "", "", "F"},
{"sensor", "temp", "dht", "temperature", jsonTempc, "", "", "°C"},
{"sensor", "hum", "dht", "humidity", jsonHum, "", "", "%"}
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
};
+1 -10
View File
@@ -102,15 +102,6 @@ void pubOneWire_HADiscovery() {
# ifdef ZmqttDiscovery
Log.notice(F("CreateDiscoverySensor - Found %d" CR), ds1820_count);
for (int index = 0; index < ds1820_count; index++) {
createDiscovery("sensor",
(char*)(String(OW_TOPIC) + "/" + ds1820_addr[index]).c_str(),
(char*)("DS12B20_" + String(index + 1) + "_f").c_str(),
(char*)(ds1820_addr[index] + "_f").c_str(),
will_Topic,
"temperature",
jsonTempf,
"", "", "F",
0, "", "", true, "");
createDiscovery("sensor",
(char*)(String(OW_TOPIC) + "/" + ds1820_addr[index]).c_str(),
(char*)("DS12B20_" + String(index + 1) + "_c").c_str(),
@@ -118,7 +109,7 @@ void pubOneWire_HADiscovery() {
will_Topic,
"temperature",
jsonTempc,
"", "", "C",
"", "", "°C",
0, "", "", true, "");
}
# endif