* ESPHome use dhcp responses to update connection host of known devices
* Add test for dhcp
* Add another test to cover when there are no changes required
* Add config flow to AnthemAV integration
* Add importing of existing configuration
* Change setting to optional and add default value
* Use entity attribute
* Reduce changes by removing additional media player properties
* Remove title from translation
* Refactor config flow and fix PR comments
* Fix a failing test because of wrong renaming
* Add typing and use existing class and enum
* Bump dependency to v1.3.1
* Remove unecessary async_reload_entry
* Fix requirements_test_all after rebase
* Add const for timeout and remove async_block in test
* Reapply CodeOwner and configflow after rebase
* Remove name from configflow
* Fix manifest prettier failure
* Simplify code and avoid catching broad exception
* Removed unused strings and translations
* Avoid asserting hass.data
* Convert life360 integration to entity based
* Improve config_flow.py type checking
* Add tests for config flow
Fix form defaults for reauth flow.
* Cover reauth when config entry loaded
* Update per review (except for dataclasses)
* Restore check for missing location information
This is in current code but was accidentally removed in this PR.
* Fix updates from review
* Update tests per review changes
* Change IntegData to a dataclass
* Use dataclasses to represent fetched Life360 data
* Always add extra attributes
* Update per review take 2
* Tweak handling of bad last_seen or location_accuracy
* Fix type of Life360Member.gps_accuracy
* Update per review take 3
* Update .coveragerc
* Parametrize successful reauth flow test
* Fix test coverage failure
* Update per review take 4
* Fix config schema
* Enable Flame/Pilot switch
* Enable Flame/Pilot switch
* Update homeassistant/components/intellifire/switch.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/intellifire/switch.py
Thats a great fix!
Co-authored-by: J. Nick Koston <nick@koston.org>
* write not update
* fixed forced upates
* removed data field
* Refactor to support update to backing library
* pre-push-ninja-style
* moving over
* fixed coverage
* removed tuple junk
* re-added description
* Update homeassistant/components/intellifire/translations/en.json
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* adressing PR comments
* actually store generated values
* Update homeassistant/components/intellifire/__init__.py
Way better option!
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Add Particulate Matter 2.5 of ZCL concentration clusters to ZHA component
* Fixed black and flake8 test
* New sensors and manufacturer cluster to support IKEA STARKVIND (with quirk)
* Isort and codespell fixes
* Instead using the fan cluster, i've created a Ikea air purifier cluster/channel that supports all sensors and fan modes
* update sensors to support the new ikea_airpurifier channel
* Fix black, flake8, isort
* Mylint/mypy fixes + Use a TypedDict for REPORT_CONFIG in zha #73629
* Last fix for test_fan.py
* fix fan test
Co-authored-by: David F. Mulcahey <david.mulcahey@me.com>
* Make energy value validation a bit less aggressive
Attempt to solve issue 69600 introduced by previous fix for issue
59285.
- Introduce a tolerance factor for energy value validation.
- Only skip update the specific invalid energy entity. An energy entity
with invalid values will now show "State unknown".
* Remove the tolerance factor. Let's just ignore the specific invalid energy entity.
* use new async integration library
* migrate to new async integration library
* updated unit tests
* updated logger
* fix tests and improve test coverage
* fix test
* fix requirements
* time control to fix tests
* Add ability to use user & pw not in stream url
* Increase test coverage to 100%
* Increase test coverage
* Verify that stream source includes user:pass
* Code review: refactor test to use MockConfigEntry
* Code review: Improve test docstring
* Edit comment; retrigger CI.
Co-authored-by: Dave T <davet2001@users.noreply.github.com>
* Moved to AIOAladdinConnect API
* Added callback logic for door status
* close unused connections
* Close connection after verification
* Matched to current version
* Matched __init__.py to current release
* Matched cover.py to existing version
* added missing awaits
* Moved callback
* Bumped AIOAladdinConnect to 0.1.3
* Removed await from callback config
* Finished tests
* Added callback test
* Bumped AIOAladdinConnect to 0.1.4
* Finished tests
* Callback correct call to update HA
* Modified calls to state machine
* Modified update path
* Removed unused status
* Bumped AIOAladdinConnect to 0.1.7
* Revised test_cover cover tests and bumped AIOAladdinConnect to 0.1.10
* Bumped AIOAladdinConnect to 0.1.11
* Bumped AIOAladdinConenct to 0.1.12
* Bumped AIOAladdinConnect to 0.1.13
* Bumped AIOAladdinConnect to 0.1.14
* Added ability to handle multiple doors
* Added timout errors to config flow
* asyncio timout error added to setup retry
* Cleanup added to hass proceedure
* Bumped AIOAladdinConnect to 0.1.16
* Bumped AIOAladdinConnect to 0.1.18
* Bumped AIOAladdinConnect to 0.1.19
* Bumped AIOAladdinConnect to 0.1.20
* Addressed recommended changes: SCAN_INTERVAL and spelling
* Moved to async_get_clientsession and bumped AIOAladdinConnect to 0.1.21
* Missing test for new code structure
* removed extra call to write_ha_state, callback decorator, cleaned up tests
* Update tests/components/aladdin_connect/test_init.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Removed extra_attributes.
* Added typing to variable acc
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
List more private and link-local IP networks
The IPv6 link-local network is especially important as without it
local accounts don't work on IPv6-capable networks with no IPv6 DHCP
server.
* Speed up generation of template states
* tweak
* cache
* cache hash
* weaken
* Revert "weaken"
This reverts commit 4856f50080.
* lower cache size as it tends to be the same ones over and over
* lower cache size as it tends to be the same ones over and over
* lower cache size as it tends to be the same ones over and over
* cover
* Update homeassistant/helpers/template.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* id reuse is possible
* account for iterting all sensors
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Initial orjson support take 2
Still need to work out problem building wheels
--
Redux of #72754 / #32153 Now possible since the following is solved:
ijl/orjson#220 (comment)
This implements orjson where we use our default encoder. This does not implement orjson where `ExtendedJSONEncoder` is used as these areas tend to be called far less frequently. If its desired, this could be done in a followup, but it seemed like a case of diminishing returns (except maybe for large diagnostics files, or traces, but those are not expected to be downloaded frequently).
Areas where this makes a perceptible difference:
- Anything that subscribes to entities (Initial subscribe_entities payload)
- Initial download of registries on first connection / restore
- History queries
- Saving states to the database
- Large logbook queries
- Anything that subscribes to events (appdaemon)
Cavets:
orjson supports serializing dataclasses natively (and much faster) which
eliminates the need to implement `as_dict` in many places
when the data is already in a dataclass. This works
well as long as all the data in the dataclass can also
be serialized. I audited all places where we have an `as_dict`
for a dataclass and found only backups needs to be adjusted (support for `Path` needed to be added for backups). I was a little bit worried about `SensorExtraStoredData` with `Decimal` but it all seems to work out from since it converts it before it gets to the json encoding cc @dgomes
If it turns out to be a problem we can disable this
with option |= [orjson.OPT_PASSTHROUGH_DATACLASS](https://github.com/ijl/orjson#opt_passthrough_dataclass) and it
will fallback to `as_dict`
Its quite impressive for history queries
<img width="1271" alt="Screen_Shot_2022-05-30_at_23_46_30" src="https://user-images.githubusercontent.com/663432/171145699-661ad9db-d91d-4b2d-9c1a-9d7866c03a73.png">
* use for views as well
* handle UnicodeEncodeError
* tweak
* DRY
* DRY
* not needed
* fix tests
* Update tests/components/http/test_view.py
* Update tests/components/http/test_view.py
* black
* templates
* Speed up subscribing to mqtt topics
* update tests
* Remove extra function wrapper
* Recover debug logging for subscriptions
* Small changes and test
* Update homeassistant/components/mqtt/client.py
* Update client.py
Co-authored-by: jbouwh <jan@jbsoft.nl>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add FanEntity type hint checks to pylint plugin
* Add test
* Add test
* Review comments
* Adjust tests
* Rename variable
* also test keyword_only args
* Use docstrings
* Fix tests
* Better return type
* Add multiple config entry support for Nest
* Set a config entry unique id based on nest project id
* Add missing translations and remove untested committed
* Remove unnecessary translation
* Remove dead code
* Remove old handling to avoid duplicate error logs
* Support multiple config entries at once
* Add test coverage for multiple config entries
* Add support for multiple config entries to google config flow
* Clear hass.data when unloading config entry
* Make google config flow defensive against reuse of the same account
* Assign existing google config entries a unique id
* Migrate entities to new unique id format
* Support muliple accounts per oauth client id
* Fix mypy typing errors
* Hard fail to keep state consistent, removing graceful degredation
* Remove invalid entity regsitry entries
* Ensure config schema validation
* Use correct schema for device_tracker
* Remove schema validation from the platform setup
* Remove loop to build schema
* 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>
* Reduce overhead to refire events
- asyncio timers can fire early for a varity of reasons including
poor clock resolution and performance. To solve this problem
we re-arm async_track_point_in_utc_time and try again later
when this happens.
- On some platforms this means the async_track_point_in_utc_time can
end up trying many times to prevent firing the timer early since as
soon as it rearms it fires again and this repeats until we reach
the appointed time. While there is not much we can do to prevent
asyncio from firing the timer callback early, we can reduce the
overhead when this happens by using avoiding creating datetime
objects
* tweak mocking
* -vvv
* fix time freeze being too broad in litterrobot
* adjust
* Add temperature unit conversion to number
* Remove type enforcements
* Lint
* Fix legacy unit_of_measurement
* Address review comments
* Fix unit_of_measurement, improve test coverage
* Use more specific exception for comms timeout
* Remove defered uniqueid assigner now yaml has gone
Co-authored-by: Dave T <davet2001@users.noreply.github.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>
* Deprecate google calendar add_event service, replaced with entity service
* Fix inconsistencies and bugs in input validation
* Update validation rules and exceptions
* Resolve merge conflicts
* Feedreader: Properly support Atom feeds that use only the `updated` date format and resolve#73207.
* Revert "Feedreader: Properly support Atom feeds that use only the `updated` date format and resolve #73207."
This reverts commit 4dbd11ee04.
* Properly support Atom feeds that use only the `updated` date format and resolve#73207.
* Revert "Properly support Atom feeds that use only the `updated` date format and resolve #73207."
This reverts commit 14366c6a24.
* Properly support Atom feeds that use only the `updated` date format and resolve#73207.
* Refactor template entity to allow reuse
* Fix schema and default name
* Add tests
* Update requirements
* Improve test
* Tweak TemplateSensor initializer
* Drop attributes and availability from TemplateEntity
* Use rest sensor for proof of concept
* Revert changes in SNMP sensor
* Don't set _attr_should_poll in mixin class
* Update requirements
* Separate recorder database schema from other classes
* fix logbook imports
* migrate new tests
* few more
* last one
* fix merge
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