User Tools

Site Tools


c-beam MQTT

MQTT is a machine-to-machine (M2M)/“Internet of Things” connectivity protocol. see:

We are running a mqtt server on on port 1883 (or port 1882 for websockets). It's only reachable from the internal network.

An up-to-date listing of artefacts and their topics can be found from

The content of the current participant folder (updated by running a grunt createMarkup command in c-flo)

artifact description inports topic outports topic
barstatus c-base bar status switch n/a state: bar/state
stateful: bar/stateful
status: bar/status
c-base/BigSwitch IP-Lounge big switchled: button/bigswitch/led
colors: button/bigswitch/colors
state: button/bigswitch/on
c-base/buttonpanel Ignition buttonled: c-boom/led
vibra: c-boom/vibra
ignition: c-boom/ignition
start: c-boom/start
c_out Generate sounds n/a playsound: c_out/play
playrandomsound: c_out/loop
saytext: c_out/announce
saytext_en: c_out/announce_en
c-base/c-beam-viewer Show URL on a public #ROLE/openopened: #ROLE/opened
crew station crew register n/a boarding: user/boarding
leaving: user/leaving
crew: c-base/crew
members: c-base/crew/members
passive: c-base/crew/passive
updated: c-base/crew/last_update
ingress-table/data Ingress data fetching for the Ingress Tablefetch: ingress-data.FETCH
poll: ingress-data.POLL
floor: ingress-data.FLOOR
light: ingress-data.LIGHT
streets: ingress-data.STREETS
c-base/dmx station light controlset_channels: dmx-mainhall/statefixtures: dmx-mainhall/fixtures
channels: dmx-mainhall/current_state
automode: dmx-mainhall/automode
echelon station network traffic monitoring n/a traffic: system/echelon/traffic
msgflo-browser/infodisplay Show URL on a public #ROLE.OPEN
urls: #ROLE.URLS
opened: #ROLE.OPENED
ingress-portal Portal status via Ingress Table n/a status: ingress/status/+
ingress-table/lights Drive the lights on the tablestreets: ingress-lights.STREETS
floor: ingress-lights.FLOOR
light: ingress-lights.LIGHT
animate: ingress-lights.ANIMATE
shown: ingress-lights.SHOWN
c-base/mqttwebview Show URL on a public #ROLE/openopened: #ROLE/opened
c-base/music-player c-base music player n/a current_song: megablast/current_song
nerdctrl c-base nerd control interface n/a openurl: nerdctrl/open
panel Color LED panelpalette: panel/#ROLE n/a
pedestrianlight pedestrian traffic lightcolors: ampel/#ROLE n/a
playsound Play soundsplaysound: c_out/play
playrandomsound: c_out/loop
saytext: c_out/announce
saytext_en: c_out/announce_en
powermon station power usage monitoring n/a out: system/powermon
load: system/powermon/load
counter: system/powermon/counter
updated: system/powermon/last_update
station-announcer/StationAnnouncer Generate random station announcements at given propabilityannounce: station-announcer.ANNOUNCE
probability: station-announcer.PROBABILITY
in: station-announcer.IN
out: station-announcer.OUT
skipped: station-announcer.SKIPPED
statuslight bar status light indicating opennessbarstatus: bar/stateful n/a
time c-base station time n/a time: info/time
Vacuum station vacuum cleaner n/a on: c-base/vacuum/on

Currently there are the following topics:

topic interval description
ampel/mainhall n/a wie, ampel nerd, aber zusätzlich noch mit Gelb: {“red”: 1, “green”: 1, “yellow”: 1}
ampel/nerd n/a Beispiel JSON-Daten für die Message: '{“red”: 1, “green”: 0}'
c-base/crew 15 minutes all of the below crew data
c-base/crew/members 15 minutes crew member count
c-base/crew/last_update 15 minutes ISO timestamp of the last update of the power data
c-base/crew/passive 15 minutes number of passive members
c_out/loop 10 minutes starts a new sound loop on c_out
c_out/play n/a playload plays various sound samples
c_out/Julia n/a playload plays announcements on c_out via tts with voice Julia
client/echelon n/a this is a retained topic, if it is available, the traffic stats script on echelon is running
info/time 1 minute current date and time
ingress/status/+ n/a these are retained topics and show status of the ingres portals around the c-base
nerdctrl/open n/a opens the payload URL in a browser in the nerdarea
system/echelon/traffic 1 minute average incoming and outgoing traffic on ipb and kdg lines from echelon in bytes/s since last message
system/powermon 15 seconds all of the below power data
system/powermon/counter 15 seconds estimated power meter counter
system/powermon/last_update 15 seconds ISO timestamp of the last update of the power data
system/powermon/load 15 seconds current (estimated) power load in watts
system/powermon/load_low 15 seconds lowest power load in watts
system/powermon/load_low_date 15 seconds date lowest power load in watts was seen last
system/powermon/load_high 15 seconds highest power load in watts
system/powermon/load_high_date 15 seconds date highest power load in watts was seen last
system/powermon/raw 15 seconds raw data from the LS110
user/boarding n/a triggered when a member logs in, message contains the username in JSON format


The topics from echelon are published with a small lua daemon, which can be easily extended. Check it out from:

projects/mqtt.txt · Last modified: 2022/06/01 15:14 by sodoku