Hierarchy

Constructors

Methods

getBuffer getByte getPosition getWritten isMore isMoreBy readActiveEndpointsResponse readBindResponse readBindingTableResponse readBuffer readChallengeResponse readClearAllBindingsResponse readDecommissionResponse readDoubleLE readEndDeviceAnnounce readFloatLE readGetAuthenticationLevelResponse readGetConfigurationResponse readGlobalTLV readIEEEAddressResponse readIeeeAddr readInt16 readInt24 readInt32 readInt40 readInt48 readInt56 readInt64 readInt8 readLQITableResponse readLeaveResponse readListUInt16 readListUInt24 readListUInt32 readListUInt8 readMatchDescriptorsResponse readNetworkAddressResponse readNodeDescriptorResponse readNwkBeaconSurveyResponse readNwkEnhancedUpdateResponse readNwkIEEEJoiningListResponse readNwkUnsolicitedEnhancedUpdateResponse readNwkUpdateResponse readParentAnnounceResponse readPermitJoiningResponse readPowerDescriptorResponse readRetrieveAuthenticationTokenResponse readRoutingTableResponse readSetConfigurationResponse readSimpleDescriptorResponse readStartKeyNegotiationResponse readStartKeyUpdateResponse readSystemServerDiscoveryResponse readTLVs readUInt16 readUInt24 readUInt32 readUInt40 readUInt48 readUInt56 readUInt64 readUInt8 readUnbindResponse readUtf8String setByte setPosition writeBuffer writeDoubleLE writeFloatLE writeGlobalTLV writeGlobalTLVs writeIeeeAddr writeInt16 writeInt24 writeInt32 writeInt40 writeInt48 writeInt56 writeInt64 writeInt8 writeListUInt16 writeListUInt24 writeListUInt32 writeListUInt8 writeUInt16 writeUInt24 writeUInt32 writeUInt40 writeUInt48 writeUInt56 writeUInt64 writeUInt8 writeUtf8String buildRequest checkStatus readResponse

Constructors

Methods

  • Get the byte at given position without affecting the internal position tracker. TODO: move to base Buffalo class

    Parameters

    • position: number

    Returns number

  • Check if internal buffer has enough bytes to satisfy: (current position + given count). TODO: move to base Buffalo class

    Parameters

    • count: number

    Returns boolean

    True if has given more bytes

  • Returns [Zdo.Status, void]

    No response payload, throws if not success

    See

    ClusterId.BIND_RESPONSE

  • Parameters

    • length: number

    Returns Buffer

  • Returns [Zdo.Status, void]

    No response payload, throws if not success

    See

    ClusterId.CLEAR_ALL_BINDINGS_RESPONSE

  • Returns [Zdo.Status, void]

    No response payload, throws if not success

    See

    ClusterId.DECOMMISSION_RESPONSE

  • Returns [Zdo.Status, void]

    No response payload, throws if not success

    See

    ClusterId.LEAVE_RESPONSE

  • Parameters

    • length: number

    Returns number[]

  • Parameters

    • length: number

    Returns number[]

  • Parameters

    • length: number

    Returns number[]

  • Parameters

    • length: number

    Returns number[]

  • Returns [Zdo.Status, void]

    No response payload, throws if not success

    See

    ClusterId.PERMIT_JOINING_RESPONSE

  • Returns [Zdo.Status, TLVs]

    See

    ClusterId.RETRIEVE_AUTHENTICATION_TOKEN_RESPONSE

  • Returns [Zdo.Status, void]

    No response payload, throws if not success

    See

    ClusterId.START_KEY_UPDATE_RESPONSE

  • ANNEX I ZIGBEE TLV DEFINITIONS AND FORMAT

    Unknown tags => TLV ignored Duplicate tags => reject message except for MANUFACTURER_SPECIFIC_GLOBAL_TLV Malformed TLVs => reject message

    Parameters

    • Optional localTLVReaders: Map<number, LocalTLVReader>

      Mapping of tagID to local TLV reader function

    • Optional encapsulated: boolean

      Default false. If true, this is reading inside an encapsuled TLV (excludes further encapsulation)

    Returns TLV[]

  • Returns [Zdo.Status, void]

    No response payload, throws if not success

    See

    ClusterId.UNBIND_RESPONSE

  • Parameters

    • length: number

    Returns string

  • Set the byte at given position without affecting the internal position tracker. TODO: move to base Buffalo class

    Parameters

    • position: number
    • value: number

    Returns void

  • Set the position of the internal position tracker. TODO: move to base Buffalo class

    Parameters

    • position: number

    Returns void

  • Parameters

    • values: number[] | Buffer
    • length: number

    Returns void

  • Parameters

    • value: number

    Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Parameters

    • value: number

    Returns void

  • Parameters

    • value: number

    Returns void

  • Parameters

    • value: number

    Returns void

  • Parameters

    • value: number

    Returns void

  • Parameters

    • value: number

    Returns void

  • Parameters

    • value: bigint

    Returns void

  • Parameters

    • value: bigint

    Returns void

  • Parameters

    • value: number

    Returns void

  • Parameters

    • value: number

    Returns void

  • Parameters

    • value: number

    Returns void

  • Parameters

    • value: number

    Returns void

  • Parameters

    • value: number

    Returns void

  • Parameters

    • value: number

    Returns void

  • Parameters

    • value: bigint

    Returns void

  • Parameters

    • value: bigint

    Returns void

  • Parameters

    • value: number

    Returns void

  • Type Parameters

    Parameters

    • hasZdoMessageOverhead: boolean
    • clusterId: K
    • Rest ...args: RequestMap[K]

    Returns Buffer

  • Type Parameters

    • K extends number

    Parameters

    • hasZdoMessageOverhead: boolean
    • clusterId: K extends number
          ? number
          : K
    • buffer: Buffer

    Returns ResponseMap[K]

