Autor Thema: Fenstersymbol mit Anzahl offener Fenster als Kreis  (Gelesen 6180 mal)

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21990
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #30 am: 27 März 2018, 20:27:11 »
Da ist ein Leerzeichen rein gerutscht

CommandSet(undef, ' offeneFenster ' . numberOfOpenWindows())

Ändern zu

CommandSet(undef, 'offeneFenster ' . numberOfOpenWindows())
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline PingPong

  • Full Member
  • ***
  • Beiträge: 184
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #31 am: 27 März 2018, 20:37:05 »
2018.03.27 20:30:38 5: XiaomiGateway: Read> Read start
2018.03.27 20:30:38 5: XiaomiGateway: Read> {"cmd":"report","model":"sensor_magnet.aq2","sid":"158d0001daefe8","short_id":52743,"data":"{\"status\":\"close\"}"}
2018.03.27 20:30:38 5: XiaomiGateway: Read> Dispatch {"cmd":"report","model":"sensor_magnet.aq2","sid":"158d0001daefe8","short_id":52743,"data":"{\"status\":\"close\"}"}
2018.03.27 20:30:38 5: XiaomiGateway: dispatch {"cmd":"report","model":"sensor_magnet.aq2","sid":"158d0001daefe8","short_id":52743,"data":"{\\"status\\":\\"close\\"}"}
2018.03.27 20:30:38 4: XiaomiGateway: DEV_Parse> IS DEFINED sensor_magnet.aq2 : 158d0001daefe8
2018.03.27 20:30:38 5: XiaomiGateway: DEV_Read> SID: 158d0001daefe8 XiaomiSmartHome_Device
2018.03.27 20:30:38 3: XiaomiGateway: DEV_Read> Name: Fensterkontakt_SchlafzimmerKeller SID: 158d0001daefe8 Type: sensor_magnet.aq2 Status: close
2018.03.27 20:30:38 5: Starting notify loop for Fensterkontakt_SchlafzimmerKeller, 2 event(s), first is close
2018.03.27 20:30:38 5: Batteriestatus: not on any display, ignoring notify
2018.03.27 20:30:38 5: Triggering notifyAnzahlFenster
2018.03.27 20:30:38 4: notifyAnzahlFenster exec { CommandSet(undef, 'offeneFenster' . numberOfOpenWindows()) }

2018.03.27 20:30:38 5: Cmd: >{ CommandSet(undef, 'offeneFenster' . numberOfOpenWindows()) }
<
2018.03.27 20:30:38 3: notifyAnzahlFenster return value: Please define offeneFenster12 first
2018.03.27 20:30:38 5: End notify loop for Fensterkontakt_SchlafzimmerKeller

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21990
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #32 am: 27 März 2018, 20:39:12 »
Nur das vordere Leerzeichen. Das hintere lassen

CommandSet(undef, 'offeneFenster ' . numberOfOpenWindows())
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21990
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #33 am: 27 März 2018, 20:39:45 »
Sind übrigens 12 Fenster auf  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline PingPong

  • Full Member
  • ***
  • Beiträge: 184
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #34 am: 27 März 2018, 20:45:38 »
grmpf.... Da hab ich es nur gut gemeint und wollte den nächsten Fehler direkt mit beheben :-(

So... Teilerfolg...juhhuuu :-) Die 12 stehen jetzt auch im Dummy !!!

Aber... Das kann nicht sein. Liegt aber vermutlich eher an der abweichenden Statusmeldung - wir fragen doch "nur" auf !=close ab, oder?
Damit ist dann "closed" ebenfalls geöffnet :-)

btw: Weißt du auswendig, wie man das Logfile leert? :-)

Offline PingPong

  • Full Member
  • ***
  • Beiträge: 184
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #35 am: 27 März 2018, 20:48:36 »
wenn ich das richtig versteh, werden doch jetzt auch "nur" alle devices berücksichtigt, die mit "Fensterkontakt" beginnen und in der Gruppe "Fenstersensoren" enthalten sind, oder?

Da hätte ich nämlich insgesamt nur 11 :-)

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21990
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #36 am: 27 März 2018, 20:51:04 »
Leeren kannst du es über die die Linuxkonsole

> logfilename
Nicht ganz. Triggern tun nur die mit Namen Fensterkontakt. Die Zahl aber kommt aus dem tatsächlichen group=Fenstersensor und die Filter.
 jetzt müssen wir das Filter erweitern.

return devspec2array("group=Fenstersensoren:FILTER=STATE!=close:FILTER=STATE!=closed")
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline PingPong

  • Full Member
  • ***
  • Beiträge: 184
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #37 am: 27 März 2018, 21:01:26 »
ok... jetzt sind es nur noch 10 offene Fenster - aktuell immer noch 10 zu viel :-)

