Commit Graph

5381 Commits (0f7ea290ca392bac4a180bda09deeb14238cd272)

Author SHA1 Message Date
Thomas Hollstegge 0f7ea290ca
Fix emulated_hue compatibility with older devices (#36090)
* Fix emulated_hue compatibility with older devices

* Fix test ugliness

* Fix pylint errors
2020-05-26 12:11:18 +02:00
Jason Hunter 179e601966
Fix ONVIF config entry unique ID (#36008)
* fallback to device serial number if no mac available

* make password optional to fix #35904

* update tests to reflect new flow

* fix snake case and AsyncMock

* add comments around why weird things are being done
2020-05-26 12:11:08 +02:00
Chris Talkington ab741535f7
Fix roku play/pause support (#35991) 2020-05-24 12:39:45 +02:00
Andre Lengwenus 5ffee336d5
Fix device_registry cleanup behavior (#35977)
* Fix: Only decives which are not referenced by an entity or a config_entry are removed

* Adapted test for async_cleanup

* Changed variable names
2020-05-24 11:27:44 +02:00
Martin Hjelmare 39f9981914
Fix lutron_caseta setup options (#35974) 2020-05-24 11:27:41 +02:00
Chris Talkington f4f031e703
Improve ipp unique id parsing (#35959) 2020-05-24 11:27:33 +02:00
J. Nick Koston f452e26269
Ensure homekit functions if numpy is unavailable (#35931) 2020-05-24 11:27:18 +02:00
Robert Chmielowiec 534fcefae1
Fix service registration supported features check (#35718) 2020-05-24 11:27:02 +02:00
J. Nick Koston e170e6563b Fix legacy Hunter Douglas PowerView devices (#35895)
These devices are missing firmware information
as the 1.0 firmware did not provide it.
2020-05-21 08:46:46 +00:00
J. Nick Koston 1c38bcaeb5 Homekit should skip devices that are missing in device registry (#35857)
* Homekit should skip devices that are missing in device registry

* Add test for this failure state
2020-05-21 08:46:38 +00:00
uvjustin 2d76e12c21 Handle None received from pyforked-daapd (#35830)
* Handle None received from API in forked-daapd

* Bump pyforked-daapd version in requirements

* Add test
2020-05-21 08:46:35 +00:00
uvjustin 0cb5ccd492 Change version check in forked-daapd zeroconf step (#35796) 2020-05-19 20:11:22 +02:00
Fredrik Erlandsson e9f398ac28
Fix daikin discovery flow (#35767) 2020-05-18 22:31:19 +02:00
J. Nick Koston cc5fc2baa4
Ensure homekit version strings conform to spec (#35741)
HomeKit requires all version strings to be in the
format MAJOR.MINOR.REVISION
2020-05-18 22:31:05 +02:00
uvjustin 5cb1924290
Abort forked-daapd zeroconf flow if version < 27 (#35709)
* Change MediaPlayerDevice to MediaPlayerEntity

* Abort zeroconf if mtd-version < 27.0
2020-05-18 22:30:55 +02:00
Franck Nijhof 5695a63e59
Fix handling of additional data in core config storage (#35660) 2020-05-18 22:30:45 +02:00
Chris Talkington e8ee3c7d4d
Prevent discovery of IPP printers lacking identifier (#35630) 2020-05-16 11:04:51 +02:00
Quentame 3928fe9578 Bump python-synology to 0.8.1 (#35640)
* Bump python-synology to 0.8.1

* Fix tests
2020-05-15 09:10:28 +02:00
Franck Nijhof bcf068f66f
Rename zwave_mqtt to ozw (#35631) 2020-05-14 23:33:33 +02:00
Alexei Chetroi 618ce2ff0a
Don't remove deprecated ZHA config option yet (#35627) 2020-05-14 23:26:17 +02:00
Bram Kragten b3a0270acd
Add check for HTML in translations (#35615)
* Add check for HTML in translations

and remove existing html

* Add test
2020-05-14 23:26:02 +02:00
J. Nick Koston eeaef5731f
Fix reversed logic in zeroconf homekit pairing check (#35596)
* Fix reversed logic in zeroconf homekit pairing check

* s/server_info/service_info/
2020-05-14 23:25:44 +02:00
uvjustin cc431b9f14
Clean up forked_daapd volume saving/setting in async_play_media (#35584)
* Clean up volume saving/setting in async_play_media

* Set source to pipe when queued externally

* Add server version requirement to error string
2020-05-14 23:25:40 +02:00
Steven Looman 0e79b47b43
Properly handle incomplete upnp ssdp discovery (#35553) 2020-05-14 23:25:29 +02:00
J. Nick Koston 6d8b8ecfa9
Add ssdp discovery for isy994 (#35568)
* Add ssdp discovery for isy994

* Increase test coverage for existing config flow

* Update tests/components/isy994/test_config_flow.py

Co-authored-by: shbatm <support@shbatm.com>

* Update tests/components/isy994/test_config_flow.py

Co-authored-by: shbatm <support@shbatm.com>

* move constants

* Update tests/components/isy994/test_config_flow.py

Co-authored-by: shbatm <support@shbatm.com>

* undo CONF_TLS_VER from homeassistant.const

Co-authored-by: shbatm <support@shbatm.com>
2020-05-13 11:15:17 -05:00
Xiaonan Shen ce99fa8c02
Add config flow to pi_hole integration (#35442)
* Add config flow to pi-hole

* Add config flow tests

* Change PlatformNotReady to ConfigEntryNotReady

* Improve config flow

* Add @shenxn as codeowner

* Use entity_id as unique id

* Remove .get with [] for required fields

* Remove unique id from config flow

* Replace some strings with references

* Fix api_key string

* Fix service api_key check

* Remove unused DuplicatedNameException
2020-05-13 09:25:06 -04:00
uvjustin c41fb2a21f
Add forked_daapd integration (#31953)
* New forked_daapd component

* Bunch of changes

Add config flow and zeroconf
Add zones on callback when added by server
Add password auth
Add async_play_media for TTS
Add media_image_url
Add support for pipe control/input from librespot-java
Improve update callbacks

* Refactor as per code review suggestions

Move config_flow connection testing to pypi library (v0.1.4)
Remove use of ForkedDaapdData class
Decouple Master and Zone data and functions
Add updater class to manage websocket and entity updates

* More changes as per code review

Avoid direct access to entities in tests
Bump pypi version
Mark entities unavailable when websocket disconnected
Move config tests to test_config_flow
Move full url creation from media_image_url to library
Move updater entity from master to hass.data
Remove default unmute volume option
Remove name from config_flow
Remove storage of entities in hass.data
Use async_write_ha_state
Use signal to trigger update_options
Use unittest.mock instead of asynctest.mock

* Yet more changes as per code review

Add more assertions in tests
Avoid patching asyncio
Make off state require player state stopped
Only send update to existing zones
Split up some tests
Use events instead of async_block_till_done
Use sets instead of lists where applicable
Wait for pause callback before continuing TTS

* Remove unnecessary use of Future()

* Add pipes and playlists as sources

* Add support for multiple servers

Change config options to add max_playlists+remove use_pipe_control
Create Machine ID in test_connection and also get from zeroconf
Modify hass.data storage
Update host for known configurations
Use Machine ID in unique_ids, entity names, config title, signals

* Use entry_id as basis for multiple entries

* Use f-strings and str.format, abort for same host

* Clean up check for same host
2020-05-13 09:13:41 -04:00
jjlawren c12f8bed43
Plex discovery on demand (#35303)
* Allow Plex discovery on demand

* Add new discovery source

* Add tests
2020-05-13 09:11:00 -04:00
Steffen Zimmermann ee96ff2846
Add wiffi integration (#30784)
* Add integration for wiffi devices

wiffi devices are DIY board manufactured by stall.biz.
Several devices are available, e.g. a weather station (weatherman), an
indoor environmental sensor (wiffi-wz) and some more.
This intgration has been developed using a weatherman device, but should
also work for other devices from stall.biz.

* Fix pylint warning

* Use WIFFI / STALL WIFFI instead of wiffi to be consistent with stall.biz

* Don't update disabled entities.

* fix complains

- move wiffi specific code to pypi
- remove yaml configuration code

* incorporate various suggestions from code review

* fix remaining comments from Martin

* fix comments

* add tests for config flow

* fix comments

* add missing requirements for tests

* fix pylint warnings

* fix comments

* fix comments

remove debug log
rename .translations to translations

* rebase and adapt to latest dev branch

* Update homeassistant/components/wiffi/config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/wiffi/config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* fix missing import

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-13 10:40:58 +02:00
Felipe Martins Diel 6464c94990
Fix connection problems in the Broadlink integration (#34670)
* Use helper functions for exception handling

* Create a separate class to handle communication with the device

* Update manifest

* Use coroutine for service setup

* Fix sensor update

* Update tests

* Fix MP1 switch

* Add device.py to .coveragerc

* Remove unnecessary blocking from test_learn_timeout

* Change access method for entries with default values

* Make the changes suggested by MartinHjelmare

* Remove dot from debug message

* Use underscore for unused variable
2020-05-13 10:36:32 +02:00
Martin Hjelmare 2a120d9045
Patch aiohttp client session close (#34769)
* Patch aiohttp client session close

* Add test

* Restore close regardless of auto_cleanup

* Close session instead of detaching and do not restore

* Delint test

* Add frame helper

* Use frame helper

* Test warning log when closing session

* Clean up

* Correct docstring

* Do not change shutdown

* Fix tests
2020-05-13 09:58:33 +02:00
Robert Svensson 785b8d2bd1
UniFi - Sites don't declare role on UniFiOS 1.7.0 beta (#35555)
* New way to identify role, compatible with standalone controller or as part of unifios

* Remove error

* Bump dependency to v22

* Remove unused import
2020-05-13 00:37:16 +02:00
Franck Nijhof eddb5c6c3f
Add more system information from Supervisor (#35560) 2020-05-12 15:27:34 -07:00
Emily Mills 306f15723d
Add Zerproc integration (#35477) 2020-05-13 00:26:44 +02:00
Thomas Johanns 8f76f59b8b
Implement soundtouch select source (#31669) 2020-05-12 22:56:12 +02:00
On Freund 3fcd7866cc
Try to automatically detect zones on first run of Monoprice integration (#35127) 2020-05-12 22:30:59 +02:00
J. Nick Koston 16cc4aed06
Ensure homekit_controller recieves zeroconf c# updates (#35545)
* Ensure homekit_controller recieves zeroconf c# updates

If an integration has a homekit config flow step
homekit controller would not see updates for
devices that were paired with it and would not
rescan for changes.

* Only send updates to homekit controller if the device is paired

This avoids the device showing up a second time.

* remove debug

* fix refactor error
2020-05-12 14:59:29 -05:00
Marcel van der Veldt 1351ddd11e
Add binary sensor platform to zwave_mqtt (#35519)
* add binary sensor platform to zwave_mqtt

* add tests for binary_sensor

* fix tests

* device class is required value

* Update homeassistant/components/zwave_mqtt/binary_sensor.py

use colon as separator

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* extend tests

* code optimize

* add test for enabling a legacy binary sensor

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-12 20:07:11 +02:00
Paulus Schoutsen 1f71bdedab
Add temperature device class to Darksky sensors (#35544) 2020-05-12 10:37:04 -07:00
gadgetmobile 53771bd576
support BleBox sensor (#35374) 2020-05-12 09:10:03 -05:00
MatsNl 4099815a08
Rewrite Atag (#35496)
* rewrite library

* Update strings.json

* fix updated with empty reply

* dont use entity_id

* atag_id

* use super init instead

* original ids to prevent breaking change
2020-05-12 11:47:33 +02:00
Xiaonan Shen 2748dcaaf1
Use common strings for songpal config flow (#35517) 2020-05-11 22:48:41 -05:00
Alexei Chetroi 2f73361381
Bump up ZHA dependecy (#35521)
* Bump up ZHA dependecy
* Fix tests.
2020-05-11 20:22:27 -04:00
J. Nick Koston 3315c4c6c3
Pre-filter zeroconf service browser updates (#35518)
Each ServerBrowser currently runs in its own thread which
processes every A or AAAA record update per instance.

As the list of zeroconf names we watch for grows, each additional
ServiceBrowser would process all the A and AAAA updates on the network.

To avoid overwhemling the system we pre-filter here and only process
DNSPointers for the configured record name (type)
2020-05-11 18:30:15 -05:00
Dan Jenkins dd22200a69
Compare uvc rtsp stream uri to host config (#31107) 2020-05-12 00:50:54 +02:00
J. Nick Koston 751529feca
Use system zeroconf singleton for homekit (#35502)
Zeroconf instances are expensive so we share a single instance
instead of running multiple.
2020-05-11 13:21:16 -05:00
Steven Looman 48899c7a1c
Move upnp update_interval options flow (#35474) 2020-05-11 20:03:12 +02:00
Fredrik Erlandsson 93f8d21bc0
Bump pydaikin to 2.0.1, catch HTTPForbidden exception (#35466) 2020-05-11 10:39:20 -07:00
J. Nick Koston 0a9b373edb
Show device details in homekit accessory service info (#35100)
* Show device info in homekit accessory service info

* fix conflict
2020-05-11 09:09:48 -05:00
J. Nick Koston 31ee54c133
Ensure homekit camera stream can be restarted after failure (#35384)
* Ensure camera stream can be restarted after failure

* If ffmpeg failed to start, was killed, or the iOS device
closed the stream right away, the stream could never
be started until the HomeKit bridge was restarted.

* watch ffmpeg instead of checking only once

* handle forceful shutdowns gracefully

* Increase coverage
2020-05-11 08:17:10 -05:00