Add more Huawei LTE sensors (#32123)
* Add Huawei LTE WiFi client count and DNS server sensors * Add Huawei LTE current month statistics sensors
This commit is contained in:
parent
d1beb92c5d
commit
9a8017aadd
3 changed files with 40 additions and 5 deletions
|
@ -63,6 +63,7 @@ from .const import (
|
|||
KEY_DEVICE_INFORMATION,
|
||||
KEY_DEVICE_SIGNAL,
|
||||
KEY_DIALUP_MOBILE_DATASWITCH,
|
||||
KEY_MONITORING_MONTH_STATISTICS,
|
||||
KEY_MONITORING_STATUS,
|
||||
KEY_MONITORING_TRAFFIC_STATISTICS,
|
||||
KEY_WLAN_HOST_LIST,
|
||||
|
@ -230,6 +231,9 @@ class Router:
|
|||
self._get_data(
|
||||
KEY_DIALUP_MOBILE_DATASWITCH, self.client.dial_up.mobile_dataswitch
|
||||
)
|
||||
self._get_data(
|
||||
KEY_MONITORING_MONTH_STATISTICS, self.client.monitoring.month_statistics
|
||||
)
|
||||
self._get_data(KEY_MONITORING_STATUS, self.client.monitoring.status)
|
||||
self._get_data(
|
||||
KEY_MONITORING_TRAFFIC_STATISTICS, self.client.monitoring.traffic_statistics
|
||||
|
|
|
@ -27,6 +27,7 @@ KEY_DEVICE_BASIC_INFORMATION = "device_basic_information"
|
|||
KEY_DEVICE_INFORMATION = "device_information"
|
||||
KEY_DEVICE_SIGNAL = "device_signal"
|
||||
KEY_DIALUP_MOBILE_DATASWITCH = "dialup_mobile_dataswitch"
|
||||
KEY_MONITORING_MONTH_STATISTICS = "monitoring_month_statistics"
|
||||
KEY_MONITORING_STATUS = "monitoring_status"
|
||||
KEY_MONITORING_TRAFFIC_STATISTICS = "monitoring_traffic_statistics"
|
||||
KEY_WLAN_HOST_LIST = "wlan_host_list"
|
||||
|
@ -38,6 +39,8 @@ DEVICE_TRACKER_KEYS = {KEY_WLAN_HOST_LIST}
|
|||
SENSOR_KEYS = {
|
||||
KEY_DEVICE_INFORMATION,
|
||||
KEY_DEVICE_SIGNAL,
|
||||
KEY_MONITORING_MONTH_STATISTICS,
|
||||
KEY_MONITORING_STATUS,
|
||||
KEY_MONITORING_TRAFFIC_STATISTICS,
|
||||
}
|
||||
|
||||
|
|
|
@ -17,7 +17,10 @@ from .const import (
|
|||
DOMAIN,
|
||||
KEY_DEVICE_INFORMATION,
|
||||
KEY_DEVICE_SIGNAL,
|
||||
KEY_MONITORING_MONTH_STATISTICS,
|
||||
KEY_MONITORING_STATUS,
|
||||
KEY_MONITORING_TRAFFIC_STATISTICS,
|
||||
SENSOR_KEYS,
|
||||
)
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
@ -117,6 +120,35 @@ SENSOR_META = {
|
|||
and "mdi:signal-cellular-2"
|
||||
or "mdi:signal-cellular-3",
|
||||
),
|
||||
KEY_MONITORING_MONTH_STATISTICS: dict(
|
||||
exclude=re.compile(r"^month(duration|lastcleartime)$", re.IGNORECASE)
|
||||
),
|
||||
(KEY_MONITORING_MONTH_STATISTICS, "CurrentMonthDownload"): dict(
|
||||
name="Current month download", unit=DATA_BYTES, icon="mdi:download"
|
||||
),
|
||||
(KEY_MONITORING_MONTH_STATISTICS, "CurrentMonthUpload"): dict(
|
||||
name="Current month upload", unit=DATA_BYTES, icon="mdi:upload"
|
||||
),
|
||||
KEY_MONITORING_STATUS: dict(
|
||||
include=re.compile(
|
||||
r"^(currentwifiuser|(primary|secondary).*dns)$", re.IGNORECASE
|
||||
)
|
||||
),
|
||||
(KEY_MONITORING_STATUS, "CurrentWifiUser"): dict(
|
||||
name="WiFi clients connected", icon="mdi:wifi"
|
||||
),
|
||||
(KEY_MONITORING_STATUS, "PrimaryDns"): dict(
|
||||
name="Primary DNS server", icon="mdi:ip"
|
||||
),
|
||||
(KEY_MONITORING_STATUS, "SecondaryDns"): dict(
|
||||
name="Secondary DNS server", icon="mdi:ip"
|
||||
),
|
||||
(KEY_MONITORING_STATUS, "PrimaryIPv6Dns"): dict(
|
||||
name="Primary IPv6 DNS server", icon="mdi:ip"
|
||||
),
|
||||
(KEY_MONITORING_STATUS, "SecondaryIPv6Dns"): dict(
|
||||
name="Secondary IPv6 DNS server", icon="mdi:ip"
|
||||
),
|
||||
KEY_MONITORING_TRAFFIC_STATISTICS: dict(
|
||||
exclude=re.compile(r"^showtraffic$", re.IGNORECASE)
|
||||
),
|
||||
|
@ -145,11 +177,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
|
|||
"""Set up from config entry."""
|
||||
router = hass.data[DOMAIN].routers[config_entry.data[CONF_URL]]
|
||||
sensors = []
|
||||
for key in (
|
||||
KEY_DEVICE_INFORMATION,
|
||||
KEY_DEVICE_SIGNAL,
|
||||
KEY_MONITORING_TRAFFIC_STATISTICS,
|
||||
):
|
||||
for key in SENSOR_KEYS:
|
||||
items = router.data.get(key)
|
||||
if not items:
|
||||
continue
|
||||
|
|
Loading…
Add table
Reference in a new issue