Skip to content

Zone

Zone

Zone(panel: DMPPanel, number: int, name: str = '', state: str = 'unknown')

Represents a DMP zone.

Initialize zone.

Parameters:

Name Type Description Default
panel DMPPanel

Parent panel instance

required
number int

Zone number (1-999)

required
name str

Zone name

''
state str

Current zone 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_open property

is_open: bool

Check if zone is open/tripped.

is_normal property

is_normal: bool

Check if zone is normal (closed).

is_bypassed property

is_bypassed: bool

Check if zone is bypassed.

has_fault property

has_fault: bool

Check if zone has a fault.

formatted_number property

formatted_number: str

Get zero-padded 3-digit zone number.

update_state

update_state(state: str, name: str | None = None) -> None

Update zone state from status response.

Parameters:

Name Type Description Default
state str

New state

required
name str | None

Updated name (optional)

None

bypass async

bypass() -> None

Bypass this zone.

Raises:

Type Description
DMPZoneError

If bypass fails

restore async

restore() -> None

Restore (un-bypass) this zone.

Raises:

Type Description
DMPZoneError

If restore fails

get_state async

get_state() -> str

Get current state from panel.

Returns:

Type Description
str

Current zone state

to_dict

to_dict() -> dict

Return a JSON-serializable representation of the zone.

ZoneSync

ZoneSync(zone: Zone, panel_sync: DMPPanelSync)

Synchronous wrapper for Zone.

Initialize sync zone.

Parameters:

Name Type Description Default
zone Zone

Async Zone instance

required
panel_sync DMPPanelSync

Sync panel instance

required

number property

number: int

Get zone number.

name property

name: str

Get zone name.

state property

state: str

Get current state.

is_open property

is_open: bool

Check if zone is open.

is_normal property

is_normal: bool

Check if zone is normal.

is_bypassed property

is_bypassed: bool

Check if zone is bypassed.

has_fault property

has_fault: bool

Check if zone has fault.

formatted_number property

formatted_number: str

Get formatted number.

bypass_sync

bypass_sync() -> None

Bypass zone (sync).

restore_sync

restore_sync() -> None

Restore zone (sync).

get_state_sync

get_state_sync() -> str

Get current state from panel (sync).