keton / etrv2mqtt

Danfoss Eco BLE thermostat to MQTT bridge
MIT License
26 stars 10 forks source link

_main__:<module>:8 - An error has been caught in function '<module>', process 'MainProcess' (7), thread 'MainThread' (140051042436928): #9

Closed mortalone closed 2 years ago

mortalone commented 2 years ago

2021-08-15 18:14:09.330 | DEBUG | libetrv.device:send_pin:87 - Write PIN to 00:04:2f:94:95:5b 2021-08-15 18:14:09.528 | ERROR | main::8 - An error has been caught in function '', process 'MainProcess' (7), thread 'MainThread' (140051042436928): Traceback (most recent call last):

File "/usr/local/bin/etrv2mqtt", line 8, in sys.exit(entrypoint()) │ │ └ <function entrypoint at 0x7f602b5caca0> │ └ └ <module 'sys' (built-in)> File "/usr/local/lib/python3.8/site-packages/etrv2mqtt/cli.py", line 28, in entrypoint main(sys.argv[1]) │ │ └ ['/usr/local/bin/etrv2mqtt', '/data/options.json'] │ └ <module 'sys' (built-in)> └ <function main at 0x7f602c8004c0> File "/usr/local/lib/python3.8/site-packages/etrv2mqtt/cli.py", line 17, in main deviceManager.poll_forever() │ └ <function DeviceManager.poll_forever at 0x7f602b30fd30> └ <etrv2mqtt.devices.DeviceManager object at 0x7f602b5f2670> File "/usr/local/lib/python3.8/site-packages/etrv2mqtt/devices.py", line 94, in poll_forever schedule.run_all(delay_seconds=1) │ └ <function run_all at 0x7f602b30f550> └ <module 'schedule' from '/usr/local/lib/python3.8/site-packages/schedule/init.py'> File "/usr/local/lib/python3.8/site-packages/schedule/init.py", line 787, in run_all default_scheduler.run_all(delay_seconds=delay_seconds) │ │ └ 1 │ └ <function Scheduler.run_all at 0x7f602b2fce50> └ <schedule.Scheduler object at 0x7f602b304a90> File "/usr/local/lib/python3.8/site-packages/schedule/init.py", line 118, in run_all self._run_job(job) │ │ └ Every 3600 seconds do _poll_devices() (last run: [never], next run: 2021-08-15 19:13:58) │ └ <function Scheduler._run_job at 0x7f602b30d160> └ <schedule.Scheduler object at 0x7f602b304a90> File "/usr/local/lib/python3.8/site-packages/schedule/init.py", line 172, in _run_job ret = job.run() │ └ <function Job.run at 0x7f602b30f280> └ Every 3600 seconds do _poll_devices() (last run: [never], next run: 2021-08-15 19:13:58) File "/usr/local/lib/python3.8/site-packages/schedule/init.py", line 661, in run ret = self.job_func() │ └ functools.partial(<bound method DeviceManager._poll_devices of <etrv2mqtt.devices.DeviceManager object at 0x7f602b5f2670>>) └ Every 3600 seconds do _poll_devices() (last run: [never], next run: 2021-08-15 19:13:58) File "/usr/local/lib/python3.8/site-packages/etrv2mqtt/devices.py", line 82, in _poll_devices device.poll(self._mqtt) │ │ │ └ <etrv2mqtt.mqtt.Mqtt object at 0x7f602b3141c0> │ │ └ <etrv2mqtt.devices.DeviceManager object at 0x7f602b5f2670> │ └ <function TRVDevice.poll at 0x7f602b30faf0> └ <etrv2mqtt.devices.TRVDevice object at 0x7f602b627d30> File "/usr/local/lib/python3.8/site-packages/etrv2mqtt/devices.py", line 44, in poll ret = eTRVUtils.read_device(self._device) │ │ │ └ <libetrv.device.eTRVDevice object at 0x7f602c8634c0> │ │ └ <etrv2mqtt.devices.TRVDevice object at 0x7f602b627d30> │ └ <staticmethod object at 0x7f602b58f430> └ <class 'etrv2mqtt.etrvutils.eTRVUtils'> File "/usr/local/lib/python3.8/site-packages/etrv2mqtt/etrvutils.py", line 34, in read_device return eTRVData(device.name, device.battery, device.temperature.room_temperature, device.temperature.set_point_temperature, datetime.now()) │ │ │ │ │ │ │ │ │ │ └ <method 'now' of 'datetime.datetime' objects> │ │ │ │ │ │ │ │ │ └ <class 'datetime.datetime'> │ │ │ │ │ │ │ │ └ <libetrv.properties.eTRVProperty object at 0x7f602b58fb50> │ │ │ │ │ │ │ └ <libetrv.device.eTRVDevice object at 0x7f602c8634c0> │ │ │ │ │ │ └ <libetrv.properties.eTRVProperty object at 0x7f602b58fb50> │ │ │ │ │ └ <libetrv.device.eTRVDevice object at 0x7f602c8634c0> │ │ │ │ └ <libetrv.properties.eTRVProperty object at 0x7f602b58fac0> │ │ │ └ <libetrv.device.eTRVDevice object at 0x7f602c8634c0> │ │ └ <libetrv.properties.eTRVProperty object at 0x7f602b58fca0> │ └ <libetrv.device.eTRVDevice object at 0x7f602c8634c0> └ <class 'etrv2mqtt.etrvutils.eTRVData'> File "/usr/local/lib/python3.8/site-packages/libetrv/properties.py", line 22, in get return self.get_data_object(device).retrieve() │ │ └ <libetrv.device.eTRVDevice object at 0x7f602c8634c0> │ └ <function eTRVProperty.get_data_object at 0x7f602b5ae0d0> └ <libetrv.properties.eTRVProperty object at 0x7f602b58fca0> File "/usr/local/lib/python3.8/site-packages/libetrv/properties.py", line 61, in retrieve return self.retrieve_object(self.device) │ │ │ └ <libetrv.device.eTRVDevice object at 0x7f602c8634c0> │ │ └ <libetrv.data_struct.NameData object at 0x7f602aab3490> │ └ <function eTRVSingleData.retrieve_object at 0x7f602b5ae940> └ <libetrv.data_struct.NameData object at 0x7f602aab3490> File "/usr/local/lib/python3.8/site-packages/libetrv/properties.py", line 129, in retrieve_object return getattr(self, self.get_direct_field()) │ │ └ <function eTRVSingleData.get_direct_field at 0x7f602b5ae8b0> │ └ <libetrv.data_struct.NameData object at 0x7f602aab3490> └ <libetrv.data_struct.NameData object at 0x7f602aab3490> File "/usr/local/lib/python3.8/site-packages/libetrv/fields/base.py", line 22, in get return self.from_raw_value(raw_value, data) │ │ │ └ <libetrv.data_struct.NameData object at 0x7f602aab3490> │ │ └ b'sovev\xc3\xa6relse\x00\x00\x00\x00' │ └ <function TextField.from_raw_value at 0x7f602b5ac790> └ <libetrv.fields.string.TextField object at 0x7f602b5adee0> File "/usr/local/lib/python3.8/site-packages/libetrv/fields/string.py", line 18, in from_raw_value return raw_value.decode('ascii').strip('\0') │ └ <method 'decode' of 'bytes' objects> └ b'sovev\xc3\xa6relse\x00\x00\x00\x00' UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5: ordinal not in range(128)