FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: bgewehr am 23 Februar 2013, 23:07:12

Titel: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 23 Februar 2013, 23:07:12
Hallo!

Ich habe mal damit begonnen, ein fhem-Modul für die Abfrage von Daten aus dem Projekt Volkszaehler.org zu entwickeln.

Der Volkszaehler läuft bei mir auf einem Raspberry Pi in der Nähe des Stromkastens und liest den Stromzähler per Infrarot-Lesekopf aus.

Um nun die Daten, die auf diese Weise gewonnen werden, auch in fhem verwenden und darstellen zu können, möchte ich dieses Modul fertigstellen.

Ich bin soweit gekommen, dass die Daten durch das Modul gelesen werden können und im Log bereits auftauchen. Die Zerlegung des Antwortstrings mit Perl macht mir aber noch Schwierigkeiten, daher hier meine Hilfeanfrage.

Zuerst der Stand des Moduls:

Siehe Anhang "23_Volkszaehler.pm" in den Ordner /fhem/fhem/

Dieser Code muss per Define durch ein device abgerufen werden, dazu muss ich einen Kanal aus meinem Volkszähler mit seiner UUID benennen:


define Stromverbrauch VOLKSZAEHLER 192.168.178.45 80 635481a0-6fcd-11e2-8587-eda25228f8bf 60


Daraufhin wird der folgende Text abgerufen:


{"version":"0.2","data":{"uuid":"635481a0-6fcd-11e2-8587-eda25228f8bf","from":"1361655894730","to":"1361655923499","min":[1361655922123,971.195],"max":[1361655923499,1056.5],"average":975.275,"consumption":7.794,"rows":20,"tuples":[[1361655922123,971.195,20],[1361655923499,1056.5,1]]}}


Nun würde ich gern die einzelnen Readings dem Device zuordnen. Das gelingt mir aber nicht so richtig, daher bitte ich hier um Hilfe.

Bisher hole ich mir nur das vorletze Reading, was aber immerhin schon mal den aktuellen Verbrauch und den Zählerstand im Device aufzeigt:


(siehe Anhang / see attachement)


Ein Graph aus dem Verbrauch ist auch schnell erstellt:

Neue gPlot-Definition "Volkszaehler.gplot" in den Ordner /fhem/www/gplot/, siehe Anhang.


define FileLog_Stromverbrauch FileLog ./log/Stromverbrauch-%Y-%m.log Stromverbrauch
attr FileLog_Stromverbrauch group Volkszaehler
attr FileLog_Stromverbrauch logtype text
attr FileLog_Stromverbrauch room Z_Log

define FilePlot_Stromverbrauch weblink fileplot FileLog_Stromverbrauch:Volkszaehler:CURRENT
attr FilePlot_Stromverbrauch label "Stromverbrauch: $data{currval1}"
attr FilePlot_Stromverbrauch room Volkszaehler


Sieht dann so aus:

(siehe Anhang / see attachement)
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 24 Februar 2013, 22:06:54
Neuer Stand mit den fertigen Readings... :-)

Wer kann sowas einchecken?


(siehe Anhang / see attachement)
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Martin Fischer am 25 Februar 2013, 12:08:18
Hallo Bernd,

> Wer kann sowas einchecken?

theoretisch jeder der einen SVN Zugang hat aber ich hoffe es checkt keiner ein... :-)

Nach dem ich Dich jetzt geschockt habe, die Auflösung:

Wenn es als "offizielles" Fhem Modul aufgenommen werden soll, dann solltest Du Dir als Maintainer des Moduls selber einen SVN Zugang zulegen. Jede Änderung müßte sonst von einem anderem Entwickler eingecheckt werden, was nicht zielführend ist. Darüber hinaus fehlt noch die komplette Dokumentation im Modul, also die Abschnitte für die commandref.html.

Wenn Du Dein Modul also offiziell in Fhem einfließen lassen möchtest, dann solltest Du bereit sein, das Modul hier im Forum zu supporten, eine Dokumentation dafür bereit zu stellen, sowie die Pflege des Quelltextes (inkl. SVN check-in) selber zu übernehmen.

Im Quelltext solltest Du noch die Zeile mit der Id abändern auf:# $Id:$ und Deinem svn client mitteilen, dass das keyword 'Id' gesetzt wird:svn propset svn:keywords 'Id' FHEM/23_VOLKSZAEHLER.pm

Gruß Martin
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: macmattes am 27 Februar 2013, 13:48:55
Hi

frage meinen Volkszaehler mit einem Bashscript ab.
Vielleicht kannst du die Regex bei Dir nutzen, hab da leider zu wenig Ahnung von und nur alles zusammenkopiert, aber es läuft.
Bei deinem Modul hab ich bei den Verbrauchswerten immer "null" stehen. Min Max Average funtkionieren.
Vielleicht wäre es sinnvoll nach den Bezeichnungen zu suchen und nicht abzuzählen.

summiere bei mir die 3 Phasen , daher mehrfache abfragen
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 27 Februar 2013, 21:13:44
Habe zwar nicht Deine regex genommen, aber die Anregung war gut, danke dafür!

Hier das neue Modul mit einer wichtigen Veränderung: Das Reading, welches als state genommen werden soll, kann im define gewählt werden, also:


define <name> VOLKSZAEHLER <ip-address> <port-nr> <channel> <state:last/min/max/average/consumption> <poll-delay>


Beispiele:


#Kanal im Volkszaehler, der den Momentanverbrauch per I/R-Lesekopf ermittelt, alle 60 Sekunden davon der Mittelwert
define Verbrauch_aktuell VOLKSZAEHLER 192.168.178.45 80 635481a0-6fcd-11e2-8587-eda25228f8bf average 60
attr Verbrauch_aktuell delay 60
attr Verbrauch_aktuell group Strom
attr Verbrauch_aktuell room Volkszaehler

#In fhem loggen, um einen Graphen daraus zu zeigen
define FileLog_Verbrauch_aktuell FileLog ./log/Verbrauch_aktuell-%Y-%m.log Verbrauch_aktuell
attr FileLog_Verbrauch_aktuell group Volkszaehler
attr FileLog_Verbrauch_aktuell logtype text
attr FileLog_Verbrauch_aktuell room Z_Log

