Müllautomation nach Kalendereinrichtung à la Simon

Moin.
Ich habe mir einen Müllkalender nach dem Video von Simon erstellt und das funktioniert auch.
Nun wollte ich eine Automation erstellen, die mir 1 Tag vorher um 19:30 Uhr eine Erinnerung aufs Handy schickt, welche Tonne dran ist.
Leider funktioniert das nicht so wie ich das erstellt habe.
In kurz:

Auslöser:

  • feste Zeit: 19:30 Uhr

Bedingung:

  • numerischer Wert der Entität ‘nachste_Abholung’ unter 2

Im Ablauf Diagramm steht die Fehlermeldung, dass der Sensor aber keinen numerischen Wert ausgibt… Aber welcher Wert kommt denn da raus und wie binde ich diesen ein?

Janis

Schau dir unter Entwicklerwerkzeuge - Zustände den sensor.nachste_abholung an. Ich denke da steht als Wert “in 2 Tagen” bzw. “In 1 Tag” oder sowas. Das kannst du dann als Zustand in der Automation (Bedingung) abfragen.

Der Zustand ist so.

Da wüsste ich nicht wie ich das einbinden.

Hier noch der Code in der configuration.yaml

# waste_collection_schedule source configuration
waste_collection_schedule:
  sources:
    - name: jumomind_de
      args:
        service_id: mymuell
        city_id: 42995
        area_id: 518

sensor:
  # ------- Garbage Collection ------- 
  # next collection
  - platform: waste_collection_schedule
    name: "Nächste Abholung"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
  # Nächste Restmüll-Abholung
  - platform: waste_collection_schedule
    name: "Restmüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Graue Tonne, 14-tägl.
  # Nächste Biomüll Abholung
  - platform: waste_collection_schedule
    name: "Biomüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Grüne Tonne, 14-tägl.
  # Nächste gelber-Sack Abholung
  - platform: waste_collection_schedule
    name: "Gelbe Tonne"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Gelbe Tonne, 14-tägl.
  # Nächste Papiermüll Abholung
  - platform: waste_collection_schedule
    name: "Papier"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Blaue Tonne, 4-wöchentl.

Solange du {{value.types|join(", ")}} mit angibst, wird das nicht funktionieren.

Wenn du das also raus nimmst, könntest du als Bedingungen in deiner Automation dann ein ODER setzen, wo du abfragst, ob Restmüll, Bio, Gelb ODER Papier MORGEN abgeholt werden.

Ok.
Da fehlt mir das Verständnis was diese Passage zu bedeuten hat.
Mein Ziel ist es als Benachrichtigung in etwa sowas zu bekommen:

“Morgen wird die graue Tonne abgeholt”

Bzw. der Text in der Kachel (auch wenn er länger würde aber auch gehen)

Das ‘Oder’ setze ich dann im Aktionsbereich oder in dem Bedingungsbereich? Mit welcher Bedienung? Nehme ich da das was bei Name: steht?

könnte z.B. so (ungetestet) gehen:

description: ""
mode: single
trigger:
  - platform: time
    at: "19:30:00"
condition:
  - condition: or
    conditions:
      - condition: state
        entity_id: sensor.restmull
        state: Morgen
      - condition: state
        entity_id: sensor.gelbe_tonne
        state: Morgen
      - condition: state
        entity_id: sensor.papier
        state: Morgen
action:
  - service: notify.mobile_app_xyz
    data:
      message: >-
        Abholung: {% if is_state('sensor.restmull', 'Morgen')
        %}Restmüll,{% endif %} {% if is_state('sensor.gelbe_tonne',
        'Morgen') %}Gelb,{% endif %} {% if is_state('sensor.papier',
        'Morgen') %}Papier{% endif %}

Edit:
oder du lässt Nächste Abholung genau so und löschst nur bei den anderen Sensoren das {{value.types|join(", ")}} . Dann könnte die Automation so aussehen:

description: ""
mode: single
trigger:
  - platform: time
    at: "19:30:00"
condition:
  - condition: or
    conditions:
      - condition: state
        entity_id: sensor.restmull
        state: Morgen
      - condition: state
        entity_id: sensor.gelbe_tonne
        state: Morgen
      - condition: state
        entity_id: sensor.papier
        state: Morgen
action:
  - service: notify.mobile_app_xyz
    data:
      message: >-
        Abholung:  {{ states('sensor.nachste_abholung') }}

1 „Gefällt mir“

Super!
Vielen Dank!

Ich habe die erste Version genommen, da bei der zweiten nur “Abholung Morgen” zu sehen war. Die erste Variante ist 100% so wie ich es mir vorgestellt habe.

Hallo Leute bin neu auf dem Forum und auch im HA, habe leider noch keine Programmierkenntnisse. daher bräuchte ich etwas Hilfe (und ein Einsteiger Video für Yaml programmieren^^)

