1 parent
9a8606bd29
commit
e14a78e9c0
7 files changed
+286
-182
No files matched your search
+97
-97
@@ -291,12 +291,12 @@ void strupp(char* beg) {
|
||||
void MiFloraDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define MiFloraparametersCount 5
|
||||
Log.trace(F("MiFloraDiscovery" CR));
|
||||
const char* MiFlorasensor[MiFloraparametersCount][8] = {
|
||||
{"sensor", "MiFlora-batt", mac, "battery", jsonBatt, "", "", "%"},
|
||||
{"sensor", "MiFlora-lux", mac, "illuminance", jsonLux, "", "", "lx"},
|
||||
{"sensor", "MiFlora-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "MiFlora-fer", mac, "", jsonFer, "", "", "µS/cm"},
|
||||
{"sensor", "MiFlora-moi", mac, "", jsonMoi, "", "", "%"}
|
||||
const char* MiFlorasensor[MiFloraparametersCount][9] = {
|
||||
{"sensor", "MiFlora-batt", mac, "battery", jsonBatt, "", "", "%", stateClassMeasurement},
|
||||
{"sensor", "MiFlora-lux", mac, "illuminance", jsonLux, "", "", "lx", stateClassMeasurement},
|
||||
{"sensor", "MiFlora-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "MiFlora-fer", mac, "", jsonFer, "", "", "µS/cm", stateClassMeasurement},
|
||||
{"sensor", "MiFlora-moi", mac, "", jsonMoi, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -306,11 +306,11 @@ void MiFloraDiscovery(const char* mac, const char* sensorModel) {
|
||||
void VegTrugDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define VegTrugparametersCount 4
|
||||
Log.trace(F("VegTrugDiscovery" CR));
|
||||
const char* VegTrugsensor[VegTrugparametersCount][8] = {
|
||||
{"sensor", "VegTrug-lux", mac, "illuminance", jsonLux, "", "", "lx"},
|
||||
{"sensor", "VegTrug-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "VegTrug-fer", mac, "", jsonFer, "", "", "µS/cm"},
|
||||
{"sensor", "VegTrug-moi", mac, "", jsonMoi, "", "", "%"}
|
||||
const char* VegTrugsensor[VegTrugparametersCount][9] = {
|
||||
{"sensor", "VegTrug-lux", mac, "illuminance", jsonLux, "", "", "lx", stateClassMeasurement},
|
||||
{"sensor", "VegTrug-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "VegTrug-fer", mac, "", jsonFer, "", "", "µS/cm", stateClassMeasurement},
|
||||
{"sensor", "VegTrug-moi", mac, "", jsonMoi, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -320,10 +320,10 @@ void VegTrugDiscovery(const char* mac, const char* sensorModel) {
|
||||
void MiJiaDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define MiJiaparametersCount 3
|
||||
Log.trace(F("MiJiaDiscovery" CR));
|
||||
const char* MiJiasensor[MiJiaparametersCount][8] = {
|
||||
{"sensor", "MiJia-batt", mac, "battery", jsonBatt, "", "", "%"},
|
||||
{"sensor", "MiJia-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "MiJia-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
const char* MiJiasensor[MiJiaparametersCount][9] = {
|
||||
{"sensor", "MiJia-batt", mac, "battery", jsonBatt, "", "", "%", stateClassMeasurement},
|
||||
{"sensor", "MiJia-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "MiJia-hum", mac, "humidity", jsonHum, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -333,11 +333,11 @@ void MiJiaDiscovery(const char* mac, const char* sensorModel) {
|
||||
void FormalDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define FormalparametersCount 4
|
||||
Log.trace(F("FormalDiscovery" CR));
|
||||
const char* Formalsensor[FormalparametersCount][8] = {
|
||||
{"sensor", "Formal-batt", mac, "battery", jsonBatt, "", "", "%"},
|
||||
{"sensor", "Formal-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "Formal-hum", mac, "humidity", jsonHum, "", "", "%"},
|
||||
{"sensor", "Formal-for", mac, "", jsonFor, "", "", "%"}
|
||||
const char* Formalsensor[FormalparametersCount][9] = {
|
||||
{"sensor", "Formal-batt", mac, "battery", jsonBatt, "", "", "%", stateClassMeasurement},
|
||||
{"sensor", "Formal-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "Formal-hum", mac, "humidity", jsonHum, "", "", "%", stateClassMeasurement},
|
||||
{"sensor", "Formal-for", mac, "", jsonFor, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -347,10 +347,10 @@ void FormalDiscovery(const char* mac, const char* sensorModel) {
|
||||
void LYWSD02Discovery(const char* mac, const char* sensorModel) {
|
||||
# define LYWSD02parametersCount 3
|
||||
Log.trace(F("LYWSD02Discovery" CR));
|
||||
const char* LYWSD02sensor[LYWSD02parametersCount][8] = {
|
||||
{"sensor", "LYWSD02-batt", mac, "battery", jsonBatt, "", "", "V"},
|
||||
{"sensor", "LYWSD02-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "LYWSD02-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
const char* LYWSD02sensor[LYWSD02parametersCount][9] = {
|
||||
{"sensor", "LYWSD02-batt", mac, "battery", jsonBatt, "", "", "V", stateClassMeasurement},
|
||||
{"sensor", "LYWSD02-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "LYWSD02-hum", mac, "humidity", jsonHum, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -360,10 +360,10 @@ void LYWSD02Discovery(const char* mac, const char* sensorModel) {
|
||||
void CLEARGRASSTRHDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define CLEARGRASSTRHparametersCount 3
|
||||
Log.trace(F("CLEARGRASSTRHDiscovery" CR));
|
||||
const char* CLEARGRASSTRHsensor[CLEARGRASSTRHparametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSTRH-batt", mac, "battery", jsonBatt, "", "", "V"},
|
||||
{"sensor", "CLEARGRASSTRH-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "CLEARGRASSTRH-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
const char* CLEARGRASSTRHsensor[CLEARGRASSTRHparametersCount][9] = {
|
||||
{"sensor", "CLEARGRASSTRH-batt", mac, "battery", jsonBatt, "", "", "V", stateClassMeasurement},
|
||||
{"sensor", "CLEARGRASSTRH-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "CLEARGRASSTRH-hum", mac, "humidity", jsonHum, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -373,9 +373,9 @@ void CLEARGRASSTRHDiscovery(const char* mac, const char* sensorModel) {
|
||||
void CLEARGRASSCGD1Discovery(const char* mac, const char* sensorModel) {
|
||||
# define CLEARGRASSCGD1parametersCount 2
|
||||
Log.trace(F("CLEARGRASSCGD1Discovery" CR));
|
||||
const char* CLEARGRASSCGD1sensor[CLEARGRASSCGD1parametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSCGD1-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "CLEARGRASSCGD1-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
const char* CLEARGRASSCGD1sensor[CLEARGRASSCGD1parametersCount][9] = {
|
||||
{"sensor", "CLEARGRASSCGD1-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "CLEARGRASSCGD1-hum", mac, "humidity", jsonHum, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -385,9 +385,9 @@ void CLEARGRASSCGD1Discovery(const char* mac, const char* sensorModel) {
|
||||
void CLEARGRASSCGDK2Discovery(const char* mac, const char* sensorModel) {
|
||||
# define CLEARGRASSCGDK2parametersCount 2
|
||||
Log.trace(F("CLEARGRASSCGDK2Discovery" CR));
|
||||
const char* CLEARGRASSCGDK2sensor[CLEARGRASSCGDK2parametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSCGDK2-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "CLEARGRASSCGDK2-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
const char* CLEARGRASSCGDK2sensor[CLEARGRASSCGDK2parametersCount][9] = {
|
||||
{"sensor", "CLEARGRASSCGDK2-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "CLEARGRASSCGDK2-hum", mac, "humidity", jsonHum, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -397,9 +397,9 @@ void CLEARGRASSCGDK2Discovery(const char* mac, const char* sensorModel) {
|
||||
void CLEARGRASSCGPR1Discovery(const char* mac, const char* sensorModel) {
|
||||
# define CLEARGRASSCGPR1parametersCount 2
|
||||
Log.trace(F("CLEARGRASSCGPR1Discovery" CR));
|
||||
const char* CLEARGRASSCGPR1sensor[CLEARGRASSCGPR1parametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSCGPR1-pres", mac, "", jsonPres, "", "", ""},
|
||||
{"sensor", "CLEARGRASSCGPR1-lux", mac, "illuminance", jsonLux, "", "", "lx"}
|
||||
const char* CLEARGRASSCGPR1sensor[CLEARGRASSCGPR1parametersCount][9] = {
|
||||
{"sensor", "CLEARGRASSCGPR1-pres", mac, "", jsonPres, "", "", "", stateClassMeasurement},
|
||||
{"sensor", "CLEARGRASSCGPR1-lux", mac, "illuminance", jsonLux, "", "", "lx", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -409,8 +409,8 @@ void CLEARGRASSCGPR1Discovery(const char* mac, const char* sensorModel) {
|
||||
void CLEARGRASSCGH1Discovery(const char* mac, const char* sensorModel) {
|
||||
# define CLEARGRASSCGH1parametersCount 1
|
||||
Log.trace(F("CLEARGRASSCGH1Discovery" CR));
|
||||
const char* CLEARGRASSCGH1sensor[CLEARGRASSCGH1parametersCount][8] = {
|
||||
{"binary_sensor", "CLEARGRASSCGH1-open", mac, "door", jsonOpen, "True", "False", ""},
|
||||
const char* CLEARGRASSCGH1sensor[CLEARGRASSCGH1parametersCount][9] = {
|
||||
{"binary_sensor", "CLEARGRASSCGH1-open", mac, "door", jsonOpen, "True", "False", "", stateClassNone},
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -420,10 +420,10 @@ void CLEARGRASSCGH1Discovery(const char* mac, const char* sensorModel) {
|
||||
void CLEARGRASSTRHKPADiscovery(const char* mac, const char* sensorModel) {
|
||||
# define CLEARGRASSTRHKPAparametersCount 3
|
||||
Log.trace(F("CLEARGRASSTRHKPADiscovery" CR));
|
||||
const char* CLEARGRASSTRHKPAsensor[CLEARGRASSTRHKPAparametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSTRHKPA-pres", mac, "pressure", jsonPres, "", "", "kPa"},
|
||||
{"sensor", "CLEARGRASSTRHKPA-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "CLEARGRASSTRHKPA-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
const char* CLEARGRASSTRHKPAsensor[CLEARGRASSTRHKPAparametersCount][9] = {
|
||||
{"sensor", "CLEARGRASSTRHKPA-pres", mac, "pressure", jsonPres, "", "", "kPa", stateClassMeasurement},
|
||||
{"sensor", "CLEARGRASSTRHKPA-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "CLEARGRASSTRHKPA-hum", mac, "humidity", jsonHum, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -434,8 +434,8 @@ void CLEARGRASSTRHKPADiscovery(const char* mac, const char* sensorModel) {
|
||||
void MiScaleDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define MiScaleparametersCount 1
|
||||
Log.trace(F("MiScaleDiscovery" CR));
|
||||
const char* MiScalesensor[MiScaleparametersCount][8] = {
|
||||
{"sensor", "MiScale-weight", mac, "", jsonWeight, "", "", "kg"},
|
||||
const char* MiScalesensor[MiScaleparametersCount][9] = {
|
||||
{"sensor", "MiScale-weight", mac, "", jsonWeight, "", "", "kg", stateClassMeasurement},
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -445,8 +445,8 @@ void MiScaleDiscovery(const char* mac, const char* sensorModel) {
|
||||
void MiLampDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define MiLampparametersCount 1
|
||||
Log.trace(F("MiLampDiscovery" CR));
|
||||
const char* MiLampsensor[MiLampparametersCount][8] = {
|
||||
{"sensor", "MiLamp-presence", mac, "", jsonPresence, "", "", "d"},
|
||||
const char* MiLampsensor[MiLampparametersCount][9] = {
|
||||
{"sensor", "MiLamp-presence", mac, "", jsonPresence, "", "", "d", stateClassNone},
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -456,8 +456,8 @@ void MiLampDiscovery(const char* mac, const char* sensorModel) {
|
||||
void MiBandDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define MiBandparametersCount 1
|
||||
Log.trace(F("MiBandDiscovery" CR));
|
||||
const char* MiBandsensor[MiBandparametersCount][8] = {
|
||||
{"sensor", "MiBand-steps", mac, "", jsonStep, "", "", "nb"},
|
||||
const char* MiBandsensor[MiBandparametersCount][9] = {
|
||||
{"sensor", "MiBand-steps", mac, "", jsonStep, "", "", "nb", stateClassNone},
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -467,10 +467,10 @@ void MiBandDiscovery(const char* mac, const char* sensorModel) {
|
||||
void InkBirdTH1Discovery(const char* mac, const char* sensorModel) {
|
||||
# define InkBirdTH1parametersCount 3
|
||||
Log.trace(F("InkBirdTH1Discovery" CR));
|
||||
const char* InkBirdTH1sensor[InkBirdTH1parametersCount][8] = {
|
||||
{"sensor", "InkBirdTH1-batt", mac, "battery", jsonBatt, "", "", "%"},
|
||||
{"sensor", "InkBirdTH1-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "InkBirdTH1-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
const char* InkBirdTH1sensor[InkBirdTH1parametersCount][9] = {
|
||||
{"sensor", "InkBirdTH1-batt", mac, "battery", jsonBatt, "", "", "%", stateClassMeasurement},
|
||||
{"sensor", "InkBirdTH1-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "InkBirdTH1-hum", mac, "humidity", jsonHum, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -480,9 +480,9 @@ void InkBirdTH1Discovery(const char* mac, const char* sensorModel) {
|
||||
void InkBirdTH2Discovery(const char* mac, const char* sensorModel) {
|
||||
# define InkBirdTH2parametersCount 2
|
||||
Log.trace(F("InkBirdTH2Discovery" CR));
|
||||
const char* InkBirdTH2sensor[InkBirdTH2parametersCount][8] = {
|
||||
{"sensor", "InkBirdTH2-batt", mac, "battery", jsonBatt, "", "", "%"},
|
||||
{"sensor", "InkBirdTH2-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
const char* InkBirdTH2sensor[InkBirdTH2parametersCount][9] = {
|
||||
{"sensor", "InkBirdTH2-batt", mac, "battery", jsonBatt, "", "", "%", stateClassMeasurement},
|
||||
{"sensor", "InkBirdTH2-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -492,11 +492,11 @@ void InkBirdTH2Discovery(const char* mac, const char* sensorModel) {
|
||||
void InkBird4XSDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define InkBird4XSparametersCount 4
|
||||
Log.trace(F("InkBird4XSDiscovery" CR));
|
||||
const char* InkBird4XSsensor[InkBird4XSparametersCount][8] = {
|
||||
{"sensor", "InkBird4XS-temp1", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "InkBird4XS-temp2", mac, "temperature", jsonTempc2, "", "", "°C"},
|
||||
{"sensor", "InkBird4XS-temp3", mac, "temperature", jsonTempc3, "", "", "°C"},
|
||||
{"sensor", "InkBird4XS-temp4", mac, "temperature", jsonTempc4, "", "", "°C"},
|
||||
const char* InkBird4XSsensor[InkBird4XSparametersCount][9] = {
|
||||
{"sensor", "InkBird4XS-temp1", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "InkBird4XS-temp2", mac, "temperature", jsonTempc2, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "InkBird4XS-temp3", mac, "temperature", jsonTempc3, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "InkBird4XS-temp4", mac, "temperature", jsonTempc4, "", "", "°C", stateClassMeasurement},
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -506,11 +506,11 @@ void InkBird4XSDiscovery(const char* mac, const char* sensorModel) {
|
||||
void LYWSD03MMCDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define LYWSD03MMCparametersCount 4
|
||||
Log.trace(F("LYWSD03MMCDiscovery" CR));
|
||||
const char* LYWSD03MMCsensor[LYWSD03MMCparametersCount][8] = {
|
||||
{"sensor", "LYWSD03MMC-batt", mac, "battery", jsonBatt, "", "", "%"},
|
||||
{"sensor", "LYWSD03MMC-volt", mac, "", jsonVolt, "", "", "V"},
|
||||
{"sensor", "LYWSD03MMC-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "LYWSD03MMC-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
const char* LYWSD03MMCsensor[LYWSD03MMCparametersCount][9] = {
|
||||
{"sensor", "LYWSD03MMC-batt", mac, "battery", jsonBatt, "", "", "%", stateClassMeasurement},
|
||||
{"sensor", "LYWSD03MMC-volt", mac, "", jsonVolt, "", "", "V", stateClassMeasurement},
|
||||
{"sensor", "LYWSD03MMC-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "LYWSD03MMC-hum", mac, "humidity", jsonHum, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -520,11 +520,11 @@ void LYWSD03MMCDiscovery(const char* mac, const char* sensorModel) {
|
||||
void MHO_C401Discovery(const char* mac, const char* sensorModel) {
|
||||
# define MHO_C401parametersCount 4
|
||||
Log.trace(F("MHO_C401Discovery" CR));
|
||||
const char* MHO_C401sensor[MHO_C401parametersCount][8] = {
|
||||
{"sensor", "MHO_C401-batt", mac, "battery", jsonBatt, "", "", "%"},
|
||||
{"sensor", "MHO_C401-volt", mac, "", jsonVolt, "", "", "V"},
|
||||
{"sensor", "MHO_C401-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "MHO_C401-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
const char* MHO_C401sensor[MHO_C401parametersCount][9] = {
|
||||
{"sensor", "MHO_C401-batt", mac, "battery", jsonBatt, "", "", "%", stateClassMeasurement},
|
||||
{"sensor", "MHO_C401-volt", mac, "", jsonVolt, "", "", "V", stateClassMeasurement},
|
||||
{"sensor", "MHO_C401-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "MHO_C401-hum", mac, "humidity", jsonHum, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -534,10 +534,10 @@ void MHO_C401Discovery(const char* mac, const char* sensorModel) {
|
||||
void INodeEMDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define INodeEMparametersCount 3
|
||||
Log.trace(F("INodeEMDiscovery" CR));
|
||||
const char* INodeEMsensor[INodeEMparametersCount][8] = {
|
||||
{"sensor", "iNodeEM-power", mac, "power", jsonPower, "", "", "W"},
|
||||
{"sensor", "iNodeEM-energy", mac, "", jsonEnergy, "", "", "kWh"},
|
||||
{"sensor", "iNodeEM-batt", mac, "battery", jsonBatt, "", "", "%"}
|
||||
const char* INodeEMsensor[INodeEMparametersCount][9] = {
|
||||
{"sensor", "iNodeEM-power", mac, "power", jsonPower, "", "", "W", stateClassMeasurement},
|
||||
{"sensor", "iNodeEM-energy", mac, "", jsonEnergy, "", "", "kWh", stateClassMeasurement},
|
||||
{"sensor", "iNodeEM-batt", mac, "battery", jsonBatt, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -547,10 +547,10 @@ void INodeEMDiscovery(const char* mac, const char* sensorModel) {
|
||||
void WS02Discovery(const char* mac, const char* sensorModel) {
|
||||
# define WS02parametersCount 3
|
||||
Log.trace(F("WS02Discovery" CR));
|
||||
const char* WS02sensor[WS02parametersCount][8] = {
|
||||
{"sensor", "WS02-volt", mac, "", jsonVolt, "", "", "V"},
|
||||
{"sensor", "WS02-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "WS02-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
const char* WS02sensor[WS02parametersCount][9] = {
|
||||
{"sensor", "WS02-volt", mac, "", jsonVolt, "", "", "V", stateClassMeasurement},
|
||||
{"sensor", "WS02-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "WS02-hum", mac, "humidity", jsonHum, "", "", "%", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -560,13 +560,13 @@ void WS02Discovery(const char* mac, const char* sensorModel) {
|
||||
void DT24Discovery(const char* mac, const char* sensorModel) {
|
||||
# define DT24parametersCount 6
|
||||
Log.trace(F("DT24Discovery" CR));
|
||||
const char* DT24sensor[DT24parametersCount][8] = {
|
||||
{"sensor", "DT24-volt", mac, "power", jsonVolt, "", "", "V"},
|
||||
{"sensor", "DT24-amp", mac, "power", jsonCurrent, "", "", "A"},
|
||||
{"sensor", "DT24-watt", mac, "power", jsonPower, "", "", "W"},
|
||||
{"sensor", "DT24-watt-hour", mac, "power", jsonEnergy, "", "", "kWh"},
|
||||
{"sensor", "DT24-price", mac, "", jsonMsg, "", "", ""},
|
||||
{"sensor", "DT24-temp", mac, "temperature", jsonTempc, "", "", "°C"}
|
||||
const char* DT24sensor[DT24parametersCount][9] = {
|
||||
{"sensor", "DT24-volt", mac, "power", jsonVolt, "", "", "V", stateClassMeasurement},
|
||||
{"sensor", "DT24-amp", mac, "power", jsonCurrent, "", "", "A", stateClassMeasurement},
|
||||
{"sensor", "DT24-watt", mac, "power", jsonPower, "", "", "W", stateClassMeasurement},
|
||||
{"sensor", "DT24-watt-hour", mac, "power", jsonEnergy, "", "", "kWh", stateClassMeasurement},
|
||||
{"sensor", "DT24-price", mac, "", jsonMsg, "", "", "", stateClassNone},
|
||||
{"sensor", "DT24-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -576,11 +576,11 @@ void DT24Discovery(const char* mac, const char* sensorModel) {
|
||||
void EddystoneTLMDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define EddystoneTLMparametersCount 4
|
||||
Log.trace(F("EddystoneTLMDiscovery" CR));
|
||||
const char* EddystoneTLMsensor[EddystoneTLMparametersCount][8] = {
|
||||
{"sensor", "EddystoneTLM-volt", mac, "", jsonVolt, "", "", "V"},
|
||||
{"sensor", "EddystoneTLM-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "EddystoneTLM-count", mac, "", jsonCount, "", "", ""},
|
||||
{"sensor", "EddystoneTLM-time", mac, "", jsonTime, "", "", ""}
|
||||
const char* EddystoneTLMsensor[EddystoneTLMparametersCount][9] = {
|
||||
{"sensor", "EddystoneTLM-volt", mac, "", jsonVolt, "", "", "V", stateClassMeasurement},
|
||||
{"sensor", "EddystoneTLM-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "EddystoneTLM-count", mac, "", jsonCount, "", "", "", stateClassTotal},
|
||||
{"sensor", "EddystoneTLM-time", mac, "", jsonTime, "", "", "", stateClassNone}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -590,12 +590,12 @@ void EddystoneTLMDiscovery(const char* mac, const char* sensorModel) {
|
||||
void TPMSDiscovery(const char* mac, const char* sensorModel) {
|
||||
# define TPMSparametersCount 5
|
||||
Log.trace(F("TPMSDiscovery" CR));
|
||||
const char* TPMSsensor[TPMSparametersCount][8] = {
|
||||
{"sensor", "TPMS-batt", mac, "battery", jsonBatt, "", "", "%"},
|
||||
{"sensor", "TPMS-temp", mac, "temperature", jsonTempc, "", "", "°C"},
|
||||
{"sensor", "TPMS-pres", mac, "pressure", jsonPres, "", "", "kPa"},
|
||||
{"sensor", "TPMS-count", mac, "", jsonCount, "", "", ""},
|
||||
{"sensor", "TPMS-alarm", mac, "", jsonAlarm, "", "", ""}
|
||||
const char* TPMSsensor[TPMSparametersCount][9] = {
|
||||
{"sensor", "TPMS-batt", mac, "battery", jsonBatt, "", "", "%", stateClassMeasurement},
|
||||
{"sensor", "TPMS-temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement},
|
||||
{"sensor", "TPMS-pres", mac, "pressure", jsonPres, "", "", "kPa", stateClassMeasurement},
|
||||
{"sensor", "TPMS-count", mac, "", jsonCount, "", "", "", stateClassTotal},
|
||||
{"sensor", "TPMS-alarm", mac, "", jsonAlarm, "", "", "", stateClassNone}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
|
||||
+2
-1
@@ -51,7 +51,8 @@ void RFtoMQTTdiscovery(SIGNAL_SIZE_UL_ULL MQTTvalue) { //on the fly switch creat
|
||||
will_Topic, switchRF[3], switchRF[4],
|
||||
switchRF[5], switchRF[6], switchRF[7],
|
||||
0, "", "", true, subjectMQTTtoRF,
|
||||
"", "", "", "", false);
|
||||
"", "", "", "", false,
|
||||
stateClassNone);
|
||||
}
|
||||
# endif
|
||||
|
||||
|
||||
@@ -111,7 +111,8 @@ void RF2toMQTTdiscovery(JsonObject& data) {
|
||||
(char*)getUniqueId(switchRF[1], "").c_str(), will_Topic,
|
||||
switchRF[3], switchRF[4], switchRF[5], switchRF[6],
|
||||
switchRF[7], 0, "", "", true, subjectMQTTtoRF2,
|
||||
"", "", "", "", false);
|
||||
"", "", "", "", false,
|
||||
stateClassNone);
|
||||
}
|
||||
# endif
|
||||
|
||||
|
||||
+142
-46
@@ -48,29 +48,81 @@ String getUniqueId(String name, String sufix) {
|
||||
}
|
||||
|
||||
# ifdef ZgatewayBT
|
||||
void createDiscoveryFromList(const char* mac, const char* sensorList[][8], int sensorCount,
|
||||
const char* device_name, const char* device_manufacturer, const char* device_model) {
|
||||
/**
|
||||
* Create a discover messages form a list of attribute
|
||||
*
|
||||
* @param mac the mac adres
|
||||
* @param sensorList[][0] = component type
|
||||
* @param sensorList[][1] = name
|
||||
* @param sensorList[][2] = availability topic
|
||||
* @param sensorList[][3] = device class
|
||||
* @param sensorList[][4] = value template
|
||||
* @param sensorList[][5] = payload on
|
||||
* @param sensorList[][6] = payload off
|
||||
* @param sensorList[][7] = unit of measurement
|
||||
* @param sensorList[][8] = unit of measurement
|
||||
* @param sensorCount number of sensor
|
||||
* @param device_name name of sensors
|
||||
* @param device_manufacturer name of manufacturer
|
||||
* @param device_model the model
|
||||
* */
|
||||
void createDiscoveryFromList(const char* mac,
|
||||
const char* sensorList[][9],
|
||||
int sensorCount,
|
||||
const char* device_name,
|
||||
const char* device_manufacturer,
|
||||
const char* device_model) {
|
||||
for (int i = 0; i < sensorCount; i++) {
|
||||
Log.trace(F("CreateDiscoverySensor %s" CR), sensorList[i][1]);
|
||||
String discovery_topic = String(subjectBTtoMQTT) + "/" + String(mac);
|
||||
String unique_id = String(mac) + "-" + sensorList[i][1];
|
||||
|
||||
createDiscovery(sensorList[i][0],
|
||||
discovery_topic.c_str(), sensorList[i][1], unique_id.c_str(),
|
||||
will_Topic, sensorList[i][3], sensorList[i][4],
|
||||
sensorList[i][5], sensorList[i][6], sensorList[i][7],
|
||||
0, "", "", false, "",
|
||||
device_name, device_manufacturer, device_model, mac, false);
|
||||
device_name, device_manufacturer, device_model, mac, false,
|
||||
sensorList[i][8] //The state class
|
||||
);
|
||||
}
|
||||
}
|
||||
# endif
|
||||
|
||||
/**
|
||||
* Generate message and publish it on an mqtt discovery exploiter @see https://www.home-assistant.io/docs/mqtt/discovery/
|
||||
*
|
||||
* @param sensor_type the Type
|
||||
* @param st_topic set state topic,
|
||||
* @param s_name set name,
|
||||
* @param unique_id set niqueId
|
||||
* @param availability_topic set availability_topic,
|
||||
* @param device_class set device_class,
|
||||
* @param value_template set value_template,
|
||||
* @param payload_on set payload_on,
|
||||
* @param payload_off set payload_off,
|
||||
* @param unit_of_meas set unit_of_meas,
|
||||
* @param off_delay set off_delay
|
||||
* @param payload_available set payload_avalaible,
|
||||
* @param payload_not_avalaible set payload_not_avalaible
|
||||
* @param gateway_entity set is a gateway entity,
|
||||
* @param cmd_topic set command topic
|
||||
* @param device_name set device name,
|
||||
* @param device_manufacturer set device manufacturer,
|
||||
* @param device_model set device model,
|
||||
* @param device_mac set device mac,
|
||||
* @param retainCmd set retain
|
||||
* @param state_class set state class
|
||||
*
|
||||
* */
|
||||
void createDiscovery(const char* sensor_type,
|
||||
const char* st_topic, const char* s_name, const char* unique_id,
|
||||
const char* availability_topic, const char* device_class, const char* value_template,
|
||||
const char* payload_on, const char* payload_off, const char* unit_of_meas,
|
||||
int off_delay,
|
||||
const char* payload_available, const char* payload_not_avalaible, bool gateway_entity, const char* cmd_topic,
|
||||
const char* device_name, const char* device_manufacturer, const char* device_model, const char* device_mac, bool retainCmd) {
|
||||
const char* device_name, const char* device_manufacturer, const char* device_model, const char* device_mac, bool retainCmd,
|
||||
const char* state_class) {
|
||||
const int JSON_MSG_CALC_BUFFER = JSON_OBJECT_SIZE(14) + JSON_OBJECT_SIZE(5) + JSON_ARRAY_SIZE(1);
|
||||
StaticJsonDocument<JSON_MSG_CALC_BUFFER> jsonBuffer;
|
||||
JsonObject sensor = jsonBuffer.to<JsonObject>();
|
||||
@@ -115,6 +167,8 @@ void createDiscovery(const char* sensor_type,
|
||||
sensor["pl_avail"] = payload_available; // payload_on
|
||||
if (payload_not_avalaible[0])
|
||||
sensor["pl_not_avail"] = payload_not_avalaible; //payload_off
|
||||
if (state_class[0])
|
||||
sensor["state_class"] = state_class; //add the state class on the sensors ( https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes )
|
||||
|
||||
if (cmd_topic[0]) {
|
||||
char command_topic[mqtt_topic_max_size];
|
||||
@@ -175,7 +229,8 @@ void pubMqttDiscovery() {
|
||||
Gateway_AnnouncementMsg, will_Message, "", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
Gateway_AnnouncementMsg, will_Message, true, "", //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("sensor", //set Type
|
||||
subjectSYStoMQTT, "SYS: Uptime", (char*)getUniqueId("uptime", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -183,7 +238,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "s", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
|
||||
# if defined(ESP8266) || defined(ESP32)
|
||||
@@ -193,7 +249,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "B", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("sensor", //set Type
|
||||
subjectSYStoMQTT, "SYS: IP", (char*)getUniqueId("ip", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -201,7 +258,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# ifndef ESP32_ETHERNET
|
||||
createDiscovery("sensor", //set Type
|
||||
@@ -210,7 +268,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "dB", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
# endif
|
||||
@@ -221,7 +280,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# if defined(ZboardM5STICKC) || defined(ZboardM5STICKCP)
|
||||
createDiscovery("sensor", //set Type
|
||||
@@ -230,7 +290,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "V", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a child device, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("sensor", //set Type
|
||||
subjectSYStoMQTT, "SYS: Bat current", (char*)getUniqueId("m5batcurrent", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -238,7 +299,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "A", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a child device, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("sensor", //set Type
|
||||
subjectSYStoMQTT, "SYS: Vin voltage", (char*)getUniqueId("m5vinvoltage", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -246,7 +308,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "V", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a child device, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("sensor", //set Type
|
||||
subjectSYStoMQTT, "SYS: Vin current", (char*)getUniqueId("m5vincurrent", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -254,7 +317,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "A", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a child device, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
# ifdef ZboardM5STACK
|
||||
@@ -264,7 +328,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "%", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a child device, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("binary_sensor", //set Type
|
||||
subjectSYStoMQTT, "SYS: Is Charging", (char*)getUniqueId("m5ischarging", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -272,7 +337,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "%", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a child device, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("binary_sensor", //set Type
|
||||
subjectSYStoMQTT, "SYS: Is Charge Full", (char*)getUniqueId("m5ischargefull", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -280,7 +346,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "%", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a child device, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
# endif
|
||||
@@ -290,7 +357,8 @@ void pubMqttDiscovery() {
|
||||
"{\"cmd\":\"restart\"}", "", "", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
Gateway_AnnouncementMsg, will_Message, true, subjectMQTTtoSYSset, //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("switch", //set Type
|
||||
will_Topic, "SYS: Erase credentials", (char*)getUniqueId("erase", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -298,7 +366,8 @@ void pubMqttDiscovery() {
|
||||
"{\"cmd\":\"erase\"}", "", "", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
Gateway_AnnouncementMsg, will_Message, true, subjectMQTTtoSYSset, //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("switch", //set Type
|
||||
"", "SYS: Auto discovery", (char*)getUniqueId("discovery", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -306,7 +375,8 @@ void pubMqttDiscovery() {
|
||||
"{\"discovery\":true}", "{\"discovery\":false}", "", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
Gateway_AnnouncementMsg, will_Message, true, subjectMQTTtoSYSset, //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", true // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", true, // device name, device manufacturer, device model, device mac, retain,
|
||||
stateClassNone //State Class
|
||||
);
|
||||
|
||||
# ifdef ZsensorBME280
|
||||
@@ -329,7 +399,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, BMEsensor[i][3], BMEsensor[i][4],
|
||||
BMEsensor[i][5], BMEsensor[i][6], BMEsensor[i][7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
}
|
||||
# endif
|
||||
@@ -351,7 +422,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, HTUsensor[i][3], HTUsensor[i][4],
|
||||
HTUsensor[i][5], HTUsensor[i][6], HTUsensor[i][7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
}
|
||||
# endif
|
||||
@@ -372,7 +444,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, AHTsensor[i][3], AHTsensor[i][4],
|
||||
AHTsensor[i][5], AHTsensor[i][6], AHTsensor[i][7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
}
|
||||
# endif
|
||||
@@ -394,7 +467,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, DHTsensor[i][3], DHTsensor[i][4],
|
||||
DHTsensor[i][5], DHTsensor[i][6], DHTsensor[i][7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
}
|
||||
# endif
|
||||
@@ -411,7 +485,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, ADCsensor[3], ADCsensor[4],
|
||||
ADCsensor[5], ADCsensor[6], ADCsensor[7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
|
||||
@@ -433,7 +508,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, BH1750sensor[i][3], BH1750sensor[i][4],
|
||||
BH1750sensor[i][5], BH1750sensor[i][6], BH1750sensor[i][7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
}
|
||||
# endif
|
||||
@@ -456,7 +532,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, TSL2561sensor[i][3], TSL2561sensor[i][4],
|
||||
TSL2561sensor[i][5], TSL2561sensor[i][6], TSL2561sensor[i][7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
}
|
||||
# endif
|
||||
@@ -473,7 +550,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, HCSR501sensor[3], HCSR501sensor[4],
|
||||
HCSR501sensor[5], HCSR501sensor[6], HCSR501sensor[7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
|
||||
@@ -489,7 +567,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, GPIOInputsensor[3], GPIOInputsensor[4],
|
||||
GPIOInputsensor[5], GPIOInputsensor[6], GPIOInputsensor[7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
|
||||
@@ -511,7 +590,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, INA226sensor[i][3], INA226sensor[i][4],
|
||||
INA226sensor[i][5], INA226sensor[i][6], INA226sensor[i][7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
}
|
||||
# endif
|
||||
@@ -533,7 +613,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, actuatorONOFF[3], actuatorONOFF[4],
|
||||
actuatorONOFF[5], actuatorONOFF[6], actuatorONOFF[7],
|
||||
0, "", "", true, subjectMQTTtoONOFF,
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
|
||||
@@ -550,7 +631,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, gatewayRF[3], gatewayRF[4],
|
||||
gatewayRF[5], gatewayRF[6], gatewayRF[7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
|
||||
@@ -567,7 +649,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, gatewayRF2[3], gatewayRF2[4],
|
||||
gatewayRF2[5], gatewayRF2[6], gatewayRF2[7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
|
||||
@@ -584,7 +667,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, gatewayRFM69[3], gatewayRFM69[4],
|
||||
gatewayRFM69[5], gatewayRFM69[6], gatewayRFM69[7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
|
||||
@@ -601,7 +685,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, gatewayLORA[3], gatewayLORA[4],
|
||||
gatewayLORA[5], gatewayLORA[6], gatewayLORA[7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
|
||||
@@ -618,7 +703,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, gatewaySRFB[3], gatewaySRFB[4],
|
||||
gatewaySRFB[5], gatewaySRFB[6], gatewaySRFB[7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
|
||||
@@ -635,7 +721,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, gatewayPilight[3], gatewayPilight[4],
|
||||
gatewayPilight[5], gatewayPilight[6], gatewayPilight[7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
|
||||
@@ -652,7 +739,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, gatewayIR[3], gatewayIR[4],
|
||||
gatewayIR[5], gatewayIR[6], gatewayIR[7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
|
||||
@@ -669,7 +757,8 @@ void pubMqttDiscovery() {
|
||||
will_Topic, gateway2G[3], gateway2G[4],
|
||||
gateway2G[5], gateway2G[6], gateway2G[7],
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
|
||||
@@ -680,7 +769,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "ms", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain,
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("sensor", //set Type
|
||||
subjectSYStoMQTT, "BT: Connnect every X scan(s)", (char*)getUniqueId("scanbcnct", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -688,7 +778,8 @@ void pubMqttDiscovery() {
|
||||
"", "", "", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, "", //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("switch", //set Type
|
||||
will_Topic, "BT: Force scan", (char*)getUniqueId("force_scan", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -696,7 +787,8 @@ void pubMqttDiscovery() {
|
||||
"{\"interval\":0}", "", "", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
Gateway_AnnouncementMsg, will_Message, true, subjectMQTTtoBTset, //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", false // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", false, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("switch", //set Type
|
||||
"", "BT: Publish only sensors", (char*)getUniqueId("only_sensors", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -704,7 +796,8 @@ void pubMqttDiscovery() {
|
||||
"{\"onlysensors\":true}", "{\"onlysensors\":false}", "", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
Gateway_AnnouncementMsg, will_Message, true, subjectMQTTtoBTset, //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", true // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", true, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("switch", //set Type
|
||||
"", "BT: Publish HASS presence", (char*)getUniqueId("hasspresence", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -712,7 +805,8 @@ void pubMqttDiscovery() {
|
||||
"{\"hasspresence\":true}", "{\"hasspresence\":false}", "", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
Gateway_AnnouncementMsg, will_Message, true, subjectMQTTtoBTset, //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", true // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", true, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# ifdef ESP32
|
||||
createDiscovery("switch", //set Type
|
||||
@@ -721,7 +815,8 @@ void pubMqttDiscovery() {
|
||||
"{\"lowpowermode\":2}", "{\"lowpowermode\":0}", "", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
"", "", true, subjectMQTTtoBTset, //set,payload_avalaible,payload_not avalaible,is a gateway entity, command topic
|
||||
"", "", "", "", true // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", true, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
createDiscovery("switch", //set Type
|
||||
"", "BT: Connect to devices", (char*)getUniqueId("bleconnect", "").c_str(), //set state_topic,name,uniqueId
|
||||
@@ -729,7 +824,8 @@ void pubMqttDiscovery() {
|
||||
"{\"bleconnect\":true}", "{\"bleconnect\":false}", "", //set,payload_on,payload_off,unit_of_meas,
|
||||
0, //set off_delay
|
||||
Gateway_AnnouncementMsg, will_Message, true, subjectMQTTtoBTset, //set,payload_avalaible,payload_not avalaible ,is a gateway entity, command topic
|
||||
"", "", "", "", true // device name, device manufacturer, device model, device mac, retain
|
||||
"", "", "", "", true, // device name, device manufacturer, device model, device mac, retain
|
||||
stateClassNone //State Class
|
||||
);
|
||||
# endif
|
||||
# endif
|
||||
|
||||
@@ -113,7 +113,9 @@ void pubOneWire_HADiscovery() {
|
||||
jsonTempc,
|
||||
"", "", "°C",
|
||||
0, "", "", true, "",
|
||||
"", "", "", "", false);
|
||||
"", "", "", "", false,
|
||||
stateClassMeasurement // state class
|
||||
);
|
||||
}
|
||||
}
|
||||
# endif
|
||||
|
||||
+40
-35
@@ -37,7 +37,8 @@ extern void createDiscovery(const char* sensor_type,
|
||||
const char* payload_on, const char* payload_off, const char* unit_of_meas,
|
||||
int off_delay,
|
||||
const char* payload_available, const char* payload_not_avalaible, bool gateway_entity, const char* command_topic,
|
||||
const char* device_name, const char* device_manufacturer, const char* device_model, const char* device_mac, bool retainCmd);
|
||||
const char* device_name, const char* device_manufacturer, const char* device_model, const char* device_mac, bool retainCmd,
|
||||
const char* state_class);
|
||||
|
||||
#define discovery_Topic "homeassistant"
|
||||
|
||||
@@ -83,40 +84,44 @@ extern void createDiscovery(const char* sensor_type,
|
||||
# define jsonCount "{{ value_json.count }}"
|
||||
# define jsonAlarm "{{ value_json.alarm }}"
|
||||
#else // Home assistant autodiscovery value key definition
|
||||
# define jsonBatt "{{ value_json.batt | is_defined }}"
|
||||
# define jsonLux "{{ value_json.lux | is_defined }}"
|
||||
# define jsonPres "{{ value_json.pres | is_defined }}"
|
||||
# define jsonFer "{{ value_json.fer | is_defined }}"
|
||||
# define jsonFor "{{ value_json.for | is_defined }}"
|
||||
# define jsonMoi "{{ value_json.moi | is_defined }}"
|
||||
# define jsonHum "{{ value_json.hum | is_defined }}"
|
||||
# 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 jsonTempc2 "{{ value_json.tempc2 | is_defined }}"
|
||||
# define jsonTempc3 "{{ value_json.tempc3 | is_defined }}"
|
||||
# define jsonTempc4 "{{ value_json.tempc4 | is_defined }}"
|
||||
# define jsonTempf "{{ value_json.tempf | is_defined }}"
|
||||
# define jsonMsg "{{ value_json.message | is_defined }}"
|
||||
# define jsonVal "{{ value_json.value | is_defined }}"
|
||||
# define jsonVolt "{{ value_json.volt | is_defined }}"
|
||||
# define jsonCurrent "{{ value_json.current | is_defined }}"
|
||||
# define jsonPower "{{ value_json.power | is_defined }}"
|
||||
# define jsonEnergy "{{ value_json.energy | is_defined }}"
|
||||
# define jsonGpio "{{ value_json.gpio | is_defined }}"
|
||||
# define jsonFtcd "{{ value_json.ftcd | is_defined }}"
|
||||
# define jsonWm2 "{{ value_json.wattsm2 | is_defined }}"
|
||||
# define jsonAdc "{{ value_json.adc | is_defined }}"
|
||||
# define jsonPa "{{ float(value_json.pa) * 0.01 | is_defined }}"
|
||||
# define jsonId "{{ value_json.id | is_defined }}"
|
||||
# define jsonAddress "{{ value_json.address | is_defined }}"
|
||||
# define jsonOpen "{{ value_json.open | is_defined }}"
|
||||
# define jsonTime "{{ value_json.time | is_defined }}"
|
||||
# define jsonCount "{{ value_json.count | is_defined }}"
|
||||
# define jsonAlarm "{{ value_json.alarm | is_defined }}"
|
||||
# define jsonBatt "{{ value_json.batt | is_defined }}"
|
||||
# define jsonLux "{{ value_json.lux | is_defined }}"
|
||||
# define jsonPres "{{ value_json.pres | is_defined }}"
|
||||
# define jsonFer "{{ value_json.fer | is_defined }}"
|
||||
# define jsonFor "{{ value_json.for | is_defined }}"
|
||||
# define jsonMoi "{{ value_json.moi | is_defined }}"
|
||||
# define jsonHum "{{ value_json.hum | is_defined }}"
|
||||
# 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 jsonTempc2 "{{ value_json.tempc2 | is_defined }}"
|
||||
# define jsonTempc3 "{{ value_json.tempc3 | is_defined }}"
|
||||
# define jsonTempc4 "{{ value_json.tempc4 | is_defined }}"
|
||||
# define jsonTempf "{{ value_json.tempf | is_defined }}"
|
||||
# define jsonMsg "{{ value_json.message | is_defined }}"
|
||||
# define jsonVal "{{ value_json.value | is_defined }}"
|
||||
# define jsonVolt "{{ value_json.volt | is_defined }}"
|
||||
# define jsonCurrent "{{ value_json.current | is_defined }}"
|
||||
# define jsonPower "{{ value_json.power | is_defined }}"
|
||||
# define jsonEnergy "{{ value_json.energy | is_defined }}"
|
||||
# define jsonGpio "{{ value_json.gpio | is_defined }}"
|
||||
# define jsonFtcd "{{ value_json.ftcd | is_defined }}"
|
||||
# define jsonWm2 "{{ value_json.wattsm2 | is_defined }}"
|
||||
# define jsonAdc "{{ value_json.adc | is_defined }}"
|
||||
# define jsonPa "{{ float(value_json.pa) * 0.01 | is_defined }}"
|
||||
# define jsonId "{{ value_json.id | is_defined }}"
|
||||
# define jsonAddress "{{ value_json.address | is_defined }}"
|
||||
# define jsonOpen "{{ value_json.open | is_defined }}"
|
||||
# define jsonTime "{{ value_json.time | is_defined }}"
|
||||
# define jsonCount "{{ value_json.count | is_defined }}"
|
||||
# define jsonAlarm "{{ value_json.alarm | is_defined }}"
|
||||
# define stateClassNone ""
|
||||
# define stateClassMeasurement "measurement"
|
||||
# define stateClassTotal "total"
|
||||
# define stateClassTotalIncreasing "total_increasing"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -29,7 +29,6 @@
|
||||
# include <esp_ota_ops.h> // get running partition
|
||||
# include <esp_partition.h>
|
||||
|
||||
|
||||
// To do extern "C" uint32_t _SPIFFS_start;
|
||||
// To do extern "C" uint32_t _SPIFFS_end;
|
||||
|
||||
|
||||
Reference in new issue
Block a user