Robins Blog – Technik und Multimedia

Fhem: Google Analytics mit MQTT

Viele Blogger oder Website-Betreiber möchten ständig wissen, wie oft ihre Site aufgerufen wurde. Daraus lassen sich Rückschlüsse über die Qualität des Contents machen und so hat man einen Anhaltspunkt, die Website zu verbessern. Platzhirsch auf diesem Gebiet ist Google Analytics. Es bietet eine App für IOS und Android, welche keine Wünsche offen lässt. Nachteil: Man gibt seine Daten an einer Datenkrake weiter.
Viele möchten aber auch nur wissen, wie oft ihre Seite derzeitig aufgerufen ist, bzw. wie viele User sich in Echtzeit auf die Seite tummeln. Und das noch auf vielen Displays angezeigt. Hier bietet sich eine Software an, die ich schon seit einige Jahren benutze, geschrieben von MKleine. Der Blogger zapft die Google API per PHP an und gibt die Daten aus. In seinem Beispiel auf ein LCD Display. Im Zeitalter von MQTT habe ich dieses Skript überarbeitet: Es schubst jetzt die Daten zu einem Mosquitto Broker, bei dem sich unterschiedliche Devices abholen können. Bei mir sind das LCD-Module, die Hausautomations-Software Fhem und eineem Max 7219 Display.
Im Grunde ist es egal, welche Art von Modul das ist, Hauptsache es unterstützt MQTT. Eine feine Sache. Der Blogger Matthias Kleine von Haus-automatisierung.com hat auf seiner Website mit Docker gearbeitet, um zu dieser Lösung zu kommen. Ich habe keine Ahnung von Docker, deshalb habe ich die PhP scripts etwas angepasst.

Installation

Script:

Nachdem also die aktuellen Daten per Publish über MQTT rüber geschubst werden, haben wir nun alle Möglichkeiten, die Daten wieder per Subscribe wieder zurückzuholen und darzustellen.

Beispielsweise in Fhem:

defmod GoogleAnalytics MQTT_DEVICE
attr GoogleAnalytics IODev MyBroker
attr GoogleAnalytics icon time_graph
attr GoogleAnalytics room MQTT
attr GoogleAnalytics stateFormat User heute: UserToday
PageViews heute: PageViewsToday
Jetzt: ActiveUsers
attr GoogleAnalytics subscribeReading_ActiveUsers /fhem/Web/ActiveUsers
attr GoogleAnalytics subscribeReading_PageViewsMonth /fhem/Web/PageviewsMonth
attr GoogleAnalytics subscribeReading_PageViewsToday /fhem/Web/PageviewsToday
attr GoogleAnalytics subscribeReading_UserMonth /fhem/Web/UserMonth
attr GoogleAnalytics subscribeReading_UserToday /fhem/Web/UserToday


setstate GoogleAnalytics User heute: 72
PageViews heute: 104
Jetzt: 1
setstate GoogleAnalytics 2018-04-17 09:42:02 ActiveUsers 1
setstate GoogleAnalytics 2018-04-17 09:42:02 PageViewsMonth 13439
setstate GoogleAnalytics 2018-04-17 09:42:05 PageViewsToday 104
setstate GoogleAnalytics 2018-04-17 09:42:05 UserMonth 6912
setstate GoogleAnalytics 2018-04-17 09:42:09 UserToday 72
setstate GoogleAnalytics 2018-04-17 09:42:09 transmission-state incoming publish received

oder dargestellt auf einem schicken Gehäuse mit ESP-Easy.

Das Gehäuse mit wemos d1 fertig geflashed gibts bei mir für 32,90 Euro inkl. Versand.

 

 

oder als Laufschrift auf einem 8×8 LED Max 7219 Display (amazon-affili: Max 7219) mit Raspberry Pi (amazon-affili: Raspberry Pi), diesmal mit Python

 

oder in Node-Red und und und.

Falls Fragen, ab in die Kommentare damit.

Die mobile Version verlassen