Skip to content

Commit 40abc47

Browse files
committed
improve /targets api
- add deviceName - use camelcase Signed-off-by: Markus Blaschke <[email protected]>
1 parent dbcff4c commit 40abc47

File tree

4 files changed

+18
-6
lines changed

4 files changed

+18
-6
lines changed

discovery/discovery.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,15 @@ func (d *serviceDiscovery) MarkTarget(address string, healthy bool) {
181181
d.cleanup()
182182
}
183183

184+
func (d *serviceDiscovery) SetTargetDeviceName(address, deviceName string) {
185+
d.lock.Lock()
186+
defer d.lock.Unlock()
187+
188+
if _, exists := d.targetList[address]; exists {
189+
d.targetList[address].DeviceName = &deviceName
190+
}
191+
}
192+
184193
func (d *serviceDiscovery) cleanup() {
185194
for address, target := range d.targetList {
186195
if target.Health <= TargetHealthDead {

discovery/discoverytarget.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@ import (
77

88
type (
99
DiscoveryTarget struct {
10-
Hostname string
11-
Address string
12-
Port int
13-
Health int
14-
Type string
15-
Static bool
10+
DeviceName *string `json:"deviceName"`
11+
Hostname string `json:"hostname"`
12+
Address string `json:"address"`
13+
Port int `json:"port"`
14+
Health int `json:"health"`
15+
Type string `json:"type"`
16+
Static bool `json:"isStatic"`
1617
}
1718
)
1819

shellyplug/prober.gen1.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ func (sp *ShellyPlug) collectFromTargetGen1(target discovery.DiscoveryTarget, lo
2121
if result, err := shellyProber.GetSettings(); err == nil {
2222
if discovery.ServiceDiscovery != nil {
2323
discovery.ServiceDiscovery.MarkTarget(target.Address, discovery.TargetHealthy)
24+
discovery.ServiceDiscovery.SetTargetDeviceName(target.Address, result.Name)
2425
}
2526

2627
targetLabels["plugName"] = result.Name

shellyplug/prober.gen2.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ func (sp *ShellyPlug) collectFromTargetGen2(target discovery.DiscoveryTarget, lo
3333
// target is healthy
3434
if discovery.ServiceDiscovery != nil {
3535
discovery.ServiceDiscovery.MarkTarget(target.Address, discovery.TargetHealthy)
36+
discovery.ServiceDiscovery.SetTargetDeviceName(target.Address, infoLabels["plugName"])
3637
}
3738

3839
// systemStatus

0 commit comments

Comments
 (0)