POST /api/v1/coils/N to flip a coil

This commit is contained in:
Jarno Rankinen 2023-03-03 08:08:36 +02:00
parent ce1c569564
commit 93992d3dd6
1 changed files with 11 additions and 2 deletions

View File

@ -19,7 +19,7 @@ import (
var static embed.FS var static embed.FS
var ( var (
version = "0.0.8" version = "0.0.9"
pingvin pingvinKL.PingvinKL pingvin pingvinKL.PingvinKL
DEBUG = false DEBUG = false
) )
@ -53,6 +53,15 @@ func coils(w http.ResponseWriter, r *http.Request) {
} }
pingvin.WriteCoil(uint16(intaddr), boolval) pingvin.WriteCoil(uint16(intaddr), boolval)
json.NewEncoder(w).Encode(pingvin.Coils[intaddr]) json.NewEncoder(w).Encode(pingvin.Coils[intaddr])
} else if len(pathparams[0]) > 0 && r.Method == "POST" && len(pathparams) == 1 {
intaddr, err := strconv.Atoi(pathparams[0])
if err != nil {
log.Println("ERROR: Could not parse coil address", pathparams[0])
log.Println(err)
return
}
pingvin.WriteCoil(uint16(intaddr), !pingvin.Coils[intaddr].Value)
json.NewEncoder(w).Encode(pingvin.Coils[intaddr])
} }
} }
@ -117,6 +126,6 @@ func main() {
log.Println("enervent-ctrl version", version) log.Println("enervent-ctrl version", version)
pingvin = pingvinKL.New(DEBUG) pingvin = pingvinKL.New(DEBUG)
pingvin.Update() pingvin.Update()
go pingvin.Monitor(2) go pingvin.Monitor(4)
listen() listen()
} }