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 )
@@ -71,7 +62,7 @@ def __init__(
7162
7263 @property
7364 def code_format (self ) -> Optional [str ]:
74- if self .state == STATE_ALARM_DISARMED :
65+ if self .alarm_state == AlarmControlPanelState . DISARMED :
7566 code_required = self .code_arm_required
7667 else :
7768 code_required = self .code_disarm_required
@@ -181,7 +172,7 @@ async def async_alarm_arm_night(self, code=None) -> None:
181172 self ._cu .arm (code , "B" )
182173
183174 async def async_alarm_trigger (self , code = None ) -> None :
184- if self .state == STATE_ALARM_DISARMED :
175+ if self .alarm_state == AlarmControlPanelState . DISARMED :
185176 self ._cu .send_keypress_sequence ("*7" + self ._cu ._master_code , b"\xa1 " )
186177 else :
187178 self ._cu .send_keypress_sequence ("*7" + self ._cu ._master_code , b"\xa2 " )
@@ -268,59 +259,59 @@ def get_active_zone(self) -> JablotronZone:
268259 return self ._zones [0 ]
269260
270261 @property
271- def state (self ) -> str :
262+ def alarm_state (self ) -> AlarmControlPanelState | None :
272263 zone = self .get_active_zone ()
273264 if zone .status == JablotronZone .STATUS_ENTRY_DELAY :
274- return STATE_ALARM_PENDING
265+ return AlarmControlPanelState . PENDING
275266 elif zone .status == JablotronZone .STATUS_ARMING :
276- return STATE_ALARM_ARMING
267+ return AlarmControlPanelState . ARMING
277268 elif zone .status == JablotronZone .STATUS_ALARM :
278- return STATE_ALARM_TRIGGERED
269+ return AlarmControlPanelState . TRIGGERED
279270
280271 elif (
281272 zone .status == JablotronZone .STATUS_ARMED
282273 and self ._cu .mode == JA80CentralUnit .SYSTEM_MODE_UNSPLIT
283274 ):
284- return STATE_ALARM_ARMED_AWAY
275+ return AlarmControlPanelState . ARMED_AWAY
285276
286277 elif (
287278 zone .status == JablotronZone .STATUS_ARMED
288279 and self ._cu .mode == JA80CentralUnit .SYSTEM_MODE_SPLIT
289- and not zone = = self ._object
280+ and zone ! = self ._object
290281 ):
291- return STATE_ALARM_ARMED_AWAY
282+ return AlarmControlPanelState . ARMED_AWAY
292283 elif (
293284 zone .status == JablotronZone .STATUS_ARMED
294285 and self ._cu .mode == JA80CentralUnit .SYSTEM_MODE_SPLIT
295286 and zone == self ._object
296287 ):
297- return STATE_ALARM_ARMED_HOME
288+ return AlarmControlPanelState . ARMED_HOME
298289
299290 elif (
300291 zone .status == JablotronZone .STATUS_ARMED
301292 and self ._cu .mode == JA80CentralUnit .SYSTEM_MODE_PARTIAL
302293 and zone ._id == 1
303294 ):
304- return STATE_ALARM_ARMED_HOME
295+ return AlarmControlPanelState . ARMED_HOME
305296 elif (
306297 zone .status == JablotronZone .STATUS_ARMED
307298 and self ._cu .mode == JA80CentralUnit .SYSTEM_MODE_PARTIAL
308299 and zone ._id == 2
309300 ):
310- return STATE_ALARM_ARMED_NIGHT
301+ return AlarmControlPanelState . ARMED_NIGHT
311302 elif (
312303 zone .status == JablotronZone .STATUS_ARMED
313304 and self ._cu .mode == JA80CentralUnit .SYSTEM_MODE_PARTIAL
314305 and zone ._id == 3
315306 ):
316307
317- return STATE_ALARM_ARMED_AWAY
308+ return AlarmControlPanelState . ARMED_AWAY
318309 elif zone .status == JablotronZone .STATUS_DISARMED :
319- return STATE_ALARM_DISARMED
310+ return AlarmControlPanelState . DISARMED
320311 elif zone .status == JablotronZone .STATUS_DISARMING :
321- return STATE_ALARM_DISARMING
312+ return AlarmControlPanelState . DISARMING
322313
323- return STATE_UNKNOWN
314+ return AlarmControlPanelState . UNKOWN
324315
325316 @property
326317 def should_poll (self ) -> bool :
0 commit comments