blob: edd6f4b96bd4cf73188b172f9bc012abe705da50 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
package main
import (
_ "embed"
"encoding/json"
"log"
)
//go:embed configs/default.json
var defaultConfig []byte
type MQTTConfig struct {
Broker string `json:"broker"`
ClientID string `json:"client-id"`
TopicPrefix string `json:"topic-prefix"`
}
type HomematicConfig struct {
CCU string `json:"ccu"`
PollingPeriod string `json:"polling-period"`
}
type StartupConfig struct {
MQTT MQTTConfig `json:"mqtt"`
Homematic HomematicConfig `json:"homematic"`
}
func (sc *StartupConfig) FromJSON(data []byte) error {
return json.Unmarshal(data, sc)
}
func GetStartupConfig() StartupConfig {
config := StartupConfig{}
err := config.FromJSON(defaultConfig)
if err != nil {
log.Fatalf("Could not parse default config: %v", err)
}
return config
}
|