* Initial commit prototype with empty inverters
* Use modern methods and global variable for character strings
* Platform that get the value of the meter in an entity
* Add check if inverter already configured
* Add tests for config_flow
* Update "imeon_inverter_api" in manifest.json
* Update "imeon_inverter_api" in requirements_all.txt
* Remove async_setup, clean comments, use of const PLATFORM
* Use of global variable and remove configuration of device name
* Use of entry.data instead of user_input variable
* Remove services.yaml
* No quality scale
* Use of common string
* Add sensors, use of EntityDescription and '_attr_device_info'
* Remove name from config_flow tests
* Use sentence case and change integration from hub to device
* Check connection before add platform in config_flow
* Use of _async_setup and minor changes
* Improve sensor description
* Add quality_scale.yaml
* Update the quality_scale.json
* Add tests for host invalid, route invalid, exception and invalid auth
* Type more precisely 'DataUpdateCoordinator'
* Don't use 'self.data' directly in coordinator and minor corrections
* Complete full quality_scale.yaml
* Use of fixtures in the tests
* Add snapshot tests for sensors
* Refactor the try except and use serial as unique id
* Change API version
* Add test for sensor
* Mock the api to generate the snapshot
* New type for async_add_entries
* Except timeout error for get_serial
* Add test for get_serial timeout error
* Move store data out of the try
* Use sentence case
* Use of fixtures
* Use separates fixtures
* Mock the api
* Put sensors fake data in json fixture file
* Use of a const interval, remove except timeout, enhance lisibility
* Try to use same fixture in test_config_flow
* Try use same fixture for all mock of inverter
* Modify the fixture in the context manager, correct the tests
* Fixture return mock.__aenter__ directly
* Adjust code clarity
* Bring all tests to either ABORT or CREATE_ENTRY
* Make the try except more concise
* Synthetize exception tests into one
* Add code clarity
* Nitpick with the tests
* Use unique id sensor
* Log an error on unknown error
* Remove useless comments, disable always_update and better use of timeout
* Adjust units, set the model and software version
* Set full name for Battery SOC and use ip instead of url
* Use of host instead of IP
* Fix the unit of economy factor
* Reduce mornitoring data display precision and update snapshots
* Remove unused variable HUBs
* Fix device info
* Set address label 'Host or IP'
* Fix the config_flow tests
* Re evaluate the quality_scale
* Use of 'host' instead of 'address'
* Make inverter discoverable by ssdp
* Add test ssdp configuration already exist
* Add exemption in quality scale
* Test abort ssdp if serial is unknown
* Handle update error
* Raise other exceptions
* Handle ClientError and ValueError from the api
* Update homeassistant/components/imeon_inverter/quality_scale.yaml
---------
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Add support for air purifier type in HomeKit.
Any fan and PM2.5 in the same device will be treated as an air purifier.
type_air_purifiers.py heavily based on type_fans.py -
I tried extending type_fans.py but this looked better to me.
* Refactor to make AirPurifier class extend Fan.
* Ensure all chars are added before creating service
* Add support for switching automatic mode.
* Add test for auto/manual switch
* Add support for air purifier type in HomeKit.
Any fan and PM2.5 in the same device will be treated as an air purifier.
type_air_purifiers.py heavily based on type_fans.py -
I tried extending type_fans.py but this looked better to me.
* Add support for air purifier type in HomeKit.
Any fan and PM2.5 in the same device will be treated as an air purifier.
type_air_purifiers.py heavily based on type_fans.py -
I tried extending type_fans.py but this looked better to me.
* Refactor to make AirPurifier class extend Fan.
* Ensure all chars are added before creating service
* Add support for switching automatic mode.
* Add test for auto/manual switch
* Add support for air purifier type in HomeKit.
Any fan and PM2.5 in the same device will be treated as an air purifier.
type_air_purifiers.py heavily based on type_fans.py -
I tried extending type_fans.py but this looked better to me.
* Improve fan config: allow setting fan type (fan or air purifier)
Be more explicit than assuming a fan is an air purifier if it has a PM2.5 sensor. Set defaults based on the presence of sensors.
* Fix return type annotation for fan/air purifier create_services
* Allow linking air purifier filter level/change indicator
* Remove no longer needed if statement in fan init
* Fix up types and clean up code
* Update homekit tests to account for air purifiers
* Fix pylint errors
* Fix mypy errors
* Improve type annotations
* Improve readability of auto preset mode discovery
* Test air purifier with 'Auto' preset mode
* Handle case with a single preset mode
* Test air purifier edge cases: state updates to same value, and removed linked entities
* Don't create 'auto mode' switch for air purifiers
This is already exposed as a target mode on the air purifier service itself
* Handle unavailable states in air purifier
Also don't remove device class when updating state in test
* Reduce branching in air purifier test
* Split up air purifier tests for with and without auto presets, to reduce branching
* Handle unavailable states in air purifier more explicitly
* Use constant for ignored state values
* Use a set for ignored_states
* Update tests/components/homekit/test_type_air_purifiers.py
---------
Co-authored-by: Andrew Kurowski <62596884+ak6i@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick+github@koston.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
* Abort if a flow is removed during a step
* Reorganize code
* Only call _set_pending_import_done if an entry is created
* Try a new approach
* Add tests
* Update tests
* Add missing strings to Fritz
* update quality scale
* add common section
this avoids later re-structuring and re-translating
* fix strings
* fix strings
* apply review comment
---------
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
* Add quality scale for SMLIGHT
* Review and update all rules
* Add missing data_description strings as detected by CI
* update for a few merged docs PR's
* Parallel updates done
https://github.com/home-assistant/core/pull/142455
* Set quality scale to silver
* Update homeassistant/components/smlight/quality_scale.yaml
* Update homeassistant/components/smlight/quality_scale.yaml
---------
Co-authored-by: Josef Zweck <josef@zweck.dev>