Hauptmenü

Verständnisproblem Fehlermeldung

Begonnen von Wolle02, 21 April 2023, 23:41:14

Vorheriges Thema - Nächstes Thema

Wolle02

Hallo Jens, hallo Wissende,

ich habe seit ein paar Tagen eine Fehlermeldung in FhemApp, die ich nicht so ganz verstehe (siehe Anhang). Insbesondere verstehe ich auch nicht so ganz warum diese plötztlich auftritt.
Für mich sieht es so aus, als wenn die Fehlermedldung vom Paneel Sicherheit produziert wird; das hab ich aber schon ewig nicht mehr angefasst.

Anbei mal ein List vom Paneel:

Internals:
   FUUID      60969df3-f33f-bf2d-5e3e-6aa4753ebab4c32d
   FVERSION   98_dummy.pm:0.256060/2022-02-01
   NAME       Panel_Sicherheit
   NR         433
   STATE      ???
   TYPE       dummy
Attributes:
   DbLogExclude .*
   alias      Sicherheit
   appOptions { "template": "panel",
  "sortby": "04",
  "home": "true",
  "connected":
       {"Rauchmelder": "RM_alle", "Fenster": "Fenster_allg", "Türen": "Tueren_alle" },
  "setup":
       {"info": { "left1": ["Internals.STATE:::mdi-home-assistant"] },
        "size": "col-12 col-sm-12 col-md-8 col-lg-8"
       }
}
   room       FhemApp

Kann mir jemand sagen wo hier der Hase im Pfeffer liegt?

jemu75

Hallo Wolle,

die Meldung besagt, dass eines der Devices, die du unter dem Parameter "connected" definiert hast, wieder auf dein Device "Panel_Sicherheit" verweist. Damit würde eine "Endlosschleife" in deiner Konfiguration entstehen.
Um den Fehler zu finden, müßte man sich ansehen, wie "appOptions" in den Devices aussieht, die du unter "connected" definiert hast.
Wenn du in letzter Zeit nichts an den appOptions verändert hast, könnte der Fehler ggf. durch das Umbenennen eines anderen FHEM Devices entstanden sein.

Ich hoffe meine Überlegungen, helfen schon weiter. Falls nicht, melde dich gern.

Jens :)

Wolle02

Ja, das mit der Endlosschleife hatte ich auch so vermutet. Ich verstehe es nur nicht.
Ich habe ja drei Devices unter "connected" definert: Tueren_alle, RM_alle und Fenster_allg
hier poste ich mal die Lists von den Devices aus denen man auch appOptions sieht:

Internals:
   ATTR       Tueren
   CHANGEDCNT 1762
   DEF        Tueren T_.*[^_RK]
   DEVSPECDEF 1
   FUUID      6096a41c-f33f-bf2d-984c-9bfc294cacdcc0f7
   FVERSION   98_structure.pm:0.272090/2023-02-12
   NAME       Tueren_alle
   NOTIFYDEV  global,T_EG,T_UG
   NR         434
   NTFY_ORDER 50-Tueren_alle
   STATE      closed
   TYPE       structure
   eventCount 1762
   READINGS:
     2023-04-22 14:59:11   LastDevice      T_EG
     2023-04-22 14:59:11   LastDevice_Abs  T_EG
     2023-04-22 14:59:11   state           closed
   hmccu:
Attributes:
   DbLogExclude .*
   alias      Türen
   appOptions { "panel":
       {"status": ["state:closed:geschlossen:100:success", "state:open:geöffnet:100:warning", "state:undefined:teilweise geöffnet:50:warning"],
        "btn": "mdi-chevron-right",
        "link": "/devices/group=Türen"},
  "name":"Türen"
}
   room       FhemApp

Internals:
   ATTR       Rauchmelder
   CHANGEDCNT 11
   DEF        Rauchmelder Rauchmelder_.*
   DEVSPECDEF 1
   FUUID      6096babe-f33f-bf2d-7ce2-10dfbb6ca36bc8d1
   FVERSION   98_structure.pm:0.272090/2023-02-12
   NAME       RM_alle
   NOTIFYDEV  Rauchmelder_WZ,Rauchmelder_KZ,Rauchmelder_DG,global,Rauchmelder_IT
   NR         435
   NTFY_ORDER 50-RM_alle
   STATE      IDLE_OFF
   TYPE       structure
   eventCount 11
   READINGS:
     2023-04-22 06:18:20   LastDevice      Rauchmelder_IT
     2023-04-22 06:18:20   LastDevice_Abs  Rauchmelder_IT
     2023-04-22 06:18:20   state           IDLE_OFF
   hmccu:
