Projekt Raspberry Pi – 8 – Wywalamy Airly, bo zabili swoje publiczne API

17/05/2019, 10:40 · · · 27

Niestety, Airly niedawno zamknęło swoje API, o co jest spore zamieszanie. Sam z niego korzystałem w Homebridge’u, aby wyświetlać dane na temat zanieczyszczenia powietrza z kilku czujników rozsianych po Polsce. Czas po nich posprzątać…


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.

Na temat Airly wypowiadał się już Błażej Faliszek, więc nie będę dodawał swoich 3 groszy do tematu…

Przepis na wywalenie Airly

Poniższe kroki oczywiście dotyczą tylko osób, które korzystały z Airly…

  1. Zaloguj się do Raspberry Pi (np. po ssh) i wpisz do Terminala: npm list -g --depth 0. Po chwili powinna pojawić się lista zainstalowanych pluginów.
    /usr/local/lib
    ├── homebridge@0.4.46
    ├── homebridge-airly@1.1.6
    ├── homebridge-camera-rpi@0.0.3
    ├── homebridge-harmonyhub-plugin@0.5.6
    ├── homebridge-mi-airpurifier@0.1.3
    ├── miio@0.15.6
    └── npm@5.10.0
  2. Teraz wpisujemy npm -g uninstall homebridge-airly i czekamy, aż plugin się odinstaluje.
  3. Na deser zostaje edycja pliku /var/homebridge/config.json. Otwieramy go za pomocą komendy nano /var/homebridge/config.json. Jeśli korzystacie z Airly, to w środku znajdziecie taki fragment…
    (...)
        "description": "HomePi Homebridge.",
        "accessories": [{
                "accessory": "Air",
                "apikey": "6528e0b39bd548699b50a580f3ed49f9",
                "latitude": "52.198211",
                "longitude": "21.046333",
                "name": "Mokotów"
            },
            {
                "accessory": "Air",
                "apikey": "6528e0b39bd548699b50a580f3ed49f9",
                "latitude": "52.268313",
                "longitude": "21.297784",
                "name": "Okuniew"
            }
        ],
        "platforms": [{
    (...)

    Musicie z wyedytować akcesorium Air z tej listy. Po jej wykasowaniu, ten fragment u mnie wygląda tak…

    (...)
        "description": "HomePi Homebridge.",
        "platforms": [{
    (...)

    Jak widzicie, zniknęło wszystko od "accessories" (...) do ],. Jeśli macie tam jakieś inne akcesoria, to tylko wywalcie poszczególne pozycje z tej sekcji, a resztę zostawcie bez zmian.

  4. Po zapisaniu poprawionego config.json za pomocą komendy ⌃T, którą potem zatwierdzamy Y, pozostał jeszcze do zrobienia restart Homebridge’a.
  5. Wpisujemy do Terminala komendę: sudo systemctl restart homebridge.
  6. Po jej wpisaniu możecie opcjonalnie wpisać jeszcze journalctl -f -u homebridge, która będzie wyświetlała status restartowania się Homebridge’a. Jak się wszystko załaduje, to wystarczy wcisnąć ⌃C, aby wyjść.

Smacznego!



27

Wojtek Pietrusiewicz

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