#der Graph dazu
define FilePlot_Verbrauch_aktuell weblink fileplot FileLog_Verbrauch_aktuell:Volkszaehler:CURRENT
attr FilePlot_Verbrauch_aktuell label "Stromverbrauch: $data{currval1}"
attr FilePlot_Verbrauch_aktuell room Volkszaehler

#Kanal im Volkszaehler, der den Zählerstand per I/R-Lesekopf ermittelt, jede Stunde davon der letzte Wert
define Zaehlerstand VOLKSZAEHLER 192.168.178.45 80 ebb9c9b0-7058-11e2-b5ed-d12ec87a3a7f last 1800
attr Zaehlerstand delay 1800
attr Zaehlerstand group Strom
attr Zaehlerstand room Volkszaehler

#Kanal im Volkszaehler, der den Zählerstand per I/R-Lesekopf ermittelt, alle 24 Stunden davon der Verbrauch
define Verbrauch_24h VOLKSZAEHLER 192.168.178.45 80 635481a0-6fcd-11e2-8587-eda25228f8bf consumption 86400
attr Verbrauch_24h group Strom
attr Verbrauch_24h room Volkszaehler


Das sieht dann so aus:

(siehe Anhang / see attachement)

Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Martin Fischer am 27 Februar 2013, 23:24:33
Hallo Bernd,

hier noch ein paar Anmerkungen zu Deinem Modul:

Du verwendest $hash->{CHANGED}, das ist "veraltet". Stattdessen solltest Du Dir mal readingsSingleUpdate bzw. readingsBulkUpdate anschauen. Das hat meines Wissens Boris im Wiki dokumentiert (ich selber arbeite nicht mit dem Wiki).

Des weiteren habe ich verstanden, das Du beim define festlegst welches reading als Status angezeigt werden soll. Hierzu wird empfohlen, das der Entwickler einen Standardwert vorgibt, der Nutzer dieses dann aber über das Attribut stateFormat selber definieren kann. Dann kannst Du Dir diesen Parameter im define sparen.

Die Rückgabe die Du von dem Volkszähler bekommst ist übrigens im JSON-Format. Wenn man sich den mal strukturiert aufbaut, dann sieht das so aus:
{
   "version":"0.2",
   "data":{
      "uuid":"635481a0-6fcd-11e2-8587-eda25228f8bf",
      "from":"1361655894730",
      "to":"1361655923499",
      "min":[
         1361655922123,
         971.195
      ],
      "max":[
         1361655923499,
         1056.5
      ],
      "average":975.275,
      "consumption":7.794,
      "rows":20,
      "tuples":[
         [
            1361655922123,
            971.195,
            20
         ],
         [
            1361655923499,
            1056.5,
            1
         ]
      ]
   }
}

Vereinfacht gesagt, stehen dabei die geschweiften Klammern {} für ein Hash und die eckigen Klammern [] für ein Array. Somit ist die Rückgabe ein Hash of Hashes, das auch Arrays enthält.

Diesen könnte man (wenn man denn wollte) in ein Hash of Hashes bzw. Arrays konvertieren:
$hash = (
  "version" => "0.2",
  "data"    => (
    "uuid"  => "635481a0-6fcd-11e2-8587-eda25228f8bf",
    "from"  => "1361655894730",
    "to"    => "1361655923499",
    "min"   => [
      1361655922123,
      971.195
    ],
    "max"   => [
      1361655923499,
      1056.5
    ],
    "average"     => 975.275,
    "consumption" => 7.794,

  usw.

  ),
);


Wenn Du Dich mit dem Aufbau einer JSON-Rückgabe befaßt, diese auch "sauber" in ein HoH wandelst, dann benötigst Du kein regexp, sondern kannst z.B. gezielt über $hash{data}{from} den Wert auslesen.

Zwar wird die Wandlung in eine Variable etwas aufwändiger sein, als Dein regexp, dafür hast Du dann eine (vermutlich) generelle Umwandlung der Rückgaben von Volkszähler in eine Perlvariable.

Dafür gibt es auch fertige Perlmodule (CPAN), die aber auf dem meisten "kleinen" Systemen wie z.B. FRITZ!Box vermutlich nicht vorhanden sind. Daher ist der "manuelle" Weg zu bevorzugen.

Das Modul 98_JsonList.pm, das ich mal vor einigen Jahren, genauer 2008 für FHEM geschrieben habe, macht genau den umgekehrten Weg. Es wandelt eine Perlvariable nach JSON.

Soviel mal als ein paar Tipps zur Umsetzung von mir....

Und wie eingangs bereits erwähnt, pflegt Boris ab und an im Wiki Develeopers Guidlines wo Du Dir ggf. auch die eine oder andere Info noch anlesen kannst.

Gruß Martin
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 07 April 2013, 21:57:19
Hallo!

Ich habe inzwischen eine neue Version mit Hilfe des JSON.pm erstellt. Läuft bei mir seit 4 Wochen ohne Probleme.

Gruß, Bernd
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Dennis D. am 15 April 2013, 11:12:32
Hi Bernd,

zunächst mal vielen Dank für Dein Modul. Habe es bei mir eingebaut. Und direkt ein paar Fragen hierzu ;) :

1. Besteht die Möglichkeit mittels "stateFormat" die Ausgabe der Werte anzupassen, ähnlich wie es bei 1Wire-Devices möglich ist?

2. Ich habe vier Zwischenzähler per S0-Schnittstelle angeschlossen und werte diese über Volkszähler aus. Da die Impulse der Zähler aber abhängig vom Verbrauch kommen, wird häufig auch der Wert "0" ins Log geschrieben. Dies führt dann zu einem Zick-Zack-Muster im Graph. Kann man was dagegen machen?


(siehe Anhang / see attachement)


Gruß,
Dennis

PS: und bei dem Delay-Attribut sagt fhem, dass es das nicht kennt?!
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 15 April 2013, 21:35:30
Hallo, Dennis!

Super, dass Dir mein Modul hilft, freut mich!

Die Überschrift zu meinem Forumsbeitrag sagt aber auch schon was über mein Problem: Ich kann überhaupt kein Perl! Ich habe nur einen vorhandenen Code genommen und umgefrickelt.

Die Art und Weise, wie FHEM Attribute in Modulen definiert, habe ich noch nicht verstanden und bin daher auch nicht in der Lage, die richtigen nächsten Schritte zu machen!

Leider hat mir auf meinen Aufruf noch niemand wirklich geholfen.

Daher meine Antworten:

