From dbe390ec33a0f9e9196d06d22a02dc178d4105ff Mon Sep 17 00:00:00 2001 From: bohdan-s Date: Tue, 21 Dec 2021 13:08:27 +1100 Subject: [PATCH] Fix Home Assistant Autodiscovery --- SunGather/exports/mqtt.py | 2 +- SunGather/registers.yaml | 2 +- SunGather/sungather.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SunGather/exports/mqtt.py b/SunGather/exports/mqtt.py index b12d8d5..d560288 100644 --- a/SunGather/exports/mqtt.py +++ b/SunGather/exports/mqtt.py @@ -46,7 +46,7 @@ class export_mqtt(object): for ha_topic in self.ha_topics: msg = discovery_payload.format( ha_topic.get('name'), "inverter_" + ha_topic.get('name').lower().replace(' ','_'), self.sensor_topic, self.sensor_topic, ha_topic.get('unit'), ha_topic.get('dev_class'), ha_topic.get('state_class'), ha_topic.get('register'), inverter.get('device_type_code', 'unknown').replace('.','')) - result = self.mqtt_client.publish(discovery_topic.format(ha_topic.get('name').lower().replace(' ','_')), msg) + result = self.mqtt_client.publish(discovery_topic.format(ha_topic.get('name').lower().replace(' ','_')), msg, retain=True) result.wait_for_publish() self.ha_discovery = False diff --git a/SunGather/registers.yaml b/SunGather/registers.yaml index 3acca42..fbe2877 100644 --- a/SunGather/registers.yaml +++ b/SunGather/registers.yaml @@ -311,7 +311,7 @@ registers: # address: 5037 # datatype: "U16" - name: "work_state_1" # See Appendix 1 - level: 2 + level: 1 address: 5038 datatype: "U16" datarange: diff --git a/SunGather/sungather.py b/SunGather/sungather.py index 9795b78..b46900f 100644 --- a/SunGather/sungather.py +++ b/SunGather/sungather.py @@ -242,7 +242,7 @@ def scrape_inverter(): # to help with graphing. try: if inverter.get('start_stop'): - if inverter.get('start_stop') == 'Start': + if inverter.get('start_stop', False) == 'Start' and inverter.get('work_state_1', False) == 'Run': inverter["is_running"] = True else: if inverter.get('start_stop') == 'Stop':