Hey lovely HA community,
It’s been really annoying that those displays have been reverse engineered already but there was no integration. It’s been a paperweight on my desk for months… sooo I just finished building one. iDotMatrix-HomeAssistant
Works with your local adapter or ESPHome Bluetooth Proxies (so range isn’t an issue). auto-discovery included
Send scrolling messages from HA with custom Fonts, Colours, and Speed.
“Fun Text” entity that animates messages word-by-word in random colours (great for notification scripts).
Autosize: Toggle a “Perfect Fit” switch to automatically resize text to fit the screen without scrolling.
Clock Sync: Keeps the device time effectively synced with HA.
Zero cloud dependencies. Obviously.
I own 32x32 so tested it well, but for other sizes I have no idea if it will work, do let me know ![]()
Technically much more is possible as we can push images onto those pixel boards. That’s how my integration is able to allow for much more flexibility with the text to display than the official app. Perhaps future release will include displaying whatever has been provided in a picture entity. But for now, you can do pretty much anything text related, for example:
Have a custom clock using a script that updates every minute with the text “11:30”, you can change fonts and colours. Use fun_text to display different colours each time.
alias: Time LED
description: Show current time on iDotMatrix
triggers:
- trigger: time_pattern
minutes: /1
conditions: []
actions:
- action: text.set_value
target:
entity_id:
- text.idm_3fb639_fun_text
data:
value: "{{ now().strftime('%H:%M') }}"
mode: single
Or display current sensor value, such as temperature:
alias: LED Temperature
description: Show average temperature on iDotMatrix when it changes
triggers:
- trigger: state
entity_id: sensor.temperature_average
conditions: []
actions:
- variables:
t: "{{ states('sensor.temperature_average') }}"
u: >-
{{ state_attr('sensor.temperature_average','unit_of_measurement') or
'°C' }}
- action: text.set_value
data:
value: "{{ t }}{{ u }}"
target:
entity_id: text.idotmatrix_display_text
mode: single
Enjoy! And if you spot any bugs then preferably fix them for all of us xx