Fix websocket connection sensor (#22923)

* Fix for #22890

* Singleton count
This commit is contained in:
Penny Wood 2019-04-14 01:48:40 +08:00 committed by Paulus Schoutsen
parent 479511ee42
commit 2527731865
3 changed files with 22 additions and 16 deletions

View file

@ -3,7 +3,9 @@
from homeassistant.core import callback
from homeassistant.helpers.entity import Entity
from .const import SIGNAL_WEBSOCKET_CONNECTED, SIGNAL_WEBSOCKET_DISCONNECTED
from .const import (
SIGNAL_WEBSOCKET_CONNECTED, SIGNAL_WEBSOCKET_DISCONNECTED,
DATA_CONNECTIONS)
async def async_setup_platform(
@ -11,12 +13,6 @@ async def async_setup_platform(
"""Set up the API streams platform."""
entity = APICount()
# pylint: disable=protected-access
hass.helpers.dispatcher.async_dispatcher_connect(
SIGNAL_WEBSOCKET_CONNECTED, entity._increment)
hass.helpers.dispatcher.async_dispatcher_connect(
SIGNAL_WEBSOCKET_DISCONNECTED, entity._decrement)
async_add_entities([entity])
@ -25,7 +21,15 @@ class APICount(Entity):
def __init__(self):
"""Initialize the API count."""
self.count = 0
self.count = None
async def async_added_to_hass(self):
"""Added to hass."""
self.hass.helpers.dispatcher.async_dispatcher_connect(
SIGNAL_WEBSOCKET_CONNECTED, self._update_count)
self.hass.helpers.dispatcher.async_dispatcher_connect(
SIGNAL_WEBSOCKET_DISCONNECTED, self._update_count)
self._update_count()
@property
def name(self):
@ -43,11 +47,6 @@ class APICount(Entity):
return "clients"
@callback
def _increment(self):
self.count += 1
self.async_schedule_update_ha_state()
@callback
def _decrement(self):
self.count -= 1
def _update_count(self):
self.count = self.hass.data.get(DATA_CONNECTIONS, 0)
self.async_schedule_update_ha_state()