core: KNX Weather item doesn't create binary sensors anymore

The problem

Even when you configure a KNX Weather item with it’s full config schema, there are no binary sensors created. Like the alarms, and day_night binary sensor.

What version of Home Assistant Core has the issue?

core-2021.12.4

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

KNX

Link to integration documentation on our website

https://www.home-assistant.io/integrations/knx/#weather

Example YAML snippet

knx:
  weather:
    - name: "Weerstation"
      address_temperature: "4/3/0"
      address_brightness_north: "4/3/2"
      address_wind_speed: "4/3/4"
      address_rain_alarm: "4/3/5"
      address_frost_alarm: "4/3/6"
      address_wind_alarm: "4/3/1"
      address_day_night: "4/3/3"
      sync_state: true


### Anything in the logs that might be useful for us?

```txt
Group addresses are read succesfully;

<KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="TUNNELLING_REQUEST" Reserve="0" TotalLength="25" />
body="<TunnellingRequest communication_channel_id="1" sequence_counter="239" cemi="<CEMIFrame SourceAddress="IndividualAddress("1.1.6")" DestinationAddress="GroupAddress("4/4/4")" Flags="1011110011100000" code="L_DATA_IND" payload="<GroupValueWrite value="<DPTArray value="[0x43,0xd7,0x0,0x0]" />" />" />" />" />
2021-12-22 14:44:10 DEBUG (MainThread) [xknx.knx] Sending to 192.168.x.x:3671 at 1640180650.0765932:
<KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="TUNNELLING_ACK" Reserve="0" TotalLength="10" />
body="<TunnellingAck communication_channel_id="1" sequence_counter="239" status_code="ErrorCode.E_NO_ERROR" />" />
2021-12-22 14:44:10 DEBUG (MainThread) [xknx.telegram] <Telegram direction="Incoming" source_address="1.1.6" destination_address="4/4/4" payload="<GroupValueWrite value="<DPTArray value="[0x43,0xd7,0x0,0x0]" />" />" />
2021-12-22 14:44:11 DEBUG (MainThread) [xknx.raw_socket] Received from ('192.168.x.x', 3671): 0610042000150401f0002900bcc031082303010081
2021-12-22 14:44:11 DEBUG (MainThread) [xknx.knx] Received from 192.168.x.x:3671 at 1640180651.3744152:
<KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="TUNNELLING_REQUEST" Reserve="0" TotalLength="21" />
body="<TunnellingRequest communication_channel_id="1" sequence_counter="240" cemi="<CEMIFrame SourceAddress="IndividualAddress("3.1.8")" DestinationAddress="GroupAddress("4/3/3")" Flags="1011110011000000" code="L_DATA_IND" payload="<GroupValueWrite value="<DPTBinary value="1" />" />" />" />" />
2021-12-22 14:44:11 DEBUG (MainThread) [xknx.knx] Sending to 192.168.x.x:3671 at 1640180651.3746808:
<KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="TUNNELLING_ACK" Reserve="0" TotalLength="10" />
body="<TunnellingAck communication_channel_id="1" sequence_counter="240" status_code="ErrorCode.E_NO_ERROR" />" />
2021-12-22 14:44:11 DEBUG (MainThread) [xknx.telegram] <Telegram direction="Incoming" source_address="3.1.8" destination_address="4/3/3" payload="<GroupValueWrite value="<DPTBinary value="1" />" />" />
2021-12-22 14:44:11 DEBUG (MainThread) [xknx.raw_socket] Received from ('192.168.x.x', 3671): 0610042000150401f1002900bcc031082305010080
2021-12-22 14:44:11 DEBUG (MainThread) [xknx.knx] Received from 192.168.x.x:3671 at 1640180651.5799818:
<KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="TUNNELLING_REQUEST" Reserve="0" TotalLength="21" />
body="<TunnellingRequest communication_channel_id="1" sequence_counter="241" cemi="<CEMIFrame SourceAddress="IndividualAddress("3.1.8")" DestinationAddress="GroupAddress("4/3/5")" Flags="1011110011000000" code="L_DATA_IND" payload="<GroupValueWrite value="<DPTBinary value="0" />" />" />" />" />
2021-12-22 14:44:11 DEBUG (MainThread) [xknx.knx] Sending to 192.168.x.x:3671 at 1640180651.5802362:
<KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="TUNNELLING_ACK" Reserve="0" TotalLength="10" />
body="<TunnellingAck communication_channel_id="1" sequence_counter="241" status_code="ErrorCode.E_NO_ERROR" />" />


### Additional information

In older versions a 'create_sensors: True' value was implemented, but it was deprecated, maybe this has something to do with it.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 17 (14 by maintainers)

Most upvoted comments

Yes, this is expected. Some of these GAs are only used to calculate the condition string. If you want binary_sensors or sensors too you’ll need to configure these separately.

Yes, you are absolutely right, this was working at some point but it was dropped for compatibility reasons. You will have to create the sensors yourself and then it will work as expected.

Be sure to create a sensor and not a binary_sensor.

The binary_sensor of version 2021.12.4 is just a part of the problem. Moving from 2021.12.3 to .4 kills the KNX IP router and it is can’t connect to the bus anymore. No KNX entities at all in 2021.12.4. The waether is not as it was in previous versions. Movedback and forth few times. 2021.12.2 and 2021.12.3 work OK. Latest is not working.

https://github.com/home-assistant/core/issues/62467 fixed already and off topic.

Typical, I was away from home-assistant for almost a year, it’s not what it was anymore… Had the same ‘not a HA standard’ discussions with my custom build integrations, no fun anymore, to get something integrated… alas…

It’s as easy as:

- name: Weather.BrightnessEast
  state_address: '7/0/4'
  type: 'illuminance'

- name: Weather.BrightnessWest
  state_address: '7/0/3'
  type: 'illuminance'

- name: Weather.BrightnessSouth
  state_address: '7/0/5'
  type: 'illuminance'

- name: Weather.WindSpeed
  state_address: '7/0/2'
  type: 'wind_speed_ms'

- name: Weather.OutsideTemperature
  state_address: '7/0/1'
  type: 'temperature'