Anpassung "Waste Collection Schedule"

Moin,
um den eigentlichen Thread nicht weiter zu kapern, lagere ich meine individuellen Probleme hierher aus.
Um den Stand kurz abzureißen:
Waste Collection Schedule ist funktionstüchtig installiert und meldet sich mit folgendem Dashboard:
1737115419336.png
Es gibt andere Darstellungen, ich möchte an dieser Stelle weitermachen.
Mit Unterstützung ist im HA die Möglichkeit eingerichtet, Benachrichtigungen zu senden.
In einer notify.yaml gibt es jetzt die Möglichkeiten,
- an Händis innerhalb des Heim-WLAN's Benachrichtigungen zu senden
- über 2 verschiedene Mailprovider an 2 verschiedene Personen Benachrichtigungen zu senden.
Damit zu Hause alle informiert werden, dass ein Abfuhrttermin ansteht, stelle ich mir aktuell vor, dass eine Benachrichtigung in folgendem Format:
(Farbe der Tonne) in (Vorlauf in Tagen) rausstellen!
Farbe der Tonne kann bei mir per Einrichtung Gelb, Blau und Schwarz sein
Vorlauf in Tagen bei mir sinnvoll 2, 1 oder 0, also übermorgen, morgen, heute.
Dabei wäre es mir je nach Umsetzungsschwere egal, ob es 2, 1, 0 Tage oder die entsprechenden Wochentage sind.
Es gibt in Folge des oben verlinkten Beitrages schon Vorschläge, wie dieses anzugehen wäre.
Hier und hier sind zwei Ansätze.

Weiterhin würde ich gerne im oberen Bereich den Countdown verschönern, so dass
xxTage, (übermorgen), morgen, heute
angezeigt wird.

Aber nun erst einmal zur Information, dass die Tonne raus muss.
Diesen Codeschnipsel habe ich in der automations.yaml
Code:
- id: '1737028665524'
  alias: 'Benachrichtigung: Muellkalender Erinnerung'
  description: ''
  triggers:
  - trigger: state
    entity_id:
    - sensor.naechste
  conditions: []
  actions:
  - action: notify.mobile_app_handy_s20
    metadata: {}
    data:
      message: '{{ states(''sensor.naechste'') }}'
      title: Tonne rausrollern
  - action: notify.send_mail_gmx
    metadata: {}
    data:
      message: '{{ states(''sensor.naechste'') }}'
      title: Tonne rausrollern
  mode: single

Das ergebnis ist, dass ich jetzt an die "Grüne Tonne" in 5 Tagen runterzählend erinnert werde.
Ich habe gar keine "Grüne Tonne" konfiguriert, die wird in der entsprechenden "Waste Collection Schedule" durch meinen Entsorger halt mitgeliefert, ich habe diese Entsorgung aber nicht gebucht und auch nicht weitergehend konfiguriert.

Den Verlauf des Sensors "naechste" bringt also alle Tonnentermine des Entsorgers.
Insofern ist die Meldung erst einmal erklärbar.

Die Tage schau ich mal und werde die ersten versuche starten, die Hinweise umzusetzen.
 
Zuletzt bearbeitet:

HA-DAU

Active member
Hallo @Fidibus,

lege Dir doch einen Sensor an "naechste Abholung".
Was hindert Dich daran?
/homeassistant/sensors01/Nächste Abholung.yaml

YAML:
#        ######  ######## ##    ##  ######   #######  ########        #
#       ##    ## ##       ###   ## ##    ## ##     ## ##     ##       #
#       ##       ##       ####  ## ##       ##     ## ##     ##       #
#        ######  ######   ## ## ##  ######  ##     ## ########        #
#             ## ##       ##  ####       ## ##     ## ##   ##         #
#       ##    ## ##       ##   ### ##    ## ##     ## ##    ##        #
#        ######  ######## ##    ##  ######   #######  ##     ##       #

#######################################################################
#---------------------------------------------------------------------#
##------------------  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")}}'

Natürlich musst Du die Sensoren und Pfade immer an Deine Verhältnisse anpassen.....


Den Thread dazu gibt es hier: https://forum.heimnetz.de/threads/m...a-anlegen-erfahrungsaustausch.4304/post-47447
 
Moin,
Was hindert Dich daran?
Weil ich keine Ahnung habe :rolleyes:.
In den verlinkten Threads fehlt mir schon oft der Einstieg, weil es bei mir anders aussieht oder ich es teilweise nicht finde.
Ich versuche jetzt mal deine Hinweise umzusetzen, wenn es klappt, dann melde ich mich hier noch einmal, wenn nicht mit einem eigenen Thread.
Danke.
 
Hallo @Fidibus,

den Rest bekommen wir auch noch hin....
Wir lagern das wegen der Übersicht aus.
Lege in der Configuration.yaml das an, falls nicht schon passiert ist...
sensors01 heißt das bei mir, es kann sein, dass es bei Dir nur sensors heißt.. , also anpassen.
YAML:
sensor: !include_dir_merge_list sensors01/