zu 1:
Geht sicher, kann ich aber noch nicht umsetzen!

zu 2:
Wenn Du den Abstand etwas größer wählst, dann müsste avg doch was sinnvolles ergeben, oder? So 5 Minuten sollten doch reichen, um einen akzeptablen Wert zu erhalten. Einen besseren Vorschlag habe ich aktuell leider auch nicht.

Wenn Du jemanden kennst, der besser in Perl ist, lass uns gemeinsam dran weiterarbeiten!

Gruß

Bernd
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Dennis D. am 16 April 2013, 09:47:04
Hi Bernd,

dann haben wir was gemeinsam. Ich kann es nämlich auch nicht. ;)

Hmmm, vielleicht sehe ich das jetzt was naiv, aber eventuell könnte man aus dem 1Wire-Device-Modul den entsprechenden Code bzgl. des stateFormat finden und in Dein Modul "guttenbergen". Werde heute mal schauen ob ich da was finde.

Vergrößern des Abstandes sollte nicht viel bringen. Dein Modul ruft doch über das Frontend des VZ die Daten aus der Volkszähler SQL-Db ab, oder? In der Datenbank werden jedoch nur die S0 Impulse mit dem Wert "1" mit einem Zeitstempel versehen weggeschrieben. Je nachdem zu welcher Zeit dein Modul den Zähler (bzw. die Datenbank) abfragt, bekommt es daher meiner Meinung nach den Wert "0" zurück und daher der Zickzack.

Wäre gern mehr behilflich, aber dafür fehlt mir bisher das know-how.

Gruß,
Dennis
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 16 April 2013, 11:19:05
Nur eben zwischendurch: mein Modul fragt NICHT die Datenbank ab, sondern die Vz-Middleware, die berechnet je nach Channel Typ die Werte für Verbrauch, min, max average aus den DB Daten, dieser Punkt ist SEHR wichtig für das Verständnis der VZ Architektur!
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Dennis D. am 16 April 2013, 13:21:08
mein ich ja. die middleware und das frontend ist für mich ein teil ;). kämpfe eh noch mit der einrichtung des vzlogger um meinen EMH eHz auszulesen. bisher läuft nur der s0vz-deamon vernünftig.
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 16 April 2013, 14:42:14
Vzlogger gibt es nun auch aktuell als Debian Paket:
http://packages.volkszaehler.org/vz/ (//packages.volkszaehler.org/vz/)
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Dennis D. am 17 April 2013, 20:18:19
Saugeil! Vielen Dank Bernd! Innerhalbvon 15 Minuten hatte ich den vzlogger am laufen. :) Hast mir jede Menge Arbeit erspart.
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Spiceweasel am 05 Mai 2013, 15:01:53
bekomme leider Fehlermeldungen wg. der JSON.pm auf meiner FritzBox 7390

2013.05.05 00:44:16 1: reload: Error:Modul 23_VOLKSZAEHLER deactivated:
 Attempt to reload JSON2.pm aborted.
Compilation failed in require at ./FHEM/23_VOLKSZAEHLER.pm line 32, <$fh> line 223.
BEGIN failed--compilation aborted at ./FHEM/23_VOLKSZAEHLER.pm line 32, <$fh> line 223.

2013.05.05 00:44:16 0: Attempt to reload JSON2.pm aborted.
Compilation failed in require at ./FHEM/23_VOLKSZAEHLER.pm line 32, <$fh> line 223.
BEGIN failed--compilation aborted at ./FHEM/23_VOLKSZAEHLER.pm line 32, <$fh> line 223.
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 05 Mai 2013, 17:23:01
Die JSON.pm liegt bei mir in \\fritz.nas\FRITZ\fhem\lib\perl5\site_perl\5.12.2\mips-linux, wo auch die datetime.pm usw liegen.

Hilft das?
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Spiceweasel am 05 Mai 2013, 22:32:29
hm.. hab FHEM 5.4
evtl. liegts daran?
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 05 Mai 2013, 22:41:43
Hab ich auch, allerdings per Update geholt auf eine 5.3 Installation. Ob das was anderes ist könnte mal ein Experte beantworten.(!)

Mich irritiert die JSON2.pm Anforderung.

Kannst Du mal die Suchergebnisse auf \\fritz.nas\...\fhem nach json aus dem Windows Explorer posten?
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Spiceweasel am 05 Mai 2013, 22:46:18
Zitat von: bgewehr schrieb am So, 05 Mai 2013 22:41Mich irritiert die JSON2.pm Anforderung.

Kannst Du mal die Suchergebnisse auf \\fritz.nas\...\fhem nach json aus dem Windows Explorer posten?

da hab ich einfach im Code auf JSON2 umgestellt und die Datei auch umbenannt in JSON2.pm.

also die JSON.pm liegt in dem Pfad wo du geschrieben hast..

\\fritz.box\FRITZ.NAS\fhem\lib\perl5\site_perl\5.12.2\mips-linux

sonst nix mit JSON.pm
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 05 Mai 2013, 23:05:05
Setz bitte mal alles wieder zurück auf JSON und sag mir ob's geht! Evtl die Module nochmal neu herunterladen...
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 07 Mai 2013, 08:56:15
Probiert doch bitte einmal die Version weiter oben in diesem post. Diese ist ohne jsom.PM erstellt worden und nutzt stattdessen einen regulären Ausdruck für die Interpretation der Antwort des Volkszählers.

Bitte lass mich wissen, ob das für dich funktioniert!
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Spiceweasel am 07 Mai 2013, 14:31:43
sorry, hatte viel zu tun. Werde das hoffentlich bald testen können.

Irritiert hatte mich auch das ich bei dem define <name> VOLKSZAEHLER einen Parameterfehler bekommen habe.

Im Perl Script steht was von 7 .. wenn ich die Definition ohne z.B. average benutzt habe kam kein Fehler.
Muss das mit mal in Ruhe anschauen.

mfg
Spice
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Dennis D. am 07 Mai 2013, 19:51:33
Hallo,

ich bekomme mittlerweile mein Log zugemüllt mit folgenden, sich immer wiederholenden, Einträgen:


Use of uninitialized value $state in concatenation (.) or string at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 130.
Use of uninitialized value $state in concatenation (.) or string at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 133.
Use of uninitialized value $state in concatenation (.) or string at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 134.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 155.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 116.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 117.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 143.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 147.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 155.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 159.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 163.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 116.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 117.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 143.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 147.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 155.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 159.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 163.


