|
| 1 | +--- |
| 2 | +sidebarDepth: 1 |
| 3 | +--- |
| 4 | + |
| 5 | +# Configuration update |
| 6 | + |
| 7 | +Starting with v2.0.0 Zigbee2MQTT includes an automatic settings migration system. This system will take care of adjusting your `configuration.yaml` according to your previous one, and the requirements of the new Zigbee2MQTT version. If necessary, the migration process is repeated until your `configuration.yaml` is up to the current version. |
| 8 | + |
| 9 | +The migration system will automatically make a backup of your current `data/configuration.yaml` before starting a migration. The backup file will be named according to its version, for example `data/configuration_backup_v1.yaml`. |
| 10 | + |
| 11 | +:::warning IMPORTANT |
| 12 | +While this automatically migrates Zigbee2MQTT settings, it **cannot** migrate side-effects on third parties (like Home Assistant). Make sure you go over the [migration notes](#migration-notes) and the link given to adjust things accordingly on that front. |
| 13 | +::: |
| 14 | + |
| 15 | +:::caution CAUTION |
| 16 | +Do not edit the `version` setting manually. If you do, you run the risk of corrupting your `configuration.yaml`, the migration system may no longer work properly. |
| 17 | +::: |
| 18 | + |
| 19 | +## Migration notes |
| 20 | + |
| 21 | +The migration system will consider every migrations required for a particular version and build a log for you to easily identify what needed changing in your `configuration.yaml` and has an impact on your new configuration. The file will be named according to the Zigbee2MQTT version change, for example `data/migration-1.x.x-to-2.0.0.log`. |
| 22 | + |
| 23 | +### Example migration notes from v1.x.x to v2.0.0 |
| 24 | + |
| 25 | +``` |
| 26 | +[REMOVAL] HA discovery_topic was moved from advanced.homeassistant_discovery_topic to homeassistant.discovery_topic. |
| 27 | +
|
| 28 | +[TRANSFER] Baudrate was moved from advanced.baudrate to serial.baudrate. |
| 29 | +
|
| 30 | +[REMOVAL] RTSCTS was moved from advanced.rtscts to serial.rtscts. |
| 31 | +
|
| 32 | +[TRANSFER] ban was renamed to passlist. |
| 33 | +
|
| 34 | +[CHANGE] Log level 'warn' has been renamed to 'warning'. |
| 35 | +
|
| 36 | +[ADDITION] Migrated settings to version 2 |
| 37 | +
|
| 38 | +[REMOVAL] The MQTT legacy API has been removed (advanced.legacy_api setting). See link below for affected topics. |
| 39 | +
|
| 40 | +[REMOVAL] Retrieve state option ((devices|groups).xyz.retrieve_state setting) |
| 41 | +
|
| 42 | +For more details, see https://github.com/Koenkk/zigbee2mqtt/discussions/24198 |
| 43 | +``` |
| 44 | + |
| 45 | +In this scenario: |
| 46 | + |
| 47 | +- You had set both `advanced.homeassistant_discovery_topic` and `homeassistant.discovery_topic`, the latter was retained, the former removed. |
| 48 | +- You had set `advanced.baudrate`, it was moved to `serial.baudrate`. |
| 49 | +- You had set both `advanced.rtscts` and `serial.rtscts`, the latter was retained, the former removed. |
| 50 | +- You had set `ban`, it was merged into `passlist`. |
| 51 | +- You had set `log_level` to `warn`, it was renamed to `warning`. |
| 52 | +- `version: 2` was added (future migrations will automatically update it). |
| 53 | +- You had set `advanced.legacy_api` to true. This is no longer supported, the setting was removed. |
| 54 | +- You had set `retrieve_state` to true for one or more devices or groups under `devices` or `groups`. This is no longer supported, the setting was removed. |
0 commit comments