Standardize MQTTDiscovery Temp Keys [deprecate tem key] (#703)
* Detect when sensor isn't available or read fails * Add temperature conversion macros * Add 'tempc' & 'tempf' keys to published values * Unique Values for HA Discovery * Remove degree symbol from temp sensors Co-authored-by: Jonathan Michael Wells <jonathan-wells@oist.jp>
This commit is contained in:
1 parent
b7a4591518
commit
4f1b49d135
10 files changed
+97
-52
No files matched your search
+7
-1
@@ -5,11 +5,14 @@ Subscribe to all the messages with mosquitto or open your MQTT client software:
|
||||
|
||||
### ADC
|
||||
The value is between 0 and 1024 and is tranmitted via Mqtt when it changes.
|
||||
`home/OpenMQTTGateway/DHTtoMQTT {"value":543}`
|
||||
`home/OpenMQTTGateway/ADCtoMQTT {"value":543}`
|
||||
|
||||
### DHT
|
||||
You will receive every TimeBetweenReadingDHT (set into config_DHT.h) the DHT measurement (30s per default).
|
||||
|
||||
`home/OpenMQTTGateway/DHTtoMQTT {"tempc":21,"tempf":69.8,"hum":51}`
|
||||
|
||||
Legacy (removed after release 0.9.5)
|
||||
`home/OpenMQTTGateway/DHTtoMQTT {"temp":21,"hum":51}`
|
||||
|
||||
If you want to don't resend value when it is the same you can set dht_always = false in config_DHT.h
|
||||
@@ -32,6 +35,9 @@ If you don't want to resend values that haven't changed you can set AHTx0_always
|
||||
You will receive the DS18x20 sensor readings every DS1820_INTERVAL_SEC (set into config_DS1820.h) (60s by default).
|
||||
Each sensor will be published under the following topic using each sensors' address.
|
||||
|
||||
`home/OpenMQTTGateway/CLIMAtoMQTT/ds1820/0x0000000000000000 {"tempc":27.8, "tempf":82.04, "type":"DS18B20","res":"12bit\n","addr":"0x28616411907650bc"}`
|
||||
|
||||
Legacy (removed after release 0.9.5)
|
||||
`home/OpenMQTTGateway/CLIMAtoMQTT/ds1820/0x0000000000000000 {"temp":27.8,"unit":"C","type":"DS18B20","res":"12bit\n","addr":"0x28616411907650bc"}`
|
||||
|
||||
The units for temperature readings are sent in Celcius by default can be changed to ferenheight by setting DS1820_FAHRENHEIT = true in in config_DS1820.h
|
||||
|
||||
+48
-24
@@ -135,11 +135,13 @@ void strupp(char* beg) {
|
||||
|
||||
# ifdef ZmqttDiscovery
|
||||
void MiFloraDiscovery(char* mac) {
|
||||
# define MiFloraparametersCount 4
|
||||
# define MiFloraparametersCount 6
|
||||
Log.trace(F("MiFloraDiscovery" CR));
|
||||
char* MiFlorasensor[MiFloraparametersCount][8] = {
|
||||
{"sensor", "MiFlora-lux", mac, "illuminance", jsonLux, "", "", "lx"},
|
||||
{"sensor", "MiFlora-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"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-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
|
||||
@@ -150,11 +152,13 @@ void MiFloraDiscovery(char* mac) {
|
||||
}
|
||||
|
||||
void VegTrugDiscovery(char* mac) {
|
||||
# define VegTrugparametersCount 4
|
||||
# define VegTrugparametersCount 6
|
||||
Log.trace(F("VegTrugDiscovery" CR));
|
||||
char* VegTrugsensor[VegTrugparametersCount][8] = {
|
||||
{"sensor", "VegTrug-lux", mac, "illuminance", jsonLux, "", "", "lx"},
|
||||
{"sensor", "VegTrug-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"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-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
|
||||
@@ -165,11 +169,13 @@ void VegTrugDiscovery(char* mac) {
|
||||
}
|
||||
|
||||
void MiJiaDiscovery(char* mac) {
|
||||
# define MiJiaparametersCount 3
|
||||
# define MiJiaparametersCount 5
|
||||
Log.trace(F("MiJiaDiscovery" CR));
|
||||
char* MiJiasensor[MiJiaparametersCount][8] = {
|
||||
{"sensor", "MiJia-batt", mac, "battery", jsonBatt, "", "", "%"},
|
||||
{"sensor", "MiJia-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"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
|
||||
};
|
||||
@@ -179,11 +185,13 @@ void MiJiaDiscovery(char* mac) {
|
||||
}
|
||||
|
||||
void LYWSD02Discovery(char* mac) {
|
||||
# define LYWSD02parametersCount 3
|
||||
# define LYWSD02parametersCount 5
|
||||
Log.trace(F("LYWSD02Discovery" CR));
|
||||
char* LYWSD02sensor[LYWSD02parametersCount][8] = {
|
||||
{"sensor", "LYWSD02-batt", mac, "battery", jsonBatt, "", "", "V"},
|
||||
{"sensor", "LYWSD02-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"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-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
@@ -193,11 +201,13 @@ void LYWSD02Discovery(char* mac) {
|
||||
}
|
||||
|
||||
void CLEARGRASSTRHDiscovery(char* mac) {
|
||||
# define CLEARGRASSTRHparametersCount 3
|
||||
# define CLEARGRASSTRHparametersCount 5
|
||||
Log.trace(F("CLEARGRASSTRHDiscovery" CR));
|
||||
char* CLEARGRASSTRHsensor[CLEARGRASSTRHparametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSTRH-batt", mac, "battery", jsonBatt, "", "", "V"},
|
||||
{"sensor", "CLEARGRASSTRH-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"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-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
@@ -207,11 +217,13 @@ void CLEARGRASSTRHDiscovery(char* mac) {
|
||||
}
|
||||
|
||||
void CLEARGRASSCGD1Discovery(char* mac) {
|
||||
# define CLEARGRASSCGD1parametersCount 3
|
||||
# define CLEARGRASSCGD1parametersCount 5
|
||||
Log.trace(F("CLEARGRASSCGD1Discovery" CR));
|
||||
char* CLEARGRASSCGD1sensor[CLEARGRASSCGD1parametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSCGD1-batt", mac, "battery", jsonBatt, "", "", "V"},
|
||||
{"sensor", "CLEARGRASSCGD1-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"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-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
@@ -221,11 +233,13 @@ void CLEARGRASSCGD1Discovery(char* mac) {
|
||||
}
|
||||
|
||||
void CLEARGRASSTRHKPADiscovery(char* mac) {
|
||||
# define CLEARGRASSTRHKPAparametersCount 3
|
||||
# define CLEARGRASSTRHKPAparametersCount 5
|
||||
Log.trace(F("CLEARGRASSTRHKPADiscovery" CR));
|
||||
char* CLEARGRASSTRHKPAsensor[CLEARGRASSTRHKPAparametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSTRHKPA-pres", mac, "pressure", jsonPres, "", "", "kPa"},
|
||||
{"sensor", "CLEARGRASSTRHKPA-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"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-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
@@ -271,11 +285,13 @@ void MiBandDiscovery(char* mac) {
|
||||
}
|
||||
|
||||
void InkBirdDiscovery(char* mac) {
|
||||
# define InkBirdparametersCount 3
|
||||
# define InkBirdparametersCount 5
|
||||
Log.trace(F("InkBirdDiscovery" CR));
|
||||
char* InkBirdsensor[InkBirdparametersCount][8] = {
|
||||
{"sensor", "InkBird-batt", mac, "battery", jsonBatt, "", "", "%"},
|
||||
{"sensor", "InkBird-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"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-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
@@ -845,7 +861,9 @@ JsonObject& process_sensors(int offset, JsonObject& BLEdata) {
|
||||
BLEdata.set("fer", (double)value);
|
||||
break;
|
||||
case '4':
|
||||
BLEdata.set("tem", (double)value / 10);
|
||||
BLEdata.set("tem", (double)value / 10); // remove for 0.9.6 release
|
||||
BLEdata.set("tempc", (double)value / 10);
|
||||
BLEdata.set("tempf", (double)convertTemp_CtoF(value) / 10);
|
||||
break;
|
||||
case '6':
|
||||
BLEdata.set("hum", (double)value / 10);
|
||||
@@ -860,10 +878,12 @@ JsonObject& process_sensors(int offset, JsonObject& BLEdata) {
|
||||
BLEdata.set("batt", (double)value);
|
||||
break;
|
||||
case 'd':
|
||||
// humidity
|
||||
value = value_from_service_data(servicedata, 28 + offset, 4);
|
||||
BLEdata.set("tem", (double)value / 10);
|
||||
// temperature
|
||||
value = value_from_service_data(servicedata, 28 + offset, 4);
|
||||
BLEdata.set("tem", (double)value / 10); // remove for 0.9.6 release
|
||||
BLEdata.set("tempc", (double)value / 10);
|
||||
BLEdata.set("tempf", (double)convertTemp_CtoF(value) / 10);
|
||||
// humidity
|
||||
value = value_from_service_data(servicedata, 32 + offset, 4);
|
||||
BLEdata.set("hum", (double)value / 10);
|
||||
break;
|
||||
@@ -906,7 +926,9 @@ JsonObject& process_inkbird(JsonObject& BLEdata) {
|
||||
double battery = value_from_service_data(manufacturerdata, 14, 2);
|
||||
|
||||
//Set Json values
|
||||
BLEdata.set("tem", (double)temperature);
|
||||
BLEdata.set("tem", (double)temperature); // remove for 0.9.6 release
|
||||
BLEdata.set("tempc", (double)temperature);
|
||||
BLEdata.set("tempf", (double)convertTemp_CtoF(temperature));
|
||||
BLEdata.set("hum", (double)humidity);
|
||||
BLEdata.set("batt", (double)battery);
|
||||
|
||||
@@ -940,10 +962,12 @@ JsonObject& process_cleargrass(JsonObject& BLEdata, boolean air) {
|
||||
const char* servicedata = BLEdata["servicedata"].as<const char*>();
|
||||
|
||||
double value = 9999;
|
||||
// humidity
|
||||
value = value_from_service_data(servicedata, 20, 4);
|
||||
BLEdata.set("tem", (double)value / 10);
|
||||
// temperature
|
||||
value = value_from_service_data(servicedata, 20, 4);
|
||||
BLEdata.set("tem", (double)value / 10); // remove for 0.9.6 release
|
||||
BLEdata.set("tempc", (double)value / 10);
|
||||
BLEdata.set("tempf", (double)convertTemp_CtoF(value) / 10);
|
||||
// humidity
|
||||
value = value_from_service_data(servicedata, 24, 4);
|
||||
BLEdata.set("hum", (double)value / 10);
|
||||
if (air) {
|
||||
|
||||
@@ -105,7 +105,9 @@ void sendTemperatureData(byte id, float temperature, int humidity, byte battery_
|
||||
StaticJsonBuffer<JSON_MSG_CALC_BUFFER> jsonBuffer;
|
||||
JsonObject& RFdata = jsonBuffer.createObject();
|
||||
RFdata.set("sensor", id);
|
||||
RFdata.set("temperature", temperature);
|
||||
RFdata.set("temperature", temperature); // remove for 0.9.6 release
|
||||
RFdata.set("tempc", temperature);
|
||||
RFdata.set("tempf", wsdr.convertCtoF(temperature));
|
||||
RFdata.set("humidity", humidity);
|
||||
RFdata.set("battery", bitRead(battery_status, 0) == 0 ? "OK" : "Low");
|
||||
pub(subjectRFtoMQTT, RFdata);
|
||||
|
||||
+12
-9
@@ -145,8 +145,8 @@ void pubMqttDiscovery() {
|
||||
# define BMEparametersCount 6
|
||||
Log.trace(F("bme280Discovery" CR));
|
||||
char* BMEsensor[BMEparametersCount][8] = {
|
||||
{"sensor", "tempc", "bme", "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "tempf", "bme", "temperature", jsonTempf, "", "", "°F"},
|
||||
{"sensor", "tempc", "bme", "temperature", jsonTempc, "", "", "C"},
|
||||
{"sensor", "tempf", "bme", "temperature", jsonTempf, "", "", "F"},
|
||||
{"sensor", "pa", "bme", "", jsonPa, "", "", "hPa"},
|
||||
{"sensor", "hum", "bme", "humidity", jsonHum, "", "", "%"},
|
||||
{"sensor", "altim", "bme", "", jsonAltim, "", "", "m"},
|
||||
@@ -169,8 +169,8 @@ void pubMqttDiscovery() {
|
||||
# define HTUparametersCount 3
|
||||
Log.trace(F("htu21Discovery" CR));
|
||||
char* HTUsensor[HTUparametersCount][8] = {
|
||||
{"sensor", "tempc", "htu", "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "tempf", "htu", "temperature", jsonTempf, "", "", "°F"},
|
||||
{"sensor", "tempc", "htu", "temperature", jsonTempc, "", "", "C"},
|
||||
{"sensor", "tempf", "htu", "temperature", jsonTempf, "", "", "F"},
|
||||
{"sensor", "hum", "htu", "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
@@ -190,8 +190,8 @@ void pubMqttDiscovery() {
|
||||
# define AHTparametersCount 3
|
||||
Log.trace(F("AHTx0Discovery" CR));
|
||||
char* AHTsensor[AHTparametersCount][8] = {
|
||||
{"sensor", "tempc", "aht", "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "tempf", "aht", "temperature", jsonTempf, "", "", "°F"},
|
||||
{"sensor", "tempc", "aht", "temperature", jsonTempc, "", "", "C"},
|
||||
{"sensor", "tempf", "aht", "temperature", jsonTempf, "", "", "F"},
|
||||
{"sensor", "hum", "aht", "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
@@ -207,11 +207,14 @@ void pubMqttDiscovery() {
|
||||
# endif
|
||||
|
||||
# ifdef ZsensorDHT
|
||||
# define DHTparametersCount 2
|
||||
# define DHTparametersCount 3
|
||||
Log.trace(F("DHTDiscovery" CR));
|
||||
char* DHTsensor[DHTparametersCount][8] = {
|
||||
{"sensor", "tempc", "dht", "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "hum", "dht", "humidity", jsonHum, "", "", "%"}};
|
||||
{"sensor", "tempc", "dht", "temperature", jsonTempc, "", "", "C"},
|
||||
{"sensor", "tempf", "dht", "temperature", jsonTempf, "", "", "F"},
|
||||
{"sensor", "hum", "dht", "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
for (int i = 0; i < DHTparametersCount; i++) {
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
|
||||
@@ -90,7 +90,7 @@ void MeasureAHTTempHum() {
|
||||
JsonObject& AHTx0data = jsonBuffer.createObject();
|
||||
// Generate Temperature in degrees C
|
||||
if (ahtTempC.temperature != persisted_aht_tempc || AHTx0_always) {
|
||||
float ahtTempF = (ahtTempC.temperature * 1.8) + 32;
|
||||
float ahtTempF = convertTemp_CtoF(ahtTempC.temperature);
|
||||
AHTx0data.set("tempc", (float)ahtTempC.temperature);
|
||||
AHTx0data.set("tempf", (float)ahtTempF);
|
||||
} else {
|
||||
|
||||
+3
-1
@@ -63,7 +63,9 @@ void MeasureTempAndHum() {
|
||||
Log.trace(F("Same hum don't send it" CR));
|
||||
}
|
||||
if (t != persistedt || dht_always) {
|
||||
DHTdata.set("temp", (float)t);
|
||||
DHTdata.set("temp", (float)t); // remove for 0.9.6 release
|
||||
DHTdata.set("tempc", (float)t);
|
||||
DHTdata.set("tempf", dht.convertCtoF(t));
|
||||
} else {
|
||||
Log.trace(F("Same temp don't send it" CR));
|
||||
}
|
||||
|
||||
+13
-10
@@ -102,27 +102,24 @@ void pubOneWire_HADiscovery() {
|
||||
# ifdef ZmqttDiscovery
|
||||
Log.notice(F("CreateDiscoverySensor - Found %d" CR), ds1820_count);
|
||||
for (int index = 0; index < ds1820_count; index++) {
|
||||
# if DS1820_FAHRENHEIT
|
||||
createDiscovery("sensor",
|
||||
(char*)(String(OW_TOPIC) + "/" + ds1820_addr[index]).c_str(),
|
||||
(char*)String("DS12B20_" + String(index + 1)).c_str(),
|
||||
(char*)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",
|
||||
"", "", "F",
|
||||
0, "", "", true, "");
|
||||
# else
|
||||
createDiscovery("sensor",
|
||||
(char*)(String(OW_TOPIC) + "/" + ds1820_addr[index]).c_str(),
|
||||
(char*)String("DS12B20_" + String(index + 1)).c_str(),
|
||||
(char*)ds1820_addr[index].c_str(),
|
||||
(char*)("DS12B20_" + String(index + 1) + "_c").c_str(),
|
||||
(char*)(ds1820_addr[index] + "_c").c_str(),
|
||||
will_Topic,
|
||||
"temperature",
|
||||
jsonTemp,
|
||||
"", "", "°C",
|
||||
jsonTempc,
|
||||
"", "", "C",
|
||||
0, "", "", true, "");
|
||||
# endif
|
||||
}
|
||||
# endif
|
||||
}
|
||||
@@ -155,6 +152,7 @@ void MeasureDS1820Temp() {
|
||||
if (current_temp[i] == -127) {
|
||||
Log.error(F("DS1820: Device %s currently disconnected!" CR), (char*)ds1820_addr[i].c_str());
|
||||
} else if (DS1820_ALWAYS || current_temp[i] != persisted_temp[i]) {
|
||||
// remove for 0.9.6 release -- BEGIN (Additional BREAKING CHANGE - Unit will be removed)
|
||||
if (DS1820_FAHRENHEIT) {
|
||||
Log.notice(F("DS1820: Temperature %s %d F" CR),
|
||||
(char*)ds1820_addr[i].c_str(),
|
||||
@@ -170,6 +168,11 @@ void MeasureDS1820Temp() {
|
||||
DS1820data.set("temp", (float)current_temp[i]);
|
||||
DS1820data.set("unit", "C");
|
||||
}
|
||||
// remove for 0.9.6 release -- END
|
||||
|
||||
DS1820data.set("tempc", (float)DallasTemperature::toFahrenheit(current_temp[i]));
|
||||
DS1820data.set("tempf", (float)current_temp[i]);
|
||||
|
||||
if (DS1820_DETAILS) {
|
||||
DS1820data.set("type", ds1820_type[i]);
|
||||
DS1820data.set("res", ds1820_resolution[i] + String("bit" CR));
|
||||
|
||||
@@ -36,9 +36,9 @@ extern void pubOneWire_HADiscovery();
|
||||
#define DS1820_ALWAYS true // if false only published current temperature if has changed from previous reading
|
||||
#define DS1820_INTERVAL_SEC 60 // time between DS1820 readings (seconds)
|
||||
#define DS1820_RESOLUTION 10 // conversion times: 9 bit (93.75 ms), 10 bit (187.5 ms), 11 bit (375 ms), 12 bit (750 ms)
|
||||
#ifndef DS1820_FAHRENHEIT
|
||||
# define DS1820_FAHRENHEIT false // defaults to Celcius
|
||||
#endif
|
||||
#ifndef DS1820_FAHRENHEIT // remove for 0.9.6 release
|
||||
# define DS1820_FAHRENHEIT false // defaults to Celcius // remove for 0.9.6 release
|
||||
#endif // remove for 0.9.6 release
|
||||
#define DS1820_DETAILS true // publish extented info for each sensor (resolution, address, type)
|
||||
#define DS1820_CONV_TIME 2000 // trigger conversion before requesting temperature readings (ms)
|
||||
/*-------------------PIN DEFINITIONS----------------------*/
|
||||
|
||||
@@ -52,12 +52,13 @@ extern void createDiscovery(char* sensor_type,
|
||||
# define jsonFer "{{ value_json.fer }}"
|
||||
# define jsonMoi "{{ value_json.moi }}"
|
||||
# define jsonHum "{{ value_json.hum }}"
|
||||
# define jsonTemp "{{ value_json.tem }}"
|
||||
# define jsonTemp "{{ value_json.tem }}" // remove for 0.9.6 release
|
||||
# define jsonStep "{{ value_json.steps }}"
|
||||
# define jsonWeight "{{ value_json.weight }}"
|
||||
# define jsonPresence "{{ value_json.presence }}"
|
||||
# define jsonAltim "{{ value_json.altim }}"
|
||||
# define jsonAltif "{{ value_json.altift }}"
|
||||
# define jsonTempc "{{ value_json.tempc }}"
|
||||
# define jsonTempf "{{ value_json.tempf }}"
|
||||
# define jsonMsg "{{ value_json.message }}"
|
||||
# define jsonVal "{{ value_json.value }}"
|
||||
@@ -77,12 +78,13 @@ extern void createDiscovery(char* sensor_type,
|
||||
# define jsonFer "{{ value_json.fer | is_defined }}"
|
||||
# define jsonMoi "{{ value_json.moi | is_defined }}"
|
||||
# define jsonHum "{{ value_json.hum | is_defined }}"
|
||||
# define jsonTemp "{{ value_json.tem | is_defined }}"
|
||||
# define jsonTemp "{{ value_json.tem | is_defined }}" // remove for 0.9.6 release
|
||||
# define jsonStep "{{ value_json.steps | is_defined }}"
|
||||
# define jsonWeight "{{ value_json.weight | is_defined }}"
|
||||
# define jsonPresence "{{ value_json.presence | is_defined }}"
|
||||
# define jsonAltim "{{ value_json.altim | is_defined }}"
|
||||
# define jsonAltif "{{ value_json.altift | is_defined }}"
|
||||
# define jsonTempc "{{ value_json.tempc | is_defined }}"
|
||||
# define jsonTempf "{{ value_json.tempf | is_defined }}"
|
||||
# define jsonMsg "{{ value_json.message | is_defined }}"
|
||||
# define jsonVal "{{ value_json.value | is_defined }}"
|
||||
|
||||
@@ -168,6 +168,9 @@ WiFiClient eClient;
|
||||
EthernetClient eClient;
|
||||
#endif
|
||||
|
||||
#define convertTemp_CtoF(c) ((c * 1.8) + 32)
|
||||
#define convertTemp_FtoC(f) ((f - 32) * 5 / 9)
|
||||
|
||||
// client link to pubsub mqtt
|
||||
PubSubClient client(eClient);
|
||||
|
||||
|
||||
Reference in new issue
Block a user