Attributes:
   DbLogExclude .*
   appOptions { "panel":
     {"status": ["state:IDLE_OFF:alle bereit:100:success", "state:PRIMARY_ALARM:FEUERALARM:100:error"],
      "btn": "mdi-chevron-right",
      "link": "/devices/group=Rauchmelder"},
  "name":"Rauchmelder" }
   devStateIcon IDLE_OFF:15px-green PRIMARY_ALARM:15px-red
   room       Alarm,FhemApp
   userattr   Rauchmelder Rauchmelder_map structexclude

Internals:
   DEF        .*:open .*:closed
   FUUID      5e85d7db-f33f-bf2d-6d1f-c52d30b51cfa00da
   FVERSION   98_monitoring.pm:0.268920/2022-12-24
   NAME       Fenster_allg
   NR         124
   NTFY_ORDER 50-Fenster_allg
   STATE      Anzahl geöffneter Fenster: 6
   TYPE       monitoring
   eventCount 142
   READINGS:
     2023-04-22 14:59:11   allCount        6
     2023-04-22 14:59:11   error           F_EG_Flur,F_EG_Kueche,F_EG_WZ_Ost,F_OG_Bad,F_OG_Kinderzimmer_Nord,F_OG_Schlafzimmer_Ost
     2023-04-22 14:59:11   errorCount      6
     2023-04-22 14:59:11   state           error add: F_OG_Bad
     2020-04-19 08:25:48   warning         
     2020-04-19 08:25:48   warningCount    0
   hmccu:
Attributes:
   DbLogExclude .*
   appOptions {"panel":
    {"status": ["allCount:1:%n Fenster geöffnet:50:warning","allCount::geschlossen:100:success"],
     "btn": "mdi-chevron-right",
     "link": "/devices/group=Fenster"},
 "name":"Fenster" }
   blacklist  .*_RK R_.* global Rollladen_alle Alarm_.* Eingang_.* Fenster_schliessen_.*
   errorReturn {return unless(@errors);
 $_ = AttrVal($_, "alias", $_) foreach(@errors);
 return("Das Fenster \"$errors[0]\" ist geöffnet.") if(int(@errors) == 1);
 @errors = sort {lc($a) cmp lc($b)} @errors;
 return(join("\n - ", "Die folgenden ".@errors." Fenster sind geöffnet:", @errors))
}
   errorWait  0
   room       FhemApp,Steuerungen
   stateFormat Anzahl geöffneter Fenster: allCount
   warningReturn {return unless(@warnings);
 $_ = AttrVal($_, "alias", $_) foreach(@warnings);
 return("Das Fenster \"$warnings[0]\" ist seit kurzem geöffnet.") if(int(@warnings) == 1);
 @warnings = sort {lc($a) cmp lc($b)} @warnings;
 return(join("\n - ", "Die folgenden ".@warnings." Fenster sind seit kurzem geöffnet:", @warnings))
}
   whitelist  F_.*

Hier ist ja die Panelfonfiguration enthalten; aber doch nichts was auf das Panel an sich zurückverweist?

Umbenennungen müssten ja auch bei diesen drei Devices erfolgt sein oder? Aber die heißen ja alle noch so wie in "connected" definiert.

Wolle02

Ich habe jetzt sukzessive jedes einzelne Device, das unter 'connected' definiert ist aus 'connected' heraus genommen. Trotzdem kommt die Fehlermeldung immer wieder. Ich kann auch keine Regelmäßigkeit erkennen oder dass die Fehlermeldung kommt, wenn eines der o.g. Devices triggert.

*confused*

Jamo

So eine Fehlermeldung kommt bei mir auch ab und zu, ich habe auch nie rausgefunden wo die loop ist. Seitdem lade ich die Seite einfach neu, beim 2-ten mal laden ist die Meldung meistens weg.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Wolle02

Leider kommt die Meldung immer wieder. Ich verstehe einfach nicht warum sie jetzt plötzlich auftritt. Bislang hat alles tadellos funktioniert und wie gesagt ich hatte nichts geändert.

Ich habe jetzt alle Connected Devices aus dem Panel rausgenommen. Damit kam nun mehere Tage keine Fehlermeldung mehr. Nun habe ich angefangen ein Connected Device nach dem anderen wieder rein zu nehmen. Sobald ein Device wieder im Panel connected ist, tritt die Fehlermeldung wieder auf. Es ist dabei auch egal welches Device ich wieder reinnehme oder die Reihenfolge.
Die einzelnen Devices habe ich ja oben aufgelistet. Daraus kann ich keinen Loop erkennen.
Kann hier doch eventl. ein Fehler im Panelcode vorliegen? Das ist ja glaube ich kein Standard-Template.

