cc

package
v0.0.0-...-c4a4cf6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2020 License: MIT Imports: 5 Imported by: 134

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotRegistered    = errors.New("No factory exists for the specified command class")
	ErrPayloadUnderflow = errors.New("Payload length underflow")
)
View Source
var BasicDeviceTypeNames map[BasicDeviceType]string = map[BasicDeviceType]string{

	BasicTypeController:       "Controller",
	BasicTypeRoutingSlave:     "Routing Slave",
	BasicTypeSlave:            "Slave",
	BasicTypeStaticController: "Static Controller",
}
View Source
var GenericDeviceTypeNames map[GenericDeviceType]string = map[GenericDeviceType]string{

	GenericTypeAvControlPoint:     "Av Control Point",
	GenericTypeDisplay:            "Display",
	GenericTypeEntryControl:       "Entry Control",
	GenericTypeGenericController:  "Generic Controller",
	GenericTypeMeter:              "Meter",
	GenericTypeMeterPulse:         "Meter Pulse",
	GenericTypeNonInteroperable:   "Non Interoperable",
	GenericTypeRepeaterSlave:      "Repeater Slave",
	GenericTypeSecurityPanel:      "Security Panel",
	GenericTypeSemiInteroperable:  "Semi Interoperable",
	GenericTypeSensorAlarm:        "Sensor Alarm",
	GenericTypeSensorBinary:       "Sensor Binary",
	GenericTypeSensorMultilevel:   "Sensor Multilevel",
	GenericTypeStaticController:   "Static Controller",
	GenericTypeSwitchBinary:       "Switch Binary",
	GenericTypeSwitchMultilevel:   "Switch Multilevel",
	GenericTypeSwitchRemote:       "Switch Remote",
	GenericTypeSwitchToggle:       "Switch Toggle",
	GenericTypeThermostat:         "Thermostat",
	GenericTypeVentilation:        "Ventilation",
	GenericTypeWindowCovering:     "Window Covering",
	GenericTypeZipNode:            "Zip Node",
	GenericTypeWallController:     "Wall Controller",
	GenericTypeNetworkExtender:    "Network Extender",
	GenericTypeAppliance:          "Appliance",
	GenericTypeSensorNotification: "Sensor Notification",
}
View Source
var SpecificDeviceTypeNames map[GenericDeviceType]map[SpecificDeviceType]string = map[GenericDeviceType]map[SpecificDeviceType]string{
	GenericTypeAvControlPoint: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:             "Not Used",
		SpecificTypeDoorbell:            "Doorbell",
		SpecificTypeSatelliteReceiver:   "Satellite Receiver",
		SpecificTypeSatelliteReceiverV2: "Satellite Receiver V2",
	},
	GenericTypeDisplay: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:       "Not Used",
		SpecificTypeSimpleDisplay: "Simple Display",
	},
	GenericTypeEntryControl: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:                      "Not Used",
		SpecificTypeDoorLock:                     "Door Lock",
		SpecificTypeAdvancedDoorLock:             "Advanced Door Lock",
		SpecificTypeSecureKeypadDoorLock:         "Secure Keypad Door Lock",
		SpecificTypeSecureKeypadDoorLockDeadbolt: "Door Lock Keypad Deadbolt",
		SpecificTypeSecureDoor:                   "Secure Door",
		SpecificTypeSecureGate:                   "Secure Gate",
		SpecificTypeSecureBarrierAddon:           "Secure Barrier Addon",
		SpecificTypeSecureBarrierOpenOnly:        "Secure Barrier Open Only",
		SpecificTypeSecureBarrierCloseOnly:       "Secure Barrier Close Only",
		SpecificTypeSecureLockbox:                "Secure Lockbox",
		SpecificTypeSecureKeypad:                 "Secure Keypad",
	},
	GenericTypeGenericController: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:                  "Not Used",
		SpecificTypePortableRemoteController: "Portable Remote Controller",
		SpecificTypePortableSceneController:  "Portable Scene Controller",
		SpecificTypePortableInstallerTool:    "Portable Installer Tool",
		SpecificTypeRemoteControlAv:          "Remote Control AV",
		SpecificTypeRemoteControlSimple:      "Remote Control Simple",
	},
	GenericTypeMeter: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:              "Not Used",
		SpecificTypeSimpleMeter:          "Simple Meter",
		SpecificTypeAdvEnergyControl:     "Adv Energy Control",
		SpecificTypeWholeHomeMeterSimple: "Whole Home Meter Simple",
	},
	GenericTypeMeterPulse: map[SpecificDeviceType]string{
		SpecificTypeNotUsed: "Not Used",
	},
	GenericTypeNonInteroperable: map[SpecificDeviceType]string{
		SpecificTypeNotUsed: "Not Used",
	},
	GenericTypeRepeaterSlave: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:       "Not Used",
		SpecificTypeRepeaterSlave: "Repeater Slave",
		SpecificTypeVirtualNode:   "Virtual Node",
	},
	GenericTypeSecurityPanel: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:            "Not Used",
		SpecificTypeZonedSecurityPanel: "Zoned Security Panel",
	},
	GenericTypeSemiInteroperable: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:          "Not Used",
		SpecificTypeEnergyProduction: "Energy Production",
	},
	GenericTypeSensorAlarm: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:                   "Not Used",
		SpecificTypeAdvZensorNetAlarmSensor:   "Adv Zensor Net Alarm Sensor",
		SpecificTypeAdvZensorNetSmokeSensor:   "Adv Zensor Net Smoke Sensor",
		SpecificTypeBasicRoutingAlarmSensor:   "Basic Routing Alarm Sensor",
		SpecificTypeBasicRoutingSmokeSensor:   "Basic Routing Smoke Sensor",
		SpecificTypeBasicZensorNetAlarmSensor: "Basic Zensor Net Alarm Sensor",
		SpecificTypeBasicZensorNetSmokeSensor: "Basic Zensor Net Smoke Sensor",
		SpecificTypeRoutingAlarmSensor:        "Routing Alarm Sensor",
		SpecificTypeRoutingSmokeSensor:        "Routing Smoke Sensor",
		SpecificTypeZensorNetAlarmSensor:      "Zensor Net Alarm Sensor",
		SpecificTypeZensorNetSmokeSensor:      "Zensor Net Smoke Sensor",
		SpecificTypeAlarmSensor:               "Alarm Sensor",
	},
	GenericTypeSensorBinary: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:             "Not Used",
		SpecificTypeRoutingSensorBinary: "Routing Sensor Binary",
	},
	GenericTypeSensorMultilevel: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:                 "Not Used",
		SpecificTypeRoutingSensorMultilevel: "Routing Sensor Multilevel",
		SpecificTypeChimneyFan:              "Chimney Fan",
	},
	GenericTypeStaticController: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:             "Not Used",
		SpecificTypePcController:        "Pc Controller",
		SpecificTypeSceneController:     "Scene Controller",
		SpecificTypeStaticInstallerTool: "Static Installer Tool",
		SpecificTypeSetTopBox:           "Set Top Box",
		SpecificTypeSubSystemController: "Sub System Controller",
		SpecificTypeTv:                  "TV",
		SpecificTypeGateway:             "Gateway",
	},
	GenericTypeSwitchBinary: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:              "Not Used",
		SpecificTypePowerSwitchBinary:    "Power Switch Binary",
		SpecificTypeSceneSwitchBinary:    "Scene Switch Binary",
		SpecificTypePowerStrip:           "Power Strip",
		SpecificTypeSiren:                "Siren",
		SpecificTypeValveOpenClose:       "Valve Open/Close",
		SpecificTypeColorTunableBinary:   "Binary Tunable Color Light",
		SpecificTypeIrrigationController: "Irrigation Controller",
	},
	GenericTypeSwitchMultilevel: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:                "Not Used",
		SpecificTypeClassAMotorControl:     "Class A Motor Control",
		SpecificTypeClassBMotorControl:     "Class B Motor Control",
		SpecificTypeClassCMotorControl:     "Class C Motor Control",
		SpecificTypeMotorMultiposition:     "Motor Multiposition",
		SpecificTypePowerSwitchMultilevel:  "Power Switch Multilevel",
		SpecificTypeSceneSwitchMultilevel:  "Scene Switch Multilevel",
		SpecificTypeFanSwitch:              "Fan Switch",
		SpecificTypeColorTunableMultilevel: "Multilevel Tunable Color Light",
	},
	GenericTypeSwitchRemote: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:                      "Not Used",
		SpecificTypeSwitchRemoteBinary:           "Switch Remote Binary",
		SpecificTypeSwitchRemoteMultilevel:       "Switch Remote Multilevel",
		SpecificTypeSwitchRemoteToggleBinary:     "Switch Remote Toggle Binary",
		SpecificTypeSwitchRemoteToggleMultilevel: "Switch Remote Toggle Multilevel",
	},
	GenericTypeSwitchToggle: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:                "Not Used",
		SpecificTypeSwitchToggleBinary:     "Switch Toggle Binary",
		SpecificTypeSwitchToggleMultilevel: "Switch Toggle Multilevel",
	},
	GenericTypeThermostat: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:                   "Not Used",
		SpecificTypeSetbackScheduleThermostat: "Setback Schedule Thermostat",
		SpecificTypeSetbackThermostat:         "Setback Thermostat",
		SpecificTypeSetpointThermostat:        "Setpoint Thermostat",
		SpecificTypeThermostatGeneral:         "Thermostat General",
		SpecificTypeThermostatGeneralV2:       "Thermostat General V2",
		SpecificTypeThermostatHeating:         "Thermostat Heating",
	},
	GenericTypeVentilation: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:        "Not Used",
		SpecificTypeResidentialHrv: "Residential Hrv",
	},
	GenericTypeWindowCovering: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:              "Not Used",
		SpecificTypeSimpleWindowCovering: "Simple Window Covering",
	},
	GenericTypeZipNode: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:    "Not Used",
		SpecificTypeZipAdvNode: "Zip Adv Node",
		SpecificTypeZipTunNode: "Zip Tun Node",
	},
	GenericTypeWallController: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:             "Not Used",
		SpecificTypeBasicWallController: "Basic Wall Controller",
	},
	GenericTypeNetworkExtender: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:        "Not Used",
		SpecificTypeSecureExtender: "Secure Extender",
	},
	GenericTypeAppliance: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:          "Not Used",
		SpecificTypeGeneralAppliance: "General Appliance",
		SpecificTypeKitchenAppliance: "Kitchen Appliance",
		SpecificTypeLaundryAppliance: "Laundry Appliance",
	},
	GenericTypeSensorNotification: map[SpecificDeviceType]string{
		SpecificTypeNotUsed:            "Not Used",
		SpecificTypeNotificationSensor: "Notification Sensor",
	},
}

