Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Hier könnt Ihr gerne Eure Automatisierungen reinstellen, die Ihr gerne mit allen Teilen wollt. Einen kurze Beschreibung sowie ein Aussagekräftiger Titel sind erwünscht.


Antworten
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von Osorkon »

Hier mal eine Automatisierung die am Vortag eine Erinnerung Verschickt, dass man doch bitte nicht vergessen sollte den Müll rauszustellen.

Voraussetzung ist die Waste Collection Schedule Custom Integration und die jeweiligen Sensoren.

Benötigt werden 2 Sensoren.

Der erste, der das Datum für den nächsten Abholtermin wieder gibt. Im Format "dd.mm.yy" also z.B. 17.06.22

Code: Alles auswählen

- platform: waste_collection_schedule
  name: next_waste_collection_date
  details_format: upcoming
  value_template: '{{value.date.strftime("%d.%m.%y")}}'
Und einen zweiten Sensor, der den Type wiedergibt. z.B. Biotonne, Gelber Sack, Restmüll, etc.

Code: Alles auswählen

- platform: waste_collection_schedule
  name: next_waste_collection_type
  details_format: upcoming
  value_template: '{{value.types|join(", ")}}'
Egal welcher Typ zur Abholung ansteht, es reicht eine einzige Automatisierung aus.

Auslöser sind:
  • Die Uhrzeit 18 Uhr
oder
  • Wenn ich zu Hause ankomme
Bedingungen:
  • Zwischen 16 Uhr und 23:30 Uhr
  • Und wenn Morgen ein Abholtermin ansteht

Code: Alles auswählen

alias: Erinnerung Müllabfuhr
description: ''
trigger:
  - platform: time
    at: '18:00:00'
  - platform: state
    entity_id: device_tracker.xyz
    attribute: place
    to: Zuhause
condition:
  - condition: time
    after: '16:00'
    before: '23:30'
  - condition: template
    value_template: |-
      {% set morgen = (now() + timedelta(days = 1 )).strftime("%d.%m.%y")%}
      {{ states('sensor.next_waste_collection_date') == morgen}}
action:
  - service: notify.telegram_xyz
    data:
      title: Müll Erinnerung
      message: >-
        {{states('sensor.next_waste_collection_type')}} schon rausgestellt?
        Morgen ist es soweit.
mode: single
Schauen wir uns mal die Template Bedingung mal genauer an.

Code: Alles auswählen

{% set morgen = (now() + timedelta(days = 1 )).strftime("%d.%m.%y")%}
Damit wird eine Variable "morgen" erstellt und der Wert Heute + 1 Tag zugewiesen, das Format ist dd.mm.yy, also Das Datum von Morgen.

Die Bedingung lautet dann:

Code: Alles auswählen

{{ states('sensor.next_waste_collection_date') == morgen}}
Im Klartext: Entspricht das Datum des nächsten Aboltermins dem Morgigen Datum?

Als Benachrichtigung kommt ebenfalls ein template zum Einsatz.

Code: Alles auswählen

{{states('sensor.next_waste_collection_type')}} 
Hiermit erfolgt die Ausgabe des Abfall Typs, der als nächstes raus muss.
Also zum Bsp.: "Restmüll schon rausgestellt? Morgen ist es soweit."


Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von fantross »

Hallo @Osorkon,
vielen Dank für diese Anleitung. 👍🏼

Ich hätte aber noch eine Frage zu diesem Code-Schnipsel:

Code: Alles auswählen

trigger:
  - platform: time
    at: '18:00:00'
  - platform: state
    entity_id: device_tracker.xyz
    attribute: place
    to: Zuhause
Zuhause ist vermutlich der selbsterstellte Name des Standorts, oder? Wenn meine Zuhause z.B. Oase heißt, dann müsste ich den Eintrage entsprechend in Oase ändern, oder?
Wie sieht es mit dem Attribut place aus? Das ist vermutlich eine Vorgabe von HA und muss nicht geändert werden, oder?
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von Osorkon »

Guten Morgen @fantross der in der Automatisierung verwendete Device Tracker stammt bei mir aus der Life360 Integration Dieser Tracker hat neben vielen anderen Attributen auch das Attribut "Place". Diese Orte werden in der Life360 iOS App angelegt/konfiguriert.
Je nach verwendeten Device Tracker hast Du somit mehrere Möglichkeiten.

Mann kann selbstverständlich auch den Zustand (home / not_home) der Tracker als Trigger verwenden.

Code: Alles auswählen

trigger:
  - platform: state
    entity_id:
      - device_tracker.xyz
    to: home
Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von fantross »

Da ich momentan nur die HA App zur Standortbestimmung nutze, kann ich den Eintrag attribute: place also weglassen.
Die Frage zur Benennung des Standortes to: Zuhause bzw. to: home bzw. to: Was muss hier eingetragen werden wenn der Standort Oase und nicht Home heißt? hast Du für mich jetzt nicht ausreichend beantwortet, aber ich denke ich habe die Antwort auf dieser Seite gefunden: https://www.home-assistant.io/integrations/zone/
Es muss also der Name des Standortes bzw. der Zone dort eingetragen werden.

