Add websocket API command for Z-Wave network status (#25066)

* Add websocket API command for Z-Wave network status

* lint

* Add callback decorator

* Remove state_str, fix lint
This commit is contained in:
Charles Garwood 2019-07-10 22:50:43 -04:00 committed by Paulus Schoutsen
parent 42d2f30ab8
commit 312fceeaf6
2 changed files with 36 additions and 0 deletions

View file

@ -26,6 +26,7 @@ from homeassistant.helpers.dispatcher import (
from . import const
from . import config_flow # noqa pylint: disable=unused-import
from . import websocket_api as wsapi
from .const import (
CONF_AUTOHEAL, CONF_DEBUG, CONF_POLLING_INTERVAL,
CONF_USB_STICK_PATH, CONF_CONFIG_PATH, CONF_NETWORK_KEY,
@ -301,6 +302,8 @@ async def async_setup_entry(hass, config_entry):
registry = await async_get_registry(hass)
wsapi.async_load_websocket_api(hass)
if use_debug: # pragma: no cover
def log_all(signal, value=None):
"""Log all the signals."""

View file

@ -0,0 +1,33 @@
"""Web socket API for Z-Wave."""
import logging
import voluptuous as vol
from homeassistant.components import websocket_api
from homeassistant.core import callback
from .const import DATA_NETWORK
_LOGGER = logging.getLogger(__name__)
TYPE = 'type'
ID = 'id'
@websocket_api.require_admin
@websocket_api.websocket_command({
vol.Required(TYPE): 'zwave/network_status'
})
def websocket_network_status(hass, connection, msg):
"""Get Z-Wave network status."""
network = hass.data[DATA_NETWORK]
connection.send_result(msg[ID], {
'state': network.state,
})
@callback
def async_load_websocket_api(hass):
"""Set up the web socket API."""
websocket_api.async_register_command(hass, websocket_network_status)