* Add binary_sensor to version integration
* Add test to check we not create for local
* Move _attr_icon to sensor
* Update homeassistant/components/version/binary_sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* implemented connectivity sensor
* further cleanup off update code
* cleanup and tighter behaviour for attributes
* added seperate connectivity class to binary sensor
* callbacks and keys
* redid name and unique_id logic, non-breaking result
* using entry more in inits
* Fix import
* fix ping_interval in sia_entity_base
* added ping_interval default to next
* fixed next
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update nest to use stream thumbnail when it exists
* Update nest camera to always pull still image from stream
Update nest camera to always pull the still iamge from the stream component,
removing the use of the separate ffmpeg call, and removing use of the nest event
image. Image for events can now be pulled using the media source APIs, rather
than relying on the camera snapshot.
* Simplify a comment
* Remove more unused variables
* Simplify comments, image, and test code
* Remove assertions for placeholder images
* Address #63874
* avoid setting _last_period to None
* name is always set in discovery
* ValueError never happens only DecimalException
* async_tariff_change tracks state change - state machine will not pass a None
* test we only reset one utility_meter
* test corrupted restored state
* pretty sure _current_tariff doesn't change from init until here
* missing assert
* Revert "async_tariff_change tracks state change - state machine will not pass a None"
This reverts commit 24fc04a964.
* address review comment
* always a Decimal
* Support browsing multiple Spotify accounts
* Fix rebase mistakes
* Address review comments
* Return root spotify node with config entries as children
* Add util to get spotify URI for media browser URL
* Only support browsing spotify with config entry specified
Reset the stream backoff timeout when the url updates, meant to improve the retry behavior
for nest cameras. The problem is the nest url updates faster than the stream reset time
so the wait timeout never resets if there is a temporarily problem with the new url. In particular
this *may* help with the flaky cloud nest urls, but seems more correct otherwise.
Improve stream robustness by always retrying in the worker on failure, rather than only when
keepalive is enabled.
This will make cloud cameras like nest more robust, since they have a tendency to be flaky. This
is also needed to improve client side retry behavior because when the client attempts to retry,
the stream token is already revoked because the worker stopped.
The worker will still idle timeout if no streams are present, so it won't go on forever if no
frontend is viewing the stream.
* Add re-auth handler for Picnic
* Extracted authentication part so right form/errors can be shown during re-auth flow
* Add tests for Picnic's re-authentication flow
* Simplify re-auth flow by using the same step as step_user
* Use user step also for re-auth flow instead of having an authenticate step
* Add check for when re-auth is done with different account
* Remove unnecessary else in Picnic config flow
* Fix the step id in the translation strings file
Publish Nest events with zone information if present. User defined zones are configured
in the Google Home app, and are published with Motion/Person event.
* Add configuration option to disable the creation of zone bypass switches
* Removed temporary workaround and bumped pyenvisalink version to pick up the correct fix.
* Remove zone bypass configuration option and disable zone bypass switches per code review instructions.
* Create MQTT discovery flow when manual config is present
* Change to integration_discovery flow
* Add test
* Add default handler for integration_discovery
* Extracting group and extra info from ihc products
* Make suggested area not optional
* Revert back to assignment expression :=
* Make auto setup show device info for all platforms
* Change code comment to #
* Add return typing
* Remove device_info key without value
* get_manual_configuration typings for everything
* Adding IHCController typings
* Remove "ihc" from unique id
* Remove device_info
* Separator in unique id
* Return typing on ihc_setup
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/ihc/ihcdevice.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/ihc/ihcdevice.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Raise ValueError instead of logging an error
* Update homeassistant/components/ihc/service_functions.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Catch up with dev
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add diagnostics for philips_js
* Update homeassistant/components/philips_js/diagnostics.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/philips_js/diagnostics.py
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
* Also redact username/password
They are really not that secret, but seem logical.
* Redact unique id
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
I have some decora_wifi switches that I want to be able to move around
to different rooms within Home Assistant, and for that to be practical,
they need unique IDs, so here we are.
Signed-off-by: Jarod Wilson <jarodwilson@gmail.com>
* Tibber, Add stats and sensors for homes with real time meter
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
* Tibber stats
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
* Monthly peak hour
* 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>
* Move exception logging to helper
* Wrap subscription in lock
* Rewrite subscribe method to use new logging helper
* Mark entitites as unavailable sooner to avoid unnecessary polls
* Rename unclear method and update docstring
* Move lock to unsubscribe
* specify config type
* move coordinator outside try block
* rename gamename to game_name
* remove log in __init__
* Remove logging and minify update
* Add types to parameters
* Remove name from device
* Remove update listener
* Remove status icon
* Dont allow duplicate entries
* Use default translation string
* Remove online and port from coordinator
* Fix TOD component incorrectly determining the state between sunrise and sunset (#30199)
* TOD fix
* Comment added
* Review
* Review
* Review
* Update time after day fix workaround for compatibility with
current version.
Only apply fix when using times and not when using sun events.
Add unit test for behaviour.
Co-authored-by: Nikolay Vasilchuk <Anonym.tsk@gmail.com>
* 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 support for filter time left
* Fix test for fan platform
* Remove debug code
* Add unique id migration tool
* Convert to hours
* Fix tests
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add comment, check migration
* Refactor migration helper
* Refactor migration helper
* Move definition of new unique id
* Return after warning
* Add test for unique id migration
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>