Flukso Sensordaten lokal loggen

Error message

Achtung: Sie benutzen einen veralteten Browser. Einige Teile von mysmartgrid.de können daher in ihrer Funktion beeinträchtigt sein. Bitte installieren Sie einen dieser Browser: Internet Explorer 8, Firefox 3, Safari 4, Chrome 15, Chromium 15, Opera Mobile 11, Android 2.3.4, Android 4.1 (oder eine neuere Version).

Hallo,

was benötige ich, wenn ich die Sensordaten zusätzlich zu mysmartgrid.de auch auf einem lokalen Server übertragen möchte?

Nach durchforsten des Forums, der Entwicklerseite (http://developer.mysmartgrid.de/doku.php), der Volkszähler Webseite (http://wiki.volkszaehler.org/s) und von GitHub (u.a. https://github.com/mysmartgrid/msg-flukso) habe ich folgende Punkte identifiziert, die dafür notwendig wären:

1. vzlogger auf dem Flukso installieren und konfigurieren. Die vzlogger Binary "vzlogger_0.3.3_ar71xx.ipk" für die Flkuso ist unter http://packages.mysmartgrid.de/openwrt/ zu finden.

2.a web/drupal auf den Server einrichten (siehe https://github.com/mysmartgrid/msg-flukso: "heme and modules that turn a stock Drupal installation into www.mysmartgrid.de"). Gibt es hierfür eine Anleitung?

oder

2.b Den Volkszähler als Middelware und das WebFrontend auf dem Server einrichten wie unter http://wiki.volkszaehler.org/software/middleware/installation beschrieben.

Den Weg 1. --> 2.b habe ich probiert doch leider ohne Erfolg.

Hat jemand erfolgreich die Daten lokal mit diesen Tools übertragen bekommen? Mir ist klar, dass ich die Daten vom Flkuso auch über die API bekommen kann, mir ging es aber nicht darum eine eigene Entwicklung zu schreiben, sondern bestehende Lösungen zu nutzen, die auf die Flkusodaten Zugriff haben.

Hier noch der System-Auszug vom Flukso:
Chipset: Atheros AR2317
Processor: MIPS 4KEc V6.4
Load: 0.01, 0.05, 0.07
Memory: 29.11 MB (38% cached, 9% buffered, 14% free)
Version: 2.1.0-3
Firmware-Tag: flukso-2.0.5-rc4-40-gc5a2132
Firmware-Datum: 20140127_1649
Firmware-Version: c5a213262b882c595ccc9b2f3dcc3de5ddedee6e

Vielen Dank im Voraus
Shana

Hallo,

Zum Prinzip auf dem Flukso (vereinfacht):
Auf dem Flukso laeuft ein Prozess (fluksod) der die Messwerte vom Messboard ausliest, diese Sensorweise in Dateien (immer nur die letzten 60 Sekunden) schreibt und sie parallel dazu etwa alle 5 Minuten an ein konfiguriertes Portal sendet.

Der fluksod kann nur 1 Portal bedienen, d.h es geht nur mysmartgrid oder ein eigenes.

Der vzlogger besitzt zusaetzlich zur Volkszaehler-API eine API die ihm ermoeglicht auch mit unserem MySmartGrid Server zu reden. Er ist aber nicht dafuer gedacht die Messwerte vom fluksod abzugreifen und an ein anderes Portal zu schicken.

Das MySmartGrid-Web-Portal: Es besteht eigentlich aus mehreren Teilen die sich im genannten msg-flukso repository befinden. Fuer die Erfassung der Messwerte muesste zunaechst ein API-Server/Dienst aufgesetzt werden, damit die Messwerte ueberhaupt erst erfasst werden koennen. Der Teil web/drupal ist im grossen ganzen nur die Visuallisierung der Daten. Beide muessen auf eine gemeinsame mysql-Datenbank zugreifen koennen. Das Ganze laeuft auf Linux-Rechnern mit ubuntu-betriebssystem.

Ich wuerde vorschlagen die Hexabus-Tools [1] zu nutzen. Vorraussetzung dafuer ist allerdings ein ipv6 Netzwerk.
Ab der Firmware-Version 2.0.4 ist auf dem Flukso bereits ein hexadaemon installiert. Dieser startet automatisch, sobald der Flukso eine ipv6-Adresse erhaelt. Dieser Prozess liest die Messwertedateien des fluksod aus und sendet jeden Messwert ins ipv6 Netzwerk.
Nun benoetigt man nur noch einen Rechner der diese Messwerte empfaengt. Wir benutzen hierzu eine "Hexabus-Basis-Station" basierend auf einem Raspberry Pi. Aber es geht auch ein ganz normal PC mit einem Ubuntu-14 Betriebssystem

Auf der Basis-Station benoetigt man dann auch die Hexabus-Programme. Das hexanode-webfrontend dient einzig der Visualiserung der empfangenen Messwerte. Sie werden hier nicht gespeichert. Da der hexadaemon jeden Messwert direkt sendet (aufloesung 1Sek.) erhaelt dadurch eine Visualisierung fast in Echtzeit.
Wenn man die Werte speichern moechte, macht man dies mit dem Programm hexalog.

Viele Gruesse
Kai Krueger

[1] https://github.com/mysmartgrid/hexabus/

Hallo Herr Krüger,

vielen Dank für die hilfreiche Antwort.

Der vzlogger besitzt zusaetzlich zur Volkszaehler-API eine API die ihm ermoeglicht auch mit unserem MySmartGrid Server zu reden. Er ist aber nicht dafuer gedacht die Messwerte vom fluksod abzugreifen und an ein anderes Portal zu schicken.

Der vzlooger würde nach meinem Verständnis auf dem Client (Flukso) laufen und dann auch nur mysmartgrid oder Volkszähler bedienen, richtig? Der vzlooger wäre dann eine Alternative zu fluksod? Wie installiere ich vzlooger auf dem Flukso? Die vzlooger Binarys aus http://packages.mysmartgrid.de/openwrt/ konnte ich auf dem Flkuso nicht installieren, da die Chip Architektur nicht gepasst hat. Was ich noch nicht probiert habe ist die Dateien aus https://github.com/mysmartgrid/vzlogger auf dem Flkuso zu kopieren und anschließend './configure && make && make install') aufrufen.

Das MySmartGrid-Web-Portal: Es besteht eigentlich aus mehreren Teilen die sich im genannten msg-flukso repository befinden. Fuer die Erfassung der Messwerte muesste zunaechst ein API-Server/Dienst aufgesetzt werden, damit die Messwerte ueberhaupt erst erfasst werden koennen. Der Teil web/drupal ist im grossen ganzen nur die Visuallisierung der Daten. Beide muessen auf eine gemeinsame mysql-Datenbank zugreifen koennen. Das Ganze laeuft auf Linux-Rechnern mit ubuntu-betriebssystem.

Gibt es eine Beschreibung, wie ich die einzelnen Komponenten des Webportals bei mir lokal aufsetzen kann? Ich habe keine Readme und keine Install-Dateien in den Ordnern auf https://github.com/mysmartgrid/msg-flukso/ gefunden. In web/api gibt es zwei Ordner flkuso und webmachine. Müssten beide auf dem Server installiert werden?

Den Tipp mit Hexbus werde ich mal ausprobieren. Vorausgesetzt, mein Router unterstütz ipv6.

Viele Grüße
shana

Warum so kompliziert ? einfach per script aus der Api holen danach kannst du damit machen was du möchtest:

-------------------------------------------------------------------------------------------------------------------------------------
#!/usr/bin/perl -w
#
use strict;
my $url = 'http://hier ip rein:8080/sensor/';
my $fid = 'hier sensor ID rein';
my $prm = '\?version=1.0\&interval=minute\&unit=watt\&jsonp_callback=realtime';
my $result = qx(/usr/bin/curl -s $url$fid$prm);
my @array = split(/[\[\]]/, $result);
my $last = 0;
foreach (@array)
{
if( $_ =~ /[0-9]+\,[0-9]+/ )
{
my @C = split(/,/);
my $DATETIME = $C[0];
my $VALUE = $C[1];
$last = $C[1];
}
}

if ($last > 5000) {
print "0";
} else {
print "$last\n";
}
---------------------------------------------------------------------------------------------------------------------------------------

Vielen Dank für den Hinweis. Es ging mir nicht darum die Einzelwerte aus dem Flkuso zu bekommen, sondern wie Kai Krüger beschrieben hat, sie auf dem lokalen Server in einer DB anzulegen und zu visualisieren.

Hallo
Ich habe auf einem Raspberry Pi ein Perl-Script am laufen das mir die Daten vom Flkuso jede Minute holt das sind 60Werte, jede Sek. ein Wert..
Diese Daten werden in eine RRD-DB abgelegt.
Diese Daten können dann mit einer Webseite als Kurve angezeigt werden.

#!/usr/bin/perl -w
use strict;
my $url = 'http://192.168.2.43:8080/sensor/';
my $fid = '63bd76b9abb9dae7bc2f55bc89308f96';
my $prm = '\?version=1.0\&interval=minute\&unit=watt\&jsonp_callback=realtime';
# print "executing: $url$fid$prm\n\n";
my $result = qx(/usr/bin/curl -s $url$fid$prm);
#print "\n\nRESULT = $result\n\n";
my @array = split(/[\[\]]/, $result);
my $last = 0;
foreach (@array)
{
if( $_ =~ /[0-9]+\,[0-9]+/ )
{
my @C = split(/,/);
my $DATETIME = $C[0];
my $VALUE = $C[1];
$last = $C[1];
# print "rrdtool update /var/db/rrd/flukso/flukso_data.rrd $DATETIME:$VALUE\n";
system ("/usr/bin/rrdtool update /var/www/rrd/flukso_Haushalt.rrd $DATETIME:$VALUE");
}
}
Gruß netFritz

Hallo,

1. Der vzlogger ist nicht fuer den Flukso vorgesehen, er ersetzt auch nicht den fluksod.

2. Eine detailierte beschreibung wie man msg-flukso installiert gibt es nicht.
Fuer die Visualisierung benoetigt man web/drupal und fuer die erfassung der Messwerte web/api Das verzeichnis webmachine sind nur die Abhaengigkeiten innerhalb von flukso.

Das ganze aufzusetzen ist aber einiges an Arbeit.

Viele Gruesse
Kai Krueger

Hi,

du könntest den FLUKSO auch per API direkt mit FHEM auslesen und in eine Datei / DB z.B. auf einem Raspberrypi loggen. Such nach Modul FLUKSO (http://forum.fhem.de).

Gruß
Karlheinz

Beitrag auf Wunsch des Benutzers gelöscht.