summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2018-03-27 03:53:59 +0000
committerMike Crute <mike@crute.us>2018-03-27 03:53:59 +0000
commit365bc847b69551a0107950bed2f881ff9c779677 (patch)
tree5019bcade809d70439261ba728af15c6a2534ef6
parentb43a7c7739efe80c55f57af921ff5ac7320f1718 (diff)
downloadmfi_homekit-365bc847b69551a0107950bed2f881ff9c779677.tar.bz2
mfi_homekit-365bc847b69551a0107950bed2f881ff9c779677.tar.xz
mfi_homekit-365bc847b69551a0107950bed2f881ff9c779677.zip
Sort device entries
Device IDs are generated by the order the devices are added to HomeKit so always make sure they get added in the same order. Not a final solution but a start.
-rw-r--r--main.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/main.go b/main.go
index 4b39e1e..d2d1fd7 100644
--- a/main.go
+++ b/main.go
@@ -10,6 +10,7 @@ import (
10 "golang.org/x/crypto/ssh" 10 "golang.org/x/crypto/ssh"
11 "io/ioutil" 11 "io/ioutil"
12 "net" 12 "net"
13 "sort"
13) 14)
14 15
15const CMD_PATH = "/var/etc/persistent/power_control.sh" 16const CMD_PATH = "/var/etc/persistent/power_control.sh"
@@ -211,10 +212,19 @@ func main() {
211 return 212 return
212 } 213 }
213 214
215 devs := make([]string, 0, len(cfg))
216 for k, _ := range cfg {
217 devs = append(devs, k)
218 }
219 sort.Strings(devs)
220
214 reg := []*accessory.Accessory{} 221 reg := []*accessory.Accessory{}
215 accs := make(map[*characteristic.Characteristic]*Output, 10) 222 accs := make(map[*characteristic.Characteristic]*Output, 10)
216 223
217 for _, v := range cfg { 224 for _, k := range devs {
225 v := cfg[k]
226 fmt.Println("Connecting to ", v)
227
218 report, err := v.GetReport() 228 report, err := v.GetReport()
219 if err != nil { 229 if err != nil {
220 panic(err) 230 panic(err)