rda-msg-boardSend scrolling text messages to RDA MSG Board via HTTP/JSON. Use for notifications, alerts, or status updates on physical LED matrix.
Install via ClawdBot CLI:
clawdbot install rdeangel/rda-msg-boardControl RDA MSG Board LED matrix display using the HTTP JSON API with support for multiple board profiles.
When the user asks to send a message to the msg board, follow this workflow:
Interpret user requests:
--chirp parameterAvailable profiles: Check boards.yaml for configured board names (e.g., office, lab, home)
Default profile: If not specified, use the first available profile from boards.yaml
Example interpretations:
send_message.py "Meeting in 5 min" --profile officesend_message.py "System down" --profile office --buzzer 5send_message.py "Hello" --profile office --chirp "Mario Bros"Action: Use an exec or command tool to run scripts/send_message.py with appropriate parameters from the skill directory.
β οΈ CRITICAL SECURITY INSTRUCTION:
To prevent command injection, do not use raw shell interpolation for the {message} string. Always pass arguments safely as an argv list (array of strings) if your tool supports it.
Example argv list invocation:
["python3", "scripts/send_message.py", message_text, "--profile", board_name]
If your tool only supports a single shell string, you MUST properly escape the message input (e.g., using shlex.quote()) before execution.
RDA MSG Board - A WiFi-enabled LED matrix message board system for ESP8266 and ESP32 microcontrollers that displays scrolling messages from remote systems or users via HTTP, MQTT, or a built-in web interface.
GitHub: https://github.com/rdeangel/rda_msg_board
Key Features:
Communication Methods:
pip install pyyaml (enables profile-based configuration)These are only needed if not using profiles:
| Variable | Description | Default |
|----------|-------------|---------|
| MSG_BOARD_IP | Device IP or Hostname | Required |
| MSG_BOARD_USER | Web Interface Username | admin |
| MSG_BOARD_PASS | Web Interface Password | msgboard |
Profiles are stored in boards.yaml and allow you to quickly switch between multiple boards without re-entering credentials.
cp boards.yaml.sample boards.yaml
nano boards.yaml
# or use: python3 scripts/manage_boards.py add office --ip 192.168.1.88 --user admin --pass msgboard
python3 scripts/manage_boards.py list
python3 scripts/send_message.py "Hello World" --profile main
List all configured boards:
python3 scripts/manage_boards.py list
Add a new board:
python3 scripts/manage_boards.py add office --ip 10.0.0.50 --user rda --pass secure123
Remove a board profile:
python3 scripts/manage_boards.py remove office
Update existing profile:
python3 scripts/manage_boards.py add main --ip 192.168.1.101 --force
Send a message to a named profile:
python3 scripts/send_message.py "Hello World" --profile main
python3 scripts/send_message.py "Alert: High CPU" --profile office --buzzer 5 --brightness 10
List available profiles:
python3 scripts/send_message.py --list-profiles
Override profile or use direct connection:
python3 scripts/send_message.py "Hello World" --ip 192.168.1.100 --user admin --pass msgboard
python3 scripts/send_message.py "Test" --profile main --ip 192.168.1.101 # Override IP
Send a high-priority alert with buzzer sounds and high brightness:
python3 scripts/send_message.py "ALERT: System Failure" --profile main --buzzer 10 --brightness 15 --delay 20
| Option | Description | Default |
|--------|-------------|---------|
| --profile | Board profile name (from boards.yaml) | None |
| --list-profiles | List available board profiles | - |
| --ip | Device IP address | From profile or env |
| --user | Web interface username | From profile or admin |
| --password | Web interface password | From profile or msgboard |
| --repeat | Scroll cycles (0=infinite) | Device default |
| --buzzer | Number of beeps | Device default |
| --delay | Scroll speed (lower is faster) | Device default |
| --brightness <0-15> | LED intensity (0-15) | Device default |
| --chirp | Custom sound (e.g., 'Mario Bros') | Device default |
All available options: Silent, Fast Beep, Simple Beep, Gentle Dawn, Cheerful, Urgent, Beep, Quick Tap, Double, Triple, Doorbell, Alarm, Victory, Notify, For Elise, Mario Bros, Imperial March, Nokia Ringtone, Tetris Theme, Zelda Secret, Windows XP, iPhone Marimba, Pac-Man Intro, Star Trek Beep, R2-D2 Beep, Close Encounters, Minecraft Theme, Pitfall! Yodel, William Tell, Matrix Alarm, 24 CTU Ring.
To clear the display immediately:
python3 scripts/send_message.py "" --profile main
MSG_BOARD_IP or profile IP is correct and the device is powered on.--list-profiles to see available profiles.pip install pyyaml for profile support.boards.yaml exists (copy from boards.yaml.sample) and has valid YAML syntax.Generated Mar 1, 2026
Display real-time alerts like meeting reminders, system downtime, or visitor announcements in office environments. Integrates with calendar systems or monitoring tools to automate notifications, improving workplace communication and reducing missed alerts.
Send notifications from smart home systems, such as doorbell rings, security alerts, or appliance status updates, to a central LED display. Enhances home safety and convenience by providing visible alerts alongside audible ones from devices like Home Assistant.
Display critical data like equipment status, experiment timers, or safety warnings in laboratory settings. Useful for research facilities to keep staff informed without constant computer checks, supporting operational efficiency and safety protocols.
Show scrolling promotional messages, sale alerts, or queue updates in retail stores. Attracts customer attention and communicates time-sensitive offers, potentially increasing sales and improving customer experience in physical retail environments.
Use timer and stopwatch features to display countdowns for events, presentations, or breaks in venues like conferences or classrooms. Provides a visual cue for attendees, aiding in schedule adherence and engagement during organized events.
Sell pre-configured ESP32/ESP8266 boards with the RDA MSG Board software installed, offering a subscription for premium features like advanced chirp sounds or cloud management. Revenue comes from initial hardware sales and recurring subscription fees for ongoing support and updates.
Provide consulting and development services to integrate the message board into existing business systems, such as Home Assistant setups or corporate notification platforms. Revenue is generated through project-based fees for customization, installation, and maintenance support.
Offer paid support, documentation, or proprietary add-ons (e.g., enhanced security features or additional chirp libraries) for the open-source RDA MSG Board project. Revenue streams include support packages, one-time add-on sales, and donations from the user community.
π¬ Integration Tip
Use the profile system in boards.yaml to manage multiple boards securely, and ensure proper escaping of message inputs to prevent command injection when automating scripts.
Control Sonos speakers (discover/status/play/volume/group).
Control Philips Hue lights/scenes via the OpenHue CLI.
Control Eight Sleep pods (status, temperature, alarms, schedules).
BluOS CLI (blu) for discovery, playback, grouping, and volume.
Control Home Assistant smart home devices, run automations, and receive webhook events. Use when controlling lights, switches, climate, scenes, scripts, or any HA entity. Supports bidirectional communication via REST API (outbound) and webhooks (inbound triggers from HA automations).
Use when integrating with Tesla's official Fleet API to read vehicle/energy device data or issue remote commands (e.g. start HVAC preconditioning, wake vehicle, charge controls). Covers onboarding (developer app registration, regions/base URLs), OAuth token flows (third-party + partner tokens, refresh rotation), required domain/public-key hosting, and using Tesla's official vehicle-command/tesla-http-proxy for signed vehicle commands.