"""Support for launching a web browser on the host machine.""" import webbrowser import voluptuous as vol ATTR_URL = "url" ATTR_URL_DEFAULT = "https://www.google.com" DOMAIN = "browser" SERVICE_BROWSE_URL = "browse_url" SERVICE_BROWSE_URL_SCHEMA = vol.Schema( { # pylint: disable=no-value-for-parameter vol.Required(ATTR_URL, default=ATTR_URL_DEFAULT): vol.Url() } ) def setup(hass, config): """Listen for browse_url events.""" hass.services.register( DOMAIN, SERVICE_BROWSE_URL, lambda service: webbrowser.open(service.data[ATTR_URL]), schema=SERVICE_BROWSE_URL_SCHEMA, ) return True