Hauptmenü

FHEM App - Manage your Home

Begonnen von Gisbert, 12 März 2021, 15:05:20

Vorheriges Thema - Nächstes Thema

Wolle02

Ok, danke für den Gedankenanstoß. Bislang hatte ich für das Panelitem eine Stucture verwendet, die ich eigens für diesen Bedarf erzeugt hatte. Ausgehend von deiner Anregung einfach das Reading in das Panelitemdevice zu holen habe ich mir gedacht, ich könnte doch auch ganz einfach das ganze Panelitem mittels appOptions in das andere Device verlagern in dem das Reading vorhanden ist.

Hier mal ein List des ganzen Devices inklusive appOptions:

Internals:
   DEF        .*:open .*:closed
   FUUID      5e85d7db-f33f-bf2d-6d1f-c52d30b51cfa00da
   FVERSION   98_monitoring.pm:0.256460/2022-02-07
   NAME       Fenster_allg
   NR         97
   NTFY_ORDER 50-Fenster_allg
   STATE      Anzahl geöffneter Fenster: 1
   TYPE       monitoring
   READINGS:
     2022-03-06 18:45:02   allCount        1
     2022-03-06 18:45:02   error           F_UG_Buero
     2022-03-06 18:45:02   errorCount      1
     2022-03-06 18:45:02   state           error add: F_UG_Buero
     2020-04-19 08:25:48   warning         
     2020-04-19 08:25:48   warningCount    0
   hmccu:
Attributes:
   appOptions {"panel": {"status": ["allCount:0:geschlossen:100:success", "allCount::%n Fenster geöffnet:50:warning"], "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       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_.*


Leider ist es jetzt so, dass obwohl wie im List zu sehen ein Fenster geöffnet ist, in FhemApp immer "geschlossen" angezeigt wird. Da die Bedingung von "allCount:0:geschlossen:100:success" ja nicht war ist, müsste doch dieser Zweig ausgeführt werden "allCount::%n Fenster geöffnet:50:warning".

Wo hab ich jetzt schon wieder meinen Gedankenfehler?

Ach ja, im Paneldevice habe ich natürlich unter connected das neue Panelitemdevice eingebunden.

Wolle02

Ich habe jetzt nochmal mit verschiedenen Einstellungen rumgespielt, aber es bleibt dabei, wenn ich als Panelitem das o.g. Device connecte, dann werden die Fenster immer als geschlossen angezeigt, egal wieviele geöffnet sind.
Laut der Doku sollte ein Panelitem ja eigentlich mit jedem Device funktionieren. Mit der Structure, die ich vorher hatte funktioniert es einwandfrei.

jemu75

Zitat von: Wolle02 am 09 März 2022, 18:45:43
Ich habe jetzt nochmal mit verschiedenen Einstellungen rumgespielt, aber es bleibt dabei, wenn ich als Panelitem das o.g. Device connecte, dann werden die Fenster immer als geschlossen angezeigt, egal wieviele geöffnet sind.
Laut der Doku sollte ein Panelitem ja eigentlich mit jedem Device funktionieren. Mit der Structure, die ich vorher hatte funktioniert es einwandfrei.

Glaube, das Problem in deiner Konfiguration entdeckt zu haben.

Bedingungen werden immer von links nach rechts geprüft.
Bei der ersten zutreffenden Bedingung, wird die weitere Prüfung abgebrochen.
Zahlenwerte werden immer auf "größer oder gleich" geprüft.

Da deine Prüfung des readings "allCount" mit 0 beginnt, wird die Prüfung immer im ersten Schritt abbrechen. Denn allCount>=0 wird faktisch immer zutreffen.

Du müsstest die Definition etwas anders aufbauen.

"status": ["allCount:1:%n Fenster geöffnet:50:warning","allCount::geschlossen:100:success"]


Wolle02

Oh Mannnn.  :o  Das mit dem "größer oder ...." hatte ich nicht mehr auf dem Zettel.

Jetzt funktionierts. Vielen Dank!!!

jemu75

Zitat von: Wolle02 am 12 März 2022, 13:43:49
Oh Mannnn.  :o  Das mit dem "größer oder ...." hatte ich nicht mehr auf dem Zettel.

Jetzt funktionierts. Vielen Dank!!!

Kein Problem. Ich werde das in der Dokumentation noch etwas ausführlicher beschreiben.  :)

jemu75

Für eine bessere Übersicht im Bereich FHEMApp habe ich diesen Thread geschlossen.

Bitte sucht zuerst nach Stichworten in diesem Forenbereich und antwortet im jeweiligen Thread, zu dem euer Thema passt