Jakość powietrza oraz warunki pogodowe w openHAB

Jeśli chcesz posiadać informacje o jakości powietrza w Twojej okolicy, ale nie masz jeszcze odpowiednich czujników lub chcesz porównywać dane z własnych czujników z tymi dostępnymi w Internecie, to ten tutorial może Ci pomóc.

Dane o jakości powietrza będą odczytywane z popularnego w Polsce serwisu Airly.

Odczytywane będą:

  • Index jakości powietrza: CAQI
  • Poziom zanieczyszczenia powietrza
  • Opis poziomu zanieczyszczenia powietrza
  • Poziom pyłków zawieszonych PM1, PM2.5, PM10
  • Poziom zanieczyszczenia w skali opracowanej przez Międzynarodową Organizację Zdrowia (WHO)
  • Temperaturę, Ciśnienie, Wilgotność

W Airly mamy 3 możliwości odczytów danych

  • odczyt z najbliższego czujnika znajdującego się w pobliżu naszej lokalizacji
  • odczyt uśredniony z kilku czujników w okolicy na podstawie naszej odległości
  • odczyt danych z konkretnego czujnika

W tym opisie przedstawię jak odczytać dane z konkretnego czujnika.

Co będziemy robić?

  1. Zakładamy konto w serwisie Airly, aby otrzymać unikalny klucz, który umożliwia odczyt danych
  2. Określamy naszą lokalizację: szerokość i długość geograficzną
  3. Wyszukujemy najbliższy dla naszej lokalizacji czujnik Airly
  4. Instalujemy i konfigurujemy w openHab odpowiednie dodatki
  5. Dodajemy elementy (Items) w openHab
  6. Dodajemy plik z transformacjami
  7. Konfigurujemy SiteMap’ę

Na koniec otrzymamy takie coś:

No to zaczynamy

Zakładamy konto w serwisie Airly, aby otrzymać unikalny klucz, który umożliwia odczyt danych
  • Wchodzimy na stronę Airly i rejestrujemy własne konto
  • Po zarejestrowaniu konta oraz zalogowaniu się do serwisu klucz API jest już dla nas dostępny. Znajduje się on po prawej stronie w żółtej ramce. Klucz pokaże się, gdy klikniemy ten wyświetlony tekst

Airly API Key

  • Klucz będzie wykorzystywany w dalszej części. Będę go nazywał AIRLY_API_KEY
Określamy naszą lokalizację: szerokość i długość geograficzna
  • Korzystamy np. z serwisu https://www.wspolrzedne-gps.pl/
  • Wprowadzamy adres w formacie: ulica nr domu, kod pocztowy, miejscowość, kraj

  • Po wciśnięciu przycisku Uzyskaj współrzędne GPS adres zostanie odszukany, a współrzędne geograficzne zostaną pokazane na mapie. Możemy przesunąć punkt na mapie, aby jeszcze doprecyzować nasz adres, jeśli będzie taka potrzeba
  • Zapisujemy współrzędne do wykorzystania w kolejnych krokach
    • LAT  – jako szerokość geograficzna,
    • LNG – długość geograficzna
Wyszukujemy najbliższy dla naszej lokalizacji czujnik Airly
  • Mając już AIRLY_API_KEY, LAT, LNG jesteśmy w stanie wyszukać najbliższy czujnik Airly
  • Konstruujemy adres URL, który wkleimy do przeglądarki

Format URL jest następujący:

  • W LAT, LNG, AIRLY_API_KEY wpisujemy odpowiednio nasze uzyskane wczesniej szerokość / długość geograficzną oraz klucz Airly
  • Czerwone możemy w zależności od potrzeb zmodyfikować
    • DistanceKM – maksymalna odległość czujników od naszej lokalizacji w kilometrach – tutaj 10
    • maxResult – ile czujników ma odszukać w ramach naszej lokalizacji i odległości – tutaj 3 czujniki
  • Po spreparowaniu adresu URL wklejamy go do przeglądarki
  • Powinniśmy uzyskać listę wszystkich dostępnych czujników w ramach naszej lokalizacji oraz wprowadzonej odległości

  • W niebieskiej ramce opisany jest każdy z czujników. To co musimy zrobić to wybrać jeden z nich patrząc po adresach.
  • Po wybraniu jednego z nich zapisujemy jego id – dalej bedę używał SENSOR_ID
