Browse Source

* removed state string "NEW" from /battery topic and added own topic /batteryNew, as Home Assistant MQTT binary sensor can only work with 2 states (unless using value templates)
* added CHANGELOG.md

FloKra 2 years ago
parent
commit
22c68437d5
3 changed files with 28 additions and 3 deletions
  1. 17 0
      CHANGELOG.md
  2. 9 1
      jeelinklog/jeelinklog.py
  3. 2 2
      jeelinklog/jeelinklog_sensors.yml

+ 17 - 0
CHANGELOG.md

@@ -0,0 +1,17 @@
+# JeeLinkLogMQTT - change log
+
+## 2021-10-14
+
+* removed state string "NEW" from /battery topic and added own topic /batteryNew, as Home Assistant MQTT binary sensor can only work with 2 states (unless using value templates)
+
+## 2021-08-30
+
+* BUGFIX: check correct size of incoming data and prevent crash if invalid
+
+## 2020-11-29
+
+* small bugfixes
+
+## 2020-10-17
+
+* initial checkin after rework of "Jeelink2MQTT"

+ 9 - 1
jeelinklog/jeelinklog.py

@@ -532,9 +532,11 @@ try:
                     
                     if sensorDataComplete:
                         
+                        # as Home Assistant MQTT binary sensor can only work with 2 states (unless using value templates):
+                        #   -> removed "NEW" state string from /battery topic and added /batteryNew topic
                         if sensors_batteryState.get(id,None) == 2:
                             s_battNew = True
-                            s_battState = "NEW"
+                            s_battState = "OK"
                         elif sensors_batteryState.get(id, None) == 1:
                             s_battNew = False
                             s_battState = "LOW"
@@ -542,6 +544,10 @@ try:
                             s_battNew = False
                             s_battState = "OK"
                         
+                        if s_battNew:
+                            s_battNew_str = "YES"
+                        else:
+                            s_battNew_str = "NO"
                         
                         if s_name is not None:
                             s_domIdx = sensors_yaml[s_name].get('DomoticzIdx', None)
@@ -568,6 +574,7 @@ try:
                                 mqttc.publish(mqtt_topic_prefix+"/"+ s_name +"/temperature", str(s_currAvgTemp), qos=0, retain=False)
                                 mqttc.publish(mqtt_topic_prefix+"/"+ s_name +"/humidity", str(s_currAvgHum), qos=0, retain=False)
                                 mqttc.publish(mqtt_topic_prefix+"/"+ s_name +"/battery", s_battState, qos=0, retain=False)
+                                mqttc.publish(mqtt_topic_prefix+"/"+ s_name +"/batteryNew", s_battNew_str, qos=0, retain=False)
                                 mqttc.publish(mqtt_topic_prefix+"/"+ s_name +"/availability", "available", qos=0, retain=False)
                                 mqttc.publish(mqtt_topic_prefix+"/"+ s_name +"/lastUpdate", strftime("%Y-%m-%d %H:%M:%S", localtime()), qos=0, retain=False)
                                 
@@ -666,6 +673,7 @@ try:
                                 if s_battNew:
                                     mqttc.publish(mqtt_topic_prefix+"/NewUnknownSensor/"+str(id)+"/temperature", str(s_currAvgTemp), qos=0, retain=False)
                                     mqttc.publish(mqtt_topic_prefix+"/NewUnknownSensor/"+str(id)+"/humidity", str(s_currAvgHum), qos=0, retain=False)
+                                    mqttc.publish(mqtt_topic_prefix+"/UnknownSensor/"+str(id)+"/batteryNew", s_battNew_str, qos=0, retain=False)
                                 else:
                                     mqttc.publish(mqtt_topic_prefix+"/UnknownSensor/"+str(id)+"/temperature", str(s_currAvgTemp), qos=0, retain=False)
                                     mqttc.publish(mqtt_topic_prefix+"/UnknownSensor/"+str(id)+"/humidity", str(s_currAvgHum), qos=0, retain=False)

+ 2 - 2
jeelinklog/jeelinklog_sensors.yml

@@ -19,7 +19,7 @@ Stiegenhaus:
   #Topic_Hum: ""
   InfluxDB_Instance: KS61
 T5-Arbeitszimmer:
-  LaCrosseID: 45
+  LaCrosseID: 32
   DomoticzIdx: 1
   #Topic_Temp: ""
   #Topic_Hum: ""
@@ -37,7 +37,7 @@ T5-Balkon:
   #Topic_Hum: ""
   InfluxDB_Instance: wetter
 T5-Kueche:
-  LaCrosseID: 55
+  LaCrosseID: 5
   DomoticzIdx: 6
   #Topic_Temp: ""
   #Topic_Hum: ""