Moin @all
Ja, ich hatte die Hilfe benutzt und bin mit keinem der Ansätze klargekommen. :(
Daher brauche eure Hilfe.
Ich möchte nur die Anzahl der offenen Fenster ermitteln und zwar wenn ein Event derer Ausgelöst wird.
Was ich bis jetzt habe ist dies.
defmod di_window DOIF ##
attr di_window alias di_window
attr di_window do always
attr di_window room FS20
attr di_window state [#"^Fenster_:state":state:"open","0"]
Kann mir jemand Helfen. :-[
Zitat von: Michael am 31 August 2019, 10:27:34
Moin @all
Ja, ich hatte die Hilfe benutzt und bin mit keinem der Ansätze klargekommen. :(
Daher brauche eure Hilfe.
Ich möchte nur die Anzahl der offenen Fenster ermitteln und zwar wenn ein Event derer Ausgelöst wird.
Was ich bis jetzt habe ist dies.
defmod di_window DOIF ##
attr di_window alias di_window
attr di_window do always
attr di_window room FS20
attr di_window state [#"^Fenster_:state":state:"open","0"]
Kann mir jemand Helfen. :-[
Poste mal list von einem offenen Fenster.
Moin Damian
Ich hoffe das ist das was du wolltest.
Dies ist ein Fenster Device:
Internals:
CFGFN /opt/fhem/cfg/Fenster.cfg
CHANGED
DEF 105c28831bb2
DeviceID 105c28831bb2
FUUID 5c488f11-f33f-ac33-2480-0d1a3a0893283463
LASTInputDev MobileAlertsGateway
MSGCNT 11
MobileAlertsGateway_MSGCNT 11
MobileAlertsGateway_TIME 2019-08-31 09:05:35
NAME Fenster_Bad
NR 515
STATE open
TYPE MOBILEALERTS
OLDREADINGS:
READINGS:
2019-02-19 19:17:03 actStatus switchedOff
2019-01-30 22:48:27 deviceType MA10800
2019-08-31 09:05:04 lastEvent 0
2019-08-31 09:05:04 lastEventString 0 s
2019-08-31 09:05:26 lastRcv 2019-08-31 09:05:26
2019-08-31 09:05:20 state open
2019-08-31 09:05:20 txCounter 3124
Attributes:
alias Fenster_Bad
devStateIcon open:fts_window_1w_open@red closed:fts_window_1w@green
group Fenster
room Technik
userattr Fenster_ElternRechts Fenster_ElternRechts_map structexclude
Das Wort "state" kommt bekanntlich im Event selbst nicht vor (siehe Events im Eventmonitor), daher:
attr di_window state [#"^Fenster_":state:"open","0"]
Ich hatte das vor langer Zeit mal in einer Funktion ausgelagert.
Habs mal hier (aus dem Kopf und ohne Syntaxprüfung) aufgeschrieben.
Sah dann ungefähr so aus.
my $cnt = 0;
foreach my $window (fhem("list kontakt.*")) # Alle Fenster durchlaufen...
{
if(Value($window) eq OPEN) # Wenn es offen ist, dann zählen.
{
$cnt++;
}
}