Hauptmenü

FTUI version 3

Begonnen von Bunnu, 25 Oktober 2020, 09:25:41

Vorheriges Thema - Nächstes Thema

mr_petz

@andreas_r
So geht es auch nicht, da unit einen Text erwartet bzw. label.
Wenn dann so:
https://github.com/knowthelist/ftui/blob/master/www/ftui/examples/label.html#L195
oder so mit <span>:
https://github.com/knowthelist/ftui/blob/master/www/ftui/examples/label.html#L196
Hier im span slot liegt der Vorteil im stylen der unit wie im example...

Also im Beispiel von @ThomasFh:

      <!-- Victron -->
      <ftui-grid-tile row="8" col="4" height="2" width="3" color="green">
        <ftui-label size="3">Victron</ftui-label>
        <ftui-icon name="cog" size="3"></ftui-icon>
        <ftui-row width="80%" height="10%">
          <ftui-label [text]="VictronT1:GridPowerL1" unit="Watt"></ftui-label>
          <ftui-label [text]="VictronT1:GridPowerL2"></ftui-label>
          <ftui-label [text]="VictronT1:GridPowerL3"></ftui-label>
        </ftui-row>
      </ftui-grid-tile>

oder:

      <!-- Victron -->
      <ftui-grid-tile row="8" col="4" height="2" width="3" color="green">
        <ftui-label size="3">Victron</ftui-label>
        <ftui-icon name="cog" size="3"></ftui-icon>
        <ftui-row width="80%" height="10%">
          <ftui-label [text]="VictronT1:GridPowerL1"><span slot="unit">Watt</span></ftui-label>
          <ftui-label [text]="VictronT1:GridPowerL2"></ftui-label>
          <ftui-label [text]="VictronT1:GridPowerL3"></ftui-label>
        </ftui-row>
      </ftui-grid-tile>


Und hier die Doku zum binding:
https://github.com/knowthelist/ftui#binding
[]=get
()=set
[()]=beides

LG

andreas_r

#2776
@mr_petz: Sicher? bei mir zumindest geht so was hier:
<ftui-label [text]="ProPlanta:fc2_tempMax" unit="°C"></ftui-label>

Hatte schon die Frage so verstanden, dass ein Text mit im Label steht?

mr_petz

#2777
Du hattest aber das geschrieben:

Zitat von: andreas_r am 03 November 2022, 19:04:05
Das hier kann nur funktionieren, wenn du ein FHEM Device hast, das "Watt" heisst und als status die Einheit hat.
<ftui-label [unit]="Watt"></ftui-label>

Ansonsten muss es so heissen:
<ftui-label unit="Watt"></ftui-label>

Nur so mit unit alleine:
<ftui-label unit="Watt"></ftui-label>
geht es nicht...
Da müsste mindestens ein text mit space rein:

<ftui-label text=" " unit="Watt"></ftui-label>

andreas_r

Ja, da hast Du natürlich Recht. Ich hatte mich eher auf das Thema bezogen, dass die unit auf ein Device referenziert war und nicht direkt zugewiesen.
Zumindest sollte es ja jetzt beim Fragesteller funktionieren.  :)

wg25

Moin!
Zitat von: mr_petz am 30 Oktober 2022, 20:52:09

<ftui-button @click="sendFhem(`{my $number=ReadingsVal('CallList','1-number','');;fhem('telelock $number')}; set CallList removeItem 1`)">sendFehm</ftui-button>

oder

<ftui-button (value)="CallList" states="removeItem 1" @click="sendFhem(`{my $number=ReadingsVal('CallList','1-number','');;fhem('telelock $number')}`)">sendFehm</ftui-button>

funktioniert leider nur teilweise. Der CallList_Aufruf "removeItem" funktioniert. Aber irgendwie scheint das Erstellen der Variable $number nicht zu funktionieren bzw. das Übergeben der Variable. Auf jeden Fall wird die Funktion telelock aufgerufen, aber als Nummer wird $number ins SPERR-Telefonbuch geschrieben und nicht deren Inhalt.

Wo könnte mein Denkfehler liegen? Mit FTUI2 hat's so geklappt.

Danke und Gruß
Arne

mr_petz

#2780
Mhhh.
Kannst du noch eine Bedingung einbauen?:

<ftui-button (value)="CallList" states="removeItem 1" @click="sendFhem(`{my $number=(ReadingsVal('CallList','1-number','')); if ($number) {fhem('telelock $number')};}`)">sendFehm</ftui-button>

Kommt irgendeine Fehlermeldung im Log?
Kann es nicht live testen sorry...

LG

Edit: Vielleicht auch die ' mit " tauschen? Wieviele ; braucht man eigentlich? eins oder?

<ftui-button (value)="CallList" states="removeItem 1" @click='sendFhem(`{my $number=(ReadingsVal("CallList","1-number","")); if ($number) {fhem("telelock $number")};}`)'>sendFehm</ftui-button>

