50 lines
1.3 KiB
Go
50 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
"io/ioutil"
|
|
"log"
|
|
"time"
|
|
"net/http"
|
|
"net/url"
|
|
)
|
|
|
|
func sendSMS(phonenumber string, alertMessage string) {
|
|
myurl := fmt.Sprintf("https://api.smsapi.com/sms.do?to=%s&message=%s&format=json",phonenumber,url.QueryEscape(alertMessage))
|
|
|
|
req, err := http.NewRequest("GET", myurl, nil)
|
|
if err != nil {
|
|
log.Fatal("Error reading request. ", err)
|
|
}
|
|
|
|
req.Header.Set("Authorization", "Bearer IQ4vRG2JvNOmYmrYz6RuSwAanYZgd2hHGwtN62kq")
|
|
|
|
client := &http.Client{Timeout: time.Second * 10}
|
|
|
|
resp, err := client.Do(req)
|
|
if err != nil {
|
|
log.Fatal("Error reading response. ", err)
|
|
}
|
|
defer resp.Body.Close()
|
|
|
|
body, err := ioutil.ReadAll(resp.Body)
|
|
if err != nil {
|
|
log.Fatal("Error reading body. ", err)
|
|
}
|
|
|
|
fmt.Printf("%s\n", body)
|
|
}
|
|
|
|
func sendAlert(deveui string, alertMessage string) {
|
|
fmt.Printf("sendAlert: deveui=%s, message=%s\n", deveui, alertMessage)
|
|
smsnumber := getSmsnumber(deveui)
|
|
alarmactive := getDevAlarmactive(deveui)
|
|
fmt.Printf("sendAlert: deveui=%s, smsnumber=%s, alarmactive=%s\n", deveui, smsnumber,alarmactive)
|
|
if ((smsnumber != "") && (alarmactive == "1")) {
|
|
// we strip of the leading +
|
|
smsnumber = strings.Replace(smsnumber, "+", "", -1)
|
|
sendSMS(smsnumber,alertMessage)
|
|
}
|
|
}
|