Functions

func Register

func Register(identifier CommandIdentifier, factory CommandFactory)

Types

type BasicDeviceType

type BasicDeviceType byte
const (
	BasicTypeController       BasicDeviceType = 0x01
	BasicTypeRoutingSlave     BasicDeviceType = 0x04
	BasicTypeSlave            BasicDeviceType = 0x03
	BasicTypeStaticController BasicDeviceType = 0x02
)

func (BasicDeviceType) String

func (b BasicDeviceType) String() string

type Command

type Command interface {
	encoding.BinaryMarshaler
	encoding.BinaryUnmarshaler

	CommandClassID() CommandClassID
	CommandID() CommandID
	CommandIDString() string
}

func Parse

func Parse(version uint8, payload []byte) (Command, error)

type CommandClassID

type CommandClassID byte
const (
	Alarm                                    CommandClassID = 0x71
	AlarmV2                                  CommandClassID = 0x71
	NotificationV3                           CommandClassID = 0x71
	NotificationV4                           CommandClassID = 0x71
	NotificationV5                           CommandClassID = 0x71
	NotificationV6                           CommandClassID = 0x71
	NotificationV7                           CommandClassID = 0x71
	NotificationV8                           CommandClassID = 0x71
	ApplicationStatus                        CommandClassID = 0x22
	AssociationCommandConfiguration          CommandClassID = 0x9B
	Association                              CommandClassID = 0x85
	AssociationV2                            CommandClassID = 0x85
	AvContentDirectoryMd                     CommandClassID = 0x95
	AvContentSearchMd                        CommandClassID = 0x97
	AvRendererStatus                         CommandClassID = 0x96
	AvTaggingMd                              CommandClassID = 0x99
	BasicTariffInfo                          CommandClassID = 0x36
	BasicWindowCovering                      CommandClassID = 0x50
	Basic                                    CommandClassID = 0x20
	BasicV2                                  CommandClassID = 0x20
	Battery                                  CommandClassID = 0x80
	ChimneyFan                               CommandClassID = 0x2A
	ClimateControlSchedule                   CommandClassID = 0x46
	Clock                                    CommandClassID = 0x81
	Configuration                            CommandClassID = 0x70
	ConfigurationV2                          CommandClassID = 0x70
	ConfigurationV3                          CommandClassID = 0x70
	ConfigurationV4                          CommandClassID = 0x70
	ControllerReplication                    CommandClassID = 0x21
	Crc16Encap                               CommandClassID = 0x56
	DcpConfig                                CommandClassID = 0x3A
	DcpMonitor                               CommandClassID = 0x3B
	DoorLockLogging                          CommandClassID = 0x4C
	DoorLock                                 CommandClassID = 0x62
	DoorLockV2                               CommandClassID = 0x62
	DoorLockV3                               CommandClassID = 0x62
	EnergyProduction                         CommandClassID = 0x90
	FirmwareUpdateMd                         CommandClassID = 0x7A
	FirmwareUpdateMdV2                       CommandClassID = 0x7A
	FirmwareUpdateMdV3                       CommandClassID = 0x7A
	FirmwareUpdateMdV4                       CommandClassID = 0x7A
	FirmwareUpdateMdV5                       CommandClassID = 0x7A
	GeographicLocation                       CommandClassID = 0x8C
	GroupingName                             CommandClassID = 0x7B
	Hail                                     CommandClassID = 0x82
	HrvControl                               CommandClassID = 0x39
	HrvStatus                                CommandClassID = 0x37
	Indicator                                CommandClassID = 0x87
	IndicatorV2                              CommandClassID = 0x87
	IpConfiguration                          CommandClassID = 0x9A
	Language                                 CommandClassID = 0x89
	Lock                                     CommandClassID = 0x76
	ManufacturerProprietary                  CommandClassID = 0x91
	ManufacturerSpecific                     CommandClassID = 0x72
	ManufacturerSpecificV2                   CommandClassID = 0x72
	Mark                                     CommandClassID = 0xEF
	MeterPulse                               CommandClassID = 0x35
	MeterTblConfig                           CommandClassID = 0x3C
	MeterTblMonitor                          CommandClassID = 0x3D
	MeterTblMonitorV2                        CommandClassID = 0x3D
	MeterTblPush                             CommandClassID = 0x3E
	Meter                                    CommandClassID = 0x32
	MeterV2                                  CommandClassID = 0x32
	MeterV3                                  CommandClassID = 0x32
	MeterV4                                  CommandClassID = 0x32
	MtpWindowCovering                        CommandClassID = 0x51
	MultiChannelAssociationV2                CommandClassID = 0x8E
	MultiChannelAssociationV3                CommandClassID = 0x8E
	MultiChannelV2                           CommandClassID = 0x60
	MultiChannelV3                           CommandClassID = 0x60
	MultiChannelV4                           CommandClassID = 0x60
	MultiCmd                                 CommandClassID = 0x8F
	MultiInstanceAssociation                 CommandClassID = 0x8E
	MultiInstance                            CommandClassID = 0x60
	NetworkManagementProxy                   CommandClassID = 0x52
	NetworkManagementProxyV2                 CommandClassID = 0x52
	NetworkManagementBasic                   CommandClassID = 0x4D
	NetworkManagementBasicV2                 CommandClassID = 0x4D
	NetworkManagementInclusion               CommandClassID = 0x34
	NetworkManagementInclusionV2             CommandClassID = 0x34
	NoOperation                              CommandClassID = 0x00
	NodeNaming                               CommandClassID = 0x77
	NonInteroperable                         CommandClassID = 0xF0
	Powerlevel                               CommandClassID = 0x73
	PrepaymentEncapsulation                  CommandClassID = 0x41
	Prepayment                               CommandClassID = 0x3F
	Proprietary                              CommandClassID = 0x88
	Protection                               CommandClassID = 0x75
	ProtectionV2                             CommandClassID = 0x75
	RateTblConfig                            CommandClassID = 0x48
	RateTblMonitor                           CommandClassID = 0x49
	RemoteAssociationActivate                CommandClassID = 0x7C
	RemoteAssociation                        CommandClassID = 0x7D
	SceneActivation                          CommandClassID = 0x2B
	SceneActuatorConf                        CommandClassID = 0x2C
	SceneControllerConf                      CommandClassID = 0x2D
	ScheduleEntryLock                        CommandClassID = 0x4E
	ScheduleEntryLockV2                      CommandClassID = 0x4E
	ScheduleEntryLockV3                      CommandClassID = 0x4E
	ScreenAttributes                         CommandClassID = 0x93
	ScreenAttributesV2                       CommandClassID = 0x93
	ScreenMd                                 CommandClassID = 0x92
	ScreenMdV2                               CommandClassID = 0x92
	SecurityPanelMode                        CommandClassID = 0x24
	SecurityPanelZoneSensor                  CommandClassID = 0x2F
	SecurityPanelZone                        CommandClassID = 0x2E
	Security                                 CommandClassID = 0x98
	SensorAlarm                              CommandClassID = 0x9C
	SensorBinary                             CommandClassID = 0x30
	SensorBinaryV2                           CommandClassID = 0x30
	SensorConfiguration                      CommandClassID = 0x9E
	SensorMultilevel                         CommandClassID = 0x31
	SensorMultilevelV2                       CommandClassID = 0x31
	SensorMultilevelV3                       CommandClassID = 0x31
	SensorMultilevelV4                       CommandClassID = 0x31
	SensorMultilevelV5                       CommandClassID = 0x31
	SensorMultilevelV6                       CommandClassID = 0x31
	SensorMultilevelV7                       CommandClassID = 0x31
	SensorMultilevelV8                       CommandClassID = 0x31
	SensorMultilevelV9                       CommandClassID = 0x31
	SensorMultilevelV10                      CommandClassID = 0x31
	SilenceAlarm                             CommandClassID = 0x9D
	SimpleAvControl                          CommandClassID = 0x94
	SwitchAll                                CommandClassID = 0x27
	SwitchBinary                             CommandClassID = 0x25
	SwitchBinaryV2                           CommandClassID = 0x25
	SwitchMultilevel                         CommandClassID = 0x26
	SwitchMultilevelV2                       CommandClassID = 0x26
	SwitchMultilevelV3                       CommandClassID = 0x26
	SwitchMultilevelV4                       CommandClassID = 0x26
	SwitchToggleBinary                       CommandClassID = 0x28
	SwitchToggleMultilevel                   CommandClassID = 0x29
	TariffConfig                             CommandClassID = 0x4A
	TariffTblMonitor                         CommandClassID = 0x4B
	ThermostatFanMode                        CommandClassID = 0x44
	ThermostatFanModeV2                      CommandClassID = 0x44
	ThermostatFanModeV3                      CommandClassID = 0x44
	ThermostatFanModeV4                      CommandClassID = 0x44
	ThermostatFanState                       CommandClassID = 0x45
	ThermostatFanStateV2                     CommandClassID = 0x45
	ThermostatHeating                        CommandClassID = 0x38
	ThermostatMode                           CommandClassID = 0x40
	ThermostatModeV2                         CommandClassID = 0x40
	ThermostatModeV3                         CommandClassID = 0x40
	ThermostatOperatingState                 CommandClassID = 0x42
	ThermostatOperatingStateV2               CommandClassID = 0x42
	ThermostatSetback                        CommandClassID = 0x47
	ThermostatSetpoint                       CommandClassID = 0x43
	ThermostatSetpointV2                     CommandClassID = 0x43
	ThermostatSetpointV3                     CommandClassID = 0x43
	TimeParameters                           CommandClassID = 0x8B
	Time                                     CommandClassID = 0x8A
	TimeV2                                   CommandClassID = 0x8A
	TransportServiceV2                       CommandClassID = 0x55
	TransportService                         CommandClassID = 0x55
	UserCode                                 CommandClassID = 0x63
	Version                                  CommandClassID = 0x86
	VersionV2                                CommandClassID = 0x86
	WakeUp                                   CommandClassID = 0x84
	WakeUpV2                                 CommandClassID = 0x84
	ZensorNet                                CommandClassID = 0x02
	Zip6lowpan                               CommandClassID = 0x4F
	Zip                                      CommandClassID = 0x23
	ZipV2                                    CommandClassID = 0x23
	ZipV3                                    CommandClassID = 0x23
	ZwaveCmdClass                            CommandClassID = 0x01
	ApplicationCapability                    CommandClassID = 0x57
	SwitchColor                              CommandClassID = 0x33
	SwitchColorV2                            CommandClassID = 0x33
	SwitchColorV3                            CommandClassID = 0x33
	Schedule                                 CommandClassID = 0x53
	ScheduleV2                               CommandClassID = 0x53
	ScheduleV3                               CommandClassID = 0x53
	NetworkManagementPrimary                 CommandClassID = 0x54
	ZipNd                                    CommandClassID = 0x58
	AssociationGrpInfo                       CommandClassID = 0x59
	AssociationGrpInfoV2                     CommandClassID = 0x59
	AssociationGrpInfoV3                     CommandClassID = 0x59
	DeviceResetLocally                       CommandClassID = 0x5A
	CentralScene                             CommandClassID = 0x5B
	CentralSceneV2                           CommandClassID = 0x5B
	CentralSceneV3                           CommandClassID = 0x5B
	IpAssociation                            CommandClassID = 0x5C
	Antitheft                                CommandClassID = 0x5D
	AntitheftV2                              CommandClassID = 0x5D
	ZwaveplusInfo                            CommandClassID = 0x5E
	ZwaveplusInfoV2                          CommandClassID = 0x5E
	ZipGateway                               CommandClassID = 0x5F
	ZipPortal                                CommandClassID = 0x61
	Dmx                                      CommandClassID = 0x65
	BarrierOperator                          CommandClassID = 0x66
	NetworkManagementInstallationMaintenance CommandClassID = 0x67
	ZipNaming                                CommandClassID = 0x68
	Mailbox                                  CommandClassID = 0x69
	WindowCovering                           CommandClassID = 0x6A
	Security2                                CommandClassID = 0x9F
	Irrigation                               CommandClassID = 0x6B
	Supervision                              CommandClassID = 0x6C
	HumidityControlSetpoint                  CommandClassID = 0x64
	HumidityControlMode                      CommandClassID = 0x6D
	HumidityControlOperatingState            CommandClassID = 0x6E
	EntryControl                             CommandClassID = 0x6F
	InclusionController                      CommandClassID = 0x74
)

