32 lines
896 B
Python
32 lines
896 B
Python
"""Add an iframe panel to Home Assistant."""
|
|
import voluptuous as vol
|
|
|
|
import homeassistant.helpers.config_validation as cv
|
|
from homeassistant.components.frontend import register_built_in_panel
|
|
|
|
DOMAIN = 'panel_iframe'
|
|
DEPENDENCIES = ['frontend']
|
|
|
|
CONF_TITLE = 'title'
|
|
CONF_ICON = 'icon'
|
|
CONF_URL = 'url'
|
|
|
|
CONFIG_SCHEMA = vol.Schema({
|
|
DOMAIN: vol.Schema({
|
|
cv.slug: {
|
|
vol.Optional(CONF_TITLE): cv.string,
|
|
vol.Optional(CONF_ICON): cv.icon,
|
|
# pylint: disable=no-value-for-parameter
|
|
vol.Required(CONF_URL): vol.Url(),
|
|
}})}, extra=vol.ALLOW_EXTRA)
|
|
|
|
|
|
def setup(hass, config):
|
|
"""Setup iframe frontend panels."""
|
|
for url_path, info in config[DOMAIN].items():
|
|
register_built_in_panel(
|
|
hass, 'iframe', info.get(CONF_TITLE), info.get(CONF_ICON),
|
|
url_path, {'url': info[CONF_URL]})
|
|
|
|
return True
|