-
Notifications
You must be signed in to change notification settings - Fork 19
IM Class
Tom Harris edited this page Jun 12, 2018
·
12 revisions
The IM class is the an abstract class representing an Insteon Modem that handles reading and writing to the physical modem. The two concrete classes are:
The IM class inherits from the Insteon Device
class and implements the asyncio.Protocol
interface.
The IM class contains the following public properties:
-
devices: An instance of
LinkedDevices
that contains the list of Insteon and X10 devices that the IM can communicate to. - loop: The asyncio loop used to provide asynchronous handling of Insteon messages.
-
message_callbacks: An instance of
MessageCallbacks
used to define how inbound messages are processed by the module.
The IM class contains the following public methods:
-
connection_made: An
asyncio.protocol
interface method which is called after a connection is made to the physical device. Theconnection_made
method takes the following parameters:-
transport: An
asyncio.transport
object representing a communication transport to the physical device.
-
transport: An
-
data_received: An
asyncio.protocol
interface method which is called when the underlying transport receives data from the physical device. Thedata_received
method takes the following parameters:-
data: A byte string of data received from the
transport
.
-
data: A byte string of data received from the
-
connection_lost: An
asyncio.protocol
interface method which is called after the connection to the physical device is lost. Theconnection_lost
method takes the following parameters:- exc: The argument is either an exception or None. If None, a regular EOF has been received, or the connection was aborted or closed by this side of the connection.
-
add_device_callback: Used by the control software to register a callback when a new device is added to the
IM.devices
list. During startup the IM ALDB is queried for the linked devices and each device is queried for its device information. When a new device is found, the registered callback(s) implements the following interface:callback(device)
wheredevice
is an InsteonDevice
or anX10Device
. -
add_all_link_done_callback: Used by the control software to register a callback which is called when the All-Link database is loaded into the IM. The callback(s) implements the following interface:
callback(device_address)
wheredevice_address
is anAddress
class representing the Insteon or X10 device address. -
add_device_not_active_callback: Used by the control software to register a callback which is called when a device in the All-Link database does not respond to a device information request. During startup, each device is queried for its device information. If a device does not respond after five attempts, the device is determined to be unavailable and the registered callback is called to notify the control software of the unresponsive device. The callback implements the following interface:
callback()
.
Startup Process
IM Class
-
PLM Class
-
Hub Class