Skip to content

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).