* Add a switch to enable and disable "Color Night Vision" for the Unifi Protect platform, which is a feature on the new G5 Pro cameras with a "Vision Enhancer" attached
* Updated tests for the new switch
* Add query type validation independent of declaration position
* Restore close sess
* Separates invalid query and non-read-only query tests
* Add more tests
* Use the SQLParseError exception for queries that are not read-only
* Add handling for multiple SQL queries.
* Fix test
* Clean ';' at the beginning of the SQL query
* Clean ';' at the beginning of the SQL query - init
* Query cleaning before storing
* Query cleaning before setup sesensor plataform - YAML
* Exception when the SQL query type is not detected
* Cleaning
* Cleaning
* Fix typing in tests
* Fix typing in tests
* Add test for query = ';;'
* Update homeassistant/components/sql/__init__.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/sql/__init__.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update __init__.py
* Update config_flow.py
* Clean query before storing
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* initial
* fix tests
* match on specific name and quirk name
* fix tests
* fix tests
* store cluster handlers in only one place
* edit tests
* use correct device for quirk id
* change quirk id
* fix tests
* even if there is a quirk id, it doesn't have to have a specific cluster handler
* add tests
* rename quirk_id
* add tests
* fix tests
* fix tests
* use quirk id from zha_quirks
* Don't update entities until they are initialized
* fix hass reference
* only establish polling once
* fix log level and small cleanup
* start device availability checks after full initialization of network
* add logging
* clean up sensor polling and class hierarchy
* don't attempt restore sensor cleanup in this PR
* put check back
* fix race condition and remove parallel updates
* add sensor polling test
* cleanup switch polling and add a test
* clean up and actually fix race condition
* update light forced refresh
* only use flag
* unused flag
* reduce diff size
* collapse
Original design relied on aioairq.AirQ.__init__ checking if the input
was a valid IP address or an mDNS of a very specific structure,
and raising an InvalidInput otherwise.
Now, aioairq==0.3.2 removes said check completely following a user's
request to allow arbitrary host name and DNS entries.
In the config flow, "cannot_connect" covers the cases of misspelled
inputs now, which previously were covered by a dedicated "invalid_input"
* Add name back to device tracker and lock
* Add name to media player
* Add name to update
* Update snapshot
* Keep none name on Update
* Re-add update
* Decouple climate from MyFan
* Add tests
* Prepare for auto change
* Handle both modes
* Fix import
* Remove reference to FAN map
* Correct auto fan logic
* Remove multiline ternary operator
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Fix coverage
* fix tests
* ruff
* Test auto fan mode with snapshot
* add more testing
* Add switch testing
* Fix a bug caught by new tests
* Remove ineffective snapshot tests
* Readd snapshots but use args
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add foot warmer support
* Add Tests for foot warmers
* Move attr options out of constructor
* Change options to lowercase
* Update test and translations
* Switch back to entity
* Update homeassistant/components/sleepiq/strings.json
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add config flow to Streamlabs water
* Add config flow to Streamlabs water
* Add config flow to Streamlabs water
* Add issue when import is successful
* Remove import issue when entry already exists
* Remove import issue when entry already exists
* Fix feedback
* Fix feedback
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* initial work on alarm
* final work on alarm
* coveragerc
* add tests
* add code validation
* remove sensor changes for a dedicated PR
* code optimization and cleanup
* tweaks
* tweak #2
* apply suggestion
* code quality
* code quality #2
* fix cover.py
* api typing
* use base classes where possibile
* apply const as per review comment
* cleanup unload entry
* apply review comments