binford6000

Moin,
vielleicht könnte es auch daran liegen dass du verschiedene TYPEs an devices in einem Panel zusammenfasst.
Ich habe auch einige Panels definiert aber darin sind nur devices gleichen TYPES und ich habe diese Fehlermeldung
noch nie gesehen. Just my 2 ct...

VG Sebastian 

Wolle02

#7
Danke fürs Mitnachdenken, aber dann dürfte die Fehlermeldung doch auch nicht erscheinen wenn ich nur EIN connected Device im Panel habe, denn dann wäre es ja vom TYPE her homogen. Aber wie oben geschrieben kommt die Fehlermeldung wieder sobald ich irgendeines von den connected Devices wieder ins Panel einfüge. Reinhenfolge, Type egal. Auch kommt die Fehlermeldung nicht sofort, sondern erst mit Zeitverzug. Ein Muster konnte ich hierbei leider noch nicht entdecken.

binford6000

Wenn du mal die kompletten RAWs (samt setstate) von dem Panel und den Devices posten würdest könnte ich das mal mit dummies versuchen nachzustellen.

Wolle02

Gerne. Irgendwie befürchte ich aber nur, dass es sich bei dir nicht reproduzieren lassen wird.

Panel:
defmod Panel_Sicherheit dummy
attr Panel_Sicherheit DbLogExclude .*
attr Panel_Sicherheit alias Sicherheit
attr Panel_Sicherheit appOptions { "template": "panel",\
  "sortby": "04",\
  "home": "true",\
  "connected": {"Rauchmelder": "RM_alle","Fenster": "Fenster_allg","Türen": "Tueren_alle"},\
  "setup": \
       {"info": { "left1": ["Internals.STATE:::mdi-home-assistant"] },\
        "size": "col-12 col-sm-12 col-md-8 col-lg-8"\
       } \
}
attr Panel_Sicherheit room System->FhemApp

connected Rauchmelder:
defmod RM_alle structure Rauchmelder Rauchmelder_.*
attr RM_alle userattr Rauchmelder Rauchmelder_map structexclude
attr RM_alle DbLogExclude .*
attr RM_alle appOptions { "panel": \
     {"status": ["state:IDLE_OFF:alle bereit:100:success", "state:PRIMARY_ALARM:FEUERALARM:100:error"], \
      "btn": "mdi-chevron-right", \
      "link": "/devices/group=Rauchmelder"},\
  "name":"Rauchmelder" }
attr RM_alle devStateIcon IDLE_OFF:15px-green PRIMARY_ALARM:15px-red
attr RM_alle room Geräte->Alarm,System->FhemApp

setstate RM_alle IDLE_OFF
setstate RM_alle 2023-04-29 23:13:54 LastDevice Rauchmelder_KZ
setstate RM_alle 2023-04-29 23:13:54 LastDevice_Abs Rauchmelder_KZ
setstate RM_alle 2023-04-29 23:13:54 state IDLE_OFF

connected Fenster:
defmod Fenster_allg monitoring .*:open .*:closed
attr Fenster_allg DbLogExclude .*
attr Fenster_allg appOptions {"panel": \
    {"status": ["allCount:1:%n Fenster geöffnet:50:warning","allCount::geschlossen:100:success"], \
     "btn": "mdi-chevron-right", \
     "link": "/devices/group=Fenster"},\
 "name":"Fenster" }
attr Fenster_allg blacklist .*_RK R_.* global Rollladen_alle Alarm_.* Eingang_.* Fenster_schliessen_.*
attr Fenster_allg errorReturn {return unless(@errors);;\
 $_ = AttrVal($_, "alias", $_) foreach(@errors);;\
 return("Das Fenster \"$errors[0]\" ist geöffnet.") if(int(@errors) == 1);;\
 @errors = sort {lc($a) cmp lc($b)} @errors;;\
 return(join("\n - ", "Die folgenden ".@errors." Fenster sind geöffnet:", @errors))\
}
attr Fenster_allg errorWait 0
attr Fenster_allg room System->Steuerungen,System->FhemApp
attr Fenster_allg stateFormat Anzahl geöffneter Fenster: allCount
attr Fenster_allg warningReturn {return unless(@warnings);;\
 $_ = AttrVal($_, "alias", $_) foreach(@warnings);;\
 return("Das Fenster \"$warnings[0]\" ist seit kurzem geöffnet.") if(int(@warnings) == 1);;\
 @warnings = sort {lc($a) cmp lc($b)} @warnings;;\
 return(join("\n - ", "Die folgenden ".@warnings." Fenster sind seit kurzem geöffnet:", @warnings))\
}
attr Fenster_allg whitelist F_.*

