package main

import (
	"flag"
	"fmt"
	"log/slog"

	"gitlab.imt-atlantique.fr/xaal/code/go/core/xaal"
)

func main() {
	mqttBroker := flag.String("broker", "", "The MQTT broker URL")
	flag.Parse()

	if *mqttBroker == "" {
		fmt.Println("Error: MQTT broker URL is required")
		return
	}

	xaal.SetupLogger()
	client := mqttSetup(*mqttBroker, 1883)
	// client.Publish("zigbee2mqtt/0x70b3d52b600f89d3/set", 0, false, `{"state": "toggle"}`)

	eng := xaal.NewEngine()
	gw := NewGW(client)
	gw.engine = eng
	eng.Run()
	client.Disconnect(250)
	slog.Debug("MQTT disconnected")
}