top of page

Do listy filmów

REST API - Husqvarna

Seria nr.

5000

REST API - Husqvarna

Jak sterować dowolnym urządzeniem przez Internet

Forum

Pomiń opis, przejdź do filmów

Opis

Główna idea

HTTP REST API to technologia pozwlająca komunikować się  z dowolnym urządzeniem za pośrednictwem internetu. Dzięki niej do systemu FIBARO możesz podłączyć takie urządzenia jak lodówka, ekspres do kawy, automatyczny odkurzacz lub zestawy multimedialne Hi-Fi.

Uwaga

Nie wiesz co to jest REST API?

Nie programowałeś jeszcze nigdy zapytania HTTP?

Nie mart się, zacznij od filmu 5002, gdzie pokazuję jak napisać w języku Lua jedno proste zapytanie HTTP typu GET. Zgadnienie to omawiam wykorzystując serwer zwracający informacje o państwach świata, który pozwala na wyszukiwanie wielu użytecznych informacji bez konieczności logowania i konfigurowania połączenia po stronie serwera.

Informacje dodatkowe

Moje zalecenia

Praca z HTTP REST wymaga dużej cierpliwości w zrozumieniu opisu interfejsu API usługodawcy z którym się łączysz, a następnie w sformułowaniu zapytań http i analizowaniu ich odpowiedzi.

  • Nie zapominaj, że HTTP request możesz z powodzeniem przetestować (nawet przed rozpoczęciem pisania kodu w Lua) za pomocą terminala np. przy użyciu metody: "curl -X" GET/POST

  • Pamiętaj także, że centrala HC2 nie wspiera żadnej wersji protokołu TSL, a starszy protokół (który wspiera) - SSL bardzo często zostaje zablokowany przez serwer z którym się łączysz. Jest to spowodowane tym, że protokół SSL nie spełnia dziś wszystkich wymogów bezpieczeństwa i jest zastępowany nowszym protokołem - TLS, który jest wspierany przez nową centralę HC3. W przypadku użycia połączenia wykorzystującego stary protokół SSL, zobaczysz błąd: "Error : sslv3 alert handshake failure" co oznacza, że musisz użyć nowego protokołu TLS przy wykorzystaniu centrali HC3. Jedynym wyjściem dla użytkowników centrali HC2 jest znalezienie  może jeszcze wciąż aktywnego adresu HTTP serwera. Jeśli takiego nie ma, to będziesz musiał zmienić centralę na nowszy model - HC3.

  • Koniecznie do analizy odpowiedzi z serwera wykorzystaj online edytory JSON by zobaczyć jak wygląda zwracana struktura np.  JSON online editor.

O filmach serii 

5000

Poruszane tematy

W serii filmów pokażę jak zbudować od "zera" integrację z zewnętrzym urządzeniem na przykładzie kosiarki Husqvarna

  • zbuduję Quick App i napiszę kod Lua wysyłający zapytania do serwera Husqvarna tak aby było możliwe odczytanie stanu kosiarki i sterowanie nią 

  • pokażę jak należy odpowiednio skonfigurować konto na serwerze Husqvarna aby zewnętrzna aplikacja Quick App mogła korzystać z funkcji kosiarki 

  • omówię także jak czytać dokumentację API dostarczoną przez firmę Husqvarna opisującą zasady komunikacji

Co więcej, aby proces tworzenia zapytań do serwera Husqvarna był zrozumiały, opracowałem graficzny schemat wymiany danych, który narysowałem na podstawie dokumentacji API opisującej szczegóły komunikacji. Schemat wraz z gotowym QuickApp i kodem znajdziesz w załączniku.

Zastosowania

Przedstawione umiejętności pozwolą Ci na:

  • podłączenia się do dowolnego urządzenia IoT innego producenta

  • integracji innych systemów z systemem FIBARO

  • zapoznanie się z zapytaniami HTTP request

  • podniesie komfortu w domu dzięki różnym integracjom umożliwiającym nawet automatyczne  zaparzenie kawy po obudzeniu :-)


Materiały dodatkowe

Do pobrania (kody źródłowe)

Gotowe do zaimportowania urządzenia Quick App, kod Lua i schemat: 

  • wersja pełna do integracji z kosiarką Husqvarna (wg filmu 5001) 

  • wersja szkoleniowa prostej integracji Husqvarna (wg filmów 5003-5007)

  • schemat blokowy komunikacji REST API Husqvarna 

  • kod Lua sceny poszukującej informacje o państwach (wg filmu 5002)

Wymaga aktywnej subskrypcji do portalu

Pojęcia i znaczenia

REST (Representational State Transfer) - to zbiór pewnych zasad ustalonych w świecie IT i pozwalających na wymianę danych pomiędzy klientem (tu centrala FIBARO) a serwerem (usługi oferowane przez producenta innego urządzenia) przy użyciu protokołu HTTP.

Sama centrala HC3 i HC2 też ma wystawiony REST API, co oznacza, że inna aplikacja zewnętrzna lub serwer także może korzystać z  funkcjonalności Twojej centrali FIBARO. 


API (Application Programming Interface) to interfejs, czyli indywidualny dla każdego urządzenia/producenta zakres i składnia pozwalająca na odczytanie pewnych parametrów i wysyłanie poleceń. To właśnie podmiot udostępniający publicznie API danego rozwiązania np. producent ekspresu do kawy, telewizora czy kosiarki jest odpowiedzialny za szczegółowe określenie, w jaki sposób będziemy mogli zdalnie odczytywać pewne parmatery jego urządzenia lub wydawać do niego komendy (np. dla ekspresu do kawy - rozpocząć parzenie kawy, odczytać ilość pozostałej kawy do zmielenia lub sprawdzić jej temperaturę).

Forum

Do listy filmów

Wymaga aktywnej subskrypcji do portalu

Powiązane filmy DIY

Quick App do prognozowania deszczu

Integracja serwisu pogodowego "Open Weather" z Twoim smart home - zatrzymaj podlewanie ogrodu, gdy będzie padać!

Jak na 100% wykorzystać produkcję energii z fotowoltaiki (PV)

Jak wykorzystać wyprodukowaną w domu energię

Detekcja otwartego okna i obniżenie grzania przez Heat Controller

Wykrycie otwartego okna przez Heat Controller i wizualizacja otwartego okna za pomocą wirtualnego Window Sensor - Quick App.
Obniżenie nastawy termostatu przy wyłączonej automatycznej funkcji wykrywania otwartego okna w Heat Controller.

PID - Regulator

Regulator do redukcji kosztów energii elektrycznej, gazu i wody

Integracja REST API dla początkujących

Pomiar poziomu cieczy przez zewnętrze urządzenie IoT

Filmy DIY

Filmy DIY

Film przykładowy tej serii

Wymaga aktywnej subskrypcji do portalu

Zdjęcia powstałe podczas tworzenia serii

bottom of page