Documentation
¶
Index ¶
- Constants
- Variables
- type Balance
- type Bypass
- type Cast
- type Command
- type DVBCodeRate
- type DVBDeliverySystem
- type DVBDemux
- type DVBFilter
- type DVBFrontend
- type DVBGuardInterval
- type DVBHierarchy
- type DVBInterleaving
- type DVBInversion
- type DVBModulation
- type DVBProperties
- type DVBSection
- type DVBSectionEvent
- type DVBStreamType
- type DVBTable
- type DVBTableType
- type DVBTransmitMode
- type Device
- type Dimmer
- type Ecovacs
- type EcovacsCleanMode
- type EcovacsCleanSuction
- type EcovacsEvent
- type EcovacsEventType
- type EcovacsPart
- type EventType
- type EvovacsDevice
- type Ikea
- type IkeaCommand
- type IkeaDevice
- type IkeaDeviceType
- type IkeaEvent
- type IkeaEventType
- type IkeaGroup
- type IkeaLight
- type InfluxDB
- type InfluxRS
- type Mute
- type Power
- type Rotel
- type RotelClient
- type RotelEvent
- type RotelState
- type Source
- type Speaker
- type Tone
- type Update
- type Volume
Constants ¶
View Source
const (
IKEA_DEFAULT_PORT = 5684
)
Variables ¶
View Source
var (
ErrAuthenticationError = errors.New("Authentication Error")
)
Functions ¶
This section is empty.
Types ¶
type Balance ¶
type Balance int16
const ( ROTEL_BALANCE_NONE Balance = 0 ROTEL_BALANCE_LEFT_MAX Balance = -15 ROTEL_BALANCE_RIGHT_MAX Balance = 15 ROTEL_BALANCE_OFF Balance = ROTEL_BALANCE_RIGHT_MAX + 1 )
type Bypass ¶
type Bypass uint16
const ( ROTEL_BYPASS_NONE Bypass = 0 ROTEL_BYPASS_ON Bypass = iota ROTEL_BYPASS_OFF ROTEL_BYPASS_MAX = ROTEL_BYPASS_OFF )
type Command ¶
type Command uint16
const ( ROTEL_COMMAND_NONE Command = 0 ROTEL_COMMAND_PLAY Command = iota ROTEL_COMMAND_STOP ROTEL_COMMAND_PAUSE ROTEL_COMMAND_TRACK_NEXT ROTEL_COMMAND_TRACK_PREV ROTEL_COMMAND_MUTE_TOGGLE ROTEL_COMMAND_VOL_UP ROTEL_COMMAND_VOL_DOWN ROTEL_COMMAND_BASS_UP ROTEL_COMMAND_BASS_DOWN ROTEL_COMMAND_BASS_RESET ROTEL_COMMAND_TREBLE_UP ROTEL_COMMAND_TREBLE_DOWN ROTEL_COMMAND_TREBLE_RESET ROTEL_COMMAND_BALANCE_LEFT ROTEL_COMMAND_BALANCE_RIGHT ROTEL_COMMAND_BALANCE_RESET ROTEL_COMMAND_SPEAKER_A_TOGGLE ROTEL_COMMAND_SPEAKER_B_TOGGLE ROTEL_COMMAND_DIMMER_TOGGLE ROTEL_COMMAND_POWER_TOGGLE ROTEL_COMMAND_MAX = ROTEL_COMMAND_POWER_TOGGLE )
type DVBCodeRate ¶
type DVBCodeRate uint
const ( DVB_FEC_NONE DVBCodeRate = iota DVB_FEC_1_2 DVB_FEC_2_3 DVB_FEC_3_4 DVB_FEC_4_5 DVB_FEC_5_6 DVB_FEC_6_7 DVB_FEC_7_8 DVB_FEC_8_9 DVB_FEC_AUTO DVB_FEC_3_5 DVB_FEC_9_10 DVB_FEC_2_5 DVB_FEC_MIN = DVB_FEC_NONE DVB_FEC_MAX = DVB_FEC_2_5 )
func (DVBCodeRate) String ¶
func (r DVBCodeRate) String() string
type DVBDeliverySystem ¶
type DVBDeliverySystem uint
const ( DVB_SYS_NONE DVBDeliverySystem = 0 DVB_SYS_DVBC_ANNEX_A DVBDeliverySystem = iota // Cable TV: DVB-C following ITU-T J.83 Annex A spec DVB_SYS_DVBC_ANNEX_B // Cable TV: DVB-C following ITU-T J.83 Annex B spec (ClearQAM) DVB_SYS_DVBT // Terrestrial TV: DVB-T DVB_SYS_DSS // Satellite TV: DSS (not fully supported) DVB_SYS_DVBS // Satellite TV: DVB-S DVB_SYS_DVBS2 // Satellite TV: DVB-S2 DVB_SYS_DVBH // Terrestrial TV (mobile): DVB-H (standard deprecated) DVB_SYS_ISDBT // Terrestrial TV: ISDB-T DVB_SYS_ISDBS // Satellite TV: ISDB-S DVB_SYS_ISDBC // Cable TV: ISDB-C (no drivers yet) DVB_SYS_ATSC // Terrestrial TV: ATSC DVB_SYS_ATSCMH // Terrestrial TV (mobile): ATSC-M/H DVB_SYS_DTMB // Terrestrial TV: DTMB DVB_SYS_CMMB // Terrestrial TV (mobile): CMMB (not fully supported) DVB_SYS_DAB // Digital audio: DAB (not fully supported) DVB_SYS_DVBT2 // Terrestrial TV: DVB-T2 DVB_SYS_TURBO // Satellite TV: DVB-S Turbo DVB_SYS_DVBC_ANNEX_C // Cable TV: DVB-C following ITU-T J.83 Annex C spec DVB_SYS_MIN = DVB_SYS_DVBC_ANNEX_A DVB_SYS_MAX = DVB_SYS_DVBC_ANNEX_C )
func (DVBDeliverySystem) String ¶
func (v DVBDeliverySystem) String() string
type DVBDemux ¶
type DVBDemux interface {
// Scan for Program Association Table (PAT). Emits the
// DVBSection on the message bus
ScanPAT() (DVBFilter, error)
// Scan for Program Map Specific Data. Emits the
// DVBSections on the message bus
ScanPMT(DVBSection) ([]DVBFilter, error)
// Scan for Service Description Data. Emits the
// DVBSections on the message bus. Setting argument
// to true looks for SDT sections for other transponders
ScanSDT(bool) (DVBFilter, error)
// Scan Network Information Table. Emits the
// DVBSections on the message bus. Setting argument
// to true looks for NIT sections for other transponders
ScanNIT(bool) (DVBFilter, error)
// Scan Event Information Table (now/next). Emits the
// DVBSections on the message bus. Setting argument
// to true looks for EIT sections for other transponders
ScanEITNowNext(bool) (DVBFilter, error)
// New Stream Filter with list of pids to filter on
NewStreamFilter([]uint16) (DVBFilter, error)
// Close filter
DestroyFilter(DVBFilter) error
// Implements gopi.Unit
gopi2.Unit
}
type DVBFrontend ¶
type DVBFrontend interface {
// Return name of the adaptor
Name() string
// Return supported delivery systems
DeliverySystems() []DVBDeliverySystem
// Tune with DVB properties, may timeout and return error
Tune(context.Context, DVBProperties) error
// Implements gopi.Unit
gopi2.Unit
}
type DVBGuardInterval ¶
type DVBGuardInterval uint
const ( DVB_GUARD_INTERVAL_1_32 DVBGuardInterval = iota DVB_GUARD_INTERVAL_1_16 DVB_GUARD_INTERVAL_1_8 DVB_GUARD_INTERVAL_1_4 DVB_GUARD_INTERVAL_AUTO DVB_GUARD_INTERVAL_1_128 DVB_GUARD_INTERVAL_19_128 DVB_GUARD_INTERVAL_19_256 DVB_GUARD_INTERVAL_PN420 DVB_GUARD_INTERVAL_PN595 DVB_GUARD_INTERVAL_PN945 DVB_GUARD_INTERVAL_MIN = DVB_GUARD_INTERVAL_1_32 DVB_GUARD_INTERVAL_MAX = DVB_GUARD_INTERVAL_PN945 )
func (DVBGuardInterval) String ¶
func (v DVBGuardInterval) String() string
type DVBHierarchy ¶
type DVBHierarchy uint
const ( DVB_HIERARCHY_NONE DVBHierarchy = iota DVB_HIERARCHY_1 DVB_HIERARCHY_2 DVB_HIERARCHY_4 DVB_HIERARCHY_AUTO DVB_HIERARCHY_MIN = DVB_HIERARCHY_NONE DVB_HIERARCHY_MAX = DVB_HIERARCHY_AUTO )
func (DVBHierarchy) String ¶
func (v DVBHierarchy) String() string
type DVBInterleaving ¶
type DVBInterleaving uint
const ( DVB_INTERLEAVING_NONE DVBInterleaving = iota DVB_INTERLEAVING_AUTO DVB_INTERLEAVING_240 DVB_INTERLEAVING_72 DVB_INTERLEAVING_MIN = DVB_INTERLEAVING_NONE DVB_INTERLEAVING_MAX = DVB_INTERLEAVING_72 )
func (DVBInterleaving) String ¶
func (v DVBInterleaving) String() string
type DVBInversion ¶
type DVBInversion uint
const ( DVB_INVERSION_OFF DVBInversion = iota DVB_INVERSION_ON DVB_INVERSION_AUTO DVB_INVERSION_MIN = DVB_INVERSION_OFF DVB_INVERSION_MAX = DVB_INVERSION_AUTO )
func (DVBInversion) String ¶
func (v DVBInversion) String() string
type DVBModulation ¶
type DVBModulation uint
const ( DVB_MODULATION_QPSK DVBModulation = iota DVB_MODULATION_QAM_16 DVB_MODULATION_QAM_32 DVB_MODULATION_QAM_64 DVB_MODULATION_QAM_128 DVB_MODULATION_QAM_256 DVB_MODULATION_QAM_AUTO DVB_MODULATION_VSB_8 DVB_MODULATION_VSB_16 DVB_MODULATION_PSK_8 DVB_MODULATION_APSK_16 DVB_MODULATION_APSK_32 DVB_MODULATION_DQPSK DVB_MODULATION_QAM_4_NR DVB_MODULATION_MIN = DVB_MODULATION_QPSK DVB_MODULATION_MAX = DVB_MODULATION_QAM_4_NR )
func (DVBModulation) String ¶
func (v DVBModulation) String() string
type DVBProperties ¶
type DVBProperties interface {
Name() string
DeliverySystem() (DVBDeliverySystem, error)
Frequency() uint32
Bandwidth() uint32
GuardInterval() (DVBGuardInterval, error)
Hierarchy() (DVBHierarchy, error)
Inversion() (DVBInversion, error)
Modulation() (DVBModulation, error)
TransmitMode() (DVBTransmitMode, error)
CodeRateLP() (DVBCodeRate, error)
CodeRateHP() (DVBCodeRate, error)
}
DVBProperties are the properties used for reading from a multiplex
type DVBSection ¶
type DVBSection interface {
// Return type of section
Type() DVBTableType
}
type DVBSectionEvent ¶
type DVBSectionEvent interface {
Type() DVBTableType
Filter() DVBFilter
Section() DVBSection
// Implements gopi.Event
gopi2.Event
}
DVBSectionEvent is emitted after a section packet is parsed
type DVBStreamType ¶
type DVBStreamType uint8
const ( DVB_ES_TYPE_NONE DVBStreamType = iota DVB_ES_TYPE_MPEG1_VIDEO DVB_ES_TYPE_MPEG2_VIDEO DVB_ES_TYPE_MPEG1_AUDIO DVB_ES_TYPE_MPEG2_AUDIO DVB_ES_TYPE_PRIV_SECT DVB_ES_TYPE_PRIV_PES DVB_ES_TYPE_MHEG DVB_ES_TYPE_DSMCC DVB_ES_TYPE_H222_1 DVB_ES_TYPE_DSMCC_A DVB_ES_TYPE_DSMCC_B DVB_ES_TYPE_DSMCC_C DVB_ES_TYPE_DSMCC_D DVB_ES_TYPE_MPEG2_AUX DVB_ES_TYPE_AAC DVB_ES_TYPE_MPEG4_VIDEO DVB_ES_TYPE_MPEG4_AUDIO DVB_ES_TYPE_H264_VIDEO DVBStreamType = 0x1B DVB_ES_TYPE_H265_VIDEO DVBStreamType = 0x24 )
func (DVBStreamType) String ¶
func (v DVBStreamType) String() string
type DVBTable ¶
type DVBTable interface {
// Properties returns an array of DVB Properties which define a
// setof transmitter parameters. The argument can be empty to return
// all parameters, or will return properties that match comma-delimited
// set of names
Properties(string) []DVBProperties
// Implements gopi.Unit
gopi2.Unit
}
type DVBTableType ¶
type DVBTableType uint8
const ( DVB_TS_TABLE_PAT DVBTableType = 0x00 DVB_TS_TABLE_CAT DVBTableType = 0x01 DVB_TS_TABLE_PMT DVBTableType = 0x02 DVB_TS_TABLE_NIT DVBTableType = 0x40 DVB_TS_TABLE_NIT_OTHER DVBTableType = 0x41 DVB_TS_TABLE_SDT DVBTableType = 0x42 DVB_TS_TABLE_SDT_OTHER DVBTableType = 0x46 DVB_TS_TABLE_BAT DVBTableType = 0x4A DVB_TS_TABLE_EIT DVBTableType = 0x4E DVB_TS_TABLE_EIT_OTHER DVBTableType = 0x4F DVB_TS_TABLE_TDT DVBTableType = 0x70 )
func (DVBTableType) String ¶
func (v DVBTableType) String() string
type DVBTransmitMode ¶
type DVBTransmitMode uint
const ( DVB_TRANSMIT_MODE_2K DVBTransmitMode = iota DVB_TRANSMIT_MODE_8K DVB_TRANSMIT_MODE_AUTO DVB_TRANSMIT_MODE_4K DVB_TRANSMIT_MODE_1K DVB_TRANSMIT_MODE_16K DVB_TRANSMIT_MODE_32K DVB_TRANSMIT_MODE_C1 DVB_TRANSMIT_MODE_C3780 DVB_TRANSMIT_MODE_MIN = DVB_TRANSMIT_MODE_2K DVB_TRANSMIT_MODE_MAX = DVB_TRANSMIT_MODE_C3780 )
func (DVBTransmitMode) String ¶
func (v DVBTransmitMode) String() string
type Dimmer ¶
type Dimmer uint16
const ( ROTEL_DIMMER_NONE Dimmer = 0 ROTEL_DIMMER_MIN Dimmer = 1 ROTEL_DIMMER_MAX Dimmer = 9 ROTEL_DIMMER_OFF Dimmer = ROTEL_DIMMER_MAX + 1 )
type Ecovacs ¶
type Ecovacs interface {
gopi2.Unit
// Authenticate
Authenticate() error
// Devices
Devices() ([]EvovacsDevice, error)
// Connect to a device to start reading messages
Connect(EvovacsDevice) error
// Disconnect from a device
Disconnect(EvovacsDevice) error
}
type EcovacsCleanMode ¶
type EcovacsCleanMode string
const ( ECOVACS_CLEAN_STOP EcovacsCleanMode = "stop" ECOVACS_CLEAN_AUTO EcovacsCleanMode = "auto" ECOVACS_CLEAN_BORDER EcovacsCleanMode = "border" ECOVACS_CLEAN_SPOT EcovacsCleanMode = "spot" ECOVACS_CLEAN_ROOM EcovacsCleanMode = "singleroom" )
type EcovacsCleanSuction ¶
type EcovacsCleanSuction string
const ( ECOVACS_SUCTION_STANDARD EcovacsCleanSuction = "standard" ECOVACS_SUCTION_STRONG EcovacsCleanSuction = "strong" )
type EcovacsEvent ¶
type EcovacsEvent interface {
Type() EcovacsEventType
Device() EvovacsDevice
Id() string
gopi2.Event
}
type EcovacsEventType ¶
type EcovacsEventType uint
const ( ECOVACS_EVENT_NONE EcovacsEventType = iota ECOVACS_EVENT_BATTERYLEVEL ECOVACS_EVENT_CLEANSTATE ECOVACS_EVENT_CHARGESTATE ECOVACS_EVENT_LIFESPAN ECOVACS_EVENT_TIME ECOVACS_EVENT_VERSION ECOVACS_EVENT_LOG ECOVACS_EVENT_ERROR )
func (EcovacsEventType) String ¶
func (v EcovacsEventType) String() string
type EcovacsPart ¶
type EcovacsPart string
const ( ECOVACS_PART_BRUSH EcovacsPart = "Brush" ECOVACS_PART_SIDEBRUSH EcovacsPart = "SideBrush" ECOVACS_PART_DUSTFILTER EcovacsPart = "DustCaseHeap" )
type EventType ¶
type EventType uint16
const ( ROTEL_EVENT_TYPE_NONE EventType = 0 ROTEL_EVENT_TYPE_POWER EventType = iota ROTEL_EVENT_TYPE_VOLUME ROTEL_EVENT_TYPE_SOURCE ROTEL_EVENT_TYPE_MUTE ROTEL_EVENT_TYPE_FREQ ROTEL_EVENT_TYPE_BYPASS ROTEL_EVENT_TYPE_BASS ROTEL_EVENT_TYPE_TREBLE ROTEL_EVENT_TYPE_BALANCE ROTEL_EVENT_TYPE_SPEAKER ROTEL_EVENT_TYPE_DIMMER ROTEL_EVENT_TYPE_UPDATE )
type EvovacsDevice ¶
type EvovacsDevice interface {
// Return device properties
Address() string
Nickname() string
Id() string
// Fetch information from device, returns ReqId for the request
GetBatteryInfo() (string, error)
GetLifeSpan(EcovacsPart) (string, error)
GetChargeState() (string, error)
GetCleanState() (string, error)
GetVersion() (string, error)
// Command the device
Clean(EcovacsCleanMode, EcovacsCleanSuction) (string, error)
Charge() (string, error)
}
type Ikea ¶
type Ikea interface {
// Connect to gateway, using either IP4 or IP6
Connect(gopi.RPCServiceRecord, gopi.RPCFlag) error
// Disconnect from gateway
Disconnect() error
// Return list of device id's
Devices() ([]uint, error)
Groups() ([]uint, error)
Scenes() ([]uint, error)
// Return details of a specific device, group or scene
Device(id uint) (IkeaDevice, error)
Group(id uint) (IkeaGroup, error)
// Send one or more device, group or scene commands
Send(...IkeaCommand) error
// Observe device
ObserveDevice(context.Context, uint) error
// Implements Unit
gopi.Unit
}
type IkeaDevice ¶
type IkeaDeviceType ¶
type IkeaDeviceType uint
const ( IKEA_DEVICE_TYPE_REMOTE IkeaDeviceType = 0 IKEA_DEVICE_TYPE_SLAVE_REMOTE IkeaDeviceType = 1 IKEA_DEVICE_TYPE_LIGHT IkeaDeviceType = 2 IKEA_DEVICE_TYPE_PLUG IkeaDeviceType = 3 IKEA_DEVICE_TYPE_MOTIONSENSOR IkeaDeviceType = 4 IKEA_DEVICE_TYPE_REPEATER IkeaDeviceType = 6 IKEA_DEVICE_TYPE_BLIND IkeaDeviceType = 7 )
func (IkeaDeviceType) String ¶
func (t IkeaDeviceType) String() string
type IkeaEvent ¶
type IkeaEvent interface {
Type() IkeaEventType
Device() IkeaDevice
gopi.Event
}
type IkeaEventType ¶
type IkeaEventType uint
const ( IKEA_EVENT_NONE IkeaEventType = iota IKEA_EVENT_DEVICE_ADDED IKEA_EVENT_DEVICE_CHANGED )
func (IkeaEventType) String ¶
func (t IkeaEventType) String() string
type IkeaLight ¶
type IkeaLight interface {
// Get properties
Power() bool
Brightness() uint8 // 00 to FE
ColorHex() string
ColorXY() (uint16, uint16) // 0000 to FFFF
Temperature() uint16 // 250 to 454
// Set properties
SetPower(bool) IkeaCommand
SetBrightness(uint8, time.Duration) IkeaCommand // 01 to FE
SetColorXY(uint16, uint16, time.Duration) IkeaCommand // 0000 to FFFF
SetTemperature(uint16, time.Duration) IkeaCommand // 250 to 454
SetColorHex(string, time.Duration) IkeaCommand
}
type Mute ¶
type Mute uint16
const ( ROTEL_MUTE_NONE Mute = 0 ROTEL_MUTE_ON Mute = iota ROTEL_MUTE_OFF ROTEL_MUTE_MAX = ROTEL_MUTE_OFF )
type Power ¶
type Power uint16
const ( ROTEL_POWER_NONE Power = 0 ROTEL_POWER_ON Power = iota ROTEL_POWER_STANDBY ROTEL_POWER_MAX = ROTEL_POWER_STANDBY )
type Rotel ¶
type Rotel interface {
gopi.Driver
gopi.Publisher
// Information
Model() string
// Get and set state
Get() RotelState
Set(RotelState) error
// Send Command
Send(Command) error
}
type RotelClient ¶
type RotelEvent ¶
type RotelEvent interface {
gopi.Event
Type() EventType
State() RotelState
}
type RotelState ¶
type RotelState struct {
Power
Volume
Mute
Source
Freq string
Bypass
Treble Tone
Bass Tone
Balance
Speaker
Dimmer
Update
}
func (RotelState) String ¶
func (s RotelState) String() string
type Source ¶
type Source uint16
const ( ROTEL_SOURCE_NONE Source = 0 ROTEL_SOURCE_CD Source = iota ROTEL_SOURCE_COAX1 ROTEL_SOURCE_COAX2 ROTEL_SOURCE_OPT1 ROTEL_SOURCE_OPT2 ROTEL_SOURCE_AUX1 ROTEL_SOURCE_AUX2 ROTEL_SOURCE_TUNER ROTEL_SOURCE_PHONO ROTEL_SOURCE_USB ROTEL_SOURCE_BLUETOOTH ROTEL_SOURCE_PC_USB ROTEL_SOURCE_OTHER ROTEL_SOURCE_MAX = ROTEL_SOURCE_OTHER )
type Tone ¶
type Tone int16
const ( ROTEL_TONE_NONE Tone = 0 ROTEL_TONE_MIN Tone = -100 ROTEL_TONE_MAX Tone = 100 ROTEL_TONE_OFF Tone = ROTEL_TONE_MAX + 1 )
Click to show internal directories.
Click to hide internal directories.