Einträge im Logfile und keine Erklärung

Begonnen von yogiflop, 14 Februar 2017, 19:29:47

Vorheriges Thema - Nächstes Thema

yogiflop

Guten Abend,

ich habe gerade gesehen, das in meinem Logfile jede Menge "wirre" Daten sind, mit denen ich leider nicht wirklich viel anfangen kann.
Wäre nett, wenn mich jemand auf den richtigen Weg bringen könnte.


2017.02.14 19:17:37.946 1: PERL WARNING: Useless use of private variable in void context at (eval 281226) line 1.
2017.02.14 19:17:37.967 2: syntax error at (eval 281227) line 1, near "},"
syntax error at (eval 281227) line 1, near "} }"

2017.02.14 19:17:37.968 2: syntax error at (eval 281228) line 1, near "},"
syntax error at (eval 281228) line 1, near "} }"

2017.02.14 19:17:37.970 1: PERL WARNING: Useless use of private variable in void context at (eval 281229) line 1.
2017.02.14 19:17:37.991 2: syntax error at (eval 281230) line 1, near "},"
syntax error at (eval 281230) line 1, near "} }"

2017.02.14 19:17:37.992 2: syntax error at (eval 281231) line 1, near "},"
syntax error at (eval 281231) line 1, near "} }"

2017.02.14 19:17:37.993 1: PERL WARNING: Useless use of private variable in void context at (eval 281232) line 1.
2017.02.14 19:17:55.426 2: syntax error at (eval 281274) line 1, near "},"
syntax error at (eval 281274) line 1, near "} }"

2017.02.14 19:17:55.427 2: syntax error at (eval 281275) line 1, near "},"
syntax error at (eval 281275) line 1, near "} }"

2017.02.14 19:17:55.429 1: PERL WARNING: Useless use of private variable in void context at (eval 281276) line 1.
2017.02.14 19:17:55.539 2: syntax error at (eval 281294) line 1, near "},"
syntax error at (eval 281294) line 1, near "} }"

2017.02.14 19:17:55.540 2: syntax error at (eval 281295) line 1, near "},"
syntax error at (eval 281295) line 1, near "} }"

2017.02.14 19:17:55.542 1: PERL WARNING: Useless use of private variable in void context at (eval 281296) line 1.
2017.02.14 19:17:55.586 2: syntax error at (eval 281298) line 1, near "},"
syntax error at (eval 281298) line 1, near "} }"

2017.02.14 19:17:55.587 2: syntax error at (eval 281299) line 1, near "},"
syntax error at (eval 281299) line 1, near "} }"

2017.02.14 19:17:55.589 1: PERL WARNING: Useless use of private variable in void context at (eval 281300) line 1.
2017.02.14 19:17:55.612 2: syntax error at (eval 281301) line 1, near "},"
syntax error at (eval 281301) line 1, near "} }"

2017.02.14 19:17:55.613 2: syntax error at (eval 281302) line 1, near "},"
syntax error at (eval 281302) line 1, near "} }"

2017.02.14 19:17:55.615 1: PERL WARNING: Useless use of private variable in void context at (eval 281303) line 1.
2017.02.14 19:17:55.637 2: syntax error at (eval 281304) line 1, near "},"
syntax error at (eval 281304) line 1, near "} }"

2017.02.14 19:17:55.638 2: syntax error at (eval 281305) line 1, near "},"
syntax error at (eval 281305) line 1, near "} }"


Danke schon mal
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

betateilchen

stacktrace einschalten und schauen, woher die Meldungen kommen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

yogiflop

Zitat von: betateilchen am 14 Februar 2017, 19:34:34
stacktrace einschalten und schauen, woher die Meldungen kommen.

Danke, dabei kommt dann folgendes heraus:


2017.02.14 19:36:12.170 1: PERL WARNING: Useless use of private variable in void context at (eval 1840) line 1.
2017.02.14 19:36:12.171 1: stacktrace:
2017.02.14 19:36:12.171 1:     main::__ANON__                      called by (eval 1840) (1)
2017.02.14 19:36:12.171 1:     (eval)                              called by ./FHEM/33_readingsGroup.pm (343)
2017.02.14 19:36:12.172 1:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (1330)
2017.02.14 19:36:12.172 1:     main::readingsGroup_Notify          called by fhem.pl (3304)
2017.02.14 19:36:12.172 1:     main::CallFn                        called by fhem.pl (3225)
2017.02.14 19:36:12.172 1:     main::DoTrigger                     called by fhem.pl (3580)
2017.02.14 19:36:12.173 1:     main::Dispatch                      called by ./FHEM/00_HMUARTLGW.pm (1345)
2017.02.14 19:36:12.173 1:     main::HMUARTLGW_Parse               called by ./FHEM/00_HMUARTLGW.pm (1447)
2017.02.14 19:36:12.173 1:     main::HMUARTLGW_Read                called by fhem.pl (3304)
2017.02.14 19:36:12.173 1:     main::CallFn                        called by fhem.pl (674)
2017.02.14 19:36:12.264 2: syntax error at (eval 1852) line 1, near "},"
syntax error at (eval 1852) line 1, near "} }"

