Projekt Raspberry Pi – 9 – Przenosimy Homebridge do nowego Home i rozwiązujemy problemy z HomeKitem

08/12/2020, 14:18 · · · 3

Ostatni wpis w temacie Projekt Raspberry Pi, na którym stoi Homebridge do sterowania paroma rzeczami w domu, był półtora roku temu, a całość działała w tym czasie bez zarzutu. Przeniosłem jednak cały swój Home i zrobiłem kilka rzeczy źle, więc pojawiły się problemy. Oto, jak całość rozwiązałem.


Ten projekt jest możliwy dzięki uprzejmości Botland, który dostarczył następujące elementy umożliwiające jego wykonanie:


Spis treści

  1. Instalacja i konfiguracja Raspbian (Wi-Fi, SSH i VNC).
  2. Instalacja Homebridge i konfiguracja Xiaomi Air Purifier 2.
  3. Uruchomienie kamery Raspberry Pi NOIR pod HomeKitem.
  4. Dodajemy pozycję w HomeKit, wyświetlającą jakość powietrza na dworze.
  5. Dodajemy prognozę pogody do HomeKit dla naszej ulicy.
  6. Dodajemy sterowanie TV, Apple TV i amplitunerem do HomeKit przez Homebridge i Logitech Harmony.
  7. Naprawiamy sterowanie TV, Apple TV i amplitunerem przez Homebridge i Logitech Harmony w HomeKit.
  8. Wywalamy Airly, bo zabili swoje publiczne API.
  9. Przenosimy Homebridge do nowego Home i rozwiązujemy problemy z HomeKitem.

Przenosiny Home

Aplikacja Home na iOS wspiera tworzenie większej ilości „domów”. Przenosząc swój config z jednego do drugiego, tak właśnie zrobiłem – stworzyłem nowy i sukcesywnie usuwałem rzeczy z pierwszego, a dodawałem do drugiego. Niestety, to spowodowało sporo problemów.

Korzystam z geofencing w Home, dzięki czemu, jak wracam do domu, to światła mam już zapalone, a muzyka sączy się z głośników. Niestety, po dodaniu nowego domu, Home nadal myślał, że jego lokazliacja znajduje się w miejscu starego. To oczywiście spowodowało, że automatyzacje wariowały. Za żadne skarby nie wiedziałem, jak to zmienić, więc m.in. zmieniłem „Home” w Mapach Apple na nowy adres, zmieniłem adresy w kartach w Wallet i jeszcze kilka innych rzeczy, których teraz nie pamiętam. Nic z tego nie chciało działać, więc zostawiłem temat na wieczór (to było kilka dni temu), kiedy to się okazało, że automagicznie w końcu rozpoznał nowy adres. Skąd go wziął? Nie wiem. W ustawieniach miałem wpisane, że ma korzystać z lokalizacji iPhone’a, ale ignorował to wcześniej.

Usuwajać pierwszy dom w Home, zapomniałem wywalić z niego Apple TV 4, które teraz wisi w Bridge’ach jako „niepodłączone / disconnected” i nie mam jak go usunąć. Zapewne skończy się na konieczności kolejnego podłączenia, usunięcia go i dopiero odpięcia od prądu.

Przenosiny Raspberry Pi i Homebridge

RPi i Homebridge wcześniej wykorzystywałem do integracji Logitech Harmony Hub, oczyszczacza Xiaomi oraz kamery RPi. Po przenosinach nie mam już potrzeby tego pierwszego, więc usunąłem go z pliku config.json, a stosowny plugin odinstalowałem.

Mój config.json, przed zmianami, wyglądał następująco:

Po usunięciu Harmony, wygląda tak:

Zwróćcie szczególną uwagę na brak przecinka po przedostatnim }.

Usunięcie samej konfiguracji z config.json to jednak nie wszystko – musiałem też odinstalować plugin za pomocą komendy sudo npm uninstall homebridge-harmonyhub-plugin -g, a potem zrestartować Homebridge za pomocą sudo systemctl restart homebridge. Upełniłem się jeszcze, że wszystko działa prawidłowo za pomocą journalctl -f -u homebridge.

Nie można ponownie dodać Homebridge!

Następnym krokiem była próba ponownego dodania Homebridge’a do aplikacji Home i ta niestety zakończyła się niepowodzeniem. W tym celu, musiałem zrobić kilka rzeczy, bo bez tego nie chciał ruszyć:

  1. Zalogować się ponownie na RPi po ssh.
  2. rm /var/homebridge/persist*.
  3. rm /var/homebridge/accessories/*.

Te dwa foldery trzymają cache i należy go wyczyścić, aby całość się ponownie poprawnie „spięła”. Po tych czynnościach już mogłem bez problemu dodać Homebridge do Home app.


W logach już widziałem, że niedługo będę musiał zająć się uaktualnieniem node’a i paru innych rzeczy, ale prawdopodobnie poczekam z tym, dopóki całość działa – pamiętam wcześniejsze problemy z odpowiednią wersją node’a i nie chce mi się teraz w to bawić.



3

Wojtek Pietrusiewicz

Wydawca, fotograf, podróżnik, podcaster – niekoniecznie w tej kolejności. Lubię espresso, mechaniczne zegarki, mechaniczne klawiatury i zwinne samochody.