mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-10-07 18:59:37 +00:00

* Init services discovery * extend it * Add mqtt provider * Service support * More protocol stuff * Update validate.py * Update validate.py * Update API.md * Update API.md * update api * add API for services * fix lint * add security middleware * Add discovery layout * update * Finish discovery * improve discovery * fix * Update API * Update api * fix * Fix lint * Update API.md * Update __init__.py * Update API.md * Update interface.py * Update mqtt.py * Update discovery.py * Update const.py * Update validate.py * Update validate.py * Update mqtt.py * Update mqtt.py * Update discovery.py * Update discovery.py * Update discovery.py * Update interface.py * Update mqtt.py * Update mqtt.py * Update services.py * Update discovery.py * Update discovery.py * Update mqtt.py * Update discovery.py * Update services.py * Update discovery.py * Update discovery.py * Update mqtt.py * Update discovery.py * fix aiohttp * test * Update const.py * Update addon.py * Update homeassistant.py * Update const.py * Update addon.py * Update homeassistant.py * Update addon.py * Update security.py * Update const.py * Update validate.py * Update const.py * Update addon.py * Update API.md * Update addons.py * Update addon.py * Update validate.py * Update security.py * Update security.py * Update const.py * Update services.py * Update discovery.py * Update API.md * Update services.py * Update API.md * Update services.py * Update discovery.py * Update discovery.py * Update mqtt.py * Update discovery.py * Update discovery.py * Update __init__.py * Update mqtt.py * Update security.py * fix lint * Update core.py * Update API.md * Update services.py
55 lines
1.3 KiB
Python
55 lines
1.3 KiB
Python
"""Interface for single service."""
|
|
|
|
from ..coresys import CoreSysAttributes
|
|
|
|
|
|
class ServiceInterface(CoreSysAttributes):
|
|
"""Interface class for service integration."""
|
|
|
|
def __init__(self, coresys):
|
|
"""Initialize service interface."""
|
|
self.coresys = coresys
|
|
|
|
@property
|
|
def slug(self):
|
|
"""Return slug of this service."""
|
|
return None
|
|
|
|
@property
|
|
def _data(self):
|
|
"""Return data of this service."""
|
|
return None
|
|
|
|
@property
|
|
def schema(self):
|
|
"""Return data schema of this service."""
|
|
return None
|
|
|
|
@property
|
|
def provider(self):
|
|
"""Return name of service provider."""
|
|
return None
|
|
|
|
@property
|
|
def enabled(self):
|
|
"""Return True if the service is in use."""
|
|
return bool(self._data)
|
|
|
|
def save(self):
|
|
"""Save changes."""
|
|
self._services.data.save_data()
|
|
|
|
def get_service_data(self):
|
|
"""Return the requested service data."""
|
|
if self.enabled:
|
|
return self._data
|
|
return None
|
|
|
|
def set_service_data(self, provider, data):
|
|
"""Write the data into service object."""
|
|
raise NotImplementedError()
|
|
|
|
def del_service_data(self, provider):
|
|
"""Remove the data from service object."""
|
|
raise NotImplementedError()
|