| Developer: | Autolog's Plugins |
| Category: | Miscellaneous |
| Github: | Github Repo |
| Assistance: | Get help! Check the online documentation |
| Plugin ID: | com.autologplugin.awtrix3 |
| Latest release: | v2026.0.2 released on March 4, 2026 |
| Release downloaded: | 0 times |
| Requires: | Indigo v2025.1.0 or higher |
| Download release v2026.0.2 |
An Indigo plugin for controlling AWTRIX 3 LED matrix clocks (such as the Ulanzi TC001) via MQTT.
The plugin automatically installs its Python dependencies (paho-mqtt, cryptography) when first loaded.
AWTRIX.indigoPlugin to install in IndigoThe coordinator manages the MQTT broker connection. You need one coordinator per MQTT broker.
1883indigo_awtrix)Each clock device represents one physical AWTRIX device.
awtrix_XXXXXX). You can find this in the AWTRIX web interface under MQTT settings.Once created, the clock device will show as connecting ... until it receives its first stats update from the AWTRIX device (typically within a few seconds). If the device doesn't come online, check that the MQTT prefix matches exactly.
The clock device appears as a dimmer in Indigo, giving you native on/off and brightness control:
These controls work from the Indigo client, UI+ app (Mac and iOS), and Control Pages.
The clock device exposes the following states for use in triggers, conditions, and Control Pages:
State Descriptionstatus
Connection status
onOffState
Power state
brightnessLevel
Current brightness (0-100)
battery
Battery level %
temperature
Onboard sensor temperature
humidity
Onboard sensor humidity
wifiSignal
WiFi signal strength (RSSI)
currentApp
Currently displayed app name
firmwareVersion
AWTRIX firmware version
uid
Device unique identifier
freeRam
Free RAM in bytes
uptime
Device uptime in seconds
messageCount
MQTT message count
lastStatsTime
Timestamp of last stats update
lastButtonPress
Last physical button pressed (buttonLeft, buttonMiddle, buttonRight)
indicator1Active
Indicator 1 on/off
indicator2Active
Indicator 2 on/off
indicator3Active
Indicator 3 on/off
The plugin monitors stats updates from each clock. If no stats are received for 60 seconds, the device is marked as offline. It automatically recovers when stats resume.
Physical button presses on the Ulanzi TC001 (left, middle, right) update the lastButtonPress state. You can create Indigo triggers on this state to respond to button events.
All actions are available under Device Actions when configuring Action Groups, Triggers, or Schedules for an AWTRIX Clock device. Each action can also be called from scripts using executeAction() with the action ID and props shown below.
Display a temporary notification on the clock.
Action ID: sendNotification
text
string
""
Message to display
icon
string
""
Icon ID from the AWTRIX icon database or filename
color
string
""
Text colour in hex (e.g. #FF0000)
duration
string
"5"
Display time in seconds
sound
string
""
RTTTL sound filename from the device's MELODIES folder
hold
bool
False
Hold notification on screen until explicitly dismissed
rainbow
bool
False
Cycle text through rainbow colours
Dismiss a held notification. No props required.
Action ID: dismissNotification
Switch to the next or previous app in the app loop.
Action ID: navigateApp
direction
string
"next"
"next" or "previous"
Create or update a custom app that appears in the app loop.
Action ID: updateCustomApp
appName
string
required
Unique app name (no spaces)
text
string
""
Text to display
icon
string
""
Icon ID or filename
color
string
""
Text colour (hex)
duration
string
""
Display duration in seconds
lifetime
string
"0"
Auto-remove after N seconds without update (0 = never)
rainbow
bool
False
Rainbow text effect
noScroll
bool
False
Disable text scrolling
progress
string
"-1"
Progress bar value 0-100 (-1 = off)
progressC
string
""
Progress bar colour (hex)
Remove a custom app from the app loop by name.
Action ID: removeCustomApp
appName
string
required
App name to remove
Set one of three coloured indicator dots on the right side of the display.
Action ID: setIndicator
indicatorNumber
string
"1"
"1" (upper right), "2" (right side), "3" (lower right)
color
string
"#FF0000"
Indicator colour (hex)
blink
string
"0"
Blink interval in ms (0 = off)
fade
string
"0"
Fade interval in ms (0 = off)
Turn off an indicator dot.
Action ID: clearIndicator
indicatorNumber
string
"1"
"1", "2", or "3"
Jump directly to a specific app by name.
Action ID: switchApp
appName
string
required
Built-in: Time, Date, Temperature, Humidity, Battery. Or your custom app name.
Play a sound on the device's buzzer.
Action ID: playSound
soundType
string
"file"
"file" (RTTTL filename from MELODIES folder) or "rtttl" (inline RTTTL string)
sound
string
required
Filename (without extension) or full RTTTL string
Turn the entire LED matrix into a coloured background light.
Action ID: setMoodLight
moodMode
string
"color"
"color", "kelvin", or "off"
brightness
string
"170"
Brightness 0-255 (colour and kelvin modes)
moodColor
string
"#FFFFFF"
Colour hex (colour mode only)
kelvin
string
"2300"
Colour temperature (kelvin mode only)
Change device settings without using the AWTRIX web interface. Only include the settings you want to change. Leave props as empty string or "unchanged" to skip them.
Action ID: updateSettings
ATIME
string
""
App display duration (seconds)
ATRANS
string
"unchanged"
Auto app switching: "true", "false", or "unchanged"
TEFF
string
"unchanged"
Transition effect 0-10, or "unchanged"
TSPEED
string
""
Transition speed (ms)
SSPEED
string
""
Scroll speed (%)
TCOL
string
""
Global text colour (hex)
UPPERCASE
string
"unchanged"
Force uppercase: "true", "false", or "unchanged"
ABRI
string
"unchanged"
Auto brightness: "true", "false", or "unchanged"
CEL
string
"unchanged"
Celsius: "true", Fahrenheit: "false", or "unchanged"
VOL
string
""
Volume 0-30
Put the device to sleep for a specified duration. The device wakes automatically when the timer expires, or when the middle button is pressed. Use Turn Off for indefinite power off.
Action ID: sleepDevice
sleepSeconds
string
"3600"
Sleep duration in seconds
Reboot the AWTRIX device. No props required.
Action ID: rebootDevice
Send any MQTT message to the device for advanced use cases not covered by the built-in actions.
Action ID: sendRawJson
topicSuffix
string
required
Topic suffix appended to the device's MQTT prefix (e.g. notify, settings, custom/myapp)
payload
string
""
Valid JSON string, or leave empty for topics that require no payload
All text fields in actions support Indigo variable substitution markup:
Markup Description Example%%v:VARID%%
Indigo variable value
%%v:12345%%
%%d:DEVID:STATEID%%
Device state value
%%d:67890:temperature%%
%%t:"FORMAT"%%
Formatted timestamp
%%t:"%H:%M"%%
For example, a notification text of Indoor: %%d:67890:temperature%%F would resolve at runtime to something like Indoor: 72.5F.
All plugin actions are scriptable from Indigo's built-in Python scripting:
awtrix = indigo.server.getPlugin("com.autologplugin.indigoplugin.awtrix3")
if awtrix.isEnabled():
awtrix.executeAction("sendNotification", deviceId=12345, props={
"text": "Hello from a script!",
"icon": "2056",
"color": "#FF0000",
"duration": "10"
})
Available action IDs: sendNotification, dismissNotification, navigateApp, updateCustomApp, removeCustomApp, setIndicator, clearIndicator, switchApp, playSound, sendRawJson, setMoodLight, updateSettings, sleepDevice, rebootDevice
Refer to the action descriptions above for the complete list of available props for each action.
This project is licensed under the MIT License. Copyright © 2026 Autolog.
| Released on: | March 4, 2026 |
| Requires: | Indigo v2025.1.0+ |
| Downloaded: | 0 times |
| Download this release | |
See README.MD