Home Assistant Integration for the OpenEPaperLink project
Feature Request and code contributions are welcome!
Every sensor of the tags is exposed in Home Assistant. Every tag and the AP is exposed as a device.
This Service call draws a image local in home assistant, and will send it to the EPaper AP afterwards. To not draw the inside of the rectangle use null
as the fill
color value.
Example Call:
service: open_epaper_link.drawcustom
target:
entity_id:
- open_epaper_link.0000021EC9EC743A
data:
background: white
rotate: 270
ttl: 300
payload:
- type: rectangle
outline: red
fill: white
width: 5
x_start: 10
y_start: 10
x_end: 185
y_end: 240
- type: line
fill: red
width: 3
x_start: 0
y_start: 237
x_end: 196
y_end: 240
- type: text
value: "Hello World!"
font: "ppb.ttf"
x: 0
"y": 0
size: 40
color: red
- type: icon
value: account-cowboy-hat
x: 60
y: 120
size: 120
color: red
Supported payload types, see drawcustom payload types
Download an image from the provided url and if required, resized it for the esl it should be displayed on.
This requires that the esl has checked in once before fo Home Assistant knows the hardware type of it so if this service fail, wait 10 to 20 minutes.
Displays 5 (or up to 10) lines of text on a small 1.54" esl. If a text line contains a newline (\n), it will be split in 2 lines. Only works on 1.54" M2 displays.
Displays 4 (or up to 8) lines of text on a 2.9" esl. If a text line contains a newline, it will be split in 2 lines. Only works on 2.9" M2 displays.
Go to Developer Tools, Services, select the OpenEPaperLink: 4 Line Display service and paste the below in to the YAML editor. Replace the sensor names in curly brackets with values from your own system. Note that floats work better when rounded and that all numbers work better when converted to strings.
service: open_epaper_link.lines4
target:
entity_id:
- open_epaper_link.0000021EDE313B15
data:
line1: " Time: {{ states('sensor.time') | string }} "
line2: " LR Temp: {{ state_attr('climate.living_room_2','current_temperature') | string }} C "
line3: " Yest. Elec {{ state_attr('sensor.electricity_yesterday_previous_accumulative_consumption','total') | round(2) | string }} kWh "
line4: "Car: {{ states('sensor.car_state_of_charge') | int | string }} % / {{ ((states('sensor.id_3_pro_performance_range')) | float / 1.609344) | int | string }} miles {{ states('sensor.bins') }} "
border: r
format1: mbbw
format2: mrbw
format3: lbrw
format4: mwrb
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 "
Integrations
EXPLORE & DOWNLOAD REPOSITORIES
buttonOpenEPaperLink
DOWNLOAD
buttonopen_epaper_link
folder from latest release to custom_components
folder in your config folderAdding OpenEPaperLink to your Home Assistant instance can be done via the user interface, by using this My button:
If the above My button doesn’t work, you can also perform the following steps manually:
Add Integration
button