Anpassung "Waste Collection Schedule"

@Fidibus die Filterung scheint mir eventuell nicht korrekt zu sein, dabei ist ja nicht der Name der .yaml relevant, sondern der Sensorname. Hast Du mal nach "Tonne" gefiltert?
 
@Nival , ich habe das nicht ausreichend erklärt.
1. Bild ist der File Editor, um kurz zu zeigen, dass ich die Dateien erstellt habe.
Ja, ich habe auch nach Tonne gefiltert, der ist ja in jedem yaml.-Namen enthalten, vergl. Bild 1.
 
Ja, ich habe auch nach Tonne gefiltert, der ist ja in jedem yaml.-Namen enthalten
Darauf wollte ich hinaus, dass der .yaml-Name hier komplett irrelevant ist, die könnteste auch Bielefeld 1 - 3.yaml nennen ;) aber sofern "Tonne" im Sensornamen weiterhin vorkommt sollte das passen.

Ggf. die Zustände nochmal mit Strg + F5 neu laden, nicht dass da was klemmt. Ansonsten nochmal die gesamten Codeschnipsel mit jeweils Pfad / Dateiname und ein Auszug aus der .ics, dass man das nachstellen kann.
 
Ggf. die Zustände nochmal mit Strg + F5 neu laden
Spätestens nach wiederholtem Neustart sollte sich das hingeschüttelt haben.
Habe ich ggf. einen wieteren Schritt noch nicht erledigt, den ich hätte nach der bisherigen Anleitung von @HA-DAU machen müssen?
Hier die Auszüge:
Pfade:
1737364786185.png
Beispiel, bis auf die Benamung sind die Dateien gleich:
/homeassistant/sensors/Abholung_Blaue_Tonne.yaml
Code:
- platform: waste_collection_schedule
  name: Blaue Tonne
  details_format: "upcoming"
  value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen{% endif %}'
  types:
    - paper
Dann die Datei von @HA-DAU
/homeassistant/sensors/Naechste_Abholung.yaml
Code:
#        ######  ######## ##    ##  ######   #######  ########        #
#       ##    ## ##       ###   ## ##    ## ##     ## ##     ##       #
#       ##       ##       ####  ## ##       ##     ## ##     ##       #
#        ######  ######   ## ## ##  ######  ##     ## ########        #
#             ## ##       ##  ####       ## ##     ## ##   ##         #
#       ##    ## ##       ##   ### ##    ## ##     ## ##    ##        #
#        ######  ######## ##    ##  ######   #######  ##     ##       #

#######################################################################
#---------------------------------------------------------------------#
##------------------  Nächste Abfall Abholung -----------------------##
#---------------------------------------------------------------------#
#######################################################################

###---- Nächste Abfall Abholung ----###

- platform: waste_collection_schedule
  name:  "Nächste Abholung"
  details_format: "upcoming"
  add_days_to: True
  value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'


- platform: waste_collection_schedule
  name: "Nächste Abholung Datum"
  add_days_to: True
  details_format: "upcoming"
  value_template: 'am: {{value.date.strftime("%d.%m.%Y")}}'
Eine .ics Datei habe ich so nicht, da ich die Anleitung von @RudiP verwendet habe.
 
Eine .ics Datei habe ich so nicht, da ich die Anleitung von @RudiP verwendet habe.
Tja 😅 also in dem Fall geht Dein Weg eigentlich nicht über manuelle Sensoren in .yaml, sondern über Einstellungen => Geräte & Dienste => Integrationen => Waste Collection Schedule => Konfigurieren => unten "Neuen Sensor hinzufügen".

Dann gibst Du oben einen Namen ein - bei mir jetzt "new_waste_bio", wählst "Abfallarten", gibst als Werte-Template das schon bekannte {% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %} ein, hakst "Tage bis hinzufügen" an und wählst unten den Typ aus, bei mir kurz "Bio", was ich den Attributen des Hauptsensors von der Erstkonfiguration von Waste Collection Schedule entnommen habe.

Sieht dann so aus:
1737371940821.png

Entspricht so in etwa dem was Du haben wolltest, mhm? Über das Attrbut "daysTo" kann man dann auch eine Automatisierung steuern.
 
Danke dir, ist ja cool, wenn man mangels Sachverstand aneinander vorbei redet.
Ok, Ganz so intuitiv wie du geschrieben hast, sieht das halt für mich nicht aus.
Also möchte ich meinen ersten Versuch löschen.
Geht bloß nicht...der Button ist ausgegraut.
1737379546174.png
Wie bekomme ich diesen ersten Versuch weg? Da über ändern auch so komisches Zeug gefragt wird...
 
