Spirou
New member
Ja das es etwas Eigenes ist, war mir schon klar. Aber ich dachte nur damit es für die User einfacher ist umzusetzen. Also Copy&Paste 
Ok Prima, dann versuche ich das hier mal geordnet zu zeigen:
sensor.nachste_abholung
sensor.gelbe_tonne & sensor.blaue_tonne
Müllabholung Heute
Müllabholung Morgen
Code für die Karte (Design):
Hoffe das ist so richtig eingetragen.
Danke!
Ok Prima, dann versuche ich das hier mal geordnet zu zeigen:
sensor.nachste_abholung
Code:
{{ value.types | join(", ") }}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{ value.daysTo }} Tagen{% endif %}
sensor.gelbe_tonne & sensor.blaue_tonne
Code:
{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{ value.daysTo }} Tagen{% endif %}
Müllabholung Heute
Code:
{%- set SENSORSTATE = [
('Blaue', 'TONNE', states.sensor.blaue_tonne.state),
('Gelbe', 'TONNE', states.sensor.gelbe_tonne.state)
] %}
{%- set DAY = 'Heute' %}
{%- set SACKS = namespace(values=[]) %}
{%- set TONNEN = namespace(values=[]) %}
{%- set SAMMLUNGEN = namespace(values=[]) %}
{# Trenne Einträge basierend auf der zweiten Spalte #}
{% for ITEM in SENSORSTATE %}
{% if ITEM[1] == 'SACK' and ITEM[2] == DAY %}
{% set SACKS.values = SACKS.values + [' den ' ~ ITEM[0]] %}
{% elif ITEM[1] == 'TONNE' and ITEM[2] == DAY %}
{% set TONNEN.values = TONNEN.values + [' die ' ~ ITEM[0]] %}
{% elif ITEM[1] == 'SAMMLUNG' and ITEM[2] == DAY %}
{% set SAMMLUNGEN.values = SAMMLUNGEN.values + [' die ' ~ ITEM[0]] %}
{% endif %}
{% endfor %}
{# Ausgabe der Ergebnisse #}
{%- if SACKS.values | length > 0 or TONNEN.values | length > 0 or SAMMLUNGEN.values | length > 0 %}
Du musst {{ DAY | lower }}
{%- for ITEM in SACKS.values %}
{%- if not loop.first %}
{%- if loop.last %} und
{%- else %},
{%- endif %}
{%- endif %}{{ ITEM }}
{%- endfor %}
{%- if SACKS.values | length > 0 %} Sack{%- endif %}
{%- if TONNEN.values | length > 0 and SACKS.values | length > 0 and SAMMLUNGEN.values | length > 0 %},
{%- elif TONNEN.values | length > 0 and SACKS.values | length > 0 and SAMMLUNGEN.values | length == 0 %}, sowie{% endif %}
{%- for ITEM in TONNEN.values %}
{%- if not loop.first %}
{%- if loop.last %} und
{%- else %},
{%- endif %}
{%- endif %}{{ ITEM }}
{%- endfor %}
{%- if TONNEN.values | length > 0 %} Tonne{%- endif %}
{%- if SAMMLUNGEN.values | length > 0 and (TONNEN.values | length > 0 or SACKS.values | length > 0) %}, sowie{% endif %}
{%- for ITEM in SAMMLUNGEN.values %}
{%- if not loop.first %}
{%- if loop.last %} und
{%- else %},
{%- endif %}
{%- endif %}{{ ITEM }}
{%- endfor %}
{%- if SAMMLUNGEN.values | length > 0 %} Sammlung{% endif %} rausstellen!
{%- else %}
Du musst {{ DAY | lower }} keine Tonne rausstellen.
{%- endif %}
Müllabholung Morgen
Code:
{%- set SENSORSTATE = [
('Blaue', 'TONNE', states.sensor.blaue_tonne.state),
('Gelbe', 'TONNE', states.sensor.gelbe_tonne.state)
] %}
{%- set DAY = 'Morgen' %}
{%- set SACKS = namespace(values=[]) %}
{%- set TONNEN = namespace(values=[]) %}
{%- set SAMMLUNGEN = namespace(values=[]) %}
{# Trenne Einträge basierend auf der zweiten Spalte #}
{% for ITEM in SENSORSTATE %}
{% if ITEM[1] == 'SACK' and ITEM[2] == DAY %}
{% set SACKS.values = SACKS.values + [' den ' ~ ITEM[0]] %}
{% elif ITEM[1] == 'TONNE' and ITEM[2] == DAY %}
{% set TONNEN.values = TONNEN.values + [' die ' ~ ITEM[0]] %}
{% elif ITEM[1] == 'SAMMLUNG' and ITEM[2] == DAY %}
{% set SAMMLUNGEN.values = SAMMLUNGEN.values + [' die ' ~ ITEM[0]] %}
{% endif %}
{% endfor %}
{# Ausgabe der Ergebnisse #}
{%- if SACKS.values | length > 0 or TONNEN.values | length > 0 or SAMMLUNGEN.values | length > 0 %}
Du musst {{ DAY | lower }}
{%- for ITEM in SACKS.values %}
{%- if not loop.first %}
{%- if loop.last %} und
{%- else %},
{%- endif %}
{%- endif %}{{ ITEM }}
{%- endfor %}
{%- if SACKS.values | length > 0 %} Sack{%- endif %}
{%- if TONNEN.values | length > 0 and SACKS.values | length > 0 and SAMMLUNGEN.values | length > 0 %},
{%- elif TONNEN.values | length > 0 and SACKS.values | length > 0 and SAMMLUNGEN.values | length == 0 %}, sowie{% endif %}
{%- for ITEM in TONNEN.values %}
{%- if not loop.first %}
{%- if loop.last %} und
{%- else %},
{%- endif %}
{%- endif %}{{ ITEM }}
{%- endfor %}
{%- if TONNEN.values | length > 0 %} Tonne{%- endif %}
{%- if SAMMLUNGEN.values | length > 0 and (TONNEN.values | length > 0 or SACKS.values | length > 0) %}, sowie{% endif %}
{%- for ITEM in SAMMLUNGEN.values %}
{%- if not loop.first %}
{%- if loop.last %} und
{%- else %},
{%- endif %}
{%- endif %}{{ ITEM }}
{%- endfor %}
{%- if SAMMLUNGEN.values | length > 0 %} Sammlung{% endif %} rausstellen!
{%- else %}
Du musst {{ DAY | lower }} keine Tonne rausstellen.
{%- endif %}
Code für die Karte (Design):
Code:
type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.mullabholung_heute
show_icon: false
show_name: false
show_state: true
style:
top: 10%
left: 50%
width: 100%
styles:
state:
- font-size: 1.5em
- font-family: Arial Rounded MT
- color: var(--primary-color)
- white-space: unset
- text-overflow: unset
- word-break: break-word
- visibility: >
[[[ return entity.state === 'none' ? 'hidden' : 'visible'; ]]]
card:
- background: transparent
- border: none
- padding-bottom: 0
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.blaue_tonne
show_entity_picture: true
entity_picture: /local/muell/blau.png
size: 40%
show_state: false
show_name: false
styles:
card:
- border: none
- background: transparent
- padding: 1em 0 0 0
state:
- value: Heute
entity_picture: /local/muell/blau.png
styles:
entity_picture:
- animation:
- blink 1s linear infinite
- type: custom:button-card
entity: sensor.blaue_tonne
show_name: true
show_icon: false
show_state: true
styles:
name:
- font-family: Arial Rounded MT
- color: var(--primary-color)
state:
- font-family: Arial Rounded MT
card:
- background-color: transparent
- border: none
- padding: 0 0 1em 0
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.gelbe_tonne
show_entity_picture: true
entity_picture: /local/muell/gelb.png
size: 40%
show_state: false
show_name: false
styles:
card:
- border: none
- background: transparent
- padding: 1em 0 0 0
state:
- value: Heute
entity_picture: /local/muell/gelb.png
styles:
entity_picture:
- animation:
- blink 1s linear infinite
- type: custom:button-card
entity: sensor.gelbe_tonne
show_name: true
show_icon: false
show_state: true
styles:
name:
- font-family: Arial Rounded MT
- color: var(--primary-color)
state:
- font-family: Arial Rounded MT
card:
- background-color: transparent
- border: none
- padding: 0 0 1em 0
Hoffe das ist so richtig eingetragen.
Danke!