AFE Firmware MQTT

MQTT API

Urządzeniem można sterować wiadomościami MQTT. Jest to zalecana przeze mnie metoda sterowaniem urządzeniem z AFE Firmware.

MQTT to bardzo prosty i lekki protokół do wymiany informacji oparty o mechanizm publikowania wiadomości i subskrybowania się do tematów. Został specjalnie opracowany do wymiany danych w sieciach, gdzie mogą występować niskie przepustowości, długie czasy oczekiwań, czy zwyczajnie problem z jej działaniem. Protokół mimo potencjalnych problemów z siecią zapewnia niezawodność. Idealnie nadaje się do wymiany danych między urządzeniami, IoT, ma szerokie zastosowanie w automatyce.

Wymiana danych między urządzeniami odbywa się za pomocą MQTT Brokera. Broker jest pośrednikiem wymiany informacji między urządzeniami, serwisami, oprogramowaniem.

Tematy oraz wiadomości MQTT

Zakładając, że:

  • Temat MQTT nadany urządzeniu w sekcji konfiguracji MQTT Brokera : /mqttTopic/
  • Nazwa przekaźnika: switch
  • Nazwa czujnika ruchu: pir

Tematy na poziomie urządzenia

Temat Wiadomość Działanie
/mqttTopic/cmd Wejściowa reboot Uruchamia ponownie przełącznik
/mqttTopic/cmd Wejściowa configurationMode Uruchomienie Panelu Konfiguracyjnego
/mqttTopic/state Wyjściowa connected Wiadomośc jest wysyłana do MQTT Brokera zaraz po podłączeniu się do niego przez urządzenie
/mqttTopic/state Wyjściowa disconnected Wiadomość jest wysyłana w ramach MQTT Broekra, kiedy MQTT Broker wykryje rozłączenie się urządzenia od brokera

Tematy przekaźnika

Temat Wiadomość Działanie
/mqttTopic/switch/cmd Wejściowa on Włącza przekaźnik o nazwie switch
/mqttTopic/switch/cmd Wejściowa off Wyłącza przekaźnik o nazwie switch
/mqttTopic/switch/cmd Wejściowa toggle Przełącza przekaźnik o nazwie swich na stan odwrotny. Z włączonego na wyłączony, z wyłączonego na włączony
/mqttTopic/switch/cmd Wejściowa get Powoduje, że urządzenie wyśle stan przekaźnika o nazwie switch przez temat /mqttTopic/switch/state
/mqttTopic/switch/get Wyjściowa defaultState Urządzenie wysyła tą wiadomość do brokera MQTT, aby pobrać stan przekaźnika o nazwie switch, jaki powinien zostać ustawiony po podłączeniu się urządzenia do brokera MQTT
/mqttTopic/switch/state Wyjściowa on lub off Urządzenie wysyła tą wiadomość, za każdym razem, gdy przekaźnik zmieni stan lub urządzenie otrzyma komendę pobierz stan przekaźnika get

Tematy termostatu

Temat Wiadomość Działanie
/mqttTopic/switch/thermostat/cmd Wejściowa on Włącza funkcjonalność termostatu
/mqttTopic/switch/thermostat/cmd Wejściowa off Wyłącza funkcjonalność termostatu
/mqttTopic/switch/thermostat/cmd Wejściowa toggle Włącza funkcjonalność termostatu, gdy ten był wyłączony lub wyłącza gdy ten był włączony
/mqttTopic/switch/thermostat/cmd Wejściowa get Powoduje, że urządzenie wyśle informację, czy termostat jest włączony lub wyłączony. Poniższy temat i wiadomość jest do tego użyta.
/mqttTopic/switch/thermostat/state Wyjściowa on lub off Urządzenie wysyła tą wiadomość informując, czy termostat jest włączony lub wyłączony, po otrzymaniu komendy przełączającej stan termostatu lub po otrzymaniu żądania odczytu pobrania stanu włączenia termostatu.

Tematy  regulatora wilgotności

Temat Wiadomość Działanie
/mqttTopic/switch/humidistat/cmd Wejściowa on Włącza funkcjonalność regulatora wilgotności
/mqttTopic/switch/humidistat/cmd Wejściowa off Wyłącza funkcjonalność regulatora wilgotności
/mqttTopic/switch/humidistat/cmd Wejściowa toggle Włącza funkcjonalność regulatora wilgotności, gdy ten był wyłączony lub wyłącza gdy ten był włączony
/mqttTopic/switch/humidistat/cmd Wejściowa get Powoduje, że urządzenie wyśle informację, czy regulatora wilgotności jest włączony lub wyłączony. Poniższy temat i wiadomość jest do tego użyta.
/mqttTopic/switch/humidistat/state Wyjściowa on lub off Urządzenie wysyła tą wiadomość informując, czy regulatora wilgotności jest włączony lub wyłączony, po otrzymaniu komendy przełączającej stan termostatu lub po otrzymaniu żądania odczytu pobrania stanu włączenia termostatu.

