* Wait for future mysensors gateway ready
* Add an asyncio future that is done when the gateway reports the
gateway ready message, I_GATEWAY_READY.
* This will make sure that the gateway is ready before home assistant
fires the home assistant start event. Automations can now send
messages to the gateway when home assistant is started.
* Use async timeout to wait max 15 seconds for ready gateway.
* Address comments
After 2 months of being offline, the my.chevy website seems to be
working again. Some data structures changed in the mean time. The new
library will handle multiple cars. This involves a breaking change in
slug urls for devices where these now include the car make, model, and
year in them.
Discovery has to be delayed until after the initial site login to get
the car metadata.
Sensors that were defined via sensor_string were not getting properly identified as binary sensors when they had a uom defining them as binary (the other three methods of detecting binary sensors worked though.)
* Add Homematic IP RotaryHandleSensor support
HmIP-SRH was in the RotaryHandleSensor class and threw errors that LOWBAT and ERROR could not be found (they are LOW_BAT and SABOTAGE).
* Revert REQUIREMENTS change
* Simplify conditionals.
* Send white_value on service call.
* Remove extra blank line
* Further simplification of conditionals
* Requested changes
* Do not call getRgb if not needed
* Update log message
* make device_discovered synchronous
* small fixes from code review
* use dispatcher to update sensor state
* update switch state based on response from the device
* interpolate entity_id into dispatcher signal
* cleanup lint
* change coroutine to callback
* Added option to invert aREST pin switch logic for active low relays
* Fixed line lengths
* Changed naming and set optional invert default value.
* Fixed line length
* Removed default from get
The Universal media player inherits the states of the first child player that is not in some sort of "Off" state (including idle.) It was not considering the "unavailable" state to be off. Now it does.
* moved regular updates definition to own method to be able to override behaviour in subclass
* moved filter by max entries to own method to be able to override behaviour in subclass
* event type used when firing events to the bus now based on variable to be able to override behaviour in subclass
* feed id introduced instead of url for storing meta-data about the feed to be able to fetch the same feed from different configs with different filtering rules applied
* keep the status of the last update; continue processing the entries retrieved even if a recoverable error was detected while fetching the feed
* added test cases for feedreader component
* better explanation around breaking change
* fixing lint issues and hound violations
* fixing lint issue
* using assert_called_once_with instead of assert_called_once to make it compatible with python 3.5
* add familyhub.py camera
* fix import and REQUIREMENTS
* add to coveragerc
* fix formatting to make houndci-bot happy
* ran scripts/gen_requirements_all.py
* use CONF_IP_ADDRESS
* Revert "ran scripts/gen_requirements_all.py"
This reverts commit 3a38681d8a.
* fix library name
* add missing docstrings and enable polling
* Sort imports
zigpy now allows custom devices, which might mean that devices have cluster
objects which are not instances of the default, but may be instances of
sub-classes of the default. This fixes the check for finding single-cluster
device entities to handle sub-classes properly.
* Add priority and cycles to LaMetric
Priority can be "info", "warning" (default), or "critical" and
cycles is the number of times the message is displayed. If cycles
is set to 0 we get a persistent notification that has to be dismissed
manually.
* Fix for schema and style
* Fix for style
This commit bumps the pycmus version used by the cmus component. There
was a bug in the previous version used, 1.0.0, when running in local
mode. This was caused by a mtreinish/pycmus#1 and also was reported in
the home-assistant forums (but not as an issue):
https://community.home-assistant.io/t/cant-install-cmus-component/7961
Version 0.1.1 of pycmus fixes this issue so it should work properly for
users running cmus and home-assistant on the same machine.
* Make mysensors component async
* Use async dispatcher and discovery.
* Run I/O in executor.
* Make mysensors actuator methods async.
* Upgrade pymysensors to 0.13.0.
* Use async serial gateway.
* Use async TCP gateway.
* Use async mqtt gateway.
* Start gateway before hass start event
* Make sure gateway is started after discovery of persistent devices
and after corresponding platforms have been loaded.
* Don't wait to start gateway until after hass start.
* Bump pymysensors to 0.14.0
* Implement support for away mode and hold mode in Venstar component
* Fix Venstar humidifier capability detection
* Add option to configure humidifier control in Venstar component
* style fix: add missing space and resolve pylint issues
* Remove quotes
* Waze Travel Time: optional inclusive/exclusive filters
Added optional `inc_filter` and `excl_filter' params that allow to refine the reported routes: the first is not always the best/desired. A simple case-insensitive filtering (no regular expression) is used.
* fix line lenght
* fix spaces
* Rename var
* Fix typo
* Fix missing var
* Starting to add attributes
* All attributes added to programs
* Basic zone attributes in place
* Added advanced properties for zones
* Working to move common logic into component + dispatcher
* We shouldn't calculate the MAC with every entity
* Small fixes
* Small adjustments
* Owner-requested changes
* Restart
* Restart part 2
* Added ID attribute to each switch
* Collaborator-requested changes
* Improving icloud device tracker
* Adding config validations for new values
* Adding config validations for new values
* Moving icloud specific setup to platform schema. Setting default in platform schema.
* When zwave node's info is parsed remove it and re-add back.
* Delay value entity if not ready
* If node is ready consider it parsed even if manufacturer/product are missing.
* Add annotations
* Gogogate2 - bump version
Uses latest version of library which ensures commands to device are idempotent
* Update requirements_all
* Expose sensor temperature
* update version
* import attribute
* Set temperature
* Remove temperature attribute
Removed temperature attribute until it can be re-implemented as a separate sensor.
* Update ordering
* Fix copy-&-paste issue
* add 2 devices
io:RollerShutterUnoIOComponent
io:ExteriorVenetianBlindIOComponent
* add 2 devices
* Update tahoma.py
* Fix hounci-bot violation
* Fixed Travis CI build failure
./homeassistant/components/cover/tahoma.py:83:13: E125 continuation line with same indent as next logical line
* Fixed Travis CI build failure
E125 continuation line with same indent as next logical line
* Fixed Travis CI build failure
E127 continuation line over-indented for visual indent
* Fix indent
* Change check
* Add support for shutter contact and motion detector device
* Add support for power switch devices
* Add support for light switch device
* Cleanup binary_switch and light platform
* Update comment
I have a Hitron modem provided by Shaw communications rather than from Rogers as the Docs specify for this device_tracker but it seems like the api/code is all the same except that the login failed due to the password being passed as "pws" instead of "pwd". Making that one character change allowed HASS to read the connected device details from my Hitron modem. If this difference is actually one that stands between the Rogers-provided Hitron modems and the Shaw-provided variant, I am happy to create another device-tracker file for the Shaw modem. I just figured I would go with the simplest solution first.
* Setup all-linking service
* Remove extra line
* Remove linefeed and tab escape chars
* Add services delete_all_link, load_all_link_database and print_all_link_database
* Check if reload is set
* Confirm entity is InsteonPLMEntity before attempting to load or print ALDB
* Debug load and print ALDB
* Debug print aldb
* Debug print_aldb
* Get entity via platform
* Track Insteon entities in component
* Store entity list in hass.data
* Add entity to hass.data
* Add ref to hass in InsteonPLMEntity
* Pass hass correctly to InsteonPLMBinarySensor
* Fix reference to ALDBStatus.PARTIAL
* Print ALDB record as string
* Get ALDB record from memory address
* Reformat ALDB log output
* Add print_im_aldb service
* Remove reference to self in print_aldb_to_log
* Remove reference to self in print_aldb_to_log
* Fix spelling issue with load_all_link_database service
* Bump insteonplm to 0.9.1
* Changes from code review
* Code review changes
* Fix syntax error
* Correct reference to cv.boolean and update requirements
* Update requirements
* Fix flake8 errors
* Reload as boolean test
* Remove hass from entity init
* onkyo: add support for max volume range
* onkyo: make flake8 happy
* onkyo: fix PEP8 D205 on line 181
* onkyo: use range for max_volume configuration
* onkyo: fix line too long
* Add new device without restarting hass
* Remove debug prints
* Fix copy paste error
* Fix comments from balloob
Add tests to verify signalling with new added devices
* Fix hound comments
Add test to verify when new sensor is added
* Fix tests
* Unload entry should unsubscribe all deconz dispatchers
* Make sure mock setup also creates unsub in hass data
* Fix copy paste issue
* Lint
* Add first version of the Matrix bot
* It's a stupid but necessary change…
* Dont list it twice
* All hail the linter!
* More linter-pleasing
* Use the correct user ID
* Add expression commands
* Add tests for new validators
* Fix room alias handling
* Wording
* Defer setup
* Simplify commands
* Handle exceptions
* Update requirements
* Review
* Move login back to constructor
* Fix review comments
* Publish attributes unconditionally
Because the attribute publish command was previously hidden behind `if val:`, falsy values like False and 0.0 weren't being published, thereby making Statestream -- particularly in the case of booleans, where the first True would be retained indefinitely -- a completely worthless indicator of state.
* Change bool test to False to confirm falsy values pass
* Add unique_id to zwave node entity
* Wait 30s before adding zwave node if its unique_id is not ready
* Use only node_id in unique_id. Update name, manufacturer, and product attributes on node update.
* Add basic PostNL sensor (WIP)
* Update PostNL sensor
* Bump version
* Small updates to PostNL package based on feedback
* Remove unused import
* Pass api to sensor
* Refactor based on feedback
* Update based on feedback
* Fix feedback
* Clean up
* Bugfiix
* Bugfix
* SCAN_INTERVAL fix
* Remove unused import
* Refactor for new wrapper implementation
* Update postnl package requirement
* Change throttle logic
* Update package version
* Add new line
* Minor changes
* Change refresh time to 30 minutes
* Update requirements_all.txt
* Allow independent control of white level on flux_led component.
Also preserve brightness on color change.
* Limit white value support to RGBW mode.
* Requested changes.
* Correct liniting issues
* Formatting
* Converts RainMachine to hub model (part 2)
* Small style adjustments for consistency
* Moving MAC calculation to one-time call in component
* Removing unneeded attribute
* Bumping Travis
* Lint
* Force update continuous sensors when new measurement available.
* Added unique ID's based on coordinates, sensor type and client name.
* Fixed over-indentation (hound review)
* Revert "Added unique ID's based on coordinates, sensor type and client name."
This reverts commit 3345e67a15.
* Fix lint errors.
* Re-added unique ID's based on location.
* Removed wrong error logging.
* Removed creating UUID from unique id
* Lint
* allow to set a desired update interval for camera_proxy_stream view
* lint
* refactor into a seperate method.
Keep the handle_async_mjpeg_stream method to be overridden by platforms
so they can keep proxying the direct streams from the camera
* change descriptions
* consolidate
* lint
* travis
* async/await and force min stream interval for fallback stream.
* guard clause. Let the method raise error on interval.
* is is not =
* what to except when you're excepting
* raise ValueError, remove unnecessary 500 response
* Add more parameters for DSMR component
* Add suiting icon for power failure
* Add suiting icon for swells & sags
* Fix tab indentation -> spaces
* Fix too long lines (PEP8)
According to my observations, the "switch_energy" value displayed by Pyfritzhome is the sum of Wh over the last week since measurement.
As a result, the correct divisor for representing output as kWh would be 1000 instead of 10000.
* Add initial user foundation to Home Assistant
* Address comments
* Address comments
* Allow non-ascii passwords
* One more utf-8 hmac compare digest
* Add new line
- Instead of registering listeners in the entity __init__, do it in
async_added_to_hass to avoid errors updating an entity which isn't fully
set up yet
- Change from schedule_update_ha_state to async_schedule_update_ha_state
* Fix TypeError on round(self.humidity)
Some weather platforms postpone the first data fetch for a while on init. As a result round(self.humidity is called before it is assigned a value, producing an error. This is a fix for that.
* Rewrite to avoid false negative evaluation
As per the suggestion from @OttoWinter, rewrite to avoid matching e.g. 0.0 as false.
With Darksky allowing only 1000 API requests per day, 2 minutes retry seems to be bit closer to running over the limit and actually it did for 5 days in my account. Hence proposing a change to 5 minutes to keep the API happy and also it doesn't hurt to check the weather for every 5 mins than 2 mins someone lives in Jupiter :-P
* add initial precipitation support
* move attr to component
* remove blank line
* add forecast attributes to platform and update demo
* add tests
* break long lines
* calc lower temp correctly
* move all new attributes to component
* convert temp low only when existing
* Working but incomplete
* Remove events on unload
* Add unload test
* Fix failing sensor test
* Improve unload test
* Move DeconzEvent to init
* Fix visual under-indentation
* Update hue_api.py
add dummy group handler for logitech-pop
* Update __init__.py
add HueGroupView for logitech pop
* Update __init__.py
removed whitespace on blankline
* fix line limit and space
* fix indents
* fix more docstring and formatting issues.
* fix more whitespace issues
* Fix pylint issue
There's one particular QNAP model which sometimes return empty/null temperatures
for certain disks. This commit ensures that this model can be integrated with HASS
without causing KeyErrors or other exceptions - if this edge case is hit, the
sensor will simply show `0` instead.
Eufy device state isn't reported if the bulb is off, so avoid stamping on
the previous values if the bulb isn't going to give us useful information.
In addition, improve handling of bulb turn on if we aren't provided with a
brightness - this should avoid the bulb tending to end up with a brightness of
1 after power cycling.
Eufy device state isn't reported if the bulb is off, so avoid stamping on
the previous values if the bulb isn't going to give us useful information.
In addition, improve handling of bulb turn on if we aren't provided with a
brightness - this should avoid the bulb tending to end up with a brightness of
1 after power cycling.
* Initial commit
* Add error handling to config flow
Change unique identifyer to name
Clean up hound comments
* Ensure hass home zone is created with correct entity id
Fix failing tests
* Fix rest of tests
* Move zone tests to zone folder
Create config flow tests
* Add possibility to unload entry
* Use hass.data instead of globas
* Don't calculate configures zones every loop iteration
* No need to know about home zone during setup of entry
* Only use name as title
* Don't cache hass home zone
* Add new tests for setup and setup entry
* Break out functionality from init to zone.py
* Make hass home zone be created directly
* Make sure that config flow doesn't override hass home zone
* A newline was missing in const
* Configured zones shall not be imported
Removed config flow import functionality
Improved tests
* Recode to async version of homematicip-rest-api
* Remove blank line
* Cleanup of access point status class
* Fix to loong line
* Fix import errors
* Bugfix missing wait the _retry_task for sleep command
* Update comment
* Updates after review
* Small updates of logging and property name
* Fix DOMAIN and revert back to lowercase snakecase strings
* Fix intention and tripple double quotes
* Fix travis build
* Remove unnecessary state attributes
* Fix optional name in configuration
* Further reduction of state attributes
* Handle HomeKit configuration failure more cleanly
Add support for handling cases where HomeKit configuration fails, and give
the user more information about what to do.
* Don't consume the exception for a homekit.UnknownError
If we get an UnknownError then we should alert the user but also still
generate the backtrace so there's actually something for them to file in
a bug report.
* Use forward entry setup with light platform
* Move sensor to forward entry setup
* Use forward entry setup with binary sensors
* Use forward entry setup with scene platform
* Remove import of unused functionality
* Move deconz setup in to setup entry
Create initial negative tests for setup entry
* Fix hound comment
* Improved tests
* Add test for scene platform
* Add test for binary sensor platform
* Add test for light platform
* Add test for light platform
* Add test for sensor platform
* Fix hound comment
* More asserts on sensor types
* Handle HomeKit configuration failure more cleanly
Add support for handling cases where HomeKit configuration fails, and give
the user more information about what to do.
* Don't consume the exception for a homekit.UnknownError
If we get an UnknownError then we should alert the user but also still
generate the backtrace so there's actually something for them to file in
a bug report.
When an OpenWrt device monitored via ubus is offline, this causes the
log to be flooded with several exceptions. Avoid this by catching
requests.exceptions.ConnectionError in addition to
requests.exceptions.Timeout.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* Initial working config entry with discovery
* No need for else
* Make sure that imported config doesnt exist as a config entry
* Improve checks to make sure there is only instance of deconz
* Fix tests and add new tests
* Follow upstream changes
Fix case when discovery started ongoing config entry and user completes setup from other path it was possible to complete discovered config entry as well
* Add test to make sure link doesn't bypass any check for only allowing one config entry
* Dont use len to determine an empty sequence
* Cleanup
* Allways get bridgeid to use as unique identifier for bridge
* Fix colorlog on windows
Modified the way logging is initialized to fix two things.
1. If the import of `colorlog` fails the logs will still be formatted
using the expected HASS log format.
2. Ensure that `logging.basicConfig` is called AFTER `colorlog` is
imported so that the default handler generated will be writing to the
wrapped stream generated when `colorama` is initialized. This allows
colored logging to work on Windows.
Added support for a `--log-no-color` command line switch in the event
that someone just wants to disable colored log output entirely.
* Fix line lengths
* Switch default value
* implemented services for bmw remote services
* added vin to attributes of tracker
* moved component to new package
* added service description
* fixed static analysis warnings
* implemented first set of code reviews
* removed locking related services
* fixed static analysis warnings
* removed excess blank lines
* refactoring of setup() to resolve warning
"Cell variable bimmer defined in loop (cell-var-from-loop)"
* added missing docstring
* added service to update all vehicles from the server
* implemented changes requested in code review
* added check if invalid vin is entered