* 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>
* Add support for entity name in GeoJSON
Previously GeoJSON names were just the config entry ID. This is not very user friendly. Particularly so when there are many config entries and many, many entities from those same many config entries.
* Update GeoJSON tests to support entity names