Woran könnte das liegen?

Gruß,
Dennis
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 07 Mai 2013, 19:58:40
Das liegt an der Verwendung einer uninitialisierten Variable, bedingt durch die im Moment nicht funktionierende Abfrage des letzten Wertes des jeweiligen Zaehlers.

Nervt, aber ist nicht schlimm. Irgendwann muss ich das mal korrigieren...
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 07 Mai 2013, 20:13:04
OK, das war einfach...

Der Fehler mit der uninitialisierten Variable ist behoben UND last liefert wieder einen Wert.

Bitte um Rückmeldung!

Gruß, Bernd
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Dennis D. am 07 Mai 2013, 20:19:24
WOW! Das ging ja flott. Habs gleich mal getestet. Meldungen sind weniger geworden, aber es kommt noch:


Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 119.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 120.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 146.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 150.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 158.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 162.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 166.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 119.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 120.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 146.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 150.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 158.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 162.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 166.


EDIT:

Nach einem Restart gibts doch mehr Error-Meldungen:


2013.05.07 20:20:39 1: Including /opt/fhem/config/40_Volkszaehler.cfg
2013.05.07 20:20:40 3: Verbrauch_Stand: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:20:40 3: Verbrauch_SML_Aktuell: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:20:40 3: Verbrauch_SML_24h: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:20:40 3: Verbrauch_S0_WZ: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:20:40 3: Verbrauch_S0_HAR: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:20:40 3: Verbrauch_S0_WM: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:20:40 3: Verbrauch_S0_TR: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:20:40 1: Including /opt/fhem/config/99_Grundriss.cfg
2013.05.07 20:20:41 1: configfile: Verbrauch_Stand: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_SML_Aktuell: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_SML_24h: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_S0_WZ: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_S0_HAR: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_S0_WM: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_S0_TR: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:20:41 1: Including /opt/fhem/logs/fhem.savestate
2013.05.07 20:20:44 0: Server started with 208 defined entities (version Fhem 5.4 (DEVELOPMENT), $Id: fhem.pl 3128 2013-04-28 12:40:28Z rudolfkoenig $, pid 16375)
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 119.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 120.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 146.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 150.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 158.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 162.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 166.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 119.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 120.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 146.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 150.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 158.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 162.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 166.
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 07 Mai 2013, 20:32:31
Sehr interessant!

Kannst Du bitt mal die "Debug-Ausgabe" aktivieren:

Also
  #used for debugging
  #print $response->content."\n";

wechseln zu

  #used for debugging
  print $response->content."\n";

Und bitte poste mir die Ausgaben aus dem Log, bei Dir ist da was deutlich anders als bei mir.

Danach wieder zurücksetzen:
  #used for debugging
  #print $response->content."\n";

Bis gleich!
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Dennis D. am 07 Mai 2013, 20:39:04
hmmm, also nach dem aktivieren vom debugging ändert sich nichts groß an der ausgabe. hier mal das komplette log vom start:


2013.05.07 20:34:57 0: Server shutdown
2013.05.07 20:35:01 1: Including /opt/fhem/fhem.cfg
2013.05.07 20:35:02 1: Including /opt/fhem/config/01_Web.cfg
2013.05.07 20:35:02 3: telnetPort: port xxxx opened
2013.05.07 20:35:03 3: WEB: port xxxx opened
2013.05.07 20:35:03 3: WEBphone: port xxxx opened
2013.05.07 20:35:03 1: Including /opt/fhem/config/02_Autocreate.cfg
2013.05.07 20:35:03 1: Including /opt/fhem/config/03_LanInterface.cfg
2013.05.07 20:35:03 3: Opening LANInterface device xxxxxxxxx:1000
2013.05.07 20:35:03 3: LANInterface device opened
2013.05.07 20:35:03 1: Including /opt/fhem/config/04_System.cfg
2013.05.07 20:35:07 1: Including /opt/fhem/config/05_Benachrichtigungen.cfg
2013.05.07 20:35:07 1: Including /opt/fhem/config/06_Fernbedienungen.cfg
2013.05.07 20:35:07 1: Including /opt/fhem/config/07_OneWire.cfg
2013.05.07 20:35:07 3: OWServer: Opening connection to OWServer localhost:4304...
2013.05.07 20:35:07 3: OWServer: Successfully connected to localhost:4304.
2013.05.07 20:35:07 1: Including /opt/fhem/config/10_Wohn_Esszimmer.cfg
2013.05.07 20:35:08 1: Including /opt/fhem/config/11_Kueche.cfg
2013.05.07 20:35:08 1: Including /opt/fhem/config/12_Hausanschlussraum.cfg
2013.05.07 20:35:08 1: Including /opt/fhem/config/13_Vorratsraum.cfg
2013.05.07 20:35:08 1: Including /opt/fhem/config/14_Flur.cfg
2013.05.07 20:35:09 1: Including /opt/fhem/config/15_Schlaf_Ankleidezimmer.cfg
2013.05.07 20:35:09 1: Including /opt/fhem/config/16_Badezimmer_WC.cfg
2013.05.07 20:35:09 1: Including /opt/fhem/config/20_Aussenanlage.cfg
2013.05.07 20:35:09 1: Including /opt/fhem/config/21_Garten.cfg
2013.05.07 20:35:09 1: Including /opt/fhem/config/22_Garage.cfg
2013.05.07 20:35:09 1: Including /opt/fhem/config/30_Jalousiesteuerung.cfg
2013.05.07 20:35:09 1: Including /opt/fhem/config/31_Lichtsteuerung_aussen.cfg
2013.05.07 20:35:09 1: Including /opt/fhem/config/33_Lueftungssteuerung.cfg
2013.05.07 20:35:09 1: Including /opt/fhem/config/39_InfoDisplay.cfg
2013.05.07 20:35:10 1: Including /opt/fhem/config/50_Alarmanlage.cfg
2013.05.07 20:35:10 1: Including /opt/fhem/config/51_Sicherheit.cfg
2013.05.07 20:35:10 1: Including /opt/fhem/config/40_Volkszaehler.cfg
2013.05.07 20:35:12 3: Verbrauch_Stand: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:35:12 3: Verbrauch_SML_Aktuell: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:35:12 3: Verbrauch_SML_24h: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:35:12 3: Verbrauch_S0_WZ: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:35:12 3: Verbrauch_S0_HAR: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:35:12 3: Verbrauch_S0_WM: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:35:12 3: Verbrauch_S0_TR: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:35:12 1: Including /opt/fhem/config/99_Grundriss.cfg
2013.05.07 20:35:12 1: configfile: Verbrauch_Stand: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_SML_Aktuell: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_SML_24h: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_S0_WZ: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_S0_HAR: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_S0_WM: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_S0_TR: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:35:12 1: Including /opt/fhem/logs/fhem.savestate
2013.05.07 20:35:14 0: Server started with 208 defined entities (version Fhem 5.4 (DEVELOPMENT), $Id: fhem.pl 3128 2013-04-28 12:40:28Z rudolfkoenig $, pid 16648)
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 119.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 120.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 146.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 150.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 158.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 162.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 166.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 119.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 120.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 146.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 150.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 158.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 162.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 166.
2013.05.07 20:35:30 3: Device AA_Briefkasten added to ActionDetector with 028:00 time
2013.05.07 20:35:30 3: Device AZ_FensterKontakt added to ActionDetector with 027:00 time
2013.05.07 20:35:31 3: Device EZ_Fensterdrehgriff added to ActionDetector with 027:00 time
2013.05.07 20:35:31 3: Device EZ_TuerKontakt added to ActionDetector with 027:00 time
2013.05.07 20:35:31 3: Device FL_DG_Rauchmelder added to ActionDetector with 099:00 time
2013.05.07 20:35:31 3: Device FL_EG_Rauchmelder added to ActionDetector with 099:00 time
2013.05.07 20:35:31 3: Device FL_TuerKontakt added to ActionDetector with 027:00 time
2013.05.07 20:35:32 3: Device HA_FensterKontakt added to ActionDetector with 028:00 time
2013.05.07 20:35:32 3: Device KU_TuerKontakt added to ActionDetector with 028:00 time
2013.05.07 20:35:32 3: Device SZ_FensterKontakt added to ActionDetector with 028:00 time
2013.05.07 20:35:33 3: Device VR_FensterKontakt added to ActionDetector with 028:00 time
2013.05.07 20:35:33 3: Device WC_FensterKontakt added to ActionDetector with 028:00 time
2013.05.07 20:35:33 3: Device WZ_Rauchmelder added to ActionDetector with 099:00 time
2013.05.07 20:35:33 3: Device WZ_TuerKontakt added to ActionDetector with 028:00 time
2013.05.07 20:35:34 1: 192.168.178.39:1000 disconnected, waiting to reappear
2013.05.07 20:35:39 1: 192.168.178.39:1000 reappeared (LANInterface)
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 07 Mai 2013, 20:42:48
OK, anderer Versuch.

