Das NEUE "Waste Collection Schedule" und wie man es einrichtet.

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
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!
 
Ja, richtig eingetragen schon, aber WOW, was hat er den da alles zusammen gebastelt. Wozu das alles sein soll, keine Ahnung.
Sorry, aber bei dem Durcheinander bin ich raus.
 
scheint mir nicht so schwierig. Suche nach Texten mit heute/morgen und ersetze sie durch was auch immer.

Alternativ suche nach DAY
denn: {%- set DAY = 'Morgen' %}
 
Zuletzt bearbeitet:
scheint mir nicht so schwierig. Suche nach Texten mit heute/morgen und ersetze sie durch was auch immer.
DAS, denke ich, ist eben falsch.
Aus einem "Die Tonne wird MORGEN abgeholt" würde dann ja ein "Die Tonne wird HEUTE abgeholt", was aber definitiv falsch wäre.
Wie wir auf seinem Foto ja sehen, steht da "Restmüll morgen" und daraus darf man kein "Restmüll HEUTE" machen.
 
@u5zzug JA so in die richtung hatte ich auch schon gedacht. Oder das man irgendwo statt Day noch schreiben kann Day -1 oder so ähnlich. Aber da hab ich leider nicht so viel Plan wie man Tage setzen kann.

EDIT: Weiß jemand, welche Sprache das ist?
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.680
Beiträge
64.093
Mitglieder
6.935
Neuestes Mitglied
Syndikat
Zurück
Oben