* 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
```
$ python3 -q
>>> import datetime, time
>>> time.tzname
('EET', 'EEST')
>>> datetime.datetime.max.timestamp()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: year 10000 is out of range
```
* Add event platform for gen2 devices
* Add tests
* Add removal condition
* Simplify RpcEventDescription; fix availability
* Improve names and docstrings
* Improve the event entity name
* Use async_on_remove()
* Improve tests coverage
* Improve tests coverage
* Prefix the entity name with the device name in the old way
* Black
* Use DeviceInfo object
* Switches via API
* Using external library
* UT and checlist
* Updating file .coveragerc
* Update homeassistant/components/switchbot_via_api/switch.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/switchbot_via_api/switch.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/switchbot_via_api/switch.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Review fixes
* Apply suggestions from code review
Co-authored-by: J. Nick Koston <nick@koston.org>
* This base class shouldn't know about Remote
* Fixing suggestion
* Sometimes, the state from the API is not updated immediately
* Review changes
* Some review changes
* Review changes
* Review change: Adding type on commands
* Parameterizing some tests
* Review changes
* Updating .coveragerc
* Fixing error handling in coordinator
* Review changes
* Review changes
* Adding switchbot brand
* Apply suggestions from code review
Co-authored-by: J. Nick Koston <nick@koston.org>
* Review changes
* Adding strict typing
* Removing log in constructor
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Late review for honeywell
* Actually test same id different domain
* Update homeassistant/components/honeywell/climate.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update climate.py
* Refactor dont_remove
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Avoid probing ipp printers for unique_id when it is available via mdns
We would always probe the device in the ipp flow and than
abort if it was already configured. We avoid the probe for
most printers.
* dry
* coverage
* fix test
* add test for updating host
* Cache device triggers on startup
* reorg zha init
* don't reuse gateway
* don't nuke yaml configuration
* review comments
* Add unit tests
* Do not cache device and entity registries
* [WIP] Wrap ZHA data in a dataclass
* [WIP] Get unit tests passing
* Use a helper function for getting the gateway object to fix annotations
* Remove `bridge_id`
* Fix typing issues with entity references in group websocket info
* Use `Platform` instead of `str` for entity platform matching
* Use `get_zha_gateway` in a few more places
* Fix flaky unit test
* Use `slots` for ZHA data
Co-authored-by: J. Nick Koston <nick@koston.org>
---------
Co-authored-by: David F. Mulcahey <david.mulcahey@icloud.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
* Do not connect to the radio hardware within `_connect_zigpy_app`
* Make `connect_zigpy_app` public
* Create radio manager instances from config entries
* Cache device triggers on startup
* reorg zha init
* don't reuse gateway
* don't nuke yaml configuration
* review comments
* Fix existing unit tests
* Ensure `app.shutdown` is called, not just `app.disconnect`
* Revert creating group entities and device registry entries early
* Add unit tests
---------
Co-authored-by: David F. Mulcahey <david.mulcahey@icloud.com>
* Also handle DiscovergyClientError as UpdateFailed
* Change AccessTokenExpired to InvalidLogin
* Also add DiscovergyClientError to config flow and tests
* add unit tests for sensors
* newline long strings
* unit test check and move time
* rename entry to entity
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* add types to test
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* fix newlined f strings
* remove if statement
* add some more explaination
* Update datetime
Co-authored-by: Robert Resch <robert@resch.dev>
* Simpler time update
Co-authored-by: Robert Resch <robert@resch.dev>
* add missing datetime import
* Update docustring - grammar
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* address comments and issues raised
* address docstrings too long
* Fix docstring
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Change SSDP discovery scan interval to 10 minutes
The first version used a scan interval of 1 minute which we
increased to 2 minutes because it generated too much traffic.
We kept it at 2 minutes because Sonos historicly needed to
get SSDP discovery to stay alive. This is no longer the case
as Sonos has multiple ways to keep from going unavailable:
- mDNS support was added
- We now listen for SSDP alive and good bye all the time
- Each incoming packet from the device keeps it alive now
- We probe when we think the device might be offline
This means it should no longer be necessary to have such a
frequent scan which is a drag on all devices on the network
since its multicast
* adjust tests
* added zdb5100 light
* added light to zdb5100
* Update tests/components/zwave_js/conftest.py
agree
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/zwave_js/conftest.py
agree
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Rename logic_group_zdb5100_light_state.json to logic_group_zdb5100_state.json
name change
* Update tests/components/zwave_js/test_light.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update test_light.py
updated test and state
* Update test_light.py
incorrect endpoint
* changed the state
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add diagnostics platform
* Add diagnostic platform
* Add raw data to diagnostics
* Remove config data
bump aioaladdinconnect, use new doors property for diag
* remove unnecessary component config
refactor diag output
* Use config entry ID as unique ID
* Add entry migration to v2 and and remove helper module
* Remove unneeded strings
* Add asserts for config, device and entity entries and improve comments
* Add debug log for config entry migration
* Reset config entry unique ID and use config entry ID instead
* Remove unnecessary unique ID debug log
* Revert usage of constants for tranlation keys and use dash as delimiter for entity unique id suffix
* Revert "Revert usage of constants for tranlation keys and use dash as delimiter for entity unique id suffix"
This reverts commit 07de334606054097e914404da04950e952bef6d2.
* Remove unused logger in entity module
* Handle temp adjust when target state not set
* Update homeassistant/components/alexa/errors.py
Co-authored-by: Robert Resch <robert@resch.dev>
* black
---------
Co-authored-by: Robert Resch <robert@resch.dev>
* Use loop time to set context
loop time is faster than utcnow, and since its only used internally it can
be switched without a breaking change
* fix mocking
* Allow specifying a custom log function for template render
* Bypass template cache when reporting errors + fix tests
* Send errors as events
* Fix logic for creating new TemplateEnvironment
* Add strict mode back
* Only send error events if report_errors is True
* Force test of websocket_api only
* Debug test
* Run pytest with higher verbosity
* Timeout after 1 minute, enable syslog output
* Adjust timeout
* Add debug logs
* Fix unsafe call to WebSocketHandler._send_message
* Remove debug code
* Improve test coverage
* Revert accidental change
* Include severity in error events
* Remove redundant information from error events
* Show OTA update progress
* Use an event listener instead of a dispatcher
* Add tests
* Fix name
* Improve tests coverage
* Fix subscribe/unsubscribe logic
* Use async_on_remove()
* Fix memory leak in dispatcher removal
When we removed the last job/callable from the dict for the
signal we did not remove the dict for the signal which meant
it leaked
* comment
* cleanup a bit more
* Speed up responding to states being polled via API
Switch to using `as_dict_json` to avoid serializing states over and over when the
states api is polled since the mobile app is already building the cache as it also
polls the states via the websocket_api
* Speed up responding to states being polled via API
Switch to using `as_dict_json` to avoid serializing states over and over when the
states api is polled since the mobile app is already building the cache as it also
polls the states via the websocket_api
* fix json
* cover
* Set state of entity with invalid state to unknown
* Add test
* Apply suggestions from code review
Co-authored-by: Robert Resch <robert@resch.dev>
* Update test_entity.py
---------
Co-authored-by: Robert Resch <robert@resch.dev>
* Extend template entities with a script section
This allows making a trigger entity that triggers a few times a day,
and allows collecting data from a service resopnse which can be
fed into a template entity.
The current alternatives are to publish and subscribe to events or to
store data in input entities.
* Make variables set in actions accessible to templates
* Format code
---------
Co-authored-by: Erik <erik@montnemery.com>
* Shared fixture on TEMP_DIR_NAME mock in MQTT tests
* Improve mqtt certificate file tests
* Update tests/components/mqtt/test_util.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update tests/components/mqtt/conftest.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Avoid blocking code
* typo in sub function
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Add the SiLabs flasher as a dependency
* Create a repair if the wrong firmware is detected on an EZSP device
* Update homeassistant/components/zha/strings.json
Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
* Provide the ZHA config entry as a reusable fixture
* Create a separate repair when using non-Nabu Casa hardware
* Add unit tests
* Drop extraneous `config_entry.add_to_hass` added in 021def44
* Fully unit test all edge cases
* Move `socket://`-ignoring logic into repair function
* Open a repair from ZHA flows when the wrong firmware is running
* Fix existing unit tests
* Link to the flashing section in the documentation
* Reduce repair severity to `ERROR`
* Make issue persistent
* Add unit tests for new radio probing states
* Add unit tests for new config flow steps
* Handle probing failure raising an exception
* Implement review suggestions
* Address review comments
---------
Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
* Create ZHA entities before attempting to connect to the coordinator
* Delete the ZHA gateway object when unloading the config entry
* Only load ZHA groups if the coordinator device info is known offline
* Do not create a coordinator ZHA device until it is ready
* [WIP] begin fixing unit tests
* [WIP] Fix existing unit tests (one failure left)
* Fix remaining unit test
* Bump pyAussieBB
* rolling back to previous version
* patching the pydantic 2.x issue in aussie_broadband integration
* adding test for validate_service_type
* adding test for validate_service_type
* fixing tests, again
* adding additional test
* doing fixes for live tests
* Implement Feedback
* Add test to detect pydantic2
* Update test_init.py
* Update docstring
---------
Co-authored-by: James Hodgkinson <james@terminaloutcomes.com>
* Add zwave_js controller status sensor
* Also update network status command
* fix tests
* Remove WS command since we have a sensor entity
* Update sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* move driver assertion out of closures
* store state in tests
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>