Skip to content

Commit db63e0c

Browse files
jbouwhthecode
andauthored
Add RSSI signal strength sensor to incomfort boiler (#155688)
Co-authored-by: Shay Levy <[email protected]>
1 parent 8ed88d4 commit db63e0c

File tree

4 files changed

+70
-0
lines changed

4 files changed

+70
-0
lines changed

homeassistant/components/incomfort/icons.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@
2020
}
2121
}
2222
},
23+
"sensor": {
24+
"rf_message_rssi": {
25+
"default": "mdi:signal"
26+
}
27+
},
2328
"water_heater": {
2429
"boiler": {
2530
"state": {

homeassistant/components/incomfort/sensor.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,16 @@ class IncomfortSensorEntityDescription(SensorEntityDescription):
6161
value_key="tap_temp",
6262
entity_registry_enabled_default=False,
6363
),
64+
# A lower RSSI value is better
65+
# A typical RSSI value is 28 for connection just in range
66+
IncomfortSensorEntityDescription(
67+
key="rf_message_rssi",
68+
translation_key="rf_message_rssi",
69+
state_class=SensorStateClass.MEASUREMENT,
70+
value_key="rf_message_rssi",
71+
extra_key="rfstatus_cntr",
72+
entity_registry_enabled_default=False,
73+
),
6474
)
6575

6676

homeassistant/components/incomfort/strings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@
7676
}
7777
},
7878
"sensor": {
79+
"rf_message_rssi": {
80+
"name": "RSSI"
81+
},
7982
"tap_temperature": {
8083
"name": "Tap temperature"
8184
}

tests/components/incomfort/snapshots/test_sensor.ambr

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,58 @@
5555
'state': '1.86',
5656
})
5757
# ---
58+
# name: test_setup_platform[sensor.boiler_rssi-entry]
59+
EntityRegistryEntrySnapshot({
60+
'aliases': set({
61+
}),
62+
'area_id': None,
63+
'capabilities': dict({
64+
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
65+
}),
66+
'config_entry_id': <ANY>,
67+
'config_subentry_id': <ANY>,
68+
'device_class': None,
69+
'device_id': <ANY>,
70+
'disabled_by': None,
71+
'domain': 'sensor',
72+
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
73+
'entity_id': 'sensor.boiler_rssi',
74+
'has_entity_name': True,
75+
'hidden_by': None,
76+
'icon': None,
77+
'id': <ANY>,
78+
'labels': set({
79+
}),
80+
'name': None,
81+
'options': dict({
82+
}),
83+
'original_device_class': None,
84+
'original_icon': None,
85+
'original_name': 'RSSI',
86+
'platform': 'incomfort',
87+
'previous_unique_id': None,
88+
'suggested_object_id': None,
89+
'supported_features': 0,
90+
'translation_key': 'rf_message_rssi',
91+
'unique_id': 'c0ffeec0ffee_rf_message_rssi',
92+
'unit_of_measurement': None,
93+
})
94+
# ---
95+
# name: test_setup_platform[sensor.boiler_rssi-state]
96+
StateSnapshot({
97+
'attributes': ReadOnlyDict({
98+
'friendly_name': 'Boiler RSSI',
99+
'rfstatus_cntr': 0,
100+
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
101+
}),
102+
'context': <ANY>,
103+
'entity_id': 'sensor.boiler_rssi',
104+
'last_changed': <ANY>,
105+
'last_reported': <ANY>,
106+
'last_updated': <ANY>,
107+
'state': '30',
108+
})
109+
# ---
58110
# name: test_setup_platform[sensor.boiler_tap_temperature-entry]
59111
EntityRegistryEntrySnapshot({
60112
'aliases': set({

0 commit comments

Comments
 (0)