diff --git a/custom_components/froeling_lambdatronic_modbus/__init__.py b/custom_components/froeling_lambdatronic_modbus/__init__.py index c80364f..8daf0d1 100644 --- a/custom_components/froeling_lambdatronic_modbus/__init__.py +++ b/custom_components/froeling_lambdatronic_modbus/__init__.py @@ -1,25 +1,46 @@ - - from __future__ import annotations from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant from homeassistant.const import Platform +import voluptuous as vol +import homeassistant.helpers.config_validation as cv DOMAIN = "froeling_lambdatronic_modbus" -async def async_setup(hass, config): +CONFIG_SCHEMA = vol.Schema( + { + DOMAIN: vol.Schema( + { + vol.Required("name", default="Froeling"): cv.string, + vol.Required("host"): cv.string, + vol.Required("port", default=502): cv.port, + vol.Required("update_interval", default=60): cv.positive_int, + vol.Optional("kessel", default=True): cv.boolean, + vol.Optional("boiler01", default=True): cv.boolean, + vol.Optional("hk01", default=True): cv.boolean, + vol.Optional("hk02", default=True): cv.boolean, + vol.Optional("austragung", default=True): cv.boolean, + vol.Optional("puffer01", default=True): cv.boolean, + vol.Optional("zirkulationspumpe", default=True): cv.boolean, + } + ) + }, + extra=vol.ALLOW_EXTRA, +) + +async def async_setup(hass: HomeAssistant, config: dict): return True PLATFORMS = [Platform.SENSOR, Platform.NUMBER, Platform.BINARY_SENSOR] -async def async_setup_entry(hass, entry): +async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry): hass.data.setdefault(DOMAIN, {}) hass.data[DOMAIN][entry.entry_id] = entry.data await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS) return True -async def async_unload_entry(hass, entry): +async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry): for platform in PLATFORMS: await hass.config_entries.async_forward_entry_unload(entry, platform) hass.data[DOMAIN].pop(entry.entry_id) diff --git a/custom_components/froeling_lambdatronic_modbus/binary_sensor.py b/custom_components/froeling_lambdatronic_modbus/binary_sensor.py index e0d9010..0b98e2b 100644 --- a/custom_components/froeling_lambdatronic_modbus/binary_sensor.py +++ b/custom_components/froeling_lambdatronic_modbus/binary_sensor.py @@ -4,7 +4,7 @@ import logging from datetime import timedelta from homeassistant.helpers.event import async_track_time_interval from homeassistant.helpers.translation import async_get_translations -from const import DOMAIN +from .const import DOMAIN _LOGGER = logging.getLogger(__name__) diff --git a/custom_components/froeling_lambdatronic_modbus/number.py b/custom_components/froeling_lambdatronic_modbus/number.py index 600eef2..3d5eb66 100644 --- a/custom_components/froeling_lambdatronic_modbus/number.py +++ b/custom_components/froeling_lambdatronic_modbus/number.py @@ -4,7 +4,7 @@ import logging from datetime import timedelta from homeassistant.helpers.event import async_track_time_interval from homeassistant.helpers.translation import async_get_translations -from const import DOMAIN +from .const import DOMAIN _LOGGER = logging.getLogger(__name__) diff --git a/custom_components/froeling_lambdatronic_modbus/sensor.py b/custom_components/froeling_lambdatronic_modbus/sensor.py index a08ecb8..38a8866 100644 --- a/custom_components/froeling_lambdatronic_modbus/sensor.py +++ b/custom_components/froeling_lambdatronic_modbus/sensor.py @@ -4,7 +4,7 @@ import logging from datetime import timedelta from homeassistant.helpers.event import async_track_time_interval from homeassistant.helpers.translation import async_get_translations -from const import DOMAIN +from .const import DOMAIN _LOGGER = logging.getLogger(__name__)