Hauptmenü

Anzahl offen Fenster

Begonnen von Michael, 31 August 2019, 10:27:34

Vorheriges Thema - Nächstes Thema

Michael

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.  :-[
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Michael

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
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

Damian

Das Wort "state" kommt bekanntlich im Event selbst nicht vor (siehe Events im Eventmonitor), daher:
attr di_window state [#"^Fenster_":state:"open","0"]
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

meikelS

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++;
}
}
Don't blame the newbies.