Area
Area
Area(panel: DMPPanel, number: int, name: str = '', state: str = 'unknown')
Represents a DMP area.
Initialize area.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
panel
|
DMPPanel
|
Parent panel instance |
required |
number
|
int
|
Area number (1-8) |
required |
name
|
str
|
Area name |
''
|
state
|
str
|
Current area state |
'unknown'
|
panel
instance-attribute
panel = panel
number
instance-attribute
number = number
name
instance-attribute
name = name
state
property
state: str
Get current state.
is_armed
property
is_armed: bool
Check if area is armed (any armed state).
is_disarmed
property
is_disarmed: bool
Check if area is disarmed.
update_state
update_state(state: str, name: str | None = None) -> None
Update area state from status response.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
str
|
New state |
required |
name
|
str | None
|
Updated name (optional) |
None
|
arm
async
arm(bypass_faulted: bool = False, force_arm: bool = False, instant: bool | None = None) -> None
Arm area.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
bypass_faulted
|
bool
|
Bypass faulted zones (default: False) |
False
|
force_arm
|
bool
|
Force arm bad zones (default: False) |
False
|
instant
|
bool | None
|
Remove entry/exit delays (Y/N). If None, omit third flag. |
None
|
Raises:
| Type | Description |
|---|---|
DMPAreaError
|
If arm fails |
disarm
async
disarm() -> None
Disarm area.
Note: User code validation is typically done at the application level, not sent to the panel in the protocol.
Raises:
| Type | Description |
|---|---|
DMPAreaError
|
If disarm fails |
get_state
async
get_state() -> str
Get current state from panel.
Returns:
| Type | Description |
|---|---|
str
|
Current area state |
to_dict
to_dict() -> dict
Return a JSON-serializable representation of the area.
AreaSync
AreaSync(area: Area, panel_sync: DMPPanelSync)
Synchronous wrapper for Area.
Initialize sync area.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
area
|
Area
|
Async Area instance |
required |
panel_sync
|
DMPPanelSync
|
Sync panel instance |
required |
number
property
number: int
Get area number.
name
property
name: str
Get area name.
state
property
state: str
Get current state.
is_armed
property
is_armed: bool
Check if area is armed.
is_disarmed
property
is_disarmed: bool
Check if area is disarmed.
arm_sync
arm_sync(bypass_faulted: bool = False, force_arm: bool = False) -> None
Arm area (sync).
disarm_sync
disarm_sync() -> None
Disarm area (sync).
get_state_sync
get_state_sync() -> str
Get current state from panel (sync).