Also einen Ordner anlegen mit dem Namen Sensors oder Sensors01, egal wie das Kind heißt...
1737100062977.png


Darin legst Du die Nächste Abholung.yaml an..
1737100207266.png
Dort fügst Du den passenden Code ein...

YAML:
#        ######  ######## ##    ##  ######   #######  ########        #
#       ##    ## ##       ###   ## ##    ## ##     ## ##     ##       #
#       ##       ##       ####  ## ##       ##     ## ##     ##       #
#        ######  ######   ## ## ##  ######  ##     ## ########        #
#             ## ##       ##  ####       ## ##     ## ##   ##         #
#       ##    ## ##       ##   ### ##    ## ##     ## ##    ##        #
#        ######  ######## ##    ##  ######   #######  ##     ##       #

#######################################################################
#---------------------------------------------------------------------#
##------------------  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")}}'

Ich hoffe es wurde verständlich erklärt.

1737100390091.png
 
Moin,
so nun habe ich gerade etwas Zeit und wollte starten.
Ich komme nicht dazu, den Sensor-Code einzubringen.
1. Option, eigene Sensor-Datei.
Dazu, wie beschrieben die configuration.yaml

Code:
sensor: !include sensor.yaml
# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

# Text to speech
tts:
  - platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
notify: !include notify.yaml

homeassistant:
  packages: !include_dir_named integrations

sensor: !include_dir_merge_list sensor_muell/
1737214999810.png
Egal wo und wie ich das da reinbringe, Fehler.
Etwas googlen bringt nicht wirklich Klarheit, außer, dass es hier verschiedene Philosophien gibt.
Für mich wäre es ok, wenn ich nur eine Sensor.yaml verwende. Ich habe schon eine.
Code:
  - platform: template
    sensors:
      time_until_empty:
        value_template: "{{ (( states('sensor.battery_level') | float) / 100 * ( states('sensor.battery_capacity') | float)* 0.96 * 0.9 / (( states('sensor.battery_discharging_power') | float) / 1000 )) | round(1) }}"
        unit_of_measurement: "h"
      time_until_full:
        value_template: "{{ ((( states('sensor.battery_capacity') | float) *0.96*0.9 - ((( states('sensor.battery_level') | float) / 100 * ( states('sensor.battery_capacity') | float)* 0.96 * 0.9))) / (( states('sensor.battery_charging_power') | float) / 1000)) | round(1) }}"
        unit_of_measurement: "h"
Dort würde ich jeweils benötigte Sensoren eben weg reitun.
Oder habt ihr auf Grund umfassender Erfahrungen einen besseren Weg, dann wäre es mir auch recht, ich müsste ihn nur nachvollziehen können.
 
Ich hab in packages eine Datei waste_collection_schedule.yaml, den Eintrag für die packages hast du ja schon.
 
Hallo @Fidibus,

warum machst Du nicht was ich in Beitrag #4 geschrieben habe.
Willst Du nicht, oder verstehst Du das nicht?
Schreibe ich so undeutlich, oder erkläre ich das so falsch und meine Bilder kommen nicht bei Dir an...?

