* Fix menu in knx config flow
* Update tests
* Fix strings.json
* Rename new menu steps for readabiltiy
---------
Co-authored-by: Matthias Alphart <farmio@alphart.net>
* zha: Add translation to binary sensors
* Add some small test for name
* Add translations for sensors
* Correct some tests
* Adjust summation key
* Add translation keys for button
* Add translation keys to climate
* Add translation keys for cover
* Add translation keys to fan
* Add translations to light
* Add translations for lock
* Add translation keys to number
* Add translationk keys to select
* Add translations for switch entities
* Add translation to alarm control panel
* Map to some more standard device classes
* Use shorter references
* Remove explicit name from identify button
* Correct tests
* Correction after rebase
* Dynamically add sensors for new data points in Withings
* Dynamically add sensors for new data points in Withings
* Add test
* Change docstring
* Store new measurements
* Fix feedback
* Add test back
* Add test back
* Add test back
* Add Netatmo climate service set_preset_mode_with_end_datetime to allow you to specify an end datetime for a preset mode
* Make end date optional
* address review comments
* Update strings
* Update homeassistant/components/netatmo/const.py
* Update homeassistant/components/netatmo/strings.json
---------
Co-authored-by: Adrien JOLY <adrien.joly-veillith@live.fr>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add diagnostics support
* Return diagnostics dict directly
* Use syrupy snapshots for assertions in diagnostics test
* Use parametrize for testing diagnostics
* Remove unnecessary side_effect in patch
* Subscribe to Withings webhooks outside of coordinator
* Subscribe to Withings webhooks outside of coordinator
* Update homeassistant/components/withings/__init__.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/withings/__init__.py
Co-authored-by: J. Nick Koston <nick@koston.org>
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Bump pyOverkiz and migrate entries
* Add comment
* Remove entities when duplicate
* Remove old entity
* Remove old entities
* Add example of entity migration
* Add support of UIWidget and UIClass
* Add tests for migrations
* Apply feedback (1)
* Apply feedback (2)
* Rework on Google Assistant doorbell event
* Additional comment on syncing notificatiions
* Update homeassistant/components/google_assistant/trait.py
* Only sync event if state attr changed
* Update comment
* Add circular mean
Add support for circular mean for sensors in units of degrees, e.g. direction data.
* Update test_sensor.py
* Update sensor.py
* Remove whitespace
* Revert to degC
* Fix: shift atan2 output to positive degrees
* Add new dedicated test
* Simplify test
* Modify test to account for scenario of unknown unsupported attributes
* Add error checking for finding unsupported attributes
* Change comment to clarify zigpy misses an attribute def
This should make it more clear that it's about an unknown attribute (where zigpy doesn't have an attribute definition).
* Increase test coverage
This increases test coverage by doing the following:
- adding the `IasZone` to our test device, so we have a cluster which actually has some attribute definitions
- adding not just an unknown unsupported attribute by id, but also by name
- adding a known unsupported attribute by id and by name
* Fix diagnostics logic
* Update device info for gen2 sleeping devices
* Add test
* Update sw_version only if the firmware_version value has changed
* Rename device_update_info() to update_device_fw_info()
* Remove duplicate comparison
* Fix data entry flow with multiple steps
* Update a test
* Update description and add a show progress change test
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Support secret_token for setWebHook api
* Revert configuration YAML changes; generate and store secret token instead
* Reformat codes
* Revert storage of secret token; use ephemeral secret token instead
* Reformat
* Update homeassistant/components/telegram_bot/webhooks.py
* Fix when header is not present
* Check for non-empty token
* Fix tests to support secret token
* Add tests for invalid secret token
* Minor: remove comment
* Revert back to 401
* ... and for tests
* Change patching method for the generation of secret tokens
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add reauth support in fitbit
* Update tests/components/fitbit/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Improve http status error code handling
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add weatherkit sensor platform and tests
* Make unique ID assignment more explicit
* Fix missing argument
* Use const for top-level API response keys
* Address code review feedback
* Fix unique ids for rainbird entities
* Update entity unique id use based on config entry entity id
* Update tests/components/rainbird/test_binary_sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Rename all entity_registry variables
* Shorten long comment under line length limits
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Cleanup fitbit sensor API parsing
* Remove API code that is not used yet
* Configuration flow for fitbit
* Code cleanup after manual review
* Streamline code for review
* Use scopes to determine which entities to enable
* Use set for entity comparisons
* Apply fitbit string pr feedback
* Improve fitbit configuration flow error handling
* Apply suggestions from code review
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Fix typo in more places
* Revert typing import
* Revert custom domain back to default
* Add additional config flow tests
* Add breaks_in_ha_version to repair issues
* Update homeassistant/components/fitbit/api.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Increase test coverage for token refresh success case
* Add breaks_in_ha_version for sensor issue
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Simplify translations, issue keys, and token refresh
* Config flow test improvements
* Simplify repair issue creation on fitbit import
* Remove unused strings
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Bump plexapi to 4.15.3
* Update tests for updated account endpoint
* Update tests for updated resources endpoint
* Switch to non-web client fixture
* Set __qualname__ attribute for new library behavior
* Add LED control support to Home Assistant Green
* Add strings.json
* Sort alphabetically
* Reorder LED schema
* Improve test coverage
* Apply suggestions from code review
Co-authored-by: Stefan Agner <stefan@agner.ch>
* Sort + fix test
* Remove reboot menu
---------
Co-authored-by: Stefan Agner <stefan@agner.ch>
* add support for shutter_tilt for Fibaro FGR 223
add tests for fgr 223
* Adjust comments and docstring
---------
Co-authored-by: Lennart <18117505+Ced4@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fix _async_component_dependencies
Fix bug with circular dependency detection
Fix bug with circular after_dependency detection
Simplify interface and make the code more readable
* Implement review feedback
* Pass all conflicting deps to Exception
* Change inner docstring
Co-authored-by: Erik Montnemery <erik@montnemery.com>
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* merge upstream
* Update homeassistant/components/weatherflow/__init__.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* feat: Removing unused keys
* feat: Addressing PR to remove DEFAULT_HOST from init
* feat: Addressing PR abort case
* feat: Ensure there is a default host always
* feat: Addressing PR comments and fixing entity names via local testing
* feat: Tested units
* feat: updated variable names to hopefully add some clarity to the function
* feat: added more var names for clarity
* feat: Fixed abort
* Update homeassistant/components/weatherflow/__init__.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* feat: Removed an unnecessary line
* feat: Test updates
* feat: Removed unreachable code
* feat: Tons of improvements
* removed debug code
* feat: small tweaks
* feat: Fixed density into HA Compatibility
* feat: Handled the options incorrectly... now fixed
* feat: Handled the options incorrectly... now fixed
* Update homeassistant/components/weatherflow/manifest.json
Co-authored-by: J. Nick Koston <nick@koston.org>
* Cleaned up callback in __init__
Cleaning up config_flow as well
* feat: Cleaned up a stupid test
* feat: Simulating a timeout event
* feat: Triggering timeout in mocking
* feat: trying to pass tests
* refactor: Moved code around so easier to test
* Update homeassistant/components/weatherflow/__init__.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* feat: Incremental changes moving along well
* feat: Last fix before re-review
* feat: Hopefully the tests shall pass
* feat: Remove domian from unique id
* feat: Fixed entity name
* feat: Removed unneeded lambda - to make thread safe
* Working version...
* working
* working
* feat: Remove tuff
* feat: Removed dual call
* Update homeassistant/components/weatherflow/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/strings.json
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* feat: updates based on pr
* feat: removed some self refrences
* feat: Mod RSSI
* feat: Removed the custom Air Density (will add in a later PR)
* feat: Significant cleanup of config flow
* feat: Reworked the configflwo with the help of Joostlek
* feat: Updated test coverage
* feat: Removing bakcing lib attribute
* Update homeassistant/components/weatherflow/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* feat: Updated translations
* feat: Renamed CUSTOM to VOC
* feat: Extreme simplification of config flow
* feat: Pushing incremental changes
* feat: Fixing test coverage
* feat: Added lambda expressions for attributes and removed the custom AirDensity sensor
* Update homeassistant/components/weatherflow/sensor.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/weatherflow/sensor.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* feat: Removed default lambda expression from raw_data_conv_fn
* feat: Added back default variable for lambda
* feat: Updated tests accordingly
* feat: Updated tests
* made sure to patch correct import
* made sure to patch correct import
* feat: Fixed up tests ... added missing asserts
* feat: Dropped model
* Update homeassistant/components/weatherflow/sensor.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Refactor: Updated code
* refactor: Removed commented code
* feat: close out all tests
* feat: Fixing the patch
* feat: Removed a bunch of stuff
* feat: Cleaning up tests even more
* fixed patch and paramaterized a test
* feat: Addressing most recent comments
* updates help of joostlek
* feat: Updated coverage for const
* Update homeassistant/components/weatherflow/strings.json
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/strings.json
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/strings.json
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/strings.json
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/strings.json
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/strings.json
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* feat: Addressing more PR issues... probably still a few remain
* using const logger
* Update homeassistant/components/weatherflow/strings.json
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Bump zwave-js-server-python to 0.52.0
* Add WS command to enabled zwave_js server logging in lib
* enable and disable server logging automatically
* fix conditionals
* fix tests
* Add logging
* small tweaks
* Add logger as a dependency
* fix test
* Prepare for movement of event constant
* Add constant so tests pass
* feat(knxproject-explore): providing knxproject via websocket, also xknxproject version in info mesage
* feat(knxproject-explore): adding test case
* reverted back adding of xknxproject version
* fix(): Enriching get project test case to check against FIXTURE
* feat(knxproject-explore): providing knxproject via websocket, also xknxproject version in info mesage
* feat(knxproject-explore): adding test case
* reverted back adding of xknxproject version
* fix(): Enriching get project test case to check against FIXTURE
* Initial version of a calendar for the rainbird integration
* Improve calendar support
* Revert changes to test fixtures
* Address ruff error
* Fix background task scheduling
* Use pytest.mark.freezetime to move to test setup
* Address PR feedback
* Make refresh a member
* Merge rainbird and calendar changes
* Increase test coverage
* Readability improvements
* Simplify timezone handling
* Use webrtc-noise-gain instead of webrtcvad package
* Switching to ProcessedAudioChunk
* Refactor VAD and fix tests
* Add vad no chunking test
* Add test that runs audio enhancements
* First attempt async_report_state_all
* Move notificationSupportedByAgent to SYNC response
* Make notificationSupportedByAgent conditional
* Add generic sync_options method
* Report event
* Add event_type as ID
* User UUID, imlement query_notifications
* Refactor query_notifications
* Add test
* MyPy
* Unreachable code
* Tweak
* Correct notification message
* Timestamp was wrong unit, it should be in seconds
* Can only allow doorbell class, since it's the only type
* Fix test
* Remove unrelated changes - improve coverage
* Additional tests
---------
Co-authored-by: Joakim Plate <elupus@ecce.se>
* Move child related stuff to MySensorsChildEntity
* Dispatch signal for newly discovered MySensors node
* Create battery entity for each MySensors node
* Removed ATTR_BATTERY_LEVEL attribute from each node sensor
Attribute is redundant with newly introduced battery sensor entity
* Apply suggestions from code review
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Merge branch 'dev' into workday_without_country
* ruff
* remove province check
* Remove not needed test
* Mod config flow
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add config flow to Hydrawise
* Raise an issue when a YAML config is detected
* Add a test for YAML import
* Add missing __init__.py
* Update CODEOWNERS
* Update requirements_test_all.txt
* Add config flow data to strings.json
* Hande scan_interval not being in YAML on import
* Fix requirements
* Update deprecation dates
* Update requirements_test_all.txt
* Changes from review
* Update homeassistant/components/hydrawise/__init__.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add already_configured to strings.json
* Add back setup_platform functions
* Apply suggestions from code review
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add back setup_platform
* Update requirements_test_all.txt
* Run black on hydrawise/*.py
* Add missing import of HOMEASSISTANT_DOMAIN
* Use more specific errors in config flow
* Add additional tests
* Update config flow to use pydrawise.legacy
* Re-work YAML deprecation issues
* Revert some changes to binary_sensor, as requested in review
* Changes requested during review
* Apply suggestions from code review
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Remove unused STE_USER_DATA_SCHEMA
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update comment in setup_platform
* Re-work the config flow again
* Apply suggestions from code review
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update tests
* Add back the _default_watering_timer attribute
* Bump deprecation dates
* Update requirements_test_all.txt
* Update CODEOWNERS
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Don't set a unique id for devices with no serial
* Add additional check for the same config entry host/port when there is no serial
* Update homeassistant/components/rainbird/config_flow.py
Co-authored-by: Robert Resch <robert@resch.dev>
* Update tests/components/rainbird/test_config_flow.py
Co-authored-by: Robert Resch <robert@resch.dev>
* Update tests/components/rainbird/test_config_flow.py
Co-authored-by: Robert Resch <robert@resch.dev>
---------
Co-authored-by: Robert Resch <robert@resch.dev>
* Add ecoforest integration
* fix file title
* remove host default from schema, hints will be given in the documentation
* moved input validation to async_step_user
* ensure we can receive device data while doing entry setup
* remove unecessary check before unique id is set
* added shorter syntax for async create entry
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* use variable to set unique id
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Use _attr_has_entity_name from base entity
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* remove unecessary comments in coordinator
* use shorthand for device information
* remove empty objects from manifest
* remove unecessary flag
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* use _async_abort_entries_match to ensure device is not duplicated
* remove unecessary host attr
* fixed coordinator host attr to be used by entities to identify device
* remove unecessary assert
* use default device class temperature trasnlation key
* reuse base entity description
* use device serial number as identifier
* remove unused code
* Improve logging message
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Remove unused errors
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Raise a generic update failed
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* use coordinator directly
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* No need to check for serial number
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* rename variable
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* use renamed variable
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* improve assertion
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* use serial number in entity unique id
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* raise config entry not ready on setup when error in connection
* improve test readability
* Improve python syntax
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* abort when device already configured with same serial number
* improve tests
* fix test name
* use coordinator data
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* improve asserts
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* fix ci
* improve error handling
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Only call `async_ha_write_state` on changes.
* Make helper class
* Use UndefinedType
* Remove del
* Integrate monitor into MqttEntity
* Track extra state attributes and availability
* Add `__slots__`
* Add monitor to MqttAttributes and MqttAvailability
* Write out loop
* Add test
* Make common test and parameterize
* Add test for last_reset attribute
* MqttMonitorEntity base class
* Rename attr and update docstr `track` method.
* correction doct
* Implement as a decorator
* Move tracking functions into decorator
* Rename decorator
* Follow up comment