AT: Müllabfuhr GVU Gemeinden in Niederösterreich (fast alle)
Der zugehörige Support Thread im loxforum
Disclaimer
das ganze funktioniert nur solange die Webseite vom GVU nicht angepasst wird
da der GVU jetzt sehr stark die Skarabäus App promotet, kann diese Lösung durchaus ein Ablaufdatum haben
ich habe noch keine Ahnung was mit Jahreswechsel passiert - doch die habe ich nun die Daten für das neue Jahr wurden erst mit dem 2. Jänner zur Verfügung gestellt. Bis dahin keine Daten im Kalender.
geht leider nicht für alle Gemeinden in Niederösterreich
Basics
Ich habe mal beim GVU St. Pölten angefragt, ob es eine API gibt, bei der man Müllabfurtermine abfragen kann.
Leider habe ich nie eine sinnvolle Antwort bekommen, aber ich habe das hier gefunden
https://www.umweltverbaende.at/?portal=abfallverband&vb=&kat=12
Hier wählt man mal in der Grafik den eigenen Bezirk aus, zB St. Pölten Land
https://stpoeltenland.umweltverbaende.at/?vb=pl&portal=verbandDann über das Menü ENTSORGUNG / Abholtermine zur Gemeindeliste
https://stpoeltenland.umweltverbaende.at/?portal=verband&vb=pl&kat=32Hier dann die eigene Gemeinde auswählen, zB Maria Anzbach
https://stpoeltenland.umweltverbaende.at/?gem_nr=31921&jahr=2020&portal=verband&vb=pl&kat=32
Diesen letzten Link brauchen wir, da bekommen wir die Abholtermine her.
Wichtig: aus dem Link den Jahr Parmeter entfernen also aus
https://stpoeltenland.umweltverbaende.at/?gem_nr=31921&jahr=2020&portal=verband&vb=pl&kat=32
wird dann
Diesen letzten Link - ohne Jahr - den verwenden wir nun.
Natürlich unseren eigenen, nicht den vom Beispiel
Einschränkung - nicht alle Gemeinden verwenden den Standard Kalender! Dann geht es ev. nicht!
So sieht das Resultat aus
Und so sieht der Flow aus
Weiter geht es mit Beschreibung und Details um das auch selber umzusetzen.
Selektion der Elemente
Mit dem Selektor div class="tunterlegt" kann man gut auf die Termine zugreifen, liefert immer mehrere zukünftige Termine und zwar direkt die interessanten Werte.
Werte in Node Red selektieren
Nun wollen wir uns mal die class="tunterlegt" Werte in Node Red holen um sie weiter zu nutzen.
Die Details dazu einfach in den entsprechenden Nodes nachsehen, die Node Namen sagen schon worum es geht.
Der Flow
Der Flow verwendet folgende Contribs, die sollte man zuerst installieren
node-red-contrib-loxone - das war ja klar
node-red-dashboard - für das GUI
node-red-node-ui-table - für die Tabellenansicht
node-red-contrib-iconv - für die ISO nach UTF Konvertierung
Das ist der Node Red Flow, den muss man in Node Red Importieren → flows.json
Folgendes ist an die eigenen Bedürfnisse anzupassen
die Gemeindenummer gem_nr in der GVU Abfrage
In der Funktion Table Data werden die benötigten Daten extrahiert und aufbereitet für die Tabellendarstellung
Hier muss man ev. anpassen, z.B. habe ich keine Biotonne und keinen Einpersonenhaushalt, deshalb werden diese Daten nicht verwendet (geskippt)In der Funktion Data for Loxone werden die Daten für Loxone aufbereitet, auch hier muss man ev. anpassen.
Und beim Node Miniserver muss man natürlich die eigen IP und den eigenen Port für den Virtuellen UDP Eingang eingeben.
Die Daten an den MS - Aufbau
Die Daten werden wie folgt gesendet
RM:2 AP:12 GS:16
Also immer ein 2-Zeichen Kürzel mit Doppelpunkt für den Müllkontainer und dann eine Zahl für die Tage wie lange es noch dauert
Eine Negative Zahl bedeutet einen Fehler, es sind keine Daten vorhanden.
Die Abfrage im UDP Eingang ist dann z.B. für das Altpapier: \iAP:\i\v
Virtueller UDP Eingang in Loxone
Das sieht bei mir so aus
Und hier die Befehlserkennung für das Altpapier
Darstellung über Status Baustein
Und so ist der Statusbaustein konfiguriert
Die Müllcontainer Icons sind von hier: Symbole und Icons - klein - danke an @Mil@n dafür.