* Update the nest integration to be useable fully from the config flow
* Support discovery in nest config flow
* Remove configuration entries
* Remove unused import
* Remove dead code
* Update homeassistant/components/nest/strings.json
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove commented out code
* Use config flow for app auth reauthentication path
* Improves for re-auth for upgrading existing project and creds
* More dead code removal
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove outdated code
* Update homeassistant/components/nest/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add config flow to eight_sleep
* simplify tests
* Remove extra file
* remove unused import
* fix redundant code
* Update homeassistant/components/eight_sleep/__init__.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* incorporate feedback
* Review comments
* remove typing from tests
* Fix based on changes
* Fix requirements
* Remove stale comment
* Fix tests
* Reverse the flow and force the config entry to reconnect
* Review comments
* Abort if import flow fails
* Split import and user logic
* Fix error
Co-authored-by: J. Nick Koston <nick@koston.org>
* fixing after MartinHjelmare review
* fixing after MartinHjelmare review conversion alarm state to hass state
* fixing after MartinHjelmare review conversion alarm state to hass state
* manage the status in the alarm control
* simplyfing return function
* Removing iAlarm XR integration because of Antifurto365 explicit request to remove after some issues in their cloud service
* Change to new package and tcp
* Rework integration pt1
* Show by default
* Handle auth error
* Use const
* New version avaliable (to be replaced in future by update entity)
* Remove visible
* Version latest
* Filesystem space use
* Dev package
* Fix sensor
* Add services
* Update package
* Add temperature and voltage
* GPU
* Bump package version
* Update config flow
* Add displays
* Fix displays connected
* Round to whole number
* GPU fan speed in RPM
* Handle disconnections
* Update package
* Fix
* Update tests
* Handle more errors
* Check submodule and return missing uuid in test
* Handle auth error on config flow
* Fix test
* Bump package version
* Handle key errors
* Update package to release version
* Client session in config flow
* Log
* Increase timeout and use similar logic in config flow to init
* 30 secs
* Add test for timeout error
* Cleanup logs
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/system_bridge/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* uuid raise specific error
* Type
* Lambda to functions for complex logic
* Unknown error test
* Bump package to 3.0.5
* Bump package to 3.0.6
* Use typings from package and pydantic
* Use dict()
* Use data listener function and map to models
* Use passed module handler
* Use lists from models
* Update to 3.1.0
* Update coordinator to use passed module
* Improve coordinator
* Add debug
* Bump package and avaliable -> available
* Add version check
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* First version of laundrify integration
* Code cleanup
* Code cleanup after review #2
* Move coordinator to its own file
* Save devices as dict and implement available prop as fn
* Validate token on init, abort if already configured
* Some more cleanup after review
* Add strict type hints
* Minor changes after code review
* Remove OptionsFlow (use default poll interval instead)
* Fix CODEOWNERS to pass hassfest job
* Fix formatting to pass prettier job
* Fix mypy typing error
* Update internal device property after fetching data
* Call parental update handler and remove obsolete code
* Add coordinator tests and fix some config flow tests
* Refactor tests
* Refactor fixtures
* Device unavailable if polling fails
* Add ConfigFlow for here_travel_time
* Use Selectors and Menu
* Use separate config flow steps for menus
* Move time options together
* Update homeassistant/components/here_travel_time/config_flow.py
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Blacken config_flow
* Initialize _config
* Only catch HERE errors
* Fix unknown error test
* Implement async_step_import
* Only catch errors for validate_api_key
* Split lat/lon
* Add additional test coverage
* Use TimeSelector in option flow
* Assert config entry data/option
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Add google application_credentials platform
* Further simplify custom auth implementation overrides
* Add test coverage in application_credentials
* Simplify wording in a comment
* Remove unused imports accidentally left from merge
* Wrap lines that are too long for style guide
* Move application credential loading to only where it is needed
* Leave CLIENT_ID and CLIENT_SECRET as required.
* Adding flow and async
* Fixes to init
* Lint and type
* Fixed coveragerc file
* Added Test Coverage
* Added Update Listener and removed unused code
* Wrong integration name in init.
* Nothing
* Added yaml import flow
* Added YAML import functionality
* Added back aladdin_connect files to coverage rc
* Removed commented code
* Clean up error message
* Update homeassistant/components/aladdin_connect/__init__.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/aladdin_connect/__init__.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/aladdin_connect/config_flow.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Updated Documentation errors
* recommended change broke cover.py - backed out
* Cleaned up unused defenitions
* implimented recommended changes from gjohansson
* Dev environment cleanup
* Raised errors for better recovery, replaced removed update files, utilized PLATFORM vars to init platform
* Added back removal
* Added Code Owner
* Fixed more comment errors and import duplicates
* Added test coverage and formated code
* Added test coverage for model and init
* Added test_cover for full testing coverage
* Added await to async call
* Added missing asserts to failure tests
* Updated tranlsation
* Fixed wording in yaml import function, white space in const.py, return from validate_input.
* Update homeassistant/components/aladdin_connect/config_flow.py
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
* "too much" whitespace
* Added back mising strings.json errors
* Added ConfigFlowReconfig and tests
* Finished up reauth config flow and associated tests
* Added reauth to strings, removed username from reauth
* recommended changes, ran script.translations, added auth test to reauth
* put back self.entry.data unpack.
* Cleanup for error message, fixed missing "asserts" in tests
* Added yaml import assertions
* Fixed documentation errors in test_cover.
* remove unused string.
* revised tests and wording for yaml import
* Documentation cleanup.
* Changed sideeffect names
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
* Add ws66i core integration
* Remove all ws66i translations
* Update ws66i unit tests to meet minimum code coverage
* Update ws66i based on @bdraco review
* General improvements after 2nd PR review
* Disable entities if amp shutoff, set default source names, set 30sec polling
* Add _attr_ and change async_on_unload
* Improve entity generation
* Implement coordinator
* Made options fields required, retry connection on failed attempts, use ZoneStatus for attributes
* Refactor WS66i entity properties, raise HomeAssistantError on restore service if no snapshot
* Update to pyws66i v1.1
* Add quality scale of silver to manifest
* Update config_flow test
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Initial developer credentials scaffolding
- Support websocket list/add/delete
- Add developer credentials protocol from yaml config
- Handle OAuth credential registration and de-registration
- Tests for websocket and integration based registration
* Fix pydoc text
* Remove translations and update owners
* Update homeassistant/components/developer_credentials/__init__.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/developer_credentials/__init__.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Remove _async_get_developer_credential
* Rename to application credentials platform
* Fix race condition and add import support
* Increase code coverage (92%)
* Increase test coverage 93%
* Increase test coverage (94%)
* Increase test coverage (97%)
* Increase test covearge (98%)
* Increase test coverage (99%)
* Increase test coverage (100%)
* Remove http router frozen comment
* Remove auth domain override on import
* Remove debug statement
* Don't import the same client id multiple times
* Add auth dependency for local oauth implementation
* Revert older oauth2 changes from merge
* Update homeassistant/components/application_credentials/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Move config credential import to its own fixture
* Override the mock_application_credentials_integration fixture instead per test
* Update application credentials
* Add dictionary typing
* Use f-strings as per feedback
* Add additional structure needed for an MVP application credential
Add additional structure needed for an MVP, including a target
component Xbox
* Add websocket to list supported integrations for frontend selector
* Application credentials config
* Import xbox credentials
* Remove unnecessary async calls
* Update script/hassfest/application_credentials.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update script/hassfest/application_credentials.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update script/hassfest/application_credentials.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update script/hassfest/application_credentials.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Import credentials with a fixed auth domain
Resolve an issue with compatibility of exisiting config entries when importing
client credentials
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Add Insteon USB discovery
* Update tests/components/insteon/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Black
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Narrow down the list of LIFX models for HomeKit discovery
This allows the LIFX Switch to be integrated using the HomeKit
Controller component. I also adjusted the zeroconf test so that
the partial match still matches the lifx integration.
Signed-off-by: Avi Miller <me@dje.li>
* Update tests/components/zeroconf/test_init.py
Co-authored-by: J. Nick Koston <nick@koston.org>
This allows the LIFX Switch to be discovered by the HomeKit Controller
integration instead of being captured by the LIFX integration which
doesn't support switches.
Signed-off-by: Avi Miller <me@dje.li>
* Create a new NWS Alerts integration
* Create a new NWS Alerts integration
* Create new PECO integration
* Remove empty keys
* Revert "Create a new NWS Alerts integration"
This reverts commit 38309c5a87.
* Revert "Create a new NWS Alerts integration"
This reverts commit aeabdd37b8.
* Fix test with new mock data
* Add init and sensor to .coveragerc and more tests for config flow
* Small fixes and replacing patch with pytest.raises in testing invalid county
* Add type defs and fix test_config_flow to use MultipleValid instead
* Fix issues with 'typing.Dict'
* Move API communication to seperate PyPI library
* Switch PyPI library from httpx to aiohttp to allow for passing in websessions
* Commit file changes requested by farmio as listed here: d267e4300a
* Add suggestions requested by farmio as listed here: 586d8ffa42
* Move native_unit_of_measurement from prop to attr
* Update PLATFORMS constant type annotation
Co-authored-by: Matthias Alphart <farmio@alphart.net>
* Add peco to .strict-typing
I am from school so I can't run mypy atm
* Forgot to import Final
* Do as requested [here](https://github.com/home-assistant/core/runs/5070634928?check_suite_focus=true)
* Updated mypy.ini, checks should pass now
* Fix to conform to mypy restrictions https://github.com/home-assistant/core/runs/5072861837\?check_suite_focus\=true
* Fix type annotations
* Fix tests
* Use cast in async_update_data
* Add data type to CoordinatorEntity and DataUpdateCoordinator
* More cleanup from suggestions here: https://github.com/home-assistant/core/pull/65194\#pullrequestreview-908183493
* Fix tests for new code
* Cleaning up a speck of dust
* Remove unused variable from the peco sensor
* Add rounding to percentage, and extra clean-up
* Final suggestions from @farmio
* Update SCAN_INTERVAL to be a little bit faster
* Change the SCAN_INTERVAL to be somewhat near the update interval of the outage map, as noted by farmio
* New UpdateCoordinator typing
* Add new tomorrow.io integration to replace Climacell - Part 1/3 (#57121)
* Add new tomorrow.io integration to replace Climacell - Part 1/3
* remove unused code
* remove extra test
* remove more unused code
* Remove even more unused code
* Feedback
* clean up options flow
* clean up options flow
* tweaks and fix tests
* remove device_class from tomorrowio entity description class
* use timestep
* fix tests
* always use default name but add zone name if location is in a zone
* revert change that will go into future PR
* review comments
* move code out of try block
* bump max requests to 500 as per docs
* fix tests
* Add new tomorrow.io integration to replace Climacell - Part 2/3 (#57124)
* Add new tomorrow.io integration to replace Climacell - Part 2/3
* translations
* set config flow to false in manifest
* Cleanup more code and re-add options flow test
* fixes
* patch I/O calls
* Update tests/components/climacell/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* remove unused import
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fix codeowners
* fix mypy and pylint
* Switch to DeviceInfo
* Fix fixture location and improve sensor entities in tomorrowio integration (#63527)
* Add new tomorrow.io integration to replace Climacell - Part 3/3 (#59698)
* Switch to DeviceInfo
* Add new tomorrow.io integration to replace Climacell - Part 1/3 (#57121)
* Add new tomorrow.io integration to replace Climacell - Part 1/3
* remove unused code
* remove extra test
* remove more unused code
* Remove even more unused code
* Feedback
* clean up options flow
* clean up options flow
* tweaks and fix tests
* remove device_class from tomorrowio entity description class
* use timestep
* fix tests
* always use default name but add zone name if location is in a zone
* revert change that will go into future PR
* review comments
* move code out of try block
* bump max requests to 500 as per docs
* fix tests
* Migrate ClimaCell entries to Tomorrow.io
* tweaks
* pylint
* Apply fix from #60454 to tomorrowio integration
* lint and mypy
* use speed conversion instead of distance conversion
* Use SensorDeviceClass enum
* Use built in conversions and remove unused loggers
* fix requirements
* Update homeassistant/components/tomorrowio/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Use constants
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Black
* Update logic and add coverage
* remove extra line
* Do patching correctly
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add options flow support to HelperConfigFlowHandler
* Add config flow for cover, fan, light and media_player groups
* Update according to review comments
* Update translation strings
* Update translation strings
* Copy schema before adding suggested values
* Add config flow for switch.light
* Refactor according to code review
* Setup light switch from config entry
* Improve async_resolve_entity
* Prepare for multiple steps
* Remove name and options flow from switch light
* Check type before adding description to schema keys
* Remove options flow enabler
* Copy name from the switch
* Move helper flows to new file
* Improve test coverage
* Fix name
* Remove dead code from abstract method
* Remove manifest 'helper' option
* Validate registry entry id before forwarding to light platform
* Improve test
* Add translations
* Improve config entry setup
* Log when config entry fails setup
* Update homeassistant/components/switch/__init__.py
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Add Moehlenhoff Alpha2 underfloor heating system integration
* isort changes
* flake8 changes
* Do not exclude config_flow.py
* pylint changes
* Add config_flow test
* correct requirements_test_all.txt
* more tests
* Update test description
* Test connection and catch TimeoutError in async_setup_entry
* Add version to manifest file
* Remove version from manifest file
* Replace tests.async_mock.patch by unittest.mock.patch
* Update moehlenhoff-alpha2 to version 1.0.1
* Update requirements for moehlenhoff-alpha2 1.0.1
* Update moehlenhoff-alpha2 to 1.0.2
* Use async_setup_platforms
* Use async_unload_platforms
* Separate connection and devices for each entry_id
* Use async_track_time_interval to schedule updates
* Check if input is valid before checking uniqueness
* Move Exception handling to validate_input
* Catch aiohttp.client_exceptions.ClientConnectorError
* Remove translation files
* Mock TimeoutError
* Fix data update
* Replace current callback implementation with ha dispatcher
* Return False in should_poll
* Remove unused argument
* Remove CONNECTION_CLASS
* Use _async_current_entries
* Call async_schedule_update_ha_state after data update
* Remove unneeded async_setup
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Remove unneeded async_setup_platform
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Set Schema attribute host required
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Remove unused Exception class
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Update manifest.json
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* pylint constructor return type None
* Replace properties by class variables
* use pass instead of return
* Remove unused sync update method
* remove property hvac_action
* remove pass
* rework exception handling
* Update homeassistant/components/moehlenhoff_alpha2/config_flow.py
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Correct indentation
* catch Exception in validate_input
* Replace HomeAssistantType with HomeAssistant
* Update to moehlenhoff-alpha2 1.0.3
* Allow to switch between heating and cooling mode
* Update moehlenhoff-alpha2 to version 1.0.4
* Update heatarea data after setting target temperature
* Support hvac_action
* Fix heatarea update with multiple bases
* Update data after setting preset mode
* Use custom preset modes like defined by device
* Fix config flow test
* Fix test_duplicate_error
* Rename property to extra_state_attributes
Rename property device_state_attributes to extra_state_attributes and
return lowercase keys in dict.
* Refactor using DataUpdateCoordinator
* Remove _attr_should_poll
* Raise HomeAssistantError on communication error
Catch HTTPError instead of broad except and reraise as HomeAssistantError
* Change DataUpdateCoordinator name to alpha2_base
* Refresh coordinator before setting data
* Raise ValueError on invalid heat area mode
* Rename heatarea to heat_area
* Set type annotation in class attribute
* Move coordinator to top
* Move exception handling to the coordinator
* Use heat_area_id directly
* Sore get_cooling() result into local var
* Add explanation of status attributes
and remove BLOCK_HC
* Fix pylint warnings
* from __future__ import annotations
* Use Platform Enum
* Move data handling to coordinator
* Remove property extra_state_attributes
* Add missing annotations
* Update moehlenhoff-alpha2 to version 1.1.2
* Rework tests based on the scaffold template
* Set also heat/cool/day/night temp with target temp
* Remove unneeded code from tests
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Initial fivem integration setup
* Use licenseKey for unique ID
* Create FiveMServer class
* Create FiveMStatusBinarySensor
* Fix platform loading
* Create sensor platform
* Remove config flow tests
* Update manifest.json
* Use attr_ instead or properties in sensors.py
* Use entry_id as unique_id
* Move device info to _attr instead of property
* Register callback in FiveMEntity
* Create config flow tests
* Add loggin to fivem
* Use FiveM in config_flow
* Use update_coordinator instead of dispatcher
* Bump fivem-api to 0.1.2
* Remove leftovers
* More tests for config flow
* Add component files to .coveragerc
* Fix simple comments
* Add gamename check to config flow
* Use entity descriptions for sensors
* Move extra attributes to init
* Use [] instead of get() for server info
* Fix error in gamename test
* Add webOS Smart TV config flow support (#53256)
* Add Webostv config flow
* Fix tests mocks and apply review comments
* Apply review comments
* Change config flow to use ssdp UDN as unique_id
* Fix device info
* More review comments
* Fix _async_check_configured_entry
* Remove turn on script
* Add webOS Smart TV device triggers (#53752)
* Add webOS Smart TV config flow support (#53256)
* Add Webostv config flow
* Fix tests mocks and apply review comments
* Apply review comments
* Change config flow to use ssdp UDN as unique_id
* Fix device info
* More review comments
* Fix _async_check_configured_entry
* Remove turn on script
* Add webOS Smart TV device triggers (#53752)
* Fix webOS Smart TV mypy and pylint errors (#62620)
* Change webOS Smart TV PyPi aiopylgtv package to bscpylgtv (#62633)
* Change webOS Smart TV PyPi aiopylgtv package to bscpylgtv
* Update bscpylgtv to 0.2.8 (revised websockets requirment)
* Change webOS Smart TV PyPi package to aiowebostv (#63759)
* Change webOS Smart TV PyPi package to aiowebostv
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* webOS TV check UUID for user added device (#63817)
* webOS TV check uuid when for user added device
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add test for form abort and host update
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Rework webOS Smart TV device trigger to custom trigger platform (#63950)
* Rework webOS Smart TV device trigger to custom trigger platform
* Review comments and add tests
* Fix webOS TV import from YAML (#63996)
* Fix webOS TV import from YAML
* Fix requirements
* Migrate YAML entities unique id to UUID
* Add backoff to migration task delay
* Assert result data and unique_id
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add codeowner
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add initial version of the webrtc integration
Add the webrtc integration. This integration proxies the
signal 'offer' from the client to a RTSPtoWebRTCP server that
returns an 'answer'.
The RTSPtoWebRTC server is a go binary based on pion, and this is
what is currently used by the WebRTC custom_component:
https://github.com/AlexxIT/WebRTChttps://github.com/deepch/RTSPtoWebRTC
* Readability improvements for webrtc
* Reach 100% test coverage
* Use rtsp-to-webrtc client library package
* Rename webrtc to rtstptowebrtc
This is to reflect naming as one type of approach to webrtc since other webrtc integrations would look very different.
* Remove internal quality scale
* Bump rtsptowebrtc to support heartbeats
* Shorten server url variable and remove const.py
* Add config flow validation for RTSPtoWebRTC server
* Add RTSPtoWebRTC server health checks
* Accept translation suggestion
* Apply suggestions from code review
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update rtsptowebrtc to use new camera registry API
Update rtsptowebrtc to use new API added in #62962
* Remove unused variable
* Fix lint and typing errors for python 3.8
* Rename to rtsp_to_webrtc to follow standards
* Use async_on_unload for unsubscribing camera webrtc provider
* Remove unnecessary translations in config flow
* Remove unnecessary configuration setup
* Cleanup test setup and typing
* Patch integration setup to avoid starting the whole integration
Co-authored-by: J. Nick Koston <nick@koston.org>
Add nest mac addresses for cameras and doorbell devices added
in the last few years.
This is in perparation for improving nest discovery, which
currently does not work great because it requires configuration.yaml
* config flow added, no tests yet
* added tests
* refinement of tests
* small reverses of hub code
* fix small bug
* test fixes from review
* test fixes from review
* further refinement of tests and config flow
* removed true return from hub and added failed reason for import
* added deepcopy to default options
* deleted max_delay from options, can still be in yaml for now
* updated dropped message
* mistaken period at eol
* Add twinkly DHCP support
* fix typing import
* fix format
* Fix imports v2
* Using IP
* Fix tests
* Apply suggestions from code review
Thanks @bdraco
Co-authored-by: J. Nick Koston <nick@koston.org>
* fix black
* Add confirm step
* Add more tests
* Update homeassistant/components/twinkly/config_flow.py
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
* Add Tailscale integration
* Use DeviceEntryType
* Fix tests
* Adjust to new Pylint version
* Use enums for device classes
* Update homeassistant/components/tailscale/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Pass empty string as default
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add unique_id and use DataUpdateCoordinator in Fronius (#57879)
* initial refactoring commit - meters
- config_flow (no strings, no tests yet)
- import yaml config
- FroniusSolarNet class for holding Fronius object , coordinators and some common data
- meter descriptions
- update coordinator
- entities (including devices)
* storage controllers
* error handling on init; inverter unique_id
* inverters
* power_flow
* fix VA, var, varh not valid for device_class power/energy
and add custom icons
* add SolarNet device for system wide values
* cleanup
* config_flow strings
* test config_flow
* use pyfronius 0.7.0
* enable strict typing
* remove TODO comments
* fix lint errors; move FroniusSensorEntity to sensor.py
* power_flow as optional coordinator
API V0 doesn't support power_flow endpoint
* show error message in logs
* prevent parallel requests to one host
* logger_info coordinator
* store FroniusSolarNet reference directly in coordinator
* cleanup coordinators when unloading entry
* round floats returned by Fronius API
* default icons for grid im/export tariffs
* small typing fix
* Update homeassistant/components/fronius/sensor.py
Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>
* DC icons
* prepend names with "Fronius" and device type
to get more reasonable default entity_ids (eg. have them next to each other when alphabetically sorted)
* remove config_flow and devices
* rename _FroniusUpdateCoordinator to FroniusCoordinatorBase
and mark ABC
* move SensorEntityDescriptions to sensor.py
* Revert "move SensorEntityDescriptions to sensor.py"
This reverts commit 2e5a726eb6.
* Don't raise ConfigEntryNotReady and use regular refresh method
* move bridge initialization out of helper class
* no coverage tests
* power_flow update interval 10 seconds
* move SensorEntityDescriptions to sensor.py
without introducing a circular dependency
* deprecation warning for CONF_MONITORED_CONDITIONS
* remove extra_state_attributes form meter sensor entities
* readd diagnostic entities
* decouple default entity_id from default name
* use key instead of name for entity_id
and make deprecated config key optional
* adjust tests
* use old entity_ids
these changes are now backwards compatible
* check coverage
* simplify entity description definitions
* restore entity names of previous implementation
Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>
* Add config_flow for Fronius integration (#59677)
* Cleanup Fronius config_flow and tests (#60094)
* Add devices to Fronius integration (#60104)
* New entity names for Fronius entities (#60215)
* Adaptive update interval for Fronius coordinators (#60192)
Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>
* Configuration via UI
Config flow / YAML deprecation
- Support discovery via MAC address
- Support import of YAML config
- Switch to ConfigEntry, get rid of platform setup
* Fix review comments
* More tests for vicare yaml import
* implemented config_flow and dataupdatecoordinator
* implemented config flow, dataupdatecoordinator and tests.
* undid extra vscode task
* fixed pylint errors
* updates based on review
* fix mypy in reauth
* fast interval to 5 sec
* fixed test patches and others from review
* added released package
* deleted wrong line from coveragerc
* updates to config and tests
* fixed test patch
* Initial commit after scaffold setup
* Add initial config flow
* Create initial entity
* Ready for testing
* Can browse, no result yet
* Further improvements. Browsing is working.
Now need to work on proper stream URL
* Two valid URLs. Do not play in HA
* First working version for music
* Add thumbnail
* Includes Artist->Album hierarchy
* Add sorting of artists, albums and tracks
* Remove code for video libraries
* Improved code styling
* Optimize configuration flow
* Fix unit tests for config flow
* Fix import order
* Conform to style requirements
* Use empty string as media type for non playables
* 100% code coverage config_flow
* Type async_get_media_source
* Final docsctring fix after rebase
* Add __init__ and media_source files to .coveragerc
* Fix testing issues after rebase
* Fix string format issues and relative const import
* Remove unused manifest entries
* Raise ConfigEntry exceptions, not log errors
* Upgrade dependency to avoid WARNING on startup
* Change to builtin tuple and list (deprecation)
* Log broad exceptions
* Add strict typing
* Further type fixes after rebase
* Retry when cannot connect, otherwise fail setup
* Remove unused CONFIG_SCHEMA
* Enable strict typing checks
* FlowResultDict -> FlowResult
* Code quality improvements
* Resolve mypy.ini merge conflict
* Use unique userid generated by Jellyfin
* Update homeassistant/components/jellyfin/config_flow.py
Remove connection class from config flow
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Minor changes for additional checks after rebase
* Remove title from string and translations
* Changes wrt review
* Fixes based on rebase and review suggestions
* Move client initialization to separate file
* Remove persistent_notification, add test const.py
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>