88 CodeFormat ,
99 ATTR_CHANGED_BY ,
1010 ATTR_CODE_ARM_REQUIRED ,
11+ AlarmControlPanelState ,
1112)
1213
1314from homeassistant .const import (
1415 ATTR_CODE ,
1516 ATTR_CODE_FORMAT ,
16- STATE_ALARM_DISARMED ,
17- STATE_ALARM_ARMED_HOME ,
18- STATE_ALARM_ARMED_AWAY ,
19- STATE_ALARM_ARMED_NIGHT ,
20- STATE_ALARM_ARMED_CUSTOM_BYPASS ,
21- STATE_ALARM_PENDING ,
22- STATE_ALARM_ARMING ,
23- STATE_ALARM_DISARMING ,
24- STATE_ALARM_TRIGGERED ,
25- STATE_UNKNOWN ,
2617)
2718from .const import (
2819 CONFIGURATION_REQUIRE_CODE_TO_ARM ,
@@ -45,7 +36,7 @@ async def async_setup_entry(
4536) -> None :
4637 cu = hass .data [DOMAIN ][config_entry .entry_id ][DATA_JABLOTRON ]
4738 # how to handle split system?
48- if not cu .mode = = JA80CentralUnit .SYSTEM_MODE_SPLIT :
39+ if cu .mode ! = JA80CentralUnit .SYSTEM_MODE_SPLIT :
4940 async_add_entities ([Jablotron80AlarmControl (cu , cu .zones )], True )
5041 else :
5142 async_add_entities ([Jablotron80AlarmControl (cu , cu .zones , 0 )], True )
@@ -69,9 +60,10 @@ def __init__(
6960 self ._zones = zones
7061 self ._changed_by = "ME"
7162
63+
7264 @property
7365 def code_format (self ) -> Optional [str ]:
74- if self .state == STATE_ALARM_DISARMED :
66+ if self .alarm_state == AlarmControlPanelState . DISARMED :
7567 code_required = self .code_arm_required
7668 else :
7769 code_required = self .code_disarm_required
@@ -181,7 +173,7 @@ async def async_alarm_arm_night(self, code=None) -> None:
181173 self ._cu .arm (code , "B" )
182174
183175 async def async_alarm_trigger (self , code = None ) -> None :
184- if self .state == STATE_ALARM_DISARMED :
176+ if self .alarm_state == AlarmControlPanelState . DISARMED :
185177 self ._cu .send_keypress_sequence ("*7" + self ._cu ._master_code , b"\xa1 " )
186178 else :
187179 self ._cu .send_keypress_sequence ("*7" + self ._cu ._master_code , b"\xa2 " )
@@ -268,59 +260,59 @@ def get_active_zone(self) -> JablotronZone:
268260 return self ._zones [0 ]
269261
270262 @property
271- def state (self ) -> str :
263+ def alarm_state (self ) -> AlarmControlPanelState | None :
272264 zone = self .get_active_zone ()
273265 if zone .status == JablotronZone .STATUS_ENTRY_DELAY :
274- return STATE_ALARM_PENDING
266+ return AlarmControlPanelState . PENDING
275267 elif zone .status == JablotronZone .STATUS_ARMING :
276- return STATE_ALARM_ARMING
268+ return AlarmControlPanelState . ARMING
277269 elif zone .status == JablotronZone .STATUS_ALARM :
278- return STATE_ALARM_TRIGGERED
270+ return AlarmControlPanelState . TRIGGERED
279271
280272 elif (
281273 zone .status == JablotronZone .STATUS_ARMED
282274 and self ._cu .mode == JA80CentralUnit .SYSTEM_MODE_UNSPLIT
283275 ):
284- return STATE_ALARM_ARMED_AWAY
276+ return AlarmControlPanelState . ARMED_AWAY
285277
286278 elif (
287279 zone .status == JablotronZone .STATUS_ARMED
288280 and self ._cu .mode == JA80CentralUnit .SYSTEM_MODE_SPLIT
289- and not zone = = self ._object
281+ and zone ! = self ._object
290282 ):
291- return STATE_ALARM_ARMED_AWAY
283+ return AlarmControlPanelState . ARMED_AWAY
292284 elif (
293285 zone .status == JablotronZone .STATUS_ARMED
294286 and self ._cu .mode == JA80CentralUnit .SYSTEM_MODE_SPLIT
295287 and zone == self ._object
296288 ):
297- return STATE_ALARM_ARMED_HOME
289+ return AlarmControlPanelState . ARMED_HOME
298290
299291 elif (
300292 zone .status == JablotronZone .STATUS_ARMED
301293 and self ._cu .mode == JA80CentralUnit .SYSTEM_MODE_PARTIAL
302294 and zone ._id == 1
303295 ):
304- return STATE_ALARM_ARMED_HOME
296+ return AlarmControlPanelState . ARMED_HOME
305297 elif (
306298 zone .status == JablotronZone .STATUS_ARMED
307299 and self ._cu .mode == JA80CentralUnit .SYSTEM_MODE_PARTIAL
308300 and zone ._id == 2
309301 ):
310- return STATE_ALARM_ARMED_NIGHT
302+ return AlarmControlPanelState . ARMED_NIGHT
311303 elif (
312304 zone .status == JablotronZone .STATUS_ARMED
313305 and self ._cu .mode == JA80CentralUnit .SYSTEM_MODE_PARTIAL
314306 and zone ._id == 3
315307 ):
316308
317- return STATE_ALARM_ARMED_AWAY
309+ return AlarmControlPanelState . ARMED_AWAY
318310 elif zone .status == JablotronZone .STATUS_DISARMED :
319- return STATE_ALARM_DISARMED
311+ return AlarmControlPanelState . DISARMED
320312 elif zone .status == JablotronZone .STATUS_DISARMING :
321- return STATE_ALARM_DISARMING
313+ return AlarmControlPanelState . DISARMING
322314
323- return STATE_UNKNOWN
315+ return AlarmControlPanelState . UNKOWN
324316
325317 @property
326318 def should_poll (self ) -> bool :
0 commit comments