Skip to end of metadata
Go to start of metadata

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

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 (wink)


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.


Erkenntnisse bisher

Jahr bei URL weglassen scheint zu gehen

Lässt man den Jahr Parameter weg, so bekommt man die selbe Seite angezeigt - bin gespannt ob das auch für 2021 noch gilt.

https://stpoeltenland.umweltverbaende.at/?gem_nr=31921&jahr=2020&portal=verband&vb=pl&kat=32

https://stpoeltenland.umweltverbaende.at/?gem_nr=31921&portal=verband&vb=pl&kat=32

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.

 Click here to expand...
<div class="tunterlegt">
	MO   20.07.2020   Mehrpersonenhaushalt: Restmüll
</div>
<div class="tunterlegt">
	MI   29.07.2020   Biotonne
</div>
<div class="tunterlegt">
	DI   04.08.2020   Altpapier
</div>
<div class="tunterlegt">
	MI   05.08.2020   Biotonne
</div>
<div class="tunterlegt">
	MO   10.08.2020   Gelber Sack
</div>
<div class="tunterlegt">
	MI   12.08.2020   Biotonne
</div>
<div class="tunterlegt">
	MO   17.08.2020   Mehrpersonenhaushalt: Restmüll
</div>
<div class="tunterlegt">
	MO   17.08.2020   Einpersonenhaushalt: Restmüll
</div>
<div class="tunterlegt">
	MI   26.08.2020   Biotonne
</div>
<div class="tunterlegt">
	MI   09.09.2020   Biotonne
</div>
<div class="tunterlegt">
	MO   14.09.2020   Mehrpersonenhaushalt: Restmüll
</div>
<div class="tunterlegt">
	MI   16.09.2020   Altpapier
</div>
<div class="tunterlegt">
	MO   21.09.2020   Gelber Sack
</div>
<div class="tunterlegt">
	MI   23.09.2020   Biotonne
</div>
<div class="tunterlegt">
	MI   07.10.2020   Biotonne
</div>
<div class="tunterlegt">
	MO   12.10.2020   Mehrpersonenhaushalt: Restmüll
</div>
<div class="tunterlegt">
	MO   12.10.2020   Einpersonenhaushalt: Restmüll
</div>
<div class="tunterlegt">
	MI   21.10.2020   Biotonne
</div>
<div class="tunterlegt">
	MI   28.10.2020   Altpapier
</div>
<div class="tunterlegt">
	MO   02.11.2020   Gelber Sack
</div>
<div class="tunterlegt">
	MI   04.11.2020   Biotonne
</div>
<div class="tunterlegt">
	MO   09.11.2020   Mehrpersonenhaushalt: Restmüll
</div>
<div class="tunterlegt">
	MI   18.11.2020   Biotonne
</div>

Werte in Node Red selektieren

Nun wollen wir uns mal die class="tunterlegt" Werte in Node Red holen um sie weiter zu nutzen.

Der Flow

Der Flow verwendet folgende Contribs, die sollte man zuerst installieren

  • node-red-contrib-loxone - das war ja klar (smile)
  • 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.





  • No labels