(gelöst)Fehler in DOIF,Reading 1 soll triggern & Reading 2 nicht,2 triggert auch

Begonnen von Ma_Bo, 17 Februar 2017, 21:34:52

Vorheriges Thema - Nächstes Thema

Damian

Zitat von: Ma_Bo am 21 Februar 2017, 16:52:02
Ich habe heute ein Update gemacht, ist die korrigierte Version von 98_DOIF.pm noch nicht verfügbar über das Standard Update ?
Der Fehler ist nämlich wieder da, ich spiele jetzt die 98_DOIF.pm aus diesem Beitrag hier, wieder auf mein System.

Grüße Marcel

ja, ich lasse die Version  https://forum.fhem.de/index.php/topic,67351.0.html noch paar Tage testen, sobald ich sie eingecheckt habe, werde ich es im ersten Post vermerken und den download rausnehmen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ma_Bo

NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Ma_Bo

Hey Damian,

ich habe heute erst ein Update machen können, dabei wurde natürlich meine 98_DOIF.pm aus deinem Beitrag hier gegen die neue aus dem Update ersetzt.

Nun habe ich folgenden Eintrag nach shutdown restart im LOG :

2017.03.08 15:30:50.615 1: PERL WARNING: Use of uninitialized value $block in concatenation (.) or string at ./FHEM/98_DOIF.pm line 680.

Ist das was wichtiges oder kann ich das ignorieren?
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Damian

Zitat von: Ma_Bo am 08 März 2017, 15:39:22
Hey Damian,

ich habe heute erst ein Update machen können, dabei wurde natürlich meine 98_DOIF.pm aus deinem Beitrag hier gegen die neue aus dem Update ersetzt.

Nun habe ich folgenden Eintrag nach shutdown restart im LOG :

2017.03.08 15:30:50.615 1: PERL WARNING: Use of uninitialized value $block in concatenation (.) or string at ./FHEM/98_DOIF.pm line 680.

Ist das was wichtiges oder kann ich das ignorieren?

Das Warning sollte natürlich nicht vorkommen, auch wenn es harmlos ist. Kannst du es einkreisen von welcher Definition es kommt?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ma_Bo

Oha, das wird schwer, bisher ist es nur direkt nach dem Neustart aufgetaucht, seit dem nicht mehr, das muss ich wohl erst einmal weiter beobachten.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Damian

Zitat von: Ma_Bo am 08 März 2017, 16:27:12
Oha, das wird schwer, bisher ist es nur direkt nach dem Neustart aufgetaucht, seit dem nicht mehr, das muss ich wohl erst einmal weiter beobachten.

Die Stelle im Code ist zwar eindeutig, allerdings wäre für mich interessant, was der Auslöser ist.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ma_Bo

OK, da ich sehr sehr viele DOIF habe, beobachte ich das ganze.
Sollte die Meldung noch einmal auftauchen, kann ich das im Betrieb besser finden als beim Start, da beim Start von FHEM wahrscheinlich einige der DOIF´s getriggert werden.

Ich sehe leider nur das im LOG:

2017.03.08 15:30:50.190 0: Featurelevel: 5.8
2017.03.08 15:30:50.190 0: Server started with 1882 defined entities (fhem.pl:13622/2017-03-05 perl:5.018002 os:linux user:fhem pid:14781)
2017.03.08 15:30:50.368 1: Perfmon: possible freeze starting at 15:30:24, delay is 26.368
2017.03.08 15:30:50.615 1: PERL WARNING: Use of uninitialized value $block in concatenation (.) or string at ./FHEM/98_DOIF.pm line 680.



gibt es eine Möglichkeit, etwas in der 98_DOIF.pm einzubauen, dass man sehen kann welcher Definition es auslöst?
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Damian

