mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Add HassIO to discovery component (#7195)
* Add HassIO to autodiscovery * Fix tests * fix tests * fix test v2 * fix mock test * call
This commit is contained in:
parent
bbeb64eb24
commit
f641287aa2
@ -10,6 +10,7 @@ import asyncio
|
|||||||
import json
|
import json
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
import logging
|
import logging
|
||||||
|
import os
|
||||||
|
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
@ -29,12 +30,14 @@ SERVICE_NETGEAR = 'netgear_router'
|
|||||||
SERVICE_WEMO = 'belkin_wemo'
|
SERVICE_WEMO = 'belkin_wemo'
|
||||||
SERVICE_HASS_IOS_APP = 'hass_ios'
|
SERVICE_HASS_IOS_APP = 'hass_ios'
|
||||||
SERVICE_IKEA_TRADFRI = 'ikea_tradfri'
|
SERVICE_IKEA_TRADFRI = 'ikea_tradfri'
|
||||||
|
SERVICE_HASSIO = 'hassio'
|
||||||
|
|
||||||
SERVICE_HANDLERS = {
|
SERVICE_HANDLERS = {
|
||||||
SERVICE_HASS_IOS_APP: ('ios', None),
|
SERVICE_HASS_IOS_APP: ('ios', None),
|
||||||
SERVICE_NETGEAR: ('device_tracker', None),
|
SERVICE_NETGEAR: ('device_tracker', None),
|
||||||
SERVICE_WEMO: ('wemo', None),
|
SERVICE_WEMO: ('wemo', None),
|
||||||
SERVICE_IKEA_TRADFRI: ('tradfri', None),
|
SERVICE_IKEA_TRADFRI: ('tradfri', None),
|
||||||
|
SERVICE_HASSIO: ('hassio', None),
|
||||||
'philips_hue': ('light', 'hue'),
|
'philips_hue': ('light', 'hue'),
|
||||||
'google_cast': ('media_player', 'cast'),
|
'google_cast': ('media_player', 'cast'),
|
||||||
'panasonic_viera': ('media_player', 'panasonic_viera'),
|
'panasonic_viera': ('media_player', 'panasonic_viera'),
|
||||||
@ -124,6 +127,10 @@ def async_setup(hass, config):
|
|||||||
"""Schedule the first discovery when Home Assistant starts up."""
|
"""Schedule the first discovery when Home Assistant starts up."""
|
||||||
async_track_point_in_utc_time(hass, scan_devices, dt_util.utcnow())
|
async_track_point_in_utc_time(hass, scan_devices, dt_util.utcnow())
|
||||||
|
|
||||||
|
# discovery local services
|
||||||
|
if 'HASSIO' in os.environ:
|
||||||
|
hass.async_add_job(new_service_found(SERVICE_HASSIO, {}))
|
||||||
|
|
||||||
hass.bus.async_listen_once(EVENT_HOMEASSISTANT_START, schedule_first)
|
hass.bus.async_listen_once(EVENT_HOMEASSISTANT_START, schedule_first)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
"""The tests for the discovery component."""
|
"""The tests for the discovery component."""
|
||||||
import asyncio
|
import asyncio
|
||||||
|
import os
|
||||||
|
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
@ -128,3 +129,18 @@ def test_discover_duplicates(hass):
|
|||||||
mock_discover.assert_called_with(
|
mock_discover.assert_called_with(
|
||||||
hass, SERVICE_NO_PLATFORM, SERVICE_INFO,
|
hass, SERVICE_NO_PLATFORM, SERVICE_INFO,
|
||||||
SERVICE_NO_PLATFORM_COMPONENT, BASE_CONFIG)
|
SERVICE_NO_PLATFORM_COMPONENT, BASE_CONFIG)
|
||||||
|
|
||||||
|
|
||||||
|
@asyncio.coroutine
|
||||||
|
def test_load_component_hassio(hass):
|
||||||
|
"""Test load hassio component."""
|
||||||
|
def discover(netdisco):
|
||||||
|
"""Fake discovery."""
|
||||||
|
return []
|
||||||
|
|
||||||
|
with patch.dict(os.environ, {'HASSIO': "FAKE_HASSIO"}), \
|
||||||
|
patch('homeassistant.components.hassio.async_setup',
|
||||||
|
return_value=mock_coro(return_value=True)) as mock_hassio:
|
||||||
|
yield from mock_discovery(hass, discover)
|
||||||
|
|
||||||
|
assert mock_hassio.called
|
||||||
|
Loading…
x
Reference in New Issue
Block a user