setstate Fenster_allg Anzahl geöffneter Fenster: 0
setstate Fenster_allg 2023-04-30 09:26:50 allCount 0
setstate Fenster_allg 2023-04-30 09:26:50 error
setstate Fenster_allg 2023-04-30 09:26:50 errorCount 0
setstate Fenster_allg 2023-04-30 09:26:50 state error remove: F_OG_Kinderzimmer_Nord
setstate Fenster_allg 2020-04-19 08:25:48 warning
setstate Fenster_allg 2020-04-19 08:25:48 warningCount 0

connected Türen:
defmod Tueren_alle structure Tueren T_.*[^_RK]
attr Tueren_alle DbLogExclude .*
attr Tueren_alle alias Türen
attr Tueren_alle appOptions { "panel": \
       {"status": ["state:closed:geschlossen:100:success", "state:open:geöffnet:100:warning", "state:undefined:teilweise geöffnet:50:warning"], \
        "btn": "mdi-chevron-right", \
        "link": "/devices/group=Türen"},\
  "name":"Türen" \
}
attr Tueren_alle room System->FhemApp

setstate Tueren_alle closed
setstate Tueren_alle 2023-04-30 09:33:36 LastDevice T_EG
setstate Tueren_alle 2023-04-30 09:33:36 LastDevice_Abs T_EG
setstate Tueren_alle 2023-04-30 09:33:36 state closed

binford6000

Ich hab das Panel auch mal bei mir auf die Home Seite gelegt. Mal schauen was passiert.
Du darfst diesen Dateianhang nicht ansehen. 

jemu75

Hallo,

sorry, dass ich mich zu dem Thema noch nicht gemeldet habe.

@Wolle02: deine Definition sieht gut aus. D.h. Endlosschleifen sind hier nicht konfiguriert.

Wennn der Fehler bei anderen Benutzern auch auftritt bzw. sporadisch zu beobachten ist, könnte dahinter auch ein Fehler in FHEMapp stecken. Vieles läuft innerhalb von FHEMapp asynchron. Da liegt die Tücke manchmal im Detail.

Hast du evtl. mal getestet, ob das Problem auch bei Nutzung einer anderen Hardware auftritt? Also FHEMapp mal am PC und auf nem Smartphone starten.

Beste Grüße
Jens  :)

Wolle02

#12
Hallo Jens, danke, dass du Dir meine Definition angeschaut hast. Ich war jetzt zum Schluss schon ziemlich ratlos. Außer Jamo hat sich ja eigentlich bislang keiner mit dem Problem gemeldet.
Aber dein Hinweis mit der anderen Hardware hat mich noch auf die Idee gebracht das Tablet auf dem die Fehlermeldung kommt mal zu rebooten. Das ist nämlich mein 24/7 Tablet an der Wand im Hausflur und bislang habe ich außer bei dem Gerät an keinem anderen Gerät die Fehlermeldungf gehabt. Allerdings laufen die anderen Geräte auch nicht dauerhaft mit FhemApp.
Mal schauen ob nach dem Reboot die Fehlermeldung wieder kommt. Ich berichte in 1-2 Tagen.

binford6000

Moin,
ich hatte dein Panel ja in meinen Home-Raum gesteckt und nutze fhemApp auf allen meinen Geräten (Macbook, iPhone und iPad).
Auf keinem der Geräte ist die Fehlermeldung erschienen. Ich tippe auch auf den Browser deines Wand-Tablets.
Ggf. hilft ein auto-reload der Seite beim Aufruf von fhemApp?

VG Sebastian 

Wolle02

So, also der Reboot des Tablets brachte auch keine Besserung. Ich benutze hier den Fully Browser und habe es jetzt auch mal mit dem Samsung eigenen Browser probiert. In beiden Browsern kommen die Fehlermeldungen leider immer wieder. Andere Geräte habe ich leider nie so lange in Betrieb als dass ich da was sagen könnte.
Ich wüsste jetzt nicht, was beim Tablet jetzt plötzlich anders wäre. Vielleicht irgend ein Update das unverträglich war/ist. Keine Ahnung.

@Sebastian:
Das hatte ich fast befürchtet, dass sich das bei dir nicht reproduzieren lässt. Würde natürlich auch für die These sprechen, dass es am Tablet an sich liegt. Ich verstehe da nur die Zusammenhänge nicht wirklich.

ZitatGgf. hilft ein auto-reload der Seite beim Aufruf von fhemApp?
Das verstehe ich nicht so ganz bzw. wie das zu bewerkstelligen wäre.