From 2cf46330b1ec3fde09599af5aaf51149e847af42 Mon Sep 17 00:00:00 2001 From: Matthias Alphart Date: Sat, 20 Feb 2021 20:08:59 +0100 Subject: [PATCH] Enable KNX routing optional local_ip (#46133) --- homeassistant/components/knx/__init__.py | 9 ++++++--- homeassistant/components/knx/schema.py | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/knx/__init__.py b/homeassistant/components/knx/__init__.py index 5a8b0d1c351..c957dbe5195 100644 --- a/homeassistant/components/knx/__init__.py +++ b/homeassistant/components/knx/__init__.py @@ -298,9 +298,12 @@ class KNXModule: def connection_config_routing(self): """Return the connection_config if routing is configured.""" - local_ip = self.config[DOMAIN][CONF_KNX_ROUTING].get( - ConnectionSchema.CONF_KNX_LOCAL_IP - ) + local_ip = None + # all configuration values are optional + if self.config[DOMAIN][CONF_KNX_ROUTING] is not None: + local_ip = self.config[DOMAIN][CONF_KNX_ROUTING].get( + ConnectionSchema.CONF_KNX_LOCAL_IP + ) return ConnectionConfig( connection_type=ConnectionType.ROUTING, local_ip=local_ip ) diff --git a/homeassistant/components/knx/schema.py b/homeassistant/components/knx/schema.py index 54134365b95..61909013739 100644 --- a/homeassistant/components/knx/schema.py +++ b/homeassistant/components/knx/schema.py @@ -38,7 +38,7 @@ class ConnectionSchema: } ) - ROUTING_SCHEMA = vol.Schema({vol.Optional(CONF_KNX_LOCAL_IP): cv.string}) + ROUTING_SCHEMA = vol.Maybe(vol.Schema({vol.Optional(CONF_KNX_LOCAL_IP): cv.string})) class CoverSchema: