mirror of
https://github.com/home-assistant/core.git
synced 2025-07-28 07:37:34 +00:00
Add Reolink wifi signal sensor for IPC cams (#149200)
This commit is contained in:
parent
941d3c2be4
commit
b6014da121
@ -24,6 +24,8 @@ async def async_get_config_entry_diagnostics(
|
||||
IPC_cam[ch]["hardware version"] = api.camera_hardware_version(ch)
|
||||
IPC_cam[ch]["firmware version"] = api.camera_sw_version(ch)
|
||||
IPC_cam[ch]["encoding main"] = await api.get_encoding(ch)
|
||||
if (signal := api.wifi_signal(ch)) is not None:
|
||||
IPC_cam[ch]["WiFi signal"] = signal
|
||||
|
||||
chimes: dict[int, dict[str, Any]] = {}
|
||||
for chime in api.chime_list:
|
||||
|
@ -123,6 +123,18 @@ SENSORS = (
|
||||
value=lambda api, ch: api.baichuan.day_night_state(ch),
|
||||
supported=lambda api, ch: api.supported(ch, "day_night_state"),
|
||||
),
|
||||
ReolinkSensorEntityDescription(
|
||||
key="wifi_signal",
|
||||
cmd_key="115",
|
||||
translation_key="wifi_signal",
|
||||
device_class=SensorDeviceClass.SIGNAL_STRENGTH,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
native_unit_of_measurement=SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
||||
entity_registry_enabled_default=False,
|
||||
value=lambda api, ch: api.wifi_signal(ch),
|
||||
supported=lambda api, ch: api.supported(ch, "wifi"),
|
||||
),
|
||||
)
|
||||
|
||||
HOST_SENSORS = (
|
||||
|
@ -123,7 +123,7 @@ def _init_host_mock(host_mock: MagicMock) -> None:
|
||||
host_mock.timeout = 60
|
||||
host_mock.renewtimer.return_value = 600
|
||||
host_mock.wifi_connection = False
|
||||
host_mock.wifi_signal.return_value = None
|
||||
host_mock.wifi_signal.return_value = -45
|
||||
host_mock.whiteled_mode_list.return_value = []
|
||||
host_mock.zoom_range.return_value = {
|
||||
"zoom": {"pos": {"min": 0, "max": 100}},
|
||||
|
@ -28,6 +28,7 @@
|
||||
'HTTPS': True,
|
||||
'IPC cams': dict({
|
||||
'0': dict({
|
||||
'WiFi signal': -45,
|
||||
'encoding main': 'h264',
|
||||
'firmware version': 'v1.1.0.0.0.0000',
|
||||
'hardware version': 'IPC_00001',
|
||||
@ -38,7 +39,7 @@
|
||||
'RTMP enabled': True,
|
||||
'RTSP enabled': True,
|
||||
'WiFi connection': False,
|
||||
'WiFi signal': None,
|
||||
'WiFi signal': -45,
|
||||
'abilities': dict({
|
||||
'abilityChn': list([
|
||||
dict({
|
||||
|
@ -22,7 +22,7 @@ async def test_sensors(
|
||||
"""Test sensor entities."""
|
||||
reolink_connect.ptz_pan_position.return_value = 1200
|
||||
reolink_connect.wifi_connection = True
|
||||
reolink_connect.wifi_signal.return_value = 3
|
||||
reolink_connect.wifi_signal.return_value = -55
|
||||
reolink_connect.hdd_list = [0]
|
||||
reolink_connect.hdd_storage.return_value = 95
|
||||
|
||||
@ -35,7 +35,7 @@ async def test_sensors(
|
||||
assert hass.states.get(entity_id).state == "1200"
|
||||
|
||||
entity_id = f"{Platform.SENSOR}.{TEST_NVR_NAME}_wi_fi_signal"
|
||||
assert hass.states.get(entity_id).state == "3"
|
||||
assert hass.states.get(entity_id).state == "-55"
|
||||
|
||||
entity_id = f"{Platform.SENSOR}.{TEST_NVR_NAME}_sd_0_storage"
|
||||
assert hass.states.get(entity_id).state == "95"
|
||||
|
Loading…
x
Reference in New Issue
Block a user