Project:Müllampel
ProjectInfoBox Müllampel | |
---|---|
Status: | done |
Release Date: | 02.12.2024 |
Initiator: | Martin, Johannes |
Tools Used: | LaserCutter, Drill, Hot Glue Gun |
Software Used: | HomeAssistant |
Approx. Cost: | 10€ |
Das Projekt Müllampel ist ein Projekt, das zum Ziel hat, den Space vor dem Versinken im Müll zu bewahren. Dazu bietet es ein Schild, das mithilfe eines ESP32 und adressierbarer LEDs eine Erinnerung bietet, die Mülltonnen rechtzeitig rauszustellen.
Dies erreicht es, indem es anhand der Daten des aktuellen Abfallkalenders blinkt und mithilfe von drei verschiedenen Farben signalisiert, welche Tonnen herausgestellt werden müssen: Weiß für Restmüll, Blau für Papier und Gelb für Wertstoff.
Aktuell blinkt sie mittwochs um 21:30 Uhr zum Reinholen und freitags um 21:30 Uhr zum Herausstellen der Tonnen, damit diese meist Dienstags morgens abgeholt werden können.
Die Integration in Home Assistant ermöglicht es uns, das Schild perfekt auf unsere Abholtermine abzustimmen.
Bauanleitung
Material
- Bilderrahmen
- ESP8266 Mikrocontroller
- Netzteil für den LED-Streifen (z. B. 5V, 2A für 30 LEDs)
- USB-Kabel
- Klebematerial (z. B. Heißkleber oder doppelseitiges Klebeband)
- Adressierbarer LED-Streifen (22 LEDs)
- Schwarze Sprühfarbe
Werkzeuge
- Laser Cutter
- Computer mit Zugang zu HomeAssistant und ESPHome
- Schraubendreher, Cutter oder Schere (für den LED-Streifen)
Schritt-für-Schritt-Anleitung
1. Vorbereitung des Bilderrahmens
- Entferne die Glasscheibe aus dem Bilderrahmen.
- Sprühe die Vorderseite der Glasscheibe gleichmäßig mit schwarzem Sprühlack ein. Lass die Farbe vollständig trocknen (ca. 24 Stunden).
- Nutze den Laser Cutter, um ein Mülltonnen-Symbol aus der lackierten Glasscheibe zu gravieren. Du kannst eine eigene SVG-Datei erstellen oder eine Vorlage verwenden.
2. Vorbereitung der Elektronik
- Schneide den LED-Streifen auf die passende Länge, damit er in den Bilderrahmen passt.
- Verbinde den LED-Streifen mit dem ESP8266 gemäß der folgenden Pinbelegung:
- LED-Datenpin -> GPIO Pin des ESP8266 (z.B. GPIO 2)
- Stromversorgung (5V) -> Netzteil
- GND -> GND des ESP32 und des Netzteils
- Sichere den LED-Streifen und den ESP32 mit Klebematerial hinter der Glasscheibe im Rahmen. Achte darauf, dass die LEDs direkt hinter dem gravierten Symbol positioniert sind.
3. Installation der Software
Flashe den ESP8266 mit ESPHome. Die folgende Konfiguration kann als Vorlage verwendet werden:
substitutions:
name: esphome-garbage-sign
friendly_name: ESPHome_Garbage_Sign
esphome:
name: ${name}
friendly_name: ${friendly_name}
esp8266:
board: esp01_1m
wifi:
ssid: "DEIN_SSID"
password: "DEIN_PASSWORT"
light:
- platform: neopixelbus
type: GRB
variant: ws2812
pin: GPIO02
num_leds: 22
name: "Garbage_LED"
4. Integration der Mülltermine in Home Assistant
Bei der Integration der Mülltermine in HomeAssistant ist wichtig, dass die Termine in einem eigenen Kalender innerhalb von HomeAssistant gespeichert werden. Hierzu gibt es verschiedene Möglichkeiten, die von deinem lokalen Entsorgungsunternehmen abhängen.
Wir nutzen die Waste Collection Schedule Integration, um die Heidelberger Abholtermine abzufragen. Die URL für den CoMakingSpace lautet:
https://www.gipsprojekt.de/featureGips/Gips?SessionMandant=Heidelberg&Anwendung=ABFUHRKALENDER&Methode=TermineAnzeigenICS&Mandant=Heidelberg&Abfuhrkalender=Heidelberg&Bezirk_ID=34979&Jahr={%Y}&Suchkriterium1=
Die Termine erscheinen nun in Home Assistant als Kalenderentitäten (z. B. `calendar.heidelberg`).
5. Automatisierung für die Mülllampel
- Erstelle eine Automatisierung in Home Assistant, die prüft, welche Mülltonnen in den nächsten 7 Tagen abgeholt werden, und die LEDs entsprechend steuert. Unsere Automatisierung ist wie folgt definiert:
alias: Garbage Light
description: >-
Let´s the Garbage Light in the Wood Workshop blink for ~30 Minutes. Starts 30
minutes before an event in our calendar ends
triggers:
- trigger: calendar
entity_id: calendar.coms_public_events
event: end
offset: "-0:30:0"
conditions: []
actions:
- action: calendar.get_events
metadata: {}
data:
duration:
hours: 168
minutes: 0
seconds: 0
target:
entity_id: calendar.heidelberg
response_variable: calendar_entries_7_days
- repeat:
count: 130
sequence:
- repeat:
sequence:
- choose:
- conditions:
- alias: Restmüll
condition: template
value_template: "{{ \"Restmüll\" in repeat.item.summary }}"
sequence:
- action: light.turn_on
target:
device_id:
- e7df0dab88007c0d27d62348c4eb39b9
data:
rgb_color:
- 255
- 255
- 255
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- action: light.turn_off
metadata: {}
data: {}
target:
device_id:
- e7df0dab88007c0d27d62348c4eb39b9
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- conditions:
- alias: Gelber Sack
condition: template
value_template: "{{ \"Gelber Sack\" in repeat.item.summary }}"
sequence:
- action: light.turn_on
target:
device_id:
- e7df0dab88007c0d27d62348c4eb39b9
data:
rgb_color:
- 238
- 255
- 0
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- action: light.turn_off
metadata: {}
data: {}
target:
device_id: e7df0dab88007c0d27d62348c4eb39b9
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- conditions:
- alias: Papier
condition: template
value_template: "{{ \"Papier\" in repeat.item.summary }}"
sequence:
- action: light.turn_on
target:
device_id:
- e7df0dab88007c0d27d62348c4eb39b9
data:
rgb_color:
- 0
- 42
- 255
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- action: light.turn_off
metadata: {}
data: {}
target:
device_id:
- e7df0dab88007c0d27d62348c4eb39b9
- delay:
hours: 0
minutes: 0
6. Montage und Test
- Setze die Glasscheibe wieder in den Bilderrahmen ein.
- Schließe den ESP32 und den LED-Streifen an die Stromversorgung an.
- Teste die Automatisierung, um sicherzustellen, dass die LEDs korrekt blinken.
Fehlersuche
- Problem: Die LEDs leuchten nicht.
- Prüfe, ob der LED-Streifen richtig an den ESP32 und die Stromversorgung angeschlossen ist.
- Stelle sicher, dass die ESPHome-Konfiguration korrekt hochgeladen wurde
- Problem: Home Assistant erkennt den Kalender nicht.
- Verifiziere, ob die Integration korrekt aufgesetzt wurde.