@Osorkon
Das sieht cool aus. Endlich einmal ein gelber Sack
Ich brauche nur Restmüll und gelber Sack
Würdest du die Icons und den Code verraten
Danke Helmut
Hier mal den Code für die Markdown Karte.
Bedarf aber denke ich, einer kleinen Erläuterung.
Hier wird der Sensor definiert, der im weiteren Verlauf, einfach als variable aufgerufen wird. Also der Sensor, der die Termine und den Typ als Liste führt.
{% set sensor = "sensor.abfallnaechster" %}
Bei euch heisst er vielleicht sensor.next_waste_collection_type
oder auch ganz anders.
Im Prinzip wird die ganze Liste Durchgegangen angefangen mit dem Listen Index [0]
Für den ersten Listen Eintrag und dann mit [1] für den zweiten Listen Eintrag usw.
So erfolgt die Sortiereung.
Am ende dann noch die Zeilen, die die Abholung in Tagen ausgibt.
Auch wieder generisch ermittelt. Über den Namen von Typ. Das heißt bei Papier,
wird der Sensor sensor.papier und beim Restmüll, der Sensor sensor.restmuell aufgerufen. D.h. bei mir heißen die Sensoren genau so wie der Typ.
{% set sensor = ((states[sensor].attributes.values() | list)[0]) |
replace(" ","") | replace("ü","ue") |lower %} ##### <center>{{
states.sensor[sensor].state }}</center>
Der Komplete code für die Raster Karte mit 4 Markdown Karten, sieht dann bei mir so aus.
square: true
type: grid
cards:
- type: markdown
content: >
{% set sensor = "sensor.abfallnaechster" %} # {%
if((states[sensor].attributes.values() | list)[0]) =='Papier' %} <font
color="yellow"><center>![Image](/local/bilder/trash/blau.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[0]) =='Bioabfall'
%} <font
color="yellow"><center>![Image](/local/bilder/trash/bio.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[0]) =='Restmüll' %}
<font
color="yellow"><center>![Image](/local/bilder/trash/restmuell.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[0]) =='Gelber Sack'
%} <font
color="yellow"><center>![Image](/local/bilder/trash/gelbersack.png)</center></font>
{% elif ((states[sensor].attributes.values() | list)[0]) =='Gartenabfall'
%} <font
color="yellow"><center>![Image](/local/bilder/trash/garten.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[0])
=='Problemstoffsammlung' %} <font
color="yellow"><center>![Image](/local/bilder/trash/schadstoffe.svg)</center></font>
{% endif %}
{% set sensor = ((states[sensor].attributes.values() | list)[0]) |
replace(" ","") | replace("ü","ue") |lower %} ##### <center>{{
states.sensor[sensor].state }}</center>
- type: markdown
content: >
{% set sensor = "sensor.abfallnaechster" %} #{% if
((states[sensor].attributes.values() | list)[1]) =='Papier' %} <font
color="yellow"><center>![Image](/local/bilder/trash/blau.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[1]) =='Bioabfall'
%} <font
color="yellow"><center>![Image](/local/bilder/trash/bio.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[1]) =='Restmüll' %}
<font
color="yellow"><center>![Image](/local/bilder/trash/restmuell.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[1]) =='Gelber Sack'
%} <font
color="yellow"><center>![Image](/local/bilder/trash/gelbersack.png)</center></font>
{% elif ((states[sensor].attributes.values() | list)[1]) =='Gartenabfall'
%} <font
color="yellow"><center>![Image](/local/bilder/trash/garten.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[1])
=='Problemstoffsammlung' %} <font
color="yellow"><center>![Image](/local/bilder/trash/schadstoffe.svg)</center></font>
{% endif %}
{% set sensor = ((states[sensor].attributes.values() | list)[1]) |
replace(" ","") | replace("ü","ue") |lower %} ##### <center>{{
states.sensor[sensor].state }}</center>
- type: markdown
content: >
{% set sensor = "sensor.abfallnaechster" %} # {% if
((states[sensor].attributes.values() | list)[2]) =='Papier' %} <font
color="yellow"><center>![Image](/local/bilder/trash/blau.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[2]) =='Bioabfall'
%} <font
color="yellow"><center>![Image](/local/bilder/trash/bio.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[2]) =='Restmüll' %}
<font
color="yellow"><center>![Image](/local/bilder/trash/restmuell.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[2]) =='Gelber Sack'
%} <font
color="yellow"><center>![Image](/local/bilder/trash/gelbersack.png)</center></font>
{% elif ((states[sensor].attributes.values() | list)[2]) =='Gartenabfall'
%} <font
color="yellow"><center>![Image](/local/bilder/trash/garten.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[2])
=='Problemstoffsammlung' %} <font
color="yellow"><center>![Image](/local/bilder/trash/schadstoffe.svg)</center></font>
{% endif %}
{% set sensor = ((states[sensor].attributes.values() | list)[2]) |
replace(" ","") | replace("ü","ue") |lower %} ##### <center>{{
states.sensor[sensor].state }}</center>
- type: markdown
content: >
{% set sensor = "sensor.abfallnaechster" %} # {% if
((states[sensor].attributes.values() | list)[3]) =='Papier' %} <font
color="yellow"><center>![Image](/local/bilder/trash/blau.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[3]) =='Bioabfall'
%} <font
color="yellow"><center>![Image](/local/bilder/trash/bio.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[3]) =='Restmüll' %}
<font
color="yellow"><center>![Image](/local/bilder/trash/restmuell.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[3]) =='Gelber Sack'
%} <font
color="yellow"><center>![Image](/local/bilder/trash/gelbersack.png)</center></font>
{% elif ((states[sensor].attributes.values() | list)[3]) =='Gartenabfall'
%} <font
color="yellow"><center>![Image](/local/bilder/trash/garten.svg)</center></font>
{% elif ((states[sensor].attributes.values() | list)[3])
=='Problemstoffsammlung' %} <font
color="yellow"><center>![Image](/local/bilder/trash/schadstoffe.svg)</center></font>
{% endif %}
{% set sensor = ((states[sensor].attributes.values() | list)[3]) |
replace(" ","") | replace("ü","ue") |lower %} ##### <center>{{
states.sensor[sensor].state }}</center>
columns: 4
Die einzelnen Sensoren für die unterschiedlichen Typen, sind bei mir so aufgebaut.
Bsp. Papier Sensor:
- platform: waste_collection_schedule
name: waste_collection_papier
details_format: upcoming
value_template: >-
{% if value.daysTo == 0 %}
Heute
{% elif value.daysTo == 1 %}
Morgen
{% else %}
in {{value.daysTo}} Tagen{% endif %}
types:
- Papier
Gruß
Osorkon
@Osorkon
Herzlichen Dank. Das ist ja eine Doktorarbeit
Das muß ich mir wirklich in Ruhe ansehen
Gruß
Helmut
Könntest du eventuell so ein kleines HOWTo bauen?
Sieht super aus. Kannst Du vielleicht den Code mit uns teilen?
Für den Button auf der Startseite
type: custom:mushroom-template-card
primary: 'Nächster Abfall-Termin: {{states(''sensor.abfallallgemeinto'')}}'
secondary: >-
{{states('sensor.abfallallgemeinweekday') }} den
{{states('sensor.abfallallgemeindate') }}
{{states('sensor.abfallallgemeinname') }}
icon: mdi:trash-can
entity: sensor.abfallallgemein
icon_color: |-
{% if is_state('sensor.abfallallgemeinname', 'Restmüll') %}
green
{% elif is_state('sensor.abfallallgemeinname', 'Gelber Sack') %}
amber
{% elif is_state('sensor.abfallallgemeinname', 'Papiertonne') %}
blue
{% else %}
pink
{% endif %}
tap_action:
action: navigate
navigation_path: /dashboard-abfallkalender/termine
hold_action:
action: none
double_tap_action:
action: none
picture: |-
{% if is_state('sensor.abfallallgemeinname', 'Restmüll') %}
/local/abfall/tonne-gruen330.png
{% elif is_state('sensor.abfallallgemeinname', 'Gelber Sack') %}
/local/abfall/sack-gelb.png
{% elif is_state('sensor.abfallallgemeinname', 'Papiertonne') %}
/local/abfall/tonne-blau330.png
{% else %}
/local/abfall/tonne-rot330.png
{% endif %}
multiline_secondary: true
card_mod:
style: |
ha-card {
{% if states('sensor.abfallallgemeinto2') | float < 1 %}
--ha-card-background: red;
{% elif states('sensor.abfallallgemeinto2') | float < 2 %}
--ha-card-background: pink;
{% else %}
--ha-card-background: transparent;
{% endif %}
}
und die Unterseite
## Nächste Abfalltermine:
***
{% set ns = namespace(x=[]) %}
{% for entity in expand('sensor.gruppe_abfall') %}
{% set ns.x = ns.x + [{"name": entity.name, "state": entity.state | int(0)}] %}
{% endfor %}
{% for entity in ns.x | sort(attribute='state') -%}
### in {{ entity.state }} Tagen am {% if 'Papier' in (entity.name) %} {{states('sensor.abfallpapiertonnedate')}}
{% elif 'Rest' in (entity.name) %} {{states('sensor.abfallrestmuelldate')}}
{% elif 'Gelber' in (entity.name) %} {{states('sensor.abfallgelbersackdate')}}
{% endif %}
{% if 'Papier' in (entity.name) %}
## ![Image](/local/abfall/tonne-blau51.png) {{(entity.name)}}
{% elif 'Rest' in (entity.name) %}
## ![Image](/local/abfall/tonne-gruen50.png) {{(entity.name)}}
{% elif 'Gelber' in (entity.name) %}
## ![Image](/local/abfall/sack-gelb50.png) {{(entity.name)}}
{% endif %}
***
{% endfor %}
Bilder kannst Du dir ja selbst auswählen.
Bei Fragen einfach noch mal anschreiben.