Home Assistant Integration for the OpenEPaperLink project, enabling control and monitoring of electronic shelf labels (ESLs) through Home Assistant.
- Each tag and AP is exposed as a device in Home Assistant
- Sensor data for each tag:
- Temperature
- Battery voltage and percentage
- Signal strength (RSSI)
- Link Quality Index (LQI)
- Last seen timestamp
- Next update/checkin time
- Wakeup reason
- Device capabilities
- Sensor data for each AP:
- DBSize
- Free heap
- Free space
- IP address
- Recordcount
- Run state
- AP state
- Systime
- Temperature
- Wi-Fi RSSI
- Wi-Fi SSID
- Wi-Fi state
- Alias
- Bluetooth
- IEEE 802.15.4 channel selection
- Language selection
- Lock tag inventory setting
- Maximum sleep duration settings
- No-updates time window configuration
- AP Image preview setting
- RGB LED brightness control
- TFT brightness control
- Time zone configuration
- Wi-Fi power settings
Several services for controlling the display content:
The most flexible and powerful service for creating custom displays. Supports:
- Text with multiple fonts and styles
- Shapes (rectangles, circles, lines)
- Icons from Material Design Icons
- QR codes
- Images from URLs
- Plots of Home Assistant sensor data
- Progress bars
View full drawcustom documentation →
- dlimg: Download and display images from URLs
- lines5: Display 5 lines of text (1.54" displays only)
- lines4: Display 4 lines of text (2.9" displays only)
Services for managing ESL devices:
clear_pending
: Clear pending updatesforce_refresh
: Force display refreshreboot_tag
: Reboot tagscan_channels
: Initiate channel scanreboot_ap
: Reboot the access point
- Click on HACS in the Home Assistant menu
- Click
Integrations
- Click the
EXPLORE & DOWNLOAD REPOSITORIES
button - Search for
OpenEPaperLink
- Click the
DOWNLOAD
button - Restart Home Assistant
- Download the
open_epaper_link
folder from the latest release - Copy it to your
custom_components
folder - Restart Home Assistant
Add OpenEPaperLink to your Home Assistant instance using this button:
- Browse to your Home Assistant instance
- Go to Settings → Devices & Services
- Click the
Add Integration
button in the bottom right - Search for and select "OpenEPaperLink"
- Follow the on-screen instructions
service: open_epaper_link.drawcustom
target:
entity_id: open_epaper_link.0000021EC9EC743A
data:
background: white
rotate: 0
payload:
- type: text
value: "Hello World!"
font: "ppb.ttf"
x: 10
y: 10
size: 40
color: red
service: open_epaper_link.drawcustom
target:
entity_id: open_epaper_link.0000021EC9EC743A
data:
background: white
payload:
- type: progress_bar
x_start: 10
y_start: 10
x_end: 180
y_end: 30
progress: 75
fill: red
show_percentage: true
- type: icon
value: mdi:battery-70
x: 190
y: 20
size: 24
If a template with a numeric sensor value still does not work, try appending a non-numeric string (can't be a blank string or just a space) e.g.
" {{ (states('sensor.car_range') | float / 1.609344 ) | int }} mi "
- Feature requests and bug reports are welcome! Please open an issue on GitHub
- Pull requests are encouraged
- Join the Discord server to discuss ideas and get help