circuitmatter.interaction_model =============================== .. py:module:: circuitmatter.interaction_model Classes ------- .. autoapisummary:: circuitmatter.interaction_model.StatusCode circuitmatter.interaction_model.AttributePathIB circuitmatter.interaction_model.EventPathIB circuitmatter.interaction_model.EventFilterIB circuitmatter.interaction_model.ClusterPathIB circuitmatter.interaction_model.DataVersionFilterIB circuitmatter.interaction_model.StatusIB circuitmatter.interaction_model.AttributeDataIB circuitmatter.interaction_model.AttributeStatusIB circuitmatter.interaction_model.AttributeReportIB circuitmatter.interaction_model.InteractionModelMessage circuitmatter.interaction_model.ChunkedMessage circuitmatter.interaction_model.ReadRequestMessage circuitmatter.interaction_model.WriteRequestMessage circuitmatter.interaction_model.WriteResponseMessage circuitmatter.interaction_model.EventStatusIB circuitmatter.interaction_model.EventDataIB circuitmatter.interaction_model.EventReportIB circuitmatter.interaction_model.ReportDataMessage circuitmatter.interaction_model.CommandPathIB circuitmatter.interaction_model.CommandDataIB circuitmatter.interaction_model.CommandStatusIB circuitmatter.interaction_model.InvokeResponseIB circuitmatter.interaction_model.InvokeRequestMessage circuitmatter.interaction_model.InvokeResponseMessage circuitmatter.interaction_model.SubscribeRequestMessage circuitmatter.interaction_model.StatusResponseMessage circuitmatter.interaction_model.SubscribeResponseMessage Module Contents --------------- .. py:class:: StatusCode Bases: :py:obj:`enum.IntEnum` Enum where members are also (and must be) ints .. py:attribute:: SUCCESS :value: 0 Operation was successful. .. py:attribute:: FAILURE :value: 1 Operation was not successful. .. py:attribute:: INVALID_SUBSCRIPTION :value: 125 Subscription ID is not active. .. py:attribute:: UNSUPPORTED_ACCESS :value: 126 The sender of the action or command does not have authorization or access. .. py:attribute:: UNSUPPORTED_ENDPOINT :value: 127 The endpoint indicated is unsupported on the node. .. py:attribute:: INVALID_ACTION :value: 128 The action is malformed, has missing fields, or fields with invalid values. Action not carried out. .. py:attribute:: UNSUPPORTED_COMMAND :value: 129 The indicated command ID is not supported on the cluster instance. Command not carried out. .. py:attribute:: INVALID_COMMAND :value: 133 The cluster command is malformed, has missing fields, or fields with invalid values. Command not carried out. .. py:attribute:: UNSUPPORTED_ATTRIBUTE :value: 134 The indicated attribute ID, field ID or list entry does not exist for an attribute path. .. py:attribute:: CONSTRAINT_ERROR :value: 135 Out of range error or set to a reserved value. Attribute keeps its old value. Note that an attribute value may be out of range if an attribute is related to another, e.g. with minimum and maximum attributes. See the individual attribute descriptions for specific details. .. py:attribute:: UNSUPPORTED_WRITE :value: 136 Attempt to write a read-only attribute. .. py:attribute:: RESOURCE_EXHAUSTED :value: 137 An action or operation failed due to insufficient available resources. .. py:attribute:: NOT_FOUND :value: 139 The indicated data field or entry could not be found. .. py:attribute:: UNREPORTABLE_ATTRIBUTE :value: 140 Reports cannot be issued for this attribute. .. py:attribute:: INVALID_DATA_TYPE :value: 141 The data type indicated is undefined or invalid for the indicated data field. Command or action not carried out. .. py:attribute:: UNSUPPORTED_READ :value: 143 Attempt to read a write-only attribute. .. py:attribute:: DATA_VERSION_MISMATCH :value: 146 Cluster instance data version did not match request path. .. py:attribute:: TIMEOUT :value: 148 The transaction was aborted due to time being exceeded. .. py:attribute:: UNSUPPORTED_NODE :value: 155 The node ID indicated is not supported on the node. .. py:attribute:: BUSY :value: 156 The receiver is busy processing another action that prevents the execution of the incoming action. .. py:attribute:: UNSUPPORTED_CLUSTER :value: 195 The cluster indicated is not supported on the endpoint. .. py:attribute:: NO_UPSTREAM_SUBSCRIPTION :value: 197 Used by proxies to convey to clients the lack of an upstream subscription to a source. .. py:attribute:: NEEDS_TIMED_INTERACTION :value: 198 A Untimed Write or Untimed Invoke interaction was used for an attribute or command that requires a Timed Write or Timed Invoke. .. py:attribute:: UNSUPPORTED_EVENT :value: 199 The indicated event ID is not supported on the cluster instance. .. py:attribute:: PATHS_EXHAUSTED :value: 200 The receiver has insufficient resources to support the specified number of paths in the request. .. py:attribute:: TIMED_REQUEST_MISMATCH :value: 201 A request with TimedRequest field set to TRUE was issued outside a Timed transaction or a request with TimedRequest set to FALSE was issued inside a Timed transaction. .. py:attribute:: FAILSAFE_REQUIRED :value: 202 A request requiring a Fail-safe context was invoked without the Fail-Safe context. .. py:attribute:: INVALID_IN_STATE :value: 203 The received request cannot be handled due to the current operational state of the device. .. py:attribute:: NO_COMMAND_RESPONSE :value: 204 A CommandDataIB is missing a response in the InvokeResponses of an Invoke Response action. .. py:class:: AttributePathIB Bases: :py:obj:`circuitmatter.tlv.List` Section 10.6.2 .. py:attribute:: EnableTagCompression .. py:attribute:: Node .. py:attribute:: Endpoint .. py:attribute:: Cluster .. py:attribute:: Attribute .. py:attribute:: ListIndex .. py:attribute:: WildcardPathFlags .. py:attribute:: items :value: [] .. py:attribute:: values .. py:method:: __iter__() .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: from_value(value) :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:method:: copy() .. py:method:: max_length() :classmethod: .. py:class:: EventPathIB Bases: :py:obj:`circuitmatter.tlv.List` Section 10.6.8 .. py:attribute:: Node .. py:attribute:: Endpoint .. py:attribute:: Cluster .. py:attribute:: Event .. py:attribute:: IsUrgent .. py:attribute:: items :value: [] .. py:attribute:: values .. py:method:: __iter__() .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: from_value(value) :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:method:: copy() .. py:method:: max_length() :classmethod: .. py:class:: EventFilterIB Bases: :py:obj:`circuitmatter.tlv.Structure` Section 10.6.6 .. py:attribute:: Node .. py:attribute:: EventMinimumInterval .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: ClusterPathIB Bases: :py:obj:`circuitmatter.tlv.List` .. py:attribute:: Node .. py:attribute:: Endpoint .. py:attribute:: Cluster .. py:attribute:: items :value: [] .. py:attribute:: values .. py:method:: __iter__() .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: from_value(value) :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:method:: copy() .. py:method:: max_length() :classmethod: .. py:class:: DataVersionFilterIB Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: Path .. py:attribute:: DataVersion .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: StatusIB Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: Status .. py:attribute:: ClusterStatus .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: AttributeDataIB Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: DataVersion .. py:attribute:: Path .. py:attribute:: Data .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: AttributeStatusIB Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: Path .. py:attribute:: Status .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: AttributeReportIB Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: AttributeStatus .. py:attribute:: AttributeData .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: InteractionModelMessage Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: PROTOCOL_ID .. py:attribute:: InteractionModelRevision .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: ChunkedMessage Bases: :py:obj:`InteractionModelMessage` Chunked messages take multiple encodes or decodes before they are complete. .. py:method:: encode_into(buffer: memoryview, offset: int = 0) -> int .. py:attribute:: PROTOCOL_ID .. py:attribute:: InteractionModelRevision .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: ReadRequestMessage Bases: :py:obj:`InteractionModelMessage` .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: AttributeRequests .. py:attribute:: EventRequests .. py:attribute:: EventFilters .. py:attribute:: FabricFiltered .. py:attribute:: DataVersionFilters .. py:attribute:: PROTOCOL_ID .. py:attribute:: InteractionModelRevision .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: WriteRequestMessage Bases: :py:obj:`ChunkedMessage` Chunked messages take multiple encodes or decodes before they are complete. .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: SuppressResponse .. py:attribute:: TimedRequest .. py:attribute:: WriteRequests .. py:attribute:: MoreChunkedMessages .. py:method:: encode_into(buffer: memoryview, offset: int = 0) -> int .. py:attribute:: PROTOCOL_ID .. py:attribute:: InteractionModelRevision .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: WriteResponseMessage Bases: :py:obj:`InteractionModelMessage` .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: WriteResponses .. py:attribute:: PROTOCOL_ID .. py:attribute:: InteractionModelRevision .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: EventStatusIB Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: Path .. py:attribute:: Status .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: EventDataIB Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: Path .. py:attribute:: EventNumber .. py:attribute:: PriorityLevel .. py:attribute:: EpochTimestamp .. py:attribute:: SystemTimestamp .. py:attribute:: DeltaEpochTimestamp .. py:attribute:: DeltaSystemTimestamp .. py:attribute:: Data .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: EventReportIB Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: EventStatus .. py:attribute:: EventData .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: ReportDataMessage Bases: :py:obj:`ChunkedMessage` Chunked messages take multiple encodes or decodes before they are complete. .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: SubscriptionId .. py:attribute:: AttributeReports .. py:attribute:: EventReports .. py:attribute:: MoreChunkedMessages .. py:attribute:: SuppressResponse .. py:method:: encode_into(buffer: memoryview, offset: int = 0) -> int .. py:attribute:: PROTOCOL_ID .. py:attribute:: InteractionModelRevision .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: CommandPathIB Bases: :py:obj:`circuitmatter.tlv.List` .. py:attribute:: Endpoint .. py:attribute:: Cluster .. py:attribute:: Command .. py:attribute:: items :value: [] .. py:attribute:: values .. py:method:: __iter__() .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: from_value(value) :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:method:: copy() .. py:method:: max_length() :classmethod: .. py:class:: CommandDataIB Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: CommandPath .. py:attribute:: CommandFields .. py:attribute:: CommandRef .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: CommandStatusIB Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: CommandPath .. py:attribute:: Status .. py:attribute:: CommandRef .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: InvokeResponseIB Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: Command .. py:attribute:: Status .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: InvokeRequestMessage Bases: :py:obj:`InteractionModelMessage` .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: SuppressResponse .. py:attribute:: TimedRequest .. py:attribute:: InvokeRequests .. py:attribute:: PROTOCOL_ID .. py:attribute:: InteractionModelRevision .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: InvokeResponseMessage Bases: :py:obj:`InteractionModelMessage` .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: SuppressResponse .. py:attribute:: InvokeResponses .. py:attribute:: MoreChunkedMessages .. py:attribute:: PROTOCOL_ID .. py:attribute:: InteractionModelRevision .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: SubscribeRequestMessage Bases: :py:obj:`InteractionModelMessage` .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: KeepSubscriptions .. py:attribute:: MinIntervalFloor .. py:attribute:: MaxIntervalCeiling .. py:attribute:: AttributeRequests .. py:attribute:: EventRequests .. py:attribute:: EventFilters .. py:attribute:: FabricFiltered .. py:attribute:: DataVersionFilters .. py:attribute:: PROTOCOL_ID .. py:attribute:: InteractionModelRevision .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: StatusResponseMessage Bases: :py:obj:`InteractionModelMessage` .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: Status .. py:attribute:: PROTOCOL_ID .. py:attribute:: InteractionModelRevision .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: SubscribeResponseMessage Bases: :py:obj:`InteractionModelMessage` .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: SubscriptionId .. py:attribute:: MaxInterval .. py:attribute:: PROTOCOL_ID .. py:attribute:: InteractionModelRevision .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag)