* 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