Zum Inhalt springen

funrecycler

Tipps und Tutorials

Primäres Menü
  • Startseite
  • Start
  • 2018
  • Dezember
  • 11.
  • Abfallkalender im ioBroker

Abfallkalender im ioBroker

iang 11. Dezember 2018 4 Minuten gelesen

Mein Ziel war es, im ioBroker VIS einen Auszug aus dem Abfallkalender darzustellen, der mit Symbolen die nächsten vier Termine anzeigt. Ich realisiere das, indem ein Skript die Termine aus einer ical-Instanz liest und dann zusammen mit den Symbolen im VIS dargstellt.

Voraussetzungen

  • Eine eigene "ical"-Instanz für den Abfallkalender

  • Abfallsymbole

  • einen Google-Kalender für die Abfalltermine

Verbinden der ical-Instanz mit dem Google-Kalender

Zunächst erstellt ihr euch einen Google-Kalender, der nur für die Abfalltermine verwendet wird. Im Idealfall stellt euer Abfallunternehmen eine ics-Datei bereit, die in den Kalender importiert wird. Wichtig! Bei mir funktioniert das nur korrekt, wenn die Termine "ganztags"-Termine sind.

Die ical-Instanz benötigt einen URL auf den Kalender. Den bekommt man, wenn man in der Webansicht des Google-Kalenders auf die drei Punkte, dann Einstellungen und Freigabe klickt. Ziemlich weit unten findet sich dann der URL mit der Beschriftung Privatadresse im ical-Format. Diese Adresse wird für die ical-Instanz benötigt.

Adapterkonfiguration Haupteinstellungen

Konfiguration der Kalender-Adresse

  Unter dem Menüpunkt Ereignisse habe ich Vacation deaktiviert.

Der Adapter wird nun neugestartet. In der Objekt-Ansicht von ioBroker kann nun geprüft werden, ob die Schritte erfolgreich waren. Dazu geht ihr mit der Maus über den Wert in der Zeile html und solltet dann im Popup schon ein paar Termine sehen.

ioBroker/Objekte/ical-Instanz

VIS vorbereiten

Damit VIS Bilder anzeigen kann, werden diese mit dem Dateimanager, der im VIS-Editor über Setup erreicht wird, hochgeladen. Ich habe denen folgende Namen gegeben

  • bt.png für Blaue Tonne

  • gt.png für Gelbe Tonne

  • st.png für Schwarze Tonne

Weitere Abfallereignisse sind für mich nicht relevant.

Die Bilder habe ich im Ordner /vis.0/main/bilder/abfall abgelegt.

Im VIS-Editor wird Anzeige des Abfall-Kalenders lediglich ein HTML-Widget angelegt, in die Eigenschaft HTML des Widgets schreiben wir {javascript.0.vis.Abfall}. Das ist ein Verweis auf einen State des Unterhalb des Objektes javascript.0.

Dieser State muss zunächst angelegt werden. Dazu wird under ioBroker/Objekte die Zeile javascript.0 markiert, dann ganz oben auf das Plussymbol Ein Tochterobjekt… klicken.

Den State javascript.0.vis.Abfall als Zeichenkette hinzufügen

Zur Formatierung verwende ich etwas CSS, das im VIS-Editor in der CSS-Eigenschaft einfügt wird.

table.Abfall {
    color: white;
}
td.Abfallimage {
    background-color: gray;
    padding:5px;
}
td.AbfallText {
    text-align: center;
    padding: 5px 10px;
    color: lightblue;
}

Skriptdatei erstellen

Unter ioBroker/Skripte wird ein neues Skript erstellt. Als Typ ins Javascript zu wählen. Dort wird folgender Skripttext eingefügt.

on('ical.0.data.table', function(theObj) {
   var obj = theObj.state.val;
   MakeAbfallHTML(obj);
});
function MakeAbfallHTML(obj) {
    var html = "<table class=Abfall><tr>";
    for (i=0; i<4; i++) {
        if (obj[i]) {
            if (obj[i].event.indexOf("Gelber Sack") > -1) {
                html = html + "<td class=Abfallimage><img width=120 height=120 src=/vis.0/main/bilder/abfall/gt.png></td>";
            }
            if (obj[i].event.indexOf("Papier") > -1) {
                html = html + "<td class=Abfallimage><img width=120 height=120  src=/vis.0/main/bilder/abfall/bt.png></td>";
            }
            if (obj[i].event.indexOf("Haus") > -1) {
                html = html + "<td class=Abfallimage><img width=120 height=120  src=/vis.0/main/bilder/abfall/st.png></td>";
            }
        }
    }
    html = html + "</tr><tr>";
    for (i=0; i<4; i++) {
        if (obj[i]) {
            html = html + "<td class=AbfallText>"+obj[i].date+"</td>"   ;
        }
    }
   html = html + "</tr></table>";
   console.log(html);
   setState('javascript.0.vis.Abfall', html);
}