func (CommandClassID) String

func (c CommandClassID) String() string

type CommandClassSet

type CommandClassSet map[CommandClassID]*CommandClassSupport

func (CommandClassSet) Add

func (s CommandClassSet) Add(id CommandClassID)

func (CommandClassSet) AllVersionsReceived

func (s CommandClassSet) AllVersionsReceived() bool

func (CommandClassSet) GetVersion

func (s CommandClassSet) GetVersion(id CommandClassID) uint8

func (CommandClassSet) IsSecure

func (s CommandClassSet) IsSecure(id CommandClassID) bool

func (CommandClassSet) ListAll

func (s CommandClassSet) ListAll() []CommandClassID

func (CommandClassSet) ListBySecureStatus

func (s CommandClassSet) ListBySecureStatus(secure bool) []CommandClassID

func (CommandClassSet) SetSecure

func (s CommandClassSet) SetSecure(id CommandClassID, secure bool)

func (CommandClassSet) SetVersion

func (s CommandClassSet) SetVersion(id CommandClassID, version uint8)

func (CommandClassSet) Supports

func (s CommandClassSet) Supports(id CommandClassID) bool

type CommandClassSupport

type CommandClassSupport struct {
	CommandClass CommandClassID
	Secure       bool
	Version      uint8
}

type CommandFactory

