Commit Graph

2079 Commits (2de1193fd96cb8e41f738122d27cf57518c91025)

Author SHA1 Message Date
Paulus Schoutsen 8ec550d6e0 Storage entity registry ()
* Split out storage delayed write

* Update code using delayed save

* Fix tests

* Fix typing test

* Add callback decorator

* Migrate entity registry to storage helper

* Make double loading protection easier

* Lint

* Fix tests

* Ordered Dict
2018-08-18 13:34:33 +02:00
Steven Looman 839b58c600 Working on IGD 2018-08-17 21:28:29 +02:00
Paulus Schoutsen 834077190f
Clean up input-datetime () 2018-08-16 22:17:14 +02:00
Paulus Schoutsen 1ff1639cef
More entity service ()
* Camera use entity service

* Convert climate services

* Convert light

* Convert media player

* Migrate fan
2018-08-16 14:28:59 +02:00
Paulus Schoutsen e776f88eec
Use JWT for access tokens ()
* Use JWT for access tokens

* Update requirements

* Improvements
2018-08-14 21:14:12 +02:00
Paulus Schoutsen 6540d2e073
Switch to intermediate Mozilla cert profile ()
* Allow choosing intermediate SSL profile

* Fix tests
2018-08-14 08:20:17 +02:00
Charles Garwood 39647a15ae Add monitored conditions for Unifi device_tracker ()
* Add support for monitored_conditions for attributes

* Update unifi tests

* Add list of available attrs
2018-08-13 21:18:25 +02:00
Jason Hu 50daef9a52 Add context to login flow ()
* Add context to login flow

* source -> context

* Fix unit test

* Update comment
2018-08-13 11:27:18 +02:00
Jason Hu 45f12dd3c7 MQTT embedded broker has to set its own password. () 2018-08-13 11:26:06 +02:00
Jason Hu 272be7cdae Remove remote.API from core.Config ()
* Use core.ApiConfig replace remote.API in core.Config

* Move ApiConfig to http
2018-08-13 09:26:20 +02:00
cgtobi 055e35b297 Add RMV public transport sensor ()
* Add new public transport sensor for RMV (Rhein-Main area).

* Add required module.

* Fix naming problem.

* Add unit test.

* Update dependency version to 0.0.5.

* Add new requirements.

* Fix variable name.

* Fix issues pointed out in review.

* Remove unnecessary code.

* Fix linter error.

* Fix config value validation.

