mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
Merge pull request #1733 from robbiet480/http-zeroconf
ZeroConf component
This commit is contained in:
commit
f1e46e63c0
@ -65,6 +65,8 @@ omit =
|
|||||||
homeassistant/components/scsgate.py
|
homeassistant/components/scsgate.py
|
||||||
homeassistant/components/*/scsgate.py
|
homeassistant/components/*/scsgate.py
|
||||||
|
|
||||||
|
homeassistant/components/zeroconf.py
|
||||||
|
|
||||||
homeassistant/components/binary_sensor/arest.py
|
homeassistant/components/binary_sensor/arest.py
|
||||||
homeassistant/components/binary_sensor/rest.py
|
homeassistant/components/binary_sensor/rest.py
|
||||||
homeassistant/components/browser.py
|
homeassistant/components/browser.py
|
||||||
|
@ -15,7 +15,7 @@ from homeassistant.const import (
|
|||||||
EVENT_PLATFORM_DISCOVERED)
|
EVENT_PLATFORM_DISCOVERED)
|
||||||
|
|
||||||
DOMAIN = "discovery"
|
DOMAIN = "discovery"
|
||||||
REQUIREMENTS = ['netdisco==0.6.2']
|
REQUIREMENTS = ['netdisco==0.6.4']
|
||||||
|
|
||||||
SCAN_INTERVAL = 300 # seconds
|
SCAN_INTERVAL = 300 # seconds
|
||||||
|
|
||||||
|
50
homeassistant/components/zeroconf.py
Normal file
50
homeassistant/components/zeroconf.py
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
"""
|
||||||
|
This module exposes Home Assistant via Zeroconf.
|
||||||
|
|
||||||
|
Zeroconf is also known as Bonjour, Avahi or Multicast DNS (mDNS).
|
||||||
|
|
||||||
|
For more details about Zeroconf, please refer to the documentation at
|
||||||
|
https://home-assistant.io/components/zeroconf/
|
||||||
|
"""
|
||||||
|
import logging
|
||||||
|
import socket
|
||||||
|
|
||||||
|
from homeassistant.const import (EVENT_HOMEASSISTANT_STOP, __version__)
|
||||||
|
|
||||||
|
REQUIREMENTS = ["zeroconf==0.17.5"]
|
||||||
|
|
||||||
|
DEPENDENCIES = ["api"]
|
||||||
|
|
||||||
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
DOMAIN = "zeroconf"
|
||||||
|
|
||||||
|
ZEROCONF_TYPE = "_home-assistant._tcp.local."
|
||||||
|
|
||||||
|
|
||||||
|
def setup(hass, config):
|
||||||
|
"""Set up Zeroconf and make Home Assistant discoverable."""
|
||||||
|
from zeroconf import Zeroconf, ServiceInfo
|
||||||
|
|
||||||
|
zeroconf = Zeroconf()
|
||||||
|
|
||||||
|
zeroconf_name = "{}.{}".format(hass.config.location_name,
|
||||||
|
ZEROCONF_TYPE)
|
||||||
|
|
||||||
|
params = {"version": __version__, "base_url": hass.config.api.base_url,
|
||||||
|
"needs_auth": (hass.config.api.api_password is not None)}
|
||||||
|
|
||||||
|
info = ServiceInfo(ZEROCONF_TYPE, zeroconf_name,
|
||||||
|
socket.inet_aton(hass.config.api.host),
|
||||||
|
hass.config.api.port, 0, 0, params)
|
||||||
|
|
||||||
|
zeroconf.register_service(info)
|
||||||
|
|
||||||
|
def stop_zeroconf(event):
|
||||||
|
"""Stop Zeroconf."""
|
||||||
|
zeroconf.unregister_service(info)
|
||||||
|
zeroconf.close()
|
||||||
|
|
||||||
|
hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, stop_zeroconf)
|
||||||
|
|
||||||
|
return True
|
@ -136,7 +136,7 @@ messagebird==1.1.1
|
|||||||
mficlient==0.3.0
|
mficlient==0.3.0
|
||||||
|
|
||||||
# homeassistant.components.discovery
|
# homeassistant.components.discovery
|
||||||
netdisco==0.6.2
|
netdisco==0.6.4
|
||||||
|
|
||||||
# homeassistant.components.sensor.neurio_energy
|
# homeassistant.components.sensor.neurio_energy
|
||||||
neurio==0.2.10
|
neurio==0.2.10
|
||||||
@ -317,3 +317,6 @@ xbee-helper==0.0.6
|
|||||||
|
|
||||||
# homeassistant.components.sensor.yr
|
# homeassistant.components.sensor.yr
|
||||||
xmltodict
|
xmltodict
|
||||||
|
|
||||||
|
# homeassistant.components.zeroconf
|
||||||
|
zeroconf==0.17.5
|
||||||
|
Loading…
x
Reference in New Issue
Block a user