[Erledigt] Filelog Problem nach Update

Begonnen von PEPITO82, 18 Oktober 2016, 13:10:06

Vorheriges Thema - Nächstes Thema

PEPITO82

Hallo zusammen,

ich habe gestern FHEM auf den neuesten Stand gebracht (Kommando "update all").

Seit dem wird kein Chart mehr für die Luftqualität erstellt, obwohl sonst keine Änderungen vorgenommen wurden.
Problem wird sein, dass im Filelog seit dem Update  "html" vor und hinter dem Luftgütewert geschrieben wird:

2016-10-09_14:41:49 rg_dummy_airquality_state ai.Channel1: 514
2016-10-09_14:41:49 rg_dummy_airquality_state ai.Channel2: 532
2016-10-09_14:42:50 rg_dummy_airquality_state ai.Channel1: 509
2016-10-09_14:42:50 rg_dummy_airquality_state ai.Channel2: 536
2016-10-09_14:43:50 rg_dummy_airquality_state ai.Channel1: 511
2016-10-09_14:43:51 rg_dummy_airquality_state ai.Channel2: 539
2016-10-09_14:44:51 rg_dummy_airquality_state ai.Channel1: 508
2016-10-09_14:44:52 rg_dummy_airquality_state ai.Channel2: 535
2016-10-09_14:49:57 rg_dummy_airquality_state ai.Channel1: 515
2016-10-09_14:49:58 rg_dummy_airquality_state ai.Channel2: 541
2016-10-09_14:51:23 rg_dummy_airquality_state ai.Channel1: <html>520</html>
2016-10-09_14:51:24 rg_dummy_airquality_state ai.Channel2: <html>545</html>
2016-10-09_14:52:24 rg_dummy_airquality_state ai.Channel1: <html>518</html>
2016-10-09_14:52:24 rg_dummy_airquality_state ai.Channel2: <html>541</html>
2016-10-09_14:53:25 rg_dummy_airquality_state ai.Channel1: <html>507</html>
2016-10-09_14:53:25 rg_dummy_airquality_state ai.Channel2: <html>546</html>
2016-10-09_14:54:26 rg_dummy_airquality_state ai.Channel1: <html>510</html>
2016-10-09_14:54:26 rg_dummy_airquality_state ai.Channel2: <html>538</html>
2016-10-09_14:55:26 rg_dummy_airquality_state ai.Channel1: <html>502</html>


Die Internals des Filelogs sehen so aus:

DEF
/opt/fhem/log/airquality_OG_Eltern-%Y-%m.log rg_dummy_airquality_state:.*
NAME

FileLog_co20
NR

147
NTFY_ORDER

50-FileLog_co20
REGEXP

rg_dummy_airquality_state:.*
STATE

active
TYPE

FileLog
currentlogfile

/opt/fhem/log/airquality_OG_Eltern-2016-10.log
logfile

/opt/fhem/log/airquality_OG_Eltern-%Y-%m.log


In der ReadingsGroup rg_dummy_airquality_state stehen korrekte Werte.

Wie kann ich das beheben?

Viele Grüße

Peter

rudolfkoenig

Wie ist rg_dummy_airquality_state definiert, und wer schreibt die Werte hier rein?
Ich vermute das Problem jedenfalls nicht im FileLog, sondern entweder in der readingsGroup Modul oder in der Art, wie ChannelX gesetzt wird.

PEPITO82

rg_dummy_airquality_state ist so definiert:

<co20>,<>
co20:voc
ai:Channel1
ai:Channel2


Bei Gerät "ai" (Typ I2C_MCP342x) handelt es sich um die beiden analogen Eingänge meines Unipiboards.
Die Readings Channel1 und Channel2 sehen dort wie immer aus.
Auch in der readingsGroup stehen normale dreistellige Werte, wie z.B. Channel1 557 und Channel2 477.

Habe gerade auch noch die neusten Updates geladen - für das readingsGroup Modul gab es ein Update, aber es wird nachwievor der Wert mit <html> gelogged.

rudolfkoenig

Mit der gezeigten Definition kann ich nichts anfangen, ich haette sowas wie "define rg_dummy_airquality_state readingsGroup ....." und "attr rg_dummy_airquality_state ..." erwartet.

Ich habe es bei mir mit folgender Definition nachgestellt:
define d1 dummy
define rg readingsGroup d1:myReading
setreading d1 myReading empty


