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:
parent
42d2f30ab8
commit
312fceeaf6
2 changed files with 36 additions and 0 deletions
|
@ -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."""
|
||||
|
|
33
homeassistant/components/zwave/websocket_api.py
Normal file
33
homeassistant/components/zwave/websocket_api.py
Normal 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)
|
Loading…
Add table
Reference in a new issue