Ohne REST API Mobile Alerts Temperatur Sensor in FHEM einbinden
Worum geht es
Beim Kauf meines Mobile Alerts Gateways als Starter Set MA10001 war ein kleiner Temperatursensor dabei. Leider ließ sich der nicht wie einige andere Mobile Alerts Temperatursensoren über meine bestehende LaCrosse Infrastruktur in FHEM einbinden. Der Temperatursensor gehört nicht zur pro series so dass er sich auch nicht wie in meinem andern Blogbeitrag beschrieben ( Mobile Alerts Sensoren mit der REST API in FHEM einbinden ) über die REST API in FHEM einfügen lässt.
Vorbereitung
Um die Werte von Mobile Alerts Sensoren zu visualisieren muss man sie in die Mobile Alerts App auf eine Handy oder Tablett integrieren. Dazu muss man lediglich den aufgedruckten QR-Code mit der App einscannen und schon könnt ihr auf die Werte zugreifen so weit die Sensoren ihre Daten über das Mobile Alerts Gateway an die Mobile Alerts Server uploaden. Wenn das erfolgreich ist, lassen sich die Werte auch über eine URL abrufen. Man muss lediglich die Phone ID seiner Mobile Alerts App kennen.
Die Phone ID findet ihr in eurer App unter Einstellungen ziemlich weit unten (siehe Screenshot):
Nun habt ihr alles um eure Sensorwerte in FHEM einbinden zu können.
Vorgehen
In eurem Lieblingsbrowser gebt ihr folgende URL ein: http://measurements.mobile-alerts.eu/
Es öffnet sich eine Seite in der ihr eure Phone ID eintragen könnt:
Nun klickt auf „Sensoren anzeigen“ und ihr bekommt eine Übersicht der Sensoren in eurer Mobile Alerts App:
Klickt jetzt den Temperatursensor an, wie auch immer ihr ihn benannt habt und es öffnet sich die Seite mit den Sensorwerten:
Diese Seite ist die wichtige, denn ihr braucht die komplette URL aus dem Adressfeld eures Browsers um den Temperatursensor in FHEM einbinden zu können. Dies kann man relativ einfach mit dem HTTPMOD bewerkstelligen. Das define sieht so aus:
define MA_Temperatursensor HTTPMOD http://measurements.mobile-alerts.eu/Home/MeasurementDetails?deviceid=025xxxxxxxxx&vendorid=7cxxxxxx6-dxx1-4xx5-axx9-7b9xxxxxxe5d&appbundle=eu.mobile_alerts.mobilealerts 420
An Stelle der hier angegebenen und unkenntlich gemachten URL müsst ihr die URL die ihr aus dem Adressfeld eures Browsers kopiert habt einfügen. Die 420 nach der URL ist das Intervall in Sekunden in welchem die Sensorwerte vom Mobile Alerts Server geholt werden. Ein kleinerer Wert als 420 Sekunden, also 7 Minuten ist sinnlos, weil Mobile Alerts die Werte sowieso nur im Abstand von 7 Minuten speichert. Bei einem Temperatursensor ist das auch unkritisch, da sich die Temperatur i. d. R nicht so rasant ändert.
Jetzt müssen noch diverse Attribute gesetzt werden damit wir auch die Werte im FHEM sehen können.
Als aller erstes müssen wir einige User-Attribute erstellen die wir anschließend verwenden müssen:
attr userattr reading01Name reading01OExpr reading01Regex reading02Name reading02Regex
Dann „Save Config“ anklicken und die Seite durch Drücken von [Strg]+[F5] auf der Tastatur neu laden, damit die User-Attribute in der Auswahl auch verfügbar sind. Im Folgenden seht ihr eine Auflistung sämtlicher Attribute, damit der Sensorwerte in FHEM als Readings verfügbar sind und das ganze auch etwas aufgehübscht wird.
attr enableCookies 1 attr event-on-change-reading .* attr icon temp_outside@SkyBlue attr reading01Name temperature attr reading01OExpr join ".", (split /,/, $val) attr reading01Regex ([^>]\d*[,]\d) attr reading02Name timestamp attr reading02Regex ([^>]\d+[.]\d+[.]\d+\s\d+[:]\d+[:]\d+)
Nach einer kurzen Wartezeit (maximal 7 Minuten) sollten Werte eintrudeln. Diese könnt ihr wenn ihr wollt noch in einem FileLog speichern und als Plot visualisieren.
Hier das Ergebnis:
Der Windsensor wurde über die REST API eingebunden.
Gedanken zum Schluss
Theoretisch kann man so alle Mobile Alerts Sensoren in FHEM einbinden, man muss nur den regulären Ausdruck in den Attributen reading[XX]Regex und den Code zum Umformatieren in den entsprechenden Attributen ändern. Da ich aber nur einen Temperatursensor habe kann ich das nur diesen hier angeben. Sollte aber nicht so schwierig sein.
Spenden
Wenn Dir der Beitrag hier gefallen oder geholfen hat und Du mir etwas zukommen lassen willst, dann erfährst du hier wie: http://tips-und-mehr.de/spenden/
Hi Trinidad,
Erstmal danke dafür daß du deine Erfahrungen hier teilst und nicht geheim hältst!!!!
Bin neu in FHEM Nutzung und hab mir auf Windows einen FHEM Server eingerichtet, da ich auch die Mobile Alerts Daten länger speichern möchte.
Beim ausführen des Befehls „attr userattr reading01Name reading01OExpr reading01Regex reading02Name reading02Regex“ bekomme ich die Meldung: Please define userattr first
Leider finde ich nirgends wie ich die userattr korrekt vordefiniere.
Einen Sensor habe ich schon über HTTPMod eingebunden, allerdings dürfte da auch was mit der Anbindung nicht passen: 2018.04.24 20:56:36 3: Garten_Temperatursensor: Read response to update didn’t match any Reading
Ich habe nach der Installation der FHEM eigentlich nur deine Schritte befolgt. Kannst Du mir vielleicht auf einfache Art und weise sagen, was ich übersehen hab?
Vielen Dank
Michael
Du musst auf der Seite deines HTTPMOD Temperatursensors nach unten scrollen. Da ist ein Button mit „attr“, rechts daneben ist ein Dropdown-Menue, da selektierst du „userattr“ und fügst im Eingabefeld daneben „reading01Name reading01OExpr reading01Regex reading02Name reading02Regex“ ein und klickst anschließend auf den „attr“ Button. Speichern nicht vergessen, fertig!
Bei der Eingabe des „attr“ Befehls in die Commandline muss hinter attr noch der name deines Temperatursensors in FHEM, dann geht das auch.
Hallo,
vielen Dank für die Anleitung. Hat soweit auch alles geklappt. Die Daten werden erfolgreich ausgelesen! Nur zeigt mir FHEM nicht die Werte in der Überischt an, sondern nur „???“. Wie bekomme ich den Ausdruck dann, wie im Beispiel eingetragen?
Danke Schon mal!
Marc
Hi,
mit dem Attribut stateFormat kannst du einstellen was angezeigt wird. Schau mal http://tips-und-mehr.de/mobile-alerts-sensoren-mit-der-rest-api-in-fhem-einbinden/ unter der Überschrift Vorgehen unten, da siehst du beispielsweise wie es geht.