Wie bekomme ich diesen ersten Versuch weg?
Du gehst im Waste Collection Schedule wieder auf "Konfigurieren", wählst im ersten Dialog den Sensor aus um den es geht, bestätigst mit "OK", im folgenden Dialog hakst Du ganz oben "Löschen" an und bestätigst wieder mit "OK".

Und nein, wirklich intuitiv ist das nicht, ich hab mich da vorhin auch erstmal wirr durchgeklickt :D
 
Ich würde auf "Sobald der Sensor sich ändert" sowie "Und wenn {{ state_attr('sensor.new_waste_bio', 'daysTo') | int (0) < 3 }}" (natürlich mit Deinem Sensornamen) gehen, dann kannst Du als Nachricht direkt den Zustand von dem Sensor verschicken.
 
Danke @Nival.
Ich habe jetzt eine Testbenachrichtigung erstellt.
Code:
- id: '1737389395982'
  alias: 'Benachrichtigung: Gelbe Tonne raus'
  description: ''
  triggers:
  - trigger: state
    entity_id:
    - sensor.abholung_gelbe_tonne
  conditions:
  - condition: template
    value_template: '{{ state_attr(''sensor.abholung_gelbe_tonne'', ''daysTo'') |
      int (0) < 3 }}'
  actions:
  - action: notify.send_mail_gmx
    metadata: {}
    data:
      title: Gelbe Tonne raus
      message: Die gelbe Tonne muss raus!
  mode: single
Ich habe das jetzt erfolgreich getestet, indem ich den Sensor auf 2 Tage gesetzt habe -> Mail kam.

Ich würde jetzt erst einmal versuchen, indem ich 3x Benachrichtigung baue und deine Zeile:
Code:
{{ state_attr('sensor.new_waste_bio', 'daysTo') | int (0) < 3 }}
(0) < 3 im Text dann "Gelbe Tonne muss übermorgen raus"
(0) < 2 im Text dann "Gelbe Tonne muss morgen raus"
(0) < 1 im Text dann "Gelbe Tonne muss heute raus"
entsprechendd verändere.
Das geht aber bestimmt auch eleganter?
 
Das geht aber bestimmt auch eleganter?
Du hast ja den Sensor - sofern mit dem Template erstellt, was Du auch vorher schon hattest - schon mit der expliziten Info, also "in x Tagen", "morgen", "heute". Die Benachrichtigung wird wegen der Einschränkung "Und wenn" nur ausgelöst, wenn es unter drei Tagen ist, aber dann bei jeder Änderung. Deshalb meinte ich, Du kannst so dann einfach den Status des Sensors als Nachricht schicken, und ja, ich denke, das wäre eleganter, als wenn Du dafür drei Automatisierungen oder Abfragen anlegst :)

Einfach als message das hier, angepasst auf Deinen Sensor, setzen:
YAML:
message: "{{ states('sensor.new_waste_bio') }}"
 
Danke, ich habe verstanden, wie ich das umsetzen kann und der Test ist cool.
Danke! So sieht meine Umsetzung aus:
Code:
alias: "Benachrichtigung: Blaue Tonne raus"
description: ""
triggers:
  - trigger: state
    entity_id:
      - sensor.abholung_blaue_tonne
conditions:
  - condition: template
    value_template: "{{ state_attr('sensor.abholung_blaue_tonne', 'daysTo') | int (0) < 3 }}"
actions:
  - action: notify.send_mail_gmx
    metadata: {}
    data:
      title: Blaue Tonne {{ states('sensor.abholung_blaue_tonne') }} raus
      message: >-
        Die blaue Tonne muss {{ states('sensor.abholung_blaue_tonne') }} an die
        Straße!
mode: single
 
Zuletzt bearbeitet:
Bei der alten Integration ging das so, aber es kann sein, dass in diesem Fall value.daysTo als String übergeben wird, dann schlägt ein Vergleich mit einer Zahl natürlich fehl. Schreib mal hinter jedes daysTo ein | int (0), also so: value.daysTo | int (0), wenn das der Punkt ist sollte es das Problem lösen. Das kann ich grade halt auch nur in der Theorie behandeln, ich nutze das alles selbst garnicht.
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
6.096
Beiträge
59.267
Mitglieder
6.133
Neuestes Mitglied
dennissejournet
Zurück
Oben