cc

package
Version: v0.0.0-...-eab7a3e Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2019 License: MIT Imports: 5 Imported by: 0

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: {
		SpecificTypeNotUsed:             "Not Used",
		SpecificTypeDoorbell:            "Doorbell",
		SpecificTypeSatelliteReceiver:   "Satellite Receiver",
		SpecificTypeSatelliteReceiverV2: "Satellite Receiver V2",
		SpecificTypeSoundSwitch:         "Sound Switch",
	},
	GenericTypeDisplay: {
		SpecificTypeNotUsed:       "Not Used",
		SpecificTypeSimpleDisplay: "Simple Display",
	},
	GenericTypeEntryControl: {
		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: {
		SpecificTypeNotUsed:                  "Not Used",
		SpecificTypePortableRemoteController: "Portable Remote Controller",
		SpecificTypePortableSceneController:  "Portable Scene Controller",
		SpecificTypePortableInstallerTool:    "Portable Installer Tool",
		SpecificTypeRemoteControlAv:          "Remote Control AV",
		SpecificTypeRemoteControlSimple:      "Remote Control Simple",
	},
	GenericTypeMeter: {
		SpecificTypeNotUsed:              "Not Used",
		SpecificTypeSimpleMeter:          "Simple Meter",
		SpecificTypeAdvEnergyControl:     "Adv Energy Control",
		SpecificTypeWholeHomeMeterSimple: "Whole Home Meter Simple",
	},
	GenericTypeMeterPulse: {
		SpecificTypeNotUsed: "Not Used",
	},
	GenericTypeNonInteroperable: {
		SpecificTypeNotUsed: "Not Used",
	},
	GenericTypeRepeaterSlave: {
		SpecificTypeNotUsed:       "Not Used",
		SpecificTypeRepeaterSlave: "Repeater Slave",
		SpecificTypeVirtualNode:   "Virtual Node",
	},
	GenericTypeSecurityPanel: {
		SpecificTypeNotUsed:            "Not Used",
		SpecificTypeZonedSecurityPanel: "Zoned Security Panel",
	},
	GenericTypeSemiInteroperable: {
		SpecificTypeNotUsed:          "Not Used",
		SpecificTypeEnergyProduction: "Energy Production",
	},
	GenericTypeSensorAlarm: {
		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: {
		SpecificTypeNotUsed:             "Not Used",
		SpecificTypeRoutingSensorBinary: "Routing Sensor Binary",
	},
	GenericTypeSensorMultilevel: {
		SpecificTypeNotUsed:                 "Not Used",
		SpecificTypeRoutingSensorMultilevel: "Routing Sensor Multilevel",
		SpecificTypeChimneyFan:              "Chimney Fan",
	},
	GenericTypeStaticController: {
		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: {
		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: {
		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: {
		SpecificTypeNotUsed:                      "Not Used",
		SpecificTypeSwitchRemoteBinary:           "Switch Remote Binary",
		SpecificTypeSwitchRemoteMultilevel:       "Switch Remote Multilevel",
		SpecificTypeSwitchRemoteToggleBinary:     "Switch Remote Toggle Binary",
		SpecificTypeSwitchRemoteToggleMultilevel: "Switch Remote Toggle Multilevel",
	},
	GenericTypeSwitchToggle: {
		SpecificTypeNotUsed:                "Not Used",
		SpecificTypeSwitchToggleBinary:     "Switch Toggle Binary",
		SpecificTypeSwitchToggleMultilevel: "Switch Toggle Multilevel",
	},
	GenericTypeThermostat: {
		SpecificTypeNotUsed:                   "Not Used",
		SpecificTypeSetbackScheduleThermostat: "Setback Schedule Thermostat",
		SpecificTypeSetbackThermostat:         "Setback Thermostat",
		SpecificTypeSetpointThermostat:        "Setpoint Thermostat",
		SpecificTypeThermostatGeneral:         "Thermostat General",
		SpecificTypeThermostatGeneralV2:       "Thermostat General V2",
		SpecificTypeThermostatHeating:         "Thermostat Heating",
	},
	GenericTypeVentilation: {
		SpecificTypeNotUsed:        "Not Used",
		SpecificTypeResidentialHrv: "Residential Hrv",
	},
	GenericTypeWindowCovering: {
		SpecificTypeNotUsed:              "Not Used",
		SpecificTypeSimpleWindowCovering: "Simple Window Covering",
	},
	GenericTypeZipNode: {
		SpecificTypeNotUsed:    "Not Used",
		SpecificTypeZipAdvNode: "Zip Adv Node",
		SpecificTypeZipTunNode: "Zip Tun Node",
	},
	GenericTypeWallController: {
		SpecificTypeNotUsed:             "Not Used",
		SpecificTypeBasicWallController: "Basic Wall Controller",
	},
	GenericTypeNetworkExtender: {
		SpecificTypeNotUsed:        "Not Used",
		SpecificTypeSecureExtender: "Secure Extender",
	},
	GenericTypeAppliance: {
		SpecificTypeNotUsed:          "Not Used",
		SpecificTypeGeneralAppliance: "General Appliance",
		SpecificTypeKitchenAppliance: "Kitchen Appliance",
		SpecificTypeLaundryAppliance: "Laundry Appliance",
	},
	GenericTypeSensorNotification: {
		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
	DoorLockV4                                 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
	IndicatorV3                                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
	MeterTblMonitorV3                          CommandClassID = 0x3D
	MeterTblPush                               CommandClassID = 0x3E
	Meter                                      CommandClassID = 0x32
	MeterV2                                    CommandClassID = 0x32
	MeterV3                                    CommandClassID = 0x32
	MeterV4                                    CommandClassID = 0x32
	MeterV5                                    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
	NetworkManagementInclusionV3               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
	SensorMultilevelV11                        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
	UserCodeV2                                 CommandClassID = 0x63
	Version                                    CommandClassID = 0x86
	VersionV2                                  CommandClassID = 0x86
	VersionV3                                  CommandClassID = 0x86
	WakeUp                                     CommandClassID = 0x84
	WakeUpV2                                   CommandClassID = 0x84
	ZensorNet                                  CommandClassID = 0x02
	Zip6lowpan                                 CommandClassID = 0x4F
	Zip                                        CommandClassID = 0x23
	ZipV2                                      CommandClassID = 0x23
	ZipV3                                      CommandClassID = 0x23
	ZipV4                                      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
	ScheduleV4                                 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
	NetworkManagementInstallationMaintenanceV2 CommandClassID = 0x67
	ZipNaming                                  CommandClassID = 0x68
	Mailbox                                    CommandClassID = 0x69
	WindowCovering                             CommandClassID = 0x6A
	Security2                                  CommandClassID = 0x9F
	Irrigation                                 CommandClassID = 0x6B
	Supervision                                CommandClassID = 0x6C
	HumidityControlSetpoint                    CommandClassID = 0x64
	HumidityControlSetpointV2                  CommandClassID = 0x64
	HumidityControlMode                        CommandClassID = 0x6D
	HumidityControlModeV2                      CommandClassID = 0x6D
	HumidityControlOperatingState              CommandClassID = 0x6E
	EntryControl                               CommandClassID = 0x6F
	InclusionController                        CommandClassID = 0x74
	NodeProvisioning                           CommandClassID = 0x78
	SoundSwitch                                CommandClassID = 0x79
)

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
	SpecificTypeSoundSwitch                  SpecificDeviceType = 0x01
	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