1 """Helper to test significant Alarm Control Panel state changes."""
3 from __future__
import annotations
9 from .
import ATTR_CHANGED_BY, ATTR_CODE_ARM_REQUIRED
11 SIGNIFICANT_ATTRIBUTES: set[str] = {
13 ATTR_CODE_ARM_REQUIRED,
26 """Test if state significantly changed."""
27 if old_state != new_state:
31 {k: v
for k, v
in old_attrs.items()
if k
in SIGNIFICANT_ATTRIBUTES}.items()
34 {k: v
for k, v
in new_attrs.items()
if k
in SIGNIFICANT_ATTRIBUTES}.items()
36 changed_attrs: set[str] = {item[0]
for item
in old_attrs_s ^ new_attrs_s}
bool|None async_check_significant_change(HomeAssistant hass, str old_state, dict old_attrs, str new_state, dict new_attrs, **Any kwargs)