2017.02.14 19:36:12.265 2: syntax error at (eval 1853) line 1, near "},"
syntax error at (eval 1853) line 1, near "} }"


CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

betateilchen

also kommen die Meldungen aus readingsGroup

Du kannst stacktrace wieder abschalten :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

yogiflop

Dann könnte es ein Fehler in folgender readingsGroup sein.


define whg.xx.hz.rg readingsGroup <%sani_heating>,<Ist>,<Soll>,<Ventil>,<Tagestemp.>,<Nachttemp.>,<Mode>,<Batterie>,<Command> eg.wz.hz.fenster.Clima:measured-temp,desired-temp,ValvePosition,R-dayTemp,R-nightTemp,controlMode,[Bb]atteryLevel@eg.wz.hz.fenster,state@eg.wz.hz.fenster eg.wz.hz.wand.Clima:measured-temp,desired-temp,ValvePosition,R-dayTemp,R-nightTemp,controlMode,[Bb]atteryLevel@eg.wz.hz.wand,state@eg.wz.hz.wand og.sz.hz.fenster.Clima:measured-temp,desired-temp,ValvePosition,R-dayTemp,R-nightTemp,controlMode,[Bb]atteryLevel@og.sz.hz.fenster,state@og.sz.hz.fenster og.kz.hz.fenster.Clima:measured-temp,desired-temp,ValvePosition,R-dayTemp,R-nightTemp,controlMode,[Bb]atteryLevel@og.kz.hz.fenster,state@og.kz.hz.fenster og.bz.hz.fenster.Clima:measured-temp,desired-temp,ValvePosition,R-dayTemp,R-nightTemp,controlMode,[Bb]atteryLevel@og.bz.hz.fenster,state@og.bz.hz.fenster

attr whg.xx.hz.rg commands {'desired-temp' => 'desired-temp:', 'controlMode' => 'controlMode:', 'R-dayTemp' => 'dayTemp:', 'R-nightTemp' => 'nightTemp:'}

attr whg.xx.hz.rg group Heizung

attr whg.xx.hz.rg mapping {'desired-temp' => }

attr whg.xx.hz.rg nameStyle style="color:green"

attr whg.xx.hz.rg room System

attr whg.xx.hz.rg valueFormat { if ($READING eq 'ValvePosition') {return   '0' if ($VALUE eq '0');; return  '10' if ($VALUE <=  10);; return  '20' if ($VALUE <=  20);; return  '30' if ($VALUE <=  30);; return  '40' if ($VALUE <=  40);; return  '50' if ($VALUE <=  50);; return  '60' if ($VALUE <=  60);; return  '70' if ($VALUE <=  70);; return  '80' if ($VALUE <=  80);; return  '90' if ($VALUE <=  90);; return '100' if ($VALUE <= 100) };; if ($READING eq 'batteryLevel') {return   '0' if ($VALUE < 1.9 );; return  '25' if ($VALUE < 2.1 );; return  '50' if ($VALUE < 2.3 );; return  '75' if ($VALUE < 2.5 );; return '100' if ($VALUE => 2.5 ) };; return $VALUE }

attr whg.xx.hz.rg valueIcon {'ValvePosition.0' => 'sani_heating_level_0@green','ValvePosition.10' => 'sani_heating_level_10@green','ValvePosition.20' => 'sani_heating_level_20@green','ValvePosition.30' => 'sani_heating_level_30@yellow','ValvePosition.40' => 'sani_heating_level_40@yellow','ValvePosition.50' => 'sani_heating_level_50@yellow','ValvePosition.60' => 'sani_heating_level_60@orange','ValvePosition.70' => 'sani_heating_level_70@orange','ValvePosition.80' => 'sani_heating_level_80@orange','ValvePosition.90' => 'sani_heating_level_90@red','ValvePosition.100' => 'sani_heating_level_100@red', 'batteryLevel.0' => 'measure_battery_0@red','batteryLevel.25' => 'measure_battery_25@red','batteryLevel.50' => 'measure_battery_50@orange','batteryLevel.75' => 'measure_battery_75@green','batteryLevel.100' => 'measure_battery_100@green', 'window.closed' => 'fts_window_1w@lightgreen', 'window.open' => 'fts_window_1w_open@red'}

