AFE Firmware HTTP API

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” }