Integracje IP

Z Ampio Smart Home
Skocz do: nawigacja, szukaj

OpenHAB[edytuj]

OpenHAB jest otwartą platformą automatyki domowej umożliwiającą sterowanie inteligentnym domem za pomocą przejrzystych interfejsów użytkownika.
Aby rozpocząć należy pobrać obraz tutaj,
a następnie wgrać go na kartę SD. Instrukcja wgrywania obrazu dostępna jest w Strefie Instalatora Ampio. Gdy obraz jest już wgrany na kartę, należy przenieść ją z powrotem do swojego serwera. Następnie należy połączyć się przez SSH za pomocą WinSCP, PuTTY, FileZilla lub innego programu tego typu. Do połączenia używamy portu 2022.

login: root
hasło: ampio

Items
Obsługa elementów automatyki odbywa się poprzez itemy. Plik o rozszerzeniu .items zawiera informacje o typie i nazwie urządzenia, a także ścieżkę pozwalająca na komunikację OpenHAB z MQTT, za pośrednictwem którego dane transportowane są w obu kierunkach miedzy urządzeniami i panelem. Itemy dodawać można za pomocą aplikacji lub ręcznie. Aplikacja generująca itemy dostępna jest w konfiguratorze Ampio SmartHome.
Tworzenie plików .items rozpoczynamy od pobrania listy urządzeń dostępnych w sieci.

OH1.png

Aby pobrać listę urządzeń, w zakładce Edycja wybieramy opcję Pobierz listy nazw z wszystkich urządzeń.

OH2.png

Przebieg tego procesu możemy obserwować w prawej dolnej części ekranu.

OH3.png

Gdy lista jest już pobrana, możemy uruchomić generator itemów dostępny w zakładce Narzędzia.

OH4.png

W generatorze widzimy listę urządzeń oraz ich typy, opisy w aplikacji, a także tematy MQTT.

OH5.png

W celu zakończenia procesu, wyszukujemy nasz serwer, a następnie wysyłamy do niego utworzone itemy.

OH6.png

Aby skorzystać z opcji ręcznego tworzenia plików .items należy utworzyć plik o rozszerzeniu
.items w folderze /etc/openhab2/items Zawartość pliku wygląda następująco:

OH7.png

typy wyjść: o-wyjścia, f-flagi
typy danych: i-wejścia, o-wyjścia, f- flagi, t-temperatury, a-wartości analogowe

Typy itemów:

• Switch – ON/OFF (np. zarówka)
• Dimmer – ściemniacz, ON/OFF/0-100 (np. LED)
• Color – ON/OFF wybór koloru (np. listwa rgbw)
• Contact – OPEN/CLOSED (np. kontaktron)
• Number – wartość liczbowa (np. temperatura)
• Rollershutter – UP/DOWN/STOP (np. rolety)
• String – tekst

Dokładna dokumentacja dostępna jest na stronie
https://www.openhab.org/docs/concepts/items.html

Sitemap
Kiedy itemy obsługujące urządzenia są już przygotowane, możemy umieścić je w aplikacji mobilnej OpenHAB, którą pobrać można ze sklepu. Dokładnie taka sama zawartość dostępna jest z poziomu przeglądarki pod adresem
adres serwera:8080/basicui/app
Zawartość aplikacji mobilnej tworzymy w pliku .sitemap utworzonym w katalogu
/etc/openhab2/sitemaps
Zawartość pliku wygląda następująco:

OH8.png

Basic UI prezentuje się tak:

OH9.png

Te same elementy automatycznie pojawiają się również w aplikacji mobilnej OpenHAB.
Przyjrzyjmy się poszczególnym elementom sitemapy.

OH10.png

W pierwszej linijce deklarujemy typ sitemap, następnie nadajemy jej nazwę (test), oraz etykietę, czyli napis będący widoczny w nagłówku aplikacji. Cała zawartość strony zawarta jest w klamrach.

OH11.png

Itemy możemy pogrupować w ramki. Używamy w tym celu typu Frame, a zawartość ramki umieszczamy również w klamrach. W przypadku ramek, również możemy nadać etykietę(label).