type CommandFactory func() Command

type CommandID

type CommandID byte

type CommandIdentifier

type CommandIdentifier struct {
	CommandClass CommandClassID
	Command      CommandID
	Version      uint8
}

type DeviceType

type DeviceType struct {
	BasicType    BasicDeviceType
	GenericType  GenericDeviceType
	SpecificType SpecificDeviceType
}

func (DeviceType) SpecificDeviceTypeString

func (d DeviceType) SpecificDeviceTypeString() string

func (DeviceType) String

func (d DeviceType) String() string

type GenericDeviceType

type GenericDeviceType byte
const (
	GenericTypeAvControlPoint     GenericDeviceType = 0x03
	GenericTypeDisplay            GenericDeviceType = 0x04
	GenericTypeEntryControl       GenericDeviceType = 0x40
	GenericTypeGenericController  GenericDeviceType = 0x01
	GenericTypeMeter              GenericDeviceType = 0x31
	GenericTypeMeterPulse         GenericDeviceType = 0x30
	GenericTypeNonInteroperable   GenericDeviceType = 0xFF
	GenericTypeRepeaterSlave      GenericDeviceType = 0x0F
	GenericTypeSecurityPanel      GenericDeviceType = 0x17
	GenericTypeSemiInteroperable  GenericDeviceType = 0x50
	GenericTypeSensorAlarm        GenericDeviceType = 0xA1
	GenericTypeSensorBinary       GenericDeviceType = 0x20
	GenericTypeSensorMultilevel   GenericDeviceType = 0x21
	GenericTypeStaticController   GenericDeviceType = 0x02
	GenericTypeSwitchBinary       GenericDeviceType = 0x10
	GenericTypeSwitchMultilevel   GenericDeviceType = 0x11
	GenericTypeSwitchRemote       GenericDeviceType = 0x12
	GenericTypeSwitchToggle       GenericDeviceType = 0x13
	GenericTypeThermostat         GenericDeviceType = 0x08
	GenericTypeVentilation        GenericDeviceType = 0x16
	GenericTypeWindowCovering     GenericDeviceType = 0x09
	GenericTypeZipNode            GenericDeviceType = 0x15
	GenericTypeWallController     GenericDeviceType = 0x18
	GenericTypeNetworkExtender    GenericDeviceType = 0x05
	GenericTypeAppliance          GenericDeviceType = 0x06
	GenericTypeSensorNotification GenericDeviceType = 0x07
)

