Automation mit Abfallkalender

Hallo Robert,

ich habe deinen Code mal ausprobiert. Funktioniert soweit.
Erstmal vielen Dank dafür!!

Allerdings bewegt sich bei mir kein Müllwagen und es blinkt auch nichts.

grafik

Hast du evtl. noch einen Tipp woran das liegt?

Viele Grüße
Markus

Card_Mod hat sich ja zwischenzeitlich geändert, oder nicht?

Hier der Code, der bei mir funktioniert. Sieht aber so aus wie weiter oben…

Dass Müllauto fährt auch nur, wenn Abholung ist. Spiel mal mit dieser Zeile rum

  {% if next_pickup == todays_date %}

Wenn Du es auf “ungleich” setzt, sollte das Auto ja immer fahren…

    card_mod:
      style: |
        {% set next_pickup = states.sensor.abfallnaechster.attributes | first |
          as_timestamp |timestamp_custom("%d.%m.%Y") %}

        {% set todays_date = now().timestamp() | timestamp_custom('%d.%m.%Y') %}

        {% if next_pickup == todays_date %}

          ha-card { 
            --ha-card-border-radius: 6px; 
            --ha-card-border-color: green;
            --ha-card-border-width: 2px; 
            --card-mod-icon-color: white;

            mushroom-shape-icon { 
              --shape-color: green !important;
              --shape-color-disabled: none !important;}
          }
           
           ha-state-icon {
           animation: 2s vroom infinite;
           }

          @keyframes vroom {
            49% { opacity: -150;}
            50% { transform: translate(22px); opacity: -100; }
            51% { transform: translate(-22px); opacity: -100; }
            52% { opacity: -150; }
          }

        {% else %}

          ha-card { 
            --ha-card-border-radius: 6px; 
            --ha-card-border-color: #990000;
            --ha-card-border-width: 2px; 
            --card-mod-icon-color: white;

            mushroom-shape-icon { 
              --shape-color: #990000 !important;
              --shape-color-disabled: none !important;}
          }                    
        {% endif %}

Mein Müllauto fährt heute fleißig… :rofl:

Das nenne ich mal schnellen Service :wink:
Allerdings funzt es damit auch nicht. Siehst du vielleicht einen Fehler?

