What
MQTT is pronounced 'mosquito' , ISO20922 describes it.
It's a simple messaging protocol with a publish/subscribe based model.
Where
It seems to run at 10.208.1.49(you shouldnt connect by IP) aka mqtt.vm.nurd.space on the default port of 1883. This is actually running on Jarvis.
We kept the ip and name when we moved the services from Arbiter. But stopped doing so now.
EMQX will allow unauthenticated subscriptions on port 1883 from the internet networks. External networks must use TLS + Auth and have a specific ACL created to allow only access to the needed topics.
EMQX gui can be found on jarvis in the menu.
Using Auth / TLS
for the username and password to access the EMQX gui ask around
- MQTT port: 8883
- WSS port: 8084
Updating the ACL
https://www.emqx.io/docs/en/v5/access-control/authz/file.html#acl-file-format
- Allowing a user to subscribe to a specific topic
{allow, {user, "meshuser"}, subscribe, ["msh/#"]}.
Whats it used for
Power Meter
The Power_Meter project publishes it's readings to the following topics;
#define MQTT_TOPIC_WATT "powermeter/watt" #define MQTT_TOPIC_KWH "powermeter/kwh" #define MQTT_TOPIC_PULSE "powermeter/pulsecount" (from; https://github.com/NURDspace/kwhMeter/blob/master/src/config.h_sample)
temperature/humidity
- DASTEMPERATUR: zaal 1
- DASTEMPERATUR2: gamers room
- DASTEMPERATURbar: bar
- DASTEMPERATURplee: women's toilet
Used topics
this/list/is/very outdated power/main/pulsecount 1441113 power/main/kwh 3842.968 power/main/watt 235 space/state 0 space/grotezaal/rechts/1 off space/grotezaal/rechts/1/stat off space/hal/rechts/1 off space/hal/rechts/1/stat off space/bar/1 off space/bar/1/stat off space/makerhoek/1 off space/makerhoek/1/stat off stat/sonoff/POWER ON stat/audioamp/POWER OFF sonoff/POWER ON sonoff/audioamp/POWER ON tele/audioamp/LWT Online cmnd/audioamp/POWER OFF DASTEMPERATUR2 { "epoch":1533487686, "temperature": 28.0, "humidity": 18.4 } DASTEMPERATURbar { "epoch":1533487706, "temperature": 29.0, "humidity": 34.0 } DASTEMPERATUR { "epoch":1533487707, "temperature": 32.6, "humidity": 29.0 } DASTEMPERATURplee { "epoch":1533487710, "temperature": 30.0, "humidity": 27.0 }