Bitte mal die nächste Version probieren, dort sind definitiv alle (relevanten) Variablen initialisiert.

Gruß, Bernd
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Dennis D. am 07 Mai 2013, 20:45:31
hatte noch ein zeichen bei dem debug übersehen *g*. hier nun das richtige log:


2013.05.07 20:41:23 0: Server shutdown
{"version":"0.2","data":{"uuid":"2exxxxe2-b904-4190cbd2f3c3","from":1367949915498,"to":1367951717168,"min":[1367951715308,309550.544],"max":[1367951715308,309550.544],"average":319.572,"consumption":159.934,"rows":1077,"tuples":[[1367951715308,309550.544,1]]}}
{"version":"0.2","data":{"uuid":"44bxxxxxx2-a9f5-c1d92dd766e2","from":1367951654525,"to":1367951717168,"min":[1367951715308,565.056],"max":[1367951717168,566.9],"average":565.111,"consumption":9.833,"rows":32,"tuples":[[1367951715308,565.056,32],[1367951717168,566.9,1]]}}
{"version":"0.2","data":{"uuid":"44bxxxxxc1d92dd766e2","from":1367865315867,"to":1367951717168,"min":[1367951715308,368.268],"max":[1367951717168,566.9],"average":368.272,"consumption":8838.668,"rows":46865,"tuples":[[1367951715308,368.268,46865],[1367951717168,566.9,1]]}}
{"version":"0.2","data":{"uuid":"75fxxxxx11e2-af13-0d666d9bdff7","from":1367951416337,"to":1367951727043,"min":[1367951416337,312.78],"max":[1367951715589,314.301],"average":312.836,"consumption":27,"rows":26,"tuples":[[1367951416337,312.78,26],[1367951715589,314.301,1]]}}
{"version":"0.2","data":{"uuid":"a499exxxxx0-e90f85037218","from":1367951341663,"to":1367951720134,"min":[1367951666044,66.556],"max":[1367951341663,66.588],"average":66.584,"consumption":7,"rows":6,"tuples":[[1367951341663,66.588,6],[1367951666044,66.556,1]]}}
{"version":"0.2","data":{"uuid":"be7exxxxx11e2-9200-b78a24c1391e","average":0,"consumption":0,"rows":0}}
{"version":"0.2","data":{"uuid":"d143xxxxx0122c938c9","average":0,"consumption":0,"rows":0}}
{"version":"0.2","data":{"uuid":"44bxxxxxx1d92dd766e2","from":1367951715308,"to":1367951777583,"min":[1367951777583,536.2],"max":[1367951775588,563.553],"average":562.677,"consumption":9.734,"rows":32,"tuples":[[1367951775588,563.553,32],[1367951777583,536.2,1]]}}
{"version":"0.2","data":{"uuid":"44b92ac0-a2d6-11e2-a9f5-c1d92dd766e2","from":1367951775588,"to":1367951837064,"min":[1367951835122,546.639],"max":[1367951837064,553],"average":546.84,"consumption":9.338,"rows":31,"tuples":[[1367951835122,546.639,31],[1367951837064,553,1]]}}
{"version":"0.2","data":{"uuid":"44b9xxxxxxf5-c1d92dd766e2","from":1367951835122,"to":1367951897344,"min":[1367951895443,551.084],"max":[1367951897344,563.6],"average":551.466,"consumption":9.531,"rows":32,"tuples":[[1367951895443,551.084,32],[1367951897344,563.6,1]]}}
{"version":"0.2","data":{"uuid":"44bxxxxxxxxxxx6e2","from":1367951895443,"to":1367951956710,"min":[1367951954778,560.577],"max":[1367951956710,563.3],"average":560.663,"consumption":9.542,"rows":31,"tuples":[[1367951954778,560.577,31],[1367951956710,563.3,1]]}}
{"version":"0.2","data":{"uuid":"44b92ac0-a2d6-11e2-a9f5-c1d92dd766e2","from":1367951954778,"to":1367952017965,"min":[1367952017965,560.6],"max":[1367952016034,560.809],"average":560.803,"consumption":9.843,"rows":32,"tuples":[[1367952016034,560.809,32],[1367952017965,560.6,1]]}}
{"version":"0.2","data":{"uuid":"75f1b780-a2d6-11e2-af13-0d666d9bdff7","from":1367951715589,"to":1367952020307,"min":[1367951715589,306.94],"max":[1367952008806,313.016],"average":307.169,"consumption":26,"rows":25,"tuples":[[1367951715589,306.94,25],[1367952008806,313.016,1]]}}
{"version":"0.2","data":{"uuid":"a499xxxxxx0-e90f85037218","from":1367951666044,"to":1367951989519,"min":[1367951666044,66.751],"max":[1367951935701,66.892],"average":66.775,"consumption":6,"rows":5,"tuples":[[1367951666044,66.751,5],[1367951935701,66.892,1]]}}
{"version":"0.2","data":{"uuid":"be7xxxxx24c1391e","average":0,"consumption":0,"rows":0}}
{"version":"0.2","data":{"uuid":"d143dfxxxx-b266-f90122c938c9","average":0,"consumption":0,"rows":0}}
{"version":"0.2","data":{"uuid":"44b92xxxxxxxxxxxx2dd766e2","from":1367952016034,"to":1367952077509,"min":[1367952077509,556.8],"max":[1367952075578,558.616],"average":558.559,"consumption":9.538,"rows":31,"tuples":[[1367952075578,558.616,31],[1367952077509,556.8,1]]}}
2013.05.07 20:41:27 1: Including /opt/fhem/fhem.cfg
2013.05.07 20:41:28 1: Including /opt/fhem/config/01_Web.cfg
2013.05.07 20:41:28 3: telnetPort: port 7072 opened
2013.05.07 20:41:29 3: WEB: port 8083 opened
2013.05.07 20:41:29 3: WEBphone: port 8084 opened
2013.05.07 20:41:29 1: Including /opt/fhem/config/02_Autocreate.cfg
2013.05.07 20:41:29 1: Including /opt/fhem/config/03_LanInterface.cfg
2013.05.07 20:41:30 3: Opening LANInterface device 192.168.178.39:1000
2013.05.07 20:41:31 3: LANInterface device opened
2013.05.07 20:41:31 1: Including /opt/fhem/config/04_System.cfg
2013.05.07 20:41:33 1: Including /opt/fhem/config/05_Benachrichtigungen.cfg
2013.05.07 20:41:34 1: Including /opt/fhem/config/06_Fernbedienungen.cfg
2013.05.07 20:41:34 1: Including /opt/fhem/config/07_OneWire.cfg
2013.05.07 20:41:34 3: OWServer: Opening connection to OWServer localhost:4304...
2013.05.07 20:41:34 3: OWServer: Successfully connected to localhost:4304.
2013.05.07 20:41:34 1: Including /opt/fhem/config/10_Wohn_Esszimmer.cfg
2013.05.07 20:41:34 1: Including /opt/fhem/config/11_Kueche.cfg
2013.05.07 20:41:34 1: Including /opt/fhem/config/12_Hausanschlussraum.cfg
2013.05.07 20:41:35 1: Including /opt/fhem/config/13_Vorratsraum.cfg
2013.05.07 20:41:35 1: Including /opt/fhem/config/14_Flur.cfg
2013.05.07 20:41:35 1: Including /opt/fhem/config/15_Schlaf_Ankleidezimmer.cfg
2013.05.07 20:41:35 1: Including /opt/fhem/config/16_Badezimmer_WC.cfg
2013.05.07 20:41:36 1: Including /opt/fhem/config/20_Aussenanlage.cfg
2013.05.07 20:41:36 1: Including /opt/fhem/config/21_Garten.cfg
2013.05.07 20:41:36 1: Including /opt/fhem/config/22_Garage.cfg
2013.05.07 20:41:36 1: Including /opt/fhem/config/30_Jalousiesteuerung.cfg
2013.05.07 20:41:36 1: Including /opt/fhem/config/31_Lichtsteuerung_aussen.cfg
2013.05.07 20:41:36 1: Including /opt/fhem/config/33_Lueftungssteuerung.cfg
2013.05.07 20:41:36 1: Including /opt/fhem/config/39_InfoDisplay.cfg
2013.05.07 20:41:36 1: Including /opt/fhem/config/50_Alarmanlage.cfg
2013.05.07 20:41:37 1: Including /opt/fhem/config/51_Sicherheit.cfg
2013.05.07 20:41:37 1: Including /opt/fhem/config/40_Volkszaehler.cfg
2013.05.07 20:41:39 3: Verbrauch_Stand: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:41:39 3: Verbrauch_SML_Aktuell: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:41:39 3: Verbrauch_SML_24h: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:41:39 3: Verbrauch_S0_WZ: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:41:39 3: Verbrauch_S0_HAR: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:41:39 3: Verbrauch_S0_WM: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:41:39 3: Verbrauch_S0_TR: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:41:39 1: Including /opt/fhem/config/99_Grundriss.cfg
2013.05.07 20:41:40 1: configfile: Verbrauch_Stand: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_SML_Aktuell: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_SML_24h: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_S0_WZ: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_S0_HAR: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_S0_WM: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
Verbrauch_S0_TR: unknown attribute delay, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 devStateIcon fp_Erdgeschoss fp_Obergeschoss icon sortby webCmd or use attr global userattr delay
2013.05.07 20:41:40 1: Including /opt/fhem/logs/fhem.savestate
2013.05.07 20:41:42 0: Server started with 208 defined entities (version Fhem 5.4 (DEVELOPMENT), $Id: fhem.pl 3128 2013-04-28 12:40:28Z rudolfkoenig $, pid 16771)
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 119.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 120.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 146.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 150.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 158.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 162.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 166.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 119.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 120.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 146.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 150.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 158.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 162.
Use of uninitialized value in division (/) at /opt/fhem/FHEM/23_VOLKSZAEHLER.pm line 166.
2013.05.07 20:41:57 3: Device AA_Briefkasten added to ActionDetector with 028:00 time
2013.05.07 20:41:57 3: Device AZ_FensterKontakt added to ActionDetector with 027:00 time
2013.05.07 20:41:57 3: Device EZ_Fensterdrehgriff added to ActionDetector with 027:00 time
2013.05.07 20:41:57 3: Device EZ_TuerKontakt added to ActionDetector with 027:00 time
2013.05.07 20:41:58 3: Device FL_DG_Rauchmelder added to ActionDetector with 099:00 time
2013.05.07 20:41:58 3: Device FL_EG_Rauchmelder added to ActionDetector with 099:00 time
2013.05.07 20:41:58 3: Device FL_TuerKontakt added to ActionDetector with 027:00 time
2013.05.07 20:41:58 3: Device HA_FensterKontakt added to ActionDetector with 028:00 time
2013.05.07 20:41:59 3: Device KU_TuerKontakt added to ActionDetector with 028:00 time
2013.05.07 20:41:59 3: Device SZ_FensterKontakt added to ActionDetector with 028:00 time
2013.05.07 20:41:59 3: Device VR_FensterKontakt added to ActionDetector with 028:00 time
2013.05.07 20:42:00 3: Device WC_FensterKontakt added to ActionDetector with 028:00 time
2013.05.07 20:42:00 3: Device WZ_Rauchmelder added to ActionDetector with 099:00 time
2013.05.07 20:42:00 3: Device WZ_TuerKontakt added to ActionDetector with 028:00 time


