Skip to content

Commit 03ab7f7

Browse files
authored
update temperature unit to work in HA (#768)
* update temperature unit to work in HA * use only one temperature sensor for HA
1 parent 7cd1e9a commit 03ab7f7

File tree

3 files changed

+31
-63
lines changed

3 files changed

+31
-63
lines changed

main/ZgatewayBT.ino

Lines changed: 22 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -183,13 +183,11 @@ void strupp(char* beg) {
183183

184184
# ifdef ZmqttDiscovery
185185
void MiFloraDiscovery(char* mac) {
186-
# define MiFloraparametersCount 6
186+
# define MiFloraparametersCount 4
187187
Log.trace(F("MiFloraDiscovery" CR));
188188
char* MiFlorasensor[MiFloraparametersCount][8] = {
189189
{"sensor", "MiFlora-lux", mac, "illuminance", jsonLux, "", "", "lx"},
190-
{"sensor", "MiFlora-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
191-
{"sensor", "MiFlora-tempc", mac, "temperature", jsonTempc, "", "", "C"},
192-
{"sensor", "MiFlora-tempf", mac, "temperature", jsonTempf, "", "", "F"},
190+
{"sensor", "MiFlora-temp", mac, "temperature", jsonTempc, "", "", "°C"},
193191
{"sensor", "MiFlora-fer", mac, "", jsonFer, "", "", "µS/cm"},
194192
{"sensor", "MiFlora-moi", mac, "", jsonMoi, "", "", "%"}
195193
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
@@ -199,13 +197,11 @@ void MiFloraDiscovery(char* mac) {
199197
}
200198

201199
void VegTrugDiscovery(char* mac) {
202-
# define VegTrugparametersCount 6
200+
# define VegTrugparametersCount 4
203201
Log.trace(F("VegTrugDiscovery" CR));
204202
char* VegTrugsensor[VegTrugparametersCount][8] = {
205203
{"sensor", "VegTrug-lux", mac, "illuminance", jsonLux, "", "", "lx"},
206-
{"sensor", "VegTrug-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
207-
{"sensor", "VegTrug-tempc", mac, "temperature", jsonTempc, "", "", "C"},
208-
{"sensor", "VegTrug-tempf", mac, "temperature", jsonTempf, "", "", "F"},
204+
{"sensor", "VegTrug-temp", mac, "temperature", jsonTempc, "", "", "°C"},
209205
{"sensor", "VegTrug-fer", mac, "", jsonFer, "", "", "µS/cm"},
210206
{"sensor", "VegTrug-moi", mac, "", jsonMoi, "", "", "%"}
211207
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
@@ -215,13 +211,11 @@ void VegTrugDiscovery(char* mac) {
215211
}
216212

217213
void MiJiaDiscovery(char* mac) {
218-
# define MiJiaparametersCount 5
214+
# define MiJiaparametersCount 3
219215
Log.trace(F("MiJiaDiscovery" CR));
220216
char* MiJiasensor[MiJiaparametersCount][8] = {
221217
{"sensor", "MiJia-batt", mac, "battery", jsonBatt, "", "", "%"},
222-
{"sensor", "MiJia-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
223-
{"sensor", "MiJia-tempc", mac, "temperature", jsonTempc, "", "", "C"},
224-
{"sensor", "MiJia-tempf", mac, "temperature", jsonTempf, "", "", "F"},
218+
{"sensor", "MiJia-temp", mac, "temperature", jsonTempc, "", "", "°C"},
225219
{"sensor", "MiJia-hum", mac, "humidity", jsonHum, "", "", "%"}
226220
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
227221
};
@@ -230,12 +224,11 @@ void MiJiaDiscovery(char* mac) {
230224
}
231225

232226
void FormalDiscovery(char* mac) {
233-
# define FormalparametersCount 5
227+
# define FormalparametersCount 4
234228
Log.trace(F("FormalDiscovery" CR));
235229
char* Formalsensor[FormalparametersCount][8] = {
236230
{"sensor", "Formal-batt", mac, "battery", jsonBatt, "", "", "%"},
237-
{"sensor", "Formal-tempc", mac, "temperature", jsonTempc, "", "", "C"},
238-
{"sensor", "Formal-tempf", mac, "temperature", jsonTempf, "", "", "F"},
231+
{"sensor", "Formal-temp", mac, "temperature", jsonTempc, "", "", "°C"},
239232
{"sensor", "Formal-hum", mac, "humidity", jsonHum, "", "", "%"},
240233
{"sensor", "Formal-for", mac, "formaldehyde", jsonFor, "", "", "%"}
241234
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
@@ -245,13 +238,11 @@ void FormalDiscovery(char* mac) {
245238
}
246239

247240
void LYWSD02Discovery(char* mac) {
248-
# define LYWSD02parametersCount 5
241+
# define LYWSD02parametersCount 3
249242
Log.trace(F("LYWSD02Discovery" CR));
250243
char* LYWSD02sensor[LYWSD02parametersCount][8] = {
251244
{"sensor", "LYWSD02-batt", mac, "battery", jsonBatt, "", "", "V"},
252-
{"sensor", "LYWSD02-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
253-
{"sensor", "LYWSD02-tempc", mac, "temperature", jsonTempc, "", "", "C"},
254-
{"sensor", "LYWSD02-tempf", mac, "temperature", jsonTempf, "", "", "F"},
245+
{"sensor", "LYWSD02-temp", mac, "temperature", jsonTempc, "", "", "°C"},
255246
{"sensor", "LYWSD02-hum", mac, "humidity", jsonHum, "", "", "%"}
256247
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
257248
};
@@ -260,13 +251,11 @@ void LYWSD02Discovery(char* mac) {
260251
}
261252

262253
void CLEARGRASSTRHDiscovery(char* mac) {
263-
# define CLEARGRASSTRHparametersCount 5
254+
# define CLEARGRASSTRHparametersCount 3
264255
Log.trace(F("CLEARGRASSTRHDiscovery" CR));
265256
char* CLEARGRASSTRHsensor[CLEARGRASSTRHparametersCount][8] = {
266257
{"sensor", "CLEARGRASSTRH-batt", mac, "battery", jsonBatt, "", "", "V"},
267-
{"sensor", "CLEARGRASSTRH-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
268-
{"sensor", "CLEARGRASSTRH-tempc", mac, "temperature", jsonTempc, "", "", "C"},
269-
{"sensor", "CLEARGRASSTRH-tempf", mac, "temperature", jsonTempf, "", "", "F"},
258+
{"sensor", "CLEARGRASSTRH-temp", mac, "temperature", jsonTempc, "", "", "°C"},
270259
{"sensor", "CLEARGRASSTRH-hum", mac, "humidity", jsonHum, "", "", "%"}
271260
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
272261
};
@@ -275,13 +264,11 @@ void CLEARGRASSTRHDiscovery(char* mac) {
275264
}
276265

277266
void CLEARGRASSCGD1Discovery(char* mac) {
278-
# define CLEARGRASSCGD1parametersCount 5
267+
# define CLEARGRASSCGD1parametersCount 3
279268
Log.trace(F("CLEARGRASSCGD1Discovery" CR));
280269
char* CLEARGRASSCGD1sensor[CLEARGRASSCGD1parametersCount][8] = {
281270
{"sensor", "CLEARGRASSCGD1-batt", mac, "battery", jsonBatt, "", "", "V"},
282-
{"sensor", "CLEARGRASSCGD1-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
283-
{"sensor", "CLEARGRASSCGD1-tempc", mac, "temperature", jsonTempc, "", "", "C"},
284-
{"sensor", "CLEARGRASSCGD1-tempf", mac, "temperature", jsonTempf, "", "", "F"},
271+
{"sensor", "CLEARGRASSCGD1-temp", mac, "temperature", jsonTempc, "", "", "°C"},
285272
{"sensor", "CLEARGRASSCGD1-hum", mac, "humidity", jsonHum, "", "", "%"}
286273
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
287274
};
@@ -290,13 +277,11 @@ void CLEARGRASSCGD1Discovery(char* mac) {
290277
}
291278

292279
void CLEARGRASSTRHKPADiscovery(char* mac) {
293-
# define CLEARGRASSTRHKPAparametersCount 5
280+
# define CLEARGRASSTRHKPAparametersCount 3
294281
Log.trace(F("CLEARGRASSTRHKPADiscovery" CR));
295282
char* CLEARGRASSTRHKPAsensor[CLEARGRASSTRHKPAparametersCount][8] = {
296283
{"sensor", "CLEARGRASSTRHKPA-pres", mac, "pressure", jsonPres, "", "", "kPa"},
297-
{"sensor", "CLEARGRASSTRHKPA-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
298-
{"sensor", "CLEARGRASSTRHKPA-tempc", mac, "temperature", jsonTempc, "", "", "C"},
299-
{"sensor", "CLEARGRASSTRHKPA-tempf", mac, "temperature", jsonTempf, "", "", "F"},
284+
{"sensor", "CLEARGRASSTRHKPA-temp", mac, "temperature", jsonTempc, "", "", "°C"},
300285
{"sensor", "CLEARGRASSTRHKPA-hum", mac, "humidity", jsonHum, "", "", "%"}
301286
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
302287
};
@@ -338,13 +323,11 @@ void MiBandDiscovery(char* mac) {
338323
}
339324

340325
void InkBirdDiscovery(char* mac) {
341-
# define InkBirdparametersCount 5
326+
# define InkBirdparametersCount 3
342327
Log.trace(F("InkBirdDiscovery" CR));
343328
char* InkBirdsensor[InkBirdparametersCount][8] = {
344329
{"sensor", "InkBird-batt", mac, "battery", jsonBatt, "", "", "%"},
345-
{"sensor", "InkBird-tem", mac, "temperature", jsonTempc, "", "", "C"}, // remove for 0.9.6 release
346-
{"sensor", "InkBird-tempc", mac, "temperature", jsonTempc, "", "", "C"},
347-
{"sensor", "InkBird-tempf", mac, "temperature", jsonTempf, "", "", "F"},
330+
{"sensor", "InkBird-temp", mac, "temperature", jsonTempc, "", "", "°C"},
348331
{"sensor", "InkBird-hum", mac, "humidity", jsonHum, "", "", "%"}
349332
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
350333
};
@@ -353,13 +336,12 @@ void InkBirdDiscovery(char* mac) {
353336
}
354337

355338
void LYWSD03MMCDiscovery(char* mac) {
356-
# define LYWSD03MMCparametersCount 5
339+
# define LYWSD03MMCparametersCount 4
357340
Log.trace(F("LYWSD03MMCDiscovery" CR));
358341
char* LYWSD03MMCsensor[LYWSD03MMCparametersCount][8] = {
359342
{"sensor", "LYWSD03MMC-batt", mac, "battery", jsonBatt, "", "", "%"},
360343
{"sensor", "LYWSD03MMC-volt", mac, "", jsonVolt, "", "", "V"},
361-
{"sensor", "LYWSD03MMC-tempc", mac, "temperature", jsonTempc, "", "", "C"},
362-
{"sensor", "LYWSD03MMC-tempf", mac, "temperature", jsonTempf, "", "", "F"},
344+
{"sensor", "LYWSD03MMC-temp", mac, "temperature", jsonTempc, "", "", "°C"},
363345
{"sensor", "LYWSD03MMC-hum", mac, "humidity", jsonHum, "", "", "%"}
364346
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
365347
};
@@ -368,13 +350,12 @@ void LYWSD03MMCDiscovery(char* mac) {
368350
}
369351

370352
void MHO_C401Discovery(char* mac) {
371-
# define MHO_C401parametersCount 5
353+
# define MHO_C401parametersCount 4
372354
Log.trace(F("MHO_C401Discovery" CR));
373355
char* MHO_C401sensor[MHO_C401parametersCount][8] = {
374356
{"sensor", "MHO_C401-batt", mac, "battery", jsonBatt, "", "", "%"},
375357
{"sensor", "MHO_C401-volt", mac, "", jsonVolt, "", "", "V"},
376-
{"sensor", "MHO_C401-tempc", mac, "temperature", jsonTempc, "", "", "C"},
377-
{"sensor", "MHO_C401-tempf", mac, "temperature", jsonTempf, "", "", "F"},
358+
{"sensor", "MHO_C401-temp", mac, "temperature", jsonTempc, "", "", "°C"},
378359
{"sensor", "MHO_C401-hum", mac, "humidity", jsonHum, "", "", "%"}
379360
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
380361
};

main/ZmqttDiscovery.ino

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,10 @@ void pubMqttDiscovery() {
142142
);
143143

144144
# ifdef ZsensorBME280
145-
# define BMEparametersCount 6
145+
# define BMEparametersCount 5
146146
Log.trace(F("bme280Discovery" CR));
147147
char* BMEsensor[BMEparametersCount][8] = {
148-
{"sensor", "tempc", "bme", "temperature", jsonTempc, "", "", "C"},
149-
{"sensor", "tempf", "bme", "temperature", jsonTempf, "", "", "F"},
148+
{"sensor", "temp", "bme", "temperature", jsonTempc, "", "", "°C"},
150149
{"sensor", "pa", "bme", "", jsonPa, "", "", "hPa"},
151150
{"sensor", "hum", "bme", "humidity", jsonHum, "", "", "%"},
152151
{"sensor", "altim", "bme", "", jsonAltim, "", "", "m"},
@@ -166,11 +165,10 @@ void pubMqttDiscovery() {
166165
# endif
167166

168167
# ifdef ZsensorHTU21
169-
# define HTUparametersCount 3
168+
# define HTUparametersCount 2
170169
Log.trace(F("htu21Discovery" CR));
171170
char* HTUsensor[HTUparametersCount][8] = {
172-
{"sensor", "tempc", "htu", "temperature", jsonTempc, "", "", "C"},
173-
{"sensor", "tempf", "htu", "temperature", jsonTempf, "", "", "F"},
171+
{"sensor", "temp", "htu", "temperature", jsonTempc, "", "", "°C"},
174172
{"sensor", "hum", "htu", "humidity", jsonHum, "", "", "%"}
175173
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
176174
};
@@ -187,11 +185,10 @@ void pubMqttDiscovery() {
187185
# endif
188186

189187
# ifdef ZsensorAHTx0
190-
# define AHTparametersCount 3
188+
# define AHTparametersCount 2
191189
Log.trace(F("AHTx0Discovery" CR));
192190
char* AHTsensor[AHTparametersCount][8] = {
193-
{"sensor", "tempc", "aht", "temperature", jsonTempc, "", "", "C"},
194-
{"sensor", "tempf", "aht", "temperature", jsonTempf, "", "", "F"},
191+
{"sensor", "temp", "aht", "temperature", jsonTempc, "", "", "°C"},
195192
{"sensor", "hum", "aht", "humidity", jsonHum, "", "", "%"}
196193
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
197194
};
@@ -207,11 +204,10 @@ void pubMqttDiscovery() {
207204
# endif
208205

209206
# ifdef ZsensorDHT
210-
# define DHTparametersCount 3
207+
# define DHTparametersCount 2
211208
Log.trace(F("DHTDiscovery" CR));
212209
char* DHTsensor[DHTparametersCount][8] = {
213-
{"sensor", "tempc", "dht", "temperature", jsonTempc, "", "", "C"},
214-
{"sensor", "tempf", "dht", "temperature", jsonTempf, "", "", "F"},
210+
{"sensor", "temp", "dht", "temperature", jsonTempc, "", "", "°C"},
215211
{"sensor", "hum", "dht", "humidity", jsonHum, "", "", "%"}
216212
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
217213
};

main/ZsensorDS1820.ino

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -102,23 +102,14 @@ void pubOneWire_HADiscovery() {
102102
# ifdef ZmqttDiscovery
103103
Log.notice(F("CreateDiscoverySensor - Found %d" CR), ds1820_count);
104104
for (int index = 0; index < ds1820_count; index++) {
105-
createDiscovery("sensor",
106-
(char*)(String(OW_TOPIC) + "/" + ds1820_addr[index]).c_str(),
107-
(char*)("DS12B20_" + String(index + 1) + "_f").c_str(),
108-
(char*)(ds1820_addr[index] + "_f").c_str(),
109-
will_Topic,
110-
"temperature",
111-
jsonTempf,
112-
"", "", "F",
113-
0, "", "", true, "");
114105
createDiscovery("sensor",
115106
(char*)(String(OW_TOPIC) + "/" + ds1820_addr[index]).c_str(),
116107
(char*)("DS12B20_" + String(index + 1) + "_c").c_str(),
117108
(char*)(ds1820_addr[index] + "_c").c_str(),
118109
will_Topic,
119110
"temperature",
120111
jsonTempc,
121-
"", "", "C",
112+
"", "", "°C",
122113
0, "", "", true, "");
123114
}
124115
# endif

0 commit comments

Comments
 (0)