diff options
| author | xengineering <me@xengineering.eu> | 2026-03-26 17:25:27 +0100 |
|---|---|---|
| committer | xengineering <me@xengineering.eu> | 2026-03-26 17:31:34 +0100 |
| commit | aecc47c3f558dc3f0548d4c8e69f20ed893f5196 (patch) | |
| tree | f76d5940e8d7e3bc86daae616bca0dfef60abf6a /config.go | |
| parent | 5bfb53eb9bb16eebc9bc2751d8c9c5baea6a6b37 (diff) | |
| download | sia-server-aecc47c3f558dc3f0548d4c8e69f20ed893f5196.tar sia-server-aecc47c3f558dc3f0548d4c8e69f20ed893f5196.tar.zst sia-server-aecc47c3f558dc3f0548d4c8e69f20ed893f5196.zip | |
Add TP-Link config parsing
This is required to assign IDs and IP addresses.
Diffstat (limited to 'config.go')
| -rw-r--r-- | config.go | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -52,10 +52,18 @@ type ShellyConfig struct { type ShellyConfigs []ShellyConfig +type TPLinkConfig struct { + ID string `json:"id"` + IP string `json:"ip"` +} + +type TPLinkConfigs []TPLinkConfig + type StartupConfig struct { MQTT MQTTConfig `json:"mqtt"` Homematic HomematicConfig `json:"homematic"` Shelly ShellyConfigs `json:"shelly"` + TPLink TPLinkConfigs `json:"tplink"` } func (sc StartupConfig) String() string { @@ -132,6 +140,13 @@ func (sc StartupConfig) Validate() error { } } + for _, tplink := range sc.TPLink { + ip := net.ParseIP(tplink.IP) + if ip == nil { + return fmt.Errorf("Failed to parse IP address '%s'.", tplink.IP) + } + } + return nil } |
