|
@@ -165,6 +165,26 @@ func (x *Xph) PostControlRelay(id, index, state int, token string) (bool, error)
|
|
|
return string(body) == "true", nil
|
|
|
}
|
|
|
|
|
|
+func (x *Xph) PostControlBallValve(id, index, percent int, token string) (bool, error) {
|
|
|
+ client := &http.Client{Timeout: 30 * time.Second}
|
|
|
+ relayParam := map[string]int{"deviceId": id, "relayNum": index, "percent": percent}
|
|
|
+ jsonStr, _ := json.Marshal(relayParam)
|
|
|
+ req, err := http.NewRequest("POST", x.baseUrl+"/relay", bytes.NewBuffer(jsonStr))
|
|
|
+ if err != nil {
|
|
|
+ return false, err
|
|
|
+ }
|
|
|
+ req.Header.Set("token", token)
|
|
|
+ req.Header.Set("Content-Type", "application/json")
|
|
|
+ resp, err := client.Do(req)
|
|
|
+ if err != nil {
|
|
|
+ return false, err
|
|
|
+ }
|
|
|
+ defer resp.Body.Close()
|
|
|
+ body, _ := ioutil.ReadAll(resp.Body)
|
|
|
+
|
|
|
+ return string(body) == "true", nil
|
|
|
+}
|
|
|
+
|
|
|
func (x *Xph) GetDeviceData(id, token string) (data DeviceData, err error) {
|
|
|
client := &http.Client{Timeout: 5 * time.Second}
|
|
|
req, err := http.NewRequest("GET", x.baseUrl+"/screen/datas?deviceId="+id, nil)
|