This is the list of MQTT Topics that are use by the various HackSpace Instrumentation projects.
All topics should be prefixed with "nh/"
All clients should subscribe to this topic and listen for the message "STATUS"
Clients should respond on nh/status/res with their name and status.
ie. "Running: MatrixMQTT"
Include the : and a space before the clients name,
Current list of clients
- Gatekeeper (arduino)
- GateKeeper (process)
The status of all running clients is logged and reported here http://lspace.nottinghack.org.uk/addr_graphs/status.php
|nh/gk/Unlock||Shows message on LCD / unlocks door||Not available on Jarvis|
|nh/gk/DoorState||"Door Opened", "Door Opened by:" or "Door Closed"|
|nh/gk/entry_announce/known||"Door Opened by: username (last seen xxx ago)"||Sent by Gatekeeper process on receiving "Door Opened by:"|
|nh/gk/entry_announce/unknown||"Door opened"||Sent by Gatekeeper process|
|nh/gk/Keypad||PIN entered||Not available on Jarvis|
|nh/gk/DoorButton||"OUTER", "INNER" or "REAR" for different doors||Doorbell. 1 ring=Inner, 2=Outer, 3=Rear|
|nh/gk/RFID||Serial of RFID card presented, or "Unknown Card Type"||Not available on Jarvis|
|nh/gk/LastManState||"First In" or "Last Out"||Knife switch by door. There is an intentional delay between the switch being thrown, and publishing to this topic|
|nh/mb/tx||nh-matrix script transmits messages to be displayed|
|nh/mb/rx||confirmation of displayed message is returned to nh-matrix|
IRC Bot: nh-holly
Living in #nottinghack on freenode, nh-holly is our MQTT to IRC bridge
|nh/irc/tx||Sends to the default #nottinghack channel|
|nh/irc/tx/nottinghack||Sends to the #nottinghack channel|
|nh/irc/tx/pm/<nick>||Sends a pm to <nick>|
|nh/irc/rx/nottinghack/<nick>||Incoming message from irc #nottinghack channel|
|nh/irc/rx/pm/<nick>||Incoming pm from irc user <nick>|
Twitter to MQTT bridge
|nh/twitter/rx/dm/<screen_name||DM to @Holly533Mhz from <Screen_name>|
|nh/twitter/rx/mention/<screen_name>||mention of @Holly533Mhz by <screen_name>|
|nh/twitter/rx/hs||latest tweet from @HSNOTTS includes retweets||payload <screen_name>:<text>|
Readings from DS18B20 1-Wire digital temperature sensors around the space are published at least every 2.5 minutes.
Message format as follows
|address||Hex string 16 long|
Currently only one LDR connected to WorkshopMQTT
|nh/lightlevel/workshop||Light level in the Workshop. > ~800 = lights are on|
XRF & LLAP
LLAP message format
- a start character
- XX Device ID
- DDDDDDDDD message
more detail can be found here:-
- LLAP http://openmicros.org/index.php/articles/85-llap-lightweight-local-automation-protocol/112-llap
- LLAP device details http://openmicros.org/index.php/articles/87-llap-devices-commands-and-instructions
Payload for MQTT message is upto 9byte's, the message part of LLAP, padding is automatically added and striped.
|nh/xrf/tx/XX||Send out a LLAP message||XX is DEVID|
|nh/xrf/rx/XX||LLAP message received||XX is DEVID|
For more details see Lighting Automation/Control Software Note messages on nh/li/state/# should be set to retained. So new clients subscribing can retrieve the current state with out polling.
|nh/li/set/ROOM/ZONE||Lighting Command||ROOM is one of the pre defined rooms ZONE within a ROOM and payload is COMMAND|
|nh/li/state/ROOM/ZONE||Lighting State||Retained Topic! ROOM is one of the pre defined rooms ZONE within a ROOM and payload is Curent STATE|