Hast Du schon einen Ordner mit dem Namen "sensors"?
Warum nennst Du jetzt den Ordner so, "sensor: !include_dir_merge_list sensor_muell/"? Du sollst den einfach nur sensors/ nennen.
Da rein kommen alle Sensoren, welche Du jemals verwendest und auslagerst.
Bei mir sind halt noch ganz viele, auch das Wetter als DWD.yaml und nach den Müllsensoren, kommen halt noch viele weitere yaml, welche nicht auf dem Screenshot sind...
Ich habe die einzelnen yaml einfach unterteilt, um Probleme einfacher zu finden.
Du kannst auch 1.000 Sensoren untereinander in eine einzige yaml schreiben.
Aber das Wort "Sensor" darf in den ausgelagerten Sensoren nie mehr auftauchen. Deswegen ist bei mir immer eine Raute (#) vor dem Wort, falls ich es wegen der Zuordnung benutze.

Der Ordner"sensors" auf meinen Screenshot ist aktuell tot und nicht mehr in Gebrauch. Nur darin liegen meine ersten Versuche, welche ich nicht löschen will.
Deswegen existiert bei mir halt eine Neue Version als sensors01, auf welche ich in der confiuration.yaml auch hinweise.
Du benutzt aber den Ordner sensors.
Bitte auf die Kleinschreibung und das zusätzliche s achten

Jetzt gehst Du zu dem Ordner "sensors" oder legst den an falls es den noch nicht gibt. einfach als Ordner anlegen.
Darin wird dann die "Nächste Abholung.yaml" angelegt und dort hinein den Code einfügen.

Nenne am Anfang halt alles so wie ich es Dir vorgebe und baue das auch so auf und mach nicht wieder was eigenes und falsches...
So wird das nie was...

Nachtrag: Habe es für Dich jetzt geaendert...

YAML:
sensor: !include_dir_merge_list sensors/
1737276533849.png
1737276694569.png
 
Zuletzt bearbeitet:
Moin,
zuerst noch einmal Dank, dass ihr versucht meine Probleme zu lösen.
warum machst Du nicht was ich in Beitrag #4 geschrieben habe.
Willst Du nicht, oder verstehst Du das nicht?
Ich will und habe genau das gemacht. Ich habe dann meine Anzeigen und Fehler hier gepostet.
Hast Du schon einen Ordner mit dem Namen "sensors"?
Nein, und ja, da habe ich nicht aufgepasst. Ich habe schon eine sensor.yaml in der Ebene, wo ich den Ordner erstellen sollte.
In deinem Post habe ich entnommen, dass der eigentliche Name "egal" sei.
Daher der abweichende Name.
Aber der Ordner "sensor_muell" ist gestern erstellt worden. Ist das für das Funktionieren relevant? Egal.
Nach deinen tieferen Erklärungen (ja, ich bin absolut kein Programmieren und stelle immer wieder fest, ich begreife das sehr schlecht) habe ich zumindest das verstanden und habe jetzt einen Ordner "sensors".
Da rein kommen alle Sensoren, welche Du jemals verwendest und auslagerst.
Das bedeutet, dass ich an eine bereits genutzte Automation ran muss? Da ich ja schon eine sensor.yaml habe.
1737283375458.png
Und nun kommt - unabhängig von allem anderen - wieder das Problem, dass ich schon oben beschrieben habe, da ich in der configuration.yaml ein "sensor" habe.
1737283509244.png
Somit kann ich deiner Beschreibung nicht erfolgreich folgen.
 
Und nun kommt - unabhängig von allem anderen - wieder das Problem, dass ich schon oben beschrieben habe, da ich in der configuration.yaml ein "sensor" habe.
So wie ich das sehe kann man sensor: in der configuration.yaml entweder verwenden, um eine einzelne Datei einzubinden - das, was Du aktuell machst - oder um einen ganzen Ordner (mit Dateien mit Sensoren darin) einzubinden - was @HA-DAU vorschlägt. Oder eben, wie man es meist am Anfang macht bevor man anfängt auszugliedern, indem unter diesem Stichwort die Sensoren gelistet werden, aber über diesen Schritt bist Du ja schon hinaus.

Es sollte also möglich sein, dass Du den Ordner /sensors/ anlegst, Deine sensor.yaml in den neuen Ordner /sensors/ verschiebst und danach das sensor: !include sensor.yaml änderst in sensor: !include_dir_merge_list sensors/. Dann sollte es auch nicht notwendig sein, irgendwelche bereits angelegten Automatisierungen anzupassen, denk nur daran, nach der Änderung in den Dateien einen Neustart zu machen.

Zur Verdeutlichung, diese drei Optionen bedeuten am Ende genau das gleiche.

1) Ein einziger Eintrag in der configuration.yaml:
YAML:
sensor:
  - platform: waste_collection_schedule
    name: Altpapier
    details_format: "upcoming"
    value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen{% endif %}'
    types:
      - Altpapier
  - platform: waste_collection_schedule
    name: Gelber Sack
    details_format: "upcoming"
    value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen{% endif %}'
    types:
      - Gelber Sack

2a) Ein Eintrag in der configuration.yaml:
YAML:
sensor: !include sensor.yaml
2b) und dieser Eintrag in der sensor.yaml:
YAML:
- platform: waste_collection_schedule
  name: Altpapier
  details_format: "upcoming"
  value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen{% endif %}'
  types:
    - Altpapier
- platform: waste_collection_schedule
  name: Gelber Sack
  details_format: "upcoming"
  value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen{% endif %}'
  types:
    - Gelber Sack

3a) Ein Eintrag in der configuration.yaml:
YAML:
sensor: !include_dir_merge_list sensors/
3b) und ein Ordner namens /sensors/
3c.1) und eine Datei /sensors/altpapier.yaml mit dem Inhalt
YAML:
- platform: waste_collection_schedule
  name: Altpapier
  details_format: "upcoming"
  value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen{% endif %}'
  types:
    - Altpapier
3c.2) und eine Datei /sensors/gelber_sack.yaml mit dem Inhalt
YAML:
- platform: waste_collection_schedule
  name: Gelber Sack
  details_format: "upcoming"
  value_template: '{% if value.daysTo == 0 %}Heute{% elif value.daysTo == 1 %}Morgen{% else %}in {{value.daysTo}} Tagen{% endif %}'
  types:
    - Gelber Sack

Und ja, Du kannst /sensors/ auch /sensor_muell/ nennen, aber wenn Du noch weitere Sensoren darin lagerst (wie eben Deine aktuelle sensor.yaml) macht ein so spezifischer Name logisch betrachtet wenig Sinn. Es soll eine Sammlung aller Sensoren sein, also ein Ordner mit Dateien, anstelle von allen Sensoren in einer Datei.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.090
Beiträge
59.181
Mitglieder
6.123
Neuestes Mitglied
JonasK
Zurück
Oben