probiere aber dein update gerade mal schnell aus.
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Dennis D. am 07 Mai 2013, 20:51:55
keine änderung. meldungen kommen immer noch. und halt das mit dem "Verbrauch_SML_Aktuell: unknown attribute delay"
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 07 Mai 2013, 21:14:07
Das mit dem unknown attribute habe ich jetzt glaub ich behoben, bitte bestätigen.
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Dennis D. am 07 Mai 2013, 21:21:10
ja, das funktioniert nun. bleibt noch "Use of uninitialized value in division (/)" :-)

Gruß,
Dennis
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Spiceweasel am 07 Mai 2013, 21:27:25
ähm, mal ne Frage: Ich habe als Kanaltyp power, da ich einen S0 Zähler erfasse.
Kann es sein das der nicht die richtigen Werte zurückgibt für die Auswertung.

Den Fehler mit der JSON.pm habe ich immer noch bei den Versionen mit JSON.

Habe eine 7390 original Image und dann mit der IMG-Datei von der FHEM Seite FHEM aufgespielt.
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 07 Mai 2013, 21:31:32
Dennis, kannst Du mal für Spiceweasel hier sagen, wie Du installiert hast?
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 07 Mai 2013, 21:58:32
So, habe nochmal einen anderen Weg der Initialisierung der Zeitvariablen gefunden. Bei mir nun keine Warnungen mehr, wie sieht's bei Euch aus?
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 07 Mai 2013, 22:08:44
@Spiceweasel: Genauso habe ich auch installiert, nur schon etwas länger her. Mit dem Update-Befehl bin ich dann auf

