Commit Graph

4423 Commits (b60806583c9892f178c09c9f99ae24772cf9dd3c)

Author SHA1 Message Date
Nolan Gilley 24d2eaa6ca flux platform as a switch ()
* flux platform as a switch

* use track_time_change. broken :(

* use track_utc_time_change instead of track_time_change

* add some basic tests

* use brightness from RGB_to_xy

* config_schema validation

* back to platform schema. what was i doing?

* more broken tests :(

* 644

* fix some time bugs

* add working tests. config validation still not right

* bug fixes and more test cases.
2016-06-01 23:38:19 -07:00
Paulus Schoutsen f868df1035 Fix Norway () 2016-06-01 23:02:46 -07:00
Robbie Trencheny f522d95328 Revert "Report whether SSL is required in discovery" 2016-06-01 22:37:16 -07:00
Robbie Trencheny c856c67790 Report whether SSL is required in discoverables, like /api/discovery_info and ZeroConf () 2016-06-01 19:45:19 -07:00
Paulus Schoutsen 4e064f91fd Merge pull request from home-assistant/forecast-api-calls
Optimize foreacast.io API calls
2016-06-01 17:32:55 -07:00
Fabian Affolter f9e53ca22f Add windows 10 tile () 2016-06-01 14:04:08 -07:00
Paulus Schoutsen f8bdc835f8 Optimize foreacast.io API calls 2016-06-01 09:20:29 -07:00
Fabian Affolter 1f602be80a Remove print (already covered by logger) () 2016-05-31 14:02:31 -07:00
Josh Wright fe4d971427 Re-add config validation for the http component ()
This commit adds back the config validation for the http component. It
was removed during the WSGI shuffle. This is just a direct copy of what
@robbiet480 added in ab294d12f7 (with some testing to verify it still
works).
2016-05-31 14:00:12 -07:00
Paul Philippov e5efc2e430 Improve Internet Time calculation. () 2016-05-31 07:19:00 -07:00
Paulus Schoutsen 537a2a6ef6 Improve index.html template 2016-05-30 23:45:02 -07:00
Paulus Schoutsen 3ac31b2c1b Fix broken tests + linting 2016-05-30 10:19:12 -07:00
Paulus Schoutsen a91f937245 Fix linting issues 2016-05-30 10:08:49 -07:00
Fabian Affolter fed2584d8a Add azimuth ()
* Add azimuth

* Place elevation and azimuth together in update part
2016-05-29 15:03:29 -07:00
Paulus Schoutsen eaa8e5f29d Merge branch 'pr/2139' into dev
Conflicts:
	.coveragerc
2016-05-29 15:02:24 -07:00
Bart274 65fbba0e79 List entity_ids in config and only react to them ()
* List entity_ids in config and only react to them

This allows us to define a list of entity_ids in the config to make the
template sensor, binary sensor and switch only react to state changes of
these entities instead of listening to all state changes.

* Forgot to import the track_state_change function

* Changed test for added entity_ids to config

* Use default MATCH_ALL and remove event_listener
2016-05-29 14:34:21 -07:00
Alexander Fortin 19522b1f39 Feedreader: add file data storage ()
Right now we ignore already parsed entries and store the information
at runtime, but it will not survive a restart. This patch adds storage
functionality storing pickled file into default config folder when
feed has `published_parsed` support.
2016-05-29 14:33:53 -07:00
Jan Harkes afe84c2a8b Allow time condition windows to cross midnight. ()
* Allow time condition windows to cross midnight.

* Address comments.

Fold _in_time_window back into the time() condition test.
Use specific time values to test the time window.
2016-05-29 14:32:32 -07:00
Warren Konkel 952436aa0b Insteon support for brightness ()
* Insteon support for brightness

* Farcy fix for unused constants.

* Remove unused constant and fix whitespace.

* Prevent toggle switches from jumping between states.

* 255 not 256
2016-05-29 14:31:14 -07:00
Olimpiu Rob 8a577c8e0d Added Osram lightify platform ()
* Added Osram Lightify light component

* Added color temperature and fade transition support to Osram Lightify

* Added Osram Lightify light component

* Added color temperature and fade transition support to Osram Lightify

* Updated docstring

* Added osramlightify to ignore list on coveragerc and updated docstrings

* Fixed linting issues
2016-05-29 14:29:49 -07:00
rubund bf940bd1f3 Initial support for EnOcean ()
* Initial support for EnOcean

Tested to work with:
 - Eltako FUD61 dimmer
 - Eltako FT55 battery-less switch
 - Permundo PSC234 (switch and power monitor)

* Rerun gen_requirements_all.py
2016-05-29 14:28:03 -07:00
rubund 03e8627b12 New option for the netatmo platform: station ()
This is necessary if multiple weather stations are associated with
one Netatmo account.
2016-05-29 14:25:11 -07:00
Brent e886303f08 Fixed roku exception when device is powered off or looses connection () 2016-05-29 14:24:06 -07:00
Fabian Affolter 4b0df51b40 Vendorize vincenty requirement () 2016-05-29 11:55:16 -07:00
Paulus Schoutsen 8494ac7cef Update frontend 2016-05-29 09:50:30 -07:00
Paulus Schoutsen 05b2559df8 Update frontend 2016-05-28 23:28:57 -07:00
Paulus Schoutsen 70b74da3eb Update frontend 2016-05-28 18:38:46 -07:00
Paulus Schoutsen 9e0b107991 Update frontend 2016-05-28 11:32:35 -07:00
Paulus Schoutsen 92d05ccb5c Fix lint errors 2016-05-28 10:52:44 -07:00
Paulus Schoutsen bfdb51a558 Bugfixes for urls with dates 2016-05-28 10:37:22 -07:00
Paulus Schoutsen e10b00f341 Update frontend 2016-05-27 21:45:38 -07:00
Paulus Schoutsen cd87c40bbf Update frontend 2016-05-27 01:29:48 -07:00
Paulus Schoutsen d02bc3deaa Update frontend gzip 2016-05-26 23:08:15 -07:00
Paulus Schoutsen 1798df7686 Handle invalid dev ids for dev tracker + owntracks () 2016-05-26 21:49:44 -07:00
ntouran d505398917 Locked in required version of python-lirc for LIRC component 2016-05-26 07:53:17 -07:00
s1gnalrunner 70d6ce5b79 Fixed issue with edimax SP-1101 switches ()
* Fixed issue with edimax SP-1101 switches

* Added missing ValueError exception
2016-05-26 05:53:10 -07:00
Daniel Høyer Iversen 71452c11c1 Fix bug in google travel time. Default option dictionary must contain mode. () 2016-05-26 05:52:17 -07:00
ntouran e30f2bf912 Cleanups to LIRC module 2016-05-25 22:26:00 -07:00
ntouran 262d95b7b1 Merge remote-tracking branch 'origin/dev' into lirc 2016-05-25 09:21:58 -07:00
William Scanlon ca3da0e53e Round temp and percentage for octoprint sensors () 2016-05-25 09:10:59 -07:00
Fabian Affolter 49882255c4 Upgrade astral to 1.1 () 2016-05-25 09:10:08 -07:00
Scott Bartuska 3db31cb951 Update PyISY to 1.0.6 ()
* Update PyISY to 1.0.6 

1.0.6 is the newest version of PyISY

* PyISY to 1.0.6
2016-05-25 09:09:40 -07:00
Paulus Schoutsen 415cfc2537 WSGI: Hide password in logs ()
* WSGI: Hide password in logs

* Add auth + pw in logs tests
2016-05-24 23:19:37 -07:00
wokar 88bb136813 lg_netcast: fix exception on missing access_token ()
* specified default value for acccess_token to prevent exception on init
2016-05-24 08:36:40 -07:00
Paulus Schoutsen 4cecc626f4 manifest.json: remove trailing commas 2016-05-23 22:45:35 -07:00
ntouran 09161ae615 Moved lirc out of sensor package. 2016-05-23 21:36:48 -07:00
ntouran c1f96aabb0 Changed LIRC component so that it just fires events on the bus. 2016-05-23 21:26:49 -07:00
Jan Harkes dc8e55fb8b Don't even bother trying to kill stray child processes.
When we change our process group id we don't get keyboard interrupt
signals passed if our parent is a bash script.
2016-05-23 23:30:41 -04:00
Josh Wright 712c51e283 Fix TLS with eventlet ()
* Fix TLS with eventlet

This fixes a simple error on my part when implementing the WSGI stuff.

eventlet.wrap_ssl() returns a wrapped socket, it does not modify the
object passed to it. We need to grab the returned value and use that.

* Fix style issue
2016-05-23 17:39:55 -07:00
Robbie Trencheny c96f73d1be If we have duration_in_traffic use that as the state, otherwise use duration 2016-05-23 14:05:12 -07:00
Robbie Trencheny b3afb386b7 If no departure time is set, use now as the default. If departure time is set but does not have a :, assume its a preformed Unix timestamp and send along as raw input. Assume same for arrival_time. 2016-05-23 13:48:47 -07:00
ntouran 4e5b5f2204 LIRC: Responded to some code review requests but not the big one 2016-05-22 22:19:10 -07:00
Paulus Schoutsen 98de7c9287 Upgrade eventlet to 0.19 2016-05-22 20:14:46 -07:00
ntouran 80e60efd8f Removed LIRC dependency from requirements due to "complex" compliation
User will have to install lirc and python-lirc manually.
2016-05-22 16:28:20 -07:00
ntouran 40bc49aaae Added LIRC component for responding to IR remote commands 2016-05-22 14:15:09 -07:00
Jan Harkes 05946ae5a2 Ignore assertions from python threading when looking for leaked threads. ()
While looking for leaked resources (threads) after shutdown and before restart
we in some cases get an assertion in the python threading module where we find
a thread marked as running at the python level but it has no associated thread
at the C level.
2016-05-22 00:35:33 -04:00
Paulus Schoutsen c7cc045acd Use only 1 event listener for event stream. 2016-05-21 18:24:03 -07:00
Paulus Schoutsen 4d5eb0e3fc EventStream to sent ping on start to notify browser 2016-05-21 16:31:22 -07:00
Paulus Schoutsen ec4fe7e6e6 update frontend gz 2016-05-21 16:00:59 -07:00
Paulus Schoutsen 3bbdd9fedd Remove unused import 2016-05-21 15:01:55 -07:00
Paulus Schoutsen 2ed135439a Remove gzip API 2016-05-21 15:01:35 -07:00
Paulus Schoutsen 1750b22e59 Gzip all the things 2016-05-21 15:01:35 -07:00
Paulus Schoutsen 9c5e7a9584 Add gzip for static resources 2016-05-21 15:01:35 -07:00
Paulus Schoutsen 548d415f94 Clean up EventStream 2016-05-21 15:01:35 -07:00
Paulus Schoutsen 9aa9e57890 Cleanup 2016-05-21 15:01:35 -07:00
Paulus Schoutsen 794ff20987 Get EventStream working 2016-05-21 15:01:34 -07:00
Paulus Schoutsen fe794d7fd8 Access camera images using access token 2016-05-21 15:01:34 -07:00
Paulus Schoutsen 585fbb1c02 Cache files in static folder for a year 2016-05-21 15:01:34 -07:00
Paulus Schoutsen e4b697b1ed Generate gzip for frontend/mdi 2016-05-21 15:01:34 -07:00
Paulus Schoutsen de5533e3c2 Fix auth frontend 2016-05-21 15:01:34 -07:00
Paulus Schoutsen 5aa0158761 Add url validators 2016-05-21 15:01:34 -07:00
Paulus Schoutsen 4d7555957c Fix camera 2016-05-21 15:01:34 -07:00
Josh Wright aa34fe15b2 Friendlier exceptions for misconfigured views
If a view is missing a url or name attribute, this will result
in a more actionable exception being raised.
2016-05-21 15:01:34 -07:00
Paulus Schoutsen 1096232e17 More WIP 2016-05-21 15:01:34 -07:00
Josh Wright 54ecab7590 Improve view registration comments
Clarify that HomeAssistantWSGI.register_view() can handle either instantiated or uninstantiated view classes.
2016-05-21 15:01:33 -07:00
Paulus Schoutsen 15e329a588 Tons of fixes - WIP 2016-05-21 15:01:33 -07:00
Paulus Schoutsen 768c98d359 Fix import issues 2016-05-21 15:01:02 -07:00
Josh Wright 6490378de3 Add some missing view registrations 2016-05-21 15:01:01 -07:00
Josh Wright d0320a9099 WIP: Add WSGI stack
This is a fair chunk of the way towards adding a WSGI compatible stack
for Home Assistant. The majot missing piece is auth/sessions. I was
undecided on implementing the current auth mechanism, or adding a new
mechanism (likely based on Werkzeug's signed cookies).

Plenty of TODOs...
2016-05-21 15:01:01 -07:00
Paulus Schoutsen 9116eb166b Version bump to 0.21.0.dev0 2016-05-21 14:19:06 -07:00
Paulus Schoutsen ab60b32326 Update frontend 2016-05-21 14:06:07 -07:00
Paulus Schoutsen 5bedf5d604 Upgrade Nest to 2.9.2 () 2016-05-21 11:57:33 -07:00
Ardi Mehist d8c1959715 Add support for Logentries ()
* Add support for Logentries

Supports sending has events to Logentries web hook endpoint
see logentries.com for more

Inspired by the Splunk component

* bugfix

* fix summary

* fix test

* fix logentries url and tests

* update tests

* mock token

* Bug fixes

* typo

* typo

* fix string splitting

* remove redundant backslash
2016-05-21 11:21:23 -07:00
Robbie Trencheny 0f1c4d2f8c GTFS fixes ()
* Change to official PyGTFS source

* Threading fixes for GTFS

* Actually pygtfs 0.1.3

* Update requirements_all.txt

* Update gtfs version
2016-05-21 11:04:18 -07:00
Igor Shults 3ce6c732ab Fix hvac z-wave fan list ()
*  Fix hvac z-wave fan list

* Properly name methods
2016-05-21 10:56:20 -07:00
Nolan Gilley 191fc8f8d4 Change color_RGB_to_xy formula & return brightness ()
* Use RGB to XY calculations from Philips Hue developer site

* uppercase X,Y,Z

* rename cx,cy to x,y

* return brightness in color_RGB_to_xy

* remove try/catch

* update existing platforms using color_RGB_to_xy

* improve wemo w/ jaharkes suggestion

* allow brightness override of rgb_to_xy
2016-05-21 10:19:27 -07:00
Johann Kellerman 31c2d45a7a Updated pyqwikswitch & QS<->HA UI behaviour ()
* Updated pyqwikswitch & constants

* Disable too-many-locals
2016-05-21 10:12:42 -07:00
Dan dee6355cc5 Onkyo updates ()
* use sane defaults for openzwave config

Use sane default if libopenzwave is installed. In most cases this will
mean that the zwave config path will not need to e manually specified.

* Resuming work on onkyo component

* Source control added to UI for onkyo receiver

Source will now display in the UI. Source mappings can be defined in the
config, and a rudimentary mapping is defined by default as a fallback.
When the onkyo source is updated, it will resolve to a defined name if
possible. This may break existing automations.

* fix lint errors

* Updated Onkyo receiver

Now takes an optional ip/name in additional to atempting to discover
deivces.

Source select will now take a sources mapping in the config. It will
provide default values if no source mapping is provided.

example:

- platform: onkyo
  host: 10.0.0.2
  name: receiver
  sources:
    HTPC: 'pc'
    Chromecast: 'aux1'
    Bluray: 'bd'
    Wii U: 'game'

* fix pylint error

* Use HA's error log instead of stack trace

* Flipped source mappings, code cleanup
2016-05-21 10:04:08 -07:00
Felix eaebe83429 Moldindicator Sensor ()
* Adds MoldIndicator sensor platform

This sensor may be used to get an indication for possible mold growth in rooms.
It calculates the humidity at a pre-calibrated indoor point (wall, window).

* Automatic conversion to Fahrenheit for mold_indicator

* Minor change to critical temp label

* Fixed docstrings and styles

* Minor changes to MoldIndicator implementation

* Added first (non-working) implementation for mold_indicator test

* Small style changes

* Minor improvements to mold_indicator

* Completed unit test for mold indicator

* Fix to moldindicator initialization

* Adds missing period. Now that really matters..

* Adds test for sensor_changed function
2016-05-21 09:58:59 -07:00
Fabian Affolter 7f0b8c5e70 Docs ()
* Add link to docs

* Update link
2016-05-21 16:59:52 +02:00
Jan Harkes 53d51a467d Single process restart fixes ()
* Ignore permission errors on setpgid.

When launched in a docker container we got a permission denied error
from setpgid.

* Don't fail if we find our own pidfile.

When we restart using exec we are running a new instance of home-assistant with
the same process id so we shouldn't be surprised to find an existing pidfile in
that case.

* Allow restart to work when started as python -m homeassistant.

When we are started with `python -m homeassistant`, the restart command line
becomes `python /path/to/hass/homeassistant/__main__.py`. But in that case the
python path includes `/path/to/hass/homeassistant` instead of `/path/to/hass`
and we fail on the first import.

Fix this by recognizing `/__main__.py` as part of the first argument and
injecting the proper path as PYTHONPATH environment before we start the new
home-assistant instance.
2016-05-20 11:45:16 -07:00
Alexander Fortin 7eeb623b8f Add media_player.sonos_group_players service ()
Sonos platform supports a `party mode` feature that groups all
available players into a single group, of which the calling player
will be the coordinator.
2016-05-20 09:54:15 -07:00
Jan Harkes 6b724f7da4 Not sure why, but this fixed a bad filedescriptor error. () 2016-05-20 07:03:08 -07:00
Alexander Fortin a4409da700 Add add_uri_to_queue support to (sonos) media player ()
Sonos (SoCo) supports add_uri_to_queue capability, making it possible
to stream media available via HTTP for example. This patch extends
media_player component and sonos platform to support this feature
2016-05-19 23:30:19 -07:00
John Arild Berentsen 1eb3181c14 Fix fitbit KeyError ()
* Fix fitbit KeyError

* Set units compared to temperature_unit

* Pass true or false for is_metric
2016-05-19 23:28:53 -07:00
wokar f7b401a20e Added the lg_netcast platform to control a LG Smart TV running NetCast 3.0 or 4.0 ()
* Added the `lgtv` platform to control a LG Smart TV running NetCast 3.0
(LG Smart TV models released in 2012) and NetCast 4.0 (LG Smart TV models released in 2013).

* Fixed multi-line docstring closing quotes

* Rename lgtv to lg_netcast

* Rename lgtv to lg_netcast

* Extracted class to control the LG TV into a separate Python package 'pylgnetcast' and changed requirements accordingly.

* regenerated requirements_all.txt with script

* now uses pylgnetcast v0.2.0 which uses the requests package for the communication with the TV

* fixed lint error: Catching too general exception Exception
2016-05-19 23:27:47 -07:00
Jan Harkes 5f92ceeea9 Allow for restart without using parent/child processes. ()
* Allow for restart without using parent/child processes.

Assuming that we normally correctly shut down running threads and
release resources, we just do some minimal scrubbing of open file
descriptors and child processes which would stay around across an
exec() boundary.

* Use sys.executable instead of multiprocessing.spawn.get_executable()

* Limit how many file descriptors we try to close.

Don't even try to close on OSX/Darwin until we figure out how to
recognize guarded fds because the kernel will yell at us, and kill
the process.

* Use the close on exec flag on MacOS to clean up.

* Introduce a small process runner to handle restart on windows.

* Handle missing signal.SIGHUP on Windows.
2016-05-19 23:20:59 -07:00
Per Sandström f0f1fadee1 redirect daemon file descriptors () 2016-05-19 23:20:07 -07:00
pavoni 62de16804b Bump loop energy library version. 2016-05-19 17:12:19 +01:00
pavoni 8ff9506138 Ignore acc: 0 updates. 2016-05-19 16:16:43 +01:00