Properties

buffer: Buffer
buildActiveEndpointsRequest: any

See

ClusterId.ACTIVE_ENDPOINTS_REQUEST

Param: target

NWK address for the request

buildBindRequest: any

See

ClusterId.BIND_REQUEST

Param: source

The IEEE address for the source.

Param: sourceEndpoint

The source endpoint for the binding entry.

Param: clusterId

The identifier of the cluster on the source device that is bound to the destination.

Param: type

The addressing mode for the destination address used in this command, either ::UNICAST_BINDING, ::MULTICAST_BINDING.

Param: destination

The destination address for the binding entry. IEEE for ::UNICAST_BINDING.

Param: groupAddress

The destination address for the binding entry. Group ID for ::MULTICAST_BINDING.

Param: destinationEndpoint

The destination endpoint for the binding entry. Only if ::UNICAST_BINDING.

buildBindingTableRequest: any

See

ClusterId.BINDING_TABLE_REQUEST

Param: startIndex

Starting Index for the requested elements of the Neighbor Table.

buildChallengeRequest: any

See

ClusterId.CHALLENGE_REQUEST

buildClearAllBindingsRequest: any

See

ClusterId.CLEAR_ALL_BINDINGS_REQUEST

buildDecommissionRequest: any

See

ClusterId.DECOMMISSION_REQUEST

buildGetAuthenticationLevelRequest: any

See

ClusterId.GET_AUTHENTICATION_LEVEL_REQUEST

buildGetConfigurationRequest: any

See

ClusterId.GET_CONFIGURATION_REQUEST

Param: tlvIds

The IDs of each TLV that are being requested. Maximum number dependent on the underlying maximum size of the message as allowed by fragmentation.

buildIeeeAddressRequest: any

See

ClusterId.IEEE_ADDRESS_REQUEST Can be sent to target, or to another node that will send to target.

Param: target

NWK address for the request

Param: reportKids

True to request that the target list their children in the response. [request type = 0x01]

Param: childStartIndex

The index of the first child to list in the response. Ignored if reportKids is false.

buildLeaveRequest: any

See

ClusterId.LEAVE_REQUEST

Param: deviceAddress

All zeros if the target is to remove itself from the network or the EUI64 of a child of the target device to remove that child.

Param: leaveRequestFlags

A bitmask of leave options. Include ::AND_REJOIN if the target is to rejoin the network immediately after leaving.

buildLqiTableRequest: any

See

