Commit graph

10850 commits

Author SHA1 Message Date
Jay Stevens
c94b3a7bf9 Add support for Todoist platform (#9236)
* Added basic Todoist support

Creating a new platform for Todoist - https://todoist.com

* Added more robust support for creating new custom projects.

This means you can now specify things such as 'all tasks due today', 'all tasks due this week', etc.

* Changed logging from warning to info.

* Added label and comment support.

* Added support for overdue tasks.

* Changed logging to info instead of warning; fixed labels.

* Added ability to filter projects by name.

* Rename 'extra_projects' to 'custom_projects'.

* Updated code to follow proper HASS style guidelines.

* Got new_task service running.

* Update .coveragerc.

* Remove old try-catch block.

This is left over from before we validated the inputs using the service schema.

* Updated to use PLATFORM_SCHEMA.

* Updated component to use Todoist API.

* Removed commented-out code.

This also removes functionality regarding finding out how many comments a task has.
This functionality may be added back in the future.

* Clarified TodoistProjectData, removed fetching comments.

* Fixed bug where projects were grabbing all tasks.

* Fixed bug where due dates were being ignored.

* Removed debug logging.

* Fixed linter errors.

* Fixed Todoist docstring to be in line with HASS' style rules.

* Organized imports.

* Fixed voluptuous schema.

* Moved ID lookups into .

* Moved ID lookups into setup_platform.

* Cleaned up setup_platform a bit.

* Cleaned up Todoist service calls.

* Changed debug logging level.

* Fixed issue with configuration not validating.

* Changed from storing the token to storing an API instance.

* Use dict instead of Project object.

* Updated to use list comprehension where possible.

* Fixed linter errors.

* Use constants instead of literals.

* Changed logging to use old-style string formatting.

* Removed unneeded caching.

* Added comments explaining 'magic' strings.

* Fixed bug where labels were always on the whitelist.

* Fixed linter error.

* Stopped checking whitelist length explicitly.
2017-09-14 07:27:12 +02:00
spektren
28d312803b full RGB support for users of tradfri GW (#9411)
* Update tradfri.py

## 201709013: set_hex_color() seems not to work in pytradfri api - set_rgb_color() does 
## -> changed function set_hex_color() to set_rgb_color() 
## tested w. IKEA tradfri GW and zigbee rgb PWM module (dresden elektronik FLS-PP lp)

* Update tradfri.py

Setup: 
Home Assistant 0.53.0
pytradfri 2.2 
IKEA tradfri gateway fw 1.1.0015
zigbee rgb PWM module (dresden elektronik FLS-PP lp) 

Issue: 
pytradfri's set_hex_color() does not work for arbitrary colors with the current IKEA tradfri gateway. Only setting rgb hex values (param 5706) of some predefined colors has the desired effect. Others will fall back to one predefined value. I assume, the GW doesn't allow for values deviating from the predefined values. 

However, pytradfri's set_rgb_color() does also work for arbitrary colors. Latest pytradfri (2.2/PR51?) will convert rgb to xy and send xy thru the GW (param 5709 and 5710). 

 -> changed the function used from set_hex_color() to set_rgb_color() in HA's component\light\tradfri

Result: 
Full RGB support with arbitrary colors with my setup. 

Unfortunately I cannot test tradfri GW with other bulbs (no have hue/lightify bulbs). 
___ 

Predefined colors from <https://github.com/ggravlingen/pytradfri/pull/51>: 
 this.f3891b = new HashMap();
        this.f3891b.put("f5faf6", new C1386c(0.3804d, 0.3804d, "f5faf6", 0.54d));
        this.f3891b.put("f1e0b5", new C1386c(0.4599d, 0.4106d, "CCT_LIGHT_NEUTRAL", 0.61d));
        this.f3891b.put("efd275", new C1386c(0.5056d, 0.4152d, "efd275", 0.66d));
        this.f3891b.put("dcf0f8", new C1386c(0.3221d, 0.3317d, "dcf0f8", 0.45d));
        this.f3891b.put("eaf6fb", new C1386c(0.3451d, 0.3451d, "eaf6fb", 0.48d));
        this.f3891b.put("f5faf6", new C1386c(0.3804d, 0.3804d, "f5faf6", 0.54d));
        this.f3891b.put("f2eccf", new C1386c(0.4369d, 0.4041d, "f2eccf", 0.59d));
        this.f3891b.put("CCT_LIGHT_NEUTRAL", new C1386c(0.4599d, 0.4106d, "CCT_LIGHT_NEUTRAL", 0.61d));
        this.f3891b.put("efd275", new C1386c(0.5056d, 0.4152d, "efd275", 0.66d));
        this.f3891b.put("ebb63e", new C1386c(0.5516d, 0.4075d, "ebb63e", 0.68d));
        this.f3891b.put("e78834", new C1386c(0.58d, 0.38d, "e78834", 0.69d));
        this.f3891b.put("e57345", new C1386c(0.58d, 0.35d, "e57345", 0.67d));
        this.f3891b.put("da5d41", new C1386c(0.62d, 0.34d, "da5d41", 0.7d));
        this.f3891b.put("dc4b31", new C1386c(0.66d, 0.32d, "dc4b31", 0.73d));
        this.f3891b.put("e491af", new C1386c(0.5d, 0.28d, "e491af", 0.57d));
        this.f3891b.put("e8bedd", new C1386c(0.45d, 0.28d, "e8bedd", 0.53d));
        this.f3891b.put("d9337c", new C1386c(0.5d, 0.24d, "d9337c", 0.55d));
        this.f3891b.put("c984bb", new C1386c(0.34d, 0.19d, "c984bb", 0.38d));
        this.f3891b.put("8f2686", new C1386c(0.31d, 0.12d, "8f2686", 0.33d));
        this.f3891b.put("4a418a", new C1386c(0.17d, 0.05d, "4a418a", 0.18d));
        this.f3891b.put("6c83ba", new C1386c(0.2d, 0.1d, "6c83ba", 0.22d));
        this.f3891b.put("a9d62b", new C1386c(0.4099999964237213d, 0.5099999904632568d, "a9d62b", 0.654d));
        this.f3891b.put("d6e44b", new C1386c(0.44999998807907104d, 0.4699999988079071d, "d6e44b", 0.65d));
2017-09-13 22:24:46 -07:00
Antony Messerli
07cb7b3d54 Bump uvcclient to 0.10.1 to work with beta NVR releases (#9423) 2017-09-13 22:21:58 -07:00
Tor Magnus
5b453ca53a Added more devices and types to onewire (#9404)
* Added more devices and sensor types.

* flake8 fixes

* Resolved feedback in pull https://github.com/home-assistant/home-assistant/pull/9404

* Fixed issue where values would get mixed up across restarts of HA
2017-09-13 22:14:38 -07:00
morberg
b21bfe50d7 Add LC_CTYPE to environment variables in macOS (#9227)
* Add LANG to environment variables

Some componentes, e.g. tradfri, will not work properly unless LANG is an UTF-8 environment.

* Set LC_CTYPE to UTF-8
2017-09-13 21:35:25 -07:00
Ted Drain
411c9620c1 Added log-file command line flag (#9422) 2017-09-13 21:22:42 -07:00
Lukas Barth
89d6784fa0 Fix copy&paste mistake (#9378) 2017-09-13 17:00:46 +02:00
Paul Sokolovsky
d90801f6dd components/xiaomi: Add initial discovery using NetDisco. (#9283)
There's a kind of duplication of functionality between NetDisco and
"xiaomi" component, the latter features its own "discovery" in addition
to general HomeAssistant discovery service, based on NetDisco. As such,
this patch is pretty simple: the only purpose of NetDisco discovery
is "plug and play", "zero configuration" discovery that Xiaomi Gateway
device is present on the local network, and triggering of "xiaomi"
component loading, which then "rediscovers" the gateway using its own
method.
2017-09-12 20:44:42 -07:00
Paulus Schoutsen
2c8967d0d5 Update netdisco to 1.2.0 (#9408) 2017-09-12 20:43:35 -07:00
Pierre Ståhl
f5ffef3f72 Support specifying no Apple TVs (#9394) 2017-09-12 19:57:31 -07:00
happyleavesaoc
c8da95c1e8 fix mopar sensor (#9389)
* fix mopar sensor

* fix typo

* bump mopar dep version
2017-09-12 19:50:28 -07:00
Fabian Affolter
fdf2d24a8b Upgrade psutil to 5.3.1 (#9403) 2017-09-13 00:54:25 +02:00
Paulus Schoutsen
05192e678e Break up Alexa per functionality (#9400)
* Break up Alexa per functionality

* Lint

* Lint
2017-09-12 21:24:44 +02:00
Jeff McGehee
29b62f814f Allow multiple observations of same entity (#9391)
* Allow multiple observations of same entity

Why:

* There may be different probabilities for multiple states of the same
entity.

This change addresses the need by:

* Keeping a list of observations for each entity to check on each state
change of the given entity.
* Adding a numeric id to each observation so that they can be
effectively added and removed from `self.current_obs`.
* Adding a test to confirm functionality.

* fix overzealous indenting
2017-09-12 18:52:09 +02:00
Paulus Schoutsen
c9fc3fae6e Update cloud auth (#9357)
* Update cloud logic

* Lint

* Update test requirements

* Address commments, fix tests

* Add credentials
2017-09-12 18:47:04 +02:00
Pascal Vizeli
90f9a6bc0a Cleanup and simplitfy the async state update (#9390)
* Cleanup and simplitfy the async state update

* Update test_entity.py
2017-09-12 10:01:03 +02:00
Paulus Schoutsen
1afdde61e8 Merge pull request #9395 from home-assistant/release-0-53-1
0.53.1
2017-09-11 22:43:56 -07:00
viswa-swami
2a8620f806 Fixing foscam library dependency/requirements (#9387)
* Added support to enable/disable motion detection for foscam cameras. This support was added in 0.48.1 as a generic service for cameras. Motion detection can be enabled/disabled for foscam cameras with this code-set.

* Fixed the violation identified by hound-bot

* Fixed the comment posted by HoundCI-Bot regarding using imperative mood statement for pydocstyle

* Fixed the error that travis-ci bot found.

* As per comment from @balloob, Instead of directly using the URL to talk to foscam, used a 3rd party foscam library to communicate with it. This library already has support to enable/disable motion detection and also APIs to change the motion detection schedule etc. Need to add more support in the pyfoscam 3rd party library for checking if motion was detected or even if sound was detected. Once that is done, we can add that into HASS as well.

* Lint

* Removed the requests library import which is not used anymore

* Updating requirements_all.txt based on the code-base of home assistant that i have. Generated using the gen_requirements_all.py script

* Updating requirements_all.txt and requirements_test_all.txt generated by gen_requirements_all.py after latest pull from origin/dev

* Updated requirements_all.txt with script

* Updated the foscam camera code to fix lint errors

* Fixed houndci violation

* Updating the foscam library dependency/requirements.

* Fixing the requirements_all file. Somehow when i generated, it generated duplicate entry for the same dependency
2017-09-11 21:53:20 -07:00
Alok Saboo
804d06d0d3 Fixes #9379 - Added additional string check in Wunderground sensor (#9380)
* Added additional string check

* optimaze
2017-09-11 21:53:20 -07:00
Mike Christianson
202d4d8105 Fixes #9353 (#9354)
Follow [Twitter's guidance](https://dev.twitter.com/rest/reference/post/media/upload-finalize) for media uploads: "If and (only if) the response of the FINALIZE command contains a processing_info field, it may also be necessary to use a STATUS command and wait for it to return success before proceeding to Tweet creation."
2017-09-11 21:53:19 -07:00
Paulus Schoutsen
04dccb4246 Version bump to 0.53.1 2017-09-11 21:53:01 -07:00
Paulus Schoutsen
7f5c4cd1e5 Update frontend 2017-09-11 21:52:48 -07:00
Paulus Schoutsen
c84a099b0f Update frontend 2017-09-11 21:50:33 -07:00
viswa-swami
659dc2e557 Fixing foscam library dependency/requirements (#9387)
* Added support to enable/disable motion detection for foscam cameras. This support was added in 0.48.1 as a generic service for cameras. Motion detection can be enabled/disabled for foscam cameras with this code-set.

* Fixed the violation identified by hound-bot

* Fixed the comment posted by HoundCI-Bot regarding using imperative mood statement for pydocstyle

* Fixed the error that travis-ci bot found.

* As per comment from @balloob, Instead of directly using the URL to talk to foscam, used a 3rd party foscam library to communicate with it. This library already has support to enable/disable motion detection and also APIs to change the motion detection schedule etc. Need to add more support in the pyfoscam 3rd party library for checking if motion was detected or even if sound was detected. Once that is done, we can add that into HASS as well.

* Lint

* Removed the requests library import which is not used anymore

* Updating requirements_all.txt based on the code-base of home assistant that i have. Generated using the gen_requirements_all.py script

* Updating requirements_all.txt and requirements_test_all.txt generated by gen_requirements_all.py after latest pull from origin/dev

* Updated requirements_all.txt with script

* Updated the foscam camera code to fix lint errors

* Fixed houndci violation

* Updating the foscam library dependency/requirements.

* Fixing the requirements_all file. Somehow when i generated, it generated duplicate entry for the same dependency
2017-09-11 21:43:55 -07:00
Mike Christianson
10c0744c4a Fixes #9353 (#9354)
Follow [Twitter's guidance](https://dev.twitter.com/rest/reference/post/media/upload-finalize) for media uploads: "If and (only if) the response of the FINALIZE command contains a processing_info field, it may also be necessary to use a STATUS command and wait for it to return success before proceeding to Tweet creation."
2017-09-11 21:37:36 -07:00
felix schwenzel
51ff6009a3 typo in waypoint import topic preventing waypoint import (#9338)
owntracks (tested on ios version 9.6.3/de_DE) publishes single waypoints under the topic owntracks/<user>/<device>/waypoint (singular).
owntrack publishes a waypoint export (publish) under the topic owntracks/<user>/<device>/waypoints (plural).

the owntracks component did not catch my waypoint export to mqtt, only single waypoint updates (i.e. after editing a waypoint or creating a new one). these single waypoints were rejected „because of missing or malformatted data“. when i changed the WAYPOINT_TOPIC to 'owntracks/{}/{}/waypoints', owntracks imported my published waypoint list, after i triggered it under Setting / Publish Waypoints.
2017-09-11 23:20:09 +02:00
Alok Saboo
6d01838632 Fixes #9379 - Added additional string check in Wunderground sensor (#9380)
* Added additional string check

* optimaze
2017-09-11 22:57:40 +02:00
Matt White
31f189da82 Added mqtt_statestream component (#9286)
* Added mqtt_statestream component

* Added tests for mqtt_statestream component

* mqtt_statestream: add test for valid new_state

* mqtt_statestream: Don't set initialized state

* mqtt_statestream: Switch to using async_track_state_change

* Cleanup
2017-09-11 22:08:12 +02:00
Alok Saboo
c7ecebfd07 Round off probability to 2 decimals. (#9365)
* Round off probablity to 2 decimals.

* Update tests

* remove debug print
2017-09-11 21:14:51 +02:00
John Arild Berentsen
cc1979691e Add polling interval service and setting available through zwave node entity panel (#9056)
* Add polling interval to value panel

* Blank lines removal

* Update tests

* Remove old config method

* Raound 1

* Round 2

* Comment spacing

* Expose value_id in attributes
2017-09-11 20:30:48 +02:00
morberg
e2fc9669f0 Add /usr/sbin to PATH (#9364)
The `braviatv`platform needs the `arp` command to finalize configuration. This resides in `/usr/sbin`, at least on macOS 10.10.
2017-09-11 09:31:05 +02:00
David
7307ab878a Bump pywebpush and pyJWT versions (#9355)
* Update html5.py

Bump pywebpush and PyJWT versions

* Update requirements_all.txt

* Update requirements_test_all.txt
2017-09-10 22:25:46 +02:00
Anders Melchiorsen
160c7fc685 Add HTTP Basic auth to RESTful Switch (#9162)
* Add HTTP Basic auth to RESTful Switch

* Remove redundant hass passing

* Initialize to current state

The state used to be None until the first periodic poll.

This commit refactors async_update so it can be used during setup as well,
allowing the state to start out with the correct value.

* Refactor turn_on/turn_off device communication

* Remove lint

* Fix Travis errors
2017-09-09 10:20:48 -07:00
Paulus Schoutsen
313a9e3984 Merge branch 'master' into dev 2017-09-09 00:53:00 -07:00
Paulus Schoutsen
ba310d3bd1 Version bump to 0.54.0.dev0 2017-09-09 00:52:47 -07:00
Paulus Schoutsen
3f2eba0932 Version bump to 0.53 2017-09-09 00:51:52 -07:00
Paulus Schoutsen
2d72cff575 Merge pull request #9327 from home-assistant/release-0-53
0.53
2017-09-09 00:31:53 -07:00
John Mihalic
3065575777 Bump pyHik version to add IO support (#9341) 2017-09-09 00:06:57 -07:00
Paulus Schoutsen
74bfcde814 Cleanup input_text (#9326) 2017-09-09 00:06:57 -07:00
Aaron Bach
c539b5c12b Adds the AirVisual air quality sensor platform (#9320)
* Adds the AirVisual air quality sensor platform

* Updated .coveragerc

* Removed some un-needed code

* Adding strangely-necessary pylint disable

* Removing a Python3.5-specific dict combiner method

* Restarting stuck coverage test

* Added units to AQI sensor (to get nice graph)

* Making collaborator-requested changes

* Removing unnecessary parameter from data object
2017-09-09 00:06:56 -07:00
Sergey Isachenko
d2d876945b Fix for potential issue with tesla initialization (#9307)
Fix for potential issue with tesla initialization
2017-09-09 00:06:56 -07:00
John Mihalic
2defb85fb2 Bump pyHik version to add IO support (#9341) 2017-09-09 00:06:06 -07:00
Paulus Schoutsen
7036a7845c Update frontend 2017-09-08 23:08:58 -07:00
Paulus Schoutsen
c44972c2c9 Update frontend 2017-09-08 23:08:38 -07:00
Paulus Schoutsen
fc7ffba9ae Merge branch 'master' into release-0-53 2017-09-08 21:52:29 -07:00
Paulus Schoutsen
5ec5552803 Cleanup input_text (#9326) 2017-09-08 21:19:49 -07:00
Aaron Bach
d1ef47384d Adds the AirVisual air quality sensor platform (#9320)
* Adds the AirVisual air quality sensor platform

* Updated .coveragerc

* Removed some un-needed code

* Adding strangely-necessary pylint disable

* Removing a Python3.5-specific dict combiner method

* Restarting stuck coverage test

* Added units to AQI sensor (to get nice graph)

* Making collaborator-requested changes

* Removing unnecessary parameter from data object
2017-09-08 16:05:51 +02:00
Sergey Isachenko
3b2bf1d567 Fix for potential issue with tesla initialization (#9307)
Fix for potential issue with tesla initialization
2017-09-07 18:20:27 +02:00
Julius Mittenzwei
77d0ad1797 Stable and asynchronous KNX library. (#8725)
* First draft of XKNX module for Home-Assistant

* XKNX does now take path of xknx.yaml as parameter

* small fix, telegram_received_callback has different signature

* changed method of registering callbacks of devices

* removed non async command lines from xknx

* telegram_received_cb not needed within HASS module

* updated requirements

* Configuration if XKNX should connect via Routing or Tunneling

* bumping version to 0.6.1

* small fix within xknx plugin

* bumped version

* XKNX-Switches are now BinarySensors and Logic from Sensor was moved to BinarySensor

* renamed Outlet to Switch

* pylint

* configuration of KNX lights via HASS config, yay!

* changed name of attribute

* Added configuration for xknx to switch component

* added support for sensors within hass configuration

* added support for climate within hass configuration

* Thermostat -> Climate

* added configuration support for binary_sensors

* renamed Shutter to Cover

* added configuration support for cover

* restructured file structure according to HASS requirements

* pylint

* pylint

* pylint

* pylint

* pylint

* pylint

* updated version

* pylint

* pylint

* pylint

* added setpoint support for climate devices

* devices are now in a different module

* more asyncio :-)

* pydocstyle

* pydocstyle

* added actions to binary_sensor

* allow more than one automation

* readded requirement

* Modifications suggested by hound

* Modifications suggested by hound

* Modifications suggested by hound

* Modifications suggested by hound

* xknx now imported as local import

* hound *sigh*

* lint

* 'fixed' coverage.

* next try for getting gen_requirements_all.py working

* removed blank line

* XKNX 0.7.1 with logging functionality, replaced some print() calls with _LOGGER

* updated requirements_all.txt

* Fixes issue https://github.com/XKNX/xknx/issues/51

* https://github.com/XKNX/xknx/issues/52 added raw access to KNX bus from HASS component.

* bumped version - 0.7.3 contains some bugfixes

* bumped version - 0.7.3 contains some bugfixes

* setting setpoint within climate device has to be async

* bumped version to 0.7.4

* bumped version

* https://github.com/XKNX/xknx/issues/48 Adding HVAC support.

* pylint suggestions

* Made target temperature and set point required attributes

* renamed value_type to type within sensor configuration

* Issue https://github.com/XKNX/xknx/issues/52 : added filter functionality for not flooding the event bus.

* suggestions by pylint

* Added notify support for knx platform.

* logging error if discovery_info is None.

* review suggestions by @armills

* line too long

* Using discovery_info to notifiy component which devices should be added.

* moved XKNX automation to main level.

* renamed xknx component to knx.

* reverted change within .coveragerc

* changed dependency

* updated docstrings.

* updated version of xknx within requirements_all.txt

* moved requirement to correct position

* renamed configuration attribute

* added @callback-decorator and async_prefix.

* added @callback decorator and async_ prefix to register_callbacks functions

* fixed typo

* pylint suggestions

* added angle position and invert_position and invert_angle to cover.knx

* typo

* bumped version within requirements_all.txt

* bumped version

* Added support for HVAC controller status
2017-09-07 00:11:55 -07:00
Sebastian Muszynski
9a7089bad3 Platform not ready behavior fixed. (#9325)
Expose the device model as sensor attribute.
Device initialized log message added. Provides device model, firmware and hardware version.
2017-09-07 00:01:59 -07:00