type: horizontal-stack
cards:
  - type: custom:mushroom-template-card
    primary: >-
      Nächste Abholung: {{ states.sensor.nachste_abholung.attributes.values() |
      first | replace("ASH Altpapier-Tonne", "Papier") | replace("ASH
      Wertstoff-Tonne", "Wertstoff") | replace("ASH Restmüll", "Restmüll") }}
    secondary: >-
      {# No german date variables, so we make our own #}

      {% set wochentage = ["Montag", "Dienstag", "Mittwoch", "Donnerstag",
      "Freitag", "Samstag", "Sonntag"] %} 

      {# Don't actually need the months in this code #}

      {% set monate = ["Januar", "Februar", "März", "April", "Mai", "Juni",
      "Juli", "August", "September", "Oktober", "November", "Dezember"] %}


      {# Get the next pickup date #}

      {% set next_pickup = states.sensor.nachste_abholung.attributes | first |
      as_timestamp |timestamp_custom("%d.%m.%Y") %}

      {# Get the next pickup date, MINUS the day #}

      {% set next_pickup_date_str = states.sensor.nachste_abholung.attributes |
      first | as_timestamp |timestamp_custom(", der %d.%m.%y") %}

      {# Get todays date #}

      {% set todays_date = now().timestamp() | timestamp_custom('%d.%m.%Y') %}

      {# Convert the dayname to an INT #}

      {% set next_wochentag = states.sensor.nachste_abholung.attributes | first
      | as_timestamp |timestamp_custom("%w")| int %}


      {# Is there a pickup today, then show todays date #}

      {% if next_pickup == todays_date %}
         Abholung heute!!
      {# No pickup today, so show next pickup date #}

      {% else %}
         {{ wochentage[ next_wochentag - 1 ] }}{{ next_pickup_date_str }} (Heute: {{ todays_date  }})
      {% endif %}
    icon: >-
      {% set next_pickup = states.sensor.nachste_abholung.attributes | first |
      as_timestamp |timestamp_custom("%d.%m.%Y") %}

      {% set todays_date = now().timestamp() | timestamp_custom('%d.%m.%Y') %}


      {% if next_pickup == todays_date %}
        mdi:truck-fast
      {% else %}
        mdi:trash-can-outline
      {% endif %}
    layout: vertical
    badge_color: ''
    badge_icon: ''
    icon_color: >-
      {% set next_pickup = states.sensor.nachste_abholung.attributes | first |
      as_timestamp |timestamp_custom("%d.%m.%Y") %}

      {% set todays_date = now().timestamp() | timestamp_custom('%d.%m.%Y') %}


      {% if next_pickup == todays_date %}
        green
      {% else %}
        red
      {% endif %}
    hold_action:
      action: none
    double_tap_action:
      action: none
    entity: sensor.abfallnaechster
    tap_action:
      action: none
    card_mod:
      style: |
        {% set next_pickup = states.sensor.nachste_abholung.attributes | first |
          as_timestamp |timestamp_custom("%d.%m.%Y") %}

        {% set todays_date = now().timestamp() | timestamp_custom('%d.%m.%Y') %}

        {% if next_pickup == todays_date %}

          ha-card { 
            --ha-card-border-radius: 6px; 
            --ha-card-border-color: green;
            --ha-card-border-width: 2px; 
            --card-mod-icon-color: white;

            mushroom-shape-icon { 
              --shape-color: green !important;
              --shape-color-disabled: none !important;}
          }
           
           ha-state-icon {
           animation: 2s vroom infinite;
           }

          @keyframes vroom {
            49% { opacity: -150;}
            50% { transform: translate(22px); opacity: -100; }
            51% { transform: translate(-22px); opacity: -100; }
            52% { opacity: -150; }
          }

        {% else %}

          ha-card { 
            --ha-card-border-radius: 6px; 
            --ha-card-border-color: #990000;
            --ha-card-border-width: 2px; 
            --card-mod-icon-color: white;

            mushroom-shape-icon { 
              --shape-color: #990000 !important;
              --shape-color-disabled: none !important;}
          }                    
        {% endif %}

Vielen Dank nochmal!!!
Viele Grüße
Markus

Ach ja. Heute ist übrigens Abholtag :wink:

Bin da leider auch nicht der Guru und habe das alles durch hit and miss hingebogen. Da aber bei Dir “Abholung heute” steht, muss das mit dem Datum ja grundsätzlich funktionieren.

Ich habe Deinen Code mal mit einen on-line yaml-formatter geprüft, der schimpft nicht. Also die Formatierung sollte auch ok sein.

Bei mir sieht es heute so aus. Bei Dir fehlt auch der grüne Rand. Muss also irgendwie am card_mod hängen. Wieso erkenne ich leider nicht.

Ganz blöde Frage: CARD_MOD hast Du installiert, richtig?

Ja, da scheinst du Recht zu haben.
Egal was ich beim card_mod Style ändere wirkt sich nicht aus.

Alter Schwede bin ich dämlich :crazy_face:

War natürlich nicht installiert.

Jetzt fährt der Wagen wir verrückt. Vielen Dank für dein Hilfe Robert !!

… und ich hatte mich fast nicht getraut zu fragen!!! :crazy_face: :rofl:

:wink:

noch eine kurze Frage, dann höre ich auch auf zu nerven.
Warum sind deine Icons quadratisch und meine rund und wo ist der Part an dem die Animation endet und die nächste Vorschau angezeigt wird?

you made my day :+1:

Alles gut, bin Rentner!!!

Ich benutze die MUSHROOM Karten… Finde die sind sehr klasse!!!
Deswegen fängt das bei mir oben so an…

type: horizontal-stack
cards:
  - type: custom:mushroom-template-card
    primary: >-
      Nächste Abholung: {{ states.sensor.abfallnaechster.attributes.values() |
      first | replace("Leerung: Bio", "Bio") | replace("Leerung: Papier",
      "Papier") | replace("Leerung: Wertstoff", "Gelber Sack") |
      replace("Leerung: Rest", "Restmüll") | replace("Leerung: Weihnachtsbaum",
      "Weihnachtsbäume") }}
    secondary: >-

komme hierauf nochmals zurück, da ich das noch nicht auf die Reihe bekommen habe …also keine Karte die mir alles anzeigt wie oben.

Ja, mit einer Bedingungskarte und einem Template Helfer

wie ich eine bedingt anzuzeigende Karte/Bild eingebe ist mit klar, ich frage einfach einen Helfer - nennen wir ihn - Muell_pending - ab. Aber wie bekomme ich den Zustand des Helfers on/off?

Ich habe die Abfalltermine bereits auf einem Test-dashboard, sieht so aus.
image

den yaml code habe ich mir irgendwo abgeguckt, aber nicht wirklich verstanden.

type: custom:atomic-calendar-revive
name: Abfallkalender
enableModeChange: true
entities:
  - entity: calendar.august_bebel_strasse_dreieich_sprendlingen_mein_abfallkalender_de
showLastCalendarWeek: false
disableCalEventLink: false
disableCalLocationLink: false
calShowDescription: false
dateFormat: LL
fullDayEventText: ganztägig
showProgressBar: true
showCurrentEventLine: false
showAllDayHours: false
disableLocationLink: false
showLocation: false
compactMode: false
showDate: false

der Helfer sollte den Zustand “ein” bekommen, wenn irgendeine Mülltonne in 6 Std (um 18:00H) am Folgemorgen fällig ist.

Da musst du im Template Helfer basteln. Quasi in der Art:

{% set date =  as_timestamp(Sensor.naechste_abholung) %}
{% set seit = as_timestamp(now()) - date %}
{{ seit | timestamp_custom('(%H:%M Std.)', false)  }}

Und dann halt abfragen, ob der größer -6h aber kleiner wie 0 ist

mit Template Helfern hab ich noch nie was gemacht, nur mit ganz normalen Helfern (was für mich nichts anderes als Variablen sind)

Dann wird es mal Zeit dafür :blush: einfach mal im Forum dazu ein bisschen stöbern, da findet man alles nötige dazu. Die Dokumentation von Homeassistant ist da auch sehr gut dafür

1 „Gefällt mir“

würde ich ja gerne aber es gibt keinen Sensor “naechste_abholung” bei mir.
Vielleicht meinst Du einen template Sensor?
das einzige womit ich arbeiten kann ist diese Entität.

type: entity
entity: calendar.august_bebel_strasse_dreieich_sprendlingen_mein_abfallkalender_de
state_color: true
name: Abfallkalender
attribute: message

und wenn das attribute = “message”, dann ist das Ergebnis “Altpapier” oder “Hausmüll” oder “gelber Sack” und eine Leerung steht an.
oder wenn das attribute = “Startzeit” dann ist das Ergebnis 0 Uhr am Tag der Abholung

Das war als Beispiel. Dass du das auf deinen Sensor aus waste collection Shedule anpassen musst, sollte klar sein. Aber wenn du das korrekt gemacht hast, sollte es auch einen Sensor nächste Abholung geben. Schau mal in deiner configuration.yaml oder den Enwicklungstools nach

waste collection shedule kann ich nicht verwenden und läuft auch nicht bei mir. Geht das nicht auch anders?

Moin,

darf ich fragen, wieso nicht?
Da gibt es doch Standardanbindungen an so ziemlich alles, angefangen von ics/ical, über zig Städte und Gemeinden hier aus Deutschland.

Mal gerade geschaut, das sollte doch mit ical klappen, oder wenn Du das in den Google Kalender, oder so packst.

VG
Bernd

1 „Gefällt mir“