Files
homeservice/src/main.go
Thomas Klaehn 8f0fd525d9 Manual mode
Signed-off-by: Thomas Klaehn <tkl@blackfinn.de>
2025-08-14 08:55:02 +02:00

61 lines
1.6 KiB
Go

package main
import (
"crypto/tls"
"flag"
"log"
"net/http"
apiservice_devices "waterservice/internal/apiservice/devices"
apiservice_mode "waterservice/internal/apiservice/mode"
apiservice_pv "waterservice/internal/apiservice/pv"
apiservice_soil "waterservice/internal/apiservice/soil"
apiservice_state "waterservice/internal/apiservice/state"
"waterservice/internal/app/config"
"waterservice/internal/app/scheduler"
)
var (
logger log.Logger = *log.Default()
)
func init() {
logger.SetFlags(log.Llongfile | log.Ltime)
}
func main() {
logger.Println("starting")
var webui_path string
var devices_path string
var config_path string
flag.StringVar(&webui_path, "w", "../webui", "Specify path to serve the web ui. Default is ./webui")
flag.StringVar(&devices_path, "d", "../config/devices.json", "Specify path of devices defifintion file. Default is ../config/devices.json")
flag.StringVar(&config_path, "c", "../config/config.json", "Specify path of config file. Default is ../config/config.json")
flag.Parse()
http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
http.Handle("/", http.FileServer(http.Dir(webui_path)))
config.SetConfigFilePath(config_path)
apiservice_devices.SetDevicesFilePath(devices_path)
apiservice_devices.AddHandler()
apiservice_mode.AddHandler()
apiservice_state.AddHandler()
apiservice_pv.AddHandler()
apiservice_soil.AddHandler()
apiservice_state.Start()
apiservice_pv.Start()
apiservice_soil.Start()
scheduler.Start()
port := ":5005"
logger.Println("Server is running on port" + port)
logger.Fatal(http.ListenAndServe(port, nil))
}