aboutsummaryrefslogtreecommitdiff
path: root/bridge.go
diff options
context:
space:
mode:
Diffstat (limited to 'bridge.go')
-rw-r--r--bridge.go14
1 files changed, 12 insertions, 2 deletions
diff --git a/bridge.go b/bridge.go
index 7236092..4f5a585 100644
--- a/bridge.go
+++ b/bridge.go
@@ -153,10 +153,9 @@ func (bridge *Bridge) Error(resp *http.Response, err error) (bool) {
}
// NewBridge defines hardware that is compatible with Hue.
-func NewBridge(ip string, username string) (*Bridge, error) {
+func NewBridge(ip string) (*Bridge, error) {
bridge := Bridge {
IPAddress: ip,
- Username: username,
}
info, err := bridge.GetInfo()
if err != nil {
@@ -166,6 +165,17 @@ func NewBridge(ip string, username string) (*Bridge, error) {
return &bridge, nil
}
+// Bridge.Login assigns a username to access the bridge with and
+// will create the username key if it does not exist.
+func (bridge *Bridge) Login(username string) error {
+ bridge.Username = username
+ err := bridge.CreateUser(username)
+ if err != nil {
+ return err
+ }
+ return nil
+}
+
// GetBridgeInfo retreives the description.xml file from the bridge.
func (bridge *Bridge) GetInfo() (BridgeInfo, error) {
_, reader, err := bridge.Get("/description.xml")