Problem with KNX sensor data (knx2_to_float)

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.