Zitat von: Ma_Bo am 08 März 2017, 16:52:41
OK, da ich sehr sehr viele DOIF habe, beobachte ich das ganze.
Sollte die Meldung noch einmal auftauchen, kann ich das im Betrieb besser finden als beim Start, da beim Start von FHEM wahrscheinlich einige der DOIF´s getriggert werden.

Ich sehe leider nur das im LOG:

2017.03.08 15:30:50.190 0: Featurelevel: 5.8
2017.03.08 15:30:50.190 0: Server started with 1882 defined entities (fhem.pl:13622/2017-03-05 perl:5.018002 os:linux user:fhem pid:14781)
2017.03.08 15:30:50.368 1: Perfmon: possible freeze starting at 15:30:24, delay is 26.368
2017.03.08 15:30:50.615 1: PERL WARNING: Use of uninitialized value $block in concatenation (.) or string at ./FHEM/98_DOIF.pm line 680.



gibt es eine Möglichkeit, etwas in der 98_DOIF.pm einzubauen, dass man sehen kann welcher Definition es auslöst?

Du kannst die angehängte Version installieren:

Es wird dort in diesem Falle Folgendes protokolliert:

Log3 $hash->{NAME},1 , "$hash->{NAME}:  Problem in: $definition " if (!defined $block);

Stichwort "Problem in:"

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ma_Bo

NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Ma_Bo

Kurze Frage, kann ich die Version dnn drin lassen oder besser die aus dem Update danach wieder einspielen...?

Hab schon was gefunden, kommt jetzt gleich als nächster Post...
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Ma_Bo

Das DOIF soll mir nur anzeigen, wer als nächstes Geburtstag hat.


Hier das LOG:

2017.03.08 17:19:55.469 1: Geburtstage_Ansicht_1:  Problem in: [iCloud_Kalender_Geburtstage_Calview:t_001_daysleftLong], am [iCloud_Kalender_Geburtstage_Calview:t_001_bdate] hat [iCloud_Kalender_Geburtstage_Calview:t_001_summary] Geburtstag und wird [iCloud_Kalender_Geburtstage_Calview:t_001_age] Jahre alt. Geburtsjahr [iCloud_Kalender_Geburtstage_Calview:t_001_location]
2017.03.08 17:19:55.469 1: PERL WARNING: Use of uninitialized value $block in concatenation (.) or string at ./FHEM/98_DOIF.pm line 681.
2017.03.08 17:19:55.469 1: Geburtstage_Ansicht_1:  Problem in: [iCloud_Kalender_Geburtstage_Calview:t_001_daysleftLong], am [iCloud_Kalender_Geburtstage_Calview:t_001_bdate] hat [iCloud_Kalender_Geburtstage_Calview:t_001_summary] Geburtstag und wird [iCloud_Kalender_Geburtstage_Calview:t_001_age] Jahre alt. Geburtsjahr [iCloud_Kalender_Geburtstage_Calview:t_001_location]
2017.03.08 17:19:55.470 1: Geburtstage_Ansicht_1:  Problem in: [iCloud_Kalender_Geburtstage_Calview:t_001_daysleftLong], am [iCloud_Kalender_Geburtstage_Calview:t_001_bdate] hat [iCloud_Kalender_Geburtstage_Calview:t_001_summary] Geburtstag und wird [iCloud_Kalender_Geburtstage_Calview:t_001_age] Jahre alt. Geburtsjahr [iCloud_Kalender_Geburtstage_Calview:t_001_location]
2017.03.08 17:19:55.470 1: Geburtstage_Ansicht_1:  Problem in: [iCloud_Kalender_Geburtstage_Calview:t_001_daysleftLong], am [iCloud_Kalender_Geburtstage_Calview:t_001_bdate] hat [iCloud_Kalender_Geburtstage_Calview:t_001_summary] Geburtstag und wird [iCloud_Kalender_Geburtstage_Calview:t_001_age] Jahre alt. Geburtsjahr [iCloud_Kalender_Geburtstage_Calview:t_001_location]
2017.03.08 17:19:55.471 1: Geburtstage_Ansicht_1:  Problem in: [iCloud_Kalender_Geburtstage_Calview:t_001_daysleftLong], am [iCloud_Kalender_Geburtstage_Calview:t_001_bdate] hat [iCloud_Kalender_Geburtstage_Calview:t_001_summary] Geburtstag und wird [iCloud_Kalender_Geburtstage_Calview:t_001_age] Jahre alt. Geburtsjahr [iCloud_Kalender_Geburtstage_Calview:t_001_location]


