Skip to content

Commit bfa0d70

Browse files
authored
Merge pull request #153 from natekspencer/dev
Use AlarmControlPanelState introduced in HA 2024.11
2 parents 93c1897 + f3e8ccd commit bfa0d70

File tree

3 files changed

+17
-24
lines changed

3 files changed

+17
-24
lines changed

custom_components/vivint/alarm_control_panel.py

+14-22
Original file line numberDiff line numberDiff line change
@@ -11,37 +11,29 @@
1111
DOMAIN as PLATFORM,
1212
AlarmControlPanelEntity,
1313
AlarmControlPanelEntityFeature as Feature,
14+
AlarmControlPanelState,
1415
CodeFormat,
1516
)
16-
from homeassistant.const import (
17-
STATE_ALARM_ARMED_AWAY,
18-
STATE_ALARM_ARMED_HOME,
19-
STATE_ALARM_ARMING,
20-
STATE_ALARM_DISARMED,
21-
STATE_ALARM_PENDING,
22-
STATE_ALARM_TRIGGERED,
23-
)
2417
from homeassistant.core import HomeAssistant
2518
from homeassistant.helpers import entity_registry as er
2619
from homeassistant.helpers.entity_platform import AddEntitiesCallback
27-
from homeassistant.helpers.typing import StateType
2820

2921
from . import VivintConfigEntry
3022
from .const import CONF_DISARM_CODE, DOMAIN
3123
from .hub import VivintEntity, VivintHub
3224

3325
ARMED_STATE_MAP = {
34-
ArmedState.DISARMED: STATE_ALARM_DISARMED,
35-
ArmedState.ARMING_AWAY_IN_EXIT_DELAY: STATE_ALARM_ARMING,
36-
ArmedState.ARMING_STAY_IN_EXIT_DELAY: STATE_ALARM_ARMING,
37-
ArmedState.ARMED_STAY: STATE_ALARM_ARMED_HOME,
38-
ArmedState.ARMED_AWAY: STATE_ALARM_ARMED_AWAY,
39-
ArmedState.ARMED_STAY_IN_ENTRY_DELAY: STATE_ALARM_PENDING,
40-
ArmedState.ARMED_AWAY_IN_ENTRY_DELAY: STATE_ALARM_PENDING,
41-
ArmedState.ALARM: STATE_ALARM_TRIGGERED,
42-
ArmedState.ALARM_FIRE: STATE_ALARM_TRIGGERED,
43-
ArmedState.DISABLED: STATE_ALARM_DISARMED,
44-
ArmedState.WALK_TEST: STATE_ALARM_DISARMED,
26+
ArmedState.DISARMED: AlarmControlPanelState.DISARMED,
27+
ArmedState.ARMING_AWAY_IN_EXIT_DELAY: AlarmControlPanelState.ARMING,
28+
ArmedState.ARMING_STAY_IN_EXIT_DELAY: AlarmControlPanelState.ARMING,
29+
ArmedState.ARMED_STAY: AlarmControlPanelState.ARMED_HOME,
30+
ArmedState.ARMED_AWAY: AlarmControlPanelState.ARMED_AWAY,
31+
ArmedState.ARMED_STAY_IN_ENTRY_DELAY: AlarmControlPanelState.PENDING,
32+
ArmedState.ARMED_AWAY_IN_ENTRY_DELAY: AlarmControlPanelState.PENDING,
33+
ArmedState.ALARM: AlarmControlPanelState.TRIGGERED,
34+
ArmedState.ALARM_FIRE: AlarmControlPanelState.TRIGGERED,
35+
ArmedState.DISABLED: AlarmControlPanelState.DISARMED,
36+
ArmedState.WALK_TEST: AlarmControlPanelState.DISARMED,
4537
}
4638

4739

@@ -92,8 +84,8 @@ def __init__(
9284
self._disarm_code = disarm_code
9385

9486
@property
95-
def state(self) -> StateType:
96-
"""Return the state of the alarm control panel."""
87+
def alarm_state(self) -> AlarmControlPanelState | None:
88+
"""Return the current alarm control panel entity state."""
9789
return ARMED_STATE_MAP.get(self.device.state)
9890

9991
async def async_alarm_disarm(self, code: str | None = None) -> None:

hacs.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "Vivint",
3-
"homeassistant": "2023.8.0",
3+
"homeassistant": "2024.11.0",
44
"render_readme": true,
55
"zip_release": true,
66
"filename": "vivint.zip"

requirements.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# Home Assistant
2-
homeassistant>=2024.4
2+
homeassistant>=2024.11b
33
python-dateutil
44
numpy
5+
PyTurboJPEG
56

67
# Integration
78
vivintpy

0 commit comments

Comments
 (0)