* add device_info property and move component to async
* use new VizioAsync class to have proper async support
* remove hass from VizioDevice init since it is not needed
* update requirements_all
* missed type hint
* updates based on review
* pyvizio version bump
* additional fixes based on review
* mistake in last commit
* remove device_info property because it can't be used unless this integration has config flow support
* Added preset scheduling to radiothermostat. Added alternate scheduling & religious scheduling to climate/const.py
* Fix Flake8 Errors in climate.py
* Fixing more flake8 errors in climate.py
Removed duplicate set_preset_mode def
* Fixed more flake8 errors.
Please be the end of these errors.
* Fixed black formatting
* Fixed black, broke flake8, fixed flake8
* Fixed CODE_TO_FAN_STATE black error
* Fixed isort issues
* Local isort broke black formatting
Docs should run isort before black. Default isort will undo certain black formatting.
* Removed last commas from imports
* Added removed line
* Fixed formatting
Hopefully this is what the CI pipeline is looking for.
* Ran isort from git repo root, utilizing setup.cfg.
* One more try
* fixed added definition and fixed logger string
* fixed formatting
* lost a close-paren
* Update const.py
Removed radiotherm specific presets
* Update climate.py
Moved preset definitions into radiotherm climate.py
* added update listener if max_age is set
* remove commented out code
* streamline test code
* schedule next update based on the next state to expire
* fixed update process
* isort
* fixed callback function
* fixed log message
* removed logging from test case
* Add boundary name to state if it exists
If the robot is cleaning a pre defined area with a name, add the name to the state-attribute.
* Reformat patch
* Removing whitespace
* Even more formatting
That black did not catch on first run...
* Added support for template alarm panel
* Rewrote tests in new async format
* Fix stale docstring
* Update to tests, standardization on NAME vs FRIENDLY_NAME
* Steam Online: Add last_online and Level attributes
* Steam Online: Add last_online and Level attributes
* Fixes from comments on initial pull request
* Push attributes only if they are not None
* Split async_update
* Use pytest parameters to avoid duplicate code
* Fix UnboundLocalError
* Test error rendering for template state
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* move constants, move schema validation to init, prepare for zeroconf/config flow
* mistake in refactor
* update .coveragerc, move validate_auth to __init__, only attempt to get ESN if device setup is validated
* fix schema validation
* remove suppress warning config option
* remove config_flow from manifest since its not ready yet
* update requirements_all.txt
* fix issue with merge conflict
* Refactor input_boolean to use config dict for instantiation.
* Refactor input_boolean to use YamlCollection.
* Add storage collection to input_boolean.
* Update homeassistant/components/input_boolean/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Doh.
* Address comments.
* Add editable device state attribute.
* Clean up entities from entity registry on removal.
Reload yaml from correct source.
* Add tests.
* Update homeassistant/components/input_boolean/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Don't reset entity state on updates.
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* move constants, move schema validation to init, prepare for zeroconf/config flow
* update requirements_all and make setup validation more pythonic
* mistake in refactor
* un-revert change from previous PR
* rename schema var
* update .coveragerc, move validate_auth to __init__, only attempt to get ESN if device setup is validated
* reinstate validate_setup but change logic to use new connection test function
* fix schema validation
* simplify string empty check logic
* missed commit
* Initial implementation
* Passing autobypass parameter to constructor, as suggested
* Black formatting
* Removed default value from autobypass parameter of the constructor, as it's redundant
* Add pilight dimmer as light component
* fix CI errors
* fix missing new lines
* improve formatting and addresses comments of @springstan
* rename config parameter and remove super() call to match pylint
* import only used constants of the pilight component
* Add myself to the code owners
* fix CODEOWNERS
* Add tests
* Add FileSync test
* Fill in services.yaml for 'androidtv.adb_filesync' service
* Update example paths in services.yaml
* Bump androidtv to 0.0.37
* Bump androidtv to 0.0.37
* Bump androidtv to 0.0.37
* Import LockNotAcquiredException
* Import LockNotAcquiredException from androidtv.exceptions
* Rename 'host' to 'address'
* Add a logging statement when an ADB command is skipped
* Check hass.config.is_allowed_path(local_path)
* Add return
* Fix pylint
* Reduce duplicated code (AndroidTVDevice vs. FireTVDevice)
* Split 'adb_filesync' service into 'download' and 'upload' services
* Don't use '.get()' for required data; return if the services are already registered
* Replace "command" with ATTR_COMMAND
* Don't try to connect to a device if it is a duplicate
* add surepetcare
* cleanup
* remove unused imports and comments
* remove comment
* fix bug which prevented updating the sensors
* improve config validation
* fix voluptuous usage
* fix format & credential storage
* various fixes to hass-conform
* small format fixes
* change False to None
* still trying to be hass-conform
* remove unused class
* fix imports
* fix f-string
* add guard clause?!
* central data fetch
* do not pass in hass, will be provided automatically
* make the linters happy
* disable constant-test warning and add commas
* worksforme
* fix link in manifest
* remove icon
* bump surepy to 0.1.5
* worksforme
* small doc fixes
* add discovery_info guard
* result of another awesome review
* and again :)
* exclude surepetcare in .coveragerc
* Add LED control
* Bump python-velbus library to 2.0.35
To have LED control available in library
* Apply black formating
* Fix no-else-return pylint error
* Changed to f-string and more dry code
* Rewrite turn_on for LED control
* Preserve new BLE device name if one seen before the last scan but not on it
* Save an indented else block
* Use async_fire_time_changed and mock_device_tracker_conf in tests
* add unique id property for Vizio devices so they get added to entity registry
* update requirements
* small change to make code more readable
* update to use f-string for consistency
* fix property name
* set unique_id to none if serial number couldnt be found
* set unique_id to none
* ESN should be globally unique so no device type needed. pyvizio will set ESN to None if ESN is unobtainable
* Simplify media player source list
Google don't need a whitelisted set of modes anymore. So let's just forward any mode that we have.
* Report current mode with the setting name, not a synonym
* Refactor mode generation to support other modes
* Support sound mode as mode as well
* Adjust failing test now with sound modes
* Make sure first poll happens after sub-platforms are loaded and entities are created.
* Function dosn't need to return anything
* Don't forward entry if already forwarded it
* Don't expose flows that aren't initialised.
If a flow init does not return immediately then there is a window where our
behaviour is screwy:
* Can try to configure a flow that isn't ready
* Can show notifications for discoveries that might yet return an abort
This moves the flow discovery events and notifications to after the flow is
initialised and hides flows that don't have a cur_step from async_progress
* Fix tradfri test
* Black.
* Lint fixes
* add KEF speakers platform for the integration
This will work with the KEF LS50 Wireless and KEF LSX speakers.
The development of this code happened on https://github.com/basnijholt/media_player.kef
* rename DATA_KEF -> DOMAIN
* use aiokef v0.2.0 and support LSX and new features
* sort imports
* fix @MartinHjelmare's suggestions
* remove _CONFIGURING
* change STATE_UNKNOWN to None
* use lat and long for unique_id
* bump aiokef to v0.2.2
* use config[ATTR] instead of config.get(ATTR)
* use getmac
* fix case when MAC is None
* use host as instance lifetime id
* fix requirements
* HomeKit: update position state characteristic for covers
position state is a mandatory characteristic for HK window coverings
* Test position state characteristic
Convert values to integer if rounding precision is zero. With that a
value which is an integer before filtering can be configured to stay
integer when using precision = 0. This also aligns behavior of filters
to how rounding behaves in tempaltes (homeassistant/helpers/template.py,
function forgiving_round).
* Use config entry unique id
* Clean up
* Backwards compatiblity note
* Fix some of Balloobs comments
* Bump dependency to v66
* Black somehow missed config flow tests...
* Move set unique ID til after possibility to update existing entry
* Add SUPPORT_STREAM to supported_features.
* Implement stream_source with channel RTSP URIs.
* Add Tests for Stream Support.
* Make stream_source async.
* Removed unused import.
* Re-wrote test to remove warning, and lint error.
* Add generic command functionality to denonavr
* add minimal unit tests for denonavr
* fix import order
* simplify denonavr unit test
* handle domain specific service calls with dispatcher
* update unit tests
* update unit tests
* remove unnecessary return value
* fix handling of mock instances in unit tests
* migrate webostv to new aiopylgtv version of the library and add support
for generic commands, input/button commands, and callback state updates
* update requirements
* cleanup and bump aiopylgtv version
* update webostv unit tests
* make webostv unit tests work with python 3.7
* cleanup for code checks
* cleanup and code review
* make all client request functions coroutines
* make host required for webostv configuration
* remove generic command and button functionality plus related cleanup
* fix previous track function
* update unit tests
* fix imports for unit tests
* update unit test
* further unit test updates
* remove unnecessary setup call in unit tests
* restore previous behaviour with client key config file in hass configuration directory
* Refactor ZHA component tests fixtures.
* Add tests for ZHA device discovery.
* Refactor ZHA registry MatchRule.
Allow callables as a matching criteria.
Allow sets for model & manufacturer.
* Minor ZHA class registry refactoring.
Less cluttered strict_matching registrations.
* Add entities only if there are any.
* Migrate rest of ZHA platforms to ZHA registry.
* Pylint fixes.
* Update lock.py
Allow different command and state topic + different command and state values.
* Formatting updated after black run
* TC updated to reflect different state & cmd values
* Abbreviations for lock states added
* additional non-default state test
* whitespaces fixed
* black formatting run
* [solaredge] Reduce Severity of Log Line
This log error happens frequently for some sites, but it shouldn't be an error.
It is expected, per the SolarEdge Monitoring API, that some sites do not
support this information, and the expected result is that this would be
empty (see comments on #27959).
Fixes#27959
* Fix a typo
Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
* Added support for Somfy RTS wireless power socket and
Somfy Temperature Sensore Thermos Wirefree io
* Added code formatting fixes for commit 5faaf9c
* added support for RollerShutterRTSComponent from Somfy
* Added support for RTS roller shutter in set_cover_position
* Add support for Somfy RTS power socket and Somfy io temperature sensor
* black and isort fixes
* homematic: Add host port config for HMIP-only CCUs
When adding a host (CCU) to the homematic component currently the hardcoded port 2001 is used to communicate with it.
However that port is only available on the target if the target supports HM (wireless) protocol which is not the case e.g. for
the Hass.io Homematic CCU addon when running in HMIP-only mode with the HMIP-RFUSB stick.
This allows to change the port home assistant uses to talk to the CCU in order to provide services under hte homematic homain, e.g. homematic.set_variable_value
The default value for this option is the old hardcoded value this the change should be backwards compatible with existing configurations.
* Change style of config retrieval
* Added localip component
* Split config and core logic, and migrate to sensor platform (requested by @MartinHjelmare)
Also allow overriding the sensor name via the config
* Tweak docstring
Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch>
* Initial support for config entries
* Rename localip to local_ip (1/2)
* Rename localip to local_ip (2/2)
* Add test for config_flow
* Split and rename tests
* Remove unneeded code from config_flow
* Implement configuration as config entry import. Other misc requested changes from code review.
* Fix tests
* minor code review fixes
* remove unneeded code
Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
* Store capabilities and supported features in entity registry
* Restore states at startup
* Restore non-disabled entities on HA start
* Fix test
* Pass device class from entity platform
* Clean up restored entities from state machine
* Fix Z-Wave test?
* fix handling of symlinked device decriptors
* make check for symlinked paths more efficient
* make variable names pylint compliant
* move sync io during setup and device connect/disconnect to executor thread pool
* move remaining sync io during setup to executor thread pool
* remove unnecessary lambda functions
* Added support for Somfy RTS wireless power socket and
Somfy Temperature Sensore Thermos Wirefree io
* Added code formatting fixes for commit 5faaf9c
* added support for RollerShutterRTSComponent from Somfy
* Added support for RTS roller shutter in set_cover_position
* added support for enocean window handle FA 10 00 (Hoppe)
* removed spaces in empty lines
* removal of rawdata attribute / code style
* isort fix
* PyLint fixes
* Improvements after review suggestions: rename device class to sensor type to avoid ambiguousness
* added import for DEVICE_CLASS_POWER from const.py
* removed window handle unit
* Pull track position from MPD status()
This allows the progress bar to work when using the media-control card in lovelace.
* Actually commit flake8 fix!
* Extra documentation.
Mainly to trigger CI rerun.
* Updated to use self._media_position
* Add support for HobbyBoards sensors: Hub, Humidity, Moisture, PulseCounter
Add support for an owserver running on a remote host
* Cleanup and fixes for style/etc
* Forgot to convert to f-strings.
* Update with changes requested by @MartinHjelmare
* Pylint
* Fix to None
* Reverse logic for hobbyboard test to eliminate pylint complaint
* Modified manifest to list myself as codeowner
* Move some functions down into OneWireProxy instead of the top OneWire
* Oops, missed some decode()'s
* And another!
The number of total blocks is always a round number. There can't be .1 or .11 blocks for example. The output is now always formatted with two decimals that are always 00.
* Add support for input_number entities
* Update homeassistant/components/alexa/capabilities.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Removed get methods to directly access required attributes dicts.
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* fixed parsing of current to float in service set_current
* Added optional name in the config file in order to get a better entety naming (easier to find)
* fix parsing of all parameters to service calls
* addressed code review comments + updated pypi dependency
* config name imported from cont.py + minor naming changes to be more clear about the meaning of a sensor
* removed name in config again, use product name gathered from the charging station instead
* implemented suggested changes
* changed variable naming as requested