Schon vor längerer bin ich vom dashing.io auf smashing.io umgestiegen. Der Umstieg gestaltete sich recht einfach, da an den Scripten unter Jobs keinerlei Anpassungen durchgeführt werden mussten.
Mittlerweile werden verschiedene Informationen aus diversen Quellen abgerufen unter anderem Ticketsysteme via Api oder DB Abfrage, Todo Liste, Informationen einer Telefonanlage, Microsoft Service Status, Automatisierungssysteme und Icinga.
Leider ist das smashing teilweise öfters am Tag abgestürzt und musste neu gestartet werden. In dem thin.log kam die Meldung smashing-1.3.6/lib/dashing/app.rb:86:in `block (2 levels) in <top (required)>‘: can’t add a new key into hash during iteration (RuntimeError)
Die Abstürze konnten massiv verringert werden, in dem bei dem Aufruf send_event nicht das Array übergeben wurde sondern eine Kopie des Array mit zum Bespiel values.dup statt values.
Wer seinen Strom von der EWE bezieht und einen digitalen Stromzähler hat, kann sich einen ELMO bestellen. Eine kleine Dose mit WLAN Antenne die auf den Stromzähler gesteckt wird. Zu bestellen ist das Gerät unter https://www.ewe.de/elmo-bestellung. Die Einrichtung erfolgt mit der dazugehörigen APP. Damit der ELMO alle Daten auslesen kann muss im Zähler der Punkt Info auf on und der Pin auf off gestellt. Bei einigen Zählern gibt es eine Taste für die Konfiguration oder ein kleines Feld auf dem mit einer Taschenlampe geleuchtet werden muss.
Damit Werte in einer Influxdb zwischengespeichert werden können, muss die Datebank zunächst erstellt werden.
create database elmobb with duration 30d
create user elmo with password ‚<password>‘
grant all on „elmodb“ to „elmo“
Die Informationen werden über die http://<ip Adresse>/data ausgelesen und mit Hilfe eines Ruby Scriptes in eine Influxdb geschrieben. Das Script wird per Cronjob alle 10 Minuten ausgeführt.
In einer smashing.io Kachel werden bereits Termine aus dem Google Kalender ausgegeben und nun sollten die Termine auch in einer Grafana Kachel angezeigt werden.
Der Zugriff auf den Kalender über die API wurde bereits im Artikel https://www.itbasic.de/api-zugriff-auf-den-google-kalender/ beschrieben. Das Script wurde angepasst und per Cronjob ausgeführt. Die Werte „Wer;Titel;von;bis“ werden in einer CSV Datei lokal abgelegt.
Da sich die Datei lokal auf dem Grafana Server befindet, müssen folgende Zeilen in der /etc/grafana/grafana.ini hinterlegt werden. Ohne die Zeilen erhält man die folgende Fehlermeldung im Query: local mode has been disabled by your administrator error
Kollegen haben mir den Floh ins Ohr gesetzt, man könnte die Temperatur und Luftfeuchtigkeit mit Hilfe eines WEMOS D1 Mini messen und in eine Datenbank schreiben. Die gesammelten Informationen dann mit Hilfe von Grafana ausgeben.
Zunächst die einzelnen Elemente bestellt und zusammengelötet, auf dem Rechner die benötigte Arduino IDE installiert.
In der Arduino IDE unter den Einstellungen / Preferences muss bei Additional boards manager URLs die URL http://arduino.esp8266.com/stable/package_esp8266com_index.json hinterlegt werden.
Zusätzlich das Board unter Tools => Board => Boards manager das Board ESP8266 installieren.
Neben dem Board wird die Bibliothek für „DHT sensor library“ benötigt.
Bevor de Quellcoce übertragen werden kann, müssen folgende Einstellungen gesetzt werden. Die Uploadgeschwindigkeit auf 921600 und unter Tools Board => esp8266 das Board LOLIN (WEMOS) D1 R2 & Mini auswählen.