Tematy czujnika temperatury DS18B20

Temat Wiadomość Działanie
/mqttTopic/cmd Wejściowa getTemperature Żądanie odczytanie temperatury oraz wysłanie jej to brokera MQTT; format poniżej
/mqttTopic/temperature Wyjściowa wartość temperatury Publikowanie temperatury odczytanej z czujnika

Tematy czujnika temperatury i wilgotności DHT (DH11, DH21,DH22,AM2301,AM2302)

Temat Wiadomość Działanie
/mqttTopic/cmd Wejściowa getTemperature Żądanie odczytanie temperatury oraz wysłanie jej to brokera MQTT; format poniżej
/mqttTopic/cmd Wejściowa getHumidity Żądanie odczytanie wilgotności oraz wysłanie jej to brokera MQTT; format poniżej
/mqttTopic/cmd Wejściowa getHeadIndex Żądanie odczytanie temperatury odczuwalnej oraz wysłanie jej to brokera MQTT; format poniżej
/mqttTopic/cmd Wejściowa getDewPoint Żądanie odczytanie punktu rosy oraz wysłanie jej to brokera MQTT; format poniżej
/mqttTopic/temperature Wyjściowa wartość temperatury Publikowanie temperatury odczytanej z czujnika
/mqttTopic/humidity Wyjściowa wartość wilgotności Publikowanie wilgotności odczytanej z czujnika
/mqttTopic/heatIndex Wyjściowa wartość temperatury odczuwalnej Publikowanie temperatury odczuwalnej wyliczonej na podstawie odczytów z czujnika
/mqttTopic/dewPoint Wyjściowa wartość punktu rosy Publikowanie punktu rosy wyliczonej na podstawie odczytów z czujnika

Tematy czujnika BMP086/BMP180/BME280/BME680

Temat Wiadomość Działanie
/mqttTopic/BMx80/cmd Wejściowa get Żądanie odczytanie danych z czujnika BMx80
/mqttTopic/BMx80/all Wyjściowa String JSON Publikuje dane z czujnika

Dla: BMP085/BMP180: {temperature: float, pressure: float}
Dla BME280: {temperature: float, pressure: float, humidity: float}
Dla BME680: {temperature: float, pressure: float, humidity: float, gasResistance: float}


Tematy czujnika BH1750

Temat Wiadomość Działanie
/mqttTopic/BH1750/cmd Wejściowa get Żądanie odczytanie danych z czujnika BH1750
/mqttTopic/BH1750/all Wyjściowa wartość natężenia światła Publikuje natężenie światła w lux

Tematy czujnika Honeywell HPMA115S0

Temat Wiadomość Działanie
/mqttTopic/HPMA115S0/cmd Wejściowa get Żądanie odczytanie danych z czujnika HPMA115S0
/mqttTopic/HPMA115S0/all Wyjściowa String JSON {PM25: Intiger, PM10: Intiger}

Tematy czujnika ruchu PIR

Temat Wiadomość Działanie
/mqttTopic/pir Wyjściowa open lub closed Zwracana jest informacja czy został wykryty ruch (wartość zwracana: open), czy też nie (wartość zwracana: closed)

Tematy włączania / wyłączania APIs

Temat Wiadomość Działanie
/mqttTopic/configuration/api/http/cmd Wejściowa on lub off włącza / wyłącza HTTP API
/mqttTopic/configuration/api/domoticz/cmd Wejściowa on lub off włącza / wyłącza Domoticz API
/mqttTopic/configuration/api/mqtt/cmd Wejściowa off wyłącza MQTT API

Tematy do kontrolowania sterownika bramy

  • Temat MQTT nadany urządzeniu w sekcji konfiguracji MQTT Brokera : /brama/
Temat Wiadomość Działanie
/brama/gate/cmd Wejściowa toggle Wysyła impuls to sterowania bramy (uruchamia na zadanych czas przekaźnik)
/brama/gate/cmd Wejściowa get Wysyła żądanie pobranie położenia bramy (do urządzenia musi być podpięty minimalnie jeden czujnik magnetyczny, kontaktron lub wyłącznik krańcowy)
/brama/gate/state Wyjściowa open,partiallyOpen,closed Pod ten temat zwracana jest informacja o położeniu / stanie otwarcia bramy

Tematy do odczytu informacji z czujnika magnetycznego

  • Temat MQTT nadany urządzeniu w sekcji konfiguracji MQTT Brokera : /brama/
  • Nazwa czujnika magnetycznego: czujnik
Temat Wiadomość Działanie
/brama/czujnik/cmd Wejściowa get Wysyła żądanie odczytania stanu czujnika magnetycznego, kontaktronu  lub wyłącznika krańcowego
/brama/czujnik/state Wyjściowa open, closed Pode ten temat zwracana jest wartość czujnika magnetycznego, kontaktronu  lub wyłącznika krańcowego


Informacje uzupełniające

Uwaga: Rozmiar liter tematów i wiadomości ma znaczenie, proszę zwrócić na to uwagę.