OH12.png

Wewnątrz ramek umieszczamy stworzone wcześniej itemy. Określamy typ, następnie przypisujemy item, opcjonalnie nadajemy mu ikonę, etykietę.

Dostępne typy itemów:

• Chart
• Colorpicker
• Default
• Frame
• Group
• Image
• Selection
• Setpoint
• Slider
• Switch
• Text
• Video
• Webview

Jak widać, typy obsługiwane przez sitemap różnią się nieco od typów itemów. Warto zwrócić uwagę na typ Default. Za pomocą tej funkcji, typ itemu w sitemapie zostanie automatycznie dopasowany do odpowiadającemu mu typowi w pliku .items, co znacznie ułatwi tworzenie aplikacji

OH13.png

Przydatnymi funkcjami w tworzeniu sitemapy są mappings oraz minValue, maxValue i step.
Za pomocą mappings możemy przypisać dowolny tekst dla stanów obiektu sterowanego

OH14.png

W ten sposób otrzymujemy:

OH15.png

W przypadku na przykład termostatu (typ Setpoint), gdy wartość liczbowa ustawiana jest z panelu, niezbędne będą funkcje ograniczające zakres danej wartości.

OH16.png

W ten sposób w aplikacji otrzymujemy pole umożliwiające ustawienie termostatu w zakresie od 15 do 35 stopni Celsjusza z dokładnością do 0.5 °C

OH17.png

Więcej funkcji ułatwiających tworzenie aplikacji znajduje się w dokumentacji OpenHAB.
Dokumentacja dostępna jest na stronie:
https://www.openhab.org/docs/configuration/sitemaps.html#concepts

HABpanel
Jest to panel dostępny z poziomu przeglądarki. W przeciwieństwie do Basic UI modyfikowanego w konsoli za pomocą pliku .sitemap, HABpanel modyfikuje się wyłącznie w przeglądarce, nie jest zależny od sitemapy. Tworzenie przejrzystego panelu jest zdecydowanie prostsze niż w przypadku Basic UI, polega na układaniu kafelków, dopasowaniu ich wielkości oraz przypisaniu istniejącego już itemu z listy. Co więcej, istnieje możliwość zapisania wielu konfiguracji, z których każda może być używana niezależnie na różnych urządzeniach.
Jak zacząć?
Po wpisaniu w przeglądarce adresu serwera otrzymujemy listę dostępnych elementów. Wybieramy z nich HABpanel

OH18.png

Po pierwszym otworzeniu, w prawym górnym rogu widzimy Ustawienia.

OH19.png

W Ustawieniach mamy do wyboru dwie opcje: utworzenie nowego panelu lub wgranie stworzonej już konfiguracji z serwera

OH20.png

Po wyborze Ustawienia panelu Otrzymamy listę konfiguracji zapisanych na serwerze.

OH21.png

Teraz jednak zajmiemy się utworzeniem panelu od początku.
Po wpisaniu i zatwierdzeniu nazwy Nowego Panelu otrzymujemy opcje pozwalające na dostosowanie wielkości kafelków do naszych oczekiwań

OH22.png

Dla każdego kafelka mamy możliwość ustawienia nazwy, ikony, tła oraz koloru tekstu.

OH23.png

Po wejściu w utworzony panel, modyfikujemy jego zawartość poprzez widgety. Wybieramy interesujący nas typ, a następnie umieszczamy go w odpowiednim miejscu w panelu.

OH24.png

Powstały w ten sposób kafelek możemy dowolnie przemieszczać i zmieniać jego rozmiar

OH25.png OH26.png

Następnie ustawiamy parametry widgetu.

OH27.png

Element openHAB wybieramy z listy itemów. Na liście znajdują się wszystkie poprawnie skonfigurowane pliki .items, które mogą być przypisane do widgetu wybranego typu.
Jak w przypadku Nowego Panelu, tutaj również mamy możliwość wyboru ikony oraz tła.

OH28.png OH29.png

W Ustawieniach Panelu mamy dostęp do ustawień takich jak nazwa, motyw, tło itp.

OH30.png

Gotową konfigurację zapisujemy. Możemy teraz wczytać ją w jakiejkolwiek innej przeglądarce.

