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?
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 :)
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.
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*
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.
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.
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
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.
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.
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
Ich hab das Panel auch mal bei mir auf die Home Seite gelegt. Mal schauen was passiert.
SCR-20230430-p7c.png
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 :)
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.
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
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.
Ich glaube zwischenzeitlich, dass die Fehlermeldung mit dem Fully Browser zusammen hängt. Ich habe diesen nun beendet und den Samsung Browser einige Tage alleine mit FhemApp laufen lassen. In dieser Konstellation kommt keine Fehlermeldung mehr.
Ich weiß jetzt nur nicht so ganz, ob ich das dem Fully Browser Entwickler so melden soll und was ich ihm dazu sagen soll; die Fehlermeldung wird dazu ja wohl nicht ausreichen.
Hallo Wolle,
ich bin zeitlich leider gut verplant. Deshalb kann ich im Moment nicht wirklich viel an dem Thema machen. Das das Problem bei Verwendung eines anderen Browsers nicht auftritt ist dennoch interessant. Ich könnte mir vorstellen, dass das Problem auf die asynchrone Programmierung von mir zurückzuführen ist. Insofern macht eine Meldung an die Fullybrowser Entwickler (noch) keinen Sinn. Wenn es meine Zeit zulässt, schaue ich mir den Code nochmal genau an und würde dann eine Rückmeldung geben.
Grüße
Jens :)
Moin Jens, nach einer gefühlten Ewigkeit ist nun auch beim Samsung Browser die Fehlermeldung mal aufgetaucht. Allerdings längst nicht so häufig wie beim Fully Browser. Leider ist der Fully Browser nach wie vor der Browser der Wahl für die Anzeige, weshalb ich wieder auf diesen umgestiegen bin. Aktuell behelfe ich mir damit, dass bei jeder Bewegungserkennung FhemApp in der Anzeige neu geladen wird. Ist nicht schön, geht aber. Allerdings wäre es schön, wenn das nur ein Workaround wäre und kein zukünftiger Dauerzustand.
Gibts von deiner Seite Neuigkeiten in der Sache?
Hallo Wolle,
ja, in den letzten Monaten ist leider nichts passiert. Die Sommerzeit lässt keine Zeit für das Projekt. Ich kann dir dennoch eine Richtung geben, wie es weiter geht.
Mit Unterstützung von @Benni habe ich bereits im Frühjahr begonnen, FHEMapp4 zu erstellen. Version 4 wird neue Möglichkeiten zur Konfiguration mitbringen und zudem auf die aktuellen Versionen von vue bzw. vuetify angehoben. In dem Zuge hat der Softwarekern defakto ein komplettes Redesign erfahren, insbesondere was die asynchronen Funktionen anbetrifft.
Ich denke, dass ich in Richtung Herbst/Winter aktiv weiter mache und dann auch zeitnah eine Betaversion für FHEMapp4 zur Verfügung steht. Mit dieser sollten wir das hier geschilderte Problem in den Griff bekommen.
Beste Grüße
Jens :)
Bei mir tritt die Fehlermeldung auch sporadisch auf:
" ... panel is defined as connected device, which is called from himself"
Ich benutze FHEMapp auf dem Desktop (Win10), dem Smartphone (Android, Firefox) und zwei Wandtablets (Dolphin)
Edit:
Ich hatte tatsächlich eine Rekursion gebaut:
Ein "Sicherheitspanel" mit einem PanelItem "Haustuer", was ich dann in einen room bzw. Bereich "FHEMapp" gesteckt hatte; immer beim Aufruf des Bereichs "FHEMapp" kam die o.a. Fehlermeldung. PanelItem aus dem room entfernt und die Meldung kommt nicht mehr.
Leider zu früh gefreut, da ist sie wieder die Fehlermeldung "... connected device which is called from himself".
Leider sagt mir das Protokoll so rein gar nichts, zumal m.E. eh nur das device aufgelistet wird?
Dabei ist bei mir die Fehlermeldung nun seit einer ganzen Weile im Fully-Browser nicht mehr aufgetaucht, obwohl ich rein gar nicht geändert habe.
Nunja, wie Jens schreibt besteht ja Hoffnung, dass das Thema mit der Neu- bzw. Weiterentwicklung von FhemApp erledigt ist.
Schonmal vielen Dank dafür.
Hallo in die Runde,
auch wenn es eine ganze Weile gedauert hat, so möchte ich gern ein Update zu dem Thema geben. Ich habe dank grappa24 doch die Stelle gefunden, die das beschriebene Problem verursacht. Mit dem gestern bereitgestellten Release 3.36.3 sollte das Problem gefixt sein. Probiert das also gern mal aus und gebt mir eine Rückmeldung, falls der Fehler doch noch bei jemandem auftritt.
Beste Grüße
Jens :)