Hoe Shelly-apparaten met MQTT werken
Inleiding tot Shelly-apparaten met MQTT-protocol op het Ilevia-systeem: concepten, configuratie in Ilevia Manager en functietest.
Hoe Shelly-apparaten met MQTT werken
MQTT is een lichtgewicht protocol gebaseerd op publiceren-abonneren (publish/subscribe).
Dit protocol bestaat uit twee delen:
De client (deze maakt verbinding met de broker).
De broker (beheert de verbindingen en gebruikersreferenties en laat je informatie uitwisselen met de componenten die met het MQTT-protocol werken).
Je vindt meer informatie over het MQTT-protocol hier.
In onderstaande afbeelding wordt uitgelegd hoe het MQTT-protocol werkt met het Ilevia-systeem.
Al onze systemen (X1-server, virtuele machine en Raspberry Pi) kunnen functioneren als broker en server.

Hoe MQTT in Ilevia Manager in te stellen
Controleer vóór je begint deze parameters voor een correcte configuratie:
Maak een gateway aan en stel deze in als MQTT broker.
De standaard client-id moet worden ingesteld als “eve-mqtt-client”. Als je meer dan één client moet aanmaken, zorg er dan voor dat je de naam wijzigt.
De standaardpoort is 1883.
De standaardparameter die wordt gebruikt om instanties open te houden is “keep alive” (ook als er geen commando’s worden verzonden).
Stel Quality of Service (QoS) in op “exactly once” (deze optie garandeert dat elk bericht één keer wordt ontvangen).

Stap 1:
Voeg een component toe binnen de sectie Mijn componenten en zorg ervoor dat het MQTT-protocol geselecteerd is, zoals weergegeven in onderstaande afbeelding.

Hoe werken payload en topics?
TOPICS
De topics zijn: read, event, write en response.
Elk topic heeft een ander berichttype dat de MQTT-broker gebruikt om berichten te filteren voor elke verbonden client; de topics bestaan uit niveaus gescheiden door “slash”(“/”).
Voorbeeld: home/livingroom/light
Hier volgt een korte beschrijving van de vier topics:
Topic read: Wordt gebruikt om de status van het MQTT-apparaat te ontvangen.
Topic response: Dit is het antwoord van het apparaat op de read-aanvraag van de automatiseringsserver.
Topic write: Dit topic wordt gebruikt om de waarde van een parameter van het apparaat in te stellen.
Topic event: Dit topic geeft de status van het apparaat weer bij wijzigingen.
PAYLOAD
Een payload is een stukje code dat een javascript-functie bevat.
Voor elk topic wordt een javascript-functie uitgevoerd om de payload van het topic te verwerken.
Voorbeeld van een json-string:
var data = JSON.parse(payload);var color = {“mode”:”color”,”red”:data.r,”green”:data.g,”blue”:data.b}; return JSON.stringify(color);

Stap 2:
Topic response: Hier moet je het juiste topic invullen op basis van het apparaat dat je wilt bedienen (meer informatie over de topics vind je op de webpagina van Shelly).

Stap 3:
“Topic write“: Hier moet je het juiste topic invullen op basis van het apparaat dat je wilt bedienen (je vindt alle topics van de Shelly-apparaten op deze pagina).

Stap 4:
Topic event: Hier moet je het juiste topic invullen op basis van het apparaat dat je wilt bedienen (meer informatie over de topics vind je op de webpagina van Shelly).

Stap 5:
Om te controleren of het apparaat correct werkt, download je de open-source software MQTT-fx,
hiermee kun je de informatie controleren die de broker van het apparaat ontvangt.
Installeer de software op je computer.
De volgende stap is het instellen van de broker in de software-instellingen; klik op het tandwielpictogram, voer het IP-adres van je X1-server en poort 1883 in.

Stap 6:
Om op alle topics te abonneren, voer je het symbool # in (hekje).
Klik op de knop “subscribe” en als er een verbinding tot stand is gebracht, zie je een reeks berichten: die berichten tonen aan dat je apparaat verbinding heeft gemaakt met de broker.

Stap 7:
Controleer of de component werkt binnen de automatiseringsapplicatie.
Laad het project dat we zojuist hebben gemaakt en test het.

Hier kun je het testproject downloaden dat we hebben gemaakt om de Shelly Plug te testen.
Download de test hier.
Opmerking: Alle Shelly-apparaten hebben een andere ID en andere configuratiemethoden; daarom raden we aan de webpagina van Shelly te raadplegen om er zeker van te zijn dat je de juiste commando’s en topics gebruikt.
Andere Shelly-apparaten met het MQTT-protocol
SHELLY RGBW2

SHELLY DIMMER

SHELLY EM

SHELLY 1/1PM

SHELLY 4 PRO

SHELLY PLUGS

SHELLY FLOOD

SHELLY 2.5

SHELLY H&T

SHELLY DOOR WINDOW

SHELLY I3

SHELLY DUO BULB

SHELLY TRV

SHELLY PLUS 1

SHELLY MOTION 2

SHELLY PLUS H&T
