joaofl / hassio-addons

More add-ons for your Hass.io.
19 stars 25 forks source link

Stops with "loop forever" error #25

Open nicoolaro opened 1 year ago

nicoolaro commented 1 year ago

Hi tried your addon and it seems it stops with errors below, configuration is correct , mqtt broker is working fine for years now. I am on lates Home Assistant.

s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting s6-rc: info: service legacy-services successfully started [17:34:35] INFO: Starting Telegraf2Hassio [17:34:35] INFO Setup finished [17:34:35] INFO Connected to MQTT Broker! Traceback (most recent call last): File "/opt/telegraf2hassio/telegraf2hassio.py", line 62, in client.loop_forever() File "/usr/lib/python3.11/site-packages/paho/mqtt/client.py", line 1756, in loop_forever rc = self._loop(timeout) ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/paho/mqtt/client.py", line 1164, in _loop rc = self.loop_read() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/paho/mqtt/client.py", line 1556, in loop_read rc = self._packet_read() ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/paho/mqtt/client.py", line 2439, in _packet_read rc = self._packet_handle() ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/paho/mqtt/client.py", line 3033, in _packet_handle return self._handle_publish() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/paho/mqtt/client.py", line 3327, in _handle_publish self._handle_on_message(message) File "/usr/lib/python3.11/site-packages/paho/mqtt/client.py", line 3570, in _handle_on_message on_message(self, self._userdata, message) File "/opt/telegraf2hassio/telegraf2hassio.py", line 11, in data_received tp.send(data) File "/opt/telegraf2hassio/parser.py", line 120, in send jdata = self.add_calc(self.jdata_recv) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/telegraf2hassio/parser.py", line 85, in add_calc for measurement_name in self.__get_measurements_list(jdata_o): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/telegraf2hassio/parser.py", line 81, in __get_measurements_list return jdata['fields'].keys()


KeyError: 'fields'
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Additionally calc_rate is optional but i cannot start Addon without some data filled in that field?

joaofl commented 1 year ago

Thanks for reporting the issue. I will try to take a look today at it and keep you posted

joaofl commented 7 months ago

Have you managed to get it working in the end?