ClusterId.LQI_TABLE_REQUEST

Param: startIndex

Starting Index for the requested elements of the Neighbor Table.

buildMatchDescriptorRequest: any

See

ClusterId.MATCH_DESCRIPTORS_REQUEST

Param: target

NWK address for the request

Param: profileId

Profile ID to be matched at the destination

Param: inClusterList

List of Input ClusterIDs to be used for matching

Param: outClusterList

List of Output ClusterIDs to be used for matching

buildNetworkAddressRequest: any

See

ClusterId.NETWORK_ADDRESS_REQUEST

Param: target

IEEE address for the request

Param: reportKids

True to request that the target list their children in the response. [request type = 0x01]

Param: childStartIndex

The index of the first child to list in the response. Ignored if reportKids is false.

buildNodeDescriptorRequest: any

See

ClusterId.NODE_DESCRIPTOR_REQUEST

Param: target

NWK address for the request

buildNwkBeaconSurveyRequest: any

See

ClusterId.NWK_BEACON_SURVEY_REQUEST

buildNwkEnhancedUpdateRequest: any

See

ClusterId.NWK_ENHANCED_UPDATE_REQUEST

Param: channelPages

The set of channels (32-bit bitmap) for each channel page. The five most significant bits (b27,..., b31) represent the binary encoded Channel Page. The 27 least significant bits (b0, b1,... b26) indicate which channels are to be scanned (1 = scan, 0 = do not scan) for each of the 27 valid channels If duration is in the range 0x00 to 0x05, SHALL be restricted to a single page.

Param: duration

A value used to calculate the length of time to spend scanning each channel. The time spent scanning each channel is (aBaseSuperframeDuration * (2n + 1)) symbols, where n is the value of the duration parameter. If has a value of 0xfe this is a request for channel change. If has a value of 0xff this is a request to change the apsChannelMaskList and nwkManagerAddr attributes.

Param: count

This field represents the number of energy scans to be conducted and reported. This field SHALL be present only if the duration is within the range of 0x00 to 0x05.

Param: nwkUpdateId

The value of the nwkUpdateId contained in this request. This value is set by the Network Channel Manager prior to sending the message. This field SHALL only be present if the duration is 0xfe or 0xff. If the ScanDuration is 0xff, then the value in the nwkUpdateID SHALL be ignored.

Param: nwkManagerAddr

This field SHALL be present only if the duration is set to 0xff, and, where present, indicates the NWK address for the device with the Network Manager bit set in its Node Descriptor.

Param: configurationBitmask

Defined in defined in section 2.4.3.3.12. The configurationBitmask must be added to the end of the list of parameters. This octet may or may not be present. If not present then assumption should be that it is enhanced active scan. Bit 0: This bit determines whether to do an Active Scan or Enhanced Active Scan. When the bit is set to 1 it indicates an Enhanced Active Scan. And in case of Enhanced Active scan EBR shall be sent with EPID filter instead of PJOIN filter. Bit 1-7: Reserved

buildNwkIEEEJoiningListRequest: any

See

ClusterId.NWK_IEEE_JOINING_LIST_REQUEST

Param: startIndex

The starting index into the receiving device’s nwkIeeeJoiningList that SHALL be sent back.

buildNwkUpdateRequest: any

See

ClusterId.NWK_UPDATE_REQUEST

Param: channels

See Table 3-7 for details on the 32-bit field structure..

Param: duration

A value used to calculate the length of time to spend scanning each channel. The time spent scanning each channel is (aBaseSuperframeDuration * (2n + 1)) symbols, where n is the value of the duration parameter. If has a value of 0xfe this is a request for channel change. If has a value of 0xff this is a request to change the apsChannelMaskList and nwkManagerAddr attributes.

Param: count

This field represents the number of energy scans to be conducted and reported. This field SHALL be present only if the duration is within the range of 0x00 to 0x05.

Param: nwkUpdateId

The value of the nwkUpdateId contained in this request. This value is set by the Network Channel Manager prior to sending the message. This field SHALL only be present if the duration is 0xfe or 0xff. If the ScanDuration is 0xff, then the value in the nwkUpdateID SHALL be ignored.

Param: nwkManagerAddr

