* Add clima support to Comelit integration
* address first part of review comments
* applied more review comments
* remove old multiplier
* removed preset modes (not always configured)
* small tweak
* apply StrEnum class
* added device info and unique id
* removed wrong attribute
* added base entity
* rename domain
* added entity.py to coveragerc
* added base entity for sensors and alarm panel
* add generic type translation
* rename functions
* rename device name to device model
* set _attr_name = None
* pass in only the entry_id instead of the full config_entry
* set unique id to device_id or entry id
* use deviceinfo class
* moved _attr_name = None to entities
* Update homeassistant/components/lupusec/alarm_control_panel.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/lupusec/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/lupusec/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* remove DOMAIN from unique id
* removed redundant function
* Update homeassistant/components/lupusec/alarm_control_panel.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/lupusec/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
---------
Co-authored-by: suaveolent <suaveolent@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Matter sensors for air quality measurements
Add sensors for CO2, PM1, PM2.5, PM10 and TVOC
* Add initial tests for matter air quality sensor
* Remove VOC data as requires unit extraction from cluster
* Convert referenced registry functions to use cached_property
These already implemented caching, but now that we can use cached_property
because the lock problem is solved, we can make the code simplier and faster
* missed one
* make them the same
* start work on webhooks
* start work on webhooks
* use background task
* websocket improvement
* add test
* add webhook id to mock_config_entry
* some changes
* add webhook to manifest
* fix test
* reset poll timer on webhook update
* reset poll timer on webhook update
* code cleanup
* generate webhook id in config flow
* fix merge
* undo var rename
* remove
* ruff
* ruff
* only delete specific webhook
* clarify warning
* version bump
* minor improvements
* requested changes
* unregister function
* move more of unregistration logic
* test pushed data
* add comment
* Update config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* ruff
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Speed up security filter middleware
Check the path and query string with the filter expression once instead
of checking the path and query string seperately. If we get a hit than
we check the query string to ensure we give a more verbose error about
where the filter hit.
Additionally since we see the same urls over and over, cache the unquote
* request.url is to expensive, cheaper to join
* aiohttp has a path_qs fast path
* construct the string outselves so it functions exactly as before
* Small cleanup to entity platform translation fetching
While I could not realize the performance improvemnet I had
hoped in #108800, I pulled this out since its a nice cleanup to avoid
constructing the inner function over and over.
* stale docstring
* Add platform switch to flecit_bacnet integration
* Move testing of the switch to it’s own test
* Assert correct method is called one time
* Test switch on/off error recovery
* Review comment
* init support for config flow for lupusec
* correctly iterate over BinarySensorDeviceClass values for device class
* bump lupupy to 0.3.2
* Updated device info for lupusec
* revert bump lupupy for separate pr
* fixed lupusec test-cases
* Change setup to async_setup
* remove redundant check for hass.data.setdefault
* init support for config flow for lupusec
* correctly iterate over BinarySensorDeviceClass values for device class
* bump lupupy to 0.3.2
* Updated device info for lupusec
* revert bump lupupy for separate pr
* fixed lupusec test-cases
* Change setup to async_setup
* remove redundant check for hass.data.setdefault
* resolve merge error lupupy
* connection check when setting up config entry
* removed unique_id and device_info for separate pr
* changed name to friendly name
* renamed LUPUSEC_PLATFORMS to PLATFORMS
* preparation for code review
* necessary changes for pr
* changed config access
* duplicate entry check
* types added for setup_entry and test_host_connection
* removed name for lupusec system
* removed config entry from LupusecDevice
* fixes for sensors
* added else block for try
* added integration warning
* pass config to config_flow
* fix test cases for new config flow
* added error strings
* changed async_create_entry invocation
* added tests for exception handling
* use parametrize
* use parametrize for tests
* recover test
* test unique id
* import from yaml tests
* import error test cases
* Update tests/components/lupusec/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* fixed test case
* removed superfluous test cases
* self._async_abort_entries_match added
* lib patching call
* _async_abort_entries_match
* patch lupupy lib instead of test connection
* removed statements
* test_flow_source_import_already_configured
* Update homeassistant/components/lupusec/config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* removed unique_id from mockentry
* added __init__.py to .coveragerc
---------
Co-authored-by: suaveolent <suaveolent@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>