Versions in this module Expand all Collapse all v1 v1.1.0 Jun 28, 2026 Changes in this version type Config + Interface string v1.0.0 Jun 28, 2026 Changes in this version + const ArcAnalog + const ArcHDMI + const ArcNone + const ArcOptical + const BroadcastPort + const MulticastIP + const MulticastPort + const ProtocolVersion + const V2IPAudioDefaultChannels + const V2IPAudioDefaultSampleRate + const V2IPAudioMaxChannels + const V2IPAudioMinChannels + const V2IPPortANC + const V2IPPortAudio + const V2IPPortVideo + const Version + func BayStatusHDCP(status uint32) int + func BayStatusRCType(status uint32) int + func ValidAddresses() []string + type AmpDolbySettings struct + DolbyDetected bool + Mode int + PCMUpmix bool + PCMUpmixActive bool + type AmpZoneSettings struct + Bass int + Bridged int + DelayLeft uint32 + DelayRight uint32 + EQLeft [5]int + EQRight [5]int + GainLeft int + GainRight int + PowerLevel int + PowerMode int + PowerTimeout uint32 + Treble int + VolumeMax int + VolumeMin int + type AudioChangeSource struct + SourceID int + SourceUID DeviceUID + TargetID int + TargetUID DeviceUID + type AudioEndpoint struct + Address *V2IPStreamSource + Features AudioFeatures + ID int + func (e *AudioEndpoint) Bay() *Bay + func (e *AudioEndpoint) Input() *AudioEndpoint + func (e *AudioEndpoint) InputsAvailable() []*AudioEndpoint + func (e *AudioEndpoint) IsInput() bool + func (e *AudioEndpoint) IsOutput() bool + func (e *AudioEndpoint) IsV2IP() bool + type AudioEndpoints struct + func (a *AudioEndpoints) Get(id int) *AudioEndpoint + func (a *AudioEndpoints) List() []*AudioEndpoint + type AudioFeatures uint32 + func (a AudioFeatures) HasTrigger() bool + func (a AudioFeatures) IsAmp() bool + func (a AudioFeatures) IsHDMI() bool + func (a AudioFeatures) IsInput() bool + func (a AudioFeatures) IsOutput() bool + func (a AudioFeatures) IsRCA() bool + func (a AudioFeatures) IsSPDIF() bool + func (a AudioFeatures) IsV2IP() bool + func (a AudioFeatures) IsV2IPRx() bool + func (a AudioFeatures) IsV2IPTx() bool + func (a AudioFeatures) SupportMute() bool + func (a AudioFeatures) SupportVolume() bool + type AudioLink struct + Endpoint int + LinkDevice DeviceUID + LinkEndpoint int + type Bay struct + func (b *Bay) ARC() string + func (b *Bay) AmpSettings() *AmpZoneSettings + func (b *Bay) AudioEndpoint() *AudioEndpoint + func (b *Bay) AudioRouteEndpoint() string + func (b *Bay) AudioSource() *Bay + func (b *Bay) BayLabel() string + func (b *Bay) BayName() string + func (b *Bay) BayNumber() int + func (b *Bay) BayUID() BayUID + func (b *Bay) CECDetected() bool + func (b *Bay) DecoderDisabled() bool + func (b *Bay) Device() *Device + func (b *Bay) DolbyInput() string + func (b *Bay) EdidProfileValue() (EdidProfile, bool) + func (b *Bay) EncoderDisabled() bool + func (b *Bay) Faulty() bool + func (b *Bay) Features() BayFeaturesMask + func (b *Bay) HDBTConnected() bool + func (b *Bay) HPDDetected() bool + func (b *Bay) Hidden() bool + func (b *Bay) IsAudio() bool + func (b *Bay) IsHDBaseT() bool + func (b *Bay) IsHDMI() bool + func (b *Bay) IsInput() bool + func (b *Bay) IsLocal() bool + func (b *Bay) IsOutput() bool + func (b *Bay) IsV2IPRemote() bool + func (b *Bay) IsV2IPSink() bool + func (b *Bay) IsV2IPSource() bool + func (b *Bay) Link() *BayLink + func (b *Bay) LinkConfigured() bool + func (b *Bay) LinkedBay() *Bay + func (b *Bay) Mirroring() BayMirrorStatus + func (b *Bay) Mode() string + func (b *Bay) MuteSet(mute bool) error + func (b *Bay) Muted() (bool, bool) + func (b *Bay) PoEPowered() bool + func (b *Bay) Port() int + func (b *Bay) PowerOff() error + func (b *Bay) PowerOn() error + func (b *Bay) PowerStatusValue() PowerStatus + func (b *Bay) RCTypeValue() (RCType, bool) + func (b *Bay) RegisterCallback(fn func(*Bay)) + func (b *Bay) SelectAudioSource(port int) error + func (b *Bay) SelectAudioSourceAddr(audioIP string, audioPort int, fmt *V2IPAudioFormat) error + func (b *Bay) SelectAudioSourceByName(name string, format *V2IPAudioFormat) error + func (b *Bay) SelectEdidProfile(profile EdidProfile) error + func (b *Bay) SelectVideoSource(port int) error + func (b *Bay) SelectVideoSourceByUserName(name string) error + func (b *Bay) SetHidden(hidden bool) error + func (b *Bay) SetName(name string) error + func (b *Bay) SetZoneSettings(s AmpZoneSettings) error + func (b *Bay) SignalDetected() bool + func (b *Bay) SignalType() string + func (b *Bay) String() string + func (b *Bay) TxAction(action RCAction) error + func (b *Bay) UserName() string + func (b *Bay) V2IPSource() *V2IPStreamSources + func (b *Bay) V2IPUID() DeviceUID + func (b *Bay) VideoRouteEndpoint() string + func (b *Bay) VideoSource() *Bay + func (b *Bay) Volume() (int, bool) + func (b *Bay) VolumeDown() error + func (b *Bay) VolumeSet(volume int, muted *bool) error + func (b *Bay) VolumeStatus() *VolumeMuteStatus + func (b *Bay) VolumeUp() error + type BayFeaturesMask uint32 + const BayAudioAmpOut + const BayAudioAnaIn + const BayAudioAnaOut + const BayAudioDigIn + const BayAudioDigOut + const BayAutoOff + const BayDolby + const BayHDMIIn + const BayHDMIOut + const BayIRIn + const BayIROut + const BayRCIn + const BayRCOut + const BayV2IPSinkLocal + const BayV2IPSinkRemote + const BayV2IPSourceLocal + const BayV2IPSourceRemote + func (b BayFeaturesMask) Has(f BayFeaturesMask) bool + type BayLink struct + func (l *BayLink) Configured() bool + func (l *BayLink) IsAudio() bool + func (l *BayLink) IsVideo() bool + func (l *BayLink) LinkedBay() *Bay + func (l *BayLink) LinkedBayName() string + func (l *BayLink) Serial() string + type BayMirrorStatus struct + Target *BayUID + func (m BayMirrorStatus) IsMirroring() bool + type BayStatusMask uint32 + const BayStatusAudioARCAnalog + const BayStatusAudioARCHDMI + const BayStatusAudioARCOptic + const BayStatusCECDetected + const BayStatusCECDisabled + const BayStatusDecoderDisable + const BayStatusEncoderDisable + const BayStatusEncoderError + const BayStatusFault + const BayStatusHDBTConnected + const BayStatusHPDDetected + const BayStatusHidden + const BayStatusOffline + const BayStatusPowered + const BayStatusPoweredOff + const BayStatusPoweredOn + const BayStatusSignalDetected + const BayStatusSignalScramble + func (b BayStatusMask) Has(f BayStatusMask) bool + type BayUID struct + Device DeviceUID + Port int + func (b BayUID) String() string + type Callbacks struct + OnActionReceived func(b *Bay, action RCAction) + OnAmpDolbySettingsChanged func(d *Device, settings AmpDolbySettings) + OnAmpZoneSettingsChanged func(b *Bay, settings AmpZoneSettings) + OnAudioSourceChanged func(b *Bay, audioSource *Bay) + OnBayLinked func(b *Bay, linkedSerial, linkedBay string, features LinkFeature) + OnBayRegistered func(b *Bay) + OnBayUnlinked func(b *Bay, linkedSerial, linkedBay string) + OnBayUpdate func(b *Bay) + OnDeviceConfigChanged func(d *Device) + OnDeviceConfigComplete func(d *Device) + OnDeviceOnlineStatusChanged func(d *Device, online bool) + OnDeviceTemperatureChanged func(d *Device) + OnDeviceUpdate func(d *Device) + OnEdidProfileChanged func(b *Bay, profile EdidProfile) + OnKeyPressed func(b *Bay, key RCKey) + OnMirrorStatusChanged func(b *Bay, mirror BayMirrorStatus) + OnNameChanged func(b *Bay, name string) + OnPowerChanged func(b *Bay, power PowerStatus) + OnRcTypeChanged func(b *Bay, rcType RCType) + OnStatusArcChanged func(b *Bay, arc string) + OnStatusCecDetectedChanged func(b *Bay, detected bool) + OnStatusFaultyChanged func(b *Bay, faulty bool) + OnStatusHdbtConnectedChanged func(b *Bay, connected bool) + OnStatusHiddenChanged func(b *Bay, hidden bool) + OnStatusHpdDetectedChanged func(b *Bay, detected bool) + OnStatusPoePoweredChanged func(b *Bay, powered bool) + OnStatusSignalDetectedChanged func(b *Bay, detected bool) + OnStatusSignalTypeChanged func(b *Bay, signalType string) + OnVideoSourceChanged func(b *Bay, videoSource *Bay) + OnVolumeChanged func(b *Bay, volume *VolumeMuteStatus) + type Config struct + Broadcast bool + Callbacks Callbacks + LocalIP string + Name string + Port int + TargetIP string + type ConnectStatus int + const ConnectUnknown + const Connected + const Disconnected + func (c ConnectStatus) String() string + type Device struct + func (d *Device) Address() string + func (d *Device) AmpDolbyChannels() int + func (d *Device) AudioEndpointByID(id int) *AudioEndpoint + func (d *Device) AudioEndpoints() *AudioEndpoints + func (d *Device) AudioMute(endpointID int, mute bool) error + func (d *Device) AudioSelectInput(sinkEP *AudioEndpoint, source DeviceUID, sourceEP *AudioEndpoint) error + func (d *Device) AudioTrigger(endpointID int, trigger bool) error + func (d *Device) AudioVolumeSet(endpointID, volume int) error + func (d *Device) Bays() map[int]*Bay + func (d *Device) ConfigurationComplete() bool + func (d *Device) DolbySettings() *AmpDolbySettings + func (d *Device) Features() DeviceFeature + func (d *Device) FirmwareVersions() map[FirmwareType]FirmwareVersion + func (d *Device) FirstInput() *Bay + func (d *Device) FirstOutput() *Bay + func (d *Device) GetByPortname(name string) *Bay + func (d *Device) GetByPortnum(portnum int) *Bay + func (d *Device) Inputs() []*Bay + func (d *Device) IsAmp() bool + func (d *Device) IsAudioMatrix() bool + func (d *Device) IsMeshMaster() bool + func (d *Device) IsMeshMember() bool + func (d *Device) IsOneIPMultiviewer() bool + func (d *Device) IsOneIPRx() bool + func (d *Device) IsOneIPTx() bool + func (d *Device) IsOneIPTz() bool + func (d *Device) IsV2IP() bool + func (d *Device) IsVideoMatrix() bool + func (d *Device) MACAddress() string + func (d *Device) MeshMaster() *Device + func (d *Device) ModelName() string + func (d *Device) Multiviewer() *Multiviewer + func (d *Device) Name() string + func (d *Device) NetworkStatus() map[int]NetworkPortStatus + func (d *Device) Online() bool + func (d *Device) Outputs() []*Bay + func (d *Device) Protocol() int + func (d *Device) ReadStats(enable bool) error + func (d *Device) Reboot() error + func (d *Device) RegisterCallback(fn func(*Device)) + func (d *Device) Serial() string + func (d *Device) Status() DeviceStatus + func (d *Device) StatusMessage() string + func (d *Device) String() string + func (d *Device) SystemStatus() (status int, message string, ok bool) + func (d *Device) Temperatures() map[string]int + func (d *Device) Topology() []TopologyEntry + func (d *Device) UID() DeviceUID + func (d *Device) V2IPDetails() *DeviceV2IPDetails + func (d *Device) V2IPSink() *DeviceV2IPSink + func (d *Device) V2IPSourceLocal() *V2IPStreamSources + func (d *Device) V2IPSources() []V2IPStreamSources + func (d *Device) V2IPStats() *V2IPDeviceStats + func (d *Device) Version() string + type DeviceFeature uint32 + const FeatureAudioAmplifier + const FeatureAudioReturn + const FeatureAudioRouting + const FeatureBootBit + const FeatureBooting + const FeatureCEC + const FeatureIRRx + const FeatureIRTx + const FeatureManager + const FeatureMesh + const FeatureMeshMaster + const FeatureMeshMember + const FeatureMultiviewer + const FeatureRemoteControl + const FeatureSetupCompleted + const FeatureStatusCrashed + const FeatureStatusError + const FeatureStatusNotify + const FeatureStatusPowSave + const FeatureStatusReboot + const FeatureStatusWarning + const FeatureV2IPSink + const FeatureV2IPSource + const FeatureVideoRouting + const FeatureVolumeControl + func (d DeviceFeature) Has(f DeviceFeature) bool + type DeviceStatus int + const StatusBooting + const StatusInactive + const StatusOffline + const StatusOnline + const StatusRebooting + func (s DeviceStatus) String() string + type DeviceUID [16]byte + func DeviceUIDFromBytes(b []byte) (DeviceUID, error) + func ParseDeviceUID(s string) (DeviceUID, error) + func (u DeviceUID) Bytes() []byte + func (u DeviceUID) Empty() bool + func (u DeviceUID) String() string + type DeviceV2IPDetails struct + Anc V2IPStreamSource + Arc V2IPStreamSource + Audio V2IPStreamSource + Scaling V2IPScalingSettings + TxRate uint8 + Video V2IPStreamSource + type DeviceV2IPSink struct + Addresses V2IPStreamSources + AudioFmt *V2IPAudioFormat + type EdidProfile int + const Edid1080P51 + const Edid1080P71 + const Edid1080PStereo + const Edid4K + const Edid4K71 + const Edid4KHDR71 + const Edid4KHDRAVROnly + const Edid4KHDRAtmos + const Edid4KHDRStereo + const Edid720P + const EdidCustom0 + const EdidFixed + const EdidLowestCommon + const EdidLowestCommonAll + const EdidSink1 + const EdidSink32 + const EdidUnknown + func (e EdidProfile) String() string + type FirmwareType int + const FirmwareFPGA + const FirmwareLinux + const FirmwareLoadingOverlay + const FirmwareUnknown + func (f FirmwareType) String() string + type FirmwareVersion struct + Hash uint32 + Timestamp int64 + Type FirmwareType + Version string + func (f FirmwareVersion) String() string + type HiddenStatus int + const Hidden + const HiddenUnknown + const Visible + func (h HiddenStatus) String() string + type LinkFeature uint32 + const LinkAudioAnalog + const LinkAudioOptical + const LinkIR + const LinkNone + const LinkRC + const LinkVideoHDMI + func (l LinkFeature) Has(f LinkFeature) bool + type Multiviewer struct + func (m *Multiviewer) AudioMuted() MultiviewerBool + func (m *Multiviewer) AudioSource() MultiviewerSource + func (m *Multiviewer) AudioVolume() int + func (m *Multiviewer) AutoRoute() error + func (m *Multiviewer) AutoSwitch() MultiviewerBool + func (m *Multiviewer) ConnectedSource(input int) (DeviceUID, bool) + func (m *Multiviewer) EdidTemplate() MultiviewerEDIDTemplate + func (m *Multiviewer) HDCPMode() MultiviewerHDCPMode + func (m *Multiviewer) MCUVersion() string + func (m *Multiviewer) OutputITCMode() MultiviewerITCMode + func (m *Multiviewer) OutputMode() MultiviewerOutputMode + func (m *Multiviewer) PipPosition() MultiviewerPipPosition + func (m *Multiviewer) PipSize() MultiviewerPipSize + func (m *Multiviewer) RemoteControl() MultiviewerSource + func (m *Multiviewer) ScalerVersion() string + func (m *Multiviewer) ScreenAspect() MultiviewerAspectRatio + func (m *Multiviewer) SetAudioSource(source MultiviewerSource) error + func (m *Multiviewer) SetAudioVolume(volume int, muted bool) error + func (m *Multiviewer) SetAutoSwitch(enable bool) error + func (m *Multiviewer) SetConnectedSource(input int, source DeviceUID) error + func (m *Multiviewer) SetEdidTemplate(e MultiviewerEDIDTemplate) error + func (m *Multiviewer) SetHDCPMode(h MultiviewerHDCPMode) error + func (m *Multiviewer) SetOutputITCMode(o MultiviewerITCMode) error + func (m *Multiviewer) SetOutputMode(o MultiviewerOutputMode) error + func (m *Multiviewer) SetPipPosition(p MultiviewerPipPosition) error + func (m *Multiviewer) SetPipSize(s MultiviewerPipSize) error + func (m *Multiviewer) SetRemoteControl(source MultiviewerSource) error + func (m *Multiviewer) SetScreenAspect(a MultiviewerAspectRatio) error + func (m *Multiviewer) SetVideoSource(screen int, source MultiviewerSource) error + func (m *Multiviewer) SetViewMode(v MultiviewerViewMode) error + func (m *Multiviewer) VideoSource(screen int) MultiviewerSource + func (m *Multiviewer) ViewMode() MultiviewerViewMode + type MultiviewerAspectRatio int + const MVAspect16x9 + const MVAspectFull + const MVAspectUnknown + type MultiviewerBool int + const MVBoolOff + const MVBoolOn + const MVBoolUnknown + type MultiviewerEDIDTemplate int + const MVEdidUnknown + type MultiviewerHDCPMode int + const MVHDCPUnknown + const MVHDCPV14 + const MVHDCPV22 + type MultiviewerITCMode int + const MVITCPC + const MVITCUnknown + const MVITCVideo + type MultiviewerOutputMode int + const MVOut1024x768P60 + const MVOut1280x720P50 + const MVOut1280x720P60 + const MVOut1280x800P60 + const MVOut1360x768P60 + const MVOut1920x1080P50 + const MVOut1920x1080P60 + const MVOut1920x1200P60RB + const MVOut3840x2160P25 + const MVOut3840x2160P30 + const MVOut3840x2160P50 + const MVOut3840x2160P60 + const MVOut4096x2160P50 + const MVOut4096x2160P60 + const MVOutUnknown + type MultiviewerPipPosition int + const MVPipPosLeftBottom + const MVPipPosLeftTop + const MVPipPosRightBottom + const MVPipPosRightTop + const MVPipPosUnknown + type MultiviewerPipSize int + const MVPipSizeLarge + const MVPipSizeMedium + const MVPipSizeSmall + const MVPipSizeUnknown + type MultiviewerSource int + const MVSource1 + const MVSource2 + const MVSource3 + const MVSource4 + const MVSourceUnknown + type MultiviewerViewMode int + const MVViewFourScreenLarge + const MVViewFourScreenSmall + const MVViewPIP + const MVViewSingle + const MVViewThreeScreenLarge + const MVViewThreeScreenSmall + const MVViewTwoScreenLarge + const MVViewTwoScreenSmall + const MVViewUnknown + type MuteStatus uint8 + func (m MuteStatus) Left() bool + func (m MuteStatus) Muted() bool + func (m MuteStatus) Right() bool + type NetworkPortStatus struct + CableStatus []UtpCableStatus + Errors *UtpLinkErrors + IP string + LinkFullDuplex bool + LinkSpeed UtpLinkSpeed + MACAddress string + Name string + Port int + Querier string + VCTStatus []string + type PowerStatus int + const PowerOff + const PowerOn + const PowerUnknown + func (p PowerStatus) String() string + type RCAction int + const ActionPowerOff + const ActionPowerOn + const ActionPowerToggle + const ActionVolumeDown + const ActionVolumeMute + const ActionVolumeUp + type RCKey int + const Key3DMode + const KeyBack + const KeyBlue + const KeyChannelDown + const KeyChannelUp + const KeyContentMenu + const KeyCustomCEC + const KeyCustomSky + const KeyDown + const KeyEject + const KeyFastForward + const KeyGreen + const KeyGuide + const KeyHelp + const KeyInformation + const KeyInputSelect + const KeyInteractive + const KeyLeft + const KeyMenu + const KeyNextChapter + const KeyNum0 + const KeyNum1 + const KeyNum2 + const KeyNum3 + const KeyNum4 + const KeyNum5 + const KeyNum6 + const KeyNum7 + const KeyNum8 + const KeyNum9 + const KeyPause + const KeyPlay + const KeyPrevChapter + const KeyPreviousChan + const KeyRecord + const KeyRed + const KeyRewind + const KeyRight + const KeySearch + const KeySelect + const KeySky + const KeySoundSelect + const KeyStop + const KeySubtitle + const KeyText + const KeyUp + const KeyVideoOnDemand + const KeyYellow + type RCType int + const RCTypeCEC + const RCTypeDirecTV + const RCTypeDish + const RCTypeIR + const RCTypeKodi + const RCTypeMXRemote + const RCTypeSkyUK + const RCTypeTiVo + func (r RCType) String() string + type Remote struct + func New(cfg Config) *Remote + func (r *Remote) Close() error + func (r *Remote) Devices() []*Device + func (r *Remote) GetBayByPortnum(uid DeviceUID, port int) *Bay + func (r *Remote) GetBySerial(serial string) *Device + func (r *Remote) GetByUID(uid DeviceUID) *Device + func (r *Remote) GetByUIDString(s string) *Device + func (r *Remote) Name() string + func (r *Remote) SendMonitoringPulse() error + func (r *Remote) Start(ctx context.Context) error + func (r *Remote) UID() DeviceUID + func (r *Remote) UpdateConfig(localIP string, broadcast bool) error + type Svd struct + HorizontalActive int + HorizontalTotal int + ID int + Interlaced bool + Multiplier int + PictureAspect int + PixelAspect int + Refresh int + VerticalActive int + VerticalTotal int + func LookupSvd(id int) (Svd, bool) + func (s Svd) String() string + type TopologyEntry struct + Mask uint32 + UID DeviceUID + type UtpCableStatus struct + Length uint32 + Pair int + Polarity bool + Skew uint32 + type UtpLinkErrors struct + InCollision bool + InError bool + InFCSError bool + LengthWarning bool + OutDeferred bool + OutExcessive bool + PolarityError bool + SkewWarning bool + type UtpLinkSpeed int + const LinkSpeed100M + const LinkSpeed10M + const LinkSpeed1G + const LinkSpeed200M + const LinkSpeedUnknown + func (u UtpLinkSpeed) String() string + type V2IPAudioFormat struct + Channels uint8 + SampleRate uint32 + func (f V2IPAudioFormat) String() string + type V2IPDecoderState int + const DecoderBad + const DecoderHealthy + const DecoderUnknown + func (s V2IPDecoderState) String() string + type V2IPDeviceStats struct + Rx V2IPRxStats + RxPerMinute V2IPRxStats + Tx V2IPTxStats + TxPerMinute V2IPTxStats + type V2IPRxStats struct + AncDropped uint32 + AncSeqErrors uint32 + AncTotal uint32 + AudioDropped uint32 + AudioSeqErrors uint32 + AudioTotal uint32 + DecoderState V2IPDecoderState + VideoDropped uint32 + VideoSeqErrors uint32 + VideoTotal uint32 + WdtTimeout uint32 + type V2IPScalingSettings struct + Flags uint8 + Mode uint16 + Refresh uint16 + type V2IPStreamSource struct + IP string + Label string + Port int + func (s V2IPStreamSource) String() string + type V2IPStreamSources struct + Anc V2IPStreamSource + Arc *V2IPStreamSource + Audio V2IPStreamSource + UID DeviceUID + Video V2IPStreamSource + func (s V2IPStreamSources) String() string + type V2IPTxStats struct + Anc uint32 + Audio uint32 + Overflow uint32 + StreamDown uint32 + Video uint32 + type VolumeMuteStatus struct + MutedLeft *bool + MutedRight *bool + VolumeLeft int + VolumeRight int + func (v VolumeMuteStatus) Muted() (bool, bool) + func (v VolumeMuteStatus) Volume() int