FTUI3 mehrere Readings: Unterschied zwischen den Versionen

Aus FHEMWiki
(Die Seite wurde neu angelegt: „==Zielsetzung== Es sollen mehrere Readings eines oder mehrerer Devices gleichzeitig in FTUI3 ausgewertet und verarbeitet werden. In diesem Beispiel werden für einen Fensterkontakt "d_HM_Feko_OG_Bad" das Standard-Reading sowie die Readings "battery" und "activity" ausgewertet. Im ersten Schritt werden die "normalen" Farben für die Öffnungszustände des Fensters gesetzt. Im zweiten Schritt wird der Batteriezustand überprüft, bei low wird die Farbe a…“)
 
KKeine Bearbeitungszusammenfassung
 
Zeile 13: Zeile 13:
<syntaxhighlight lang="html">
<syntaxhighlight lang="html">
[color]="
[color]="
d_HM_Feko_OG_Bad | t1=>this.t1=t1 | ()=>this.color=(this.t1=='offen'?'primary':'light');
  d_Feko_Bad | c1=>{this.reading1=c1, this.c1=(
d_HM_Feko_OG_Bad:battery | t2=>this.t2=t2 | ()=>this.color=(this.t2=='low'?'yellow':this.color) ;
      this.reading3=='dead'?'red':
d_HM_Feko_OG_Bad:activity | t3=>this.t3=t3 | ()=>this.color=(this.t3=='dead'?'red':this.color
      this.reading2=='low'?'warning':
)"
      this.reading1=='offen'?'primary':
      this.reading1=='geschlossen'?'light':'black'
  )}| ()=>this.color=this.c1;
  d_Feko_Bad:battery | c2=>{this.reading2=c2, this.c2=(
      this.reading3=='dead'?'red':
      this.reading2=='low'?'warning':
      this.reading1=='offen'?'primary':
      this.reading1=='geschlossen'?'light':'black'
  )} | ()=>this.color=this.c2 ;
  d_Feko_Bad:activity | c3=>{this.reading3=c3, this.c3=(
      this.reading3=='dead'?'red':
      this.reading2=='low'?'warning':
      this.reading1=='offen'?'primary':
      this.reading1=='geschlossen'?'light':'black'
  )} | ()=>this.color=this.c3
"
</syntaxhighlight>
</syntaxhighlight>

Aktuelle Version vom 30. Oktober 2023, 17:29 Uhr

Zielsetzung

Es sollen mehrere Readings eines oder mehrerer Devices gleichzeitig in FTUI3 ausgewertet und verarbeitet werden. In diesem Beispiel werden für einen Fensterkontakt "d_HM_Feko_OG_Bad" das Standard-Reading sowie die Readings "battery" und "activity" ausgewertet. Im ersten Schritt werden die "normalen" Farben für die Öffnungszustände des Fensters gesetzt. Im zweiten Schritt wird der Batteriezustand überprüft, bei low wird die Farbe auf gelb geändert. Im dritten Schritt wird die Erreichbarkeit geprüft, bei dead wird die Farbe auf rot geändert.

Das Beispiel kann natürlich abgewandelt werden, um anders geartete Szenarien abzudecken.

Voraussetzung

  • ein Device mit den angegebenen Readings existiert

Umsetzung

[color]="
   d_Feko_Bad | c1=>{this.reading1=c1, this.c1=(
      this.reading3=='dead'?'red':
      this.reading2=='low'?'warning':
      this.reading1=='offen'?'primary':
      this.reading1=='geschlossen'?'light':'black'
   )}| ()=>this.color=this.c1;
   d_Feko_Bad:battery | c2=>{this.reading2=c2, this.c2=(
      this.reading3=='dead'?'red':
      this.reading2=='low'?'warning':
      this.reading1=='offen'?'primary':
      this.reading1=='geschlossen'?'light':'black'
   )} | ()=>this.color=this.c2 ;
   d_Feko_Bad:activity | c3=>{this.reading3=c3, this.c3=(
      this.reading3=='dead'?'red':
      this.reading2=='low'?'warning':
      this.reading1=='offen'?'primary':
      this.reading1=='geschlossen'?'light':'black'
   )} | ()=>this.color=this.c3
"