HTTP API
HTTP API umożliwia sterowanie urządzeniem wywołując odpowiednio sparametryzowane żądania / adresy url po protokole HTTP bezpośrednio do urządzenia. Zalecam, aby urządzenie było skonfigurowane ze stałym adresem IP.
Przykłady:
- Włączenie przekaźnika o nazwie : lampa
http://IP-Urządzenia/?device=relay&name=lampa&command=on
- Odczytanie stanu przekaźnika o nazwie: grzejnik
http://IP-Urządzenia/?device=relay&name=grzejnik&command=get
- Restart urządzenia
http://IP-Urządzenia/?command=reboot
- Uruchomienie urządzenia w trybie konfiguracji
http://IP-Urządzenia/?command=configurationMode
Format żądań
Komendy na poziomie urządzenia
Format:
- http://adres-ip-urządzenia/?command=Komenda
Komendy [dla wszystkich wersji]
- reboot – restartuje urządzenie
- configurationMode – uruchamia urządzenie w trybie konfiguracji
Komendy włączania / wyłączania API [brak w wersji T3]
Format:
- http://adres-ip-urządzenia/?device=api&name=Api&command=Komenda
Komendy
- on – włącza API
- off – wyłącza API
Gdzie API to jedno z
- mqtt
- http
- domoticz
Komendy dla przekaźnika
Format:
- http://adres-ip-urządzenia/?device=relay&name=NazwaPrzekaźnika&command=Komenda
NazwaPrzekaźnika jest nadawana przekaźnikowi w panelu konfiguracyjnym. Każdy przekaźnik w ramach urządzenia musi mieć unikalną nazwę.
Komendy
- on – włączenie przekaźnika
- off – wyłączenia przekaźnika
- toggle – przełączenie przekaźnika w stan odwrotny do aktualnego, czyli jak jest wyłączony to go włączy
- get – zwraca informację, czy przekaźnik jest włączony lub wyłączony
Dodatkowo dla firmware w wersji: T1 i T2
- enableThermostat – włącza funkcjonalność termostatu
- disableThermostat – wyłącza funkcjonalność termostatu
- toggleThermostat – przełącza funkcjonalność termostatu na odwrotną do aktualnej, czyli jak jest wyłączony to go włączy
- getThermostat – zwraca informację, czy termostat jest włączony lub wyłączony
Dodatkowo dla firmware w wersji T2
- enableHumidistat – włącza funkcjonalność regulatora wilgotności
- disableHumidistat– wyłącza funkcjonalność regulatora wilgotności
- toggleHumidistat – przełącza funkcjonalność regulatora wilgotności na odwrotną do aktualnej, czyli jak jest wyłączony to go włączy
- getHumidistat – zwraca informację, czy regulator wilgotności jest włączony
Komendy dla czujnika temperatury DS18B20 [wersja T1]
Format:
- http://adres-ip-urządzenia/?device=ds18b20&command=Komenda
Komendy
- get – odczytuje temperature
Komendy dla czujnika temperatury DHT (DH11,DH21, DH22, AM2301, AM2302) [wersja T2, T5]
Format:
- http://adres-ip-urządzenia/?device=dht&name=temperature&command=Komenda
- http://adres-ip-urządzenia/?device=dht&name=heatIndex&command=Komenda
- http://adres-ip-urządzenia/?device=dht&name=humidity&command=Komenda
- http://adres-ip-urządzenia/?device=dht&name=dewPoint&command=Komenda
Komendy
- get – odczytuje temperaturę (name=temperature), temperaturę odczuwalną (name=heatIndex), wilgotność (name=humidity), punkt rosy (name=dewPoint)
Komendy dla czujnika BMP085/BMP180/BME280/BME680 [wersja T6]
Format:
- http://adres-ip-urządzenia/?device=BMx80&name=temperature&command=Komenda
- http://adres-ip-urządzenia/?device=BMx80&name=humidity&command=Komenda
- http://adres-ip-urządzenia/?device=BMx80&name=pressure&command=Komenda
- http://adres-ip-urządzenia/?device=BMx80&name=gasResistance&command=Komenda
Komendy
- get – odczytuje temperaturę (name=temperature), wilgotność (name=humidity), ciśnienie atmosferyczne (name=pressure), VOC (name=gasResistance)
Komendy dla czujnika HPMA115S0 [wersja T6]
Format:
- http://adres-ip-urządzenia/?device=HPMA115S0&name=PM2.5&command=Komenda
- http://adres-ip-urządzenia/?device=HPMA115S0&name=PM10&command=Komenda
Komendy
- get – odczytuje pyły zawieszone PM2.5 lub PM10
Komendy dla czujnika BH1750 [wersja T6]
Format:
- http://adres-ip-urządzenia/?device=BH1750&name=lux&command=Komenda
Komendy
- get – odczytuje natężenie światła
Komendy dla czujnika ruchu [wersja T3]
Format:
- http://adres-ip-urządzenia/?device=pir&name=NazwaCzujnikaPIR&command=Komenda
NazwaCzujnikaPIR jest nadawana każdemu czujnikowi PIR w panelu konfiguracyjnym. Każdy czujnik PIR w ramach urządzenia musi mieć unikalną nazwę.
Komendy
- get – odczytuje, czy w danym momencie czujnik wykrył ruch, czy nie. Komenda zwraca JSON z wartością value = open lub closed
Komendy dla bramy [wersja T5]
Format:
- http://adres-ip-urządzenia/?device=gate&command=Komenda
Komendy
- toggle– wysyłanie sygnału do sterownika bramy
- open – wysyłanie sygnału do sterownika bramy (usunięte od wersji 1.3.0)
- close – wysyłanie sygnału do sterownika bramy (usunięte od wersji 1.3.0)
- get – odczyt pozycji bramy. Komenda zwraca JSON z wartością value = open, closed, partiallyOpen
Komendy dla czujnika magnetycznego (kontaktronów, wyłączników krańcowych) [wersja T5]
Format:
- http://adres-ip-urządzenia/?device=contactron&name=NazwaCzujnika&command=Komenda
NazwaCzujnika jest nadawana czujnikowi w panelu konfiguracyjnym. Każdy czujnik w ramach urządzenia musi mieć unikalną nazwę.
Komendy
- get – zwraca informację, czy czujnik jest zwarty lub rozwarty (open, closed)
Uwaga: małe / wielkie litery mają znaczenie
Informacja zwrotna / odpowiedź z urządzenia
Wywołanie każdej komendy zwraca status jej wykonania
Status zwracany jest w formacie JSON
Przykady:
{ „command”:”reboot”, „status”:”success” }
{ „command”:”reboot”, „status”:”error” }
{ „device”:”relay”, „name”:”lampa”, „command”:”on”, „value”:”on”, „status”:”success” }
{ „device”:”relay”, „name”:”grzejnik”, „command”:”get”, „value”:”off”, „status”:”success” }
{ „device”:”relay”, „name”:”grzejnik”, „command”:”getThermostat”, „value”:”off”, „status”:”success” }
{ „device”:”relay”, „name”:”wentylator”, „command”:”getHumidistat”, „value”:”on”, „status”:”success” }
{ „device”:”ds18b20″, „command”:”get”, „value”:”21.54″, „status”:”success” }
{ „device”:”dth”, „name”:”temperature”, „command”:”get”, „value”:”21.54″, „status”:”success” }
{ „device”:”dth”, „name”:”heatIndex”, „command”:”get”, „value”:”22.50″, „status”:”success” }
{ „device”:”dth”, „name”:”humidity”, „command”:”get”, „value”:”45.10″, „status”:”success” }
{ „device”:”pir”, „name”:”kuchnia”, „command”:”get”, „value”:”open”, „status”:”success” }
{ „device”:”pir”, „name”:”kuchnia”, „command”:”get”, „value”:”closed”, „status”:”success” }