* Bump Rolease Acmeda version
Bump aiopulse version to 0.4.4 to fix issue for blinds that use status structure to indicate blinds that are fully open or closed.
* Update manifest.json
* update requirements
* 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
Fixed Unit values from sensor.py
There was a mistake on the units from the sensor that where messing up the device readings on rain, windchill and feels like sensors
* 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