beelogger

Home Assistant / Scraper

Wenn der beelogger nicht grade seine Daten an den Webserver sendet, befindet er sich im Tiefschlaf, um Strom zu sparen. Das bedeutet auf der anderen Seite, dass er nicht aktiv abgefragt werden kann. Um nun die aktuellen Werte der Sensoren auch in seiner Homeautomation sehen und verwenden zu können, muss auf die gespeicherten Daten auf dem Webserver zurückgegriffen werden. Als ein Tool, welches in vielen Systemen zur Verfügung steht, bietet sich ein Scraper an. Solche Tools können beispielsweise Websites durchsuchen und mit definierten Filtern Werte extrahieren.

Um diese Funktion so einfach und ressourcenschonend wie möglich nutzen zu können, wurde eine spezielle Scraper-Seite erstellt, die auf dem Datenbestand des beelogger-mobileCheck basiert.

Am Beispiel der weit verbreiteten Open Source Software “Home Assistant” wird im Folgenden die Funktion der beelogger Scrapter-Seite erklärt und wie hierüber die eigenen Sensorwerte in den Assistenten integriert werden können. Diese Anleitung stellt lediglich ein Beispiel der Möglichkeiten dar und ersetzt nicht, dass man sich mit dem Home Assistant selbst in ausreichender Tiefe beschäftigt. Support für den Assistenten kann von uns leider nicht zur geleistet werden. Wer allerdings den Home Assistent bereits einsetzt, weiß bestimmt auch um die gute Community dieses Tools.

Grundsätzlich stehen folgende Werte pro Sensor zur Verfügung:

Bezeichnung Bezeichnung des Sensors
Aktuallisierung letzte Aktualisierung des Datensatzes
Wert letzter (aktueller) Wert
Wert 1 vorletzter Wert
Wert 24 Wert von vor 24 Stunden

Der Aufruf der Scraper-Seite erfolgt über die URL: https://community.beelogger.de/BENUTZERNAME/scraper.php?pfad=beelogger1

BENUTZERNAME ist hierbei durch den eigenen Benutzernamen zu ersetzen.
Ebenso kann die Variable “pfad” frei im Rahmen der bereits angelegten beelogger gesetzt werden.

Beim direkten Aufruf der URL über den Browser erhält man eine Übersicht aller Variablen. Um die einzelnen Werte einfach und unkompliziert mit einem Scraper filtern zu können, wurde jedem Wert eine eigene Klasse im Rahmen eines DIV-Tags zugewiesen. Die Verfügbaren Klassen sind ersichtlich, wenn man sich im Brower den Quelltest der Seite anschaut. Hierfür reicht es meist mit der rechten Maustaste auf die Website zu klicken, um diese Option angezeigt zu bekommen. Bei Chromium beispielsweise nennt sich diese Funktion “Seitenqeulltext anzeigen”.

Beispiel der erstellten Tags:

<div class=’beelogger1_Sensor_1_Bezeichnung‘>Temperatur</div>

<div class=’beelogger1_Sensor_1_Wert‘>22.14</div>

<div class=’beelogger1_Sensor_1_Wert_1‘>22.14</div>

<div class=’beelogger1_Sensor_1_Wert_24‘>22.01</div>

 

Setup der Sensoren im Home Assistant

Um die Werte der Sensoren im Home Assistant anzeigen zu können, muss die Konfigurationsdatei “configuration.yaml” manuell bearbeitet werden. Wo sie diese Datei genau befindet und welche Optionen bestehen, diese Datei zu bearbeiten, ist abhängig vom verwendeten Betriebsystem und an dieser Stelle sei auf die vielen Anleitungen im Internet verwiesen.

Folgende Minimalkonfiguration ist hiebei einzutragen:

sensor:
  - platform: scrape
     scan_interval: 900
     resource: https://community.beelogger.de/BENUTZERNAME/scraper.php?pfad=beelogger1
     select: ".beelogger1_Sensor_1_Wert"
     name: beelogger1_Sensor1_Wert
     unit_of_measurement: "°C"

Erläuterung:

scan_interval Gibt das Intervall in Minuten an mit dem die Seite gescannt und die Werte gefiltert werden
resource URL zur Scraper-Seite – BENUTZERNAME und pfad sind wie oben beschrieben individuell zu wählen
select Suchstring – Hier wird die Klasse des gewünschten Wertes angegeben
name Eindeutige Bezeichnung des Sensors (speziell wenn Daten  mehrere Logger eingelesen werden sollen)
unit_of_measurement Maßeinheit des Sensorwertes

 

Darstellung der Werte im Home Assistant Dashboard

Zur Darstellung der Sensorwerte auf dem Dashboard stehen mehrere Optionen zu Verfügung. Die Einbindung der Werte sollte jedem Benutzer dieses Assistenten bekannt sein. Bei Darstellung mehrerer Werte eines beloggers empfehlen wir die Karte “Elemente”.

Auf einer gemeinsamen Karte wird zunächst der Titel gewählt und danach die Sensoren als Entitäten ausgewählt:

Im Anschlusskann jede Entität separat konfiguriert werden, in dem beispielsweise ein Sensorname oder ein Symbol für den Sensor ausgewählt wird:

In diesem Beispiel ist das Ergebnis eine übersichtliche Karte mit den gewünschten Sensordaten eines Loggers: