pyg90alarm.local.paginated_cmd

Implements paginated command for G90 alarm panel protocol.

Classes

G90PaginatedCommand(host, port, code, start, ...)

Implements paginated command for alarm panel protocol.

class pyg90alarm.local.paginated_cmd.G90PaginatedCommand(host, port, code, start, end, **kwargs)

Bases: G90BaseCommand

Implements paginated command for alarm panel protocol.

property total: int

Total number of records available.

property start: int

Index of the first record in the response.

property count: int

Number of records in the response.

decode_data(payload)

Parses the response from the alarm panel.

Return type:

List[Any]

connection_lost(exc)

Invoked when connection is lost.

Return type:

None

connection_made(transport)

Invoked when connection is established.

Return type:

None

datagram_received(data, addr)

Invoked when datagram is received.

Return type:

None

encode_data(data)

Encodes the command data to JSON string.

Return type:

str

error_received(exc)

Invoked when error is received.

Return type:

None

property expects_response: bool

Indicates whether the command expects a response.

from_wire(data)

Parses the response from the alarm panel.

Return type:

List[Any]

property host: str

The hostname/IP address of the alarm panel.

pause_writing()

Called when the transport’s buffer goes over the high-water mark.

Pause and resume calls are paired – pause_writing() is called once when the buffer goes strictly over the high-water mark (even if subsequent writes increases the buffer size even more), and eventually resume_writing() is called once when the buffer size reaches the low-water mark.

Note that if the buffer size equals the high-water mark, pause_writing() is not called – it must go strictly over. Conversely, resume_writing() is called when the buffer size is equal or lower than the low-water mark. These end conditions are important to ensure that things go as expected when either mark is zero.

NOTE: This is the only Protocol callback that is not called through EventLoop.call_soon() – if it were, it would have no effect when it’s most needed (when the app keeps writing without yielding until pause_writing() is called).

property port: int

The port of the alarm panel.

async process()

Processes the command.

Return type:

Self

property result: List[Any]

The result of the command.

resume_writing()

Called when the transport’s buffer drains below the low-water mark.

See pause_writing() for details.

to_wire()

Returns the command in wire format.

Return type:

bytes