neues Modul FLUKSO

Begonnen von optimizer, 18 November 2014, 18:13:10

Vorheriges Thema - Nächstes Thema

optimizer

Hallo,

da ich noch kein Modul zum Auslesen von Leistungswerten aus meinem Flukso gefunden habe, versuch ich das mal selber.
Das Fluksometer v2 gibt über einen HTTP request seine Daten pro Sensor aus. Mit nur einer Sensorabfrage funktioniert das auch. Wenn ich mehrere hintereinander abfragen möchte (s. foreach-Schleife) erhalte ich nur den zweiten, bzw. letzten Sensor als Ergebnis.
Als Vorlage habe ich mich am Modul KOSTALPIKO orientiert. Könnte es daran liegen, dass das Ergebnis nicht schnell genug geparst werden kann? Oder wäre eine Mehrfach-Moduldefinition pro Sensor der bessere Weg?
     
...   
foreach my $sensor (@SID)
      {
...
      my $param = {
...
            method     => "GET",                         # Lesen von Inhalten
            callback   =>  \&FLUKSO_ParseSensorResponse, # Diese Funktion soll das Ergebnis dieser HTTP Anfrage bearbeiten
         };
         HttpUtils_NonblockingGet($param);
...
      } #foreach

Anstatt Blocking versuche ich es mit HttpUtils_NonblockingGet lt. http://www.fhemwiki.de/wiki/HttpUtils. "readingsSingleUpdate" hat wohl mittlerweile 4 anstatt 3 Parameter.

Gruß
optimizer
PS: Bin für jeden Hinweis dankbar, da dies mein erstes Perl-Skript ist.

rudolfkoenig

ZitatKönnte es daran liegen, dass das Ergebnis nicht schnell genug geparst werden kann?
Ich tippe eher darauf, dass du die "alten" Daten ueberschreibst, weil nicht damit rechnest, das alles verzoegert ablaeuft.




ZitatOder wäre eine Mehrfach-Moduldefinition pro Sensor der bessere Weg?
Das auf jeden Fall, sonst kann man den Geraeten nicht unterschiedliche Parameter zuweisen (room/icon/devStateIcon/etc).

optimizer

#2
ZitatIch tippe eher darauf, dass du die "alten" Daten ueberschreibst, weil nicht damit rechnest, das alles verzoegert ablaeuft.
Das könnte auch sein. Jetzt lasse ich nur noch einen Sensor zu und damit ist das Problem gelöst - Danke.
Mal sehen, ob das Modul jemand brauchen kann.
http://forum.fhem.de/index.php/topic,29387.0.html