attr whg.xx.hz.rg valueStyle { if ($READING eq "measured-temp") { if ($VALUE >  23){'style="color:red"'} elsif ($VALUE >  20){'style="color:green"'} elsif ($VALUE <= 20){'style="color:blue"'} else {'style="color:gray"'} }, if ($READING eq 'ValvePosition') {Balkenanzeige ($VALUE)} }

attr whg.xx.hz.rg valueSuffix {'ValvePosition' => '  '.ReadingsVal($DEVICE,$READING,0).' %', 'desired-temp' => ' °C', 'measured-temp' => ' °C', "humidity" => '% RH', "batteryLevel" => " ".ReadingsVal($DEVICE,$READING,0)." V"}

CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

yogiflop

Nachdem ich nochmal angefangen habe, und alles nach und nach wieder neu eingegeben habe, denke ich, das ich die Fehlerquelle gefunden habe.


attr whg.xx.hz.rg valueFormat { if ($READING eq 'ValvePosition') {return   '0' if ($VALUE eq '0');; return  '10' if ($VALUE <=  10);; return  '20' if ($VALUE <=  20);; return  '30' if ($VALUE <=  30);; return  '40' if ($VALUE <=  40);; return  '50' if ($VALUE <=  50);; return  '60' if ($VALUE <=  60);; return  '70' if ($VALUE <=  70);; return  '80' if ($VALUE <=  80);; return  '90' if ($VALUE <=  90);; return '100' if ($VALUE <= 100) };; if ($READING eq 'batteryLevel') {return   '0' if ($VALUE < 1.9 );; return  '25' if ($VALUE < 2.1 );; return  '50' if ($VALUE < 2.3 );; return  '75' if ($VALUE < 2.5 );; return '100' if ($VALUE => 2.5 ) };; return $VALUE }


Dort steckt irgendwo der Fehler drinne. Zwar werden die Icon korrekt angezeigt, allerdings taucht dann im Log auch die ständigen Fehler auf.
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

betateilchen

#6
Sowas kommt davon, wenn man versucht, eine solche Menge Code an dieser Stelle unterzubringen, anstatt das in eine FUnktion in der 99_myUtils.pm auszulagern und dort vernünftig zu formatieren - dann hättest Du den Fehler auf Anhieb gesehen.

Zähle mal die geschweiften Klammern, die Du öffnest und die geschweiften Klammern, die Du schließt. Tipp: Die Werte sollten identisch sein.

Noch ein Tipp: das "return $Value" am Ende macht für mich keinen Sinn.
Noch ein Tipp: die Auswertung in 10er-Schritten für ValvePosition würde ich in eine for-Schleife packen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

yogiflop

#7
Zitat von: betateilchen am 15 Februar 2017, 07:42:58
Sowas kommt davon, wenn man versucht, eine solche Menge Code an dieser Stelle unterzubringen, anstatt das in eine FUnktion in der 99_myUtils.pm auszulagern und dort vernünftig zu formatieren - dann hättest Du den Fehler auf Anhieb gesehen.

Zähle mal die geschweiften Klammern, die Du öffnest und die geschweiften Klammern, die Du schließt. Tipp: Die Werte sollten identisch sein.

Noch ein Tipp: das "return $Value" am Ende macht keinen Sinn.
Noch ein Tipp: die Auswertung in 10er-Schritten für ValvePosition würde ich in eine for-Schleife packen.

Ich hatte den Code mehr oder weniger blauäugig hier aus dem Forum kopiert und angepasst. Die Anzahl der Klammern passt ;-) Die Auslagerung und Umstellung auf for-Schleife in der 99_myUtils.pm würde ich gerne vornehmen, müsste dann nur mal genau gucken, wie ich das dann formatieren und im valueFormat schreiben muss.


Habe nochmal gelesen und auch die Wiki befragt und eine Lösung gefunden. Zwar wurde es kein Export in die 99_myUtils, aber trotzdem sind die Fehler raus.

Danke nochmals.
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's