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:
Das ist YAML, quasi die Standard Sprache in HomeAssistant.
Aber mal ne andere Frage. Warum nutzt Du nicht das wie oben beschrieben und nimmst den Link, den ich Dir gegeben hatte. Ja, der ist für Alexa benachrichtigungen, aber lässt sich ja total Einfach auf alle möglichen Benachrichtigungen anpassen. Und ich lasse mich ja auch am Tag vor der Abholung um 13 Uhr daran erinnern.
Ich hatte auch mal damit experimentiert, das dann eine Karte aufploppt, die mir die morgige Abholung nochmal deutlich macht, nachher aber sein lassen, da es mir ausreicht, wenn Alexa mich antreibt.
 
Wenn ich keine Lösung finde, schaue ich mir das noch mal an. Aber mir ist die optische Anzeige auf dem Tablet lieber (das Ding hängt an der Wand). Ich brauche die immer wiederkehrende Erinnerung am Tag, ein einzelner Push reicht mir nicht ;)
 
Wenn ich keine Lösung finde, schaue ich mir das noch mal an. Aber mir ist die optische Anzeige auf dem Tablet lieber (das Ding hängt an der Wand). Ich brauche die immer wiederkehrende Erinnerung am Tag, ein einzelner Push reicht mir nicht ;)
Auch das wäre sicher total einfach zu machen.
Die normale TrashCard, wie oben beschrieben, aber dann nur EINE Abholung anzeigen lassen. Also z.B. "Biomüll Morgen".
Bei der Sichtbarkeit dann eine Bedingung, das die nur angezeigt wird, wenn die Tage kleiner als 1 sind (müßte ich mir aber mal genauer ansehen).
Heißt, die Karte wird nur angezeigt, wenn die Zeit bis zur Abholung weniger als 1 Tag ist und zeigt Dir dann die entsprechende Kachel oder auch die entsprechende Tonne an.
Meld dich halt einfach, wenn Du sonst keine Lösung findest.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.680
Beiträge
64.125
Mitglieder
6.937
Neuestes Mitglied
Blackhawk50000
Zurück
Oben