OH31.png

Node-Red[edytuj]

Jest to platforma służąca do sterowania urządzeniami automatyki domowej (nie tylko Ampio). Opiera się na dowolnej liczbie Flow – kart, na których graficznie tworzymy programy łączące elementy automatyki domowej za pomocą bloczków różnego typu.
Node-Red jest dostępny w przeglądarce pod adresem serwera z portem 1880.

Obsługa Philips Hue za pomocą Node-Red

Lista dostępnych bloczków widoczna jest po lewej stronie ekranu.

NR1n.png

Po wgraniu obrazu karty, bloczki do obsługi Philips Hue są widoczne na liście elementów. W przypadku, kiedy chcemy zainstalować dodatek ręcznie,rozwijamy listę w prawym górnym rogu ekranu.

NR2.png

Wybieramy Manage Palette, a następnie zakładkę Install. Wpisujemy nazwę interesującego nas dodatku, a następnie instalujemy.

NR3.png NR4.png

Po instalacji dodatku należy wykonać reboot serwera. Teraz możemy przejść do pisania programu graficznego.
Programujemy poprzez przeciąganie bloczków na kartę oraz łączenie ich ze sobą. Ponieważ sterowanie odbywa się poprzez MQTT, pierwszym potrzebnym bloczkiem jest wejście mqtt.

NR5.png

Po dwukrotnym kliknięciu na blok mqtt, pojawi się okno ustawień.

NR6.png

Serwer dodajemy za pomocą przycisku obok pola Server. W oknie dodawania wpisujemy (localhost lub cały adres serwera), port pozostaje bez zmian. Opcjonalnie nadajemy brokerowi nazwę w polu Name.

NR7.png

Po dodaniu serwera pole Topic uzupełniamy tematem

ampio/from/*mac*/change/i/m,

gdzie „from” oznacza kierunek danych, „change” zbocze, a „i” jest określeniem typu wejścia.

NR8.png

Poprawne skonfigurowanie bloczka skutkuje pojawieniem się pod nim napisu connected.
Aby mieć możliwość śledzenia treści wychodzącej z bloczka mqtt, należy połączyć go z bloczkiem debug.

NR9.png

Po jednokrotnym kliknięciu bloku debug, z prawej strony ekranu wyświetlą się informacje o jego zawartości. Informacje wysyłane przez blog mqtt, do którego podpięliśmy blok debug widoczne są w zakładce Debug messages.

NR10.png

Następnym krokiem jest połączenie mqtt z blokiem switch tworzącym instrukcję warunkową:

NR11.png NR12.png

Powyższą instrukcję zdefiniowaną w ustawieniach bloku switch możemy rozumieć następująco:

Jeżeli payload jest równy 0,0,1, przejdź do kroku 1. Jeżeli payload jest równy 0,0,2, przejdź do kroku 2

Po ustawieniu warunków, należy zdefiniować zawartość kroków. Posłużą do tego bloki change. Do każdego warunku dołączamy osobny blok change i w jego ustawieniach definiujemy instrukcje.

NR13.png

NR14.png NR15.png

Powyższe instrukcje możemy rozumieć jako:

Krok 1: ustaw payload na ”on”:false ( {} oznacza typ JSON) Krok 2: ustaw payload na ”on”:true ( {} oznacza typ JSON)

Teraz dołączamy blok Hue Light

NR16n.png

W ustawieniach bloku wyszukujemy mostek Philips. Robimy to klikając przycisk obok pola Bridge

NR17.png

Po jego przyciśnięciu, pojawi się menu dodawania mostka. Adres IP mostka jest wyszukiwany automatycznie po kliknięciu lupy koło pola z adresem.

NR18n.png

Aby wypełnić pole API Key, klikamy przycisk obok pola oraz wykonujemy polecenie wyświetlone w oknie, które się pojawiło (przyciśnięcie przycisku mostka w ciągu 20 sekund)

NR18.png

Po dodaniu zdefiniowanego mostka, po kliknięciu przycisku przy polu Light mamy dostęp do wszystkich żarówek, które są z nim połączone. Interesującą nas żarówkę wybieramy z listy.