Das Skript reagiert auf drei Ereignisse, bei denen im Text die Begriffe

  • Gelber Sack

  • Papier

  • Haus

vorkommen und ordnet diesen Ereignissen die jeweiligen Bilder zu. Vergleiche dazu im Skript die Zeilen 12, 16 und 20 (siehe Bild). Diese Begriffe müssen gegebenenfalls an die Texte die in eurem Abfallkalender stehen, angepasst werden. Ebenfalls könnte dies leicht zum Beispiel um Biotonne erweitert werden, wenn nach Zeile 22 folgender Code eingefügt wird und ein zusätzliches Bild bit.png hochgeladen wird.

if (obj[i].event.indexOf("Bio") > -1) {
                html = html + "<td class=Abfallimage><img width=120 height=120  src=/vis.0/main/bilder/abfall/bit.png></td>";
            }

Beitragsnavigation

Zurück: mc versteckte dateien ausblenden
Weiter: Neues Jahr, neuer Müllkalender, *.ics Export am Beispiel von abfallplus

Verwandte Geschichten

syno

Synology: Benutzerpasswort per SSH ändern

iang 9. September 2026
30b50be1-d6b4-4f58-b3de-ee0df672e5ec

Ein kurzer Hinweis aus der IT: Bitte hört auf, Bildschirme mit dem Handy zu fotografieren

iang 13. Februar 2026
Bildschirmfoto-vom-2026-02-12-19-11-19

MeshCore Analyzer – Netzwerk sichtbar machen

iang 13. Februar 2026
Neueste Beiträge
  • Davis Vantage Pro2 im Smart Home: ein kürzerer Weg für die eigenen Wetterdaten
  • ARISS/ISS-SSTV unter Ubuntu empfangen: SDRangel mit Doppler-Korrektur, PipeWire und QSSTV
  • Synology: Benutzerpasswort per SSH ändern
  • CHIRP-Unterstützung für den Yaesu FT-991A
  • Meshcore nRF52840 OTA Firmware update. Repeater
Archive
  • Oktober 2026
  • September 2026
  • Juli 2026
  • Februar 2026
  • November 2025
  • Oktober 2025
  • August 2025
  • Februar 2024
  • Januar 2024
  • Oktober 2023
  • Juli 2023
  • Januar 2023
  • Juni 2020
  • April 2020
  • Januar 2020
  • August 2019
  • Mai 2019
  • März 2019
  • Dezember 2018
  • November 2018
  • Oktober 2018
  • September 2018
  • Juni 2014
  • Mai 2014
  • April 2014
  • März 2014
  • Januar 2014
  • Dezember 2013
  • November 2013
  • Oktober 2013
  • Juli 2013
  • April 2013
  • März 2013
  • Januar 2013
  • Dezember 2012
  • November 2012
  • September 2012
  • August 2012
  • Juli 2012
  • Juni 2012
  • Mai 2012
  • April 2012
  • März 2012
  • Februar 2012
  • Januar 2012
  • Dezember 2011
  • November 2011
  • Oktober 2011
  • September 2011
  • August 2011
  • Juli 2011
  • Juni 2011
  • Mai 2011
  • April 2011
  • März 2011
  • Februar 2011
  • Januar 2011
  • Dezember 2010
  • November 2010
  • Oktober 2010
  • September 2010
  • August 2010
  • Juli 2010
  • Juni 2010
  • Mai 2010
  • April 2010
  • März 2010
  • Februar 2010
  • Januar 2010
  • Dezember 2009
  • November 2009
  • Oktober 2009
  • September 2009
  • August 2009
  • Juli 2009
  • Juni 2009
  • Mai 2009
  • April 2009
  • März 2009
Kategorien
  • Allgemein
  • Amateurfunk
  • Android
  • AVR
  • CNC
  • Computer & Technik
  • Datenleck
  • Games
  • Grafik
  • GSM
  • Hardware
  • Kniffe und Tricks
  • Linux
  • Mac
  • meshcore
  • Mikrokontroller
  • misc
  • Politik
  • Programmieren
  • Reviews
  • Software
  • Technik, Trends & News
  • Techniknews
  • Tools
  • Tutorial
  • Video
  • Webseiten
  • yvotd

Das hast du vielleicht versäumt

wetterGW2

Davis Vantage Pro2 im Smart Home: ein kürzerer Weg für die eigenen Wetterdaten

iang 10. Oktober 2026
ChatGPT-Bild-4.-Okt.-2026-18_58_22

ARISS/ISS-SSTV unter Ubuntu empfangen: SDRangel mit Doppler-Korrektur, PipeWire und QSSTV

iang 4. Oktober 2026
syno

Synology: Benutzerpasswort per SSH ändern

iang 9. September 2026
chirp

CHIRP-Unterstützung für den Yaesu FT-991A

iang 21. Juli 2026
Urheberrecht © Alle Rechte vorbehalten. | MoreNews von AF themes.