Documentation ¶
Overview ¶
Package huego provides an extensive, easy to use interface to the Philips Hue bridge.
Index ¶
- type APIError
- type APIResponse
- type AutoInstall
- type Backup
- type Bridge
- func (b *Bridge) CreateEntertainmentGroup(g EntertainmentGroup) (*Response, error)
- func (b *Bridge) CreateEntertainmentGroupContext(ctx context.Context, g EntertainmentGroup) (*Response, error)
- 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, string, error)
- func (b *Bridge) CreateUserContext(ctx context.Context, n string) (string, string, 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) GetEntertainmentGroup(i int) (*EntertainmentGroup, error)
- func (b *Bridge) GetEntertainmentGroupContext(ctx context.Context, i int) (*EntertainmentGroup, error)
- func (b *Bridge) GetEntertainmentGroups() ([]EntertainmentGroup, error)
- func (b *Bridge) GetEntertainmentGroupsContext(ctx context.Context) ([]EntertainmentGroup, 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) Login(u string, c 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) StartEntertainmentGroup(i int) (*Response, error)
- func (b *Bridge) StartEntertainmentGroupContext(ctx context.Context, i int) (*Response, error)
- func (b *Bridge) UpdateConfig(c *Config) (*Response, error)
- func (b *Bridge) UpdateConfigContext(ctx context.Context, c *Config) (*Response, error)
- func (b *Bridge) UpdateEntertainmentGroup(i int, l EntertainmentGroup) (*Response, error)
- func (b *Bridge) UpdateEntertainmentGroupContext(ctx context.Context, i int, l EntertainmentGroup) (*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 EntertainmentGroup
- func (g *EntertainmentGroup) Rename(new string) error
- func (g *EntertainmentGroup) RenameContext(ctx context.Context, new string) error
- func (g *EntertainmentGroup) StartStream() (*EntertainmentStream, error)
- func (g *EntertainmentGroup) StartStreamContext(ctx context.Context) (*EntertainmentStream, error)
- type EntertainmentGroupState
- type EntertainmentStream
- 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) Ct(new uint16) error
- func (g *Group) CtContext(ctx context.Context, new uint16) error
- func (g *Group) Effect(new string) error
- func (g *Group) EffectContext(ctx context.Context, new string) 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) 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 Location
- 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 ¶
This section is empty.
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 ClientKey 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 ¶
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 ¶
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, c is the clientkey generated when creating a user. Use Discover() and CreateUser() to create a user.
func (*Bridge) CreateEntertainmentGroup ¶
func (b *Bridge) CreateEntertainmentGroup(g EntertainmentGroup) (*Response, error)
CreateGroup creates one new group with attributes defined by g
func (*Bridge) CreateEntertainmentGroupContext ¶
func (b *Bridge) CreateEntertainmentGroupContext(ctx context.Context, g EntertainmentGroup) (*Response, error)
CreateGroupContext creates one new group with attributes defined by g
func (*Bridge) CreateGroup ¶
CreateGroup creates one new group with attributes defined by g
func (*Bridge) CreateGroupContext ¶
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 ¶
CreateResourcelinkContext creates one new resourcelink on the bridge
func (*Bridge) CreateRule ¶
CreateRule creates one rule with attribues defined in s
func (*Bridge) CreateRuleContext ¶
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 ¶
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 ¶
CreateScheduleContext creates one schedule and sets its attributes defined in s
func (*Bridge) CreateSensor ¶
CreateSensor creates one new sensor
func (*Bridge) CreateSensorContext ¶
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, clientKey) light, _ := bridge.GetLight(1) light.Off()
Output:
func (*Bridge) CreateUserContext ¶
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) DeleteGroup ¶
DeleteGroup deletes one group with the id of i
func (*Bridge) DeleteGroupContext ¶
DeleteGroupContext deletes one group with the id of i
func (*Bridge) DeleteLight ¶
DeleteLight deletes one lights from the bridge
func (*Bridge) DeleteLightContext ¶
DeleteLightContext deletes one lights from the bridge
func (*Bridge) DeleteResourcelink ¶
DeleteResourcelink deletes one resourcelink with the id of i
func (*Bridge) DeleteResourcelinkContext ¶
DeleteResourcelinkContext deletes one resourcelink with the id of i
func (*Bridge) DeleteRule ¶
DeleteRule deletes one rule from the bridge
func (*Bridge) DeleteRuleContext ¶
DeleteRuleContext deletes one rule from the bridge
func (*Bridge) DeleteScene ¶
DeleteScene deletes one scene from the bridge
func (*Bridge) DeleteSceneContext ¶
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 ¶
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 ¶
DeleteSensorContext deletes one sensor from the bridge
func (*Bridge) DeleteUser ¶
DeleteUser removes a whitelist item from whitelists on the bridge
func (*Bridge) DeleteUserContext ¶
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 ¶
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 ¶
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 ¶
func (b *Bridge) GetCapabilitiesContext(ctx context.Context) (*Capabilities, error)
GetCapabilitiesContext returns a list of capabilities of resources supported in the bridge.
func (*Bridge) GetConfigContext ¶
GetConfigContext returns the bridge configuration
func (*Bridge) GetEntertainmentGroup ¶
func (b *Bridge) GetEntertainmentGroup(i int) (*EntertainmentGroup, error)
GetGroup returns one group known to the bridge by its id
func (*Bridge) GetEntertainmentGroupContext ¶
func (b *Bridge) GetEntertainmentGroupContext(ctx context.Context, i int) (*EntertainmentGroup, error)
GetGroupContext returns one group known to the bridge by its id
func (*Bridge) GetEntertainmentGroups ¶
func (b *Bridge) GetEntertainmentGroups() ([]EntertainmentGroup, error)
ENTERTAINMENT GROUP API
GetGroups returns all groups known to the bridge
func (*Bridge) GetEntertainmentGroupsContext ¶
func (b *Bridge) GetEntertainmentGroupsContext(ctx context.Context) ([]EntertainmentGroup, error)
GetGroupsContext returns all groups known to the bridge
func (*Bridge) GetFullState ¶
GetFullState returns the entire bridge configuration.
func (*Bridge) GetFullStateContext ¶
GetFullStateContext returns the entire bridge configuration.
func (*Bridge) GetGroupContext ¶
GetGroupContext returns one group known to the bridge by its id
func (*Bridge) GetGroupsContext ¶
GetGroupsContext returns all groups known to the bridge
func (*Bridge) GetLightContext ¶
GetLightContext returns one light with the id of i
func (*Bridge) GetLightsContext ¶
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 ¶
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 ¶
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 ¶
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 ¶
func (b *Bridge) GetResourcelinksContext(ctx context.Context) ([]*Resourcelink, error)
GetResourcelinksContext returns all resourcelinks known to the bridge
func (*Bridge) GetRuleContext ¶
GetRuleContext returns one rule by its id of i
func (*Bridge) GetRulesContext ¶
GetRulesContext returns all rules known to the bridge
func (*Bridge) GetSceneContext ¶
GetSceneContext returns one scene by its id of i
func (*Bridge) GetScenesContext ¶
GetScenesContext returns all scenes known to the bridge
func (*Bridge) GetSchedule ¶
GetSchedule returns one schedule by id defined in i
func (*Bridge) GetScheduleContext ¶
GetScheduleContext returns one schedule by id defined in i
func (*Bridge) GetSchedules ¶
GetSchedules returns all schedules known to the bridge
func (*Bridge) GetSchedulesContext ¶
GetSchedulesContext returns all schedules known to the bridge
func (*Bridge) GetSensorContext ¶
GetSensorContext returns one sensor by its id of i
func (*Bridge) GetSensors ¶
GetSensors returns all sensors known to the bridge
func (*Bridge) GetSensorsContext ¶
GetSensorsContext returns all sensors known to the bridge
func (*Bridge) RecallScene ¶
RecallScene will recall a scene in a group identified by both scene and group identifiers
func (*Bridge) RecallSceneContext ¶
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 ¶
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 ¶
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 ¶
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) StartEntertainmentGroup ¶
func (*Bridge) StartEntertainmentGroupContext ¶
func (*Bridge) UpdateConfig ¶
UpdateConfig updates the bridge configuration with c
func (*Bridge) UpdateConfigContext ¶
UpdateConfigContext updates the bridge configuration with c
func (*Bridge) UpdateEntertainmentGroup ¶
func (b *Bridge) UpdateEntertainmentGroup(i int, l EntertainmentGroup) (*Response, error)
UpdateEntertainmentGroup updates one group known to the bridge
func (*Bridge) UpdateEntertainmentGroupContext ¶
func (b *Bridge) UpdateEntertainmentGroupContext(ctx context.Context, i int, l EntertainmentGroup) (*Response, error)
UpdateEntertainmentGroupContext updates one group known to the bridge
func (*Bridge) UpdateGroup ¶
UpdateGroup updates one group known to the bridge
func (*Bridge) UpdateGroupContext ¶
UpdateGroupContext updates one group known to the bridge
func (*Bridge) UpdateLight ¶
UpdateLight updates one light's attributes and state properties
func (*Bridge) UpdateLightContext ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 EntertainmentGroup ¶
type EntertainmentGroup struct { Name string `json:"name,omitempty"` Lights []string `json:"lights,omitempty"` Type string `json:"type,omitempty"` GroupState *EntertainmentGroupState `json:"state,omitempty"` Recycle bool `json:"recycle,omitempty"` Class string `json:"class,omitempty"` State *State `json:"action,omitempty"` Stream *Stream `json:"stream,omitempty"` Locations map[int]*Location `json:"locations,omitempty,string"` ID int `json:"-"` // contains filtered or unexported fields }
Entertainment represents a bridge entertainment group https://developers.meethue.com/develop/hue-entertainment/philips-hue-entertainment-api/
func (*EntertainmentGroup) Rename ¶
func (g *EntertainmentGroup) Rename(new string) error
Rename sets the name property of the group
func (*EntertainmentGroup) RenameContext ¶
func (g *EntertainmentGroup) RenameContext(ctx context.Context, new string) error
RenameContext sets the name property of the group
func (*EntertainmentGroup) StartStream ¶
func (g *EntertainmentGroup) StartStream() (*EntertainmentStream, error)
func (*EntertainmentGroup) StartStreamContext ¶
func (g *EntertainmentGroup) StartStreamContext(ctx context.Context) (*EntertainmentStream, error)
type EntertainmentGroupState ¶
type EntertainmentGroupState struct { AllOn bool `json:"all_on,omitempty"` AnyOn bool `json:"any_on,omitempty"` }
EntertainmentGroupState 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 EntertainmentStream ¶
type EntertainmentStream struct {
// contains filtered or unexported fields
}
func (*EntertainmentStream) Set ¶
func (g *EntertainmentStream) Set(lights map[int][]float32)
Set takes a map of the light ID, x value, y value, and brightness EX: []float32{.7, .299, .5}
func (*EntertainmentStream) StopStream ¶
func (s *EntertainmentStream) StopStream()
func (*EntertainmentStream) StopStreamContext ¶
func (s *EntertainmentStream) StopStreamContext()
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"` 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 ¶
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 ¶
BriContext sets the light brightness state property
func (*Group) Effect ¶
Effect the dynamic effect of the lights in the group, currently “none” and “colorloop” are supported
func (*Group) EffectContext ¶
EffectContext the dynamic effect of the lights in the group, currently “none” and “colorloop” are supported
func (*Group) HueContext ¶
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 ¶
OffContext sets the On state of one group to false, turning all lights in the group off
func (*Group) OnContext ¶
OnContext sets the On state of one group to true, turning all lights in the group on
func (*Group) RenameContext ¶
RenameContext sets the name property of the group
func (*Group) SatContext ¶
SatContext sets the light saturation state property (0-254)
func (*Group) SceneContext ¶
SceneContext sets the scene by it's identifier of the scene you wish to recall
func (*Group) SetStateContext ¶
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 ¶
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"` ProductID string `json:"productid,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 ¶
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 ¶
BriContext sets the light brightness state property
func (*Light) Effect ¶
Effect the dynamic effect of the light, currently “none” and “colorloop” are supported
func (*Light) EffectContext ¶
EffectContext the dynamic effect of the light, currently “none” and “colorloop” are supported
func (*Light) HueContext ¶
HueContext sets the light hue state property (0-65535)
func (*Light) OffContext ¶
OffContext sets the On state of one light to false, turning it off
func (*Light) RenameContext ¶
RenameContext sets the name property of the light
func (*Light) SatContext ¶
SatContext sets the light saturation state property (0-254)
func (*Light) SetStateContext ¶
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 ¶
TransitionTimeContext sets the duration of the transition from the light’s current state to the new state
type Location ¶
func (*Location) UnmarshalJSON ¶
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,omitempty"` 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"` StoreSceneState bool `json:"storescenestate,omitempty"` LightStates map[int]State `json:"lightstates,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 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