Hier das List:

Internals:
   DEF        ([iCloud_Kalender_Geburtstage_Calview:t_001_summary])
   NAME       Geburtstage_Ansicht_1
   NR         4623
   NTFY_ORDER 50-Geburtstage_Ansicht_1
   STATE      in 7 Tagen, am 15.03.2017 hat xxxxxx Geburtstag und wird 32 Jahre alt. Geburtsjahr 1985
   TYPE       DOIF
   Readings:
     2017-03-08 17:19:57   Device          iCloud_Kalender_Geburtstage_Calview
     2017-03-08 17:19:57   cmd             1
     2017-03-08 17:19:57   cmd_event       iCloud_Kalender_Geburtstage_Calview
     2017-03-08 17:19:57   cmd_nr          1
     2017-03-08 17:19:57   e_iCloud_Kalender_Geburtstage_Calview_t_001_summary xxx
     2017-03-08 17:19:57   state           in 7 Tagen, am 15.03.2017 hat xxx Geburtstag und wird 32 Jahre alt. Geburtsjahr 1985
   Condition:
     0          ReadingValDoIf($hash,'iCloud_Kalender_Geburtstage_Calview','t_001_summary')
   Devices:
     0           iCloud_Kalender_Geburtstage_Calview
     all         iCloud_Kalender_Geburtstage_Calview
   Do:
     0:
       0
     1:
   Helper:
     event      t_001_age: 32,t_001_bdate: 15.03.2017,t_001_btime: 00:00:00,t_001_daysleft: 7,t_001_daysleftLong: in 7 Tagen,t_001_summary: xxx,t_001_source: iCloud_Kalender_Geburtstage,t_001_location: 1985,t_001_edate: 16.03.2017,t_001_etime: 00:00:00,t_001_mode: next,t_002_age: 64,t_002_bdate: 20.03.2017,t_002_btime: 00:00:00,t_002_daysleft: 12,t_002_daysleftLong: in 12 Tagen,t_002_summary: xxx,t_002_source: iCloud_Kalender_Geburtstage,t_002_location: 1953,t_002_edate: 21.03.2017,t_002_etime: 00:00:00,t_002_mode: next,t_003_age: 34,t_003_bdate: 27.04.2017,t_003_btime: 00:00:00,t_003_daysleft: 50,t_003_daysleftLong: in 50 Tagen,t_003_summary: xxx,t_003_source: iCloud_Kalender_Geburtstage,t_003_location: 1983,t_003_edate: 28.04.2017,t_003_etime: 00:00:00,t_003_mode: next,t: 3 td: 0 tm: 0,c-term: 3,c-tomorrow: 0,c-today: 0
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   iCloud_Kalender_Geburtstage_Calview
     timerevent t_001_age: 32,t_001_bdate: 15.03.2017,t_001_btime: 00:00:00,t_001_daysleft: 7,t_001_daysleftLong: in 7 Tagen,t_001_summary: xxx,t_001_source: iCloud_Kalender_Geburtstage,t_001_location: 1985,t_001_edate: 16.03.2017,t_001_etime: 00:00:00,t_001_mode: next,t_002_age: 64,t_002_bdate: 20.03.2017,t_002_btime: 00:00:00,t_002_daysleft: 12,t_002_daysleftLong: in 12 Tagen,t_002_summary: xxx,t_002_source: iCloud_Kalender_Geburtstage,t_002_location: 1953,t_002_edate: 21.03.2017,t_002_etime: 00:00:00,t_002_mode: next,t_003_age: 34,t_003_bdate: 27.04.2017,t_003_btime: 00:00:00,t_003_daysleft: 50,t_003_daysleftLong: in 50 Tagen,t_003_summary: xxx,t_003_source: iCloud_Kalender_Geburtstage,t_003_location: 1983,t_003_edate: 28.04.2017,t_003_etime: 00:00:00,t_003_mode: next,t: 3 td: 0 tm: 0,c-term: 3,c-tomorrow: 0,c-today: 0
     triggerDev iCloud_Kalender_Geburtstage_Calview
     timerevents:
       t_001_age: 32
       t_001_bdate: 15.03.2017
       t_001_btime: 00:00:00
       t_001_daysleft: 7
       t_001_daysleftLong: in 7 Tagen
       t_001_summary: xxx
       t_001_source: iCloud_Kalender_Geburtstage
       t_001_location: 1985
       t_001_edate: 16.03.2017
       t_001_etime: 00:00:00
       t_001_mode: next
       t_002_age: 64
       t_002_bdate: 20.03.2017
       t_002_btime: 00:00:00
       t_002_daysleft: 12
       t_002_daysleftLong: in 12 Tagen
       t_002_summary: xxx
       t_002_source: iCloud_Kalender_Geburtstage
       t_002_location: 1953
       t_002_edate: 21.03.2017
       t_002_etime: 00:00:00
       t_002_mode: next
       t_003_age: 34
       t_003_bdate: 27.04.2017
       t_003_btime: 00:00:00
       t_003_daysleft: 50
       t_003_daysleftLong: in 50 Tagen
       t_003_summary: xxx
       t_003_source: iCloud_Kalender_Geburtstage
       t_003_location: 1983
       t_003_edate: 28.04.2017
       t_003_etime: 00:00:00
       t_003_mode: next
       t: 3 td: 0 tm: 0
       c-term: 3
       c-tomorrow: 0
       c-today: 0
     timereventsState:
       t_001_age: 32
       t_001_bdate: 15.03.2017
       t_001_btime: 00:00:00
       t_001_daysleft: 7
       t_001_daysleftLong: in 7 Tagen
       t_001_summary: xxx
       t_001_source: iCloud_Kalender_Geburtstage
       t_001_location: 1985
       t_001_edate: 16.03.2017
       t_001_etime: 00:00:00
       t_001_mode: next
       t_002_age: 64
       t_002_bdate: 20.03.2017
       t_002_btime: 00:00:00
       t_002_daysleft: 12
       t_002_daysleftLong: in 12 Tagen
       t_002_summary: xxx
       t_002_source: iCloud_Kalender_Geburtstage
       t_002_location: 1953
       t_002_edate: 21.03.2017
       t_002_etime: 00:00:00
       t_002_mode: next
       t_003_age: 34
       t_003_bdate: 27.04.2017
       t_003_btime: 00:00:00
       t_003_daysleft: 50
       t_003_daysleftLong: in 50 Tagen
       t_003_summary: xxx
       t_003_source: iCloud_Kalender_Geburtstage
       t_003_location: 1983
       t_003_edate: 28.04.2017
       t_003_etime: 00:00:00
       t_003_mode: next
       state: t: 3 td: 0 tm: 0
       c-term: 3
       c-tomorrow: 0
       c-today: 0
     triggerEvents:
       t_001_age: 32
       t_001_bdate: 15.03.2017
       t_001_btime: 00:00:00
       t_001_daysleft: 7
       t_001_daysleftLong: in 7 Tagen
       t_001_summary: xxx
       t_001_source: iCloud_Kalender_Geburtstage
       t_001_location: 1985
       t_001_edate: 16.03.2017
       t_001_etime: 00:00:00
       t_001_mode: next
       t_002_age: 64
       t_002_bdate: 20.03.2017
       t_002_btime: 00:00:00
       t_002_daysleft: 12
       t_002_daysleftLong: in 12 Tagen
       t_002_summary: xxx
       t_002_source: iCloud_Kalender_Geburtstage
       t_002_location: 1953
       t_002_edate: 21.03.2017
       t_002_etime: 00:00:00
       t_002_mode: next
       t_003_age: 34
       t_003_bdate: 27.04.2017
       t_003_btime: 00:00:00
       t_003_daysleft: 50
       t_003_daysleftLong: in 50 Tagen
       t_003_summary: xxx
       t_003_source: iCloud_Kalender_Geburtstage
       t_003_location: 1983
       t_003_edate: 28.04.2017
       t_003_etime: 00:00:00
       t_003_mode: next
       t: 3 td: 0 tm: 0
       c-term: 3
       c-tomorrow: 0
       c-today: 0
     triggerEventsState:
       t_001_age: 32
       t_001_bdate: 15.03.2017
       t_001_btime: 00:00:00
       t_001_daysleft: 7
       t_001_daysleftLong: in 7 Tagen
       t_001_summary: xxx
       t_001_source: iCloud_Kalender_Geburtstage
       t_001_location: 1985
       t_001_edate: 16.03.2017
       t_001_etime: 00:00:00
       t_001_mode: next
       t_002_age: 64
       t_002_bdate: 20.03.2017
       t_002_btime: 00:00:00
       t_002_daysleft: 12
       t_002_daysleftLong: in 12 Tagen
       t_002_summary: xxx
       t_002_source: iCloud_Kalender_Geburtstage
       t_002_location: 1953
       t_002_edate: 21.03.2017
       t_002_etime: 00:00:00
       t_002_mode: next
       t_003_age: 34
       t_003_bdate: 27.04.2017
       t_003_btime: 00:00:00
       t_003_daysleft: 50
       t_003_daysleftLong: in 50 Tagen
       t_003_summary: xxx
       t_003_source: iCloud_Kalender_Geburtstage
       t_003_location: 1983
       t_003_edate: 28.04.2017
       t_003_etime: 00:00:00
       t_003_mode: next
       state: t: 3 td: 0 tm: 0
       c-term: 3
       c-tomorrow: 0
       c-today: 0
   Internals:
   Itimer:
   Readings:
     0           iCloud_Kalender_Geburtstage_Calview:t_001_summary
     all         iCloud_Kalender_Geburtstage_Calview:t_001_summary
   Regexp:
     0:
     All:
   State:
     device      iCloud_Kalender_Geburtstage_Calview
   Trigger:
