Ankündigung

Einklappen
Keine Ankündigung bisher.

s|s.state - welche Bedeutung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    s|s.state - welche Bedeutung

    Hallo zusammen,

    ich würde gern wissen, was folgende Anwesiung aus einer rule genau macht.

    Code:
     
     if(gMobiles.members.filter(s | s.state == ON).size == 0)
    Im speziellen geht es mir um den Ausdruck s|s.state, ich würde gern die Bedeutung wissen. Gerne auch ein Hinweis wo ich mehr zu diesem Thema erfahren kann. Vielen Dank. Tom

    #2
    s (vor der Pipe) ist ein stellvertretendes Objekt, hinter der Pipe wird dann dieser Stellvertreter benutzt.
    Einfaches Beispiel:
    Code:
    gMobiles.members.forEach(s|logInfo("logger","Status von "+s.name+" ist: "+s.state.toString))
    Wenn diese Codezeile ausgeführt wird, erscheint im openhab.log eine Liste aller Member der Gruppe gMobiles mit ihrem Status.

    Im Deinem Fall geht es darum, diese Liste zu filtern. Gefiltert wird auf den state ON. Wenn diese gefilterte Liste leer ist (size=0) soll irgendwas passieren - z.B. Anwesenheitsstauts aus OFF setzen, weil niemand zuhause ist (alle Mobiles abgemeldet)

    Kommentar


      #3
      Super. Ich danke dir für die ausführliche Erklärung. So langsam wird das ganze etwas klarer.

      Kommentar

      Lädt...
      X