Documentation ¶
Overview ¶
Package huego provides an extensive, easy to use interface to the Philips Hue bridge.
Index ¶
- func ConvertRGBToXy(newcolor color.Color) ([]float32, uint8)
- type APIError
- type APIResponse
- type AutoInstall
- type Backup
- type Bridge
- func (b *Bridge) CreateGroup(g Group) (*Response, error)
- func (b *Bridge) CreateGroupContext(ctx context.Context, g Group) (*Response, error)
- func (b *Bridge) CreateResourcelink(s *Resourcelink) (*Response, error)
- func (b *Bridge) CreateResourcelinkContext(ctx context.Context, s *Resourcelink) (*Response, error)
- func (b *Bridge) CreateRule(s *Rule) (*Response, error)
- func (b *Bridge) CreateRuleContext(ctx context.Context, s *Rule) (*Response, error)
- func (b *Bridge) CreateScene(s *Scene) (*Response, error)
- func (b *Bridge) CreateSceneContext(ctx context.Context, s *Scene) (*Response, error)
- func (b *Bridge) CreateSchedule(s *Schedule) (*Response, error)
- func (b *Bridge) CreateScheduleContext(ctx context.Context, s *Schedule) (*Response, error)
- func (b *Bridge) CreateSensor(s *Sensor) (*Response, error)
- func (b *Bridge) CreateSensorContext(ctx context.Context, s *Sensor) (*Response, error)
- func (b *Bridge) CreateUser(n string) (string, error)
- func (b *Bridge) CreateUserContext(ctx context.Context, n string) (string, error)
- func (b *Bridge) CreateUserWithClientKey(deviceType string) (*Whitelist, error)
- func (b *Bridge) CreateUserWithClientKeyContext(ctx context.Context, deviceType string) (*Whitelist, error)
- func (b *Bridge) DeleteGroup(i int) error
- func (b *Bridge) DeleteGroupContext(ctx context.Context, i int) error
- func (b *Bridge) DeleteLight(i int) error
- func (b *Bridge) DeleteLightContext(ctx context.Context, i int) error
- func (b *Bridge) DeleteResourcelink(i int) error
- func (b *Bridge) DeleteResourcelinkContext(ctx context.Context, i int) error
- func (b *Bridge) DeleteRule(i int) error
- func (b *Bridge) DeleteRuleContext(ctx context.Context, i int) error
- func (b *Bridge) DeleteScene(id string) error
- func (b *Bridge) DeleteSceneContext(ctx context.Context, id string) error
- func (b *Bridge) DeleteSchedule(i int) error
- func (b *Bridge) DeleteScheduleContext(ctx context.Context, i int) error
- func (b *Bridge) DeleteSensor(i int) error
- func (b *Bridge) DeleteSensorContext(ctx context.Context, i int) error
- func (b *Bridge) DeleteUser(n string) error
- func (b *Bridge) DeleteUserContext(ctx context.Context, n string) error
- func (b *Bridge) FindLights() (*Response, error)
- func (b *Bridge) FindLightsContext(ctx context.Context) (*Response, error)
- func (b *Bridge) FindSensors() (*Response, error)
- func (b *Bridge) FindSensorsContext(ctx context.Context) (*Response, error)
- func (b *Bridge) GetCapabilities() (*Capabilities, error)
- func (b *Bridge) GetCapabilitiesContext(ctx context.Context) (*Capabilities, error)
- func (b *Bridge) GetConfig() (*Config, error)
- func (b *Bridge) GetConfigContext(ctx context.Context) (*Config, error)
- func (b *Bridge) GetFullState() (map[string]interface{}, error)
- func (b *Bridge) GetFullStateContext(ctx context.Context) (map[string]interface{}, error)
- func (b *Bridge) GetGroup(i int) (*Group, error)
- func (b *Bridge) GetGroupContext(ctx context.Context, i int) (*Group, error)
- func (b *Bridge) GetGroups() ([]Group, error)
- func (b *Bridge) GetGroupsContext(ctx context.Context) ([]Group, error)
- func (b *Bridge) GetLight(i int) (*Light, error)
- func (b *Bridge) GetLightContext(ctx context.Context, i int) (*Light, error)
- func (b *Bridge) GetLights() ([]Light, error)
- func (b *Bridge) GetLightsContext(ctx context.Context) ([]Light, error)
- func (b *Bridge) GetNewLights() (*NewLight, error)
- func (b *Bridge) GetNewLightsContext(ctx context.Context) (*NewLight, error)
- func (b *Bridge) GetNewSensors() (*NewSensor, error)
- func (b *Bridge) GetNewSensorsContext(ctx context.Context) (*NewSensor, error)
- func (b *Bridge) GetResourcelink(i int) (*Resourcelink, error)
- func (b *Bridge) GetResourcelinkContext(ctx context.Context, i int) (*Resourcelink, error)
- func (b *Bridge) GetResourcelinks() ([]*Resourcelink, error)
- func (b *Bridge) GetResourcelinksContext(ctx context.Context) ([]*Resourcelink, error)
- func (b *Bridge) GetRule(i int) (*Rule, error)
- func (b *Bridge) GetRuleContext(ctx context.Context, i int) (*Rule, error)
- func (b *Bridge) GetRules() ([]*Rule, error)
- func (b *Bridge) GetRulesContext(ctx context.Context) ([]*Rule, error)
- func (b *Bridge) GetScene(i string) (*Scene, error)
- func (b *Bridge) GetSceneContext(ctx context.Context, i string) (*Scene, error)
- func (b *Bridge) GetScenes() ([]Scene, error)
- func (b *Bridge) GetScenesContext(ctx context.Context) ([]Scene, error)
- func (b *Bridge) GetSchedule(i int) (*Schedule, error)
- func (b *Bridge) GetScheduleContext(ctx context.Context, i int) (*Schedule, error)
- func (b *Bridge) GetSchedules() ([]*Schedule, error)
- func (b *Bridge) GetSchedulesContext(ctx context.Context) ([]*Schedule, error)
- func (b *Bridge) GetSensor(i int) (*Sensor, error)
- func (b *Bridge) GetSensorContext(ctx context.Context, i int) (*Sensor, error)
- func (b *Bridge) GetSensors() ([]Sensor, error)
- func (b *Bridge) GetSensorsContext(ctx context.Context) ([]Sensor, error)
- func (b *Bridge) GetUsers() ([]Whitelist, error)
- func (b *Bridge) IdentifyLight(i int) (*Response, error)
- func (b *Bridge) IdentifyLightContext(ctx context.Context, i int) (*Response, error)
- func (b *Bridge) Login(u string) *Bridge
- func (b *Bridge) RecallScene(id string, gid int) (*Response, error)
- func (b *Bridge) RecallSceneContext(ctx context.Context, id string, gid int) (*Response, error)
- func (b *Bridge) SetGroupState(i int, l State) (*Response, error)
- func (b *Bridge) SetGroupStateContext(ctx context.Context, i int, l State) (*Response, error)
- func (b *Bridge) SetLightState(i int, l State) (*Response, error)
- func (b *Bridge) SetLightStateContext(ctx context.Context, i int, l State) (*Response, error)
- func (b *Bridge) SetSceneLightState(id string, iid int, l *State) (*Response, error)
- func (b *Bridge) SetSceneLightStateContext(ctx context.Context, id string, iid int, l *State) (*Response, error)
- func (b *Bridge) UpdateConfig(c *Config) (*Response, error)
- func (b *Bridge) UpdateConfigContext(ctx context.Context, c *Config) (*Response, error)
- func (b *Bridge) UpdateGroup(i int, l Group) (*Response, error)
- func (b *Bridge) UpdateGroupContext(ctx context.Context, i int, l Group) (*Response, error)
- func (b *Bridge) UpdateLight(i int, light Light) (*Response, error)
- func (b *Bridge) UpdateLightContext(ctx context.Context, i int, light Light) (*Response, error)
- func (b *Bridge) UpdateResourcelink(i int, resourcelink *Resourcelink) (*Response, error)
- func (b *Bridge) UpdateResourcelinkContext(ctx context.Context, i int, resourcelink *Resourcelink) (*Response, error)
- func (b *Bridge) UpdateRule(i int, rule *Rule) (*Response, error)
- func (b *Bridge) UpdateRuleContext(ctx context.Context, i int, rule *Rule) (*Response, error)
- func (b *Bridge) UpdateScene(id string, s *Scene) (*Response, error)
- func (b *Bridge) UpdateSceneContext(ctx context.Context, id string, s *Scene) (*Response, error)
- func (b *Bridge) UpdateSchedule(i int, schedule *Schedule) (*Response, error)
- func (b *Bridge) UpdateScheduleContext(ctx context.Context, i int, schedule *Schedule) (*Response, error)
- func (b *Bridge) UpdateSensor(i int, sensor *Sensor) (*Response, error)
- func (b *Bridge) UpdateSensorConfig(i int, c interface{}) (*Response, error)
- func (b *Bridge) UpdateSensorConfigContext(ctx context.Context, i int, c interface{}) (*Response, error)
- func (b *Bridge) UpdateSensorContext(ctx context.Context, i int, sensor *Sensor) (*Response, error)
- type BridgeConfig
- type Capabilities
- type Capability
- type Command
- type Condition
- type Config
- type DeviceTypes
- type Group
- func (g *Group) Alert(new string) error
- func (g *Group) AlertContext(ctx context.Context, new string) error
- func (g *Group) Bri(new uint8) error
- func (g *Group) BriContext(ctx context.Context, new uint8) error
- func (g *Group) Col(new color.Color) error
- func (g *Group) ColContext(ctx context.Context, new color.Color) error
- func (g *Group) Ct(new uint16) error
- func (g *Group) CtContext(ctx context.Context, new uint16) error
- func (g *Group) DisableStreaming() error
- func (g *Group) DisableStreamingContext(ctx context.Context) error
- func (g *Group) Effect(new string) error
- func (g *Group) EffectContext(ctx context.Context, new string) error
- func (g *Group) EnableStreaming() error
- func (g *Group) EnableStreamingContext(ctx context.Context) error
- func (g *Group) Hue(new uint16) error
- func (g *Group) HueContext(ctx context.Context, new uint16) error
- func (g *Group) IsOn() bool
- func (g *Group) Off() error
- func (g *Group) OffContext(ctx context.Context) error
- func (g *Group) On() error
- func (g *Group) OnContext(ctx context.Context) error
- func (g *Group) Rename(new string) error
- func (g *Group) RenameContext(ctx context.Context, new string) error
- func (g *Group) Sat(new uint8) error
- func (g *Group) SatContext(ctx context.Context, new uint8) error
- func (g *Group) Scene(scene string) error
- func (g *Group) SceneContext(ctx context.Context, scene string) error
- func (g *Group) SetState(s State) error
- func (g *Group) SetStateContext(ctx context.Context, s State) error
- func (g *Group) TransitionTime(new uint16) error
- func (g *Group) TransitionTimeContext(ctx context.Context, new uint16) error
- func (g *Group) Xy(new []float32) error
- func (g *Group) XyContext(ctx context.Context, new []float32) error
- type GroupState
- type InternetService
- type Light
- func (l *Light) Alert(new string) error
- func (l *Light) AlertContext(ctx context.Context, new string) error
- func (l *Light) Bri(new uint8) error
- func (l *Light) BriContext(ctx context.Context, new uint8) error
- func (l *Light) Col(new color.Color) error
- func (l *Light) ColContext(ctx context.Context, new color.Color) error
- func (l *Light) Ct(new uint16) error
- func (l *Light) CtContext(ctx context.Context, new uint16) error
- func (l *Light) Effect(new string) error
- func (l *Light) EffectContext(ctx context.Context, new string) error
- func (l *Light) Hue(new uint16) error
- func (l *Light) HueContext(ctx context.Context, new uint16) error
- func (l *Light) IsOn() bool
- func (l *Light) Off() error
- func (l *Light) OffContext(ctx context.Context) error
- func (l *Light) On() error
- func (l *Light) OnContext(ctx context.Context) error
- func (l *Light) Rename(new string) error
- func (l *Light) RenameContext(ctx context.Context, new string) error
- func (l *Light) Sat(new uint8) error
- func (l *Light) SatContext(ctx context.Context, new uint8) error
- func (l *Light) SetState(s State) error
- func (l *Light) SetStateContext(ctx context.Context, s State) error
- func (l *Light) TransitionTime(new uint16) error
- func (l *Light) TransitionTimeContext(ctx context.Context, new uint16) error
- func (l *Light) Xy(new []float32) error
- func (l *Light) XyContext(ctx context.Context, new []float32) error
- type NewLight
- type NewSensor
- type PortalState
- type Resourcelink
- type Response
- type Rule
- type RuleAction
- type Scene
- type Schedule
- type Sensor
- type State
- type Stream
- type SwUpdate
- type SwUpdate2
- type Whitelist
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertRGBToXy ¶ added in v1.2.1
ConvertRGBToXy converts a given RGB color to the xy color of the ligth. implemented as in https://developers.meethue.com/develop/application-design-guidance/color-conversion-formulas-rgb-to-xy-and-back/
Types ¶
type APIError ¶
APIError defines the error response object returned from the bridge after an invalid API request.
func (*APIError) UnmarshalJSON ¶
UnmarshalJSON makes sure that types are correct when unmarshalling. Implements package encoding/json
type APIResponse ¶
type APIResponse struct { Success map[string]interface{} `json:"success,omitempty"` Error *APIError `json:"error,omitempty"` }
APIResponse holds the response data returned form the bridge after a request has been made.
type AutoInstall ¶
type AutoInstall struct { On bool `json:"on,omitempty"` UpdateTime string `json:"updatetime,omitempty"` }
AutoInstall holds automatic update configuration
type Backup ¶
type Backup struct { Status string `json:"backup,omitempty"` ErrorCode int `json:"errorcode,omitempty"` }
Backup holds configuration backup status information
type Bridge ¶
type Bridge struct { Host string `json:"internalipaddress,omitempty"` User string ID string `json:"id,omitempty"` }
Bridge exposes a hardware bridge through a struct.
func Discover ¶
Discover performs a discovery on the network looking for bridges using https://www.meethue.com/api/nupnp service. Discover uses DiscoverAll() but only returns the first instance in the array of bridges if any.
func DiscoverAll ¶
DiscoverAll performs a discovery on the network looking for bridges using https://www.meethue.com/api/nupnp service. DiscoverAll returns a list of Bridge objects.
func DiscoverAllContext ¶ added in v1.1.0
DiscoverAllContext performs a discovery on the network looking for bridges using https://www.meethue.com/api/nupnp service. DiscoverAllContext returns a list of Bridge objects.
func DiscoverContext ¶ added in v1.1.0
DiscoverContext performs a discovery on the network looking for bridges using https://www.meethue.com/api/nupnp service. DiscoverContext uses DiscoverAllContext() but only returns the first instance in the array of bridges if any.
func New ¶
New instantiates and returns a new Bridge. New accepts hostname/ip address to the bridge (h) as well as an username (u). h may or may not be prefixed with http(s)://. For example http://192.168.1.20/ or 192.168.1.20. u is a username known to the bridge. Use Discover() and CreateUser() to create a user.
func (*Bridge) CreateGroup ¶
CreateGroup creates one new group with attributes defined by g
func (*Bridge) CreateGroupContext ¶ added in v1.1.0
CreateGroupContext creates one new group with attributes defined by g
func (*Bridge) CreateResourcelink ¶
func (b *Bridge) CreateResourcelink(s *Resourcelink) (*Response, error)
CreateResourcelink creates one new resourcelink on the bridge
func (*Bridge) CreateResourcelinkContext ¶ added in v1.1.0
CreateResourcelinkContext creates one new resourcelink on the bridge
func (*Bridge) CreateRule ¶
CreateRule creates one rule with attribues defined in s
func (*Bridge) CreateRuleContext ¶ added in v1.1.0
CreateRuleContext creates one rule with attribues defined in s
func (*Bridge) CreateScene ¶
CreateScene creates one new scene with its attributes defined in s
func (*Bridge) CreateSceneContext ¶ added in v1.1.0
CreateSceneContext creates one new scene with its attributes defined in s
func (*Bridge) CreateSchedule ¶
CreateSchedule creates one schedule and sets its attributes defined in s
func (*Bridge) CreateScheduleContext ¶ added in v1.1.0
CreateScheduleContext creates one schedule and sets its attributes defined in s
func (*Bridge) CreateSensor ¶
CreateSensor creates one new sensor
func (*Bridge) CreateSensorContext ¶ added in v1.1.0
CreateSensorContext creates one new sensor
func (*Bridge) CreateUser ¶
CreateUser creates a user by adding n to the list of whitelists in the bridge. The link button on the bridge must have been pressed before calling CreateUser.
Example ¶
bridge, _ := Discover() user, err := bridge.CreateUser("my awesome hue app") // Link button needs to be pressed if err != nil { fmt.Printf("Error creating user: %s", err.Error()) } bridge = bridge.Login(user) light, _ := bridge.GetLight(1) light.Off()
Output:
func (*Bridge) CreateUserContext ¶ added in v1.1.0
CreateUserContext creates a user by adding n to the list of whitelists in the bridge. The link button on the bridge must have been pressed before calling CreateUser.
func (*Bridge) CreateUserWithClientKey ¶ added in v1.2.0
CreateUserWithClientKey creates a user by adding deviceType to the list of whitelisted users on the bridge. The link button on the bridge must have been pressed before calling CreateUser.
func (*Bridge) CreateUserWithClientKeyContext ¶ added in v1.2.0
func (b *Bridge) CreateUserWithClientKeyContext(ctx context.Context, deviceType string) (*Whitelist, error)
CreateUserWithClientKeyContext creates a user by adding deviceType to the list of whitelisted users on the bridge The link button on the bridge must have been pressed before calling CreateUser.
func (*Bridge) DeleteGroup ¶
DeleteGroup deletes one group with the id of i
func (*Bridge) DeleteGroupContext ¶ added in v1.1.0
DeleteGroupContext deletes one group with the id of i
func (*Bridge) DeleteLight ¶
DeleteLight deletes one lights from the bridge
func (*Bridge) DeleteLightContext ¶ added in v1.1.0
DeleteLightContext deletes one lights from the bridge
func (*Bridge) DeleteResourcelink ¶
DeleteResourcelink deletes one resourcelink with the id of i
func (*Bridge) DeleteResourcelinkContext ¶ added in v1.1.0
DeleteResourcelinkContext deletes one resourcelink with the id of i
func (*Bridge) DeleteRule ¶
DeleteRule deletes one rule from the bridge
func (*Bridge) DeleteRuleContext ¶ added in v1.1.0
DeleteRuleContext deletes one rule from the bridge
func (*Bridge) DeleteScene ¶
DeleteScene deletes one scene from the bridge
func (*Bridge) DeleteSceneContext ¶ added in v1.1.0
DeleteSceneContext deletes one scene from the bridge
func (*Bridge) DeleteSchedule ¶
DeleteSchedule deletes one schedule from the bridge by its id of i
func (*Bridge) DeleteScheduleContext ¶ added in v1.1.0
DeleteScheduleContext deletes one schedule from the bridge by its id of i
func (*Bridge) DeleteSensor ¶
DeleteSensor deletes one sensor from the bridge
func (*Bridge) DeleteSensorContext ¶ added in v1.1.0
DeleteSensorContext deletes one sensor from the bridge
func (*Bridge) DeleteUser ¶
DeleteUser removes a whitelist item from whitelists on the bridge
func (*Bridge) DeleteUserContext ¶ added in v1.1.0
DeleteUserContext removes a whitelist item from whitelists on the bridge
func (*Bridge) FindLights ¶
FindLights starts a search for new lights on the bridge. Use GetNewLights() verify if new lights have been detected.
func (*Bridge) FindLightsContext ¶ added in v1.1.0
FindLightsContext starts a search for new lights on the bridge. Use GetNewLights() verify if new lights have been detected.
func (*Bridge) FindSensors ¶
FindSensors starts a search for new sensors. Use GetNewSensors() to verify if new sensors have been discovered in the bridge.
func (*Bridge) FindSensorsContext ¶ added in v1.1.0
FindSensorsContext starts a search for new sensors. Use GetNewSensorsContext() to verify if new sensors have been discovered in the bridge.
func (*Bridge) GetCapabilities ¶
func (b *Bridge) GetCapabilities() (*Capabilities, error)
GetCapabilities returns a list of capabilities of resources supported in the bridge.
func (*Bridge) GetCapabilitiesContext ¶ added in v1.1.0
func (b *Bridge) GetCapabilitiesContext(ctx context.Context) (*Capabilities, error)
GetCapabilitiesContext returns a list of capabilities of resources supported in the bridge.
func (*Bridge) GetConfigContext ¶ added in v1.1.0
GetConfigContext returns the bridge configuration
func (*Bridge) GetFullState ¶
GetFullState returns the entire bridge configuration.
func (*Bridge) GetFullStateContext ¶ added in v1.1.0
GetFullStateContext returns the entire bridge configuration.
func (*Bridge) GetGroupContext ¶ added in v1.1.0
GetGroupContext returns one group known to the bridge by its id
func (*Bridge) GetGroupsContext ¶ added in v1.1.0
GetGroupsContext returns all groups known to the bridge
func (*Bridge) GetLightContext ¶ added in v1.1.0
GetLightContext returns one light with the id of i
func (*Bridge) GetLightsContext ¶ added in v1.1.0
GetLightsContext returns all lights known to the bridge
func (*Bridge) GetNewLights ¶
GetNewLights returns a list of lights that were discovered last time FindLights() was executed.
func (*Bridge) GetNewLightsContext ¶ added in v1.1.0
GetNewLightsContext returns a list of lights that were discovered last time FindLights() was executed.
func (*Bridge) GetNewSensors ¶
GetNewSensors returns a list of sensors that were discovered last time GetNewSensors() was executed.
func (*Bridge) GetNewSensorsContext ¶ added in v1.1.0
GetNewSensorsContext returns a list of sensors that were discovered last time GetNewSensors() was executed.
func (*Bridge) GetResourcelink ¶
func (b *Bridge) GetResourcelink(i int) (*Resourcelink, error)
GetResourcelink returns one resourcelink by its id defined by i
func (*Bridge) GetResourcelinkContext ¶ added in v1.1.0
GetResourcelinkContext returns one resourcelink by its id defined by i
func (*Bridge) GetResourcelinks ¶
func (b *Bridge) GetResourcelinks() ([]*Resourcelink, error)
GetResourcelinks returns all resourcelinks known to the bridge
func (*Bridge) GetResourcelinksContext ¶ added in v1.1.0
func (b *Bridge) GetResourcelinksContext(ctx context.Context) ([]*Resourcelink, error)
GetResourcelinksContext returns all resourcelinks known to the bridge
func (*Bridge) GetRuleContext ¶ added in v1.1.0
GetRuleContext returns one rule by its id of i
func (*Bridge) GetRulesContext ¶ added in v1.1.0
GetRulesContext returns all rules known to the bridge
func (*Bridge) GetSceneContext ¶ added in v1.1.0
GetSceneContext returns one scene by its id of i
func (*Bridge) GetScenesContext ¶ added in v1.1.0
GetScenesContext returns all scenes known to the bridge
func (*Bridge) GetSchedule ¶
GetSchedule returns one schedule by id defined in i
func (*Bridge) GetScheduleContext ¶ added in v1.1.0
GetScheduleContext returns one schedule by id defined in i
func (*Bridge) GetSchedules ¶
GetSchedules returns all schedules known to the bridge
func (*Bridge) GetSchedulesContext ¶ added in v1.1.0
GetSchedulesContext returns all schedules known to the bridge
func (*Bridge) GetSensorContext ¶ added in v1.1.0
GetSensorContext returns one sensor by its id of i
func (*Bridge) GetSensors ¶
GetSensors returns all sensors known to the bridge
func (*Bridge) GetSensorsContext ¶ added in v1.1.0
GetSensorsContext returns all sensors known to the bridge
func (*Bridge) IdentifyLight ¶ added in v1.2.1
IdentifyLight allows identifying a light
func (*Bridge) IdentifyLightContext ¶ added in v1.2.1
IdentifyLightContext allows identifying a light
func (*Bridge) RecallScene ¶
RecallScene will recall a scene in a group identified by both scene and group identifiers
func (*Bridge) RecallSceneContext ¶ added in v1.1.0
RecallSceneContext will recall a scene in a group identified by both scene and group identifiers
func (*Bridge) SetGroupState ¶
SetGroupState allows for setting the state of one group, controlling the state of all lights in that group.
func (*Bridge) SetGroupStateContext ¶ added in v1.1.0
SetGroupStateContext allows for setting the state of one group, controlling the state of all lights in that group.
func (*Bridge) SetLightState ¶
SetLightState allows for controlling one light's state
func (*Bridge) SetLightStateContext ¶ added in v1.1.0
SetLightStateContext allows for controlling one light's state
func (*Bridge) SetSceneLightState ¶
SetSceneLightState allows for setting the state of a light in a scene. SetSceneLightState accepts the id of the scene, the id of a light associated with the scene and the state object.
func (*Bridge) SetSceneLightStateContext ¶ added in v1.1.0
func (b *Bridge) SetSceneLightStateContext(ctx context.Context, id string, iid int, l *State) (*Response, error)
SetSceneLightStateContext allows for setting the state of a light in a scene. SetSceneLightStateContext accepts the id of the scene, the id of a light associated with the scene and the state object.
func (*Bridge) UpdateConfig ¶
UpdateConfig updates the bridge configuration with c
func (*Bridge) UpdateConfigContext ¶ added in v1.1.0
UpdateConfigContext updates the bridge configuration with c
func (*Bridge) UpdateGroup ¶
UpdateGroup updates one group known to the bridge
func (*Bridge) UpdateGroupContext ¶ added in v1.1.0
UpdateGroupContext updates one group known to the bridge
func (*Bridge) UpdateLight ¶
UpdateLight updates one light's attributes and state properties
func (*Bridge) UpdateLightContext ¶ added in v1.1.0
UpdateLightContext updates one light's attributes and state properties
func (*Bridge) UpdateResourcelink ¶
func (b *Bridge) UpdateResourcelink(i int, resourcelink *Resourcelink) (*Response, error)
UpdateResourcelink updates one resourcelink with attributes defined by resourcelink
func (*Bridge) UpdateResourcelinkContext ¶ added in v1.1.0
func (b *Bridge) UpdateResourcelinkContext(ctx context.Context, i int, resourcelink *Resourcelink) (*Response, error)
UpdateResourcelinkContext updates one resourcelink with attributes defined by resourcelink
func (*Bridge) UpdateRule ¶
UpdateRule updates one rule by its id of i and rule configuration of rule
func (*Bridge) UpdateRuleContext ¶ added in v1.1.0
UpdateRuleContext updates one rule by its id of i and rule configuration of rule
func (*Bridge) UpdateScene ¶
UpdateScene updates one scene and its attributes by id of i
func (*Bridge) UpdateSceneContext ¶ added in v1.1.0
UpdateSceneContext updates one scene and its attributes by id of i
func (*Bridge) UpdateSchedule ¶
UpdateSchedule updates one schedule by its id of i and attributes by schedule
func (*Bridge) UpdateScheduleContext ¶ added in v1.1.0
func (b *Bridge) UpdateScheduleContext(ctx context.Context, i int, schedule *Schedule) (*Response, error)
UpdateScheduleContext updates one schedule by its id of i and attributes by schedule
func (*Bridge) UpdateSensor ¶
UpdateSensor updates one sensor by its id and attributes by sensor
func (*Bridge) UpdateSensorConfig ¶
UpdateSensorConfig updates the configuration of one sensor. The allowed configuration parameters depend on the sensor type
type BridgeConfig ¶
type BridgeConfig struct { State string `json:"state,omitempty"` LastInstall string `json:"lastinstall,omitempty"` }
BridgeConfig holds information about software updates
type Capabilities ¶
type Capabilities struct { Groups Capability `json:"groups,omitempty"` Lights Capability `json:"lights,omitempty"` Resourcelinks Capability `json:"resourcelinks,omitempty"` Schedules Capability `json:"schedules,omitempty"` Rules Capability `json:"rules,omitempty"` Scenes Capability `json:"scenes,omitempty"` Sensors Capability `json:"sensors,omitempty"` Streaming Capability `json:"streaming,omitempty"` }
Capabilities holds a combined model of resource capabilities on the bridge: https://developers.meethue.com/documentation/lights-api
type Capability ¶
type Capability struct {
Available int `json:"available,omitempty"`
}
Capability defines the resource and subresource capabilities.
type Command ¶
type Command struct { Address string `json:"address"` Method string `json:"method"` Body interface{} `json:"body"` }
Command defines the request to be made when the schedule occurs
type Condition ¶
type Condition struct { Address string `json:"address,omitempty"` Operator string `json:"operator,omitempty"` Value string `json:"value,omitempty"` }
Condition defines the condition of a rule
type Config ¶
type Config struct { Name string `json:"name,omitempty"` SwUpdate SwUpdate `json:"swupdate"` SwUpdate2 SwUpdate2 `json:"swupdate2"` WhitelistMap map[string]Whitelist `json:"whitelist"` Whitelist []Whitelist `json:"-"` PortalState PortalState `json:"portalstate"` APIVersion string `json:"apiversion,omitempty"` SwVersion string `json:"swversion,omitempty"` ProxyAddress string `json:"proxyaddress,omitempty"` ProxyPort uint16 `json:"proxyport,omitempty"` LinkButton bool `json:"linkbutton,omitempty"` IPAddress string `json:"ipaddress,omitempty"` Mac string `json:"mac,omitempty"` NetMask string `json:"netmask,omitempty"` Gateway string `json:"gateway,omitempty"` Dhcp bool `json:"dhcp,omitempty"` PortalServices bool `json:"portalservices,omitempty"` UTC string `json:"UTC,omitempty"` LocalTime string `json:"localtime,omitempty"` TimeZone string `json:"timezone,omitempty"` ZigbeeChannel uint8 `json:"zigbeechannel,omitempty"` ModelID string `json:"modelid,omitempty"` BridgeID string `json:"bridgeid,omitempty"` FactoryNew bool `json:"factorynew,omitempty"` ReplacesBridgeID string `json:"replacesbridgeid,omitempty"` DatastoreVersion string `json:"datastoreversion,omitempty"` StarterKitID string `json:"starterkitid,omitempty"` InternetService InternetService `json:"internetservices,omitempty"` }
Config holds the bridge hardware configuration
type DeviceTypes ¶
type DeviceTypes struct { Bridge bool `json:"bridge,omitempty"` Lights []string `json:"lights,omitempty"` Sensors []string `json:"sensors,omitempty"` }
DeviceTypes details the type of updates available
type Group ¶
type Group struct { Name string `json:"name,omitempty"` Lights []string `json:"lights,omitempty"` Type string `json:"type,omitempty"` GroupState *GroupState `json:"state,omitempty"` Recycle bool `json:"recycle,omitempty"` Class string `json:"class,omitempty"` Stream *Stream `json:"stream,omitempty"` Locations map[string][]float64 `json:"locations,omitempty"` State *State `json:"action,omitempty"` ID int `json:"-"` // contains filtered or unexported fields }
Group represents a bridge group https://developers.meethue.com/documentation/groups-api
func (*Group) Alert ¶
Alert makes the lights in the group blink in its current color. Supported values are: “none” – The light is not performing an alert effect. “select” – The light is performing one breathe cycle. “lselect” – The light is performing breathe cycles for 15 seconds or until alert is set to "none".
func (*Group) AlertContext ¶ added in v1.1.0
AlertContext makes the lights in the group blink in its current color. Supported values are: “none” – The light is not performing an alert effect. “select” – The light is performing one breathe cycle. “lselect” – The light is performing breathe cycles for 15 seconds or until alert is set to "none".
func (*Group) BriContext ¶ added in v1.1.0
BriContext sets the light brightness state property
func (*Group) ColContext ¶ added in v1.2.1
ColContext sets the light color as RGB (will be converted to xy)
func (*Group) DisableStreaming ¶ added in v1.2.0
DisableStreaming disabled streaming for the group by setting the Stream Active property to false
func (*Group) DisableStreamingContext ¶ added in v1.2.0
DisableStreamingContext disabled streaming for the group by setting the Stream Active property to false
func (*Group) Effect ¶
Effect the dynamic effect of the lights in the group, currently “none” and “colorloop” are supported
func (*Group) EffectContext ¶ added in v1.1.0
EffectContext the dynamic effect of the lights in the group, currently “none” and “colorloop” are supported
func (*Group) EnableStreaming ¶ added in v1.2.0
EnableStreaming enables streaming for the group by setting the Stream Active property to true
func (*Group) EnableStreamingContext ¶ added in v1.2.0
EnableStreamingContext enables streaming for the group by setting the Stream Active property to true
func (*Group) HueContext ¶ added in v1.1.0
HueContext sets the light hue state property (0-65535)
func (*Group) Off ¶
Off sets the On state of one group to false, turning all lights in the group off
func (*Group) OffContext ¶ added in v1.1.0
OffContext sets the On state of one group to false, turning all lights in the group off
func (*Group) OnContext ¶ added in v1.1.0
OnContext sets the On state of one group to true, turning all lights in the group on
func (*Group) RenameContext ¶ added in v1.1.0
RenameContext sets the name property of the group
func (*Group) SatContext ¶ added in v1.1.0
SatContext sets the light saturation state property (0-254)
func (*Group) SceneContext ¶ added in v1.1.0
SceneContext sets the scene by it's identifier of the scene you wish to recall
func (*Group) SetStateContext ¶ added in v1.1.0
SetStateContext sets the state of the group to s.
func (*Group) TransitionTime ¶
TransitionTime sets the duration of the transition from the light’s current state to the new state
func (*Group) TransitionTimeContext ¶ added in v1.1.0
TransitionTimeContext sets the duration of the transition from the light’s current state to the new state
type GroupState ¶
type GroupState struct { AllOn bool `json:"all_on,omitempty"` AnyOn bool `json:"any_on,omitempty"` }
GroupState defines the state on a group. Can be used to control the state of all lights in a group rather than controlling them individually
type InternetService ¶
type InternetService struct { Internet string `json:"internet,omitempty"` RemoteAccess string `json:"remoteaccess,omitempty"` Time string `json:"time,omitempty"` SwUpdate string `json:"swupdate,omitempty"` }
InternetService stores information about the internet connectivity to the bridge
type Light ¶
type Light struct { State *State `json:"state,omitempty"` Type string `json:"type,omitempty"` Name string `json:"name,omitempty"` ModelID string `json:"modelid,omitempty"` ManufacturerName string `json:"manufacturername,omitempty"` UniqueID string `json:"uniqueid,omitempty"` SwVersion string `json:"swversion,omitempty"` SwConfigID string `json:"swconfigid,omitempty"` ProductName string `json:"productname,omitempty"` ID int `json:"-"` // contains filtered or unexported fields }
Light represents a bridge light https://developers.meethue.com/documentation/lights-api
func (*Light) Alert ¶
Alert makes the light blink in its current color. Supported values are: “none” – The light is not performing an alert effect. “select” – The light is performing one breathe cycle. “lselect” – The light is performing breathe cycles for 15 seconds or until alert is set to "none".
func (*Light) AlertContext ¶ added in v1.1.0
AlertContext makes the light blink in its current color. Supported values are: “none” – The light is not performing an alert effect. “select” – The light is performing one breathe cycle. “lselect” – The light is performing breathe cycles for 15 seconds or until alert is set to "none".
func (*Light) BriContext ¶ added in v1.1.0
BriContext sets the light brightness state property
func (*Light) ColContext ¶ added in v1.2.1
ColContext sets the light color as RGB (will be converted to xy)
func (*Light) Effect ¶
Effect the dynamic effect of the light, currently “none” and “colorloop” are supported
func (*Light) EffectContext ¶ added in v1.1.0
EffectContext the dynamic effect of the light, currently “none” and “colorloop” are supported
func (*Light) HueContext ¶ added in v1.1.0
HueContext sets the light hue state property (0-65535)
func (*Light) OffContext ¶ added in v1.1.0
OffContext sets the On state of one light to false, turning it off
func (*Light) OnContext ¶ added in v1.1.0
OnContext sets the On state of one light to true, turning it on
func (*Light) RenameContext ¶ added in v1.1.0
RenameContext sets the name property of the light
func (*Light) SatContext ¶ added in v1.1.0
SatContext sets the light saturation state property (0-254)
func (*Light) SetStateContext ¶ added in v1.1.0
SetStateContext sets the state of the light to s.
func (*Light) TransitionTime ¶
TransitionTime sets the duration of the transition from the light’s current state to the new state
func (*Light) TransitionTimeContext ¶ added in v1.1.0
TransitionTimeContext sets the duration of the transition from the light’s current state to the new state
type NewLight ¶
NewLight defines a list of lights discovered the last time the bridge performed a light discovery. Also stores the timestamp the last time a discovery was performed.
type NewSensor ¶
NewSensor defines a list of sensors discovered the last time the bridge performed a sensor discovery. Also stores the timestamp the last time a discovery was performed.
type PortalState ¶
type PortalState struct { SignedOn bool `json:"signedon,omitempty"` Incoming bool `json:"incoming,omitempty"` Outgoing bool `json:"outgoing,omitempty"` Communication string `json:"communication,omitempty"` }
PortalState is a struct representing the portal state
type Resourcelink ¶
type Resourcelink struct { Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` Type string `json:"type,omitempty"` ClassID uint16 `json:"classid,omitempty"` Owner string `json:"owner,omitempty"` Links []string `json:"links,omitempty"` ID int `json:",omitempty"` }
Resourcelink represents a bridge resourcelink https://developers.meethue.com/documentation/resourcelinks-api
type Response ¶
type Response struct {
Success map[string]interface{}
}
Response is a wrapper struct of the success response returned from the bridge after a successful API call.
type Rule ¶
type Rule struct { Name string `json:"name,omitempty"` LastTriggered string `json:"lasttriggered,omitempty"` CreationTime string `json:"creationtime,omitempty"` TimesTriggered int `json:"timestriggered,omitempty"` Owner string `json:"owner,omitempty"` Status string `json:"status,omitempty"` Conditions []*Condition `json:"conditions,omitempty"` Actions []*RuleAction `json:"actions,omitempty"` ID int `json:",omitempty"` }
Rule represents a bridge rule https://developers.meethue.com/documentation/rules-api
type RuleAction ¶
type RuleAction struct { Address string `json:"address,omitempty"` Method string `json:"method,omitempty"` Body interface{} `json:"body,omitempty"` }
RuleAction defines the rule to execute when a rule triggers
type Scene ¶
type Scene struct { Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` Group string `json:"group,omitempty"` Lights []string `json:"lights,omitempty"` Owner string `json:"owner,omitempty"` Recycle bool `json:"recycle"` Locked bool `json:"locked,omitempty"` AppData interface{} `json:"appdata,omitempty"` Picture string `json:"picture,omitempty"` LastUpdated string `json:"lastupdated,omitempty"` Version int `json:"version,omitempty"` StoreLightState bool `json:"storelightstate,omitempty"` LightStates map[int]State `json:"lightstates,omitempty"` TransitionTime uint16 `json:"transitiontime,omitempty"` ID string `json:"-"` // contains filtered or unexported fields }
Scene represents a bridge scene https://developers.meethue.com/documentation/scenes-api
type Schedule ¶
type Schedule struct { Name string `json:"name"` Description string `json:"description"` Command *Command `json:"command"` Time string `json:"time,omitempty"` LocalTime string `json:"localtime"` StartTime string `json:"starttime,omitempty"` Status string `json:"status,omitempty"` AutoDelete bool `json:"autodelete,omitempty"` ID int `json:"-"` }
Schedule represents a bridge schedule https://developers.meethue.com/documentation/schedules-api-0
type Sensor ¶
type Sensor struct { State map[string]interface{} `json:"state,omitempty"` Config map[string]interface{} `json:"config,omitempty"` Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` ModelID string `json:"modelid,omitempty"` ManufacturerName string `json:"manufacturername,omitempty"` UniqueID string `json:"uniqueid,omitempty"` SwVersion string `json:"swversion,omitempty"` ID int `json:",omitempty"` }
Sensor represents a bridge sensor https://developers.meethue.com/documentation/sensors-api
type State ¶
type State struct { On bool `json:"on"` Bri uint8 `json:"bri,omitempty"` Hue uint16 `json:"hue,omitempty"` Sat uint8 `json:"sat,omitempty"` Xy []float32 `json:"xy,omitempty"` Ct uint16 `json:"ct,omitempty"` Alert string `json:"alert,omitempty"` Effect string `json:"effect,omitempty"` TransitionTime uint16 `json:"transitiontime,omitempty"` BriInc int `json:"bri_inc,omitempty"` SatInc int `json:"sat_inc,omitempty"` HueInc int `json:"hue_inc,omitempty"` CtInc int `json:"ct_inc,omitempty"` XyInc int `json:"xy_inc,omitempty"` ColorMode string `json:"colormode,omitempty"` Reachable bool `json:"reachable,omitempty"` Scene string `json:"scene,omitempty"` }
State defines the attributes and properties of a light
type Stream ¶ added in v1.2.0
type Stream struct { ProxyMode string `json:"proxymode,omitempty"` ProxyNode string `json:"proxynode,omitempty"` ActiveRaw *bool `json:"active,omitempty"` OwnerRaw *string `json:"owner,omitempty"` }
Stream define the stream status of a group
type SwUpdate ¶
type SwUpdate struct { CheckForUpdate bool `json:"checkforupdate,omitempty"` DeviceTypes DeviceTypes `json:"devicetypes"` UpdateState uint8 `json:"updatestate,omitempty"` Notify bool `json:"notify,omitempty"` URL string `json:"url,omitempty"` Text string `json:"text,omitempty"` }
SwUpdate contains information related to software updates. Deprecated in 1.20
type SwUpdate2 ¶
type SwUpdate2 struct { Bridge BridgeConfig `json:"bridge"` CheckForUpdate bool `json:"checkforupdate,omitempty"` State string `json:"state,omitempty"` Install bool `json:"install,omitempty"` AutoInstall AutoInstall `json:"autoinstall"` LastChange string `json:"lastchange,omitempty"` LastInstall string `json:"lastinstall,omitempty"` }
SwUpdate2 contains information related to software updates