Attributes:
   checkReadingEvent 1
   do         always
   fp_Geburtstage 120,30,0,
   group      Geburtstage_iCloud_Kalender
   room       4.21_iCloud_Kalender
   state      [iCloud_Kalender_Geburtstage_Calview:t_001_daysleftLong], am [iCloud_Kalender_Geburtstage_Calview:t_001_bdate] hat [iCloud_Kalender_Geburtstage_Calview:t_001_summary] Geburtstag und wird [iCloud_Kalender_Geburtstage_Calview:t_001_age] Jahre alt. Geburtsjahr [iCloud_Kalender_Geburtstage_Calview:t_001_location]
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Damian

OK, ich werde es bis morgen beheben, kommt dann per Update. Diese Version kannst du erst mal bei dir so lassen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ma_Bo

Danke für den mega schnellen Support !!!

Schön wenn du direkt finden konntest woran es liegt...

Kannst du mir Bescheid geben, wenn du es im SVN hochlädst, dann kann ich das vielleicht noch heute einspielen, muss aber nicht...

Grüße Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Damian

Mit der angehängten Version sollte es jetzt sauber funktionieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ma_Bo

Danke, sieht gut aus.

Evtl. andere Nebenwirkungen werde ich dann hier posten, aber ich erwarte bei deiner Arbeit keine. ;)
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.