Hello everybody,
First things first: I’m a bit of noob when it comes to home automation and home assistant.
Still, I’m in the process of configuring my home automation, which is a KNX system with switches, actuators, a weather station, dimmers, and so on.
The system has been programmed in ETS4 and everything is functional but I have lots of data that I’d like to collect, visualize and trigger in home assistant.
My first problem has to do with sensors, which are addressed on the bus as group objects.
I’m using a Weinzierl IP 730 interface to bridge IP/ethernet and KNX.
This is an extract of my configuration.yaml showing the sensor setup:
- platform: knx
name: Wind_speed
type: speed_ms
address: 0/1/1
and this is my error:
17-02-07 17:43:09 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/lib/python3.4/asyncio/tasks.py", line 233, in _step
result = coro.throw(exc)
File "/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py", line 387, in _update_entity_states
yield from update_coro
File "/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state
yield from self.hass.loop.run_in_executor(None, self.update)
File "/usr/lib/python3.4/asyncio/futures.py", line 388, in __iter__
yield self # This tells Task to wait for completion.
File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup
value = future.result()
File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result
raise self._exception
File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/sensor/knx.py", line 132, in update
value = knx2_to_float(self._data)
File "/opt/homeassistant/deps/knxip/conversion.py", line 35, in knx2_to_float
raise KNXException("Can only convert a 2 Byte object to float"+"len:"+str(len(knxdata)))
knxip.core.KNXException: Can only convert a 2 Byte object to floatlen:1 no error
That KNXException has been slightly modified by me (function knx2_to_float in conversion.py) for debugging purposes.
It looks like home assistant got data of incorrect length from the KNX bus.
It was supposed to get a 2 byte data but received a 1 byte data object instead.
Another example I had was with some illuminance sensors, this time I had 4 bytes data.
I’m probably missing something pretty huge here, can you let me know what you ppl think? There must be a way.
Thx everybody!
S.