Files
Home-AssistantConfig/deps/netdisco/discoverables/home_assistant.py
2016-10-11 16:42:06 +00:00

21 lines
778 B
Python

"""Discover Home Assistant servers."""
from . import MDNSDiscoverable
# pylint: disable=too-few-public-methods
class Discoverable(MDNSDiscoverable):
"""Add support for discovering Home Assistant instances."""
def __init__(self, nd):
super(Discoverable, self).__init__(nd, '_home-assistant._tcp.local.')
def info_from_entry(self, entry):
"""Returns most important info from mDNS entries."""
return (entry.properties.get(b'base_url').decode('utf-8'),
entry.properties.get(b'version').decode('utf-8'),
entry.properties.get(b'requires_api_password'))
def get_info(self):
"""Get details from Home Assistant instances."""
return [self.info_from_entry(entry) for entry in self.get_entries()]