Zu meinem Problem:

Ich habe den Müllkalender wie Simon erstellt, im Kalender werden mir auch die einzelnen Einträge angezeigt. Aber der Ausgabe wert von den Sensoren ist der Name des Kalender Eintrages. Meine Vermutung ist das es darum nicht geht. Bin ich richtig?

waste_collection_schedule:
  sources:
    - name: app_abfallplus_de
      args:
        app_id: de.abfallwecker
        city: Tuttlingen
        strasse: Liptinger Str.
        hnr: 1-63 und 2-68
        bundesland: Baden-Württemberg
        landkreis: Kreis Tuttlingen      
        
        
    
sensor:
  # ------- Garbage Collection ------- 
  # next collection
  - platform: waste_collection_schedule
    name: "Nächste Abholung"
  # Nächste Restmüll-Abholung
  - platform: waste_collection_schedule
    name: "Restmüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Restmülltonnen - 60 l, 8-wöchentl. Abfuhr,
  # Nächste Biomüll Abholung
  - platform: waste_collection_schedule
    name: "Biomüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Biomülltonnen - 60 bis 360 Liter,
  # Nächste gelber-Sack Abholung
  - platform: waste_collection_schedule
    name: "Gelber Sack"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Gelber Sack, -
  # Nächste Papiermüll Abholung
  - platform: waste_collection_schedule
    name: "Papier"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
    - Papiertonnen - 240/1100 Liter,

Dass der Name im Sensor dem Namen im Kalendereintrag entspricht ist erst mal normal. Der Sensor bekommt seinen Wert ja aus dem Kalender.

Wenn dir der Name im Kalender nicht gefällt und du z.B nur Restmüll haben willst, dann kannst du einen Alias für den Type anlegen

waste_collection_schedule:
  sources:
    - name: app_abfallplus_de
      args:
        app_id: de.abfallwecker
        city: Tuttlingen
        strasse: Liptinger Str.
        hnr: 1-63 und 2-68
        bundesland: Baden-Württemberg
        landkreis: Kreis Tuttlingen
      customize:
        - type: Restmülltonnen - 60 l, 8-wöchentl. Abfuhr,
          alias: Restmüll

sensor:
  # ------- Garbage Collection ------- 
  # next collection
  - platform: waste_collection_schedule
    name: "Nächste Abholung"
  # Nächste Restmüll-Abholung
  - platform: waste_collection_schedule
    name: "Restmüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Restmüll
  # Nächste Biomüll Abholung
  ...

Dann steht im Sensor nur noch Restmüll in x Tagen.
Meintest du es in etwa so?

Ja genau danke dir ich werde es heute abend ausprobieren und mich nochmal melden.

Habe es jetzt mal umgestellt aber der Sensor “Nächste Abholung” stimmt immer noch nicht… und ich finde den Fehler nicht warum Papier und Gelber sack noch immer nicht passen :confused: würdest du nochmal drauf schauen bitte?
ahh und warum steht da Days und nicht Tage ^^

waste_collection_schedule:
  sources:
    - name: app_abfallplus_de
      args:
        app_id: de.abfallwecker
        city: Tuttlingen
        strasse: Liptinger Str.
        hnr: 1-63 und 2-68
        bundesland: Baden-Württemberg
        landkreis: Kreis Tuttlingen
      customize:
        - type: Restmülltonnen - 60 bis 1100 Liter, 4-wöchentl. Abfuhr
          alias: Restmüll
        - type: Biomülltonnen - 60 bis 360 Liter
          alias: Biomüll
        - type: Gelber Sack
          alias: Gelber Sack -
        - type: Papiermüll
          alias: Papiertonnen - 240/1100 Liter

sensor:
  # ------- Garbage Collection ------- 
  # next collection
  - platform: waste_collection_schedule
    name: "Nächste Abholung"
  # Nächste: Restmüll-Abholung
  - platform: waste_collection_schedule
    name: "Restmüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
        - Restmüll
  # Nächste Biomüll Abholung
  - platform: waste_collection_schedule
    name: "Biomüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Biomüll
  # Nächste gelber-Sack Abholung
  - platform: waste_collection_schedule
    name: "Gelber Sack"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Gelber-Sack
  # Nächste Papiermüll Abholung
  - platform: waste_collection_schedule
    name: "Papier"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Papiermüll

Screenshot 2024-08-23 170110

Du hast type und alias bei Papier und Gelber Sack vertauscht.
Bei Type muss das rein, wie der Kalendereintrag heißt, bevor du ihn änderst
Das wäre nach deinen in Post 8 gezeigten yaml diese: Gelber Sack, - und Papiertonnen - 240/1100 Liter,
Beim Alias kannst du dann entsprechend Gelber Sack und Papiermüll eintragen.
Im Kalender sollten bei Papier und Gelbem Sack noch die alten Namen stehen.

