MQTT publiser/abonner: publisere sender til emner via en megler (Mosquitto), og abonnenter mottar

MQTT

MQTT – Message Queuing Telemetry Transport – er meldingsprotokollen som holder de fleste smarthus-systemer i gang. Det er grunnen til at en bevegelsessensor kan tenne et lys på under et sekund, eller at en Tibber Pulse kan dytte sanntids strømavlesninger rett inn i Home Assistant uten å gå om en skyserver.

MQTT publiser/abonner: publisere sender til emner via en megler (Mosquitto), og abonnenter mottar

MQTT bygger på en publiser/abonner-modell – det motsatte av et vanlig webkall. I stedet for at en enhet spør «har du noe nytt?», kobler hver enhet seg til en sentral hub kalt en megler (broker). Enheter som har noe å si, publiserer en melding til et emne (for eksempel hjem/sensor/temperatur). Enheter som bryr seg om det emnet, abonnerer på det og mottar meldingen umiddelbart. Megleren – som regel Mosquitto i et Home Assistant-oppsett – håndterer all ruting imellom.

Det som gjør MQTT spesielt godt egnet til smarthus, er effektiviteten. Protokollen ble opprinnelig laget for fjernovervåking av oljerørledninger på 1990-tallet – miljøer med lite båndbredde og ustabile forbindelser. En typisk MQTT-melding kan være bare noen få byte. Protokollen kjører over TCP, har tre QoS-nivåer (0 = send og glem, 1 = minst én gang, 2 = nøyaktig én gang), og holder forbindelsen i live med en keepalive. På et lokalt nett med en Raspberry Pi som kjører Home Assistant og Mosquitto som megler er forsinkelsen typisk under 10 ms.

Proff-tips: Bruk «retain» for sensortilstand
Sett retain: true på sensor-emner, så lagrer megleren den siste kjente verdien. Når Home Assistant starter på nytt, mottar den umiddelbart gjeldende tilstand for hver enhet – uten å vente på neste oppdateringssyklus.

MQTT-emner følger et hierarki skilt med skråstrek, som gjør det lett å strukturere smarthuset logisk: hjem/stue/lampe/tilstand, hjem/hage/jordfukt. Jokertegn støttes også – # treffer alt under et nivå, + treffer ett nivå – og det er slik integrasjoner som Zigbee2MQTT eksponerer hundrevis av enheter under ett abonnementsmønster.

🏠 Visste du at: MQTT ble oppfunnet i 1999 av Andy Stanford-Clark (IBM) og Arlen Nipper (Cirrus Link) for å overvåke oljerørledninger via satellitt – en forbindelse så treg at hver byte telte. I dag kjører den samme protokollen på millioner av smarthus-enheter verden over.

Relaterte artikler

No post found!

Kilder