pyzwave.zipgateway module

class pyzwave.zipgateway.ZIPGateway(address, psk)

Bases: pyzwave.zipconnection.ZIPConnection

Class for communicating with a zipgateway

async addNode(txOptions: pyzwave.adapter.TxOptions) → bool

Start inclusion mode in the controller

async addNodeDSKSet(accept: bool, inputDSKLength: int, dsk: pyzwave.types.dsk_t) → bool

This command is used to indicate the S2 bootstrapping controller if the DSK is accepted and report the user input when needed.

async addNodeKeysSet(grantCSA: bool, accept: bool, grantedKeys: pyzwave.commandclass.NetworkManagementInclusion.Keys) → bool

This command is used to inform an S2 bootstrapping controller which keys must be granted to the node being bootstrapped.

async addNodeStop() → bool

Stop inclusion mode in the controller

async connect()

Connect the adapter. Must be implemented by subclass

async connectToNode(nodeId) → pyzwave.zipconnection.ZIPConnection

Returns a connection to the node

async getFailedNodeList() → list

Return a list of failing nodes

async getMultiChannelCapability(nodeId: int, endpoint: int) → pyzwave.commandclass.NetworkManagementProxy.MultiChannelCapabilityReport

Return the multi channel capabilities for an endpoint in a node

async getMultiChannelEndPoints(nodeId: int) → int

Return the number of multi channel end points implemented by a node

async getNodeInfo(nodeId: int) → pyzwave.commandclass.NetworkManagementProxy.NodeInfoCachedReport

Return the node info from this node. Possibly cached

async getNodeList() → set

Return a list of nodes included in the network

async ipOfNode(nodeId) → ipaddress.IPv6Address

Returns the IPv6 address of the node

onMessageReceived(connection: pyzwave.zipconnection.ZIPConnection, message: pyzwave.message.Message)

Called when a message is received from any node connection. Not unsolicited.

onUnsolicitedMessage(pkt, address)

Called when an unsolicited message is received. We do not know the node id the message is from. Only the ip address.

async removeFailedNode(nodeId: int) → pyzwave.commandclass.NetworkManagementInclusion.FailedNodeRemoveStatus.Status

Remove a non-responding node

async removeNode() → bool

Start exclusion mode in the controller

async removeNodeStop() → bool

Stop exclusion mode in the controller

async sendToNode(nodeId: int, cmd: pyzwave.message.Message, **kwargs) → bool

Send message to node. Must be implemented in subclass

async setGatewayMode(mode: int, timeout: int = 3) → bool

Set gateway to standalone or portal mode

async setNodeInfo(generic, specific, cmdClasses)

Set the application NIF (Node Information Frame). This method should not be called directly. Use the corresponding function in Application instead.

async setupUnsolicitedConnection()

Setup for listening for unsolicited connections. This function must not be called explicitly. It is called by the connect() method automatically