Versions in this module Expand all Collapse all v0 v0.1.0 Jul 19, 2026 Changes in this version + const ClassLong + const ClassRealtime + const ClassShort + const UpstreamVersion + var ErrAlarmNotFound = errors.New("alexactl: alarm not found") + var ErrCannotAuthenticate = errors.New("alexactl: cannot authenticate") + var ErrCannotConnect = errors.New("alexactl: cannot connect") + var ErrCannotControlDevice = errors.New("alexactl: cannot control device") + var ErrCannotRegisterDevice = errors.New("alexactl: cannot register device") + var ErrCannotRestartDevice = errors.New("alexactl: cannot restart device") + var ErrCannotRetrieveData = errors.New("alexactl: cannot retrieve data") + var ErrControllerNotImplemented = errors.New("alexactl: typed controller not yet wired — HAR capture needed") + var ErrDeviceNotFound = errors.New("alexactl: device not found") + var ErrInvalidDropInStatus = fmt.Errorf("not a valid DropInStatus, try [%s]", strings.Join(_DropInStatusNames, ", ")) + var ErrInvalidKind = fmt.Errorf("not a valid Kind, try [%s]", strings.Join(_KindNames, ", ")) + var ErrInvalidListItemStatus = fmt.Errorf("not a valid ListItemStatus, try [%s]", ...) + var ErrInvalidListType = fmt.Errorf("not a valid ListType, try [%s]", strings.Join(_ListTypeNames, ", ")) + var ErrInvalidLockState = fmt.Errorf("not a valid LockState, try [%s]", strings.Join(_LockStateNames, ", ")) + var ErrInvalidMediaCommand = fmt.Errorf("not a valid MediaCommand, try [%s]", strings.Join(_MediaCommandNames, ", ")) + var ErrInvalidPushMessageType = fmt.Errorf("not a valid PushMessageType, try [%s]", ...) + var ErrInvalidSequenceType = fmt.Errorf("not a valid SequenceType, try [%s]", strings.Join(_SequenceTypeNames, ", ")) + var ErrInvalidTemperatureScale = fmt.Errorf("not a valid TemperatureScale, try [%s]", ...) + var ErrInvalidThermostatMode = fmt.Errorf("not a valid ThermostatMode, try [%s]", ...) + var ErrListItemNotFound = errors.New("alexactl: list item not found") + var ErrReauthRequired = errors.New("alexactl: reauth required") + var ErrReminderNotFound = errors.New("alexactl: reminder not found") + var ErrTimerNotFound = errors.New("alexactl: timer not found") + var ErrWrongMethod = errors.New("alexactl: wrong login method") + var Version = "dev" + func AlarmServerShape(a *Alarm) map[string]any + func DropInStatusNames() []string + func KindNames() []string + func ListItemStatusNames() []string + func ListTypeNames() []string + func LockStateNames() []string + func MediaCommandNames() []string + func PushMessageTypeNames() []string + func ReminderServerShape(r *Reminder) map[string]any + func SequenceTypeNames() []string + func TemperatureScaleNames() []string + func ThermostatModeNames() []string + func TimerServerShape(t *Timer) map[string]any + type APIError struct + Category error + Method string + StatusCode int + URL string + func (e *APIError) Error() string + func (e *APIError) Unwrap() error + type Alarm struct + CreatedAt time.Time + DeviceSerialNumber string + DeviceType string + FireAt time.Time + ID string + Label string + Recurrence *Recurrence + Sound string + Status string + UpdatedAt time.Time + Version int + type AlarmsService struct + func (s *AlarmsService) Create(ctx context.Context, a *Alarm) (*Alarm, error) + func (s *AlarmsService) Delete(ctx context.Context, a *Alarm) error + func (s *AlarmsService) Disable(ctx context.Context, a *Alarm) error + func (s *AlarmsService) Enable(ctx context.Context, a *Alarm) error + func (s *AlarmsService) Get(ctx context.Context) ([]*Alarm, error) + func (s *AlarmsService) Snooze(ctx context.Context, a *Alarm, dur time.Duration) error + func (s *AlarmsService) Update(ctx context.Context, a *Alarm) error + type AudioPlayerStateEvent struct + func NewAudioPlayerStateEvent(b PushEventBase) *AudioPlayerStateEvent + func (b *AudioPlayerStateEvent) RawPayload() map[string]any + func (b *AudioPlayerStateEvent) SerialNumber() string + func (b *AudioPlayerStateEvent) Type() PushMessageType + type AuthService struct + func (s *AuthService) Login(ctx context.Context, email, password string, otp OTPProvider) (*Session, error) + func (s *AuthService) Restore(ctx context.Context) (*Session, error) + func (s *AuthService) Session() *Session + type BluetoothStatusEvent struct + func NewBluetoothStatusEvent(b PushEventBase) *BluetoothStatusEvent + func (b *BluetoothStatusEvent) RawPayload() map[string]any + func (b *BluetoothStatusEvent) SerialNumber() string + func (b *BluetoothStatusEvent) Type() PushMessageType + type BrightnessControl struct + func (c *BrightnessControl) Adjust(ctx context.Context, delta int) error + func (c *BrightnessControl) Set(ctx context.Context, percent int) error + type CacheClass = cache.CacheClass + type Client struct + Alarms *AlarmsService + Auth *AuthService + Communications *CommunicationsService + Devices *DevicesService + DnD *DnDService + History *HistoryService + Lists *ListsService + Media *MediaService + Push *PushService + Reminders *RemindersService + Sensors *SensorsService + Sequence *SequenceService + Timers *TimersService + func NewClient(opts ...Option) (*Client, error) + func (c *Client) SnapshotCaches(ctx context.Context) error + type Color struct + Brightness float64 + Hue float64 + Saturation float64 + func ColorFromRGB(r, g, b uint8) Color + func (c Color) ToRGB() (uint8, uint8, uint8) + type ColorControl struct + func (c *ColorControl) Set(ctx context.Context, color Color) error + type ColorTempControl struct + func (c *ColorTempControl) Decrease(ctx context.Context) error + func (c *ColorTempControl) Increase(ctx context.Context) error + func (c *ColorTempControl) Set(ctx context.Context, kelvin int) error + type CommunicationsService struct + func (s *CommunicationsService) GetPreferences(ctx context.Context, devices []*Device) (map[string]map[string]string, error) + func (s *CommunicationsService) SetAnnouncementStatus(ctx context.Context, d *Device, on bool) error + func (s *CommunicationsService) SetCommunicationStatus(ctx context.Context, d *Device, on bool) error + func (s *CommunicationsService) SetDropInStatus(ctx context.Context, d *Device, status DropInStatus) error + type ConnectionStatusEvent struct + func NewConnectionStatusEvent(b PushEventBase) *ConnectionStatusEvent + func (b *ConnectionStatusEvent) RawPayload() map[string]any + func (b *ConnectionStatusEvent) SerialNumber() string + func (b *ConnectionStatusEvent) Type() PushMessageType + type CustomerInfo struct + AccountID string + GivenName string + HomeRegion string + Name string + type Device struct + AccountName string + Alarms []*Alarm + AlexaInterfaces []string + Capabilities []string + ClusterMembers map[string]string + CommunicationSettings map[string]string + DeviceFamily string + DeviceOwnerCustomerID string + DeviceType string + DisplayCategories []string + EndpointID string + EntityID string + HardwareVersion string + HouseholdDevice bool + Kind Kind + Manufacturer string + MediaPlayerSupported bool + Model string + Online bool + Operations []string + Reminders []*Reminder + SchedulesSupported bool + Sensors map[string]*DeviceSensor + SerialNumber string + SoftwareVersion string + Timers []*Timer + func (d *Device) Brightness() *BrightnessControl + func (d *Device) Color() *ColorControl + func (d *Device) ColorTemperature() *ColorTempControl + func (d *Device) HasCapability(c string) bool + func (d *Device) IsCluster() bool + func (d *Device) Lock() *LockControl + func (d *Device) Mode(instance string) *ModeControl + func (d *Device) Power() *PowerControl + func (d *Device) Range(instance string) *RangeControl + func (d *Device) SendDirective(ctx context.Context, featureName, instance, operationName string, ...) error + func (d *Device) Thermostat() *ThermostatControl + func (d *Device) Toggle(instance string) *ToggleControl + type DeviceInfo struct + DeviceSerialNumber string + DeviceType string + type DeviceSensor struct + Configuration map[string]any + Error bool + ErrorMsg string + ErrorType string + Name string + Operations []string + Scale string + Value any + type DevicesService struct + func (s *DevicesService) Get(ctx context.Context, serial string) (*Device, error) + func (s *DevicesService) Inspect(ctx context.Context, serial string) (*Device, error) + func (s *DevicesService) List(ctx context.Context) ([]*Device, error) + func (s *DevicesService) Refresh(ctx context.Context, opts ...RefreshOption) error + func (s *DevicesService) Restart(ctx context.Context, d *Device) error + type DnDService struct + func (s *DnDService) Set(ctx context.Context, d *Device, enabled bool) error + func (s *DnDService) Status(ctx context.Context) (map[string]*DeviceSensor, error) + type DropInStatus string + const DropInStatusAll + const DropInStatusHome + const DropInStatusOff + func DropInStatusValues() []DropInStatus + func ParseDropInStatus(name string) (DropInStatus, error) + func (x *DropInStatus) AppendText(b []byte) ([]byte, error) + func (x *DropInStatus) UnmarshalText(text []byte) error + func (x DropInStatus) IsValid() bool + func (x DropInStatus) MarshalText() ([]byte, error) + func (x DropInStatus) String() string + type EqualizerStateChangeEvent struct + func NewEqualizerStateChangeEvent(b PushEventBase) *EqualizerStateChangeEvent + func (b *EqualizerStateChangeEvent) RawPayload() map[string]any + func (b *EqualizerStateChangeEvent) SerialNumber() string + func (b *EqualizerStateChangeEvent) Type() PushMessageType + type FeatureControl struct + EndpointID string + FeatureName string + FeatureOperationName string + Instance string + Payload map[string]any + type FeatureControlErrorResponse = alexagraphql.FeatureControlError + type FeatureControlResponse = alexagraphql.FeatureControlSuccess + type GenericActivityEvent struct + func NewGenericActivityEvent(b PushEventBase) *GenericActivityEvent + func (b *GenericActivityEvent) RawPayload() map[string]any + func (b *GenericActivityEvent) SerialNumber() string + func (b *GenericActivityEvent) Type() PushMessageType + type HistoryService struct + func (s *HistoryService) Vocal(ctx context.Context) (map[string]*VocalRecord, error) + type ItemChangeEvent struct + func NewItemChangeEvent(b PushEventBase) *ItemChangeEvent + func (b *ItemChangeEvent) RawPayload() map[string]any + func (b *ItemChangeEvent) SerialNumber() string + func (b *ItemChangeEvent) Type() PushMessageType + type Kind string + const KindAQM + const KindAirPurifier + const KindCamera + const KindContact + const KindDimmer + const KindEcho + const KindLight + const KindLock + const KindMotion + const KindOther + const KindScene + const KindSecurityPanel + const KindSensor + const KindSwitch + const KindThermostat + func KindValues() []Kind + func ParseKind(name string) (Kind, error) + func (x *Kind) AppendText(b []byte) ([]byte, error) + func (x *Kind) UnmarshalText(text []byte) error + func (x Kind) IsValid() bool + func (x Kind) MarshalText() ([]byte, error) + func (x Kind) String() string + type List struct + ID string + Items []*ListItem + Name string + Type ListType + func (l *List) AddItem(ctx context.Context, value string) (*ListItem, error) + func (l *List) Complete(ctx context.Context, item *ListItem) error + func (l *List) Delete(ctx context.Context, item *ListItem) error + func (l *List) Rename(ctx context.Context, item *ListItem, newValue string) error + func (l *List) Uncomplete(ctx context.Context, item *ListItem) error + type ListItem struct + Completed bool + ID string + Value string + Version int + type ListItemStatus string + const ListItemStatusActive + const ListItemStatusComplete + func ListItemStatusValues() []ListItemStatus + func ParseListItemStatus(name string) (ListItemStatus, error) + func (x *ListItemStatus) AppendText(b []byte) ([]byte, error) + func (x *ListItemStatus) UnmarshalText(text []byte) error + func (x ListItemStatus) IsValid() bool + func (x ListItemStatus) MarshalText() ([]byte, error) + func (x ListItemStatus) String() string + type ListType string + const ListTypeCustom + const ListTypeShop + const ListTypeTodo + func ListTypeValues() []ListType + func ParseListType(name string) (ListType, error) + func (x *ListType) AppendText(b []byte) ([]byte, error) + func (x *ListType) UnmarshalText(text []byte) error + func (x ListType) IsValid() bool + func (x ListType) MarshalText() ([]byte, error) + func (x ListType) String() string + type ListsService struct + func (s *ListsService) Get(ctx context.Context) ([]*List, error) + func (s *ListsService) Invalidate() + type LockControl struct + func (c *LockControl) Lock(ctx context.Context) error + func (c *LockControl) Unlock(ctx context.Context) error + type LockState string + const LockStateJammed + const LockStateLocked + const LockStateUnlocked + func LockStateValues() []LockState + func ParseLockState(name string) (LockState, error) + func (x *LockState) AppendText(b []byte) ([]byte, error) + func (x *LockState) UnmarshalText(text []byte) error + func (x LockState) IsValid() bool + func (x LockState) MarshalText() ([]byte, error) + func (x LockState) String() string + type MatterDeviceFoundEvent struct + func NewMatterDeviceFoundEvent(b PushEventBase) *MatterDeviceFoundEvent + func (b *MatterDeviceFoundEvent) RawPayload() map[string]any + func (b *MatterDeviceFoundEvent) SerialNumber() string + func (b *MatterDeviceFoundEvent) Type() PushMessageType + type MediaChangeEvent struct + func NewMediaChangeEvent(b PushEventBase) *MediaChangeEvent + func (b *MediaChangeEvent) RawPayload() map[string]any + func (b *MediaChangeEvent) SerialNumber() string + func (b *MediaChangeEvent) Type() PushMessageType + type MediaCommand string + const CmdForward + const CmdNext + const CmdPause + const CmdPlay + const CmdPrev + const CmdRewind + const CmdStop + func MediaCommandValues() []MediaCommand + func ParseMediaCommand(name string) (MediaCommand, error) + func (x *MediaCommand) AppendText(b []byte) ([]byte, error) + func (x *MediaCommand) UnmarshalText(text []byte) error + func (x MediaCommand) IsValid() bool + func (x MediaCommand) MarshalText() ([]byte, error) + func (x MediaCommand) String() string + type MediaProgressChangeEvent struct + func NewMediaProgressChangeEvent(b PushEventBase) *MediaProgressChangeEvent + func (b *MediaProgressChangeEvent) RawPayload() map[string]any + func (b *MediaProgressChangeEvent) SerialNumber() string + func (b *MediaProgressChangeEvent) Type() PushMessageType + type MediaQueueChangeEvent struct + func NewMediaQueueChangeEvent(b PushEventBase) *MediaQueueChangeEvent + func (b *MediaQueueChangeEvent) RawPayload() map[string]any + func (b *MediaQueueChangeEvent) SerialNumber() string + func (b *MediaQueueChangeEvent) Type() PushMessageType + type MediaService struct + func (s *MediaService) Announce(ctx context.Context, d *Device, text string) error + func (s *MediaService) CallRoutine(ctx context.Context, d *Device, name string) error + func (s *MediaService) Control(ctx context.Context, d *Device, cmd MediaCommand) error + func (s *MediaService) DeviceVolumes(ctx context.Context) (map[string]*VolumeState, error) + func (s *MediaService) InfoSkill(ctx context.Context, d *Device, skill string) error + func (s *MediaService) InfoSkills() []string + func (s *MediaService) LaunchSkill(ctx context.Context, d *Device, skillName string) error + func (s *MediaService) MediaStates(ctx context.Context, devices []*Device) (map[string]*MediaState, error) + func (s *MediaService) MusicProviders(ctx context.Context) (map[string]MusicProvider, error) + func (s *MediaService) PlayMusic(ctx context.Context, d *Device, query, providerID string) error + func (s *MediaService) PlaySound(ctx context.Context, d *Device, soundID string) error + func (s *MediaService) SetVolume(ctx context.Context, d *Device, vol int) error + func (s *MediaService) Sounds(ctx context.Context) (map[string]Sound, error) + func (s *MediaService) Speak(ctx context.Context, d *Device, text string) error + func (s *MediaService) TextCommand(ctx context.Context, d *Device, text string) error + type MediaSessionsUpdatedEvent struct + func NewMediaSessionsUpdatedEvent(b PushEventBase) *MediaSessionsUpdatedEvent + func (b *MediaSessionsUpdatedEvent) RawPayload() map[string]any + func (b *MediaSessionsUpdatedEvent) SerialNumber() string + func (b *MediaSessionsUpdatedEvent) Type() PushMessageType + type MediaState struct + MediaLength time.Duration + MediaPosition time.Duration + MediaPositionUpdated time.Time + MediaProvider string + MediaProviderURL string + NextEnabled bool + NowPlayingLine1 string + NowPlayingLine2 string + NowPlayingTitle string + NowPlayingURL string + PauseEnabled bool + PlayerState string + PreviousEnabled bool + RepeatEnabled bool + SeekBackEnabled bool + SeekForwardEnabled bool + ShuffleEnabled bool + type MicrophoneStatusEvent struct + func NewMicrophoneStatusEvent(b PushEventBase) *MicrophoneStatusEvent + func (b *MicrophoneStatusEvent) RawPayload() map[string]any + func (b *MicrophoneStatusEvent) SerialNumber() string + func (b *MicrophoneStatusEvent) Type() PushMessageType + type ModeControl struct + func (c *ModeControl) Adjust(ctx context.Context, delta int) error + func (c *ModeControl) Set(ctx context.Context, value string) error + type MusicProvider struct + Availability string + DefaultProvider bool + ProviderID string + ProviderName string + type NamedSnapshot = cache.NamedSnapshot + type NotificationChangeEvent struct + func NewNotificationChangeEvent(b PushEventBase) *NotificationChangeEvent + func (b *NotificationChangeEvent) RawPayload() map[string]any + func (b *NotificationChangeEvent) SerialNumber() string + func (b *NotificationChangeEvent) Type() PushMessageType + type NowPlayingUpdatedEvent struct + func NewNowPlayingUpdatedEvent(b PushEventBase) *NowPlayingUpdatedEvent + func (b *NowPlayingUpdatedEvent) RawPayload() map[string]any + func (b *NowPlayingUpdatedEvent) SerialNumber() string + func (b *NowPlayingUpdatedEvent) Type() PushMessageType + type OTPProvider interface + OTP func(ctx context.Context) (string, error) + type OTPProviderFunc func(ctx context.Context) (string, error) + func (f OTPProviderFunc) OTP(ctx context.Context) (string, error) + type Option interface + func DisableCache(class CacheClass) Option + func WithCachePersistence(p Persistence) Option + func WithCacheTTL(class CacheClass, d time.Duration) Option + func WithHTTPClient(c *http.Client) Option + func WithLogger(l *slog.Logger) Option + func WithPushCacheBridge() Option + func WithSession(s *Session) Option + func WithSite(site string) Option + func WithSoundsTTL(d time.Duration) Option + func WithUserAgent(ua string) Option + type Persistence = cache.Persistence + func FilePersistence(path string) Persistence + type PowerControl struct + func (c *PowerControl) Off(ctx context.Context) error + func (c *PowerControl) On(ctx context.Context) error + func (c *PowerControl) Toggle(ctx context.Context) error + type PushEvent interface + RawPayload func() map[string]any + SerialNumber func() string + Type func() PushMessageType + func DecodeRenderingUpdate(part []byte) ([]PushEvent, error) + type PushEventBase = pushEventBase + func NewPushEventBase(serial string, raw map[string]any, kind PushMessageType) PushEventBase + type PushMessageType string + const PushAudioPlayerState + const PushBluetoothStatus + const PushConnectionStatus + const PushEqualizerStateChange + const PushGenericActivity + const PushItemChange + const PushMatterDeviceFound + const PushMediaChange + const PushMediaProgressChange + const PushMediaQueueChange + const PushMediaSessionsUpdated + const PushMicrophoneStatus + const PushNotificationChange + const PushNowPlayingUpdated + const PushVolumeChange + func ParsePushMessageType(name string) (PushMessageType, error) + func PushMessageTypeValues() []PushMessageType + func (x *PushMessageType) AppendText(b []byte) ([]byte, error) + func (x *PushMessageType) UnmarshalText(text []byte) error + func (x PushMessageType) IsValid() bool + func (x PushMessageType) MarshalText() ([]byte, error) + func (x PushMessageType) String() string + type PushService struct + func (s *PushService) Subscribe(ctx context.Context, opts ...SubscribeOption) (<-chan PushEvent, error) + type RangeControl struct + func (c *RangeControl) Adjust(ctx context.Context, delta float64) error + func (c *RangeControl) Set(ctx context.Context, value float64) error + type ReauthRequiredEvent struct + func (e *ReauthRequiredEvent) RawPayload() map[string]any + func (e *ReauthRequiredEvent) SerialNumber() string + func (e *ReauthRequiredEvent) Type() PushMessageType + type Recurrence struct + func RecurrenceDaily() *Recurrence + func RecurrenceRule(rrule string) *Recurrence + func RecurrenceWeekdays() *Recurrence + func RecurrenceWeekends() *Recurrence + func RecurrenceWeekly(days ...time.Weekday) *Recurrence + func (r *Recurrence) Describe() string + func (r *Recurrence) RRule() string + type RefreshOption interface + func WithoutSensors() RefreshOption + type Reminder struct + Acknowledged bool + CreatedAt time.Time + DeviceSerialNumber string + DeviceType string + FireAt time.Time + ID string + Label string + Recurrence *Recurrence + Status string + UpdatedAt time.Time + Version int + type RemindersService struct + func (s *RemindersService) Acknowledge(ctx context.Context, r *Reminder) error + func (s *RemindersService) Create(ctx context.Context, r *Reminder) (*Reminder, error) + func (s *RemindersService) Delete(ctx context.Context, r *Reminder) error + func (s *RemindersService) Disable(ctx context.Context, r *Reminder) error + func (s *RemindersService) Enable(ctx context.Context, r *Reminder) error + func (s *RemindersService) Get(ctx context.Context) ([]*Reminder, error) + func (s *RemindersService) Update(ctx context.Context, r *Reminder) error + type SensorsService struct + func (s *SensorsService) Update(ctx context.Context, devices map[string]*Device, endpoints map[string]string, ...) error + type SequenceService struct + func (s *SequenceService) Flush(ctx context.Context) error + func (s *SequenceService) RefreshRoutines(ctx context.Context) error + func (s *SequenceService) Routines(ctx context.Context) ([]string, error) + func (s *SequenceService) Send(ctx context.Context, d *Device, kind SequenceType, body any, providerID string) error + type SequenceType string + const SeqAnnouncement + const SeqLaunchSkill + const SeqMusic + const SeqRoutine + const SeqSound + const SeqSpeak + const SeqStop + const SeqTextCommand + const SeqVolume + func ParseSequenceType(name string) (SequenceType, error) + func SequenceTypeValues() []SequenceType + func (x *SequenceType) AppendText(b []byte) ([]byte, error) + func (x *SequenceType) UnmarshalText(text []byte) error + func (x SequenceType) IsValid() bool + func (x SequenceType) MarshalText() ([]byte, error) + func (x SequenceType) String() string + type Session struct + ADPToken string + AccessToken string + AccountCustomerID string + CapabilitiesRegistered bool + CustomerInfo CustomerInfo + DeviceInfo DeviceInfo + DevicePrivateKey string + Domain string + ExpiresAt time.Time + RefreshToken string + Site string + StoreAuthCookie string + WebsiteCookies map[string]string + func (s *Session) Expired(now time.Time) bool + type Sound struct + Category string + CategoryDisplayName string + DisplayName string + ID string + type SubscribeOption interface + func WithInitialSyncOnFirstEvent() SubscribeOption + func WithPushChannelCapacity(n int) SubscribeOption + type TemperatureScale string + const TemperatureScaleCelsius + const TemperatureScaleFahrenheit + const TemperatureScaleKelvin + func ParseTemperatureScale(name string) (TemperatureScale, error) + func TemperatureScaleValues() []TemperatureScale + func (x *TemperatureScale) AppendText(b []byte) ([]byte, error) + func (x *TemperatureScale) UnmarshalText(text []byte) error + func (x TemperatureScale) IsValid() bool + func (x TemperatureScale) MarshalText() ([]byte, error) + func (x TemperatureScale) String() string + type ThermostatControl struct + func (c *ThermostatControl) AdjustTarget(ctx context.Context, delta float64, scale TemperatureScale) error + func (c *ThermostatControl) SetMode(ctx context.Context, mode ThermostatMode) error + func (c *ThermostatControl) SetTarget(ctx context.Context, value float64, scale TemperatureScale) error + type ThermostatMode string + const ThermostatModeAuto + const ThermostatModeCool + const ThermostatModeEco + const ThermostatModeEmHeat + const ThermostatModeHeat + const ThermostatModeOff + func ParseThermostatMode(name string) (ThermostatMode, error) + func ThermostatModeValues() []ThermostatMode + func (x *ThermostatMode) AppendText(b []byte) ([]byte, error) + func (x *ThermostatMode) UnmarshalText(text []byte) error + func (x ThermostatMode) IsValid() bool + func (x ThermostatMode) MarshalText() ([]byte, error) + func (x ThermostatMode) String() string + type Timer struct + CreatedAt time.Time + DeviceSerialNumber string + DeviceType string + Duration time.Duration + FireAt time.Time + ID string + Label string + Remaining time.Duration + Sound string + Status string + Version int + type TimersService struct + func (s *TimersService) Create(ctx context.Context, t *Timer) (*Timer, error) + func (s *TimersService) Delete(ctx context.Context, t *Timer) error + func (s *TimersService) Get(ctx context.Context) ([]*Timer, error) + type ToggleControl struct + func (c *ToggleControl) Off(ctx context.Context) error + func (c *ToggleControl) On(ctx context.Context) error + type UnknownPushEvent struct + Payload map[string]any + Serial string + WireType string + func (e *UnknownPushEvent) RawPayload() map[string]any + func (e *UnknownPushEvent) SerialNumber() string + func (e *UnknownPushEvent) Type() PushMessageType + type VocalRecord struct + HistoryType string + Intent string + SubTitle string + Timestamp time.Time + Title string + type VolumeChangeEvent struct + Muted bool + Volume int + func NewVolumeChangeEvent(base PushEventBase, volume int, muted bool) *VolumeChangeEvent + func (b *VolumeChangeEvent) RawPayload() map[string]any + func (b *VolumeChangeEvent) SerialNumber() string + func (b *VolumeChangeEvent) Type() PushMessageType + type VolumeState struct + Muted bool + Volume int