was bei mir zu folgenden Event fuehrte:
Zitatdummy d1 myReading: empty
Nachdem ich das readingsGroup im Browser angeschaut habe, und erneut ein setreading abgesetzt habe, kamen folgende Events:
ZitatreadingsGroup rg d1.myReading: <html>empty</html>
dummy d1 myReading: empty

Meine Meinung: die readingsGroup Events waren nie als Quelle fuer FileLog/notify gedacht, sondern nur fuer die Anzeige. Loggen sollte man die einzelnen Geraete, geht problemlos mit einem notify.

Du kannst dich natuerlich beim readingsGroup Modulautor beschweren, aber dann bitte eine neue Diskussion mit passenden Betreff anfangen.

rudolfkoenig

Schreib am Anfang von Blocking.pm "use Data::Dumper;", und vor der Zeile 101 "Log 1, Dumper($h) if(!$h->{pid});". Natuerlich ohne ".

PEPITO82

Ich habe versucht das an der richtigen Stelle einzubauen, aber das hat laut Log wohl nicht geklappt:


2016.10.20 08:20:35 1: PERL WARNING: Subroutine BC_searchTelnet redefined at ./FHEM/Blocking.pm line 39.
2016.10.20 08:20:35 1: PERL WARNING: Subroutine BlockingCall redefined at ./FHEM/Blocking.pm line 74.
2016.10.20 08:20:35 1: PERL WARNING: Subroutine BlockingStart redefined at ./FHEM/Blocking.pm line 86.
2016.10.20 08:20:35 1: PERL WARNING: Subroutine BlockingInformParent redefined at ./FHEM/Blocking.pm line 174.
2016.10.20 08:20:35 1: PERL WARNING: Subroutine BlockingKill redefined at ./FHEM/Blocking.pm line 224.
2016.10.20 08:20:35 1: PERL WARNING: Subroutine BlockingExit redefined at ./FHEM/Blocking.pm line 253.


2016.10.20 08:22:39 1: $VAR1 = {
          'terminated' => 1
        };

2016.10.20 08:22:40 1: $VAR1 = {
          'terminated' => 1
        };

2016.10.20 08:22:40 1: $VAR1 = {
          'terminated' => 1
        };

2016.10.20 08:22:40 1: $VAR1 = {
          'terminated' => 1
        };

2016.10.20 08:22:40 1: $VAR1 = {
          'terminated' => 1
        };

2016.10.20 08:22:40 1: $VAR1 = {
          'terminated' => 1
        };

2016.10.20 08:22:40 1: $VAR1 = {
          'terminated' => 1
        };

2016.10.20 08:22:40 1: $VAR1 = {
          'terminated' => 1
        };

2016.10.20 08:22:40 1: $VAR1 = {
          'terminated' => 1
        };

2016.10.20 08:22:40 1: $VAR1 = {
          'terminated' => 1
        };

2016.10.20 08:22:50 1: $VAR1 = {
          'terminated' => 1
        };

2016.10.20 08:22:50 1: $VAR1 = {
          'terminated' => 1
        };

2016.10.20 08:22:50 1: $VAR1 = {
          'terminated' => 1
        };


Den ersten Teil hatte ich direkt in Zeile 1 geschrieben.
Den zweiten Teil vor Zeile 119:
    if(!$h->{fn}) {     # Deleted by the module in finishFn?
      delete($BC_hash{$bpid});
      next;
    }



rudolfkoenig

Vielen Dank, ich habe jetzt eine Idee, wo das herkam. Habe Blocking.pm angepasst, das sollte aber fuer die User wg. der zusaetzlichen Ueberpruefung keine sichtbaren Aenderungen bedeuten.

PEPITO82

Habe gerade das Update von Blocking.pm installiert.
Für mein Problem hat sich leider augenscheinlich nichts geändert.

rudolfkoenig

Sorry, meine Antwort #4 und #6 ist in dieser Diskussion Fehl am Platz (es ging um ein anderes Problem), selbst gestern habe ich mein Fehler nicht bemerkt.

Ich stehe weiterhin zu meine Antwort #3.

justme1968

die events von readingsGroup sind für die anzeige gedacht. nicht um sie zu loggen. zum loggen solltest du das original device verwenden.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

PEPITO82

Danke für den Hinweis. Hatte bis zum Update immer funktioniert, aber ich habe das Loggen nun auf das original Device umgestellt.