2013.05.07 21:59:05 0: Server started with 58 defined entities (version Fhem 5.4 (DEVELOPMENT)

aufgestiegen...

Ich brauche mehr Input, um Dir zu helfen.

Nochmal von vorn:

23_VOLKSZAEHLER.pm kommt ins Verzeichnis fhem/fhem
JSON.pm kommt ins Verzeichnis fhem/fhem (bitte so ausprobieren!)

Alle anderen Kopien der beiden Files bitte wieder löschen, um Klarheit zu haben!

Mit define usw wie oben beschrieben.

Bei Fehler: Log Output posten!

Gruß, Bernd
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Dennis D. am 08 Mai 2013, 13:30:07
Zitat von: Spiceweasel schrieb am Di, 07 Mai 2013 21:27Ich habe als Kanaltyp power, da ich einen S0 Zähler erfasse.
Kann es sein das der nicht die richtigen Werte zurückgibt für die Auswertung.

Wie definierst Du "keine richtigen Werte"? Also für S0-Zähler habe ich Strommesser als Kanaltyp gewählt. Damit bekomme ich korrekte Werte. Als Auflösung "1000". Das haben jedenfalls die meisten Hutschinen-Zwischentzähler. Zuvor hatte ich Stromzähler als Kanaltyp und hatte Werte im dreistelligen kW-Bereich bei der Leistungsaufnahme. hehe.

Das einzige was bei mir noch nicht funktioniert ist das Auslesen des Zählerstandes. Da kommt ein Wert von 297013.xxx raus, obwohl ich gerade mal 5xxx.xx auf dem Tacho habe.

@Bernd: Probiere Deine letzte Version heute Abend.
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Dennis D. am 08 Mai 2013, 16:49:35
That's it, Bernd! Das Log ist nun sauber :). Gute Arbeit!
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Spiceweasel am 09 Mai 2013, 21:44:37
so.. habs jetzt himbekommen :-)

also die Meldung das ein Modul fehlt kommt anscheinend immer nur nach einem "shutdown restart".

das File JSON.pm muss in \\fritz.box\FRITZ.NAS\fhem\lib\perl5\site_perl\5.12.2\mips-linux\

die Files Converter.pm und Parser.pm von z.B. hier http://cpansearch.perl.org/src/MAKAMAKA/JSON-1.15/lib/JSON/ (//cpansearch.perl.org/src/MAKAMAKA/JSON-1.15/lib/JSON/)
habe ich in \\fritz.box\FRITZ.NAS\fhem\lib\perl5\site_perl\5.12.2\mips-linux\ ins Verzeichnis JSON kopiert.

Vielen Dank für das Modul.
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: TJ am 14 Mai 2013, 15:59:00
Hallo Bernd,

ich habe das VOLKSZAEHLER Modul und JSON PM in das Verzeichnis
/opt/fhem/FHEM kopiert und bekomme folgende Fehlermeldung:

Hast du einen Tip ?

Gruß Thomas


2013.05.14 15:50:20 1: reload: Error:Modul 23_VOLKSZAEHLER deactivated:
 Can't locate JSON/Parser.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at FHEM/JSON.pm line 34, <$fh> line 197.
