* Changed setup of energyzero services
* PR review updates
* Dict access instead of get
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Added tests for unloaded state
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* media_extractor comp -> add support for cookie file
* Update __init__.py
* Update __init__.py
* fixed pr request, added test
* update test with valid cookie file
* move cookies to subdirectory
* use pathlib instead of os.path
* Use device name to lookup camera
* Fix device registry serial
* Move to entity based services
* Update tests
* Use config_entry
Move refresh service out of camera
* Use config entry for services
* Fix service schema
* Add depreciation note
* Depreciation note
* key error changes
deprecated (not depreciated)
repair issue
* tweak message
* deprication v2
* back out update field change
* backout update schema changes
* Finish rollback on update service
* update doc strings
* move to 2024.7.0
More verbosity to deprecation message
* 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
* Add config flow to Netgear LTE
* uno mas
* uno mas
* forgot one
* uno mas
* uno mas
* apply suggestions
* tweak user step
* fix load/unload/dep
* clean up
* fix tests
* test yaml before importing
* uno mas
* uno mas
* uno mas
* uno mas
* uno mas
* fix startup hanging
* break out yaml import
* fix doc string
---------
Co-authored-by: Robert Resch <robert@resch.dev>
* Add debouncer
* Avoid having 3 calls
* Debounce causes extra refresh in reload window
* Seperate disabled test to avoid latent refresh
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add select platform to drop_connect integration
* Fix select test
* Fix minor issues
* Make function definition more specific
* Revert change to switch.py for inclusion in separate PR
* Improve typing
* Add translation keys for select options
* Fix set function typing
* Remove redundant value check
* Remove args that match defaults
* Add diagnostics to ccm15
* Update homeassistant/components/ccm15/diagnostics.py
Co-authored-by: J. Nick Koston <nick@koston.org>
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Add energy usage sensor to A. O. Smith integration
* Address review comments
* Address review comment
* Address review comment
* Create device outside of the entity class
* Address review comment
* remove platinum
* Add switches to drop_connect integration
* Let device update state
* Simplify icon property
* Use constants for icon names
* Add simulated responses from devices
* Use keyed form for switch value
* Clean up properties
* Fix mqtt valve is not resetting opening or closing state
* Require state or position attr in JSON state update
* Do not change `_attr_is_closed` if valve reports a position
* Add comment, use tuple
* Call _update_state
* Add DROP integration
* Remove all but one platform for first PR
* Simplify initialization of hass.data[] structure
* Remove unnecessary mnemonic 'DROP_' prefix from DOMAIN constants
* Remove unnecessary whitespace
* Clarify configuration 'confirm' step description
* Remove unnecessary whitespace
* Use device class where applicable
* Remove unnecessary constructor and change its elements to class variables
* Change base entity inheritance to CoordinatorEntity
* Make sensor definitions more concise
* Rename HA domain from drop to drop_connect
* Remove underscores from class and function names
* Remove duplicate temperature sensor
* Change title capitalization
* Refactor using SensorEntityDescription
* Remove unnecessary intermediate dict layer
* Remove generated translations file
* Remove currently unused string values
* Use constants in sensor definitions
* Replace values with constants
* Move translation keys
* Remove unnecessary unique ID and config entry references
* Clean up DROPEntity initialization
* Clean up sensors
* Rename vars and functions according to style
* Remove redundant self references
* Clean up DROPSensor initializer
* Add missing state classes
* Simplify detection of configured devices
* Change entity identifiers to create device linkage
* Move device_info to coordinator
* Remove unnecessary properties
* Correct hub device IDs
* Remove redundant attribute
* Replace optional UID with assert
* Remove redundant attribute
* Correct coordinator initialization
* Fix mypy error
* Move API functionality to 3rd party library
* Abstract device to sensor map into a dict
* Unsubscribe MQTT on unload
* Move entity device information
* Make type checking for mypy conditional
* Bump dropmqttapi to 1.0.1
* Freeze dataclass to match parent class
* Fix race condition in MQTT unsubscribe setup
* Ensure unit tests begin with invalid MQTT state
* Change unit tests to reflect device firmware
* Move MQTT subscription out of the coordinator
* Tidy up initializer
* Move entirety of MQTT subscription out of the coordinator
* Make drop_api a class property
* Remove unnecessary type checks
* Simplify some unit test asserts
* Remove argument matching default
* Add entity category to battery and cartridge life sensors
* Add media platform
* Add more props
* Fix platform filename
* Working
* Add a test
* Update test and fixture
* Refactor media player properties to handle null values
* Add comments
* add more assertions
* Fix test docstring
* Use walrus instead.
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Test when media player is idle
* Fix tests
* Remove None type from volume_level
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Return media position only when a media duration is > 0
* Remove impossible None type
* Add snapshot and freezer
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Skeleton for Vogel's MotionMount support.
* Generated updates.
* Add validation of the discovered information.
* Add manual configuration
* Use a mac address as a unique id
* Add tests for config_flow
* Add a 'turn' sensor entity.
* Add all needed sensors.
* Add number and select entity for control of MotionMount
* Update based on development checklist
* Preset selector now updates when a preset is chosen
* Fix adding presets selector to device
* Remove irrelevant TODO
* Bump python-MotionMount requirement
* Invert direction of turn slider
* Prepare for PR
* Make sure entities have correct values when created
* Use device's mac address as unique id for entities.
* Fix missing files in .coveragerc
* Remove typing ignore from device library.
Improved typing also gave rise to the need to improve the callback mechanism
* Improve typing
* Convert property to shorthand form
* Remove unneeded CONF_NAME in ConfigEntry
* Add small comment
* Refresh coordinator on notification from MotionMount
* Use translation for entity
* Bump python-MotionMount
* Raise `ConfigEntryNotReady` when connect fails
* Use local variable
* Improve exception handling
* Reduce duplicate code
* Make better use of constants
* Remove unneeded callback
* Remove other occurrence of unneeded callback
* Improve removal of suffix
* Catch 'getaddrinfo' exception
* Add config flow tests for invalid hostname
* Abort if device with same hostname is already configured
* Make sure we connect to a device with the same unique id as configured
* Convert function names to snake_case
* Remove unneeded commented-out code
* Use tuple
* Make us of config_entry id when mac is missing
* Prevent update of entities when nothing changed
* Don't store data in `hass.data` until we know we will proceed
* Remove coordinator
* Handle situation where mac is EMPTY_MAC
* Disable polling
* Fix failing hassfest
* Avoid calling unique-id-less discovery handler for situations where we've an unique id
* Add number platform
* Make self.set consistent
* Fix test docstring
* Use entity descriptions
* Add patch_description to tests
* Rename argument to arg
* Make max key mandatory
* Set SOC min to normal value
* add config flow
* unit tests
* yaml config import flow
* change deprecation period and simply code
* keep name for legacy yaml
- removing the name now would break current implementations
- it will be removed together with the deprectation of yaml config flow
* improve error handling, simpler unique_id, cleanup
* simplify issues for yaml import flow
* improve typing and clean name handling
* streamline unit tests
- happy path + errors
- mock opendata instead of aiohttp
* parametrize unit tests
* improve strings
* add missing aborts
* update coverage ignore
* remove redundant test
* minor clean up of constants
* Improve performance of dhcp on high activity networks
Most of the overhead was constructing IPAddress objects
which is solved with https://github.com/bdraco/cached-ipaddress
* fix test
* fix: bump
* bump again
* lets do it on the correct branch