mirror of
https://github.com/home-assistant/core.git
synced 2026-04-22 00:16:18 +00:00
Add counter for KNX DataSecure undecodable telegrams (#157844)
This commit is contained in:
@@ -21,6 +21,9 @@
|
||||
"telegram_count": {
|
||||
"default": "mdi:plus-network"
|
||||
},
|
||||
"telegrams_data_secure_undecodable": {
|
||||
"default": "mdi:lock-alert"
|
||||
},
|
||||
"telegrams_incoming": {
|
||||
"default": "mdi:upload-network"
|
||||
},
|
||||
|
||||
@@ -108,6 +108,12 @@ SYSTEM_ENTITY_DESCRIPTIONS = (
|
||||
+ knx.xknx.connection_manager.cemi_count_incoming
|
||||
+ knx.xknx.connection_manager.cemi_count_incoming_error,
|
||||
),
|
||||
KNXSystemEntityDescription(
|
||||
key="telegrams_data_secure_undecodable",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=SensorStateClass.TOTAL_INCREASING,
|
||||
value_fn=lambda knx: knx.xknx.connection_manager.undecoded_data_secure,
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -639,6 +639,10 @@
|
||||
"name": "Telegrams",
|
||||
"unit_of_measurement": "telegrams"
|
||||
},
|
||||
"telegrams_data_secure_undecodable": {
|
||||
"name": "Undecodable Data Secure telegrams",
|
||||
"unit_of_measurement": "[%key:component::knx::entity::sensor::telegrams_incoming_error::unit_of_measurement%]"
|
||||
},
|
||||
"telegrams_incoming": {
|
||||
"name": "Incoming telegrams",
|
||||
"unit_of_measurement": "[%key:component::knx::entity::sensor::telegram_count::unit_of_measurement%]"
|
||||
|
||||
@@ -36,6 +36,7 @@ async def test_diagnostic_entities(
|
||||
"sensor.knx_interface_outgoing_telegrams",
|
||||
"sensor.knx_interface_outgoing_telegram_errors",
|
||||
"sensor.knx_interface_telegrams",
|
||||
"sensor.knx_interface_undecodable_data_secure_telegrams",
|
||||
):
|
||||
entity = entity_registry.async_get(entity_id)
|
||||
assert entity.entity_category is EntityCategory.DIAGNOSTIC
|
||||
@@ -43,6 +44,7 @@ async def test_diagnostic_entities(
|
||||
for entity_id in (
|
||||
"sensor.knx_interface_incoming_telegrams",
|
||||
"sensor.knx_interface_outgoing_telegrams",
|
||||
"sensor.knx_interface_undecodable_data_secure_telegrams",
|
||||
):
|
||||
entity = entity_registry.async_get(entity_id)
|
||||
assert entity.disabled is True
|
||||
@@ -57,7 +59,7 @@ async def test_diagnostic_entities(
|
||||
async_fire_time_changed(hass)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert len(events) == 3 # 5 polled sensors - 2 disabled
|
||||
assert len(events) == 3 # 6 polled sensors - 3 disabled
|
||||
events.clear()
|
||||
|
||||
for entity_id, test_state in (
|
||||
@@ -74,7 +76,7 @@ async def test_diagnostic_entities(
|
||||
state=XknxConnectionState.DISCONNECTED
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
assert len(events) == 4 # 3 not always_available + 3 force_update - 2 disabled
|
||||
assert len(events) == 4
|
||||
events.clear()
|
||||
|
||||
knx.xknx.current_address = IndividualAddress("1.1.1")
|
||||
|
||||
Reference in New Issue
Block a user