* Fix export limit unit on single phase DT inverters
* Update homeassistant/components/goodwe/number.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* fetch data only for 70 minutes
* Use timezone aware now
* Type hint
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
---------
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Isolate the sql integration with a seperate query cache
If there were a lot of sql integrations they could affect
the performance of the recorder/logbook/history since they
were sharing the same LRU and since the sql sensor updates
frequently it would evict the recorder queries from the
LRU.
* generate in stmt
* avoid double gen
* Revert "avoid double gen"
This reverts commit 6a5aa65268.
Traceback (most recent call last):
File "/Users/bdraco/home-assistant/homeassistant/helpers/entity_platform.py", line 304, in _async_setup_platform
await asyncio.shield(task)
File "/Users/bdraco/home-assistant/homeassistant/components/sql/sensor.py", line 75, in async_setup_platform
await async_setup_sensor(
File "/Users/bdraco/home-assistant/homeassistant/components/sql/sensor.py", line 150, in async_setup_sensor
sessmaker := await hass.async_add_executor_job(
File "/opt/homebrew/Cellar/python@3.10/3.10.9/Frameworks/Python.framework/Versions/3.10/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/Users/bdraco/home-assistant/homeassistant/components/sql/sensor.py", line 205, in _validate_and_get_session_maker_for_db_url
if sess:
UnboundLocalError: local variable 'sess' referenced before assignment
* Reduce cache key size for queries that only need single columns
These queries only cared about a single row but would select
the whole set of columns from the orm object
* wrap it
* Adding binding of IKEA Matter Switch cluster
IKEA Symfonisk Gen 2 is using Matter ZCL Switch command but on manufacture cluster then its not supported in ZVL R8 that need being bond for sending the commands to the coordinator.
* Update manufacturerspecific.py
* Update manufacturerspecific.py
Delete not needed function `@registries.BINDABLE_CLUSTERS.register(0xFC80)`
* Construct binary sensor state from zigpy cache (WIP)
* Workaround zha-quirks issue where "MotionWithReset" quirks don't update attribute cache (WIP)
zha-quirks currently has an issue where the ZONE_STATE attribute is updated (when the zone_STATUS changes).
https://github.com/zigpy/zha-device-handlers/pull/2231 is a proper fix for this.
For now, we just update the attribute cache when we get the "zone status update notification" command.
This wasn't noticed before, as the "attribute report signal" was sent from the `cluster_command()` method and the used the provided attribute (in the signal) to update the `_state` value in the binary sensor class.
As we just tell HA to write state again when we get an attribute report now, the ZONE_STATUS attribute is read now (and needs to be correct).
* Use parse() method of main class for IasZone entity (with stripped bits)
* Change wording in comment, remove explicitly sending attr signal
(This comment should be removed/changed later anyway)
* Remove note
* Get zone_status attribute id with zigpy
* Remove `security.` prefix for `IasZone` import
`AceCluster` was already directly imported and `IasZone` is too now for getting the attribute id
* Store full zone status attribute in cache
* Check that non-alarm bits are ignored in IasZone sensor test
* Re-enable occupancy binary sensor test
This test seems to work fine and I don't see any reason why it was commented out for a while
* Fix cached read mix-up for `zone_status`/`zone_state`
This allows cached reads for `zone_state` (enrolled or not), but forces a new read for `zone_status` (alarm or not).
* Use last valid state if meter is not periodically resetting
* Fix unload of entry, used during options flow submit
* Adjustments based on code review
* Move DecimalException handling to validation method
* Add test for invalid new state in calculate_adjustment method
catch LoginException directly in QBittorrentSensor init
Since the `exception` arg in QBittorrentSensor `__init__` is always
LoginException, we catch LoginException directly in `__init__` instead
of passing LoginException as an argument.
* Add tests to Lidarr
* fix js files
* take out the trash
* fix 3.9
* uno mas
* fix fixture
* ruff
* Update const.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Make "CoverEntityFeature.STOP" conditional
* Check APIVersion before checking false by default flag
* sort
---------
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
* add device_info
* use entry_id as identifier + device name
* use shorthand attributes
* remove model from device info
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
---------
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Create new config parameter for default character encoding if no character encoding is declared
* Changes suggested by gjohansson-ST
* Added config flow for scape
* Removed "character"
* Change to create_async_httpx_client
* Remove CONF_ENCODING from Scrape SENSOR_SCHEMA
* Debug scrape test
* Check if changing TO a color mode
Changing brightness alone does not change work mode, but changing brightness with a color value will keep the light in white mode.
By verifying the new state has color or not, rather than the existing state being in color work mode, the light will change to color correctly.
Tuya interprets HSV as including the brightness in the (v) value (which is generally what that's used for when setting HSV values). The brightness value given by Home Assistant is still used in this case.
* Fix brightness-only turning colour mode to white
This will take into account the case where brightness is the only parameter for both the case of colour mode and white mode.
Tests passed after this change:
* Brightness only (colour mode) ✅
* Brightness only (white mode) ✅
* Colour only (colour mode) ✅
* Colour only (white mode) ✅
* Colour temp only (colour mode) ✅
* Colour temp only (white mode) ✅
* Colour + brightness (colour mode) ✅
* Colour + brightness (white mode) ✅
* Colour temp + brightness (colour mode) ✅
* Colour temp + brightness (white mode) ✅
* Fix code formatting
* display unit of elevation in met config flow
Co-authored-by: lijake8 <lijake8@users.noreply.github.com>
Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>
* use NumberSelector for met config flow
* met remove unused is_metric param
---------
Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>
Co-authored-by: lijake8 <lijake8@users.noreply.github.com>
* typings to make linter happy
* Moving device_class and native_value to init
* remove is_on and use attr_is_on
* Use try_parse_enum for sensor type
* Remove not needed sensor_type
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Update homeassistant/components/ihc/sensor.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
---------
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Remove async_setup from mqtt integration
* Final update common tests
* Related tests init
* Related tests diagnostics
* Related tests config_flow
* Cleanup and correct test
* Keep websockets_api commands in async_setup
* Look up collaborators only when adding new task.
Also fixed a few api call arguments that were incorrect. The `labels`
key should have been a list of strings and the `assignee` key should
have been `assignee_id`.
* Add missing type in test.
* Remove print
* SharkIQ Dep & Codeowner Update
* Update code owners
* Add EU Region Support
* Update Config Flow Tests
* Standardize Region Comparison Strings
* Add Translation Support to Region Selector
* Fix Validation Tests
* Reduce data sharing between ConfigFlow and DataUpdateCoordinator
Instead of fetching device information from the device once in
`ConfigFlow` and then piping it through in `ConfigEntry.data`,
only use as much as needed in `ConfigFlow.async_step_user`, then fetch
again in `AirQCoordinator._async_update_data` if a key is missing.
Additionally, factor `AirQCoordinator` out into a sumbodule.
Add a simple test for `AirQCoordinator.device_info` update.
Positive side effect: `AirQCoordinator.device_info` is
updated explicitly, instead of dumping the entire content of (a fully
compatible) `TypedDict`, retrieved from `aioairq`.
* Remove tests ill-suited to this PR
`test_config_flow.test_duplicate_error` slipped through by mistake,
while `test_coordinator.test_fetch_device_info_on_first_update` may need
a more thoroughly suite of accompanying tests
* Ignore airq/coordinator.py
...newly separated from airq/__init__.py, that's already in this list
* Reorder files alphabetically
Update Python holidays module to 0.21.13
python-holidays 0.19-0.21.13 adds support for new countries and enhances
support for many currently supported countries.
* Clean up voice assistant
* Reinstate auto-removed imports
* Resample STT audio from 44.1Khz to 16Khz
* Energy based VAD for prototyping
---------
Co-authored-by: Michael Hansen <mike@rhasspy.org>
* Fix sql doing I/O in the event loop
* Fix sql doing I/O in the event loop
* no test query on main db
* fix mocking because it was targeting the recorder
* Sun sensor
* remove extra attr
* Add tests
* Add back attributes
* position sensors disabled default
* entity id
* unique id
* test init to attributes
* Fix test init
* Fix test sensor
* test unique id
* uom
* remove rising
* Remove not needed uom property
* Fix reload issue
* degree