diff --git a/homeassistant/components/compensation/__init__.py b/homeassistant/components/compensation/__init__.py index e15051de7e8d..ad06bc028cc6 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 577d9f155408..8b145d34072c 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 2ac464443c1c..5d5f09f4e018 100644 --- a/homeassistant/components/compensation/sensor.py +++ b/homeassistant/components/compensation/sensor.py @@ -94,7 +94,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 06f3c3bd7a61..dbe50252246f 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"