enervent-ctrl/enervent-ctrl-go/main.go

51 lines
1.0 KiB
Go
Raw Normal View History

package main
import (
"encoding/json"
"log"
"net/http"
2023-01-29 14:42:03 +02:00
"github.com/0ranki/enervent-ctrl/enervent-ctrl-go/pingvinKL"
)
var (
version = "0.0.2"
pingvin pingvinKL.PingvinKL
2023-02-01 22:19:57 +02:00
DEBUG = false
)
func coils(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(pingvin.Coils)
}
func registers(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
2023-02-01 22:19:57 +02:00
if DEBUG {
log.Println("Received request for /registers")
}
json.NewEncoder(w).Encode(pingvin.Registers)
2023-02-01 22:19:57 +02:00
if DEBUG {
log.Println("Handled request for /registers")
}
}
func listen() {
log.Println("Starting pingvinAPI...")
http.HandleFunc("/api/v1/coils/", coils)
http.HandleFunc("/api/v1/registers/", registers)
static := http.FileServer(http.Dir("./static/html"))
http.Handle("/", static)
err := http.ListenAndServe(":8888", nil)
if err != nil {
log.Fatal(err)
}
}
func main() {
log.Println("enervent-ctrl version", version)
pingvin = pingvinKL.New()
2023-01-29 21:56:22 +02:00
pingvin.Update()
listen()
}