* Fix bt_home_hub_5 device tracker
Updated BT Home Hub 5 device tracker component to get it working again. The old parsing method of the DNS table has been broken for a while causing the component to fail to get connected devices. A new parsing method has been implemened and fixes all previous issues.
* Moved part of code to a published PyPi library
* Fixed Violations
* Fixed bugs in device tracker
* Moved API Specific Code to PyPi Repository
* Updated to fit requested changes, removed test as it is no longer valid and updated requirement_all.txt
* Update to fit style requirements and remove redundant code
* Removed Unnecessary Comment
* Add media_player.dlna_dmr component
* PEP 492
* Move DIDL-template up
* Remove max_volume-override option
* Remove picky_device support
* Use DEFAULT_NAME
* Make supported_features static
* Remove unneeded argument
* Proper module-docstring
* Add http dependency
* Remove additional_configuration options, no longer used
* Change default name to 'DLNA Digital Media Renderer'
* Use python-didl-lite for DIDL-Lite-xml construction/parsing
* Handle NOT_IMPLEMENTED for UPnP state variables RelativeTimePosition and CurrentMediaDuration
* Use UPnP-UDN for unique_id
* Proper handling of upnp events
* Keeping flake8 happy
* Update requirements_all.txt
* Make UDN optional
* Ensure NotifyView is started, before using it
* Only subscribe to services we're interested in
* Don't update state_variables if value has not been changed + minor refactoring
* Improve play_media, follow flow of DLNA more closely
* Hopefully fix ClientOSError problems
* Flake8 fixes
* Keep pylint happy
* Catch errors and report gracefully
* Update async_upnp_client to 0.11.0
* Don't be so noisy
* Define/use constants for HTTP status codes
* Add discovery entry for dlna_dmr
* More robustness with regard to state variable not being set (yet)
* Keep privates hidden
* Handle NOT_IMPLEMENTED for CurrentTrackMetaData state variable
* Fixes in async_upnp_client + renew UPnP subscriptions regularly
* Not too eager
* Refactor duplicate code to _current_transport_actions and improve parsing of actions
* Support RC:1 to RC:3 and AVT:1 to AVT:3
* Moved DLNA-specifics to async_upnp_client.dlna.DmrDevice
* Use our own HTTP server to listen for events.
* More clear and explicit log message for easier troubleshooting
* Follow changes by hass, fixes traceback
* Fix not being able to do next
* Changes after review by @MartinHjelmare
* Linting
* Use homeassistant.util.get_local_ip
* Moved upnp event handling to async_upnp_client
* Keeping pylint happy
* Changes after review by @MartinHjelmare
* remove velbus fan and light platforms
these platforms should not be there since they can be created with template components based on switch platform
* use latest version of python-velbus which supports auto-discovery of modules
* fix linting errors
* fix linting errors
* fix linting errors
* address review comments from @MartinHjelmare
* update based on automatic feedback
* fix linting errors
* update dependency
* syntax corrections
* fix lint warning
* split out common functionality in VelbusEntity
use sync methods for loading platforms
support unique_ids so that entities are registred in entity registry
* fix linting errors
* fix linting errors
* fix linting errors
* integrate review comments (common functionality in VelbusEntity class)
* rename DOMAIN import to VELBUS_DOMAIN
* revert change created by requirements script
* regen
* Add Tahoma io:VerticalExteriorAwningIOComponent and io:HorizontalAwningIOComponent
* Fix position of horizontal awning cover
* Add timestamps for lock time
* Adjust open-close actions for horizontal awning cover
* Fix stop action for io:RollerShutterGenericIOComponent
* Remove redundant information
* Use get for dict lookup
* Change to newer pip package
The package Adafruit_Python_DHT==1.3.2 was broken and would not install, breaking DHT sensor support in Home assistant. It has since been fixed in Adafruit-DHT==1.3.3.
See: https://github.com/adafruit/Adafruit_Python_DHT/issues/99
* Update requirements_all.txt
New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
* Comment out Adafruit-DHT
Adafruit_Python_DHT changed name to Adafruit-DHT, which still need pyx support breaking our CI, need to be comment out.
* Update requirements_all.txt
* Fix Min/Max Kelvin color temp attribute for Google
Max Kelvin is actually Min Mireds and vice-versa. K = 1000000 / mireds
* Update test_smart_home.py
* Update test_trait.py
* add enphase envoy component
* Add Enphase Envoy component for energy monitoring
* Fix formatting problems
* Fix formatting errors
* Fix formatting errors
* Fix formatting errors
* Change unit of measurement to W or Wh. Return sensor states as integers
* Fix formatting errors
* Fix formatting errors
* Fix formatting errors
* Move import json to update function
* Fix formatting. Add file to .coveragerc
* Add new component to requirements_all.txt
* Move API call to third party library on PyPi
* Refactor
* Run gen_requirements_all.py
* Minor refactor
* Fix indentation
* Fix indentation
* Fix Min/Max Kelvin color temp attribute for Google
Max Kelvin is actually Min Mireds and vice-versa. K = 1000000 / mireds
* Update test_smart_home.py
* Update test_trait.py
* Vacuum: Added support for STATES
* Added debug logging and corrected state order
* typo
* Fix travis error, STATE = STATE for readability
* status -> state
* Changed to Entity instead of ToogleEntity
* Updated some vacuums
* Revert changes
* Revert Changes
* added SUPPORT_STATE
* Woof?
* Implement on/off if STATE not supported
* Moved new state vaccum to Class StateVacuumDevice
* Error: I should go to bed
* Moved around methods for easier reading
* Added StateVacuumDevice demo vacuum
* Added tests for StateVacuumDevice demo vacuum
* Fix styling errors
* Refactored to BaseVaccum
* Vacuum will now go back to dock
* Class BaseVacuum is for internal use only
* return -> await
* return -> await
* Initial commit for deCONZ switch support
* Fix hound comment
* Fix martins comment; platforms shouldn't depend on another platform
* Fix existing tests
* New tests
* Clean up unnecessary methods
* Bump requirement to v43
* Added device state attributes to light
* exposing internal state and fixed onoff state
* fixed styling
* revert file mode changes
* removed self type hints
* better unit test and changed the way to return attributes
* made wolfie happy
* Added Altitude to opensky
* decided to take all metadata
* Final Tidy
* More formatting
* moving CONF_ALTITUDE to platform
* Moved CONF_ALTITUDE to platform
The OWM returns precipitation forecast values as they are submitted to their network. It can lead to values like `0.0025000000000004 mm` which does not make sense and messes up the display card. This PR rounds the value to 1 decimal place.
* Fixed NDMS for latest firmware.
Now using telnet instead of Web Interface
* Using external library for NDMS interactions
* updated requirements_all
* renamed `mac` to `device` back
* Using generators for name and attributes fetching
* kodi add unique id based on discovery
* initialize unique_id to None
* use netdisco-extracted mac_address
* use an uuid instead of mac for real uniqueness
* add missing docstring
* verify that there is no entity already for the given unique id
* whitespace fix
* Change to newer pip package
The package Adafruit_Python_DHT==1.3.2 was broken and would not install, breaking DHT sensor support in Home assistant. It has since been fixed in Adafruit-DHT==1.3.3.
See: https://github.com/adafruit/Adafruit_Python_DHT/issues/99
* Update requirements_all.txt
New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
* Comment out Adafruit-DHT
Adafruit_Python_DHT changed name to Adafruit-DHT, which still need pyx support breaking our CI, need to be comment out.
* Update requirements_all.txt
* MVG Live sensor: add option to store multiple departures in attributes
* Fix lint error
* mvglive: take into account timeoffset in API call
* Prevent exception if departure list is empty
* Rename state_attributes -> device_state_attributes
* Add Genie Aladdin Connect cover component
* Fix lines being too long
* Fix issues found in review
* remove Unknown state, use None instead
* Fixed requirements_all
* Remember last brightness value and use it on turn_on()
* Pyfnip-0.2 now returns state reliably, no manual changes needed.
* Split too long line of code
* Updated pyfnip library version
* Add tests to command_line for json_attrs
* Add json_attrs to command_line
* Remove whitespace on blank line
* Stick to <80 row length
* Use collections.Mapping, not dict
* Rename *attrs to *attributes
* Remove extraneous + for string concat
* Test multiple keys
* Add test
Makes sure the sensor's attributes don't contain a value for a missing key,
even if we want that key.
* Test that unwanted keys are skipped
* Remove additional log line
* Update tests for log changes
* Fix ordering
* Add a component for Sisyphus Kinetic Art Tables
The [Sisyphus Kinetic Art Table](https://sisyphus-industries.com/) uses a
steel ball to draw intricate patterns in sand, thrown into sharp relief by a
ring of LED lights around the outside.
This component enables basic control of these tables through Home Assistant.
* Fix lints
* Docstrings, other lints
* More lints
* Yet more.
* Feedback
* Lint
* Missed one piece of feedback
* - Use async_added_to_hass in media player
- async_schedule_update_ha_state in listeners
- constants for supported features
- subscripting for required keys
- asyncio.wait
- update to sisyphus-control with passed-in session
* Update requirements
* lint
* Add context
* Add context to switch/light services
* Test set_state API
* Lint
* Fix tests
* Do not include context yet in comparison
* Do not pass in loop
* Fix Z-Wave tests
* Add websocket test without user
* Added support for FutureNow light platform and relay/dimmer units
* Pinned specific version for requirement
* Added support for FutureNow light platform and relay/dimmer units
* Added futurenow.py to .coveragerc.
* Minor fixes and enhancements as requested in the code review.
* Minor fixes and enhancements as requested in the code review.
* Use device_config's value directly as it's validated as boolean.
* Simplify state check.
* Fixed brightness update that was broken in previous commit.
* Add spider power plug component
* rounding down the numbers
* ability to throttle the API
* updated to the lastest api
* resolved an issue within the API
* add spider thermostats
* Added load_platform. Added operation dictionary. Minor improvements
* loop over spider components for load_platform
* added empty dict to load_platform. changed add_devices
* moved logic to the API
* fix requirements_all.txt
* minor code improvements
* Always return bytes from auth.providers.homeassistant.hash_password
Good for interface cleanliness, typing etc.
* Add some homeassistant auth provider type annotations
* Allow defining default turn-on values for lights in the profiles file.
* Mock out file operations in unit test.
* Fix unit test flakiness.
* Avoid unnecessary copy
* Add turn_on/off to camera
* Add turn_on/off supported features to camera.
Add turn_on/off service implementation to camera, add turn_on/off
supported features and services to Demo camera.
* Add camera supported_features tests
* Resolve code review comment
* Fix unit test
* Use async_add_executor_job
* Address review comment, change DemoCamera to local push
* Rewrite tests/components/camera/test_demo
* raise HTTPError instead return response
* Add API for protection commandclass
* Adjusting
* tests
* Spelling
* Missed flake8
* Period
* spelling
* Review changes
* removing additional .keys()
* period
* Move i/o out into executor pool
* Move i/o out into executor pool
* Forgot get method
* Do it right... I feel stupid
* Long lines
* Merging
* Suppress error between 00:00 and 01:00
Suppress an error that often occers between 00:00 and 01:00 CE(S)T during that time, probably because buienradar.nl is then updating its forcast for the next day. The API does not always work between these times (in the middle of the night).
* white space & import
* unnecessary brackets
Switches by default use the payload_on and payload_off configuration parameters to specify both the payload the switch should send for a state but also what will be returned for the current state - which isnt always the same
As a toggle switch might always send an ON or TOGGLE to toggle the switch, but still receive an ON or an OFF for the state topic - This change allows for splitting them apart
* fix aiohttp InvalidURL exception when fetching media player image
The first call for the HA proxy (`/api/media_player_proxy/media_player.kodi?token=...&cache=...`)
is receiving relative urls that are failing, this is a simple fix to precede the base_url when hostname is None.
* fix import location and sort stdlib imports
* light.tplink: initialize min & max mireds only once, avoid i/o outside update
* revert the index change
* fix indent, sorry for overwriting your fix, balloob
## Description:
More fixes flagged by pylint 2 that don't hurt to have before the actual pylint 2 upgrade (which I'll submit soon).
## Checklist:
- [ ] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
* Add event handler to capture binary sensor on messages
* Log event trigger
* Log event firing
* Capture platform correctly
* Fix test for platform eq binary_sensor
* Create sensor events
* Add light and battery sensors
* Bump insteonplm version to 0.11.6
* Fix naming of BUTTON_PRESSED_STATE_NAME
* Fix naming of fire event methods
* Add logging
* Add DOMAIN definition
* Get state name from plm.devices
* Remove stale reference to button ID
* Fix reference to state name
* Remove incorrect ref to self
* Log remote button pressed event
* Change mode to button_mode and fix values to array
* Rename CONF_MODE to CONF_BUTTON_MODE
* Log platform create with mode
* Properly assign button_mode to track mode
* Implement is_on
* Change mini-remotes to events only
* Remove button_mode config option
* Fix reference to _fire_button_on_off_event
* Bump insteon version to 0.11.7
* Flake8 clean up
* Flake8 cleanup
* Use % format in logging per pylint
* Code review updates
* Resolve conflict
* Lint
* Check if device supports lowBat and shows it only if battery is low
* Show empty battery icon if lowBat is true
* Default return None
* Sabotage attribute and icon if device has this feature
* Bug fix and cleanup
* Use dedicated function for security state
* Cleanup of sensor attributes and icons
* Empty
* Support latest tplink Archer D9 Firmware version / Device Scanner
* tplink integration on pypi package
* initialize the client only once
* remove unnecessary instance attributes
This fixes a bunch of bugs, including issues with concurrency in devices
that present multiple accessories, devices that insist on the TLV entries
being in the order that Apple use, and handling devices that send headers
and data in separate chunks. This should improve compatibility with
a whole bunch of HomeKit devices.
* delay setup of component
Copied the necessary lines of code from the google travel time component to fix the setup delay in waze travel time component. Previously it was only watching the homeassistant start event on the bus, but doing nothing with it.
* Update waze_travel_time.py
* Update waze_travel_time.py
* Update to next version with enum states
* Change to generic dimmer class
* Update of requirement files
* Update to hmip lib to v0.9.7
* Missing update of requirements files
* Cleanup of icon properties
* Fix ZWave RGBW lights not producing color without explicit white_value (#13930)
* simplify conditional in previous commit (#13930)
* ZwaveColorLight - only zero _white if white_value not specified in call (#13930)
## Description:
More typing improvements.
Switch to using `mypy.ini` for flexibility
Add `warn_return_any` check except in `homeassistant.util.yaml` that does typing hacks. Fix some type annotations as resulting from this check and ignore others were fixing is hard.
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
## Description:
Make typing checks more strict: add `--strict-optional` flag that forbids implicit None return type. This flag will become default in the next version of mypy (0.600)
Add `homeassistant/util/` to checked dirs.
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
* Add HomematicIP security zone
* Update access point tests
* Fix state if not armed and coments
* Add comment for the empty state_attributes
* Fix comment
* Fix spelling
There are some devices that speak HomeKit that we shouldn't expose. Some
bridges (such as the Hue) provide reduced functionality over HomeKit and
have a functional native API, so should be ignored. We also shouldn't
offer to configure the built-in Home Assistant HomeKit bridge.
* support for tuya platform
* support tuya platform
* lint fix
* change dependency
* add tuya platform support
* remove tuya platform except switch. fix code as required
* fix the code as review required
* fix as required
* fix a mistake