Es könnte auch sein das das remove zuerst ausgeführt wird??

Edit2: Wenn du es in einem Label angezeigt bekommst könntest du es vielleicht auch so lösen?:
<ftui-label [text]="CallList:1-number | number=>ftuiApp.fhemService.sendCommand(`fhem('telelock ` + number +`')`) | ()=>this.text=text" @click="sendFhem('set CallList removeItem 1')"></ftui-label>
Man könnte es auch local an einen button übergeben.
Wenn da interesse besteht sag Bescheid..
LG

OdfFhem

@mr_petz, @wg25

Mit der (ersten) geschweiften Klammer wird in den Perl-Modus geschaltet - dort gilt:
- Doppelte Anführungszeichen sorgen vor der Verwendung von Zeichenketten für das Ersetzen von Variablen.
- Einfache Anführungszeichen unterbinden eine solche Ersetzung.

mr_petz

#2782
Also sollte das gehen?:

<ftui-button (value)="CallList" states="removeItem 1" @click='sendFhem(`{my $number=(ReadingsVal("CallList","1-number","")); fhem("telelock $number");}`)'>sendFehm</ftui-button>


LG

Edit:
Muss die fhem() function in {} stehen?

OdfFhem

Laut Schilderung von wg25 fehlt nur die Ersetzung ...

Wenn Ausführung via data-fhem-cmd in FTUI2 so funktioniert

'{my $number=ReadingsVal("CallList","1-number","");;fhem("telelock $number")}; set CallList removeItem 1'


sollte Ausführung via sendFhem in FTUI3 so aussehen

`{my $number=ReadingsVal("CallList","1-number","");; fhem("telelock $number")}; set CallList removeItem 1`


... doppeltes ; u.U. unnütz ...

wg25

Zitat von: OdfFhem am 03 November 2022, 22:46:33
sollte Ausführung via sendFhem in FTUI3 so aussehen

`{my $number=ReadingsVal("CallList","1-number","");; fhem("telelock $number")}; set CallList removeItem 1`


Ich habe mal den "inneren Teil" {my $number=ReadingsVal("CallList","1-number","");; fhem("telelock $number")} direkt in die Commandozeile von FHEM eingegeben... läuft wie es soll.

Rufe ich diesen Teil dann mit sendFhem im FTUI3 auf, klappt es nicht.
<ftui-button @click="sendFhem(`{my $number=ReadingsVal("CallList","1-number","");; fhem("telelock $number")}`)">sendFhem</ftui-button>

Toast Message: :1 SyntaxError: Unexpected end of input

:-\

mr_petz

#2785
Wenn dann so:

<ftui-button @click='sendFhem(`{my $number=ReadingsVal("CallList","1-number","");; fhem("telelock $number")}`)'>sendFhem</ftui-button>

Man kann nur einmal " oder ' verwenden...
Also bei @click ' und im sendFhem ` und im {} "
Hatte es hier im ersten Edit schon so aufgezeigt;
https://forum.fhem.de/index.php/topic,115259.msg1243149.html#msg1243149

LG

wg25

Zitat von: mr_petz am 04 November 2022, 07:50:04
Man kann nur einmal " oder ' verwenden...
Also bei @click ' und im sendFhem ` und im {} "
Hatte es hier im ersten Edit schon so aufgezeigt;
https://forum.fhem.de/index.php/topic,115259.msg1243149.html#msg1243149
Danke, Danke, Danke! Jetzt klappt's! Ich muss mich nochmal intensiver mit Perl auseinandersetzen.


iron.eagle

Hallo,

ich wollte nochmal fragen:
Zitat
kann man mit FTUI3 zwei Werte aus FHEM addieren und darstellen? Bei Veränderung eines oder beider Werte soll die Summe neu berechnet werden.

Torsten

mr_petz

Zitat von: wg25 am 04 November 2022, 14:57:51
Danke, Danke, Danke! Jetzt klappt's! Ich muss mich nochmal intensiver mit Perl auseinandersetzen.

Schön das es funktioniert...
Kannst du uns noch sagen für welche Version du dich entschieden bzw. beide getestet hast?

<ftui-button (value)="CallList" states="removeItem 1" @click='sendFhem(`{my $number=ReadingsVal("CallList","1-number",""); fhem("telelock $number")};`)'>sendFehm</ftui-button>

oder:

<ftui-button @click='sendFhem(`{my $number=ReadingsVal("CallList","1-number",""); fhem("telelock $number")}; set CallList removeItem 1`)'>sendFehm</ftui-button>


Ist für mich und andere Hilfreich zu erfahren ob beides geht bzw. gehen würde...

LG

mr_petz

Zitat von: iron.eagle am 04 November 2022, 16:43:30
Hallo,

ich wollte nochmal fragen:
Torsten

So ohne weiteres von Hause aus denke ich nicht. Mal sehen ob ich was hinbekomme... oder jemand anderes???
Oder schon in Fhem lösen...

LG