func (GenericDeviceType) String

func (g GenericDeviceType) String() string

type SpecificDeviceType

type SpecificDeviceType byte
const (
	SpecificTypeNotUsed SpecificDeviceType = 0x00

	SpecificTypeDoorbell                     SpecificDeviceType = 0x12
	SpecificTypeSatelliteReceiver            SpecificDeviceType = 0x04
	SpecificTypeSatelliteReceiverV2          SpecificDeviceType = 0x11
	SpecificTypeSimpleDisplay                SpecificDeviceType = 0x01
	SpecificTypeDoorLock                     SpecificDeviceType = 0x01
	SpecificTypeAdvancedDoorLock             SpecificDeviceType = 0x02
	SpecificTypeSecureKeypadDoorLock         SpecificDeviceType = 0x03
	SpecificTypeSecureKeypadDoorLockDeadbolt SpecificDeviceType = 0x04
	SpecificTypeSecureDoor                   SpecificDeviceType = 0x05
	SpecificTypeSecureGate                   SpecificDeviceType = 0x06
	SpecificTypeSecureBarrierAddon           SpecificDeviceType = 0x07
	SpecificTypeSecureBarrierOpenOnly        SpecificDeviceType = 0x08
	SpecificTypeSecureBarrierCloseOnly       SpecificDeviceType = 0x09
	SpecificTypeSecureLockbox                SpecificDeviceType = 0x0A
	SpecificTypeSecureKeypad                 SpecificDeviceType = 0x0B
	SpecificTypePortableRemoteController     SpecificDeviceType = 0x01
	SpecificTypePortableSceneController      SpecificDeviceType = 0x02
	SpecificTypePortableInstallerTool        SpecificDeviceType = 0x03
	SpecificTypeRemoteControlAv              SpecificDeviceType = 0x04
	SpecificTypeRemoteControlSimple          SpecificDeviceType = 0x06
	SpecificTypeSimpleMeter                  SpecificDeviceType = 0x01
	SpecificTypeAdvEnergyControl             SpecificDeviceType = 0x02
	SpecificTypeWholeHomeMeterSimple         SpecificDeviceType = 0x03
	SpecificTypeRepeaterSlave                SpecificDeviceType = 0x01
	SpecificTypeVirtualNode                  SpecificDeviceType = 0x02
	SpecificTypeZonedSecurityPanel           SpecificDeviceType = 0x01
	SpecificTypeEnergyProduction             SpecificDeviceType = 0x01
	SpecificTypeAdvZensorNetAlarmSensor      SpecificDeviceType = 0x05
	SpecificTypeAdvZensorNetSmokeSensor      SpecificDeviceType = 0x0A
	SpecificTypeBasicRoutingAlarmSensor      SpecificDeviceType = 0x01
	SpecificTypeBasicRoutingSmokeSensor      SpecificDeviceType = 0x06
	SpecificTypeBasicZensorNetAlarmSensor    SpecificDeviceType = 0x03
	SpecificTypeBasicZensorNetSmokeSensor    SpecificDeviceType = 0x08
	SpecificTypeRoutingAlarmSensor           SpecificDeviceType = 0x02
	SpecificTypeRoutingSmokeSensor           SpecificDeviceType = 0x07
	SpecificTypeZensorNetAlarmSensor         SpecificDeviceType = 0x04
	SpecificTypeZensorNetSmokeSensor         SpecificDeviceType = 0x09
	SpecificTypeAlarmSensor                  SpecificDeviceType = 0x0B
	SpecificTypeRoutingSensorBinary          SpecificDeviceType = 0x01
	SpecificTypeRoutingSensorMultilevel      SpecificDeviceType = 0x01
	SpecificTypeChimneyFan                   SpecificDeviceType = 0x02
	SpecificTypePcController                 SpecificDeviceType = 0x01
	SpecificTypeSceneController              SpecificDeviceType = 0x02
	SpecificTypeStaticInstallerTool          SpecificDeviceType = 0x03
	SpecificTypeSetTopBox                    SpecificDeviceType = 0x04
	SpecificTypeSubSystemController          SpecificDeviceType = 0x05
	SpecificTypeTv                           SpecificDeviceType = 0x06
	SpecificTypeGateway                      SpecificDeviceType = 0x07
	SpecificTypePowerSwitchBinary            SpecificDeviceType = 0x01
	SpecificTypeSceneSwitchBinary            SpecificDeviceType = 0x03
	SpecificTypePowerStrip                   SpecificDeviceType = 0x04
	SpecificTypeSiren                        SpecificDeviceType = 0x05
	SpecificTypeValveOpenClose               SpecificDeviceType = 0x06
	SpecificTypeColorTunableBinary           SpecificDeviceType = 0x02
	SpecificTypeIrrigationController         SpecificDeviceType = 0x07
	SpecificTypeClassAMotorControl           SpecificDeviceType = 0x05
	SpecificTypeClassBMotorControl           SpecificDeviceType = 0x06
	SpecificTypeClassCMotorControl           SpecificDeviceType = 0x07
	SpecificTypeMotorMultiposition           SpecificDeviceType = 0x03
	SpecificTypePowerSwitchMultilevel        SpecificDeviceType = 0x01
	SpecificTypeSceneSwitchMultilevel        SpecificDeviceType = 0x04
	SpecificTypeFanSwitch                    SpecificDeviceType = 0x08
	SpecificTypeColorTunableMultilevel       SpecificDeviceType = 0x02
	SpecificTypeSwitchRemoteBinary           SpecificDeviceType = 0x01
	SpecificTypeSwitchRemoteMultilevel       SpecificDeviceType = 0x02
	SpecificTypeSwitchRemoteToggleBinary     SpecificDeviceType = 0x03
	SpecificTypeSwitchRemoteToggleMultilevel SpecificDeviceType = 0x04
	SpecificTypeSwitchToggleBinary           SpecificDeviceType = 0x01
	SpecificTypeSwitchToggleMultilevel       SpecificDeviceType = 0x02
	SpecificTypeSetbackScheduleThermostat    SpecificDeviceType = 0x03
	SpecificTypeSetbackThermostat            SpecificDeviceType = 0x05
	SpecificTypeSetpointThermostat           SpecificDeviceType = 0x04
	SpecificTypeThermostatGeneral            SpecificDeviceType = 0x02
	SpecificTypeThermostatGeneralV2          SpecificDeviceType = 0x06
	SpecificTypeThermostatHeating            SpecificDeviceType = 0x01
	SpecificTypeResidentialHrv               SpecificDeviceType = 0x01
	SpecificTypeSimpleWindowCovering         SpecificDeviceType = 0x01
	SpecificTypeZipAdvNode                   SpecificDeviceType = 0x02
	SpecificTypeZipTunNode                   SpecificDeviceType = 0x01
	SpecificTypeBasicWallController          SpecificDeviceType = 0x01
	SpecificTypeSecureExtender               SpecificDeviceType = 0x01
	SpecificTypeGeneralAppliance             SpecificDeviceType = 0x01
	SpecificTypeKitchenAppliance             SpecificDeviceType = 0x02
	SpecificTypeLaundryAppliance             SpecificDeviceType = 0x03
	SpecificTypeNotificationSensor           SpecificDeviceType = 0x01
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL