* Support hybrid local push/pull switches using MQTT
* Update homeassistant/components/fully_kiosk/entity.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Fix MQTT subscribe method
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* 🍱 Add new fixture for PVPC data from authenticated API call
and update mocked server responses when data is not available
(now returns a 200 OK with empty data)
* ✨ Implement optional API token in config-flow + options
to make the data download from an authenticated path in ESIOS server
As this is an *alternative* access, and current public path works for the PVPC,
no user (current or new) is compelled to obtain a token,
and it can be enabled anytime in options, or doing the setup again
When enabling the token, it is verified (or "invalid_auth" error),
and a 'reauth' flow is implemented, which can change or disable the token if
it starts failing.
The 1st step of config/options flow adds a bool to enable this private access,
- if unchecked (default), entry is set for public access (like before)
- if checked, a 2nd step opens to input the token, with instructions
of how to get one (with a direct link to create a 'request email').
If the token is valid, the entry is set for authenticated access
The 'reauth' flow shows the boolean flag so the user could disable a bad token
by unchecking the boolean flag 'use_api_token'
* 🌐 Update strings for config/options flows
* ✅ Adapt tests to check API token option and add test_reauth
* 🎨 Link new strings to those in config-flow
* 🐛 tests: Fix mocked date-change with async_fire_time_changed
* ♻️ Remove storage of flag 'use_api_token' in config entry
leaving it only to enable/disable the optional token in the config-flow
* ♻️ Adjust async_update_options
* Update datetime strings to match input_datetime integration
* Add netatmo service to set temperature
* Add netatmo service to clear temperature setting
* Fix formatting
* Add tests for new services
* Fix mypy error
* Fix formatting
* Fix formatting
* Apply suggestions from code review (WIP)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Complete changes from review suggestions
* Fix build error
* Add service to set temperature for time period
* Expand and fix test
* Replace duplicated strings with links
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* ability to set swing mode on samsung AC
* support for windFree mode on samsung AC
* Apply suggestions from code review
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* suggestion from code reviews
* Apply suggestions from code review
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Refactor to DataUpdateCoordinator
* Fix tests for sunset/sunrise
* Correct time offsets in tests
* Fix time intervals (attempt 2)
* Merge dev
* Fix tests after rebase
* Fix isort
* Address review comments: const and increase cov
* Fix merge problems
* Refactor, removing unnecessary file
* Perform blocking serial IO in the executor
* Replace deprecated async_setup_platforms
* Update based on review comments
* Fix tests
* Update based on review comments.
* Update homeassistant/components/aurora_abb_powerone/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Use freezer for time deltas.
* Address review comments
---------
Co-authored-by: Dave T <davet2001@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add tests to Skybell
* better way to manage cache
* uno mas
* try ci fix
* temporary
* undo temporary
* ruff
* black
* uno mas
* uno mas
* remove problematic test for now
* reduce to binary sensor tests
* coverage
* move cache to json
* Update tests/components/skybell/conftest.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add Linear Garage Door integration
* Add Linear Garage Door integration
* Remove light platform
* Add tests for diagnostics
* Changes suggested by Lash
* Minor refactoring
* Various improvements
* Catch up to dev, various fixes
* Fix DeviceInfo import
* Use the HA dt_util
* Update tests/components/linear_garage_door/test_cover.py
* Apply suggestions from code review
---------
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add RGB, RGBW and RGBWW capability to template.light
Add the required unit test
Mute 'LightTemplate.async_turn_on' is too complex
Rename all HS color mode from a generic "Color" name to a specific "HS" name
* Bring back legacy "color" keyword
* Cleanup unrequested commented test
* Increase code coverage to 100%
* Remove confusing if that should never be false
* Apply suggestions from code review
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add test sensor.
* Fix sensor test file name.
* Add binary sensor test.
* Fix comments and styling.
* Remove apcupsd from omissions in coveragerc.
* Revert "Remove apcupsd from omissions in coveragerc."
This reverts commit 66b05fcb8829619a771a650a3d70174089e15d91.
* Implement the data coordinator for apcupsd.
* Add tests for sensor updates and throttles.
* Reorder the statement for better code clarity.
* Update docstring.
* Add more tests for checking if the coordinator works ok.
* Implement a custom debouncer with 5 second cooldown for the coordinator.
* Add more tests for checking if our integration is able to properly mark entity's availability.
* Make apcupsd a silver integration.
* Try to fix non-deterministic test behaviors
* Fix JSON format
* Use new `with` format in python 3.10 for better readability
* Update tests.
* Rebase and simplify code.
* Add an ups prefix to the property methods of the coordinator
* Replace init_integration with async_init_integration
* Lint fixes
* Fix imports
* Update BinarySensor implementation to add initial update of attributes
* Fix test failures due to rebases
* Reorder the statements for better code clarity
* Fix incorrect references to the ups_name property
* Simplify BinarySensor value getter code
* No need to update when adding coordinator-controlled sensors
* Adding config flow and tests
* Removing update and adding to integrations.json
* Updating hassfest
* Removing comments
* Removing unique ID
* Putting the setup_platform out of order
* Adding feedback on issues and importing
* Removing uniqueID (again)
* Adjusting unload and typo
* Updating manifest properly
* Minor patching
* Removing hass.data.setdefault(DOMAIN, {})
* Moving load_platform to __init__.py
* Update homeassistant/components/fastdotcom/config_flow.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/fastdotcom/strings.json
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/fastdotcom/__init__.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/fastdotcom/config_flow.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Adding an unload function for the timer
* Adding issue on setup platform in sensor
* Update homeassistant/components/fastdotcom/config_flow.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Removing platform
* Fixing strings.json
* Fine-tuning
* Putting back last_state
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Extend `remove_item` service by status
* update services.yaml
* Create own service
* add tests
* Update tests/components/todo/test_init.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* verisure: Support default code from lock entity
* Actually use default lock code
* Typing
* Only pass default code if set
* Avoid passing code as empty string
* Simplified code
* Fix Freebox Home alarm
* Add trigger feature test & fix
* FreeboxCallSensor: Add test for missing coverage of new call
* Use generator
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add test for arm_home feature (questions about the check)
* Stay focus on alam tests
* can_arm_home ==> if _command_arm_home
* Use one liner for supported_features
* Add idle state
* Fix rebase
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Deprecate weather.get_forecast
* Rename forecast to get_forecasts
* raise issue for use of deprecated service
* Add fix_flow
* Add service translation/yaml
* deprecate calendar.list_events
* rename events to get_events
* raise issue for use of deprecated service
* Make issue fixable
* Add fix_flow
* Add service translation/yaml
* add image to roborock
* add vacuum position
* addressing MR comments
* remove room names as it isn't supported in base package
* 100% coverage
* remove unneeded map changes
* fix image logic
* optimize create_coordinator_maps
* only update time if map is valid
* Update test_image.py
* fix linting from merge conflict
* fix mypy complaints
* re-add vacuum to const
* fix hanging test
* Make map sleep a const
* adjust commenting to be less than 88 characters.
* bump map parser
* Add websocket command to capture audio from a device
* Update homeassistant/components/assist_pipeline/pipeline.py
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Add device capture test
* More tests
* Add logbook
* Remove unnecessary check
* Remove seconds and make logbook message past tense
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Add reauth support to Schlage
* Enforce same user credentials are used on reauth
* Changes requested during review
* Changes requested during review
* Add password to reauth_confirm data
* Add HassGetWeather intent
* Use async_match_states
* Extend test coverage
* Use get_entity
* Update homeassistant/components/weather/intent.py
* Fix state
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Fix netatmo authentication loop
* Update unit tests
* Move logic to determine api scopes
* Add unit tests for new method
* Use pyatmo scope list (#1)
* Exclude scopes not working with cloud
* Fix linting error
---------
Co-authored-by: Tobias Sauerwein <cgtobi@users.noreply.github.com>
* Add ZHA test checking light restores with None attributes
* Move shared `core_rs` fixture to `conftest.py`
* Remove special `color_mode` case, use `parametrize` for expected state
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add HTTPS support for Fully Kiosk with optional certificate verification.
* All pytests passing.
* Better readability for url parameter of DeviceInfo
* All pytests passing with latest fixes from upstream
* Removing fully_kiosk/translations
* Rebasing
* Added extra error detail when the integration config flow fails
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add optional communication delay in case a panel responds slow.
* Add migration test
* Connect by increasing the communication delay
* Update init to use option instead of config
* Updated strings
* Fix migration and tests
* Review changes
* Update connect strategy
* Update tests
* Changes after review
* Change typing from object to Any.
* Add test to validate communication delay update.
* Move test to separate file
* Change filename.
* Add tests for configuration validation errors
* Use absolute path for hass.config.config_dir
* Apply suggestions from code review
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fix rainbird unique id to use a mac address for new entries
* Fix typo
* Normalize mac address before using as unique id
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update test check and remove dead code
* Update all config entries to the new format
* Update config entry tests for migration
* Fix rainbird entity unique ids
* Add test coverage for repair failure
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove unnecessary migration failure checks
* Remove invalid config entries
* Update entry when entering a different hostname for an existing host.
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Improve local calendar based on local todo review feedback
* Revert fakestore change to diagnose timeout
* Revert init changes
* Revert and add assert
* Improve OAuth error handling in configuration flows
* Update strings for all integrations that use oauth2 config flow
* Remove invalid_auth strings
* Revert change to release
* Revert close change in aiohttp mock
* Add support to Google Calendar for webauth credentials
* Fix broken import
* Fix credential name used on import in test
* Remove unnecessary creds domain parameters
* Remove unnecessary guard to improve code coverage
* Clarify comments about credential preferences
* Fix typo
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add support for responses to call_service WS cmd
* Revert ServiceNotFound removal and add a parameter for return_response
* fix type
* fix tests
* remove exception handling that was added
* Revert unnecessary modifications
* Use kwargs
* Add helper method to get matter device info
* Cleanup async
* Guard
* get node from device id instead of node id
* Fix test
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>