Commit Graph

279 Commits (c1586f97db125a7421f6513e127d28a8d85b00ec)

Author SHA1 Message Date
J. Nick Koston 74c23c3e96
Add support for reload_on_update to _abort_if_unique_id_configured (#38638)
* Add support for reload_on_update to _abort_if_unique_id_configured

async_update_entry now avoids firing update listeners and writing
the storage if there are no actual changes.

* Actually add the tests

* collapse branch

* Update homeassistant/config_entries.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* handle entries that lack the ability to reload

* reduce

* adjust konnected tests

* update axis tests

* fix blocking

* more mocking

* config flow tests outside of test_config_flow

* reduce

* volumio

* Update homeassistant/config_entries.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* set reload_on_update=False for integrations that implement self._abort_if_unique_id_configured(updates= and a reload listen

* get rid of copy

* revert test change

Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-08 13:23:56 -05:00
Dave Clarke 20e85e1191
Add support for Philips Hue Smart Button (#38555)
* Add support for Philips Hue Smart Button

* Fix linting with trailing commas

* Update to correct deconz and hue model names/IDs
2020-08-06 11:40:50 +02:00
HomeAssistant Azure e32a57ce48 [ci skip] Translation update 2020-08-06 00:02:06 +00:00
HomeAssistant Azure e76db60367 [ci skip] Translation update 2020-08-05 00:02:19 +00:00
HomeAssistant Azure e6e3517a94 [ci skip] Translation update 2020-07-28 00:04:53 +00:00
HomeAssistant Azure a1ebb52813 [ci skip] Translation update 2020-07-25 00:04:22 +00:00
HomeAssistant Azure 15fe727f2c [ci skip] Translation update 2020-07-23 00:02:48 +00:00
HomeAssistant Azure e766a119d2 [ci skip] Translation update 2020-07-22 00:02:30 +00:00
HomeAssistant Azure 83d4e5bbb7 [ci skip] Translation update 2020-07-21 00:03:00 +00:00
HomeAssistant Azure aabf0dab88 [ci skip] Translation update 2020-07-14 00:03:03 +00:00
HomeAssistant Azure d3b47b6d89 [ci skip] Translation update 2020-07-13 00:02:52 +00:00
HomeAssistant Azure 2e72216a1c [ci skip] Translation update 2020-07-11 00:02:51 +00:00
Paulus Schoutsen 67b18aef5b
Fix Hue homekit discovery (#37694)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-07-10 09:37:36 -07:00
HomeAssistant Azure 251a1d6619 [ci skip] Translation update 2020-07-09 00:05:04 +00:00
HomeAssistant Azure 6fd756299e [ci skip] Translation update 2020-07-08 00:02:43 +00:00
Franck Nijhof c89c0d7824
Fix typos in Hue integration (#37597) 2020-07-07 09:33:37 -05:00
HomeAssistant Azure 6749424508 [ci skip] Translation update 2020-07-06 00:02:55 +00:00
Franck Nijhof 53545c984b
Log lines do not end with a full stop (#37527) 2020-07-05 23:04:19 +02:00
HomeAssistant Azure c6ed7754c7 [ci skip] Translation update 2020-07-05 00:02:52 +00:00
HomeAssistant Azure 146b5691e7 [ci skip] Translation update 2020-07-04 00:03:02 +00:00
HomeAssistant Azure a6fb9e6100 [ci skip] Translation update 2020-07-03 00:03:38 +00:00
Franck Nijhof 235298a1b2
Add Hue manual bridge config flow + options flow (#37268)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-02 14:12:24 +02:00
HomeAssistant Azure 7920c5e5e8 [ci skip] Translation update 2020-06-18 00:08:13 +00:00
HomeAssistant Azure 140fd5adaf [ci skip] Translation update 2020-06-09 00:05:22 +00:00
HomeAssistant Azure 492874c4a0 [ci skip] Translation update 2020-06-06 00:03:33 +00:00
Paulus Schoutsen fae80621fb
Guard blowing up converting 0 mired/kelvin (#35486) 2020-06-04 08:48:39 -07:00
HomeAssistant Azure c10aa13d0b [ci skip] Translation update 2020-05-20 00:03:49 +00:00
HomeAssistant Azure e94f44f294 [ci skip] Translation update 2020-05-17 00:02:56 +00:00
HomeAssistant Azure 9586e9ebef [ci skip] Translation update 2020-05-15 00:02:56 +00:00
Paulus Schoutsen 0efeefe3b2 Update translations 2020-05-13 11:27:21 -07:00
Paulus Schoutsen dd32324e01
Use config flow references for data (#35529) 2020-05-12 10:50:44 -07:00
Paulus Schoutsen 5b7daa9e0c
Hue: Guard for when there is no brightness (#35151) 2020-05-03 19:21:10 -04:00
HomeAssistant Azure 78f846d532 [ci skip] Translation update 2020-05-03 00:02:26 +00:00
HomeAssistant Azure bd72ddda3c [ci skip] Translation update 2020-05-01 00:02:55 +00:00
HomeAssistant Azure 5d37eb8eeb [ci skip] Translation update 2020-04-30 00:03:17 +00:00
HomeAssistant Azure 7faba60e83 [ci skip] Translation update 2020-04-29 00:03:31 +00:00
HomeAssistant Azure e13f78dfc5 [ci skip] Translation update 2020-04-28 00:04:52 +00:00
HomeAssistant Azure aa2bfbb541 [ci skip] Translation update 2020-04-27 00:02:20 +00:00
Erik Montnemery e4333a7a44
Rename Light to LightEntity (#34593) 2020-04-26 18:49:41 +02:00
HomeAssistant Azure 90e0a1af8a [ci skip] Translation update 2020-04-26 00:02:45 +00:00
HomeAssistant Azure 5f775c1427 [ci skip] Translation update 2020-04-25 00:08:30 +00:00
Erik Montnemery b022e08db9
Rename BinarySensorDevice to BinarySensorEntity (#34462)
* Rename BinarySensorDevice to BinarySensorEntity

* Tweak

* Move deprecation warning to __new__, add test

* Move deprecation warning back to __init__

* Move deprecation warning to __init_subclass
2020-04-23 21:57:07 +02:00
Joakim Sørensen 730a257f3c
Rename translations dir for integrations (#34494) 2020-04-21 16:11:05 -07:00
Paulus Schoutsen 95357dfc55 Update translations 2020-04-20 16:33:54 -07:00
HomeAssistant Azure 6d7fb9f46a [ci skip] Translation update 2020-04-20 00:04:37 +00:00
HomeAssistant Azure 5007a9e702 [ci skip] Translation update 2020-04-18 00:04:07 +00:00
Eugenio Panadero 813f8dd63f
Fix missing events for hue remotes (#34340) 2020-04-17 09:48:36 -07:00
HomeAssistant Azure a6e9933236 [ci skip] Translation update 2020-04-17 00:09:03 +00:00
Save me 5dcac36b78
Add Friends of Hue Switch - Model FOHSWITCH (ZGPSWITCH) (#34195) 2020-04-16 14:14:57 -07:00
Paulus Schoutsen 0d60d40512 Update translations 2020-04-16 13:00:10 -07:00
Paulus Schoutsen 94a3cec4bf
Take integration title from manifest if not translated (#34283) 2020-04-16 08:38:54 -07:00
HomeAssistant Azure 0d8c75d9ce [ci skip] Translation update 2020-04-16 00:04:36 +00:00
Paulus Schoutsen f06aeea385 Update translations 2020-04-15 09:51:07 -07:00
Paulus Schoutsen d36204a968
Move title translation to root (#33850) 2020-04-15 09:41:18 -07:00
Paulus Schoutsen 6fa29d6e2e
Fix Hue brightness values over 127 off by one (#34190) 2020-04-14 13:31:38 +02:00
HomeAssistant Azure 32e87fc4c7 [ci skip] Translation update 2020-04-11 00:03:44 +00:00
springstan fb8f8133a0
Use HTTP_INTERNAL_SERVER_ERROR constant (#33832) 2020-04-08 23:20:03 +02:00
Paulus Schoutsen ba8ae17487
Fix hue ct (#33791) 2020-04-08 11:31:41 +02:00
Franck Nijhof 39336d3ea3
Add prettier (in pre-commit and CI) (#33693)
* Add prettier (in pre-commit and CI)

* Make all file prettier

* Change order

* Add to Azure Pipelines

* Fix a YAML file prettier caught as invalid

* Remove flow mapping using curly braces from all YAML service files
2020-04-05 17:27:16 +02:00
Franck Nijhof 7653dc947a
Enable pylint unnecessary-pass (#33650)
* Enable pylint unnecessary-pass

* Process review suggestions

* Fix smhi tests
2020-04-05 10:33:07 +02:00
HomeAssistant Azure d267d674b9 [ci skip] Translation update 2020-04-05 00:03:15 +00:00
Paulus Schoutsen 0a3ec6fea1
Correct Hue mireds for lights (#33597) 2020-04-04 14:29:03 -07:00
Franck Nijhof 7d3c974747
Use set & dict literals (#33636)
Co-authored-by: Daniel Høyer Iversen <mail@dahoiv.net>
2020-04-04 20:05:15 +02:00
HomeAssistant Azure 8a8ee95336 [ci skip] Translation update 2020-04-04 00:07:23 +00:00
Paulus Schoutsen f1d3c0d19b
Remove unused manifest fields (#33595) 2020-04-03 12:58:19 -07:00
Paulus Schoutsen dc7127aacf
Data Coordinator to return unsub func (#33588) 2020-04-03 20:15:42 +02:00
HomeAssistant Azure 08c9ceb752 [ci skip] Translation update 2020-04-03 00:04:03 +00:00
HomeAssistant Azure 4a4496b21d [ci skip] Translation update 2020-04-02 00:04:41 +00:00
Eugenio Panadero 71aaf2d809
Add device triggers for Hue remotes (#33476)
* Store device_registry entry id in HueEvent

so it can be retrieved with that key when using device triggers

* Add device_trigger for hue_event from hue remotes

* supporting Hue dimmer switch & Hue Tap
* State mapping and strings are copied from deCONZ

* refactor mock_bridge for hue tests

and also share `setup_bridge_for_sensors`
for test_sensor_base and test_device_trigger.

* Add tests for device triggers with hue remotes

* Remove some triggers
2020-04-01 11:42:22 -07:00
Eugenio Panadero f5cbc9d208
Fire events for hue remote buttons pressed (#33277)
* Add remote platform to hue integration

supporting ZGPSwitch, ZLLSwitch and ZLLRotary switches.

* Ported from custom component Hue-remotes-HASS from @robmarkcole

* Add options flow for hue, to toggle handling of sensors and remotes

* Sensors are enabled by default, and remotes are disabled,
  to not generate any breaking change for existent users.
  Also, when linking a new bridge these defaults are used,
  so unless going explicitly to the Options menu,
  the old behavior is preserved.
* SensorManager stores the enabled platforms and ignores everything else.
* Bridge is created with flags for `add_sensors` and `add_remotes`,
  and uses them to forward entry setup to only the enabled platforms.
* Update listener removes disabled kinds of devices when options are changed,
  so device list is in sync with options, and disabled kinds disappear from HA,
  leaving the enable/disable entity option for individual devices.

* Fix hue bridge mock with new parameters

* Revert changes in hue bridge mock

* Remove OptionsFlow and platform flags

* Extract `GenericHueDevice` from `GenericHueSensor`

to use it as base class for all hue devices, including those without any entity,
like remotes without battery.

* Add `HueBattery` sensor for battery powered remotes

and generate entities for TYPE_ZLL_ROTARY and TYPE_ZLL_SWITCH remotes.

* Remove remote platform

* Add HueEvent class to fire events for button presses

* Use `sensor.lastupdated` string to control state changes
* Event data includes:
  - "id", as pretty name of the remote
  - "unique_id" of the remote device
  - "event", with the raw code of the pressed button
    ('buttonevent' or 'rotaryevent' property)
  - "last_updated", with the bridge timestamp for the button press
* Register ZGP_SWITCH, ZLL_SWITCH, ZLL_ROTARY remotes

* fix removal

* Exclude W0611

* Extract GenericHueDevice to its own module

and solve import tree, also fixing lint in CI

* Store registered events to do not repeat device reg

* Minor cleaning

* Add tests for hue_event and battery entities for hue remotes
2020-03-31 10:27:30 -07:00
HomeAssistant Azure 5bedc4ede2 [ci skip] Translation update 2020-03-29 00:04:45 +00:00
Eugenio Panadero bb68e7a532
Bump aiohue version to 2.1.0 (#33234) 2020-03-25 09:11:00 -07:00
HomeAssistant Azure 763ed0dc7b [ci skip] Translation update 2020-03-24 13:18:47 +00:00
Eugenio Panadero 94b6ab2862
Use platform tag to register components on hue SensorManager (#32732)
* Use platform tag to register components on hue SensorManager

instead of a boolean flag to decide between sensor and binary sensor,
so it could be used externally (or to get ready for inclusion of other comps)

* Make new item discovery platform agnostic for SensorManager
2020-03-12 18:31:39 -07:00
Paulus Schoutsen b27c46750c
Update error handling in update coordinator (#32452) 2020-03-04 08:05:46 -08:00
Paulus Schoutsen 5a56d0ec1d
Catch more Hue errors (#32275) 2020-02-27 12:53:36 -08:00
Ville Skyttä 9b2544c923
Remove some unneeded pylint suppressions (#32152) 2020-02-24 16:47:15 -08:00
HomeAssistant Azure 8257165562 [ci skip] Translation update 2020-02-23 00:31:50 +00:00
Paulus Schoutsen e71c7e1f5e Fix hue test 2020-02-20 08:11:27 -08:00
Victor Guimarães 93a844b1d5
Hue Group features based on the bulbs in it (#31897)
* Computes the features of a hue group as the union of the features of the bulbs in the group

* Moved create item to a function

* Added test for hue group features
2020-02-17 10:22:34 -08:00
Paulus Schoutsen b77f2670a7
Upgrade aiohue (#31903) 2020-02-17 09:52:54 +01:00
Paulus Schoutsen 81b159f424
Disable Hue groups for new setups (#31713) 2020-02-11 08:50:07 -08:00
HomeAssistant Azure a2bea2cab8 [ci skip] Translation update 2020-02-09 00:31:39 +00:00
Paulus Schoutsen 989dd32258
Hue to retry if hub errors out (#31616)
* Respect semaphore

* Add retries when connection reset

* Also catch OSError from aiohttp when authenticating
2020-02-08 13:20:37 -08:00
Paulus Schoutsen 0d474e1183
Update the update coordinator API to make it easier to use (#31471)
* Update the update coordinator API to make it easier to use

* failed_last_update -> last_update_success
2020-02-06 09:29:29 -08:00
Paulus Schoutsen 481ea0aa5b
Check for known Hue vulnerability (#31494) 2020-02-05 13:57:17 -08:00
Paulus Schoutsen 370e2ffa5a
Fix coordinator reference (#31467) 2020-02-04 14:57:15 -08:00
Paulus Schoutsen 166d770ddd
Update Hue data fetching (#31338)
* Refactor Hue Lights to use DataCoordinator

* Redo how Hue updates data

* Address comments

* Inherit from Entity and remove pylint disable

* Add tests for debounce
2020-01-31 14:47:40 -08:00
Paulus Schoutsen ab8b94382e Update Hue discovery (#31215) 2020-01-27 10:54:38 -07:00
Franck Nijhof 4571cf01e2 Update Hue existing config entry with discovery data (#31087)
* Update Hue existing config entry with discovery data

* Updated method documentation comments

* Update implementation to match latest dev

* Use named argument for clarity
2020-01-24 09:07:53 -08:00
HomeAssistant Azure 692e4f27c4 [ci skip] Translation update 2020-01-21 00:33:20 +00:00
Paulus Schoutsen 9f20185cee
Fix hue accepting filename (#30924) 2020-01-17 15:38:38 -08:00
Paulus Schoutsen 7da84dca76
Reinstate and deprecate filename option for hue config (#30846) 2020-01-16 11:28:35 -08:00
Paulus Schoutsen 6f24fe3970 Handle no host info in ignored config entries (#30822) 2020-01-16 10:19:38 +01:00
Paulus Schoutsen 1f9d6ba541
Update Hue SSDP discovery (#30695) 2020-01-13 05:30:07 -08:00
HomeAssistant Azure d6512c8a9f [ci skip] Translation update 2020-01-11 00:31:55 +00:00
Franck Nijhof 0e9b414c26
Migrate Integration Quality Scale from docs to manifest (#30579) 2020-01-08 14:19:42 +01:00
Sascha Kühndel 23700e4db8 Fix hue flashing innr lights (#29828) 2020-01-07 20:56:57 +01:00
Ville Skyttä 5216477353
Be consistent with Home Assistant and Hass.io spelling (#30500)
* Be consistent with Home Assistant spelling

* Be consistent with Hass.io spelling
2020-01-05 14:09:17 +02:00
Ian Duffy 5580ee3fa1 Don't allow badly formed upnp devices to kill auto discovery (#30342)
Prevent the following from occurring:

```
2019-12-31 22:38:41 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 85, in async_init
    return await self._async_handle_step(flow, flow.init_step, data)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 145, in _async_handle_step
    result: Dict = await getattr(flow, method)(user_input)
  File "/usr/src/homeassistant/homeassistant/components/deconz/config_flow.py", line 182, in async_step_ssdp
    if discovery_info[ssdp.ATTR_UPNP_MANUFACTURER_URL] != DECONZ_MANUFACTURERURL:
KeyError: 'manufacturerURL'
2019-12-31 22:38:41 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 85, in async_init
    return await self._async_handle_step(flow, flow.init_step, data)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 145, in _async_handle_step
    result: Dict = await getattr(flow, method)(user_input)
  File "/usr/src/homeassistant/homeassistant/components/deconz/config_flow.py", line 182, in async_step_ssdp
    if discovery_info[ssdp.ATTR_UPNP_MANUFACTURER_URL] != DECONZ_MANUFACTURERURL:
KeyError: 'manufacturerURL'
```
2020-01-03 12:08:40 +01:00