NR19.png

Pod poprawnie zdefiniowanym bloczkiem Hue Light tak jak w przypadku mqtt, pojawi się podpis connected.
Aby sterować dodanym oświetleniem Philips Hue z poziomu Node-Red, do naszego Flow dodajemy dwa bloczki inject, za których pomocą będziemy zmieniać stan oświetlenia.

NR20.png

Za ich pomocą ustawiamy zawartość typu JSON tak, jak w przypadku Kroku 1 i Kroku 2 (change). Klikając kwadraty po lewej stronie tych bloczków, sterujemy oświetleniem.

NR21.png NR22.png

Gdy nasz program jest gotowy, klikamy przycisk Deploy w prawym górnym rogu ekranu.

NR23.png

Od tego momentu program działa w tle, nawet po zamknięciu przeglądarki z Node-Red.

Node Ampio[edytuj]

Bloczki Ampio dają możliwość prostego i intuicyjnego tworzenia warunków w Node-Red.

AN1n.png

Samodzielna instalacja dodatku Ampio odbywa się poprzez konsolę. Najpierw łączymy się z serwerem za pomocą programu PuTTY lub innego programu tego typu.

Login: root
Hasło: ampio

Następnie przechodzimy do folderu ~/.node-red.
Teraz wpisujemy komendę sudo npm install node-red-contrib-ampio i czekamy na zainstalowanie dodatku.
Po instalacji wykonujemy reboot serwera.

Blok Ampio IN

Zawiera następujące pola

AN2n.png

Value Type – służy do wyboru typu wartości, jaką otrzymujemy z urządzenia. Wybieramy z listy spośród typów:

VT1.png
Analog value-wartości analogowe
RGB color– kolor oświetlenia RGB
Digital input-wejście cyfrowe
Digital in (rising edge) - zbocze narastające
Digital output– wyjście cyfrowe
Flag – flaga
Temperature-wartość temperatury



Server address – w tym polu domyślnie znajduje się „localhost. Jeśli NodeRed znajduje się na MSERV (jak w większości przypadków), pozostawiamy to pole niezmienione. Jeżeli natomiast NodeRed zlokalizowany jest poza MSERV, należy wpisać pełny adres serwera.

Target device – w tym polu wybieramy urządzenie. Łatwe wyszukanie urządzeń powiązanych z serwerem umożliwia przycisk lupy.

S1.png

W zależności od wybranego wcześniej typu wartości, na liście pokaże się lista urządzeń posiadających wyjście danego typu.

I/O ID – w tym polu definiujemy numer wyjścia wybranego urządzenia;

Name -w tym polu opcjonalnie możemy nadać nazwę;

Pod prawidłowo skonfigurowanym blokiem Ampio IN pojawi się napis connected.

AN3.png

Blok Ampio OUT
AN4n.png

Cmd type – pole służące do wyboru typu komendy z listy spośród trzech typów:

Standard – standardowa komenda
Raw CAN broadcast - służy do obsługi danych RAW zawartych w osobnej dokumentacji sieci CAN
Flag – służy do obsługi flag
W zależności od typu (Standard, Raw CAN broadcast lub Flag), pola w bloczku różnią się.

W typie Standard oraz Flag posiadamy następujące pola, które wypełniamy je tak jak w przypadku bloku wejściowego.

AN4n.png

W przypadku typu Raw CAN broadcast posiadamy takie same pola z wyjątkiem numeru wyjścia lub wejścia.

Blok Ampio LCD

Dzięki niemu możemy z poziomu Node Red wyświetlić informacje na panelu dotykowym z ekranem. Blok posiada następujące pola:
LCD1.png
LCD font służy do wyboru czcionki spośród Standard (10x16), Big (20x32) oraz Icon (40x40). Ostatni typ dostępny jest, jeżeli do panelu wgrane są ikony.
Do wskazania lokalizacji tekstu na panelu służ pola LCD X oraz LCD Y.

AN7.png