Instalujemy i konfigurujemy w openHab odpowiednie dodatki
  • W openHab instalujemy Binding: HTTP Binding i Transformacje: JSONPath oraz MAP Transformation
  • Ja wykorzystuję do tego PaperUI
  • Instalacja: HTTP Binding

  • Instalacja JSONPath oraz MAP Transformation

  • Konfigurujemy teraz HTTP Binding
    • Przygotowujemy URL, format

  • Żeby sprawdzić, czy zrobiliśmy adres poprawnie, wklejamy go do przeglądarki. Jeśli jest OK powinniśmy otrzymać coś takiego

  • Konstruujemy dwa parametry, które wpiszemy do konfiguracji HTTP Binding

airly.updateInterval określa jak często mają być odczytywane dane z czujnika. Wartość jest w milisekundach czyli 120000 – oznacza 2min. Chesz raz na 5min wpisz: 300000

Z sewisu Airly można

  • odczytać maksymalnie 1000 razy dziennie dane z czujników – więc odczyty co 2min będą zupełnie okay.
  • odczyty to średnia wartość z ostatniej godziny.

Parametry: airly.url, airly.updateInterval wpisujemy do pliku konfiguracyjnego http.cfg znajdującego się w katalogu

/etc/openhab2/services

lub z wykorzystaniem PaperUI

  • wchodzimy w konfigurację HTTP Binding

  • uruchamiamy konfigurację w trybie eksperta

  • dodajmy parametry konfiguracyjne
  • dodajemy 2 parametry airly.url oraz airly.updateInterval i zapisujemy wciskając przycisk Save
Dodajemy elementy (Items) w openHab
  • Dodajemy plik airly.items w katalogu /etc/openhab2/items
  • W pliku mamy

Dodajemy plik z transformacjami
  • w katalogu /etc/opnahb2/transform dodajemy plik o nazwie airly.map z następującą treścią:

Konfigurujemy SiteMap’ę
  • W istniejącym pliku SiteMap dodajemy (lub dodajemy nowy)

I to powinno być już wszystko.

Jeśli coś będzie niejasne do dajcie znać – dopiszę, poprawię.

Tutaj do ściągnięcia są pliki openHab – dla leniwych 😉

Uwaga: w instrukcji nie opisuję, jak zapisywać dane do bazy danych w OH2 na potrzeby rysowania wykresów. Jest wiele różnych mechanizmów. Zapraszam na Forum Smart’ny Dom jeśli nie będziesz wiedzieć jak.

 

Udostępnij
  • 4
    Shares

adrian

Autor blog'a Smartny Dom

3
Dodaj komentarz

Proszę Zaloguj się aby komentować
3 Wątek skomentowany
0 Odpowiedzi w wątku
1 Obserwujących
 
Komentarz z największa reakcją
Gorący wątek
2 Liczba komentowanych autorów
Flaooisom Ostatnio komentowani autorzy
  Subskrybuj  
najnowszy najstarszy oceniany
Powiadom o
isom
Użytkownik
isom

Zainspirowałeś mnie @adrian , musze to ogarnąć w Domoticzu 🙂 

Flaoo
Użytkownik
Flaoo

Wyświetlam dane w OH z Airly już od zeszłego roku. Trochę w inny sposób, bo przez skrypty PHP. Teraz mając swój czujnik pyłków porównuję dane z Airly(450m do czujnika) i bardzo ładnie się to pokrywa. W sumie dlaczego miało by to się nie pokrywać, skoro w Airly używają tak samo chińskich sensorów jak ja. Nie patrzę na te cyferki ze strachem w oczach czy telefonem w ręce. Daje to ogólny zarys tego czym oddychamy i czy opłaca się w danym momencie wietrzyć dom, żeby potem wszystko nie śmierdziało.

trackback
Jakość powietrza oraz warunki pogodowe w Domoticz - Smart'ny Dom

[…] wpisem naszego kolegi @adriana, postanowiłem nie odkładać tematu na później tylko z marszu wcielić […]