* Replace minutes as state by departure timestamp. (see ##14983)

* More work on the timestamp. (see ##14983)

* Revert timestamp work until  gets merged.

* Simplify product validation.

* Remove redundant code.

* Address code change requests.

* Address more code change requests.

* Address even more code change requests.

* Simplify destination check.

* Fix linter problem.

* Bump dependency version to 0.0.7.

* Name variable more explicit.

* Only query once a minute.

* Update test case.

* Fix config validation.

* Remove unneeded import.
2018-08-10 19:35:09 +02:00
Robert Svensson 81604a9326 deCONZ - Add support for sirens ()
* Add support for sirenes

* Too quick...

* Fix test

* Use siren instead of sirene
2018-08-10 19:22:12 +02:00
Paulus Schoutsen 0ab3e7a92a
Add IndieAuth 4.2.2 redirect uri at client id ()
* Add IndieAuth 4.2.2 redirect uri at client id

* Fix tests

* Add comment

* Limit to first 10kB of each page
2018-08-10 18:09:42 +02:00
Paulus Schoutsen 9512bb9587
Add and restore context in recorder () 2018-08-10 18:09:01 +02:00
Jason Hu f58425dd3c Refactor data entry flow ()
* Refactoring data_entry_flow and config_entry_flow

Move SOURCE_* to config_entries
Change data_entry_flow.FlowManager.async_init() source param default
 to None
Change this first step_id as source or init if source is None
_BaseFlowManagerView pass in SOURCE_USER as default source

* First step of data entry flow decided by _async_create_flow() now

* Lint

* Change helpers.config_entry_flow.DiscoveryFlowHandler default step

* Change FlowManager.async_init source param to context dict param
2018-08-09 13:24:14 +02:00
Paulus Schoutsen 99c4c65f69
Add auth/authorize endpoint () 2018-08-09 09:27:54 +02:00
Paulus Schoutsen d071df0dec
Do not make internet connection during tests ()
* Do not make internet connection

* Small improvement
2018-08-07 09:27:40 +02:00
cdce8p f09f153014 Fix HomeKit test ()
* Don't raise NotImplementedError during test
2018-08-07 09:26:58 +02:00
Robin 61721478f3 Add facebox auth ()
* Adds auth

* Update facebox.py

* Update test_facebox.py

* Update facebox.py

* Update facebox.py

* Update facebox.py

* Update facebox.py

* Remove TIMEOUT

* Update test_facebox.py

* fix lint

* Update facebox.py

* Update test_facebox.py

* Update facebox.py

* Adds check_box_health

* Adds test auth

* Update test_facebox.py

* Update test_facebox.py

* Update test_facebox.py

* Update test_facebox.py

* Ups coverage

* Update test_facebox.py

* Update facebox.py

* Update test_facebox.py

* Update facebox.py

* Update test_facebox.py

* Update facebox.py

* Update facebox.py

* Update facebox.py
2018-08-07 07:30:36 +02:00
ahobsonsayers e4b2ae29bd Fix bt_home_hub_5 device tracker ()
* Fix bt_home_hub_5 device tracker

Updated BT Home Hub 5 device tracker component to get it working again. The old parsing method of the DNS table has been broken for a while causing the component to fail to get connected devices. A new parsing method has been implemened and fixes all previous issues.

* Moved part of code to a published PyPi library

* Fixed Violations

* Fixed bugs in device tracker

* Moved API Specific Code to PyPi Repository

* Updated to fit requested changes, removed test as it is no longer valid and updated requirement_all.txt

* Update to fit style requirements and remove redundant code

* Removed Unnecessary Comment
2018-08-06 07:38:02 +02:00
Jason Hu 6f2000f5e2 Make sure use_x_forward_for and trusted_proxies must config together ()
* Make sure use_x_forward_for and trusted_proxies must config together

* Fix unit test
2018-08-03 13:52:34 +02:00
Conrad Juhl Andersen b63312ff2e Vacuum component: start_pause to individual start and pause commands. ()
* Add start and pause to StateVacuumDevice, move start_pause to VacuumDevice

* Updated demo vacuum and tests

* Add a few more tests
2018-08-02 19:49:38 -07:00
Bryan York 38928c4c0e Fix Min/Max Kelvin color temp attribute for Google ()
* Fix Min/Max Kelvin color temp attribute for Google

Max Kelvin is actually Min Mireds and vice-versa. K = 1000000 / mireds

* Update test_smart_home.py

* Update test_trait.py
2018-08-02 22:09:19 +02:00
Conrad Juhl Andersen 2ff5b4ce95 Add support for STATES of vacuums ()
* Vacuum: Added support for STATES

* Added debug logging and corrected state order

* typo

* Fix travis error, STATE = STATE for readability

* status -> state

* Changed to Entity instead of ToogleEntity

* Updated some vacuums

* Revert changes

* Revert Changes

* added SUPPORT_STATE

* Woof?

* Implement on/off if STATE not supported

* Moved new state vaccum to Class StateVacuumDevice

* Error: I should go to bed

* Moved around methods for easier reading

* Added StateVacuumDevice demo vacuum

* Added tests for StateVacuumDevice demo vacuum

* Fix styling errors

* Refactored to BaseVaccum

* Vacuum will now go back to dock

* Class BaseVacuum is for internal use only

* return -> await

* return -> await
2018-08-01 05:51:38 -07:00
Robert Svensson f8a478946e deCONZ - support for power plugs ()
* Initial commit for deCONZ switch support

* Fix hound comment

* Fix martins comment; platforms shouldn't depend on another platform

* Fix existing tests

* New tests

* Clean up unnecessary methods

* Bump requirement to v43

* Added device state attributes to light
2018-08-01 11:03:08 +02:00
Oscar Tin Yiu Lai 623f6c841b Expose internal states and fixed on/off state of Dyson Fans ()
* exposing internal state and fixed onoff state

* fixed styling

* revert file mode changes

* removed self type hints

* better unit test and changed the way to return attributes

* made wolfie happy
2018-07-31 21:38:34 -07:00
Jason Hu 1e5596b594 Remove self type hints ()
* Remove self type hints

* Lint
2018-07-30 12:44:31 +01:00
Alexander Hardwicke 1d68f4e279 Command Line Sensor - json_attributes ()
* Add tests to command_line for json_attrs

* Add json_attrs to command_line

* Remove whitespace on blank line

* Stick to <80 row length

* Use collections.Mapping, not dict

* Rename *attrs to *attributes

* Remove extraneous + for string concat

* Test multiple keys

* Add test

Makes sure the sensor's attributes don't contain a value for a missing key,
even if we want that key.

* Test that unwanted keys are skipped

* Remove additional log line

* Update tests for log changes

* Fix ordering
2018-07-29 08:37:34 +02:00
Jason Hu 93d6fb8c60
Break up components/auth () 2018-07-28 17:54:26 -07:00
Paulus Schoutsen c7f4bdafc0 Context ()
* Add context

* Add context to switch/light services

* Test set_state API

* Lint

* Fix tests

* Do not include context yet in comparison

* Do not pass in loop

* Fix Z-Wave tests

* Add websocket test without user
2018-07-28 17:53:37 -07:00
Richard Orr cd6544d32a Add support for alarm_control_panel to MQTT Discovery. () 2018-07-27 17:16:49 +02:00
Paulus Schoutsen 974fe4d923 Fix frontend tests 2018-07-26 10:25:57 +02:00
Paulus Schoutsen 169c8d793a
Fix CORS duplicate registration () 2018-07-25 11:36:44 +02:00
Jerad Meisner cbb5d34167 Added user credentials to current_user ws endpoint. ()
* Added user credentials to current_user ws endpoint.

* Comments. Added another test.

* Return list of credentials.
2018-07-25 10:34:18 +02:00
Daniel Kalmar 0cc9798c8f Allow defining default turn-on values for lights in the profiles file. ()
* Allow defining default turn-on values for lights in the profiles file.

* Mock out file operations in unit test.

* Fix unit test flakiness.

* Avoid unnecessary copy
2018-07-24 20:29:59 +02:00
Jason Hu 45a7ca62ae
Add turn_on/off service to camera ()
* Add turn_on/off to camera

* Add turn_on/off supported features to camera.

Add turn_on/off service implementation to camera, add turn_on/off
 supported features and services to Demo camera.

* Add camera supported_features tests

* Resolve code review comment

* Fix unit test

* Use async_add_executor_job

* Address review comment, change DemoCamera to local push

* Rewrite tests/components/camera/test_demo

* raise HTTPError instead return response
2018-07-24 10:13:26 -07:00
Paulus Schoutsen d9cf8fcfe8
Allow changing entity ID ()
* Allow changing entity ID

* Add support to websocket command

* Address comments

* Error handling
2018-07-24 14:12:53 +02:00
John Arild Berentsen 1b94fe3613 Add ability to set Zwave protection commandclass ()
* Add API for protection commandclass

* Adjusting

* tests

* Spelling

* Missed flake8

* Period

* spelling

* Review changes

* removing additional .keys()

* period

* Move i/o out into executor pool

* Move i/o out into executor pool

* Forgot get method

* Do it right... I feel stupid

* Long lines

* Merging
2018-07-23 15:31:12 +02:00
Paulus Schoutsen 3204501174
Cast/Sonos: create config entry if manually configured ()
* Cast/Sonos: create config entry if manually configured

* Add test for helper
2018-07-23 15:08:03 +02:00
Paulus Schoutsen 8213b1476f
WIP: Hass.io sent token to supervisor ()
Hass.io sent token to supervisor
2018-07-23 14:14:57 +02:00
Paulus Schoutsen 4e7dbf9ce5
Allow system users to refresh tokens () 2018-07-23 14:06:09 +02:00
Paulus Schoutsen ea2ff6aae3
Use async_create_task ()
* Use async_create_task

* Fix test
2018-07-23 14:05:38 +02:00
Andrey 140a874917 Add typing to homeassistant/*.py and homeassistant/util/ ()
* Add typing to homeassistant/*.py and homeassistant/util/

* Fix wrong merge

* Restore iterable in OrderedSet

* Fix tests
2018-07-23 10:24:39 +02:00
Ville Skyttä b7c336a687 Pylint cleanups ()
* Pylint 2 no-else-return fixes

* Remove unneeded abstract-class-not-used pylint disable
2018-07-23 10:16:05 +02:00
cdce8p 4de847f84e Bugfix HomeKit name and serial_number ()
* Bugfix HomeKit name and serial_number

* Revert serial_number changes
2018-07-22 09:51:42 +02:00
Jason Hu 33f1577dac Frontend component should auto load auth coomponent () 2018-07-22 09:49:58 +02:00
Ryan Davies ee8a815e6b Allow MQTT Switch to have an optional state configuration ()
Switches by default use the payload_on and payload_off configuration parameters to specify both the payload the switch should send for a state but also what will be returned for the current state - which isnt always the same
As a toggle switch might always send an ON or TOGGLE to toggle the switch, but still receive an ON or an OFF for the state topic - This change allows for splitting them apart
2018-07-20 23:04:06 +02:00
Jason Hu f1286f8e6b Reset failed login attempts counter when login success () 2018-07-20 12:09:48 +02:00
Ville Skyttä 2f7b79764a More pylint 2 fixes ()
## Description:

More fixes flagged by pylint 2 that don't hurt to have before the actual pylint 2 upgrade (which I'll submit soon).

## Checklist:
  - [ ] The code change is tested and works locally.
  - [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
2018-07-20 11:45:20 +03:00
Paulus Schoutsen 2fcacbff23
Allow auth providers to influence is_active ()
* Allow auth providers to influence is_active

* Fix auth script test
2018-07-19 22:10:36 +02:00
Jerad Meisner 396895d077 Added WS endpoint for changing homeassistant password. ()
* Added WS endpoint for changing homeassistant password.

* Remove change password helper. Don't require current password.

* Restore current password verification.

* Added tests.

* Use correct send method
2018-07-19 09:39:51 +02:00
Paulus Schoutsen 2a76a0852f
Allow CORS requests to token endpoint ()
* Allow CORS requests to token endpoint

* Tests

* Fuck emulated hue

* Clean up

* Only cors existing methods
2018-07-19 08:37:00 +02:00
Anders Melchiorsen e427f9ee38 RFC: Only use supported light properties ()
* Only use supported light properties

* Fix tests
2018-07-18 12:18:22 +02:00
Pascal Vizeli 058081b1f5 Moon translate ()
* Translate moon

* Create strings.moon.json

* Update moon.py

* Update strings.moon.json

* Update test_moon.py
2018-07-18 10:54:54 +02:00
lich 7d7c2104ea Customizable command timeout ()
* Customizable command timeout

* Change string to int

* update the tests. Do the same thing on the binary_sensor.command_line.
2018-07-17 22:58:30 +02:00
Ville Skyttä e31dd4404e Pylint 2 fixes ()
* pylint 2 inline disable syntax fixes

* pylint 2 logging-not-lazy fixes

* pylint 2 consider-using-in fixes

* Revert pylint 2 inline disable syntax fixes addressing unused-imports

Will have a go at removing more unused imports altogether first.
2018-07-17 19:34:29 +02:00
Paulus Schoutsen b0a3207454
Add onboarding support ()
* Add onboarding support

* Lint

* Address comments

* Mark user step as done if owner user already created
2018-07-17 10:49:15 +02:00
Paulus Schoutsen 8797cb78a9
Add current user WS command () 2018-07-17 09:24:51 +02:00
Paulus Schoutsen 864a254071
Aware comments ()
* Make sure we cannot deactivate the owner

* Use different error code when trying to fetch token for inactive user
2018-07-15 23:09:05 +02:00
Paulus Schoutsen ed0cfc4f31
Add user via cmd line creates owner ()
* Add user via cmd line creates owner

* Ensure access tokens are not verified for inactive users

* Stale print

* Lint
2018-07-15 20:46:15 +02:00
Ville Skyttä 37ccf87516 Remove unnecessary executable permissions () 2018-07-14 23:03:36 +02:00
Jason Antman 6e22a0e4d9 Fix ZWave RGBW lights not producing color without explicit white_value ()
* Fix ZWave RGBW lights not producing color without explicit white_value ()

* simplify conditional in previous commit ()

* ZwaveColorLight - only zero _white if white_value not specified in call ()
2018-07-14 00:54:15 +02:00
Paulus Schoutsen 538236de8f Fix formatting pylint comments in test () 2018-07-13 23:02:23 +02:00
Paulus Schoutsen 70fe463ef0
User management ()
* User management

* Lint

* Fix dict

* Reuse data instance

* OrderedDict all the way
2018-07-13 15:31:20 +02:00
Paulus Schoutsen b6ca03ce47
Reorg auth () 2018-07-13 11:43:08 +02:00
Mattias Welponer 4a6afc5614 Add HomematicIP alarm control panel ()
* Add HomematicIP security zone

* Update access point tests

* Fix state if not armed and coments

* Add comment for the empty state_attributes

* Fix comment

* Fix spelling
2018-07-13 03:57:41 +02:00
Paulus Schoutsen dbdd0a1f56
Expire auth code after 10 minutes () 2018-07-10 11:20:22 +02:00
Robin df8c59406b Add Facebox teach service ()
* Adds service

* Address pylint

* Update facebox.py

* patch tests

* Update facebox.py

* Update test_facebox.py

* Update facebox.py

* Update facebox.py

* Update facebox.py

* Update test_facebox.py

* Update test_facebox.py

* Update facebox.py

* Update facebox.py

* Update facebox.py

* Update facebox.py

* Adds total_matched_faces

* Update test_facebox.py

* Update facebox.py

* Update test_facebox.py

* Update test_facebox.py

* Remove fixtures

Removes the fixtures which were causing `setup` to fail, replace with `@patch`

* Fix teach service test and lint issues
2018-07-10 03:11:39 +02:00
Paulus Schoutsen 0d4841cbea
Use IndieAuth for client ID ()
* Use IndieAuth for client ID

* Lint

* Lint & Fix tests

* Allow local IP addresses

* Update comment
2018-07-09 18:24:46 +02:00
Fabian Affolter f7d7d825b0
Efergy ()
* Update format

* Use string formatting
2018-07-09 14:39:28 +02:00
Andrey 02238b6412 Add python 3.7 to travis and tox ()
* Add python 3.7 to travis and tox

* Use pyyaml from github

* Don't version constraints

* Fix version tag

* Change to new pyyaml release

* Python 3.7 requires xenial

* Fix namespace detection

* Use correct RegEx type

* Update pexpect to 4.6

* Use correct validation for dictionaries

* Disable Py37 incompatible packages

* Upgrade all pexpect to 4.6

* Add explicit None as default param
2018-07-07 10:48:02 -04:00
Mattias Welponer 9970965718 Add HomematicIP Cloud Config Flow and Entries loading ()
* Add HomematicIP Cloud to config flow

* Inititial trial for config_flow

* Integrations text files

* Load and write config_flow and init homematicip_cloud

* Split into dedicated files

* Ceanup of text messages

* Working config_flow

* Move imports inside a function

* Enable laoding even no accesspoints are defined

* Revert unnecassary changes in CONFIG_SCHEMA

* Better error handling

* fix flask8

* Migration to async for token generation

* A few fixes

* Simplify config_flow

* Bump version to 9.6 with renamed package

* Requirements file

* First fixes after review

* Implement async_step_import

* Cleanup for Config Flow

* First tests for homematicip_cloud setup

* Remove config_flow tests

* Really remove all things

* Fix comment

* Update picture

* Add support for async_setup_entry to switch and climate platform

* Update path of the config_flow picture

* Refactoring for better tesability

* Further tests implemented

* Move 3th party lib inside function

* Fix lint

* Update requirments_test_all.txt file

* UPdate of requirments_test_all.txt did not work

* Furder cleanup in websocket connection

* Remove a test for the hap

* Revert "Remove a test for the hap"

This reverts commit 968d58cba1.

* First tests implemented for config_flow

* Fix lint

* Rework of client registration process

* Implemented tests for config_flow 100% coverage

* Cleanup

* Cleanup comments and code

* Try to fix import problem

* Add homematicip to the test env requirements
2018-07-06 17:05:34 -04:00
Luke Fritz 0f1bcfd63b Add additional sensors for Arlo Baby camera ()
* Add additional sensors for Arlo Baby camera

* Fix linter errors

* Fix linter error

* Add tests for Arlo sensors

* Fix linter errors

* Bump pyarlo dependency to 0.1.9

* Remove unnecessary AttributeError except

* Fix module reference error in py35

* Fix test

* Address PR review concerns

* Convert to standalone pytest methods

* Fix linter errors

* Fix linter errors

* Fix linter errors

* Fix test

* Remove redundant check, fix async test

* Fix linter error

* Added check for total_cameras sensor, added additional attribute tests

* Add missing docstring
2018-07-06 10:26:03 +02:00
Paulus Schoutsen cb129bd207
Add system generated users ()
* Add system generated users

* Fix typing
2018-07-04 11:50:08 -04:00
Diogo Gomes 5f7ac09a74 Added Push Camera ()
* Added push camera

* add camera.push

* Address comments and add tests

* auff auff

* trip time made no sense

* travis lint

* Mock dependency

* hound

* long line

* long line

* better mocking

* remove blank image

* no more need to mock dependency

* remove import

* cleanup

* no longer needed

* unused constant

* address @pvizeli review

* add force_update

* Revert "add force_update"

This reverts commit e203785ea8.

* rename parameter
2018-07-04 07:44:47 +02:00
Diogo Gomes 66e33c7979
Merge pull request from nielstron/filter-band-pass
Adds a range filter to the Filter Sensor
2018-07-03 11:01:34 +01:00
Jason Hu a64a66dd62 Only create front-end client_id once ()
* Only create frontend client_id once

* Check user and client_id before create refresh token

* Lint

* Follow code review comment

* Minor clenaup

* Update doc string
2018-07-01 13:36:50 -04:00
David Thulke 136cc1d44d allow extra slot values in intents () 2018-07-01 11:51:40 -04:00
Jason Hu f874efb224 By default to use access_token if hass.auth.active ()
* Force to use access_token if hass.auth.active

* Not allow Basic auth with api_password if hass.auth.active

* Block websocket api_password auth when hass.auth.active

* Add legacy_api_password auth provider

* lint

* lint
2018-06-30 22:31:36 -04:00
Colin O'Dell fd38caa287 X-Forwarded-For improvements and bug fixes ()
* Use new trusted_proxies setting for X-Forwarded-For whitelist

* Only use the last IP in the header

Per Wikipedia (https://en.wikipedia.org/wiki/X-Forwarded-For#Format):

 > The last IP address is always the IP address that connects to the last proxy,
 > which means it is the most reliable source of information.

* Add two additional tests

* Ignore nonsense header values instead of failing
2018-06-29 16:27:06 -04:00
cdce8p e3e014bccc
Fix zwave climate operation mode mappings () 2018-06-29 16:09:46 +02:00
Alex Barcelo a277470363 Adding 'namespace' for prometheus metrics ()
* Updating prometheus client version

* Using `entity_filter` as filter mechanism

* New optional `namespace` configuration
2018-06-28 16:49:33 +02:00
Colin O'Dell 19f2bbf52f Only use the X-Forwarded-For header if connection is from a trusted network ()
See https://github.com/home-assistant/home-assistant/issues/14345#issuecomment-400854569
2018-06-28 09:16:11 -04:00
Pascal Vizeli dbb786c548
DarkSky weather / Fix states ()
* DarkSky weather / Fix states

* fix lint

* fix tests
2018-06-28 12:23:32 +02:00
Matt LeBrun 0094fd5c34 Add channel changing support to SamsungTV component ()
Add channel changing support to SamsungTV component
2018-06-26 16:22:10 +02:00
Paulus Schoutsen 46ea28a4f8
Fix cast config () 2018-06-25 15:59:05 -04:00
dreizehnelf 73034c933e Add discovery support to mqtt climate component. ()
* Add discovery support to mqtt climate component.

* - Fix flake8 error (./homeassistant/components/climate/mqtt.py:130:1: D202 No blank lines allowed after function docstring)
- Fix test error (since climate component was expected not to work - changed it to "lock" component, which also does not have MQTT discovery support yet)

* Fix old assert statement to reflect new lock component usage

* Change invalid MQTT discovery component type from 'lock' to 'timer', since contrary to the documentation the lock component is properly supported when using MQTT discovery.

* Make configuration of invalid MQTT config component a single point of entry to prevent missing the assertion later in the code when changing.

* Add new testcases to cover not-yet-covered code paths in https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/climate/mqtt.py
2018-06-25 15:13:19 +02:00
Bob Clough bfc55137ea Fix MQTT Light with RGB and Brightness ()
* Fix MQTT Light with RGB and Brightness

When an MQTT light is given an RGB and Brightness topic, the RGB
is scaled by the brightness *as well* as the brightness being set

This causes 255,0,0 at 50% brightness to be sent as 127,0,0 at 50%
brightness, which ends up as 63,0,0 after the RGB bulb has applied
its brightness scaling.

Fixes the same issue in mqtt, mqtt-json and mqtt-template.

Related Issue: 

* Add comment to mqtt_json as well
2018-06-21 14:59:02 -04:00
Paulus Schoutsen 895306f822
Rename experimental UI to lovelace ()
* Rename experimental UI to lovelace

* Bump frontend to 20180620.0
2018-06-20 15:13:08 -04:00
Hate-Usernames 153ccda853 Patch save_json () 2018-06-18 21:34:36 -04:00
Paulus Schoutsen cbdfc95cc8 Make zone entries work without radius () 2018-06-17 21:55:35 -06:00
Matt Schmitt 1533bc1e1f Add support for Homekit battery service () 2018-06-17 20:54:34 +02:00
Pascal Vizeli 40c8f5f70e
Fix panel URL authentication for Hass.io ()
* Update http.py

* Update http.py

* fix tests

* Update test_http.py
2018-06-17 20:34:47 +02:00
Matt Schmitt 722c27f1e2 HomeKit style clean up () 2018-06-17 13:37:44 +02:00
Paulus Schoutsen 00cbdffa12
Add experimental UI backend ()
* Add experimental UI

* Add test

* Lint
2018-06-16 17:12:03 -04:00
Marcelo Moreira de Mello 2839f0ff5f Upgrade ring_doorbell to 0.2.1 to fix oauth issues ()
* Upgraded to ring_doorbell to 0.2.1 to fix oauth issues

* Updated unittest to cover Ring oauth
2018-06-16 08:58:39 +02:00
Johan Bloemberg 2ec295a6f8 Add availability to Rflink entities. () 2018-06-16 00:26:48 +02:00
Paulus Schoutsen 8a777f6e78
Show notification when user configures Nest client_id/secret ()
* Show notification when user configures Nest client_id/secret

* Lint
2018-06-15 15:19:58 -04:00
Robert Svensson ac13a2736b Deconz make groups configurable ()
* Make groups configurable

* Config flow and tests in place

* Fix too long line
2018-06-15 14:31:22 -04:00
Paulus Schoutsen f744a29d9d
Add calendar panel, add tests () 2018-06-15 13:37:46 -04:00
Thibault Cohen 3cd4cb741c Add Calendar API endpoint to get events ()
* Add Calendar API endpoint to get events

* Set default event color

* Fix PR comments

* Fix PR comments

* Fix PR comments

* Remote local.py file

* Use iso 8601

* Fix lint

* Fix PR comments

* Fix PR comments

* Add Support for todoist and demo calendar

* Todoist events are allday events

* Add calendar demo api endpoint test

* Register only one api endpoint for calendar

* Rename demo calendar
2018-06-15 11:16:31 -04:00
Paulus Schoutsen 2c6e6c2a6f
Add config entry for Sonos + Cast ()
* Add config entry for Sonos

* Lint

* Use add_job

* Add Cast config entry

* Lint

* Rename DOMAIN import

* Mock pychromecast in test
2018-06-14 15:17:54 -04:00
Benedict Aas c8e0de19b6 add relative time option to simulated sensors ()
By default simulated sensors are relative to when they're activated,
instead we make this togglable with this new option 'relative_to_epoch',
and instead they become relative to 1970-01-01 00:00:00.
2018-06-14 14:06:49 -04:00
Paulus Schoutsen b2440a6d95
Fix tests ()
* Fix tests

* Lint
2018-06-14 11:57:09 -04:00
Nick Whyte cdd111df49 Add sensor.nsw_fuel_station component ()
* Add sensor.nsw_fuel_station component

* bump dependency

* PR Changes

* flake8

* Use MockPrice

* Fix requirements

* Fix tests

* line length

* wip

* Handle errors and show persistent notification

* update tests

* Address @MartinHjelmare's comments

* Fetch station name from API

* Update tests

* Update requirements

* Address comments
2018-06-14 13:56:04 +02:00
Robin cccd0deb65 Fix Facebox face data parsing ()
* Adds parse_faces

* Update facebox.py
2018-06-13 21:02:46 +02:00
Paulus Schoutsen e014a84215
Nest config flow ()
* Move nest to dir based component

* Add config flow for Nest

* Load Nest platforms via config entry

* Add tests for Nest config flow

* Import existing access tokens as config entries

* Lint

* Update coverage

* Update translation

* Fix tests

* Address strings

* Use python-nest token resolution

* Lint

* Do not do I/O inside constructor

* Lint

* Update test requirements
2018-06-13 11:14:52 -04:00
Marius 08adfd87f7 Add unique_id for mqtt binary sensor ()
* Added unique_id for mqtt binary sensor

* Added missing mqtt message fire in test
2018-06-13 16:20:38 +02:00
Hate-Usernames a373793029 pytradfri 5.5.1: Improved 3rd party bulb support ()
* Bump pytradfri version

* Update light component

* Add tests

* lint

* Docstring typos

* Blank line

* lint

* 5.5.1

* Fix tests on py3.5
2018-06-13 07:17:52 +02:00
Ong Vairoj be4776d039 Add more test cases for samsungtv ()
More test cases to cover retry logic added in 58a1c3839
2018-06-12 07:33:21 +02:00
Malte Franken f242418986 UVC camera platform handling unavailable NVR or cameras better ()
* fixed tests: using correct camera configuration now and error handling tests must be separated out to ensure that the setup_component call is actually executed

* better error handling during setup; raising PlatformNotReady in likely recoverable cases; added tests
2018-06-09 07:22:17 +02:00
Robert Svensson 0748466ffc Zone - Hass configuration name is optional ()
* Hass configuration name is optional

* Check explicitly if name is none

* Reverted back to old logic for zones configured in configuration.yaml, where many zones can have the same name

* New test to verify use case of allowing multiple zones having the same name

* Fix too long line
2018-06-07 17:06:13 -04:00
Dale Higgs fe018fd58c Add set_default_level to logger ()
* Add set_default_service to logger

* Fix 2-line lint error

* Add set_default_level to services.yaml

* Add tests for set_default_level

* Remove function and add else when setting default
2018-06-07 17:03:04 -04:00
Philip Rosenberg-Watt bb4d1773d3 Add min_temp and max_temp to MQTT climate device ()
* Add min_temp and max_temp to MQTT climate device

* Add unit tests

* Remove blank line

* Fix unit tests & temp return values

* PEP-8 fixes

* Remove unused import
2018-06-07 13:50:12 -04:00
Paulus Schoutsen bf74cab7af Fix non awaited test () 2018-06-07 15:58:54 +02:00
nielstron 33990badcd Fixed Rangefilter constructor call 2018-06-06 20:40:56 +02:00
nielstron 25f7c31911 Fixed wrong bound assignment on values below the lower bound 2018-06-06 20:40:54 +02:00
nielstron bb98331ba4 Fix doctring newline and handle ha.state string-being 2018-06-06 20:40:53 +02:00
nielstron 07d139b3a8 Fix wrong comparison 2018-06-06 20:40:53 +02:00
nielstron f4ef8fd1bc Changes for new FilterState construct 2018-06-06 20:40:52 +02:00
nielstron ba836c2e36 Fix indent 2018-06-06 20:40:52 +02:00
nielstron a0ab356936 Renamed to range filter 2018-06-06 20:40:51 +02:00
nielstron b42f4012d1 Fixed test 2018-06-06 20:40:50 +02:00
nielstron 3faed2edc1 Add test for new band_pass filter 2018-06-06 20:40:49 +02:00
Paulus Schoutsen fa2e6ada26 Route themes and translations over websocket () 2018-06-06 10:12:43 +02:00
Paulus Schoutsen a6880c452f Migrate entity registry to using websocket ()
* Migrate to using websocket

* Lint
2018-06-06 10:08:36 +02:00
Diogo Gomes 4bccb0d2a1
Merge pull request from home-assistant/sim-sensor
Limit sensor.simulated to 3 decimals (fixes )
2018-06-05 21:06:11 +01:00
Thomas Krüger 549abd9c7e Improved Fritz!Box thermostat support () 2018-06-05 20:06:25 +02:00
Fabian Affolter f1aba5511f
Limit to 3 decimals (fixes ) 2018-06-05 19:44:41 +02:00
Paulus Schoutsen b3b4f7468d
Further cleanup frontend ()
* Remove registering panels

* Remove unused image

* Lint
2018-06-05 10:50:16 -04:00
Diogo Gomes aec425d1f6 Weather Platform - IPMA ()
* initial commit

* lint

* update with pyipma

* Added test

* Added test

* lint

* missing dep

* address comments

* lint

* make sure list is iterable

* don't bother with list

* mock dependency

* no need to add test requirements

* last correction
2018-06-03 23:01:48 +02:00
Matt Schmitt f5d74e07d5 Add support for outlets in HomeKit () 2018-06-01 18:04:54 +02:00
Anders Melchiorsen fcbc399809 Disallow automation.trigger without entity_id () 2018-06-01 10:27:12 -04:00
Paulus Schoutsen f6eb9e79d5
Custom panel ()
* Add support for custom panels in JS

* Allow specifying JS custom panels

* Add trust external option

* Fix tests

* Do I/O outside event loop

* Change config to avoid breaking change
2018-06-01 10:06:17 -04:00
roiff ab3717af76 Homekit Thermostat: Better support for temperature ranges ()
* Support for obtaining temperature range
* Fallback to Defaults
* Fixed unit conversion
* Added test
2018-06-01 13:49:16 +02:00
cdce8p f1f4d80f24
Homekit Bugfixes ()
* Fix async bug
* Fix debounce bug
2018-05-30 12:39:27 +02:00
Paulus Schoutsen e746b92e0e Fix deprecated code () 2018-05-29 23:14:58 +02:00
cdce8p 7d2563eb1f
Update HAP-python to 2.2.2 ()
* Pass driver to accessory
* Added 'hk_driver' fixture for tests
2018-05-29 22:43:26 +02:00
Robert Svensson 8c93b484c4 deCONZ - Option to load or not to load clip sensors on start ()
* Option to load or not to load clip sensors on start

* Full flow

* Fix config flow and add tests

* Fix attribute dark reporting properly

* Imported and properly configured deCONZ shouldn't need extra input to create config entry
2018-05-29 10:09:53 -04:00
Otto Winter fcb60d472e MQTT Cover Fix Assumed State () 2018-05-29 09:03:45 -04:00
Paulus Schoutsen 8c7f0669c6 Allow hassio frontend development ()
* Allow hassio frontend development

* Fix tests
2018-05-29 08:51:08 +02:00
Andrey 6c3e2021df Give unknown zwave nodes a better name ()
* Give unknown zwave nodes a better name

* Update util.py
2018-05-28 21:49:38 -04:00
cdce8p 6f4dd7b057 Improve Homekit media_player options ()
* Optimize imports

* Optimize name

* Optimize config schema

* Rename mode to feature

* Replace mode with feature_list
2018-05-28 10:26:33 -04:00
Paulus Schoutsen b6e4a7771a
Allow Hass.io panel dir () 2018-05-27 17:17:19 -04:00
Marius Kotlarz b4f8d52fb1 Add configurable decimal rounding of display value for CoinMarketCap sensor and upgrade to 5.0.3 () () 2018-05-25 15:39:04 +02:00
Matt Schmitt 143be49c66 Add HomeKit support for automations () 2018-05-25 11:38:48 +02:00
Matt Schmitt a9f19a16ee Add HomeKit support for media players () 2018-05-25 11:37:20 +02:00
cdce8p 0589379de5 Homekit style cleanup ()
* Style cleanup

* Sorted imports
* Harmonized service calls

* Test improvements

* Small update
2018-05-20 22:25:53 -04:00
Fabian Affolter e88fc33eef Fix sensor name (fixes ) () 2018-05-19 17:14:53 +02:00
cdce8p 12e76ef7c1
Update HAP-python to 2.1.0 () 2018-05-18 16:32:57 +02:00
cdce8p 4c328baaa6
Add code to HomeKit lock () 2018-05-18 13:52:52 +02:00
Diogo Gomes 97076aa3fd Fix probability_threshold in binary_sensor.bayesian () (Closes: ) 2018-05-18 07:48:16 +02:00
Malte Franken a3777c4ea8 Feedreader configurable update interval and max entries () 2018-05-18 07:25:08 +02:00
Nathan Henrie 1053473111 Add stdout and stderr to debug output for shell_command () 2018-05-16 13:47:41 +02:00
Matt Schmitt 25dcddfeef Add HomeKit support for fans () 2018-05-16 13:15:59 +02:00
Ville Skyttä e20f88c143 Use "Returns" consistently to avoid being treated as section ()
Otherwise, by side effect, results in error D413 by recent pydocstyle.
2018-05-16 10:01:48 +02:00
Paulus Schoutsen df69680d24
Don't add a url to built-in panels ()
* Don't add a url to built-in panels

* Add url_path back

* Lint

* Frontend bump to 20180515.0

* Fix tests
2018-05-15 14:47:46 -04:00
Malte Franken e49e0b5a13 Make Feedreader component more extendable ()
* 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
2018-05-15 20:43:26 +02:00
Diogo Gomes d47006c98f Optimistic MQTT light ()
* Restores light state, case the light is optimistic

* lint

* hound

* hound

* Added mqtt_json

* hound

* added mqtt_template

* lint

* cleanup

* use ATTR
2018-05-15 12:25:50 +02:00
Matt Schmitt 44e9783c7c Add support for direction to fan template ()
* Initial commit

* Update and add tests
2018-05-14 22:37:49 +02:00
Fabian Affolter 954e4796b8 Use ATTR_NAME from const.py () 2018-05-14 13:05:52 +02:00
Fabian Affolter fb501282cc
Add SpaceAPI support ()
* Add SpaceAPI support

* Changes according PR comments

* Add tests

* Remove print

* Minor changes
2018-05-14 09:13:59 +02:00
Ville Skyttä 146a9492ec Clean up some Python 3.4 remnants () 2018-05-13 17:56:42 +02:00
Ville Skyttä 234bf1f0ea Spelling, grammar etc fixes ()
* Spelling, grammar etc fixes

* s/an api data/data of an api/
2018-05-13 12:09:28 +02:00
Ville Skyttä 843789528e Remove extra quotes from docstrings () 2018-05-13 11:06:15 +02:00
Andrey d1228d5cf4 Look at registry before pulling zwave config values ()
* Look at registry before deciding on ID for zwave values

* Reuse the new function
2018-05-12 17:45:36 -04:00
cdce8p 990f476ac9
Homekit test cleanup () 2018-05-12 17:10:19 +02:00
Matt Schmitt 621c653fed Allow HomeKit name to be customized () 2018-05-11 14:22:45 +02:00
Robin 528ad56530 Adds facebox ()
* Adds facebox

* Update .coveragerc

* Remove facebox

* Add test of faces attribute

* Add event test

* Adds more tests

* Adds tests to increase coverage

* Rename MOCK_FACES to MOCK_FACE

* Adds STATE_UNKNOWN
2018-05-11 09:57:00 +02:00
cdce8p 8fcf085829
Rewritten HomeKit tests ()
* Use pytest fixtures and parametrize
* Use async
2018-05-11 01:21:59 +02:00
Paulus Schoutsen 5ec7fc7ddb Backend tweaks to make authorization work ()
* Backend tweaks to make authorization work

* Lint

* Add test

* Validate redirect uris

* Fix tests

* Fix tests

* Lint
2018-05-10 10:38:11 +02:00
Anders Melchiorsen d43e6a2888 Ignore NaN values for influxdb ()
* Ignore NaN values for influxdb

* Catch TypeError
2018-05-08 20:54:38 -04:00
Andrey 10505d542a Make sure zwave nodes/entities enter the registry is proper state. ()
* 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
2018-05-08 15:30:28 -04:00
Nick Whyte e12994a0cd Fix BOM weather '-' value () 2018-05-08 13:35:55 -04:00
Tod Schmidt c664c20165 Snips: Added slot values for siteId and probability ()
* Added solt values for siteId and probability

* Update snips.py

* Update test_snips.py
2018-05-08 11:43:31 -04:00
Paulus Schoutsen 5c95c53c6c Revert custom component loading logic ()
* Revert custom component loading logic

* Lint

* Fix tests

* Guard for infinite inserts into sys.path
2018-05-07 11:25:48 +02:00
cdce8p 91fe6e4e56 Add debounce to move_cover ()
* Add debounce to move_cover

* Fix spelling mistake
2018-05-06 20:55:38 -04:00
thepotoo 2bb1a95098 Add unique_id to MQTT switch () 2018-05-06 08:21:02 +02:00
Robert Svensson 8410b63d9c deCONZ add new device without restart ()
* 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
2018-05-05 10:11:00 -04:00
cdce8p 95d27bd1fa Sensor device classes ()
* Added light device class, moved device classes to const

* Removed unnecessary icons

* Replace 'lux' with 'lx'

* Fix comment

* Changed device_class name
2018-05-05 09:37:40 -04:00
blackwind ec3ce4c80d Publish attributes unconditionally ()
* 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
2018-05-05 09:31:39 -04:00
Diogo Gomes 354470469f Fix filter sensor missing window_size argument ()
* missing window_size argument

* test throttle filter configuration
2018-05-05 03:10:08 +02:00
Matt Schmitt 255a85ad02 HomeKit: Support triggered state for alarm_control_panel () 2018-05-05 00:09:16 +02:00
cdce8p bb76ba67f3
Homekit: Changed device_class requirement Humidity Sensor () 2018-05-04 22:48:38 +02:00
cdce8p e37fd5b132 Update HAP-python to 2.0.0 ()
* Fixed async (added 'async_add_job' and 'add_job')

* Driver status

* Use pyhap category constants

* Changed 'set_broker' to 'set_driver'

* Changed loader method names

* Use 'serv.configure_char'

* Use 'self.set_info_service'

* Use 'self.add_preload_service'

* Fix hound issue

* Updated HAP-python to 2.0.0
2018-05-04 16:46:00 +02:00
Paulus Schoutsen 15e75b07d8 Allow fetching media player covers via websocket connection ()
Lint
2018-05-03 22:03:26 +02:00
Paulus Schoutsen 58257af289 Add fetching camera thumbnails over websocket ()
* Add fetching camera thumbnails over websocket

* Lint
2018-05-03 22:02:59 +02:00
roiff c9de2f015b HomeKit - Climate: power state on/off support ()
* add power state  support on off
* Added check for current operation mode
* Extended 'set_heat_cool'
* Added tests
2018-05-03 18:22:43 +02:00
giangvo ef4498ec27 Issue/add template fans ()
* add template fan

* add-template: address PR comments

* add-template: remove unused import

* add-template: revert async_track_state_change change

* add-template: use yield from

* Revert "add-template: use yield from"

This reverts commit 1e053714a7.

* add-template: use yield

* add-template: remove unused import

* add-template: remove async_add_job usages

* use components

* add-template: use async/await

* add-template: fix style

* add-template: remove str()

* address pr comments

* fix style
2018-05-02 17:45:31 -04:00
Diogo Gomes c851dfa2c7 Restores switch state, case the switch is optimistic ()
* Add restore_state to optimistic switch

* no need to schedule update

* test added

* lint

* new async syntax

* lint
2018-05-02 17:29:07 -04:00
Andrey f72d568374 Add unique_id to zwave node entity ()
* 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.
2018-05-02 16:10:26 -04:00
Otto Winter 14c7fa8882 WUnderground unique ids ()
* WUnderground unique_id

* Remove async_generate_entity_id

* Lint

* Address comment
2018-05-02 14:23:07 -04:00
Anders Melchiorsen bf056b6f01 Fix Hue color state for missing xy () 2018-05-02 09:25:08 -04:00
Sebastian Muszynski 8b13658d3b Improve config schema of the blackbird component ()
* Import moved, return values removed and redundant log message removed

* Improve config schema of the blackbird component

* Tests updated

* Handle updated

* Schema fixed
2018-05-02 09:21:50 -04:00
Otto Winter e4655a7e63 Add MQTT Sensor device_class ()
* Add MQTT Sensor device_class

* Add test
2018-05-01 15:38:08 -04:00
Paulus Schoutsen 83d300fd11 Custom component loading cleanup ()
* Clean up custom component loading

* Fix some tests

* Fix some stuff

* Make imports work again

* Fix tests

* Remove debug print

* Lint
2018-05-01 20:57:30 +02:00
Otto Winter 9bc8f6649b Template Sensor add device_class support ()
* Template Sensor Device Class Support

* Lint

* Add tests
2018-05-01 14:32:44 -04:00
Paulus Schoutsen d82693b460
Allow easy extension of websocket API ()
* Allow easy extension of websocket API

* Lint

* Move panel test to frontend

* Register websocket commands

* Simplify test

* Lint
2018-05-01 13:35:23 -04:00
Paulus Schoutsen cdd45e7878 Foundation for users ()
* 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
2018-05-01 18:20:41 +02:00
Paulus Schoutsen 12dff5baa8 Add room hint support to Google Assistant cloud () 2018-04-30 21:05:29 +02:00