Home Assistant Unofficial Reference 2024.12.1
__init__.py
Go to the documentation of this file.
1 """Support for launching a web browser on the host machine."""
2 
3 import webbrowser
4 
5 import voluptuous as vol
6 
7 from homeassistant.core import HomeAssistant, ServiceCall
8 from homeassistant.helpers import config_validation as cv
9 from homeassistant.helpers.typing import ConfigType
10 
11 ATTR_URL = "url"
12 ATTR_URL_DEFAULT = "https://www.google.com"
13 
14 DOMAIN = "browser"
15 
16 SERVICE_BROWSE_URL = "browse_url"
17 
18 SERVICE_BROWSE_URL_SCHEMA = vol.Schema(
19  {
20  vol.Required(ATTR_URL, default=ATTR_URL_DEFAULT): vol.Url(),
21  }
22 )
23 
24 CONFIG_SCHEMA = cv.empty_config_schema(DOMAIN)
25 
26 
27 def _browser_url(service: ServiceCall) -> None:
28  """Browse to URL."""
29  webbrowser.open(service.data[ATTR_URL])
30 
31 
32 def setup(hass: HomeAssistant, config: ConfigType) -> bool:
33  """Listen for browse_url events."""
34 
35  hass.services.register(
36  DOMAIN,
37  SERVICE_BROWSE_URL,
38  _browser_url,
39  schema=SERVICE_BROWSE_URL_SCHEMA,
40  )
41 
42  return True
None _browser_url(ServiceCall service)
Definition: __init__.py:27
bool setup(HomeAssistant hass, ConfigType config)
Definition: __init__.py:32