mirror of
https://github.com/gosticks/go-hue-interface.git
synced 2025-10-16 11:45:35 +00:00
fix: nil pointer issues
This commit is contained in:
parent
5480599807
commit
368729d88f
@ -71,7 +71,6 @@ func (b *Bridge) deleteFromBridge(endpoint string, payload interface{}) (*http.R
|
|||||||
return b.sendToBridge(endpoint, http.MethodDelete, payload)
|
return b.sendToBridge(endpoint, http.MethodDelete, payload)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func (b *Bridge) sendToBridge(endpoint string, method string, payload interface{}) (*http.Response, error) {
|
func (b *Bridge) sendToBridge(endpoint string, method string, payload interface{}) (*http.Response, error) {
|
||||||
data, errMarhshal := json.Marshal(payload)
|
data, errMarhshal := json.Marshal(payload)
|
||||||
if errMarhshal != nil {
|
if errMarhshal != nil {
|
||||||
@ -109,7 +108,6 @@ func (b *Bridge) getRawResponse(endpoint string) ([]byte, error) {
|
|||||||
func (b *Bridge) getFromBridge(endpoint string) (*http.Response, error) {
|
func (b *Bridge) getFromBridge(endpoint string) (*http.Response, error) {
|
||||||
|
|
||||||
uri := b.getBridgeAPIURI() + endpoint
|
uri := b.getBridgeAPIURI() + endpoint
|
||||||
|
|
||||||
req, err := http.NewRequest("GET", uri, nil)
|
req, err := http.NewRequest("GET", uri, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -124,7 +122,6 @@ func (b *Bridge) getFromBridge(endpoint string) (*http.Response, error) {
|
|||||||
// check http responses
|
// check http responses
|
||||||
if res.StatusCode != http.StatusOK {
|
if res.StatusCode != http.StatusOK {
|
||||||
return nil, errors.New("Hue responded with error" + res.Status + fmt.Sprint(res.StatusCode))
|
return nil, errors.New("Hue responded with error" + res.Status + fmt.Sprint(res.StatusCode))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return res, nil
|
return res, nil
|
||||||
|
|||||||
8
go.mod
Normal file
8
go.mod
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
module github.com/gosticks/go-hue-interface
|
||||||
|
|
||||||
|
go 1.13
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/sergi/go-diff v1.1.0
|
||||||
|
gopkg.in/yaml.v2 v2.3.0
|
||||||
|
)
|
||||||
16
go.sum
Normal file
16
go.sum
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
|
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||||
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
|
||||||
|
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
||||||
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
|
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
|
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
|
||||||
|
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
@ -266,7 +266,7 @@ func (b *Bridge) createGroup(group *Group) (string, error) {
|
|||||||
|
|
||||||
if len(result) == 1 {
|
if len(result) == 1 {
|
||||||
return result[0].Success.ID, nil
|
return result[0].Success.ID, nil
|
||||||
} else {
|
|
||||||
return "", fmt.Errorf("could not create group, bridge did not return new group id")
|
|
||||||
}
|
}
|
||||||
|
return "", fmt.Errorf("could not create group, bridge did not return new group id")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -111,12 +111,13 @@ func (b *Bridge) SetLightState(id string, state *LightState) (result *BridgeResp
|
|||||||
|
|
||||||
// GetLights returns all the hue lights
|
// GetLights returns all the hue lights
|
||||||
func (b *Bridge) GetLights() (result map[string]*Light, err error) {
|
func (b *Bridge) GetLights() (result map[string]*Light, err error) {
|
||||||
|
result = make(map[string]*Light)
|
||||||
res, errCom := b.getFromBridge("/lights")
|
res, errCom := b.getFromBridge("/lights")
|
||||||
if errCom != nil {
|
if errCom != nil {
|
||||||
return nil, errCom
|
return nil, errCom
|
||||||
}
|
}
|
||||||
// Unmarshal data
|
// Unmarshal data
|
||||||
errDecode := json.NewDecoder(res.Body).Decode(result)
|
errDecode := json.NewDecoder(res.Body).Decode(&result)
|
||||||
if errDecode != nil {
|
if errDecode != nil {
|
||||||
return nil, errDecode
|
return nil, errDecode
|
||||||
}
|
}
|
||||||
|
|||||||
27
main.go
27
main.go
@ -1,27 +0,0 @@
|
|||||||
package hue
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
)
|
|
||||||
|
|
||||||
const VERSION = "0.1.2"
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
fmt.Printf("go-hue-interface v. %s \n", VERSION)
|
|
||||||
|
|
||||||
config := &Config{
|
|
||||||
Username: "nX1ye7AMQoQswiiJdxyw-92-RNhIwicXiQRg7AtF",
|
|
||||||
BridgeAddr: "192.168.178.46",
|
|
||||||
BridgeAddrScheme: "http",
|
|
||||||
}
|
|
||||||
|
|
||||||
bridge := NewBridge(config)
|
|
||||||
|
|
||||||
fmt.Println("Created bridge ", bridge)
|
|
||||||
|
|
||||||
// errCom := bridge.ToggleLight("2", false)
|
|
||||||
// if errCom != nil {
|
|
||||||
// fmt.Println("[ERROR]" + errCom.Error())
|
|
||||||
// }
|
|
||||||
//fmt.Println(test)
|
|
||||||
}
|
|
||||||
7
state.go
7
state.go
@ -21,9 +21,12 @@ func (bs *BridgeState) String() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GetState returns the current hue state
|
// GetState returns the current hue state
|
||||||
func (b *Bridge) GetState() (*BridgeState, error) {
|
func (b *Bridge) GetState() (state *BridgeState, err error) {
|
||||||
state := &BridgeState{}
|
state = &BridgeState{}
|
||||||
res, err := b.getFromBridge("")
|
res, err := b.getFromBridge("")
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Unmarshal data
|
// Unmarshal data
|
||||||
errDecode := json.NewDecoder(res.Body).Decode(state)
|
errDecode := json.NewDecoder(res.Body).Decode(state)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user