This field SHALL be present only if the duration is set to 0xff, and, where present, indicates the NWK address for the device with the Network Manager bit set in its Node Descriptor.

buildParentAnnounce: any

See

ClusterId.PARENT_ANNOUNCE

Param: children

The IEEE addresses of the children bound to the parent.

buildPermitJoining: any

See

ClusterId.PERMIT_JOINING_REQUEST

Param: duration

A value of 0x00 disables joining. A value of 0xFF enables joining. Any other value enables joining for that number of seconds.

Param: authentication

Controls Trust Center authentication behavior. This field SHALL always have a value of 1, indicating a request to change the Trust Center policy. If a frame is received with a value of 0, it shall be treated as having a value of 1.

buildPowerDescriptorRequest: any

See

ClusterId.POWER_DESCRIPTOR_REQUEST

Param: target

NWK address for the request

buildRetrieveAuthenticationTokenRequest: any

See

ClusterId.RETRIEVE_AUTHENTICATION_TOKEN_REQUEST

buildRoutingTableRequest: any

See

ClusterId.ROUTING_TABLE_REQUEST

Param: startIndex

Starting Index for the requested elements of the Neighbor Table.

buildSetConfigurationRequest: any

See

ClusterId.SET_CONFIGURATION_REQUEST

buildSimpleDescriptorRequest: any

See

ClusterId.SIMPLE_DESCRIPTOR_REQUEST

Param: target

NWK address for the request

Param: targetEndpoint

The endpoint on the destination

buildStartKeyNegotiationRequest: any

See

ClusterId.START_KEY_NEGOTIATION_REQUEST

buildStartKeyUpdateRequest: any

See

ClusterId.START_KEY_UPDATE_REQUEST

buildSystemServiceDiscoveryRequest: any

See

ClusterId.SYSTEM_SERVER_DISCOVERY_REQUEST

Param: serverMask

See Table 2-34 for bit assignments.

buildUnbindRequest: any

See

ClusterId.UNBIND_REQUEST

Param: source

The IEEE address for the source.

Param: sourceEndpoint

The source endpoint for the binding entry.

Param: clusterId

The identifier of the cluster on the source device that is bound to the destination.

Param: type

The addressing mode for the destination address used in this command, either ::UNICAST_BINDING, ::MULTICAST_BINDING.

Param: destination

The destination address for the binding entry. IEEE for ::UNICAST_BINDING.

Param: groupAddress

The destination address for the binding entry. Group ID for ::MULTICAST_BINDING.

Param: destinationEndpoint

The destination endpoint for the binding entry. Only if ::UNICAST_BINDING.

position: number
readAPSFrameCounterResponseTLV: any
readBeaconAppendixEncapsulationGlobalTLV: any
readBeaconSurveyResultsTLV: any
readConfigurationParametersGlobalTLV: any
readCurve25519PublicPointTLV: any
readDeviceAuthenticationLevelTLV: any
readDeviceCapabilityExtensionGlobalTLV: any
readFragmentationParametersGlobalTLV: any
readJoinerEncapsulationGlobalTLV: any
readManufacturerSpecificGlobalTLV: any
readNextChannelChangeGlobalTLV: any
readNextPanIdChangeGlobalTLV: any
readPanIdConflictReportGlobalTLV: any
readPotentialParentsTLV: any
readProcessingStatusTLV: any
readRouterInformationGlobalTLV: any
readSupportedKeyNegotiationMethodsGlobalTLV: any
readSymmetricPassphraseGlobalTLV: any
writeBeaconAppendixEncapsulationGlobalTLV: any
writeConfigurationParametersGlobalTLV: any
writeDeviceCapabilityExtensionGlobalTLV: any
writeFragmentationParametersGlobalTLV: any
writeJoinerEncapsulationGlobalTLV: any
writeManufacturerSpecificGlobalTLV: any
writeNextChannelChangeGlobalTLV: any
writeNextPanIdChangeGlobalTLV: any
writePanIdConflictReportGlobalTLV: any
writeRouterInformationGlobalTLV: any
writeSupportedKeyNegotiationMethodsGlobalTLV: any
writeSymmetricPassphraseGlobalTLV: any