mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
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
@ -63,6 +63,7 @@ from .const import (
|
|||||||
KEY_DEVICE_INFORMATION,
|
KEY_DEVICE_INFORMATION,
|
||||||
KEY_DEVICE_SIGNAL,
|
KEY_DEVICE_SIGNAL,
|
||||||
KEY_DIALUP_MOBILE_DATASWITCH,
|
KEY_DIALUP_MOBILE_DATASWITCH,
|
||||||
|
KEY_MONITORING_MONTH_STATISTICS,
|
||||||
KEY_MONITORING_STATUS,
|
KEY_MONITORING_STATUS,
|
||||||
KEY_MONITORING_TRAFFIC_STATISTICS,
|
KEY_MONITORING_TRAFFIC_STATISTICS,
|
||||||
KEY_WLAN_HOST_LIST,
|
KEY_WLAN_HOST_LIST,
|
||||||
@ -230,6 +231,9 @@ class Router:
|
|||||||
self._get_data(
|
self._get_data(
|
||||||
KEY_DIALUP_MOBILE_DATASWITCH, self.client.dial_up.mobile_dataswitch
|
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_STATUS, self.client.monitoring.status)
|
||||||
self._get_data(
|
self._get_data(
|
||||||
KEY_MONITORING_TRAFFIC_STATISTICS, self.client.monitoring.traffic_statistics
|
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_INFORMATION = "device_information"
|
||||||
KEY_DEVICE_SIGNAL = "device_signal"
|
KEY_DEVICE_SIGNAL = "device_signal"
|
||||||
KEY_DIALUP_MOBILE_DATASWITCH = "dialup_mobile_dataswitch"
|
KEY_DIALUP_MOBILE_DATASWITCH = "dialup_mobile_dataswitch"
|
||||||
|
KEY_MONITORING_MONTH_STATISTICS = "monitoring_month_statistics"
|
||||||
KEY_MONITORING_STATUS = "monitoring_status"
|
KEY_MONITORING_STATUS = "monitoring_status"
|
||||||
KEY_MONITORING_TRAFFIC_STATISTICS = "monitoring_traffic_statistics"
|
KEY_MONITORING_TRAFFIC_STATISTICS = "monitoring_traffic_statistics"
|
||||||
KEY_WLAN_HOST_LIST = "wlan_host_list"
|
KEY_WLAN_HOST_LIST = "wlan_host_list"
|
||||||
@ -38,6 +39,8 @@ DEVICE_TRACKER_KEYS = {KEY_WLAN_HOST_LIST}
|
|||||||
SENSOR_KEYS = {
|
SENSOR_KEYS = {
|
||||||
KEY_DEVICE_INFORMATION,
|
KEY_DEVICE_INFORMATION,
|
||||||
KEY_DEVICE_SIGNAL,
|
KEY_DEVICE_SIGNAL,
|
||||||
|
KEY_MONITORING_MONTH_STATISTICS,
|
||||||
|
KEY_MONITORING_STATUS,
|
||||||
KEY_MONITORING_TRAFFIC_STATISTICS,
|
KEY_MONITORING_TRAFFIC_STATISTICS,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,10 @@ from .const import (
|
|||||||
DOMAIN,
|
DOMAIN,
|
||||||
KEY_DEVICE_INFORMATION,
|
KEY_DEVICE_INFORMATION,
|
||||||
KEY_DEVICE_SIGNAL,
|
KEY_DEVICE_SIGNAL,
|
||||||
|
KEY_MONITORING_MONTH_STATISTICS,
|
||||||
|
KEY_MONITORING_STATUS,
|
||||||
KEY_MONITORING_TRAFFIC_STATISTICS,
|
KEY_MONITORING_TRAFFIC_STATISTICS,
|
||||||
|
SENSOR_KEYS,
|
||||||
)
|
)
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
@ -117,6 +120,35 @@ SENSOR_META = {
|
|||||||
and "mdi:signal-cellular-2"
|
and "mdi:signal-cellular-2"
|
||||||
or "mdi:signal-cellular-3",
|
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(
|
KEY_MONITORING_TRAFFIC_STATISTICS: dict(
|
||||||
exclude=re.compile(r"^showtraffic$", re.IGNORECASE)
|
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."""
|
"""Set up from config entry."""
|
||||||
router = hass.data[DOMAIN].routers[config_entry.data[CONF_URL]]
|
router = hass.data[DOMAIN].routers[config_entry.data[CONF_URL]]
|
||||||
sensors = []
|
sensors = []
|
||||||
for key in (
|
for key in SENSOR_KEYS:
|
||||||
KEY_DEVICE_INFORMATION,
|
|
||||||
KEY_DEVICE_SIGNAL,
|
|
||||||
KEY_MONITORING_TRAFFIC_STATISTICS,
|
|
||||||
):
|
|
||||||
items = router.data.get(key)
|
items = router.data.get(key)
|
||||||
if not items:
|
if not items:
|
||||||
continue
|
continue
|
||||||
|
Loading…
x
Reference in New Issue
Block a user