Morgen wird bei uns die Biotonne abgeholt und die Automatisation funktioniert einwandfrei. Top! 👍🏼
Aber was passiert eigentlich, wenn 2 oder 3 Mülltonnen/Abfälle am selben Tag abgeholt werden?
Konnte ich noch nicht testen, da dies bei uns erst am 27.06. der Fall sein wird... 😉
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von Osorkon »

fantross hat geschrieben: Fr 17. Jun 2022, 11:50 Da ich momentan nur die HA App zur Standortbestimmung nutze, kann ich den Eintrag attribute: place also weglassen.
Nicht können, sondern müssen! Der standard HA device Tracker besitz kein Attribut namens place.
fantross hat geschrieben: Fr 17. Jun 2022, 11:50 Die Frage zur Benennung des Standortes to: Zuhause bzw. to: home bzw. to: Was muss hier eingetragen werden wenn der Standort Oase und nicht Home heißt? hast Du für mich jetzt nicht ausreichend beantwortet, aber ich denke ich habe die Antwort auf dieser Seite gefunden: https://www.home-assistant.io/integrations/zone/
Da bringst Du jetzt device_tracker und zone durcheinander.

Die Entität der Heim Zone lautet immer zone.home. Die Kannst DU nicht änder, nur den so genannten friendly_name in Deinem Fall hast diesen in Oase geändert.

Der device_tracker hat die Zustände home und not_home (egal wie Du Deinen Home Zone benannt hast) und je nach Integration aus der er stammt, das ein oder andere Attribut.

Eine Zone dagegen, hat als Zustand die Anzahl der Personen, die sich in der Zone befinden. Und als Attribute latitude, longitude, radius, persons, etc.

Zurück zu der Automatisierung, wo Du das betreten Deiner Home Zone als Auslöser verwenden möchtest, lautet der Trigger wie oben bereits beschrieben.

Code: Alles auswählen

trigger:
  - platform: state
    entity_id:
      - device_tracker.xyz
    from: not_home
    to: home
fantross hat geschrieben: Fr 17. Jun 2022, 11:50 Aber was passiert eigentlich, wenn 2 oder 3 Mülltonnen/Abfälle am selben Tag abgeholt werden?
Der Senor

Code: Alles auswählen

- platform: waste_collection_schedule
  name: next_waste_collection_type
  details_format: upcoming
  value_template: '{{value.types|join(", ")}}'
Gibt den Type zurück. Sind mehrer Typen an einem Tag fällig, werden diese mit einem Komma getrennt ausgegeben.

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von fantross »

Osorkon hat geschrieben: Fr 17. Jun 2022, 19:37
Nicht können, sondern müssen! Der standard HA device Tracker besitz kein Attribut namens place.
Schrei mich doch nicht direkt so an... 😂
Ich dachte das sei hier das Smarthome Forum für Dummies und nicht nur für Fortgeschrittene oder Profis.
Woher soll ich als HA Dummie wissen, dass der von Dir gepostete YAML-Code Teile einer zusätzlichen Integration (Life360) enthält?
Selbst wenn ich bereits die HA Info-Seite zum Standard HA Device Tracker gelesen hätte, wäre mir das auf Anhieb nicht aufgefallen. 🤷🏼‍♂️

Da ich jetzt hingegangen bin und mir nur noch per WebHook eine Variable in Homey setzen lasse, benötige ich die Standortgeschichte in HA nicht mehr. Ist jmd. zuhause, erfolgt (über Homey) eine TTS Ansage. Ist niemand zuhause, wird (über Homey) eine Push gesendet wenn man nach Hause kommt. Beides inkl. des Abfalltyps. Für die Möglichkeit das 2 Mülltonnen abgeholt werden, muss ich mir für Homey noch was ausdenken. Aber ich bin schon mal sehr froh, dass das mit 1 Mülltonne funktioniert, vielen Dank dafür @Osorkon! 👍🏼
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von fantross »

Leider muss ich das Thema doch noch mal aufgreifen, da die Automatisation leider nicht automatisch funktioniert.
Starte ich die Automatisation händisch per Aktionen ausführen, funktioniert alles einwandfrei. Allerdings wird die Automatisation nicht automatisch ausgeführt.
Folgendes soll mit der Automatisation erreicht werden:
1 Tag vor der Abholung soll um 17:30 Uhr ein WebHook mit Info zur Müllart an ein anderes Gateway geschickt werden.

Das Versenden des WebHooks funktioniert beim Testen einwandfrei, aber die Automatisation startet nicht automatisch. Hier mal der YAML-Code:

Code: Alles auswählen

alias: Erinnerung Müllabfuhr
description: ""
trigger:
  - platform: time
    at: "17:30:00"
condition:
  - condition: template
    value_template: |-
      {% set morgen = (now() + timedelta(days = 1 )).strftime("%d.%m.%y")%}
      {{ states('sensor.next_waste_collection_date') == morgen}}