Und für die nächste Abholung definierst du überhaupt nicht, wie das Template aussehen soll. Hier nimmt waste_collection_schedule dann wahrscheinlich seinen Standard.
Der Block müsste so aussehen:

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


sry für die verspätete Rückmeldung musste mich erstmal um meine Lichter kümmern ^^
Also aktueller stand ist die Sensoren Funktionieren aber "Näachste abholung zeigt die daten noch immer falsch an :confused:

Ich Vermute das ich bei dem Sensor Nächste Abholung Attribute hinzufügen muss stimmt das?

waste_collection_schedule:
  sources:
    - name: app_abfallplus_de
      args:
        app_id: de.abfallwecker
        city: Tuttlingen
        strasse: Liptinger Str.
        hnr: 1-63 und 2-68
        bundesland: Baden-Württemberg
        landkreis: Kreis Tuttlingen
      customize:
        - type: Restmülltonnen - 60 bis 1100 Liter, 4-wöchentl. Abfuhr
          alias: Restmüll
        - type: Biomülltonnen - 60 bis 360 Liter
          alias: Biomüll
        - type: Gelber Sack -
          alias: Gelber Sack
        - type: Papiertonnen - 240/1100 Liter
          alias: Papiermüll

sensor:
  # ------- Garbage Collection ------- 
  # next collection
  - platform: waste_collection_schedule
    name: "Nächste Abholung"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
  # Nächste: Restmüll-Abholung
  - platform: waste_collection_schedule
    name: "Restmüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
        - Restmüll
  # Nächste Biomüll Abholung
  - platform: waste_collection_schedule
    name: "Biomüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Biomüll
  # Nächste gelber-Sack Abholung
  - platform: waste_collection_schedule
    name: "Gelber Sack"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Gelber Sack
  # Nächste Papiermüll Abholung
  - platform: waste_collection_schedule
    name: "Papier"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} tagen{% endif %}'
    types:
      - Papiermüll

22

Ist doch ziemlich eindeutig.
Im Sensor nächste Abholung steht gewerbliche Restmülltonnen - 1100 Liter, wöchentl. Abfuhr. Für diesen Typ hast du keinen Alias angelegt, daher wird hier der Originalname verwendet.
Die Frage ist nur, welcher der Restmülltypen auf dich zutrifft, beide werden es wohl kaum sein.
Den den du nicht haben willst, kann auch ausgeblendet werden:

        - type: Restmülltonnen - 60 bis 1100 Liter, 4-wöchentl. Abfuhr
          alias: Restmüll
        - type: gewerbliche Restmülltonnen - 1100 Liter, wöchentl. Abfuhr
          show: hide

sry für die verspätete Rückmeldung

ich habe den abschnitt beim waste_collection_schedule:
hinzugefügt

waste_collection_schedule:
  sources:
    - name: app_abfallplus_de
      args:
        app_id: de.abfallwecker
        city: Tuttlingen
        strasse: Liptinger Str.
        hnr: 1-63 und 2-68
        bundesland: Baden-Württemberg
        landkreis: Kreis Tuttlingen
      customize:
        - type: Restmülltonnen - 60 bis 1100 Liter, 4-wöchentl. Abfuhr
          alias: Restmüll
        - type: Biomülltonnen - 60 bis 360 Liter
          alias: Biomüll
        - type: Gelber Sack -
          alias: Gelber Sack
        - type: Papiertonnen - 240/1100 Liter
          alias: Papiermüll
        - type: gewerbliche Restmülltonnen - 1100 Liter, wöchentl. Abfuhr
          show: hide  
        - type: Papier - 1100 Liter, 2-wöchentl. Abfuhr
          show: hide  

Jetzt wird mir das angezeigt

Da habe ich die Installationsanweisung wohl falsch gelesen.
Trag mal show: false ein, dann sollte es passen. Zumindest steht es so in diversen Einträgen von anderen Foren.

Ich danke dir für deine Hilfe hat alles geklappt :grinning: :grinning:

Moin,

nur mal als Tip, wenn ihr euren Mülltermine als Kalender in HA habt, es gibt eine schöne HACS-Integration, nennt sich “TrashCard” ( benötigt noch Mushroom zusätzlich ), einfacher den Müllkalender integrieren:

Sieht bei mir so aus ( dient auch nur zur Informationen, weil die Müllcontainer vom Hausmeister rausgestellt werden )

Pic

Wer noch ein Video ansehen will: smart-live.net

Ich kann @Tuxtom007 nur beipflichten, sieht bei mir so aus

Hättet ihr mir das vorher gesagt hätte ich es so gemacht aber jetzt wo alles eingerichtet ist… Aber Trotzdem danke für die Info :slight_smile: