* add phase entities to Enphase Envoy
* Implement review feedback for translation strings
* Enphase Envoy multiphase review changes
Move device name logic to separate function.
Refactor native value for phases
Use dataclasses.replace for phase entities, add on-phase to base class as well, no need for phase entity descriptions anymore
* Enphase Envoy reviewe feedback
Move model determination to library.
Revert states test for future split to sensor test.
* Enphase_Envoy use model description from pyenphase library
* Enphase_Envoy refactor Phase Sensors
* Enphase_Envoy use walrus in phase sensor
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* bug: prevent invalid key when empty invereter arrays is returned.
Some envoy fw versions return an empty inverter array
every 4 hours when no production is taking place.
Prevent collection failure due to this as other data
seems fine. Inveretrs will show unknown during this cycle.
* refactor: replace try/catch with test and make warning debug
* Update homeassistant/components/enphase_envoy/sensor.py
* Update homeassistant/components/enphase_envoy/sensor.py
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Name unnamed binary sensors by their device class
* Update type annotations
* Fix loading of entity component translations
* Add test
* Update integrations
* Set abode and rfxtrx binary_sensor name to None
* Revert changes in homekit_controller
* Updating sensor to use single API call
* Updated comment
Updated comment to reflect that polling is needed.
* Reduced calls to single API call
* Added except handling and increased async timeout
* Cleaned up some comments
* Added error handling
* Added last_reported date for inverters
* Added message during failed update
* Added retries to update function
* Updated update function
* Reformatted sensor.py with black
* Increased default scan period
* fixed timedelta typo
* importing CoordinatorEntity
* Check during setup else raise PlatformNotReady
* Removed async_update and override state
* using SCAN_INTERVAL constant
* fixed typo
* removed unused constant
* Removed retry logic
* Changed to catching exceptions rather than strings
* shortened string split line
* Replace requests_async with httpx
* Bump envoy_reader version to 0.17.2
* Resolving comments from PR requested changes
* Fixed typo in scan_interval
* Removed period from logging messages
* Bumping envoy_reader to 0.18.0
* Incorporating suggested changes
* Removing no longer used try/except
* Fail setup if authentication fails
* Bump envoy_reader to 0.18.2
* Update manifest.json
Updated sensor to use the latest version of the API to be able to use the new features.
* Updated sensor to use new API features. Configurable credentials and Inverter last reported date.
* EnvoyReader is passed to Envoy uses async update()
* Fixed pydocstyle warnings
* Fixed merge issue. Had extra variable.
* Added warning message when authentication for Inverter data fails
* Added continue after exception for loop
* Moved if statement outside of try/except
* Removed unneeded boolean attribute
* bump envoy_reader version to 0.4
* bump dependency envoy_reader to 0.4
* Enphase envoy get individual inverter production
* Add period in function description
* Fix dumb typo
* Define _attributes in __init__
* Better error messages, make update async
* Fix format error
* Fix pylint errors
* set unknown state to None
* Bump envoy_reader version to 0.8
* Change attributes to separate sensors
* Fix dumb thing
* Improve platform_setup for inverters
* Remove unneeded self._attributes, refactor platform setup
* Refactor platform setup
* Consolidate
* Fix tests
* Update imports
* Fix import
* Use importlib because integration and package share name
* Fix more tests
* Update .coveragerc and CODEOWNERS