action:
  - service: rest_command.homey
    data:
      variable: "{{states('sensor.next_waste_collection_type')}}"
mode: single

Und wenn ich nur den Teil der Bedingung im visuellen Editor teste,

SCR-20220906-i91.png
SCR-20220906-i91.png (92.62 KiB) 806 mal betrachtet

erscheint folgende Fehlermeldung:

Fehler beim Testen der Bedingung aufgetreten
template value should be a string for dictionary value @
data['value_template']. Got None

Kann jmd. was damit anfangen?

Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von Osorkon »

@fantross startest Du die Automatisierung manuell, wird der Trigger und der Bedingung Teil übersprungen.
Du führst nur den Aktion Teil aus.
Wenn Die Automatisierung nicht wie gewünscht funktioniert, liegt es an der Bedingung.

Code: Alles auswählen

{% set morgen = (now() + timedelta(days = 1 )).strftime("%d.%m.%y")%}
      {{ states('sensor.next_waste_collection_date') == morgen}}

Die Fehlermeldung bei der Prüfung von Template Bedingungen ist normal, bzw. ein Bug. Kurz gesagt, es lassen sich aktuell keine Template Bedingung innerhalb der Automatisierungen testen.

Wenn Du das template im Template Editor eingeben tust, kannst Du auf diesem weg das Template prüfen.

Das Ergebnis sollte true oder false lauten.

Da bei mir zufällig morgen die Papiertonne fällig ist, liefert der Template Editor diese Ergebnis.

Template_edior.jpg
Template_edior.jpg (29.92 KiB) 800 mal betrachtet

Dieses Template

Code: Alles auswählen

 {{states('sensor.next_waste_collection_date')}}

liefert das Ergebnis: 07.09.22

Interessant wäre, jetzt was bei Dir die jeweiligen Templates als Ergebnis liefern.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von fantross »

@Osorkon, das sind wieder neue Informationen (Automatisierung manuell ausführen), die ich noch nicht wusste, danke!

Code: Alles auswählen

{% set morgen = (now() + timedelta(days = 1 )).strftime("%d.%m.%y")%}
{{ states('sensor.next_waste_collection_date') == morgen}}

liefert false.

Code: Alles auswählen

 {{states('sensor.next_waste_collection_date')}}

liefert 09.09.2022.

Code: Alles auswählen

{{states('sensor.next_waste_collection_type')}}

liefert Braune Tonne.

Alle Templates liefern also das richtige Ergebnis, dennoch wird die Automatisation nicht ausgelöst. Bin ratlos... 🤷🏼‍♂️

Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von Osorkon »

Wenn der nächste Abfuhrtermin erst am 09.09 ansteht.
Ist die Bedingung am 07.09 natürlich nicht erfüllt.
Erst am 08.09 ist die Bedingung erfüllt.
Morgen um 17:30 sollte die Automatisierung wie erwünscht ausgeführt werden.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von fantross »

Das ist klar, dass die Automatisation morgen erst für Freitag ausgeführt werden sollte. Aber das hat sie letzten Sonntag für den Termin am Montag nicht und die Wochen davor auch nicht. Die Automatisation, wie ich sie gestern gepostet habe, ist bereits schon mehrere Wochen aktiv, aber ich wurde bisher nicht 1x erinnert.
Im Debug-Bereich kann ich allerdings sehen, dass die Automatisation gestern um 17:30 Uhr ausgeführt wurde, aber natürlich mit dem Ergebnis False und deshalb korrekterweise nicht vollständig durchgelaufen ist.
Auch wenn ich mir eigentlich nicht vorstellen kann das die "Übergabe" an Homey fehlerhaft ist, schließlich funktioniert die eigentliche Aktion ja und Homey benachrichtigt mich per TTS, werde ich mir morgen nach 17:30 Uhr mal den Debug-Bereich anschauen, was dann darin steht.

Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von Osorkon »

@fantross Schaue bitte mal nach was der SenOr und das Template für ein Datumsformat liefert.

Es schaut danach aus. Als ob Dein Senor dieses Datumsformat dd.mm.yyyy liefert.

Und das Templete dieses
dd.mm.yy

Somit kann die Bedingung nie erfüllt sein.

Ändere mal die Formatierung des Sensors oder des Templates,
dann sollte die Automatisierung auch so funktionieren wie gewünscht.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von fantross »

@Osorkon, das wird es vermutlich gewesen sein.
Das Format vom Sensor war Folgendes:

Code: Alles auswählen

"%d.%m.%Y"

Das vom Template dieses:

Code: Alles auswählen

"%d.%m.%y"

Heute Abend sollte die Automatisation laufen, werde berichten...
Erst mal vielen Dank!

fantross
Beiträge: 66
Registriert: So 8. Mai 2022, 11:16
1
Has thanked: 15 times
Been thanked: 5 times

Re: Erinnerung am Vortag - Der Müll muss raus - Waste Collection Schedule

Beitrag von fantross »

@Osorkon, hat übrigens funktioniert. 👍🏼

Antworten