zurück zur Startseite

zurück zur Übersicht der Heimautomatisierung

37. Die Müllabfuhr (Stand 07.12.2018)

Da wir zusammen mit einigen Nachbarn gemeinsame Großraumtonnen haben, ist das mit dem Müll so eine Sache. Nicht nur, dass eine ordentliche Mülltrennung von Meisten zu viel verlangt ist (Beispiele: Pizzareste, also Biomüll, landet zusammen mit dem Karton des Lieferservice im Altpapier und der leere Kanister des Scheibenreinigers für das Auto im Restmüll) - viele Nachbarn produzieren auch noch Berge von Müll und füllen die Tonnen auch mit Dingen, die gar nicht hinein gehören (z.B. alte Koffer und Kinderfahrräder). Als Ergenis zahlen wir nun das 5-fache dessen, was wir früher bezahlt haben, als wir noch unsere eigenen kleinen Tonnen hatten. Ganz schlecht ist aber, wenn wir mit unserem wenigen Müll dann nur noch volle Tonnen vorfinden. Den Müll einfach neben der Tonne ablagern, was einige andere machen ist nicht unser Stil.

Und wie soll uns die Heimautomatisierung nun helfen? Ganz einfach: Sie zeigt uns anhand kleiner Icons neben der Uhr an, wenn an dem aktuellen Tag eine Müllsorte geleertwird. Dann können wir abends ganz bequem in den Müllraum gehen, finden dort leere Tonnen vor und könne unseren wenigen Müll bequem entsorgen.

Da ich meine Automatisierung nicht im Internet habe, kann ich leider nicht auf fertige Lösungen zurückgreifen, sondern muss die Termine der Müllabfuhr mehr oder weniger händisch einmal im Jahr übertragen. Dazu ein wenig FHEM-Programmierung und schon weiß ich, wann z.B. die Papiertonne entleert wird.

Für die Anzeige benötigt man das Symbol und eine Variable.

define muellabfuhrPapier dummy
attr muellabfuhrPapier devStateIcon 0:UhrLeer 1:20_dustbingruen
attr muellabfuhrPapier fp_zw_anfang 300,200,0
attr muellabfuhrPapier room Muellabfuhr,Eingang

Die Termine stehen in einer weiteren Variable im Format Tag.Monat. (Zahlen ohne führende Nullen) und die Termine sind durch ein Leerzeichen getrennt.

define muellterminPapier dummy
attr muellterminPapier room Muellabfuhr

Ein Makro wertet das Ganze dann aus:

define muellanzeigePapier notify muellanzeigePapier {\
my @termin = split /\s+/, Value("muellterminPapier");;\
my $anzahl = $#termin+1;;\
fhem("set muellabfuhrPapier 0");;\
while ($anzahl > 0){\
  $anzahl -=1;;\
  my $datum = shift(@termin);;\
  push(@termin, $datum);;\
  my @tagmonat = split /\./, $datum;;\
  if ($tagmonat[0] == $mday && $tagmonat[1] == $month) {\
      fhem("set muellabfuhrPapier 1");;\
    }\
  }\
}
attr muellanzeigePapier room Muellabfuhr

Getriggert wird das Makro jeweils um Mitternacht, dabei werden natürlich auch die gleichermaßen programmierten Müllsorten Plastik, Bio und Rest ausgewertet

define xx_mitternacht at *00:00:00 {\
# Sonntag oder Feiertag\
if ($wday == 0 || Value("KN_Feiertage") ne "none"){\
fhem("set uj_wecktag3 ja")\
} else {\
fhem("set uj_wecktag3 nein")\
}\
fhem("trigger muellanzeigeBio;;trigger muellanzeigePapier;;trigger muellanzeigePlastik;;trigger muellanzeigeRest;; trigger geburtstagsanzeige")\
}

Gleichzeitig wird auch noch die Auswertung der Geburtstage ausgelöst, was im nächsten Kapitel dokumentiert ist.

weiter zu: 38. Die Geburtstage