Mobile Alerts Sensoren ohne Rest API auslesen

Ich habe einige Mobile Alerts Sensoren im Haus. Diese wollte ich ursprünglich mit dem RaspberryPi über die Mobile Alerts Rest API auslesen. Da dort aber nur bestimmte Sensoren funktionieren (meine leider nicht) habe ich es auf eine etwas andere Art versucht. Diese Variante ist zwar nicht so zuverlässig und auch etwas umständlich, aber sie funktioniert immerhin.

Tipp: Es gibt auch eine andere Methode

Vorbereitungen

Die Sensoren sollten schon mit dem Gateway verbunden und in die Mobile Alerts App integriert sein. In den Einstellungen der App findet man relativ weit unten die Phone ID. Diese wird später noch gebraucht.

Dann besucht man die Seite https://measurements.mobile-alerts.eu/Home/SensorsOverview?phoneid=XXXXXXXXXXXX

Am Ende muss noch die Phone ID ergänzt werden. Dort sollte man nun alle Sensoren sehen.

Skript erstellen

Jetzt brauchen wir einige Zeilen aus dem Quellcode. So wird auch später das Python Skript, welches die Daten ausliest, funktionieren. Dazu macht man einen Rechtsklick auf die Seite und wählt dann „Seitenquelltext anzeigen“ (Kann je nach Browser variieren).

Hier sehe ich zum Beispiel, dass sich die Temperatur des Badezimmers in Zeile 66 befindet. Die Luftfeuchtigkeit befindet sich in Zeile 70. Und da ist dann auch die Schwachstelle des Skripts. Sollte sich die Temperatur des Badezimmers mal nicht mehr in Zeile 66 befinden, funktioniert das Skript nicht mehr und muss angepasst werden. In der Regel gibt es so eine Änderung aber nur, wenn ein weiterer Sensor hinzugefügt oder entfernt wird.

Das ist auch schon das Skript. Es liest vorerst nur die Daten aus.

Zeile 4: Hier wird der Quelltext der Webseite heruntergeladen. Er wird in /home/pi/sensors.txt gespeichert. (nicht vergessen, die Phone ID zu ersetzen) (Update: Seit 15.4.21 Wird der Download per wget von Mobilealerts blockiert. Die zusätzliche Option „-U firefox“ lässt die Webseite denken, dass es sich um einen firefox browser handelt. Ich hoffe, dass das so weiterhin funktionieren wird.)

Zeile 5 und 6: Hier wird eine Variable auf die entsprechenden Zeilen (66 und 70) gesetzt und dann alles, bis auf die Zahl entfernt. Bei Der Temperatur muss noch das Komma durch einen Punkt ersetzt werden.

Zeile 8 und 9: Hier werden die ausgelesenen Daten ausgegeben. Natürlich kann hier auch etwas ganz anderes stehen. Die Daten könnten zum Beispiel in eine Datenbank geschrieben werden oder anderweitig verarbeitet werden (z.B: Wenn es im Schlafzimmer zu heiß aber draußen kälter ist, soll das Fenster geöffnet werden)

Zeile 10: Der Quelltext wird gelöscht. Er wird ja nicht mehr benötigt.

Ich hoffe, ich konnte dir mit diesem kurzen Tutorial weiterhelfen 😉

8 Kommentare

  1. Hallo,
    wie könnte ich die Daten auf einer Website anzeigen lassen ?

    Bin nicht so versiert im Coden ….

    Gruss Hans

  2. Hallo,
    wie kann ich dieses skript in home assistant einfügen? Ich bin leider noch etwas azubi ;-). Ich habe einen Sensor ID01. Diesen möchte ich in Home Assistant einbinden. Hast du eine anleitung für mich. Wäre es möglich mit der RestAPI? Aber wie? LG Danke

  3. Super Einstieg in dieses Thema.
    Hast du ggf. mal versicht die Daten in Grafana oder ähnliche Tools zu bekommen?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert