Waste Collection 2025 - OpenEPaperLink/Home_Assistant_Integration GitHub Wiki
There where some changes with the update of the integration. My examples is running every 8 hours and generating a picture. You have to replace the sensors for your waste.
alias: EPaper-Müll
description: ""
triggers:
- trigger: time_pattern
hours: /8
conditions: []
actions:
- action: open_epaper_link.drawcustom
target:
device_id: abf32100cd04ddc84801d15d23030dfc
data:
background: black
rotate: 0
payload:
- type: line
fill: red
width: 3
x_start: 5
y_start: 56
x_end: 121
y_end: 56
- type: line
fill: red
width: 3
x_start: 168
y_start: 56
x_end: 290
y_end: 56
- type: line
fill: red
width: 3
x_start: 148
y_start: 3
x_end: 148
y_end: 34
- type: line
fill: red
width: 3
x_start: 148
y_start: 60
x_end: 148
y_end: 123
- type: rectangle
outline: black
fill: >-
{{'black' if states('sensor.restmuell') == 'unknown' or
states('sensor.restmuell') | int > 1 else 'red' }}
width: 1
x_start: 5
y_start: 3
x_end: 144
y_end: 52
- type: text
value: Restmüll
font: ppb.ttf
x: 10
"y": 8
size: 18
color: >-
{{'white' if states('sensor.restmuell') == 'unknown' or
states('sensor.restmuell') | int > 1 else 'white' }}
- type: text
value: >-
{% if states('sensor.restmuell') == 'unknown' %}Unknown{% elif
states('sensor.restmuell') | int == 0 %}Heute{% elif
states('sensor.restmuell') | int == 1 %}Morgen{% else
%}{{states('sensor.restmuell')}} Tage{% endif %}
font: ppb.ttf
x: 8
"y": 33
size: 18
color: >-
{{'white' if states('sensor.restmuell') == 'unknown' or
states('sensor.restmuell') | int > 1 else 'white' }}
- type: rectangle
outline: black
fill: >-
{{'black' if states('sensor.papiertonne') == 'unknown' or
states('sensor.papiertonne') | int > 1 else 'red' }}
width: 1
x_start: 152
y_start: 3
x_end: 290
y_end: 52
- type: text
value: Papier
font: ppb.ttf
x: 180
"y": 8
size: 18
color: >-
{{'white' if states('sensor.papiertonne') == 'unknown' or
states('sensor.papiertonne') | int > 1 else 'white' }}
- type: text
value: >-
{% if states('sensor.papiertonne') == 'unknown' %}Unknown{% elif
states('sensor.papiertonne') | int == 0 %}Heute{% elif
states('sensor.papiertonne') | int == 1 %}Morgen{% else
%}{{states('sensor.papiertonne')}} Tage{% endif %}
font: ppb.ttf
x: 180
"y": 33
size: 18
color: >-
{{'white' if states('sensor.papiertonne') == 'unknown' or
states('sensor.papiertonne') | int > 1 else 'white' }}
- type: rectangle
outline: black
fill: >-
{{'black' if states('sensor.gelbetonne') == 'unknown' or
states('sensor.gelbetonne') | int > 1 else 'red' }}
width: 1
x_start: 5
y_start: 60
x_end: 144
y_end: 107
- type: text
value: Gelbe Tonne
font: ppb.ttf
x: 10
"y": 70
size: 18
color: >-
{{'white' if states('sensor.gelbetonne') == 'unknown' or
states('sensor.gelbetonne') | int > 1 else 'white' }}
- type: text
value: >-
{% if states('sensor.gelbetonne') == 'unknown' %}Unknown{% elif
states('sensor.gelbetonne') | int == 0 %}Heute{% elif
states('sensor.gelbetonne') | int == 1 %}Morgen{% else
%}{{states('sensor.gelbetonne')}} Tage{% endif %}
font: ppb.ttf
x: 10
"y": 90
size: 18
color: >-
{{'white' if states('sensor.gelbetonne') == 'unknown' or
states('sensor.gelbetonne') | int > 1 else 'white' }}
- type: rectangle
outline: black
fill: >-
{{'black' if states('sensor.gelbetonne') == 'unknown' or
states('sensor.gelbetonne') | int > 1 else 'red' }}
width: 1
x_start: 152
y_start: 60
x_end: 290
y_end: 107
- type: text
value: Biotonne
font: ppb.ttf
x: 180
"y": 70
size: 18
color: >-
{{'white' if states('sensor.papiertonne') == 'unknown' or
states('sensor.papiertonne') | int > 1 else 'white' }}
- type: text
value: >-
{% if states('sensor.biotonne') == 'unknown' %}Unknown{% elif
states('sensor.biotonne') | int == 0 %}Heute{% elif
states('sensor.biotonne') | int == 1 %}Morgen{% else
%}{{states('sensor.biotonne')}} Tage{% endif %}
font: ppb.ttf
x: 180
"y": 90
size: 18
color: >-
{{'white' if states('sensor.biotonne') == 'unknown' or
states('sensor.biotonne') | int > 1 else 'white' }}
- type: icon
value: circle
x: 113
"y": 20
size: 70
color: black
- type: icon
value: trash-can
x: 123
"y": 30
size: 50
color: >-
{{ 'red' if (([(14 if states('sensor.abfallrestmuell') == 'unknown'
else states('sensor.abfallrestmuell')),(14 if
states('sensor.papiertonne') == 'unknown' else
states('sensor.papiertonne')),(14 if states('sensor.biotonne') ==
'unknown' else states('sensor.biotonne')),(14 if
states('sensor.gelbetonne') == 'unknown' else
states('sensor.gelbetonne')) ]) | min ) | int < 2 else 'white' }}
- type: rectangle
outline: red
fill: white
width: 2
x_start: 1
y_start: 110
x_end: 293
y_end: 126
- type: text
value: "{{ states('sensor.0000021C60873B1F_temperature') | string }} °"
font: ppb.ttf
x: 265
"y": 114
size: 13
color: black
- type: icon
value: thermometer
x: 250
"y": 111
size: 13
color: red
- type: icon
value: battery-medium
x: 3
"y": 112
size: 13
color: red
- type: text
value: >-
{{ states('sensor.0000021c60873b1f_battery_percentage') | string }}
%
font: ppb.ttf
x: 20
"y": 114
size: 13
color: black
- type: icon
value: wifi
x: 60
"y": 111
size: 13
color: red
- type: text
value: "{{ states('sensor.0000021c60873b1f_rssi') | string }} dB"
font: ppb.ttf
x: 77
"y": 114
size: 13
color: black
- type: icon
value: refresh
x: 130
"y": 111
size: 13
color: red
- type: text
value: "{{ now().strftime('%d.%m. %H:%M') }}"
font: ppb.ttf
x: 150
"y": 114
size: 13
color: black
mode: single