diff --git a/config.yaml b/config.yaml index 69bd1cf..be12505 100644 --- a/config.yaml +++ b/config.yaml @@ -124,7 +124,7 @@ locations: - "ac:44:f2:4e:87:27" # MAIN2-R bridge interface - ART6 # Wash - ART7 # Wash - - DMX32 # Wash + - DMX148 # wash6 - ART19 # Focus - name: Booth diff --git a/http.go b/http.go index 81d0ad9..47b0699 100644 --- a/http.go +++ b/http.go @@ -228,7 +228,13 @@ func (t *Tendrils) getNodes() []*Node { nodes = append(nodes, node) } sort.Slice(nodes, func(i, j int) bool { - return sortorder.NaturalLess(nodes[i].DisplayName(), nodes[j].DisplayName()) + if nodes[i].DisplayName() != nodes[j].DisplayName() { + return sortorder.NaturalLess(nodes[i].DisplayName(), nodes[j].DisplayName()) + } + if nodes[i].FirstIP() != nodes[j].FirstIP() { + return sortorder.NaturalLess(nodes[i].FirstIP(), nodes[j].FirstIP()) + } + return sortorder.NaturalLess(nodes[i].FirstMAC(), nodes[j].FirstMAC()) }) return nodes diff --git a/types.go b/types.go index 0addc73..d67bba2 100644 --- a/types.go +++ b/types.go @@ -266,5 +266,14 @@ func (n *Node) FirstMAC() string { return string(iface.MAC) } } - return "??" + return "" +} + +func (n *Node) FirstIP() string { + for _, iface := range n.Interfaces { + for ip := range iface.IPs { + return ip + } + } + return "" }