From 36e7f7c05c2a7353375a430b924a9418a3f94e9b Mon Sep 17 00:00:00 2001 From: G Johansson Date: Thu, 3 Jul 2025 19:39:12 +0000 Subject: [PATCH] Workable --- homeassistant/components/compensation/__init__.py | 10 +++++----- homeassistant/components/compensation/config_flow.py | 8 ++++++-- homeassistant/components/compensation/sensor.py | 2 +- homeassistant/components/compensation/strings.json | 2 +- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/compensation/__init__.py b/homeassistant/components/compensation/__init__.py index e15051de7e8..ad06bc028cc 100644 --- a/homeassistant/components/compensation/__init__.py +++ b/homeassistant/components/compensation/__init__.py @@ -168,11 +168,11 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Set up Compensation from a config entry.""" config = dict(entry.options) - data_points = config[CONF_DATAPOINTS] - new_data_points = [] - for data_point in data_points: - values = data_point.split(",", maxsplit=1) - new_data_points.append([float(values[0]), float(values[1])]) + data_points: list[dict[str, float]] = config[CONF_DATAPOINTS] + new_data_points = [ + [data_point["compensated_value"], data_point["uncompensated_value"]] + for data_point in data_points + ] config[CONF_DATAPOINTS] = new_data_points await create_compensation_data(hass, entry.entry_id, config, True) diff --git a/homeassistant/components/compensation/config_flow.py b/homeassistant/components/compensation/config_flow.py index 577d9f15540..8b145d34072 100644 --- a/homeassistant/components/compensation/config_flow.py +++ b/homeassistant/components/compensation/config_flow.py @@ -61,11 +61,15 @@ async def get_options_schema(handler: SchemaCommonFlowHandler) -> vol.Schema: fields={ "uncompensated_value": ObjectSelectorField( required=True, - selector=TextSelector(), + selector=NumberSelector( + NumberSelectorConfig(mode=NumberSelectorMode.BOX) + ), ), "compensated_value": ObjectSelectorField( required=True, - selector=TextSelector(), + selector=NumberSelector( + NumberSelectorConfig(mode=NumberSelectorMode.BOX) + ), ), }, ) diff --git a/homeassistant/components/compensation/sensor.py b/homeassistant/components/compensation/sensor.py index 626d8394ffa..cf92c6deda7 100644 --- a/homeassistant/components/compensation/sensor.py +++ b/homeassistant/components/compensation/sensor.py @@ -96,7 +96,7 @@ async def async_setup_entry( name = entry.title async_add_entities( - [CompensationSensor(conf.get(CONF_UNIQUE_ID), name, source, attribute, conf)] + [CompensationSensor(entry.entry_id, name, source, attribute, conf)] ) diff --git a/homeassistant/components/compensation/strings.json b/homeassistant/components/compensation/strings.json index 06f3c3bd7a6..dbe50252246 100644 --- a/homeassistant/components/compensation/strings.json +++ b/homeassistant/components/compensation/strings.json @@ -73,7 +73,7 @@ } }, "selector": { - "answers": { + "data_points": { "fields": { "uncompensated_value": "Uncompensated value", "compensated_value": "Compensated value"