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} |
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ę.