Punktem początkowym jest lewy górny róg ekranu. Jego współrzędne to LCD X=00 i LCD Y=00. Wraz ze zwiększaniem wartości LCD X, tekst będzie coraz bliżej prawej krawędzi. Zwiększenie wartości LCD Y skutkuje obniżeniem tekstu.
Punkt określony przez wartości LCD X i LCD Y zaznaczony jest na obrazku obok. Wymiary dotyczą rozmiaru Standard.

AN8.png

LCD text - pozwala na zdefiniowania koloru tekstu (hex)
LCD bg color – wpisujemy tu kolor tła również w zapisie heksadecymalnym
Tekst statyczny do wyświetlacza dostarczamy za pomocą bloku Inject. Wybieramy typ String, a następnie w polu payload wpisujemy tekst, który ma pojawid się na ekranie.
Jeżeli chcemy wyświetlić na ekranie dane z modułów (np. temperaturę), informacje doprowadzamy do wyświetlacza za pomocą bloku Ampio IN. Wyjście Ampio IN możemy zmodyfikować za pomocą bloku function
(UWAGA! Maksymalna długość tekstu to 11 znaków, po przekroczeniu tej wartości, wpisany tekst zostanie ucięty.)

Przykład:

E1.png

Zawartośd bloku Ampio IN:

E2.png

Zawartośd bloku function:

E3.png

Zawartośd bloku Ampio LCD:

E4.png

W ten sposób otrzymujemy na środku wyświetlacza czarny napis „ TEMP: *wartośd temperatury*”na białym tle.

Blok Ampio MULTISENS

MS1.png

Value type – wybieramy tu interesującą nas wielkośd fizyczną mierzoną przez sensor spośród:

MS2.png

Humidity – wilgotność
Atpospheric pressure – ciśnienie atmosferyczne
Loudness – głośność
Brightness – jasność
Indoor Air Quality – jakość powietrza
Atmospheric pressure(relative) – względne ciśnienie atmosferyczne
Pozostałe pola wypełniamy tak, jak w przypadku Ampio IN.

Blok Ampio Events

Blok służy do wysyłania zdarzeń

EV1.png

Grafana[edytuj]

Node-Red

Na początku wrzucamy dane do bazy za pomocą Node-Red.
W bloczku mqtt wpisujemy topic, za pomocą którego pobierzemy interesujące nas wartości.

G1.png G2.png

Serwer dodajemy za pomocą przycisku obok pola Server. W oknie dodawania wpisujemy localhost, a port pozostaje bez zmian. Opcjonalnie nadajemy brokerowi nazwę w polu Name.

G3.png

Po dodaniu serwera pole Topic wypełniamy tak, jak poniżej.

G4.png

Na wyjściu bloku mqtt otrzymujemy wartość typu string. Typ ten nie pozwala na utworzenie wykresu, więc potrzebna jest konwersja danych wyjściowych do wartości liczbowych.

G5.png

W tym celu blok mqtt łączymy bloczkiem function o następującej zawartości:

G6.png

Ma on za zadanie przekształcić podawane przez serwer wartości typu string w wartość liczbową, która może być zapisana w bazie danych.
Po przygotowaniu danych, wrzucamy je do bazy za pośrednictwem bloku influxdb. Ponieważ bloczek ten nie znajduje się na podstawowej liście, należy zainstalować dodatek.

G7.png

Po wybraniu opcji Manage palette w zakładce Install wyszukujemy dodatek influxdb, a następnie klikamy przycisk Install przy interesującym nas dodatku.

G8.png G9.png

Po instalacji należy wykonad reboot serwera.
Z listy wybieramy blok influxdb, a następnie dodajemy serwer.

G10.png G11.png

Po kliknięciu przycisku obok pola Server pojawia się okno, w którym definiujemy pola Host oraz Port jak poniżej, a następnie w polu Database wpisujemy nawę naszej bazy danych.

