diff --git a/homeassistant/components/rainmachine/__init__.py b/homeassistant/components/rainmachine/__init__.py index 5e95b11f2e4..1129802cd35 100644 --- a/homeassistant/components/rainmachine/__init__.py +++ b/homeassistant/components/rainmachine/__init__.py @@ -10,10 +10,12 @@ import voluptuous as vol from homeassistant.config_entries import SOURCE_IMPORT from homeassistant.const import ( ATTR_ATTRIBUTION, + CONF_BINARY_SENSORS, CONF_IP_ADDRESS, CONF_PASSWORD, CONF_PORT, CONF_SCAN_INTERVAL, + CONF_SENSORS, CONF_SSL, ) from homeassistant.exceptions import ConfigEntryNotReady @@ -268,6 +270,24 @@ async def async_unload_entry(hass, config_entry): return True +async def async_migrate_entry(hass, config_entry): + """Migrate the config entry upon new versions.""" + version = config_entry.version + data = {**config_entry.data} + + _LOGGER.debug("Migrating from version %s", version) + + # 1 -> 2: Remove unused condition data: + if version == 1: + data.pop(CONF_BINARY_SENSORS, None) + data.pop(CONF_SENSORS, None) + version = config_entry.version = 2 + hass.config_entries.async_update_entry(config_entry, data=data) + _LOGGER.debug("Migration to version %s successful", version) + + return True + + class RainMachine: """Define a generic RainMachine object.""" diff --git a/homeassistant/components/rainmachine/config_flow.py b/homeassistant/components/rainmachine/config_flow.py index 4753335da78..4eebb81fbe4 100644 --- a/homeassistant/components/rainmachine/config_flow.py +++ b/homeassistant/components/rainmachine/config_flow.py @@ -33,7 +33,7 @@ def configured_instances(hass): class RainMachineFlowHandler(config_entries.ConfigFlow): """Handle a RainMachine config flow.""" - VERSION = 1 + VERSION = 2 CONNECTION_CLASS = config_entries.CONN_CLASS_LOCAL_POLL def __init__(self):