Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Library = &Zcl{cluster.NewClusterLibrary()}
the default library. not sure if we ever need additional ones?
Functions ¶
This section is empty.
Types ¶
type ClusterQuery ¶
type CommandExtractor ¶
type CommandExtractor func(commandDescriptors map[uint8]*cluster.CommandDescriptor) (uint8, *cluster.CommandDescriptor, error)
type CommandQuery ¶
type Zcl ¶
type Zcl struct {
// contains filtered or unexported fields
}
func (*Zcl) ToZclIncomingMessage ¶
func (z *Zcl) ToZclIncomingMessage(m *znp.AfIncomingMessage) (*ZclIncomingMessage, error)
returns ~ 1:1 AfIncomingMessage but its Data is parsed as specified by (cluster, command) pair
type ZclFrame ¶
type ZclFrame struct {
FrameControl *ZclFrameControl
ManufacturerCode uint16
TransactionSequenceNumber uint8
CommandIdentifier uint8
CommandName string // TODO: make Command an interface that has Name()?
Command interface{}
}
type ZclFrameControl ¶
type ZclIncomingMessage ¶
type ZclIncomingMessage struct {
// TODO: instead make most of the shared attributes composed from AfIncomingMessage?
GroupID uint16
ClusterID cluster.ClusterId
SrcAddr string
SrcEndpoint zigbee.EndpointId
DstEndpoint zigbee.EndpointId
WasBroadcast bool
LinkQuality uint8
SecurityUse bool
Timestamp uint32
TransactionSeqNumber uint8
Data *ZclFrame
}
mapped almost 1:1 from znp.AfIncomingMessage, but Data is decoded
Click to show internal directories.
Click to hide internal directories.