[[Plik:G12.png]

Po zapisaniu zmian podpinamy bloczek do bloku function

G13.png

Możemy korzystać z danych, na podstawie których tworzymy wykresy.

Grafana

Wykresy tworzymy wykorzystując narzędzie Grafana dostępne pod adresem serwera z portem 3000.
Logujemy się za pomoca danych

Login: admin Hasło: admin

G14.png

Po zalogowaniu możemy utworzyć bazę danych klikając w przycisk pokazany poniżej:

G15.png

Wybieramy typ bazy – w naszym przypadku jest to InfluxDB.

G16.png

Następnie nadajemy nazwę bazie danych oraz z listy wybieramy adres URL w zakładce http.

G17.png

W zakładce InfluxDB Details wpisujemy nazwę bazy danych zadeklarowaną w Node-Red.

G18.png

Teraz z paska bocznego wybieramy opcję Create Dashboard. Otrzymujemy możliwość tworzenia list, tabeli itd. Interesuje nas wykres, zatem wybieramy typ Graph.

G19.png

Po kliknięciu pola Panel Title możemy edytować wykres.

G20.png

W polu Data Source wybieramy z listy utworzoną wcześniej bazę danych.

G21.png

Następnie w polu select measurement wyszukujemy wielkość, którą chcemy widzieć na wykresie.

G22.png

Ponieważ dane nie są dostarczane w sposób ciągły, wybieramy opcję wypełnienia previous, która estymuje pobrane wartości w celu otrzymania gładkiego wykresu.

G23.png

Możemy nakładać na siebie wykresy wielu wielkości za pomocą przycisku Add Query.

G24.png

Wielkości deklarujemy tak jak wcześniej.

G25.png

Po prawej stronie możemy zarządzać widocznością lub usunąć niepotrzebny wykres.

G26.png

Przy poprawnie wpisanych danych otrzymamy wykres. Całość powinna wyglądać następująco:

G27.png

W prawym górnym rogu możemy ustalić czas, jaki ma być widoczny na poziomej osi wykresu.

G28.png

Gotowy wykres zapisujemy za pomocą ikonki Save dashboard lub skrótu Ctrl+S.

G29.png

Od tej pory wykres widoczny jest w utworzonym dashboardzie, a dane aktualizują się automatycznie.

Alexa[edytuj]

Pierwszym krokiem integracji systemu Ampio z Alexą jest uzyskanie dostępu do chmury OpenHAB dostępnej pod adresem:
https://myopenhab.org
Następnie należy utworzyć konto.

A1.png

Do rejestracji potrzebne są dwa pliki, które znajdziemy w następujących lokalizacjach na serwerze:

OpenHAB UUID: /var/lib/openhab2/uuid

OpenHAB Secret: /var/lib/openhab2/openhabcloud/secret

Dostęp do tych plików możliwy jest poprzez program taki jak PuTTY, FileZilla, WinSCP itp. Kopiujemy treść plików i wklejamy w polach rejestracji i tworzymy konto.
Po zalogowaniu w zakładce Items widzimy wszytskie aktywne Itemy.

A2.png

Jeżeli nie wszystkie itemy umieszczone na serwerze są widoczne, po zarejestrowaniu chmury należy ich użyć np. poprzez włączenie I wyłączenie światła. Wówczas Item powinien pojawić się na liście.

A3.png

Ważne jest, żeby podczas procesu integracji OpenHABa z Alexą, widoczny był status Online.

A4.png

Następnym krokiem jest zalogowanie się na konto amazon pod adresem:

https://alexa.amazon.com/spa/index.htmll

Z listy po lewej stronie ekranu wybieramy opcję Skills.

A5.png

Teraz korzystając z pola wyszukiwania znajdujemy nadrzędzie OpenHAB.

A6.png

Wśród wyników wyszukiwania klikamy pierwszą pozycję.

A7.png

Gdy pojawi się nowe okno, dodajemy openHABa za pomocą przycisku ENABLE.

A8.png

W tym momencie zostajemy przekierowani na stronę chmury OpenHAB. Zezwalamy na dostęp.

A9.png

Po poprawnym połączeniu, na stronie Alexy zobaczymy poniższy komunikat:

A10.png

Po powrocie na stronę Amazon Alexa możemy wyszukać urządzenia z openHABa

A11.png

Dostępne urządzenia zostaną wykryte automatycznie.

A12.png

Po wyszukiwaniu pojawi się lista powiązanych urządzeń. Możliwe jest tez ponowne wyszukiwanie lub usunięcie powiązanych elementów.

A13.png

Alexa obsługuje teraz powiązane urządzenia widoczne na liście.

OpenWeatherMap[edytuj]

Dzięki temu poradnikowi będziemy mogli z wykorzystaniem Node-Red wyświetlać interesujące nas parametry pogody (np. temperatura, wilgotność, opady, prędkość wiatru) z dowolnej lokalizacji oraz z kilkudniowym wyprzedzeniem.

Do skorzystania z bloczków OpenWether potrzebny jest klucz API. Aby go uzyskać należy założyć bezpłatne konto na:
https://openweathermap.org/appid
Po założeniu konta w tym serwisie w menu API możemy wygenerować nasz unikatowy klucz. Do naszych celów wystarczy wersja darmowa, której podstawowym ograniczeniem jest maksymalnie 60 zapytań na minutę.

W Node-Red za pomocą opcji „Manage palette” instalujemy następujący pakiet:

node-red-node-openweathermap

Po instalacji wykonujemy reboot serwera.

Pełną dokumentację modułu openweathermap znajdziemy stronie:
https://flows.nodered.org/node/node-red-node-openweathermap

Wykorzystanie bloku openweathermap

Z listy wybieramy interesujący nas bloczek openweathermap

W1.png

Po dwukrotnym kliknięciu bloczku otrzymujemy okno edycji. Wpisujemy nasz unikalny kod API (pamiętajmy, że klucz będzie aktywny po upływie parudziesięciu minut od jego wygenerowania). Uzupełniamy też inne pola w zależności od potrzeb.

W2.png

Do bloczka openweathermap podłączamy blok debugg.

W3.png

W zakładce debugg messages obserwujemy informacje wychodzącą z bloku openweathermap. Blok ten daje nam wiele informacji na temat pogody takie jak między innymi temperatura w stopniach Celsjusza i Kelwina(tempc i tempk), wilgotność (humidity), ciśnienie (pressure), prędkość wiatru (windspeed) i krótki opis pogody (description).

W4.png

Aby z bloku otrzymać jedną interesującą nas wartość (na przykład temperaturę) należy dołączyć blok function.

W5.png

Zawartość tego bloku prezentuje się następująco:

W6.png

W ten sposób możemy wybrać dowolny interesujący nas parametr pogodowy i wyświetlić go na wyświetlaczu LCD lub wykorzystać do stworzenia wykresu Grafana.

Wyświetlanie danych na wyświetlaczu LCD

Do tej operacji przydatny będzie blok Ampio LCD. Aby przygotować informację wychodzącą z bloku openweathermap, należy połączyć go z blokiem function o następującej zawartości:

OW1.png

W zależności od potrzebnej wielkości, dostosowujemy zawartość bloku zmieniając napis, element payloadu oraz jednostkę. Zawsze pamiętamy o tym, żeby nie przekroczyć 11 znaków

Wychodzącą informację możemy obserwować za pomocą bloku debugg. W zakładce Debugg messages widzimy zarówno jej treść, jak i ilość znaków.

OW2.png

Aby przekazać informację do wyświetlacza, należy dołączyć blok Ampio LCD.

OW3.png

Konfigurujemy go w sposób opisany w dokumentacji bloków Ampio

OW4.png

Tworzenie wykresów

Łączymy blok openweathermap z blokiem function o następującej zawartości:

OW5.png

OW6.png

Teraz możemy dołączyć blok InfluxDB (blok opisany w dokumentacji Grafana) i wypełniamy tak, jak poniżej:

OW7.png OW8.png

Po takim przygotowaniu bazy danych, przechodzimy do narzędzia Grafana dostępnego pod adresem serwera z portem 3000.

Logujemy się za pomocą danych:

Login: admin
Hasło: admin

Przechodzimy do zakładki Create Dashboard

OW9.png

Po wybraniu typu Graph, wypełniamy pola w następujący sposób:

OW10.png

W ten sposób otrzymujemy wykres wybranej wielkości. Możemy zmienić czas na osi poziomej, zmienić tytuł wykresu oraz zapisać dashboard.

OW11.png