Kann ich das direkt folgendermaßen um "Close" erweitern?
devspec2array("group=Fenstersensoren:FILTER=STATE!=close:FILTER=STATE!=Close:FILTER=STATE!=closed")

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1477
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #38 am: 27 März 2018, 21:05:19 »
Schreib doch den Einzeiler gleich ins notify mit rein...

defmod nty_OffeneFenster notify FENSTER_.*:(open|tilted|closed?) { CommandSet(undef, 'dmy_OffeneFenster '.devspec2array('NAME=FENSTER_.*:FILTER=STATE!=closed?')) }
Und close oder closed sollte mit closed? gehen.

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21990
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #39 am: 27 März 2018, 21:08:32 »
ok... jetzt sind es nur noch 10 offene Fenster - aktuell immer noch 10 zu viel :-)

Kann ich das direkt folgendermaßen um "Close" erweitern?
devspec2array("group=Fenstersensoren:FILTER=STATE!=close:FILTER=STATE!=Close:FILTER=STATE!=closed")

Na dann zeig mal ein list von den anderen Fensterdevices. Wie ist da der STATE? Also das Internal STATE
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21990
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #40 am: 27 März 2018, 21:12:42 »
Du kannst das ganze im übrigen in der Kommandozeile von FHEMWEB mit dem list Befehl testen
Bei mir zum Beispiel

list group=Fenster:FILTER=STATE!=closed:FILTER=STATE!=geschlossen

Und ja man kann es später auch im Notify schreiben wenn man diese Auflistung sonst nicht mehr braucht. Ich zum Beispiel brauche eine Liste aller Fenster die nicht geschlossen sind habe daher eine Funktion in der myUtils welche ich von unterschiedlichen Stellen aufrufe.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21990
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #41 am: 27 März 2018, 21:15:10 »
geht noch kürzer

devspec2array("group=Fenstersensoren:FILTER=STATE!=(close|Close|closed)")
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline PingPong

  • Full Member
  • ***
  • Beiträge: 184
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #42 am: 27 März 2018, 21:19:50 »
ok...

also das
list group=Fenstersensoren:FILTER=STATE!=closed:FILTER=STATE!=geschlossen
gibt mir genau die 10 Fenster aus... damit kann man vermutlich arbeiten :-)

ok.. ich war faul und hatte vorhin im Rahmen der Umbenennung nur das eine Device aufgeräumt.
Jetzt muss ich aber leider erstmal raus hier. Meine Tochter hat morgen Geburtstag und ich muss noch einiges vorbereiten.

Wenn es Dir nichts ausmacht, bereinige ich dann nachher erstmal noch die anderen Devices, versuche dann hier nochmal ein wenig zu verstehen und melde mich morgen nochmal mit dem aktuellen Stand.

Ich möchte mich an dieser Stelle aber schonmal bedanken, für die Mühe, die Du Dir hier heute mit mir gibst.
Das finde ich wirklich großartig und außerordentlich. Danke

Dir noch einen schönen Restabend und bis morgen.

VG
Marc
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1477
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #43 am: 27 März 2018, 21:30:01 »
devspec2array("group=Fenstersensoren:FILTER=STATE!=([Cc]losed?|geschlossen)")  :)
Zustimmung Zustimmung x 1 Liste anzeigen

Offline PingPong

  • Full Member
  • ***
  • Beiträge: 184
Antw:Fenstersymbol mit Anzahl offener Fenster als Kreis
« Antwort #44 am: 28 März 2018, 19:20:17 »
So, also ich glaube ich hab es  :)
Aktuell wird genau die richtige Anzahl offener Fenster angezeigt.
Werde das jetzt die nächsten Tage einmal beobachten und etwas intensiver testen.

Hier nochmal kurz meine aktuellen Abfragen dokumentiert - vielleicht kann es nochmal jemand gebrauchen...
Nochmal ganz lieben Dank für Eure Mühen und Geduld...

Dummy
Internals:
   NAME       offeneFenster
   NR         305
   STATE      1
   TYPE       dummy
   READINGS:
     2018-03-2

99_myUtils
sub numberOfOpenWindows() {
      return devspec2array("group=Fenstersensoren:FILTER=STATE!=([Cc]losed?|geschlossen)")
}

notify
Fensterkontakt.*([Oo]pen|tilted|[Cc]losed?) { CommandSet(undef, 'offeneFenster ' . numberOfOpenWindows()) }

 

decade-submarginal