diff options
author | Mike Crute <mike@crute.us> | 2018-03-27 03:53:59 +0000 |
---|---|---|
committer | Mike Crute <mike@crute.us> | 2018-03-27 03:53:59 +0000 |
commit | 365bc847b69551a0107950bed2f881ff9c779677 (patch) | |
tree | 5019bcade809d70439261ba728af15c6a2534ef6 | |
parent | b43a7c7739efe80c55f57af921ff5ac7320f1718 (diff) | |
download | mfi_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.go | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -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 | ||
15 | const CMD_PATH = "/var/etc/persistent/power_control.sh" | 16 | const 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) |