diff --git a/main/ZgatewayBT.ino b/main/ZgatewayBT.ino index 6db69e7..1fd2531 100644 --- a/main/ZgatewayBT.ino +++ b/main/ZgatewayBT.ino @@ -501,7 +501,7 @@ void strupp(char* beg) { # ifdef ZmqttDiscovery void DT24Discovery(const char* mac, const char* sensorModel_id) { -# define DT24parametersCount 6 +# define DT24parametersCount 7 Log.trace(F("DT24Discovery" CR)); const char* DT24sensor[DT24parametersCount][9] = { {"sensor", "volt", mac, "voltage", jsonVolt, "", "", "V", stateClassMeasurement}, @@ -509,7 +509,8 @@ void DT24Discovery(const char* mac, const char* sensorModel_id) { {"sensor", "watt", mac, "power", jsonPower, "", "", "W", stateClassMeasurement}, {"sensor", "watt-hour", mac, "power", jsonEnergy, "", "", "kWh", stateClassMeasurement}, {"sensor", "price", mac, "", jsonMsg, "", "", "", stateClassNone}, - {"sensor", "temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement} + {"sensor", "temp", mac, "temperature", jsonTempc, "", "", "°C", stateClassMeasurement}, + {"binary_sensor", "inUse", mac, "power", jsonInuse, "", "", ""} //component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement }; diff --git a/main/ZmqttDiscovery.ino b/main/ZmqttDiscovery.ino index 6e4196f..2e4323f 100644 --- a/main/ZmqttDiscovery.ino +++ b/main/ZmqttDiscovery.ino @@ -897,7 +897,7 @@ void pubMqttDiscovery() { {"sensor", "volt", "RN8209", "voltage", jsonVolt, "", "", "V"}, {"sensor", "current", "RN8209", "current", jsonCurrent, "", "", "A"}, {"sensor", "power", "RN8209", "power", jsonPower, "", "", "W"}, - {"binary_sensor", "inUse", "RN8209", "power", jsonInuse, "", "", ""} + {"binary_sensor", "inUse", "RN8209", "power", jsonInuseRN8209, "", "", ""} //component type,name,availability topic,device class,value template,payload on, payload off, unit of measurement }; diff --git a/main/config_mqttDiscovery.h b/main/config_mqttDiscovery.h index acb9a22..972a7ce 100644 --- a/main/config_mqttDiscovery.h +++ b/main/config_mqttDiscovery.h @@ -136,79 +136,81 @@ void announceDeviceTrigger(bool use_gateway_info, #endif #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 jsonFor "{{ value_json.for }}" -# define jsonMoi "{{ value_json.moi }}" -# define jsonHum "{{ value_json.hum }}" -# 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 jsonTempc2 "{{ value_json.tempc2 }}" -# define jsonTempc3 "{{ value_json.tempc3 }}" -# define jsonTempc4 "{{ value_json.tempc4 }}" -# 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 jsonEnergy "{{ value_json.energy }}" -# 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 }}" -# define jsonAddress "{{ value_json.address }}" -# define jsonOpen "{{ value_json.open }}" -# define jsonTime "{{ value_json.time }}" -# define jsonCount "{{ value_json.count }}" -# define jsonAlarm "{{ value_json.alarm }}" -# define jsonInuse "{{ value_json.power | float > 0 }}" -# define jsonVoltBM2 "{{% if value_json.model_id == \"BM2\" -%} {{value_json.volt}} {%- endif %}}" +# define jsonBatt "{{ value_json.batt }}" +# define jsonLux "{{ value_json.lux }}" +# define jsonPres "{{ value_json.pres }}" +# define jsonFer "{{ value_json.fer }}" +# define jsonFor "{{ value_json.for }}" +# define jsonMoi "{{ value_json.moi }}" +# define jsonHum "{{ value_json.hum }}" +# 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 jsonTempc2 "{{ value_json.tempc2 }}" +# define jsonTempc3 "{{ value_json.tempc3 }}" +# define jsonTempc4 "{{ value_json.tempc4 }}" +# 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 jsonEnergy "{{ value_json.energy }}" +# 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 }}" +# define jsonAddress "{{ value_json.address }}" +# define jsonOpen "{{ value_json.open }}" +# define jsonTime "{{ value_json.time }}" +# define jsonCount "{{ value_json.count }}" +# define jsonAlarm "{{ value_json.alarm }}" +# define jsonInuse "{{ value_json.power | float > 0 }}" +# define jsonInuseRN8209 "{{ value_json.power | float > 0.02 }}" +# define jsonVoltBM2 "{{% if value_json.model_id == \"BM2\" -%} {{value_json.volt}} {%- endif %}}" #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 jsonInuse "{{ value_json.power | is_defined | float > 0 }}" -# define jsonVoltBM2 "{{% if value_json.model_id == \"BM2\" and value_json.volt is defined -%} {{value_json.volt}} {%- endif %}}" +# 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 jsonInuse "{{ value_json.power | is_defined | float > 0 }}" +# define jsonInuseRN8209 "{{ value_json.power | is_defined | float > 0.02 }}" +# define jsonVoltBM2 "{{% if value_json.model_id == \"BM2\" and value_json.volt is defined -%} {{value_json.volt}} {%- endif %}}" #endif #define stateClassNone ""