BEGIN failed--compilation aborted at FHEM/JSON.pm line 34, <$fh> line 197.
Compilation failed in require at ./FHEM/23_VOLKSZAEHLER.pm line 31, <$fh> line 197.
BEGIN failed--compilation aborted at ./FHEM/23_VOLKSZAEHLER.pm line 31, <$fh> line 197.

2013.05.14 15:50:20 0: Can't locate JSON/Parser.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at FHEM/JSON.pm line 34, <$fh> line 197.
BEGIN failed--compilation aborted at FHEM/JSON.pm line 34, <$fh> line 197.
Compilation failed in require at ./FHEM/23_VOLKSZAEHLER.pm line 31, <$fh> line 197.
BEGIN failed--compilation aborted at ./FHEM/23_VOLKSZAEHLER.pm line 31, <$fh> line 197.
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 14 Mai 2013, 17:32:08
leg bitte die beiden angehängten Dateien in

...\fhem\lib\perl5\site_perl\5.12.2\mips-linux\JSON\ oder in ein anderes Verzeichnis aus @INC

Dann bitte neue Rückmeldung ob's klappt...
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: TJ am 14 Mai 2013, 17:46:41
Hallo Bernd,

Danke für die schnelle Antwort !
Beim Raspi ist anscheinend die Ablage der Verzeichnisse anders.
 /opt/fhem/FHEM/lib $  --> hier gibt es kein Perl Verzeichnis

Gruß Thomas

Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 14 Mai 2013, 17:56:43
Dann irgendwo in

@INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM)

in einen neuen Ordner JSON
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: TJ am 14 Mai 2013, 18:37:24
Hallo Bernd,

ich habe die Files hierhin kopiert

 /usr/lib/perl5/JSON

und es kommen Werte, ich werde diese später noch mal kontrollieren.

Bei den Plots kommt noch nicht !

erst mal Danke !

Gruß Thomas
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: thoweiss am 25 Juni 2013, 17:34:33
Hallo zusammen,

nachdem ich meine eigene routine zum auslesen des Volkszählers zusammengebastelt habe, finde ich jetzt das hier...

Gute Arbeit!

Eine Frage habe ich dennoch - kann man aus dem Volkszähler eigentlich auch die absoluten Zählerstände eines SML-Zählers auslesen?

In der VZ-Datenbank werden diese ja auch abgelegt...

Über die Abfragen so wie Du die verwendest, kommen ja nur die vom VZ selbst berechneten Werte.

Über den VZ-Logger wird die Datenbank ja mit den reellen Zählerständen gefüttert, die der VZ wieder in Leistungskurven umrechnet - aber die Zählerstände sollten dann ja auch verfügbar sein?

Gruß,
Thorsten
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 25 Juni 2013, 19:59:05
Ich lade einfach den max-Wert des Zählerstand Kanals über mein Modul, das sind ja die "echten" Zählerstände... (siehe Screenshot!)

Aktuelle Infos ab sofort hier: Link (http://forum.fhem.de/index.php?topic=12834.msg77718#msg77718)
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: thoweiss am 26 Juni 2013, 09:39:21
Blöde Frage:

Wie hast du denn den Kanal angelegt?

Weil wenn ich meinen Bezugszähler abfrage bekomme ich nur den vom VZ errechneten Zählerstand, aber nicht den in der Datenbank liegenden "echten" Wert...
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 26 Juni 2013, 11:10:21
Mein eHZ liefert mir zwei Werte: den Momentanverbrauch in Watt und den Zählerstand in kWh. Daher habe ich zwei Kanäle im Volkszaehler angelegt und kann mit dem max des Zählerstandkanals immer den aktuellen Stand erhalten. Wenn der Kanal vom Typ power ist, berechnet die Middleware nichts mehr, Du erhältst direkt die Zählerwerte. (Imho)
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 27 Juni 2013, 22:00:57
Bitte schaut ab sofort ins fhem-Wiki, dort sind die aktuellen Dinge verlinkt!

http://www.fhemwiki.de/wiki/Volkszaehler (//www.fhemwiki.de/wiki/Volkszaehler)
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: PowderK am 04 Juli 2013, 19:11:04
Hy ich bin der Anleitung im Wiki gefolgt, kann jedoch das Verzeichniss "\\fritz.box\FRITZ.NAS\fhem\lib\perl5\site_perl\5.12.2\mips-linux\" nicht finden.
Muss ich dieses erst anlegen oder müssen die Dateien woanders hin?

Meine FHEM Server läuft auf einer FB 7270
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: bgewehr am 04 Juli 2013, 19:49:49
Irgendwo muss auch dort ein Perl- Verzeichnis sein, da muss es dann rein. Geh erst mal stöbern, wenn Du nix findest, schick mal die Ordnerstruktur!
Titel: Aw: Perl-Hilfe für Volkszaehler.pm erbeten
Beitrag von: Gernott am 03 August 2013, 21:52:38
Hallo Bernd

Habe gerade mal Deine Lösung implementiert, auf einer FB 7270. Das aktuelle fhem-Image ist nach Anleitung auf einem USB-Stick installiert und läuft. Der Volkszaehler läuft auf einem Raspberry. Der Geamtverbrauch wird berechnet und ist vom Typ Strommesser.

Mein Eintrag sieht so aus:

define GesamtVerbrauch VOLKSZAEHLER 192.168.1.200 80 cccccccc-dddd-eeee-ffff-gggggggggggg last 600
attr GesamtVerbrauch group Strom
attr GesamtVerbrauch room Volkszaehler


Ich bekomme folgende Fehlermeldung:
2013.08.03 21:13:04 1: reload: Error:Modul 23_VOLKSZAEHLER deactivated:
 Can't locate loadable object for module Data::Dumper in @INC (@INC contains: /var/media/ftp/USB2-0-FlashDisk-01/fhem/lib/perl /var/media/ftp/USB2-0-FlashDisk-01/fhem/lib/perl/arch /home/rudi/fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl . ./FHEM) at ./FHEM/23_VOLKSZAEHLER.pm line 33
Compilation failed in require at ./FHEM/23_VOLKSZAEHLER.pm line 33, <$fh> line 77.
BEGIN failed--compilation aborted at ./FHEM/23_VOLKSZAEHLER.pm line 33, <$fh> line 77.

Hast Du eine Idee, woran das liegen kann? Verbose 5 liefert keine weiteren Informationen.

Gruß
Gernot