Switching Shelly Plus 2PM from switch to cover mode results in missing sensors for Power, Voltage, Energy and Temperature.
These parameters are still available in the API, but need to be accessed via "cover" key instead of "switch" key.
This change adds the missing sensors.
* Refactor attribute inclusion for VeSync fans.
A recent change to pyvesync (introduced in 2.2) changed `air_quality` to
refer to air quality as an integer representation of perceived air
quality rather than a direct reading of the PM2.5 sensor. With 2.3 the
PM2.5 sensor access was restored as `air_quality_value`. Unfortunately,
`air_quality_value` was not added as an attribute on the fan object, and
rather only exists in the `details` dictionary on the fan object.
* Update homeassistant/components/vesync/fan.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Rename `air_quality_value` attribute to `pm25`
This should make it more clear what the attribute actually represents
* `air_quality` attribute reports `air_quality_value`
This restores previous behavior for this integration to what it was
before the `pyvesync==2.02` upgrade, using the `air_quality` attribute
to report pm2.5 concentrations (formerly `air_quality`) rather the
vague measurement now reported by `air_quality`.
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Migrate sensors unique ids
1. migrate sensors to have unique id constructed also from entry_id
2. add migration flow in init
3. bump config flow to version 2
4. add tests for migration
* move migrate to async_setup_entry
* 1. Use the entity registry api in tests
2. Set up the config entry and not use integration directly
3. remove patch for entity registry
* fix too many lines
* Update tests/components/sabnzbd/test_init.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/sabnzbd/test_init.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/sabnzbd/test_init.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/sabnzbd/test_init.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Ensure sql sensors keep working after using the options flow
Fixes
```
2022-05-06 16:17:57 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up sql platform for sensor
Traceback (most recent call last):
File "/Users/bdraco/home-assistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform
await asyncio.shield(task)
File "/Users/bdraco/home-assistant/homeassistant/components/sql/sensor.py", line 97, in async_setup_entry
name: str = entry.options[CONF_NAME]
KeyError: name
```
* ensure saving the options flow fixes the broken config entry
* ensure options changes take effect right away
* Add cover to validate the reload