* Adds support for the Xiaomi Philips LED Ball and Ceiling Lamp
* Documentation url updated.
* New component to .coveragerc added.
* Unused import removed.
* translate labeled as static method.
* Mixed parameters in log message fixed.
* Order of requirements_all.txt fixed.
* Plattform updated. It's async now.
* Simplifiable if-statement fixed.
* Some more clean-up of unneeded stuff.
* Platform schema updated.
* Component is called xiaomi_philipslight now.
* Requirements all updated.
* Initialization of some variables updated.
* Raise PlatformNotReady exception if light cannot be discovered.
* Import of math removed.
Missing space added.
* Remove unnecessary updates
* Add support for Prowl notifications.
* Use HA session handler.
* Simplify http request logic.
* flake
* fix double fetch data
* Remove periods from log messages
* Inital USPS Camera expansion
* Cleanup debugging, add camera change interval
* Change to local nomail image
* Explicitly pass in date
* Move camera date info to model property
* Fix copy typo
* Fix hound line-length
* Fix lint whitespace
* Fix requirements
* Bump myusps version, clarify interval, alter update scheme
* Add units
* Code cleanup, address comments
* Use built-in scan interval, remove nomail image
* Remove logging line
* Add HipChat notify service.
* Change HipChat notify service to use python-simple-hipchat-v2.
* Change HipChat notify service to use hipnotify
* Change HipChat notify service to remove redundant validation
* Add new device tracker for Huawei Routers.
This was tested with the HG8247H model, used by Vodafone
Portugal for the Fiber service.
* add to .coveragerc; remove import and space
* add comments and fix lint
* rename methods
* huawei_router: add constants to scanner class
* huawei_router: remove lock; use format() in string
* huawei_router: use tupple instead of member only class
* huawei_router: reduce min scan time
* huawei_router: lint
* huawei_router: lint
* huawei_router: add missing lines in imports
* huawei_router: correctly decode string after router firmware update
* Remove things that is done on core now
* Add RainMachine switch platform
* Updated requirements_all.txt
* Cleaning up CI and coverage results
* Small update to deal with older pylint
* Fixed small indentation-based error
* Added some more defensive try/except logic around calls
* I'm not a fan of importing a library multiple times :)
* Making PR-requested changes
* Fixed ref to positional parameter
* Attempting to fix broken linting
* Ignoring no-value-for-parameter pylint error
* Initial implementation of Asterisk Mailbox
* Rework asterisk_mbox handler to avoid using the hass.data hash. Fix requirements.
* Handle potential asterisk server disconnect. bump asterisk_mbox requirement to 0.4.0
* Use async method for mp3 fetch from server
* Add http as dependency
* Minor log fix. try to force Travis to rebuild
* Updates based on review
* Fix error handling as per review
* Fix error handling as per review
* Refactor voicemail into mailbox component
* Hide mailbox component from front page
* Add demo for mailbox
* Add tests for mailbox
* Remove asterisk_mbox sensor and replace with a generic mailbox sensor
* Fix linting errors
* Remove mailbox sensor. Remove demo.mp3. Split entity from platform object.
* Update mailbox test
* Update mailbox test
* Use events to indicate state change rather than entity last-updated
* Make mailbox platform calls async. Fix other review concerns
* Rewrite mailbox tests to live at root level and be async. Fixmailbox dependency on http
* Only store number of messages not content in mailbox entity
* Added support for Egardia / Woonveilig alarm control panel
* Added support for Egardia / Woonveilig alarm control panel
* Added support for Egardia / Woonveilig alarms
* Updating egardia support with exception handling and other fixes
* Egardia platform, requirements file updated
* Fixing state checking
* Adding exception handling
* Removing unnecessary logging
* Removing unnecessary logging
* Updating to egardiadevice component 1.0.10
* Improving exception handling
* Adding implementation of egardiaserver for alarm triggered status
* Clean-up
* Fix my previous change
* Fix tests for Demo vacuum platform (and increase coverage)
* increase coverage of xiaomi vacuum tests and include in coverage
Also little fixes
* remove print statement
* Xiaomi vacuum as component with switch, sensors and services
- Conversion from switch platform to async component.
- Add services proposed in #8416 to the new component, with shorter names.
- Add sensors for the vacuum robot as a selectable list from `battery`, `state`, `error`, `fanspeed`, `clean_time` and `clean_area` (the state attributes of the switch). The sensors don't poll, but listen to a signal to update the state, the switch fires this signal when updating.
- Assign default icons to sensors and the switch (`mdi:google-circles-group` looks like the robot!)
* path change in requirements_all (from switch platform to component)
* copy pasting is a bad habit
* services to the components services.yaml, modify .coveragerc
* review: use with multiple hosts, fix calls to async_add_devices, fix ranges for services
* `icon_for_battery_level` util method
* Xiaomi vacuum as platform of new component vacuum
- Created new component `vacuum` from a ToggleEntity.
- Add services `turn_on`, `turn_off`, `cleaning_play_pause`, `stop`, `return_to_base`, `locate`, `set_fanspeed` and `send_command`.
- Remove the main switch for the xiaomi vacuum (the toggable main entity is the switch).
- Add `support flags` for the common services
- Assign default icons to sensors and the switch (`mdi:google-circles-group` looks like the robot!)
- Move services descriptions to a yaml file for the new component.
- Update requirements_all.
- Update coveragerc.
* fix coveragerc
* fix battery icon helper to use more icons
* remove sensors, create properties and support flags for custom UI
* cleaning
* updated state_attrs for filtering in UI, renamed platform to simply `xiaomi`
* fix platform rename
* change fanspeed and expose `fanspeed_list` to use speed steps
* minor fixes
- Rename service `start_pause`
- Add 'Error' attribute only if `got_error`.
- Minor changes
* rename state attrs
* rename state attrs
* review changes: cut fan__speed, style changes, remove logging, and more
* add ATTR_COMMAND = 'command' to const
* pop entity_id from service data
* remove property accessor for vacuum object
* lint fix
* fix extra attrs names
* module level functions for calling the services
* params as optional keyword for `send_command`
* params as optional keyword for `send_command`, remove debug logs
* explicit parameters for `set_fan_speed` and `send_command`
* Demo platform for the vacuum component
* vacuum tests for the Demo platform
* some fixes
* don't omit vacuum
* vacuum tests for the Xiaomi platform
* fix test
* fix
* fix xiaomi test
* fix coveragerc
* test send command
* fix coveragerc
* fix string formatting
* The coverage is to low. It need 93% or more
* New media_player platform for Russound devices using the RIO protocol
Auto discovers zones and sources
Handles media metadata from sources that support it
asyncio implementation
Push updates for any zone or source changes so no polling required.
* Fixed up linting issues
* Addressing PR feedback
Updated russound_rio dependency to 0.1.3
Use enumerate_zones and enumerate_sources methods instead of doing it in
the platform.
Register callbacks in async_added_to_hass coroutine
Corrected behavior of async methods
* Manual alarm with MQTT control
* Duplicate manual control panel code instead of extending it
* Duplicate manual alarm test as well; modify for manual_mqtt
* Add MQTT-specific tests for manual_mqtt alarm
* Refactored Amcrest to use central hub component
* Set default streaming source to snapshot
* Simplified code by using discovery platforms
* Makes lint happy
* Update authentication method to basic
* Fixed lint issues
* Makes Amcrest hub async
* Make Amcrest hub IO synchronous and disabled ffmpeg dependency on sensor/amcrest.
* Removed async to load component
* Organized import order
* Update amcrest.py
Prometheus (https://prometheus.io/) is an open source metric and alerting
system. This adds support for exporting some metrics to Prometheus, using
its Python client library.
* New component to connect to VELUX KLF 200 Interface
* Issue #8203: modifications as suggested by hound
* Issue #8203: added entries to .coveragerc
* moving velux/__init__p.y to velux.py
* Issue #8203: Using hass.data for storing global object, updated docstrings
* Issue #8203: validation of config, using standard approach for getting config values
* Issue #8203: Exception handling if connection to velux component fails
* Issue #8203: removed unused import
* Issue #8203: Some minor changes within docstrings
* Issue #8203: Some minor changes within docstrings
* Issue #8203: added dependency for pyvlx to requirements_all.txt
* Issue #8203: less broad exception
* Issue #8203: increased version
* Issue #8203: changed position of pyvlx within requirements_all.txt
* Issue #8203: bumped version of pyvlx to 0.1.3 (better handling of retries when token expires)
* reset pointer to home-assistant-polymer
* Issue #8203: modifications as suggested by fabaff
* hound *sigh*
* First version of a LaMetrci platform with a Notify module
* Cleanup, fix formatting bugs
* More formatting
* Formatting
* Updated requirements
* formatting
* Formatting
* More formatting
* Dummy commit for new Travis CI run
* Refactoring class methods to instance methods
* Cleanup unused classed
* Removed Eddystone_weatherurl that had nothing to do with this component
* Cleanup class methods
* Cleanup requirements
* Removed broad excepts
Removed storage of LaMetric devices
* Removed unused import
* Initial commit - new CityBikes platform
* Several syntax fixes.
* Added imperial unit support.
* Added station list lenght validation.
* Style fixes.
* Updated requirements.
* Updated .coveragerc.
* Fixed style problems according to pylint output.
* Updated SCAN_INTERVAL value.
* Fixed station names.
Removed unnecessary calls to `slugify`.
Changed the base name to reflect the name of the bike sharing
network, instead of the more generic `citybikes`.
* Small style fix.
* Use async version of python-citybikes
* Made platform setup async.
* Made some more things async.
* Switched to constants.
* WIP: different approach to async.
* Removed python-citybikes depnedency to fix async issues.
* Removed unnecessary hidden property.
* Style fixes.
* Retry network detection.
* Style fixes, and base name usage.
* Fixes according to comments.
* Use cv.latitude instead of coercing to float.
* Updated requirements.
* Several fixes and improvements.
* Started using PlatformNotReady exception.
* Cached the networks list result to avoid unnecessary API requests.
* Switched the asyncio.timeout to use a constant.
* Refactored CityBikes API requests into a separate function
* Fixed linting errors.
* Removed unnecessary requirement.
* Lift Apple TV to pyatv 0.3.2
Update code to use basic new features.
* Support button presses in Apple TV
* Support device authentication
* Convert Apple TV to a component
A media_player platform and a remote platform will be loaded for each
manually configured or discovered device.
* Move device auth to apple_tv component
* Update requirements and coverage config
* Add scan support to apple_tv
* Comfoconnect fan component.
* Fix linter. Don't store hass object when not needed.
* More code style.
* Rebase to dev and add to coverage ignore list.
* Use published package from pypi.
* LIFX: Move light effects to external library
This moves the LIFX light effects to the external library aiolifx_effects.
To get the light state synchronized between that library and HA, the LIFX
platform no longer maintains the light state itself. Instead, it uses the
cached state that aiolifx maintains.
The reorganization also includes the addition of a cleanup handler.
* Fix style
* Add ClickSend notify service.
* PR #8135 changes.
- Some code spacing fixes.
- Add timeout to requests.
- Change doc url.
- Use const.py as much as possible.
- Check credentials to determine if setup fails or not.
- Add docstrings.
- Use string formatting.
* PR #8135 changes.
- Remove unused variables.
- Continuation line under-indented for visual indent.
* PR #8135 changes.
- Format code based on PEP8.
* PR #8135 changes.
- Remove unused base64 dependency.
* PR #8135 changes.
- Fix: D205: 1 blank line required between summary line and description (found 0)
- Fix: standard import "import json" comes before "import requests"
* PR #8135 changes.
- Add files to .coveragerc
* Remove obvious comments and set constant
* add knx cover
also corrected bugs in device config
1. overwriting of addresses in KNXMultiAddressDevice
2. setting and getting int values
3. added percentage scaling
* Update __init__.py
* make port mapping optional
* dependencies + improvements
* Added bytes and packets sensors from IGD
* flake8 check
* new sensor with upnp counters
* checks
* whitespaces in blank line
* requirements update
* added sensor.upnp to .coveragerc
* downgrade miniupnpc
Latest version of miniupnpc is 2.0, but pypi only has 1.9
Fortunately it is enough
* revert to non async
miniupnpc will do network calls, so this component can’t be moved to
coroutine
* hof hof
forgot to remove import ot asyncio
* initial commit
* class name and requirements_all.txt
* removed mentions of D7050
* changed default name
* catch oserror in update, travis errors.
* use nad_receiver pip version
* update coveragerc
* Added buienradar sensor and weather
* used external library for parsing
* used external library for parsing
* updated buienradar lib to 0.4
* Make sure you import 3rd party libraries inside methods.
* Make sure you import 3rd party libraries inside methods.
* clean up code; optimized
* imports, sensor name and attributes
* updated requirements to match imports
* use asyncio for http get
* Introduced support to Netgear Arlo Cameras
* Using async_setup_platform() and applied other changes
* Removed unecessary variables
* Using asyncio for sensor/arlo
* Update arlo.py
* Removed entity_namespace
* Rachio platform started
* Rachio tests
* detect bad api token
* Documentation, Code cleanup
* Docstrings end with a period, log uses %
* Fix arguments, default run time is now 10 minutes
* Fix typo, remove todo (GH issue exists)
* Revert polymer submodule commit
* Use a RachioPy version with SSL cert validation
* Update requirements
* Added raspihats binary_sensor platform
* Updated .coveragerc to ommit raspihats platforms.
* Using vol.Coerce(int) for validation and casting of I2CHat config address
* Added Axis hub, binary sensors and camera
* Added Axis logo to static images
* Added Axis logo to configurator
Added Axis mdns discovery
* Fixed flake8 and pylint comments
* Missed a change from list to function call
V5 of axis py
* Added dependencies to requirements_all.txt
* Clean up
* Added files to coveragerc
* Guide lines says to import function when needed, this makes Tox pass
* Removed storing hass in config until at the end where I send it to axisdevice
* Don't call update in the constructor
* Don't keep hass private
* Unnecessary lint ignore, following Baloobs suggestion of using NotImplementedError
* Axis package not in pypi yet
* Do not catch bare excepts. Device schema validations raise vol.Invalid.
* setup_device still adds hass object to the config, so the need to remove it prior to writing config file still remains
* Don't expect axis.conf contains correct values
* Improved configuration validation
* Trigger time better explains functionality than scan interval
* Forgot to remove this earlier
* Guideline says double qoutes for sentences
* Return false from discovery if config file contains bad data
* Keys in AXIS_DEVICES are serialnumber
* Ordered imports in alphabetical order
* Moved requirement to pypi
* Moved update callback that handles trigger time to axis binary sensor
* Renamed configurator instance to request_id since that is what it really is
* Removed unnecessary configurator steps
* Changed link in configurator to platform documentation
* Add not-context-manager (#7523)
* Add not-context-manager
* Add missing comma
* Threadsafe configurator (#7536)
* Make Configurator thread safe, get_instance timing issues breaking configurator working on multiple devices
* No blank lines allowed after function docstring
* Fix comment Tox
* Added Axis hub, binary sensors and camera
* Added Axis logo to static images
* Added Axis logo to configurator
Added Axis mdns discovery
* Fixed flake8 and pylint comments
* Missed a change from list to function call
V5 of axis py
* Added dependencies to requirements_all.txt
* Clean up
* Added files to coveragerc
* Guide lines says to import function when needed, this makes Tox pass
* Removed storing hass in config until at the end where I send it to axisdevice
* Don't call update in the constructor
* Don't keep hass private
* Unnecessary lint ignore, following Baloobs suggestion of using NotImplementedError
* Axis package not in pypi yet
* Do not catch bare excepts. Device schema validations raise vol.Invalid.
* setup_device still adds hass object to the config, so the need to remove it prior to writing config file still remains
* Don't expect axis.conf contains correct values
* Improved configuration validation
* Trigger time better explains functionality than scan interval
* Forgot to remove this earlier
* Guideline says double qoutes for sentences
* Return false from discovery if config file contains bad data
* Keys in AXIS_DEVICES are serialnumber
* Ordered imports in alphabetical order
* Moved requirement to pypi
* Moved update callback that handles trigger time to axis binary sensor
* Renamed configurator instance to request_id since that is what it really is
* Removed unnecessary configurator steps
* Changed link in configurator to platform documentation
* No blank lines allowed after function docstring
* No blank lines allowed after function docstring
* Changed discovery to use axis instead of axis_mdns
* Travis CI requested rerun of script/gen_requirements_all.py
* Add new raspihats component
* added raspihats to COMMENT_REQUIREMENTS in gen_requirements_all.py
* disabled pylint import errors
* using hass.data for storing i2c-hats manager
* Convert automatic device tracker to push updates
* Update test
* Add to coveragerc
* Fire hass events when automatic update received
* Change brace indentation
* Add Sensibo climate platform
* Force update after running a service
* Add sensibo to .coveragerc
* Use 10s timeout
* Fix schema. Remove print.
* Better handle unit conversions.
* OpenGarage.io support
Cleaned up component and ran lint checking
* Fixing lint errors
* Added supported_features and device_class
* Added timeout to HTTP Requests and other changes based on feedback.
* Removed watcher. It provided little value and could cause issues if status was stuck in a state.
* Changes based on feedback. Added error checking for invalid device_key.
* Lint
* light.sensehat: adding plugin to control the 8x8 LED matrix on a Sense Hat
* add new .coveragerc entry
* light.sensehat: formatting and removing unused import
* light.sensehat: add to requirements list
* light.sensehat: update docstrings to the linter's specs
* light.sensehat: add a bit more docstring
* Add support for Zigbee Home Automation
* Fewer magic numbers
* Make optional device config work
* Remove non-zha device_tracker stuff
* Always return boolean from is_on
* Only pass through JSON serializable discovery_info
* Update to bellows 0.2.4
* Fewer magic numbers in binary sensor
* Populate const structures from a function
* Update bellows to 0.2.6
* Fewer magic numbers in light
* Take all possible clusters when overriding
* Update bellows to 0.2.7
* Added the pushbullet sensor component
* Updated requirements_all.txt and .coveragerc with the new sensor
* Updated acording to houndci-bots comments
* Some more changes
* Final change by the hound (?)
* Fixes from balloobs review and from houndci-bot
This changes the sensors information to only contain one attribute
as information, and the rest as device_state_attributes.
* Added leading space to comments
* Added docstrings, removed API_KEY from log, changed imports
* The hound is at it again
* Fix remaining issues
* Fix pylint issue
* Refactor into find_hsbk
This will be useful for new methods that also have to find passed in colors.
* Add AwaitAioLIFX
This encapsulates the callback and Event that aiolifx needs and thus avoids an
explosion of those when new calls are added.
The refresh_state is now generally useful, so move it into its own method.
* Initial effects support for LIFX
These effects are useful as notifications. They mimic the breathe and pulse
effects from the LIFX HTTP API:
https://api.developer.lifx.com/docs/breathe-effecthttps://api.developer.lifx.com/docs/pulse-effect
However, this implementation runs locally with the LIFX LAN protocol.
* Saturate LIFX no color value
Now the color is "full saturation, no brightness". This avoids a lot of
temporary white when fading from the "no color" value and into a real color.
* Organize LIFX effects in classes
This is to move the setup/restore away from the actual effect, making it quite
simple to add additional effects.
* Stop running LIFX effects on conflicting service calls
Turning the light on/off or starting a new effect will now stop the running
effect.
* Present default LIFX effects as light.turn_on effects
This makes the effects (with default parameters) easily accessible from
the UI.
* Add LIFX colorloop effect
This cycles the HSV colors, so that is added as an internal way to set a
color.
* Move lifx to its own package and split effects into a separate file
* Always show LIFX light name in logs
The name is actually the easiest way to identify a bulb so just using it
as a fallback was a bit odd.
* Compact effect getter
* Always use full brightness for random flash color
This is a stopgap. When a bit more infrastructure is in place, the intention
is to turn the current hue some degrees. This will guarantee a flash color
that is both unlike the current color and unlike white.
* Clear effects concurrently
We have to wait for the bulbs, so let us wait for all of them at once.
* Add lifx_effect_stop
The colorloop effect is most impressive if run on many lights. Testing
this has revealed the need for an easy way to stop effects on all lights
and return to the initial state of each bulb. This new call does just that.
Calling turn_on/turn_off could also stop the effect but that would not
restore the initial state.
* Always calculate the initial effect color
To fade nicely from power off, the breathe effect needs to keep an
unchanging hue. So give up on using a static start color and just find the
correct hue from the target color.
The colorloop effect can start from anything but we use a random color
just to keep things a little interesting during power on.
* Fix lint
* Update .coveragerc
* Make Tradfri discoverable
* Fix lint errors
* Fix bugs and clean up calls to light_control
* Add more color util tests
* Add coap client to dockerfile
* Added initial support for IKEA Tradfri Gateway
* Pinned requirement
* Fixed lint-errors
* Added file to .coveragerc
* Trying to fix commit
* Fixed requirements_all again
* Minor reorder of code
* Minor reorder of code
* Made the changes suggested by @balloob
* Made the changes suggested by @balloob and removed debug
* Update tradfri.py
* Added AlarmDecoder platform
* remove try/catch for generic execption
* Changes for @pvizeli, thanks for the review!
Removed _ prefix from normal function variables
Removed _hass as it will be set via .hass for us
Broke out the three config (socket, serial, usb) and use vol.Any
Added support for USB I think, don't have device, but should work
Removed components dictionary, was form old group all code that didn't work
* Fix hass string handling
* Added eddystone_temperature platform.
* Fixed style issues.
* Fixed style issues #2.
* Fixed style issues #3.
* Added new platform to .coveragerc
* Refactored platform to use the beacontools package.
* Fixed style issues and added beacontools to excluded requirements.
* Removed obsolete constants and added pylint exception.
* Added blank line
* Updated beacontools to version 1.0.0
* Updated beacontools to version 1.0.1
* Forgot to regenerate requirements_all
* Minor changes
* total connect alarm support
* linting fixes
* linting fixes
* docstring
* docstring
* use sync and update coveragerc
* remove unused import
* changes as per notes
* Update HA code style
* Added Met Office weather and sensor components
* Removed unnecessary dependancy
* Generated requirements
* Fix time interval
* Updated coverage
* Some review changes
* Allow user to specify lat and lon in component
* Added missing import
* Fixed unit
* Fixed import indent
* Updated condition to use CONDITION_CLASSES
* Add legacy LIFX platform for Windows support
The async platform introduced in 9ef084d903 has
turned out to use Python functionality that is not available in Windows.
This commit restores the previous implementation, now named lifx_legacy.
* Add a comment about the platform being a legacy implementation
* Warn when using unsupported lifx platform on Windows
* Update .coveragerc
* Add sensor for Lyft time and price (based on Uber sensor)
* Minor fixes to lyft sensor
- use add_devices(...,True) instead of explicitly calling update
- move sensor name check into constructor
* lyft sensor: disable sandbox mode
* Adds support for the Lutron Caseta family of devices
* Added external requirement
* Removes unuse import
* Adds requirement to requirements_all.txt
* Removes unuse import
* fixes requirement_all.txt. by regenerating
* Cleans up syantax
* Cleans up syantax
* Cleans up syantax
* Cleans up syantax
* Shortens long line
* adds lutron_caseta component to .coveragerc
* Merges into light, removes component
* Fixes long lines
* Fixes requirement.txt
* Removes 'ERROR' log statements. Adds missing dependency
* savig work to pick up on other machine
* Enables Lutron Caseta component with Light and Switch platforms
* Add missing file to .coveragerc
* Changes based on PR review
* fixes requirements file
* Fixes install of paramiko dependency.
* Moves callback registration to
* comment changes
* Platform have no return value
* Change style for guard
* fix logic
* fix lint
* Added tado climate component
named the component v1 because of the unsupported state of the api I
used (mytado.com)
* sensor component
* climate component which uses sensors
* main component initiating sensor and climate devices
* order of imports
* consts for username and password
* removed redundant code
* changed wrong calls and properties
* remove pylint overrides
* merged update() and push_update()
* changed wrong calls
* removed pylint overrides
* moved try..except
* renamed MyTado hass-data object
* added TadoDataStore
* moved update methods from sensor to TadoDataStore
* reorganised climate component
* use new TadoDataStore
* small change to overlay handling
* code refactoring
* removed unnessesary comments
* changed throttle to attribute
* changed suggestions from PR
* Added constant variable for string literal
* remove wrong fget() call
* changed dependencies
* Changed operation mode list
* added human readable list of operations
* removed unnecessary const
* activated update on add_devices
* droped unit
* removed unnused property
* changed temperature conversion
* removed defaults from config
changed naming of tado data const
* switched operation_list key/values
* changed the value returned as state
* added one extra line
* dropped state to use base impl.
* renamed component
* had to inplement temperature_unit
* because it is not implemented in base class
* create a copy of the sensors list
* because it can be changed by other components
* had to check for empty data object
* hass is too fast now
* Add new media_player platform: Volumio Media Player
Volumio media player is a rpi music player, this platfor adds http based control of the player.
* Modify mute command to accept boolean
* Adjust mute call to reset volume after unmute
Remove references to volimi"a"
* Use yield from calls in mute and volume calls
Trying to speed up the indication of mute and volume level changes in UI, but doesn't seem to do much.
* Adjust async_add_devices call
* Added support for multiple efergy sensors in the same household.
Also added inital tests for the efergy platform.
* Fixed current_values units.
Changed name to include efergy_ prefix.
* Passing pep8, no tests yet
* Fixed some issues with the request throttling
* Removed ability to set throttle time because it was causing more issues than it was worth
* Added blink to .coveragerc
* Changed blinkpy version
* Removed global var, fixed per PR requests
* Added services for camera, migrated switch to binary_sensor
* Added schema for service, fixed naming, removed unused function
* Add ComEd RRTP price sensor
* Update wording to reflect ComEd's naming change from 'RRTP' to 'Hourly Pricing'
* Changed name of sensor source file
* Cleanup based on requested changes
* More cleanup
* small cleanups
* added frontier_silicon constant
* added the frontier_silicon component
* cleaning up according to travis
* trying to satisfy pylint
* trying to satisfy pylint
* fsapi version 0.0.6
* with fsapi version 0.0.7
* added fsapi dependency
* yielding the FSAPI
* Removing white space from docstring
* Removing white space from an empty line
* Switching to sync
* clean up white spaces and rename device to FSAPIDevice
* added frontier_silicon constant
* added the frontier_silicon component
* cleaning up according to travis
* trying to satisfy pylint
* trying to satisfy pylint
* fsapi version 0.0.6
* with fsapi version 0.0.7
* added fsapi dependency
* yielding the FSAPI
* Removing white space from docstring
* Removing white space from an empty line
* Switching to sync
* clean up white spaces and rename device to FSAPIDevice
* changed info to debug
* added frontier_silicon constant
* added the frontier_silicon component
* cleaning up according to travis
* trying to satisfy pylint
* trying to satisfy pylint
* fsapi version 0.0.6
* with fsapi version 0.0.7
* added fsapi dependency
* yielding the FSAPI
* Removing white space from docstring
* Removing white space from an empty line
* Switching to sync
* clean up white spaces and rename device to FSAPIDevice
* added the frontier_silicon component
* trying to satisfy pylint
* fsapi version 0.0.6
* remove white space
* generated requirements
* added the frontier_silicon component
* cleaning up according to travis
* trying to satisfy pylint
* trying to satisfy pylint
* fsapi version 0.0.6
* with fsapi version 0.0.7
* added fsapi dependency
* yielding the FSAPI
* Removing white space from docstring
* Removing white space from an empty line
* Switching to sync
* clean up white spaces and rename device to FSAPIDevice
* trying to satisfy pylint
* changed info to debug
* added the frontier_silicon component
* fsapi version 0.0.6
* generated requirements
* pylint
* moved import requests to the method where it is being used
* add a basic unit test
* cleaned up source code
* added frontier_silicon constant
* added the frontier_silicon component
* added basic test
* added fsapi to requirements_all.txt
* added coverage omit, though a basic test was included
* added MEDIA_TYPE_MUSIC for artist and album
* removed duplicate cons
* switched fsapi call to a property, removed unecessary comment
* detailed docstring for fs_device
* added a space for the info_name - info_text separator
* reduced proeprty (fsapi) access for volume down/up
* Fast & efficient updates for ZAMG weather data
ZAMG updates on the hour, so instead of checking every half-hour we can
check each minute - only after the observations are taken until
receiving them.
* sensor.zamg: test instead of whitelist for station_id
* Autodetect closest ZAMG station if not given
* ZAMG weather component, based on the sensor
* Review improvements
* Update to new ZAMG schema, add logging
Turns out it wasn't a typo, but rather an upstream schema change. Added
better error handling to ease diagnosis in case it happens again.
* No hardcoded name
* Connect to PLM and process simple protocol callbacks
* Baseline commit
* Connect to PLM and process simple protocol callbacks
* Baseline commit
* Connection working again
* Async add devices is working via callback now
* Beginning to interface with PLM library for control and state
* Deal with brightness in 255 levels with library
* Change sub names to match API changes
* Remove PLM-level update callback
* Support dimmable based on underlying PLM device attributes
* Expand to non-light platforms
* Stubs for turn on and off
* Current version of Python library
* Amend to use switch device attributes
* Use asyncio endpoints for control
* Add logging line
* Bump module version to 0.7.1
* Auto-load platforms, display device info/attributes
* Unify method name for getting a device attribute
* Require Current version of insteonplm module
* Import the component function in each platform in the balloob-recommend manner
* For consistency, handle switch state as onlevel just like lights
* Use level 0xff for on state, even with binary switches
Observing the behavior of a 2477S switch, it looks like even the non-dimmable
devices use 0x00 and 0xff for off/on respectively. I was using 0x01 for on
previously, but that yields unnecessary state change callbacks when message
traffic ends up flipping the onlevel from 0xff to 0x01 or 0x01 to 0xff.
* Use sensorstate attribute for sensor onoff
* Move new device callback to devices attribute
* Add support for platform override on a device
* Bump version of insteonplm module
* Default overrides is an empty list
* Avoid calling private methods when doing common attributes
* Remove unused CONF_DEBUG for now
* flake8 and pylint code cleanup
* Move get_component to local function where it is needed
* Update to include insteonplm module.
* New files for insteon_plm component
* Legitimate class doctring instead of stub
* Docstring changes.
* Style changes as requested by @SEJeff
* Changes requested by @pvizeli
* Add @callback decorator to callback functions
* Opportunistic platform loading triggered by qualifying device detection
Instead of loading all the constituent platforms that comprise the insteon_plm
component, instead we defer and wait until we receive a callback for a device
that requires the platform.
* Add support for the Open Energy Monitor Thermostat
* Fix linting errors
* Define an update method and local state
* fix linter
* Small tweaks.
Update oemthermostat version, default name and docstrings
* Fail to setup oem platform if connection fails.
* update requirements
* More tweaks to auth and exceptions
* Remove target temp
* new component telegram_webhooks
* keyboard support in telegram notify
* telegram_webhooks has no tests
* requirement like notify/telegram
* ops, requirements_all.txt needed for travis
* ops, requirements_all.txt is generated by script/gen_requirements_all.py
* check telegram trusted networks in web handler
* raise an event now
* use of hass.config.api.base_url
* more readable
* small cleanups
* Small style change for HA guideline
* fix lint
* revert return to origin
* Mailgun notify service
* Update dependency to version 1.3
- The provided credentials (including the domain) are now checked during
startup, as requested by @balloob
- The domain name is now optional
- There's a new config item "sandbox" which indicates whether to use the
sandboxed domain in case the domain is not set
* Fix a few lint issues
* Disable lint check no-value-for-parameter
* Support for the Orage Livebox Play TV appliance
* Add liveboxplaytv to coveragerc
* Minor refactoring
* Update requirements
* Adjust comments
* Fix alignment
* Fix some coding-style issues highlighted by Travis CI
* The livebox play TV does not support playing media
* Lint: shorten line
* Remove unused callback function
* Remove redundant backslash
* Implement changes requested by balloob
* Don't error out if channel name or media url could not be retrieved
* Support current program (media title property)
* Remove unnecessary check
* Clean up: Remove another unnecessary check, _CONFIGURING variable and _playing attribute
* Update liveboxplaytv dependency to version 1.4.4
* Fix liveboxplaytv requirement
* Improve media state (support for playing and pause state)
* Update liveboxplaytv.py
* Support for Nuki.io smart locks
* Update requirements and add lock.nuki to .coveragerc
* lint: Re-organize imports
* Schedule a state update instead of calling directly update_ha_state
* Remove update requests altogether
* Make sure there is no IO inside properties
* Fix: nuki lock are all initialized as "lock.unnamed_device"
* Update pynuki to 1.2 to avoid an extra REST API call for each lock init
* Voice command API.AI. First import
* Fixes suggested by hound
* Fixing comments
* Fix pylint and pydocstyle errors
* Change how speech is defined
Also clean some unused constants, remove card type (not used), define
a message when action is not defined and improve the message when
action is unknown.
* Change how speech is defined
Clean some constants.
Improve error messages.
Delete card type, not used.
* Tests for new Api.ai component
* Use async_add_job to python compatibility. New test to measure response time
* Add async_action option to choose between waiting or not for the action to execute
* Travis-ci needs more time
* Removed timeout tests
* Removed timeout tests
* Added apiai to .coveragerc as specified by PR doc
* Remove SPEED_MED from fan
* Add an Amazon Polly TTS platform
* Update boto library version for notify.aws_* platforms to match the tts.amazon_polly req
* Improve log line and add docstring to function
* Simplify config logic
* Remove duplicate logic
* Don't know how this got in here...
* initial options work
* Remove stale config option and only allow supported languages
* Make requested changes
* Polly is only supported in some regions
* Allow filename to contain underscores (for amazon_polly platform name), remove unnecessary default_lang, other small things
* Add options dict to service description
* Added new platform sky_hub
* added env to virtual environment gitingore
* Removed unuseful imports
* BT home hub 5 renamed to sky hub in the comments
* Added sky_hub to .coveragerc
* Added example configuration in sky_hub docstring
* sky_hub made compliant with test style standards
* homehub functions renamed to skyhub
* Update .gitignore
* Update .coveragerc
* Add support for Piglow
* Updated coverage and requirements
* Add support for Piglow
* Updated coverage and requirements
* Fix linting errors
* Fix linting errors
* Remove trailing whitespace
* Shorter lines
* Remove trailing whitespace
* Update piglow.py
* Pinned piglow version
* Remove unused method
* Remove unused imports
* Fix lint errors
* Update requirements all
* Updated Piglow to allow the component name to be changed
* Fix imports
* Pass in name
* The piglow platform now fails if it cannot detect the piglow device
* Tidy subprocess import
* cec client object
* cec command structure
* autodetect source
* volume support and native source select
* switch device
* media player device
* detecting of state
* friendly names
* hdmi cec properties
* presence detection
* simplified callbacks
* stable names
* renamed methods
* code cleanup
* name with vendor
* fixed standby call name
* fake standby/poweron
* domain switch
* domain switch
* async updating
* update separated
* cec -> hass event bridge
* fixed name generation
* code cleanup
* code cleanup
* icon constants
* code cleanup
* do not register unavailable devices
* discovery of deevices
* code cleanup
* cec device discovery
* moved method implementation into child
* service descriptions
* service descriptions
* service descriptions
* changed entity init sequence
* logging cleanup
* add remove as job
* closing cec, no service schemas
* correct iterate over dictionary
* Volume by commands
* threading
* logging minimized
* get load out of main thread
* naming cleanup
* get load out of main thread
* optimized discovery
* async where possible
* cleanup logging, constructors first
* pydoc
* formatting
* no async_update from out of loop
no hiding entities
removed redundant device_state_attributes
async updating presence
* no async
* working async cec
* cec in thirdparty lib
* cec initialized oudsice
* working without SIGSEGV
* rollbacked file changed by mistake
* sending of commands
* working with ha
* using hass loop and device driven updates
* version up
* version up
* Command types in pycec, cleanup for HA integration
* Removed media player, state moved to switch
* service descriptions
* requirements: pyCEC
* line width to 79
* doc
* doc
* overindentation solved
* HDMI to uppercase
* minimal dependency on cec
* removed unwanted line
* doc wording
* margin 79
* line continuation indent
* imperative doc
* lint: indentation
* fixed overindented
* fixed overindented
* fixed overindented
* fixed overindented
* order of imports
* PEP8
* keep signature of overriding
* removed redundant blank line
* fixed update call method (#4)
* Preparation for merge to upstream (#5)
* newer version of pyCEC
* updated services.yaml
* fixed lint scrpt to operate only on python files
* pycec version up
* update services
* no coverage report
* exclude non python files from lint
* lint only on python files
* Dev (#6)
* reordered
* sending nonserialized data through hass.data
* code formatting
* code formatting
* import order
* Dev (#7)
* newer version of pyCEC
* updated services.yaml
* fixed lint scrpt to operate only on python files
* pycec version up
* update services
* no coverage report
* exclude non python files from lint
* lint only on python files
* reordered
* sending nonserialized data through hass.data
* import order
* fixed object handling
* code formatting
* Backwards compatibility of hdmi_cec (#10)
* services:
power_on
standby
active_source
* new version of pyCEC (#12)
* newer version of pyCEC
* devices config (#13)
* getting device name from config
* shutdown fix (#14)
* correct call on shutdown
* remove misplaced annotations (#15)
* Preparation for merge to upstream (#5)
* newer version of pyCEC
* updated services.yaml
* reordered
* sending nonserialized data through hass.data
* services:
power_on
standby
active_source
* code formatting
* getting device name from config
* correct call on shutdown
* pyCEC version 0.3.6 (#18)
* newer version of pyCEC
* updated services.yaml
* sending nonserialized data through hass.data
* services:
** power_on
** standby
** active_source
* getting device name from config
* correct call on shutdown
* fork new thread on multicore machines
* support both config schemas: original and new (#16)
* volume press and release support (#17)
* support for media_player (#21)
* accept hexadecimal format of commands
* support for media player
* platform customization
* type constants
* Dev (#23)
* accept hexadecimal format of commands
* support for media player
* platform customization
* TCP CEC support (#24)
* accept hexadecimal format of commands
* support for media player
* platform customization
* preparing tcp support
* volume handling (#25)
* Incorporated CR remarks (#26)
* cleanup imports
* cleanup and enhance services description
* removed unwanted file
* implemented CR remarks (#27)
* pyCEC v0.4.6
* pined dependency version
* tighten service schemas
* requirements (#28)
GE sell a range of Bluetooth dimmer switches based on Avi-on technology.
Add a module for controlling them. There's also a set of smart switches that
speak the same protocol, but I don't have any of those to test support with.
* Initial commit of anthemav platform. It loads but has no purpose.
* Now presents a card in the UI but the values aren't real
* Mute and volume polling/setting work now
* Source lists and selection works now.
* Reduce debug logging verbosity
* Support power on/off and skip polling for details if power is off
* Add some static tables to decode numerics from telnet commands
* Add stub for unsupported media_play
* New style anthemav uses native asyncio structure
* Add device callback for asyncio
* This is ugly but it works
* Simplify async setup and abstract class data retrieval
* Implement commands (power on and power off for now)
* Add support for scan_interval and set default to 120 seconds
* Pass-through to package handlers for volume and input selection
* Slight restructuring to satisfy anthemav 0.9
* Load anthemav package from pypi now that it's registered
* Proper app_name from a/v info
* Mispelled word
* media_player/anthemav initial commit of platform requirements
* Philio 3-in-1 Gen 4 zwave sensor needs the no-off-event workaround. (#5120)
* Add print_config_parameter service to Z-Wave (#5121)
* Add print_config_param service to z-wave
* Add print_config_parameter service to z-wave
* Add print_config_parameter service to z-wave
* Fix typos
* Fix typos
* Fix typo
* Conform to Python/project style requirements
* Making pylint happy
* Bring pip requirements in agreement with the code
* Bungled previous update
* Remove unnecessady SCAN_INTERVAL logic
I was unawre that this is performed as part of the normal platform behavior and
it's unnecessary for a platform to independently implement this logic.
* Refactor code based on @armills PR requests
* Re-add media_play stub to avoid traceback
* Align with platform reqirements
* Remove references to SCAN_INTERVAL and clean up _lookup logic
* Add DEFAULT_PORT assignment
* Code style changes and removal of vestigial structures
* CONF_NAME handling changes to allow local override to default from device
* Address PR feedback from @balloob
* Remove media_play function override
It's no longer necesary for the platform to implement a stub media_play
function override now that the Add SUPPORT_PLAY flag #5181 issue has been
resolved and merged into the dev branch.
* Rename callback function to async_ for clarity
* Use async routines for platform methods
* Convert update callback to coroutine for conformity
Underlying anthemav library now properly supports coroutine callbacks instead
of normal functions. Converted the platform callback to a coroutine for
conformance with async operation for the device.
Special thanks to @pvizeli and @armills for their invaluable remedial Python
instruction!
* Further callback refinements
Altered the nature of callback handling based on suggestions from @pvizeli
* True not needed for local push update_ha_state
* Small style fix
* Added tado device tracker
* Added tado device tracker to .converagerc
* Updated docs
* Code formatting and removed unused import
* Code formatting and removed unused import
* Respected the lint line length
* Respect pydocstyle rules
* Respect the lint line limit length
* Fixed reviewer feedback
* Changed the tracker to support async
* Respect the New line end of file rule
* Update .coveragerc
* Initial commit of discord notification component
* Fixed error where script added extra entries to .coveragerc
* Cleaned up code
* Compliance to PEP8
* removed dependencies
* readded dependencies
* changed name of client id to token for configuration
* Changes for Hound
* Incorporated Review Feedback
* Review feedback
* Updated requirements file
* Check compliance
* Introduced Amcrest camera sensors
* Makes script/gen_requirements_all.py happy
* Bump Amcrest version across all components
* - Adjusted scan_interval to 10 seconds
- Filtering HTTPError and ConnectTimeout exceptions
- Removed @Throttle decorator
* Fix typo
* Auto-config for `sensor.bom`
Deprecate (but still support) the old two-part station ID, and move to a
single `station` identifier. Any combination of these, including none,
is valid; most results in downloading and caching the station map to
work out any missing info.
* Add `weather.bom` platform
Very similar to `sensor.bom`, but supporting the lovely new `weather`
component interface. Easier to configure, and does not support the
deprecated config options.
* Review improvements to BOM weather
Largely around better input validation.
* Add support for Zengge Bluetooth bulbs
Adds support for the Zengge Bluetooth RGBW bulbs. These are sold under a
number of brands, including Flux. The bulbs do not support full RGBW
control - they turn off the RGB LEDs when white is enabled, and vice versa.
* Update zengge.py
* [Device Tracker] Xiaomi Mi Router integration as device tracker
This device tracker allow to track device connected to Xiaomi Router.
Parameter: host, username (default admin) and password.
* [Device Tracker] Addition of Xiaomi device tracker file in coverage
* Add Lannouncer notify component
* Send message by opening a raw TCP socket instead of using requests. Cleanup of method validation.
* Use 'return' instead of 'return None'
* platform set-up begin components
* lights seem to be getting set up properly, not sure why they aren't being added...
* typo
* Dependencies line
* toggle working
* toggle working
* added the switch to insteon_local
First commit hope to test tonight or in the morning
* Update insteon_local.py
* Update insteon_local.py
* Update insteon_local.py
* Update insteon_local.py
* Update insteon_local.py
* Update insteon_local.py
* Update insteon_local.py
* Update insteon_local.py
* Update insteon_local.py
* Update insteon_local.py
* Update insteon_local.py
* move dependency declaration before import?
* Move dependencies in Switch
* Update insteon_local.py
* wait for response
* switched the while to an if
switched the while 'cmd2' not in resp: to an if 'cmd2' not in resp: this seems to have the updater working
* Switched the while sleep loop to an if
switched the wile cmd2 not ins resp to be if cmd2 not in resp seems to be working.
* Update insteon_local.py
* import statement
Updated the import statement to import the instance of the insteon_local component not the hub Instance.
* updated import and the device assignment
update the import to import the instance of the insteon_local component not the hub.
* more changes to support the import change
* more changes to support the import change
* change to hass.data and add loop logic
* &&
* Update insteon_local.py
* Update insteon_local.py
* logic fixes and throttle
* reduce polling time
* brightness support
* import util
* hound fixes
* requirements file
* more hound fixes
* newline
* newline weirdness
* lint fixes
* more lint fixes
* switch state
* Update insteon_local.py
* log cmd2 for debugging
* assume success
* remove check for none
* fix comments
* fix comments again
* fix comments, add fixed version of lib, add support for timeout, add support for port, handle invalid login and connection problems
* fix logging exception
* fix hounceci-bot errors
* fix hounceci-bot errors
* requirements fix
* unique-id changes
* make dimmer off use saved ramp rate
* configurator working for lights
* configurator working for switches?
* configurator working for switches?
* include model names and fix lint errors
* lint fix
* fix exception order
* lint fixes
* fix lint errors
* update to use insteon local 0.38
* fix device id
* move status check to library
* move status check to library
* add SKU to setup
* lint fixes
* requirements
* linting
* Add support for Tikteck Bluetooth bulbs
Adds support for the Tikteck RGBW BLE bulbs. These don't provide "true" RGBW
support - at a certain point in RGB space, the white LEDs turn on. Each bulb
has a specific key that needs to be extracted from the Android app.
* Update tikteck.py
* Add sensor for International Space Station
* Change two sensors to one with attributes.
* Fix due to comments in HA PR. Thanks !
* Update Requirement