Implement OpenHAB autodiscovery (#612)
This commit is contained in:
1 parent
a82bbe684a
commit
489ce99659
5 files changed
+127
-66
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
@@ -1,5 +1,18 @@
|
||||
# Integrate OPENHAB2
|
||||
|
||||
## Auto discovery through home assistant convention
|
||||
|
||||
OpenMQTTGateway support autodiscovery of things for OpenHAB 2.4, so as to do that it rely on home assistant auto discovery convention.
|
||||
So as to use the autodiscovery function you need to have:
|
||||
* The Jinga transformation addon installed
|
||||
* The Json transformation addon installed
|
||||
|
||||
You need to set `OpenHABAutoDiscovery` to true into `config_mqttDiscovery.h`
|
||||
`#define OpenHABDiscovery true`
|
||||
|
||||
The things will appear in the inbox of the paperUI, add them and links the channels. You should see them into the control panel for further usage.
|
||||

|
||||
|
||||
## MQTT 2 manual setup >=Openhab2.4
|
||||
You should have a mqtt broker installed (either mosquitto or the OpenHAB2 embedded one)
|
||||
|
||||
|
||||
+26
-26
@@ -149,10 +149,10 @@ void MiFloraDiscovery(char *mac)
|
||||
#define MiFloraparametersCount 4
|
||||
Log.trace(F("MiFloraDiscovery" CR));
|
||||
char *MiFlorasensor[MiFloraparametersCount][8] = {
|
||||
{"sensor", "MiFlora-lux", mac, "illuminance", "{{ value_json.lux | is_defined }}", "", "", "lu"},
|
||||
{"sensor", "MiFlora-tem", mac, "temperature", "{{ value_json.tem | is_defined }}", "", "", "°C"},
|
||||
{"sensor", "MiFlora-fer", mac, "", "{{ value_json.fer | is_defined }}", "", "", "µS/cm"},
|
||||
{"sensor", "MiFlora-moi", mac, "", "{{ value_json.moi | is_defined }}", "", "", "%"}
|
||||
{"sensor", "MiFlora-lux", mac, "illuminance", jsonLux, "", "", "lu"},
|
||||
{"sensor", "MiFlora-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "MiFlora-fer", mac, "", jsonFer, "", "", "µS/cm"},
|
||||
{"sensor", "MiFlora-moi", mac, "", jsonMoi, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -165,10 +165,10 @@ void VegTrugDiscovery(char *mac)
|
||||
#define VegTrugparametersCount 4
|
||||
Log.trace(F("VegTrugDiscovery" CR));
|
||||
char *VegTrugsensor[VegTrugparametersCount][8] = {
|
||||
{"sensor", "VegTrug-lux", mac, "illuminance", "{{ value_json.lux | is_defined }}", "", "", "lu"},
|
||||
{"sensor", "VegTrug-tem", mac, "temperature", "{{ value_json.tem | is_defined }}", "", "", "°C"},
|
||||
{"sensor", "VegTrug-fer", mac, "", "{{ value_json.fer | is_defined }}", "", "", "µS/cm"},
|
||||
{"sensor", "VegTrug-moi", mac, "", "{{ value_json.moi | is_defined }}", "", "", "%"}
|
||||
{"sensor", "VegTrug-lux", mac, "illuminance", jsonLux, "", "", "lu"},
|
||||
{"sensor", "VegTrug-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "VegTrug-fer", mac, "", jsonFer, "", "", "µS/cm"},
|
||||
{"sensor", "VegTrug-moi", mac, "", jsonMoi, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -181,9 +181,9 @@ void MiJiaDiscovery(char *mac)
|
||||
#define MiJiaparametersCount 3
|
||||
Log.trace(F("MiJiaDiscovery" CR));
|
||||
char *MiJiasensor[MiJiaparametersCount][8] = {
|
||||
{"sensor", "MiJia-batt", mac, "battery", "{{ value_json.batt | is_defined }}", "", "", "%"},
|
||||
{"sensor", "MiJia-tem", mac, "temperature", "{{ value_json.tem | is_defined }}", "", "", "°C"},
|
||||
{"sensor", "MiJia-hum", mac, "humidity", "{{ value_json.hum | is_defined }}", "", "", "%"}
|
||||
{"sensor", "MiJia-batt", mac, "battery", jsonBatt, "", "", "%"},
|
||||
{"sensor", "MiJia-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "MiJia-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -196,9 +196,9 @@ void LYWSD02Discovery(char *mac)
|
||||
#define LYWSD02parametersCount 3
|
||||
Log.trace(F("LYWSD02Discovery" CR));
|
||||
char *LYWSD02sensor[LYWSD02parametersCount][8] = {
|
||||
{"sensor", "LYWSD02-batt", mac, "battery", "{{ value_json.batt | is_defined }}", "", "", "V"},
|
||||
{"sensor", "LYWSD02-tem", mac, "temperature", "{{ value_json.tem | is_defined }}", "", "", "°C"},
|
||||
{"sensor", "LYWSD02-hum", mac, "humidity", "{{ value_json.hum | is_defined }}", "", "", "%"}
|
||||
{"sensor", "LYWSD02-batt", mac, "battery", jsonBatt, "", "", "V"},
|
||||
{"sensor", "LYWSD02-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "LYWSD02-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -211,9 +211,9 @@ void CLEARGRASSTRHDiscovery(char *mac)
|
||||
#define CLEARGRASSTRHparametersCount 3
|
||||
Log.trace(F("CLEARGRASSTRHDiscovery" CR));
|
||||
char *CLEARGRASSTRHsensor[CLEARGRASSTRHparametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSTRH-batt", mac, "battery", "{{ value_json.batt | is_defined }}", "", "", "V"},
|
||||
{"sensor", "CLEARGRASSTRH-tem", mac, "temperature", "{{ value_json.tem | is_defined }}", "", "", "°C"},
|
||||
{"sensor", "CLEARGRASSTRH-hum", mac, "humidity", "{{ value_json.hum | is_defined }}", "", "", "%"}
|
||||
{"sensor", "CLEARGRASSTRH-batt", mac, "battery", jsonBatt, "", "", "V"},
|
||||
{"sensor", "CLEARGRASSTRH-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "CLEARGRASSTRH-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -226,9 +226,9 @@ void CLEARGRASSCGD1Discovery(char *mac)
|
||||
#define CLEARGRASSCGD1parametersCount 3
|
||||
Log.trace(F("CLEARGRASSCGD1Discovery" CR));
|
||||
char *CLEARGRASSCGD1sensor[CLEARGRASSCGD1parametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSCGD1-batt", mac, "battery", "{{ value_json.batt | is_defined }}", "", "", "V"},
|
||||
{"sensor", "CLEARGRASSCGD1-tem", mac, "temperature", "{{ value_json.tem | is_defined }}", "", "", "°C"},
|
||||
{"sensor", "CLEARGRASSCGD1-hum", mac, "humidity", "{{ value_json.hum | is_defined }}", "", "", "%"}
|
||||
{"sensor", "CLEARGRASSCGD1-batt", mac, "battery", jsonBatt, "", "", "V"},
|
||||
{"sensor", "CLEARGRASSCGD1-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "CLEARGRASSCGD1-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -241,9 +241,9 @@ void CLEARGRASSTRHKPADiscovery(char *mac)
|
||||
#define CLEARGRASSTRHKPAparametersCount 3
|
||||
Log.trace(F("CLEARGRASSTRHKPADiscovery" CR));
|
||||
char *CLEARGRASSTRHKPAsensor[CLEARGRASSTRHKPAparametersCount][8] = {
|
||||
{"sensor", "CLEARGRASSTRHKPA-pres", mac, "pressure", "{{ value_json.pres | is_defined }}", "", "", "kPa"},
|
||||
{"sensor", "CLEARGRASSTRHKPA-tem", mac, "temperature", "{{ value_json.tem | is_defined }}", "", "", "°C"},
|
||||
{"sensor", "CLEARGRASSTRHKPA-hum", mac, "humidity", "{{ value_json.hum | is_defined }}", "", "", "%"}
|
||||
{"sensor", "CLEARGRASSTRHKPA-pres", mac, "pressure", jsonPres, "", "", "kPa"},
|
||||
{"sensor", "CLEARGRASSTRHKPA-tem", mac, "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "CLEARGRASSTRHKPA-hum", mac, "humidity", jsonHum, "", "", "%"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -256,7 +256,7 @@ void MiScaleDiscovery(char *mac)
|
||||
#define MiScaleparametersCount 1
|
||||
Log.trace(F("MiScaleDiscovery" CR));
|
||||
char *MiScalesensor[MiScaleparametersCount][8] = {
|
||||
{"sensor", "MiScale-weight", mac, "", "{{ value_json.weight | is_defined }}", "", "", "kg"},
|
||||
{"sensor", "MiScale-weight", mac, "", jsonWeight, "", "", "kg"},
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -269,7 +269,7 @@ void MiLampDiscovery(char *mac)
|
||||
#define MiLampparametersCount 1
|
||||
Log.trace(F("MiLampDiscovery" CR));
|
||||
char *MiLampsensor[MiLampparametersCount][8] = {
|
||||
{"sensor", "MiLamp-presence", mac, "", "{{ value_json.presence}}", "", "", "d"},
|
||||
{"sensor", "MiLamp-presence", mac, "", jsonPresence, "", "", "d"},
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -282,7 +282,7 @@ void MiBandDiscovery(char *mac)
|
||||
#define MiBandparametersCount 1
|
||||
Log.trace(F("MiBandDiscovery" CR));
|
||||
char *MiBandsensor[MiBandparametersCount][8] = {
|
||||
{"sensor", "MiBand-steps", mac, "", "{{ value_json.steps | is_defined }}", "", "", "nb"},
|
||||
{"sensor", "MiBand-steps", mac, "", jsonStep, "", "", "nb"},
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
|
||||
+32
-40
@@ -109,14 +109,6 @@ void createDiscovery(char *sensor_type,
|
||||
sensor.set("cmd_t", command_topic); //command_topic
|
||||
}
|
||||
|
||||
/*if (strcmp(s_name, Gateway_Name) == 0){
|
||||
JsonArray &json_attributes = sensor.createNestedArray("json_attributes");
|
||||
json_attributes.add("uptime");
|
||||
json_attributes.add("freemem");
|
||||
json_attributes.add("rssi");
|
||||
json_attributes.add("SSID");
|
||||
}*/
|
||||
|
||||
if (child_device)
|
||||
{
|
||||
StaticJsonBuffer<JSON_MSG_BUFFER> jsonDeviceBuffer;
|
||||
@@ -161,12 +153,12 @@ void pubMqttDiscovery()
|
||||
#define BMEparametersCount 6
|
||||
Log.trace(F("bme280Discovery" CR));
|
||||
char *BMEsensor[BMEparametersCount][8] = {
|
||||
{"sensor", "tempc", "bme", "temperature", "{{ value_json.tempc }}", "", "", "°C"},
|
||||
{"sensor", "tempf", "bme", "temperature", "{{ value_json.tempf }}", "", "", "°F"},
|
||||
{"sensor", "pa", "bme", "", "{{ float(value_json.pa) * 0.01 }}", "", "", "hPa"},
|
||||
{"sensor", "hum", "bme", "humidity", "{{ value_json.hum }}", "", "", "%"},
|
||||
{"sensor", "altim", "bme", "", "{{ value_json.altim }}", "", "", "m"},
|
||||
{"sensor", "altift", "bme", "", "{{ value_json.altift }}", "", "", "ft"}
|
||||
{"sensor", "tempc", "bme", "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "tempf", "bme", "temperature", jsonTempf, "", "", "°F"},
|
||||
{"sensor", "pa", "bme", "", jsonPa, "", "", "hPa"},
|
||||
{"sensor", "hum", "bme", "humidity", jsonHum, "", "", "%"},
|
||||
{"sensor", "altim", "bme", "", jsonAltim, "", "", "m"},
|
||||
{"sensor", "altift", "bme", "", jsonAltif, "", "", "ft"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -186,9 +178,9 @@ void pubMqttDiscovery()
|
||||
#define HTUparametersCount 3
|
||||
Log.trace(F("htu21Discovery" CR));
|
||||
char *HTUsensor[HTUparametersCount][8] = {
|
||||
{"sensor", "tempc", "htu", "temperature", "{{ value_json.tempc }}", "", "", "°C"},
|
||||
{"sensor", "tempf", "htu", "temperature", "{{ value_json.tempf }}", "", "", "°F"},
|
||||
{"sensor", "hum", "htu", "humidity", "{{ value_json.hum }}", "", "", "%"}
|
||||
{"sensor", "tempc", "htu", "temperature", jsonTemp, "", "", "°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
|
||||
};
|
||||
|
||||
@@ -208,8 +200,8 @@ void pubMqttDiscovery()
|
||||
#define DHTparametersCount 2
|
||||
Log.trace(F("DHTDiscovery" CR));
|
||||
char *DHTsensor[DHTparametersCount][8] = {
|
||||
{"sensor", "tempc", "dht", "temperature", "{{ value_json.temp }}", "", "", "°C"},
|
||||
{"sensor", "hum", "dht", "humidity", "{{ value_json.hum }}", "", "", "%"}};
|
||||
{"sensor", "tempc", "dht", "temperature", jsonTemp, "", "", "°C"},
|
||||
{"sensor", "hum", "dht", "humidity", jsonHum, "", "", "%"}};
|
||||
|
||||
for (int i = 0; i < DHTparametersCount; i++)
|
||||
{
|
||||
@@ -225,7 +217,7 @@ void pubMqttDiscovery()
|
||||
|
||||
#ifdef ZsensorADC
|
||||
Log.trace(F("ADCDiscovery" CR));
|
||||
char *ADCsensor[8] = {"sensor", "adc", "", "", "{{ value_json.adc }}", "", "", ""};
|
||||
char *ADCsensor[8] = {"sensor", "adc", "", "", jsonAdc, "", "", ""};
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
@@ -241,9 +233,9 @@ void pubMqttDiscovery()
|
||||
#define BH1750parametersCount 3
|
||||
Log.trace(F("BH1750Discovery" CR));
|
||||
char *BH1750sensor[BH1750parametersCount][8] = {
|
||||
{"sensor", "lux", "BH1750", "illuminance", "{{ value_json.lux }}", "", "", "lu"},
|
||||
{"sensor", "ftCd", "BH1750", "", "{{ value_json.ftCd }}", "", "", ""},
|
||||
{"sensor", "wattsm2", "BH1750", "", "{{ value_json.wattsm2 }}", "", "", "wm²"}
|
||||
{"sensor", "lux", "BH1750", "illuminance", jsonLux, "", "", "lu"},
|
||||
{"sensor", "ftCd", "BH1750", "", jsonFtcd, "", "", ""},
|
||||
{"sensor", "wattsm2", "BH1750", "", jsonWm2, "", "", "wm²"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -263,9 +255,9 @@ void pubMqttDiscovery()
|
||||
#define TSL2561parametersCount 3
|
||||
Log.trace(F("TSL2561Discovery" CR));
|
||||
char *TSL2561sensor[TSL2561parametersCount][8] = {
|
||||
{"sensor", "lux", "TSL2561", "illuminance", "{{ value_json.lux }}", "", "", "lu"},
|
||||
{"sensor", "ftcd", "TSL2561", "", "{{ value_json.ftcd }}", "", "", ""},
|
||||
{"sensor", "wattsm2", "TSL2561", "", "{{ value_json.wattsm2 }}", "", "", "wm²"}
|
||||
{"sensor", "lux", "TSL2561", "illuminance", jsonLux, "", "", "lu"},
|
||||
{"sensor", "ftcd", "TSL2561", "", jsonFtcd, "", "", ""},
|
||||
{"sensor", "wattsm2", "TSL2561", "", jsonWm2, "", "", "wm²"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -283,7 +275,7 @@ void pubMqttDiscovery()
|
||||
|
||||
#ifdef ZsensorHCSR501
|
||||
Log.trace(F("HCSR501Discovery" CR));
|
||||
char *HCSR501sensor[8] = {"binary_sensor", "hcsr501", "", "", "{{value_json.hcsr501}}", "true", "false", ""};
|
||||
char *HCSR501sensor[8] = {"binary_sensor", "hcsr501", "", "", jsonPresence, "true", "false", ""};
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
@@ -297,7 +289,7 @@ void pubMqttDiscovery()
|
||||
|
||||
#ifdef ZsensorGPIOInput
|
||||
Log.trace(F("GPIOInputDiscovery" CR));
|
||||
char *GPIOInputsensor[8] = {"binary_sensor", "GPIOInput", "", "", "{{value_json.gpio}}", "HIGH", "LOW", ""};
|
||||
char *GPIOInputsensor[8] = {"binary_sensor", "GPIOInput", "", "", jsonGpio, "HIGH", "LOW", ""};
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
@@ -313,9 +305,9 @@ void pubMqttDiscovery()
|
||||
#define INA226parametersCount 3
|
||||
Log.trace(F("INA226Discovery" CR));
|
||||
char *INA226sensor[INA226parametersCount][8] = {
|
||||
{"sensor", "volt", "INA226", "", "{{ value_json.volt }}", "", "", "V"},
|
||||
{"sensor", "current", "INA226", "", "{{ value_json.current }}", "", "", "A"},
|
||||
{"sensor", "power", "INA226", "", "{{ value_json.power }}", "", "", "W"}
|
||||
{"sensor", "volt", "INA226", "", jsonVolt, "", "", "V"},
|
||||
{"sensor", "current", "INA226", "", jsonCurrent, "", "", "A"},
|
||||
{"sensor", "power", "INA226", "", jsonPower, "", "", "W"}
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
};
|
||||
|
||||
@@ -348,7 +340,7 @@ void pubMqttDiscovery()
|
||||
#ifdef ZgatewayRF
|
||||
// Sensor to display RF received value
|
||||
Log.trace(F("gatewayRFDiscovery" CR));
|
||||
char *gatewayRF[8] = {"sensor", "gatewayRF", "", "", "{{ value_json.value }}", "", "", ""};
|
||||
char *gatewayRF[8] = {"sensor", "gatewayRF", "", "", jsonVal, "", "", ""};
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
@@ -363,7 +355,7 @@ void pubMqttDiscovery()
|
||||
#ifdef ZgatewayRF2
|
||||
// Sensor to display RF received value
|
||||
Log.trace(F("gatewayRF2Discovery" CR));
|
||||
char *gatewayRF2[8] = {"sensor", "gatewayRF2", "", "", "{{ value_json.value }}", "", "", ""};
|
||||
char *gatewayRF2[8] = {"sensor", "gatewayRF2", "", "", jsonVal, "", "", ""};
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
@@ -378,7 +370,7 @@ void pubMqttDiscovery()
|
||||
#ifdef ZgatewayRFM69
|
||||
// Sensor to display RF received value
|
||||
Log.trace(F("gatewayRFM69Discovery" CR));
|
||||
char *gatewayRFM69[8] = {"sensor", "gatewayRFM69", "", "", "{{ value_json.value }}", "", "", ""};
|
||||
char *gatewayRFM69[8] = {"sensor", "gatewayRFM69", "", "", jsonVal, "", "", ""};
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
@@ -393,7 +385,7 @@ void pubMqttDiscovery()
|
||||
#ifdef ZgatewayLORA
|
||||
// Sensor to display RF received value
|
||||
Log.trace(F("gatewayLORADiscovery" CR));
|
||||
char *gatewayLORA[8] = {"sensor", "gatewayLORA", "", "", "{{ value_json.message }}", "", "", ""};
|
||||
char *gatewayLORA[8] = {"sensor", "gatewayLORA", "", "", jsonMsg, "", "", ""};
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
@@ -408,7 +400,7 @@ void pubMqttDiscovery()
|
||||
#ifdef ZgatewaySRFB
|
||||
// Sensor to display RF received value
|
||||
Log.trace(F("gatewaySRFBDiscovery" CR));
|
||||
char *gatewaySRFB[8] = {"sensor", "gatewaySRFB", "", "", "{{ value_json.value }}", "", "", ""};
|
||||
char *gatewaySRFB[8] = {"sensor", "gatewaySRFB", "", "", jsonVal, "", "", ""};
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
@@ -423,7 +415,7 @@ void pubMqttDiscovery()
|
||||
#ifdef ZgatewayPilight
|
||||
// Sensor to display RF received value
|
||||
Log.trace(F("gatewayPilightDiscovery" CR));
|
||||
char *gatewayPilight[8] = {"sensor", "gatewayPilight", "", "", "{{ value_json.message }}", "", "", ""};
|
||||
char *gatewayPilight[8] = {"sensor", "gatewayPilight", "", "", jsonMsg, "", "", ""};
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
@@ -438,7 +430,7 @@ void pubMqttDiscovery()
|
||||
#ifdef ZgatewayIR
|
||||
// Sensor to display IR received value
|
||||
Log.trace(F("gatewayIRDiscovery" CR));
|
||||
char *gatewayIR[8] = {"sensor", "gatewayIR", "", "", "{{ value_json.value }}", "", "", ""};
|
||||
char *gatewayIR[8] = {"sensor", "gatewayIR", "", "", jsonVal, "", "", ""};
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
@@ -453,7 +445,7 @@ void pubMqttDiscovery()
|
||||
#ifdef Zgateway2G
|
||||
// Sensor to display 2G received value
|
||||
Log.trace(F("gateway2GDiscovery" CR));
|
||||
char *gateway2G[8] = {"sensor", "gateway2G", "", "", "{{ value_json.message }}", "", "", ""};
|
||||
char *gateway2G[8] = {"sensor", "gateway2G", "", "", jsonMsg, "", "", ""};
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
@@ -468,7 +460,7 @@ void pubMqttDiscovery()
|
||||
#ifdef ZgatewayBT
|
||||
// Sensor to display BT received value
|
||||
Log.trace(F("gatewayBTDiscovery" CR));
|
||||
char *gatewayBT[8] = {"sensor", "gatewayBT", "", "", "{{ value_json.id }}", "", "", ""};
|
||||
char *gatewayBT[8] = {"sensor", "gatewayBT", "", "", jsonId, "", "", ""};
|
||||
//component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement
|
||||
|
||||
Log.trace(F("CreateDiscoverySensor" CR));
|
||||
|
||||
@@ -41,4 +41,60 @@ extern void createDiscovery(char * sensor_type,
|
||||
|
||||
#define DEVICEMANUFACTURER "OMG_community"
|
||||
|
||||
/*-------------- Auto discovery macros-----------------*/
|
||||
// Set the line below to true so as to have autodiscovery working with OpenHAB
|
||||
#define OpenHABDiscovery false
|
||||
|
||||
#if OpenHABDiscovery // OpenHAB autodiscovery value key definition (is defined command is not supported by OpenHAB)
|
||||
#define jsonBatt "{{ value_json.batt }}"
|
||||
#define jsonLux "{{ value_json.lux }}"
|
||||
#define jsonPres "{{ value_json.pres }}"
|
||||
#define jsonFer "{{ value_json.fer }}"
|
||||
#define jsonMoi "{{ value_json.moi }}"
|
||||
#define jsonHum "{{ value_json.hum }}"
|
||||
#define jsonTemp "{{ value_json.tem }}"
|
||||
#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 jsonTempf "{{ value_json.tempf }}"
|
||||
#define jsonMsg "{{ value_json.message }}"
|
||||
#define jsonVal "{{ value_json.value }}"
|
||||
#define jsonVolt "{{ value_json.volt }}"
|
||||
#define jsonCurrent "{{ value_json.current }}"
|
||||
#define jsonPower "{{ value_json.power }}"
|
||||
#define jsonGpio "{{ value_json.gpio }}"
|
||||
#define jsonFtcd "{{ value_json.ftcd }}"
|
||||
#define jsonWm2 "{{ value_json.wattsm2 }}"
|
||||
#define jsonAdc "{{ value_json.adc }}"
|
||||
#define jsonPa "{{ float(value_json.pa) * 0.01 }}"
|
||||
#define jsonId "{{ value_json.id }}"
|
||||
#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 jsonMoi "{{ value_json.moi | is_defined }}"
|
||||
#define jsonHum "{{ value_json.hum | is_defined }}"
|
||||
#define jsonTemp "{{ value_json.tem | 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 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 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 }}"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in new issue
Block a user