Projekt Raspberry Pi – 6 – Dodajemy sterowanie TV, Apple TV i amplitunerem do HomeKit przez Homebridge i Logitech Harmony

26/11/2018, 14:34 · · · 10

Niedawno Paweł Okopień wrzucił informację o Logitech Harmony współpracującym z Homebridgem. Gdybym wiedział o tym wcześniej, to bym go ubiegł, ale nie wiedziałem, więc nadrabiam zaległości.


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.

Składniki

Poza RPi Zero W, wspomnianym powyżej, potrzebny będzie Logitech Harmony Hub, Logitech Harmony Companion (obecnie w promocji – kupujcie w ciemno!) lub Logitech Harmony Elite. Te są trudno dostępne w Polsce, więc polecam kupno ich na Amazonie – mój dotarł po dwóch dniach.

Konfiguracja Logitech Harmony

Swój Logitech Harmony Companion skonfigurowałem tak, że utworzyłem w nim jedną akcję TV, która:

  1. Włącza telewizor i przełącza go na odpowiednie wejście HDMI (akurat tego nie robi, bo na sztywno mam ustawione wejście HDMI, ale gdybym nie miał, to mógłbym to robić).
  2. Włącza amplituner i przełącza go na wejście TV/CBL, do którego podłączony jest Apple TV.
  3. Włącza Apple TV.

Podpowiem jeszcze, że osobno konfigurowałem pilota, którego dostałem w komplecie. Przyciski Volume Up/Down sterują amplitunerem, a całą resztę skonfigurowałem tak, aby sterować Apple TV, dzięki czemu na ławie mogę mieć tylko jednego pilota.

Po co?

Mam bardzo dobry amplituner, który niestety ma już swoje lata, co powoduje, że CEC w nim działa tylko prawidłowo przy wyłączaniu sprzętów. Sam telewizor ma już 10 lat, ale nadal działa lepiej niż dobrze, więc nie ma sensu jego wymiana. Do tego dochodzi jeszcze Apple TV. No i fakt, że każde z tych urządzeń ma swojego pilota. Finalnie sprowadza się to do następującej sytuacji:

  • włączenie Apple TV włącza Apple TV – TV i amplituner milczą
  • wyłączenie Apple TV wyłącza wszystko automatycznie (CEC)

Jak wiecie, mam HomePoda, za pomocą którego steruję głosowo wybranymi sprzętami. Skoro mogę z nim zintegrować Logitecha Harmony i dzięki temu sterować wszystkim głosowo, to musiałem to zrobić.

Przepis

Mój Raspberry Pi jest skonfigurowany zgodnie ze spisem treści powyżej. Ma integrację Xiaomi Air Purifier 2, kamery Rasperberry Pi NOIR, prognozy pogody i jakości powietrza. Od tamtej pory raz go restartowałem i nic nie zmieniałem – cały czas wszystko działa prawidłowo. Aby dodać do niego Logitecha Harmony, należy zrobić co następuje:

  1. Zalogować się na Raspberry Pi poprzez SSH.
  2. Wpisać komendę npm install homebridge-harmonyhub -g – jeśli zwróci błąd, to proszę skorzystać z komendy w punkcie nr 3.
  3. Wpisać komendę sudo chown -R $USER /usr/local && npm install homebridge-harmonyhub -g jeśli ta z punktu nr 2 zwróciła błąd.
  4. Otworzyć plik /var/homebridge/config.json do edycji.

Powyżej widać konfigurację przed dodaniem Logitecha. Do niej, na końcu, należy dopisać:

Finalnie otrzymujemy taką konfigurację:

Teraz pozostaje już tylko zrestartować Homebridge’a komendą sudo systemctl restart homebridge.

Jego restart trwa mniej więcej minutę, więc w trakcie restartu możecie na bieżąco powtarzać komendę sudo systemctl status homebridge, aby sprawdzać czy wszystko ładuje się prawidłowo. Na koniec powinno pojawić się coś w stylu:

Wynik operacji

Wystarczyło teraz uruchomić aplikację Home (pod iOS lub MacOS), a pozycja Living Room TV powinna być natychmiast dostępna.

Nazwa bierze się stąd, że urządzenie jest w pokoju Living Room, a akcja nazywa się TV – Homebridge i HomeKit przejmują tutaj nazwę nadaną podczas konfigurowania Logitech Harmony.

Teraz wystarczy, że powiem „Hey Siri, turn on the TV” albo „Hey Siri, turn on Living Room TV” (lub wiele innych fraz), a wszystkie sprzęty się włączą automatycznie. Można też oczywiście wcisnąć kafelek Living Room TV w aplikacji Home (drugie kliknięcie wyłączy wszystko).



10

Wojtek Pietrusiewicz

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