* Added support for Habitica
Second refactoring
Moved all config to component.
Sensors are autodiscovered.
Signed-off-by: delphi <cpp.create@gmail.com>
* Apply requested changes
Signed-off-by: delphi <cpp.create@gmail.com>
* Made event fire async. Made `sensors` config implicit and opt-out-style.
Signed-off-by: delphi <cpp.create@gmail.com>
* Removed unneeded check and await.
Signed-off-by: delphi <cpp.create@gmail.com>
* Moved into separate component package and added service.yaml
Signed-off-by: delphi <cpp.create@gmail.com>
* Fix coveralls
Signed-off-by: delphi <cpp.create@gmail.com>
* Added precipitation type from API
Enables users to see type of precipitation.
Value returned from API is a string in swedish.
* Corrected tox verification errors
Correction of tox findings
* Missed in tox - fixed
* Hound witespace fix
* Updated comment to trigger travis rebuild
Travis tox failed due to problem with tox build process.
Correcting in a comment to trigger retry in travis..
* Try to retrigger travis/tox successful rebuild
* Cleaning
* Cleaning more
* Trafikverket rebuilt for library
Extended pytrafikverket with weather sensor collction
Changed behaviour of sensor component to use pytrafikverket.
Added more sensors.
User need to change config to use new version.
[] Documentation needs to be updated
* Cleaned up based on Martins input
Appreciate the feedback
* Added support for velbus temperature sensors
* Bumped the required version
* updated requirements_all.txt
* Auto review comments fixed
* Updated after comments
* Updated after comments
* Fix travis
* Fix travis
* Replace pbkdf2 with bcrypt
bcrypt isn't inherently better than pbkdf2, but everything "just works"
out of the box.
* the hash verification routine now only computes one hash per call
* a per-user salt is built into the hash as opposed to the current
global salt
* bcrypt.checkpw() is immune to timing attacks regardless of input
* hash strength is a function of real time benchmarks and a
"difficulty" level, meaning we won't have to ever update the iteration
count
* WIP: add hash upgrade mechanism
* WIP: clarify decode issue
* remove stale testing code
* Fix test
* Ensure incorrect legacy passwords fail
* Add better invalid legacy password test
* Lint
* Run tests in async scope
* add a component for hangouts
* add a notify component for hangouts
* add an extra message as title
* add support to listen to all conversations hangouts has
* move hangouts to package and add parameter documentation
* update .coveragerc and requirements_all.txt
* makes linter happy again
* bugfix
* add conversations parameter to command words
* Move the resolution of conversation names to conversations in own a function
* typo
* rename group of exclusion form 'id' to 'id or name'
* refactoring and use config_flow
* makes linter happy again
* remove unused imports
* fix not working regex commands
* fix translations
* cleanup
* remove step_init
* remove logging entry
* clean up events
* move constant
* remove unsed import
* add new files to .converagerc
* isort imports
* add hangouts_utils to ignored packages
* upadte doc and format
* fix I/O not in executor jon
* rename SERVICE_UPDATE_USERS_AND_CONVERSATIONS to SERVICE_UPDATE
* move EVENT_HANGOUTS_{CONNECTED,DISCONNECTED} to dispatcher
* add config flow tests
* Update tox.ini
* Adding noaa-tides changes to new branch.
* Fix typo in .coverageac
* Incorporate @MartinHjelmare and @fabaff changes.
* Disable pylint error and add error message for unavailable station.
* Two spaces before inline comments
* Increment py_noaa version to 0.3.0
* Updated requirements.py
* Minor changes
* Implement X10
* Add X10 after add_device_callback
* Ref device by id not hex and add x10OnOffSwitch name
* X10 services and add sensor device
* Correctly reference X10_HOUSECODE_SCHEMA
* Log adding of X10 devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct ref to X10 states vs devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct X10 config
* Debug x10 device additions
* Config x10 from bool to housecode char
* Pass PLM to X10 device create
* Remove PLM to call to add_x10_device
* Unconfuse x10 config and method names
* Correct spelling of x10_all_lights_off_housecode
* Bump insteonplm to 0.10.0 to support X10
* Add host to config options
* Add username and password to config for hub connectivity
* Add username and password to config for hub
* Convert port to int if host is defined
* Add KeypadLinc
* Update config schema to require either port or host
* Solidify Hub and PLM configuration to ensure proper settings
* Update hub schema
* Bump insteonplm version
* Fix pylint and flake issues
* Bump insteonplm to 0.12.1
* Merge insteon_plm and insteon_local to insteon
* Rename insteon_plm to insteon
* Bump insteonplm to 0.12.2
* Flake8 cleanup
* Update .coveragerc for insteon_plm, insteon_local and insteon changes
* Add persistent notification
* Fix reference to insteon_plm
* Fix indentation
* Shorten message and fix grammer
* Add comment to remove in release 0.90
* Hound fix
* Ecovacs Deebot vacuums
* All core features implemented
Getting fan speed and locating the vac are still unsupported until sucks adds support
* Move init queries to the added_to_hass method
* Adding support for subscribing to events from the sucks library
This support does not exist in sucks yet; this commit serves as a sort of TDD approach of what such support COULD look like.
* Add OverloadUT as ecovacs code owner
* Full support for Ecovacs vacuums (Deebot)
* Add requirements
* Linting fixes
* Make API Device ID random on each boot
* Fix unique ID
Never worked before, as it should have been looking for a key, not an attribute
* Fix random string generation to work in Python 3.5 (thanks, Travis!)
* Add new files to .coveragerc
* Code review changes
(Will require a sucks version bump in a coming commit; waiting for it to release)
* Bump sucks to 0.9.1 now that it has released
* Update requirements_all.txt as well
* Bump sucks version to fix lifespan value errors
* Revert to sucks 0.9.1 and include a fix for a bug in that release
Sucks is being slow to release currently, so doing this so we can get a version out the door.
* Switch state_attributes to device_state_attributes
* Added error handling for sense API timeouts
* Moved imports in function
* Moved imports to more appropriate function
* Change exception to custom package version
One of the features of the waterfurnace 0.7 is timingout out stuck
connections on the websocket (which tends to happen after 48 - 96
hours of operation). This requires the homeassistant component to
catch and reconnect under these circumstances. This has turned out to
be pretty robust in preventing stuck sockets over the last month.
* add operation mode support for climate.EphEmber
* fix linting errors from py3.5
* remove STATE_ALL_DAY and cleanup some code based on review
* use explicit None return with get
* fix none return
* Add new public transport sensor for RMV (Rhein-Main area).
* Add required module.
* Fix naming problem.
* Add unit test.
* Update dependency version to 0.0.5.
* Add new requirements.
* Fix variable name.
* Fix issues pointed out in review.
* Remove unnecessary code.
* Fix linter error.
* Fix config value validation.
* Replace minutes as state by departure timestamp. (see ##14983)
* More work on the timestamp. (see ##14983)
* Revert timestamp work until #14983 gets merged.
* Simplify product validation.
* Remove redundant code.
* Address code change requests.
* Address more code change requests.
* Address even more code change requests.
* Simplify destination check.
* Fix linter problem.
* Bump dependency version to 0.0.7.
* Name variable more explicit.
* Only query once a minute.
* Update test case.
* Fix config validation.
* Remove unneeded import.
* add pjlink media player component
* retrieve pjlink device name from projector if name isn't specified in configuration
* update .coveragerc
* fix style
* add missing docstrings
* address PR comments from @MartinHjelmare
* fix code style
* use snake case string for source names
* add missing period at the end of comment string
* rewrite method as function
* revert to use source name provided by projector
* 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 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
* 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
* 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
* 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
* 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 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
* 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
* 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
* 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.
* 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
* 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
* Add Cloudflare DNS component
* Removed man
* Update .coveragerc
* Update cloudflare.py
* Update cloudflare.py
* Changed records to be required
* Fix typos, update order and other minor changes
* Add sound mode support
* continuation line indent
* indentation
* indentation
* Remove option to configure sound_mode_dict
* Sound mode support
- removed the sound_mode_raw propertie because it was not used, (still available through self._sound_mode_raw (as device attribute for automations and diagnostics)
* Detect sound mode support from device
Removed the config option to indicate if sound mode is supported.
Added detection if sound mode is supported from the receiver itself.
Pushed denonavr library to V.0.7.4
* Pushed denonavr to v.0.7.4
* Add python 3.7 to travis and tox
* Use pyyaml from github
* Don't version constraints
* Fix version tag
* Change to new pyyaml release
* Python 3.7 requires xenial
* Fix namespace detection
* Use correct RegEx type
* Update pexpect to 4.6
* Use correct validation for dictionaries
* Disable Py37 incompatible packages
* Upgrade all pexpect to 4.6
* Add explicit None as default param
* Add HomematicIP Cloud to config flow
* Inititial trial for config_flow
* Integrations text files
* Load and write config_flow and init homematicip_cloud
* Split into dedicated files
* Ceanup of text messages
* Working config_flow
* Move imports inside a function
* Enable laoding even no accesspoints are defined
* Revert unnecassary changes in CONFIG_SCHEMA
* Better error handling
* fix flask8
* Migration to async for token generation
* A few fixes
* Simplify config_flow
* Bump version to 9.6 with renamed package
* Requirements file
* First fixes after review
* Implement async_step_import
* Cleanup for Config Flow
* First tests for homematicip_cloud setup
* Remove config_flow tests
* Really remove all things
* Fix comment
* Update picture
* Add support for async_setup_entry to switch and climate platform
* Update path of the config_flow picture
* Refactoring for better tesability
* Further tests implemented
* Move 3th party lib inside function
* Fix lint
* Update requirments_test_all.txt file
* UPdate of requirments_test_all.txt did not work
* Furder cleanup in websocket connection
* Remove a test for the hap
* Revert "Remove a test for the hap"
This reverts commit 968d58cba1.
* First tests implemented for config_flow
* Fix lint
* Rework of client registration process
* Implemented tests for config_flow 100% coverage
* Cleanup
* Cleanup comments and code
* Try to fix import problem
* Add homematicip to the test env requirements
* Added support to HTTPS URLs on SynologyDSM
* Bumped python-synology to 0.1.1
* Makes lint happy
* Added attribution to Synology and fixed 3rd library version
* Fixed requirements_all.txt
* Makes SynologyDSM defaults to 5001 using SSL
* Added support for Duke Energy smart meters
* Fixed hound
* Added function docstring
* Moved strings to constants, implemented unique_id, and cleaned up setup.
* Added doc string.
* Fixed review issues.
* Updated pydukenergy to 0.0.6 and set update interval to 2 hours
* Updated requirements_all
## Description:
Switch to own packaged version of pylgnetcast
Request to make a pypi package didn't get any response: https://github.com/wokar/pylgnetcast/issues/1
**Related issue (if applicable):** #7069
* Implement X10
* Add X10 after add_device_callback
* Ref device by id not hex and add x10OnOffSwitch name
* X10 services and add sensor device
* Correctly reference X10_HOUSECODE_SCHEMA
* Log adding of X10 devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct ref to X10 states vs devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct X10 config
* Debug x10 device additions
* Config x10 from bool to housecode char
* Pass PLM to X10 device create
* Remove PLM to call to add_x10_device
* Unconfuse x10 config and method names
* Correct spelling of x10_all_lights_off_housecode
* Bump insteonplm to 0.10.0 to support X10