[FTUI3] Probleme mit "hidden" im Content-File

Begonnen von juemuc, 23 Februar 2024, 21:01:04

Vorheriges Thema - Nächstes Thema

juemuc

Hallo,

ich rufe ein Content-File mit mehreren Parametern auf. Unter anderem auch mit Nr=0 - 2. Wenn die 0 übergeben wird. soll zusätzlich ein Text ausgegeben werden. Bei 1 und 2 nicht.

Im Content-File habe ich nun diese Zeile:
       <ftui-label [hidden]="{{Nr}} | map('0:false, .*:true')"
           text="Text" size="3">
        </ftui-label>
 

Der Text wird aber immer angegeben. Auch hidden ohne [] funktioniert nicht.
Die Ausgabe von
       <ftui-label
           text={{Nr}} size="3">
        </ftui-label>
zeigt den Wert von Nr an.

Wer hat eine Idee?

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

yersinia

Möglicherweise habe ich das nicht ganz verstanden, aber du übergibst ja kein Event durch ein Device:Reading an das hidden-Attribut. Woher kommt denn die Nummer? Kannst du anstelle von 0-2 auch true/false übergeben?
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

juemuc

Hallo yersinia,

ich übergebe den Tag (0 - 2) für heute - Übermorgen. Den Text möchte ich aber nur für heute anzeigen. Der Wert kommt auch ja korrekt an, wie die Ausgabe text={{Nr}} zeigt.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

yersinia

Soweit ich das verstehe, ist das {{...}} "nur" eine RegEx-Ersetzung; deine Definition führt zu einem für FTUI3 event-losen(!)
       <ftui-label [hidden]="2 | map('0:false, .*:true')"
           text="Text" size="3">
       </ftui-label>
Und 2 ist FTUI3 nicht als DEVICE:READING bekannt.
Entweder du löst es über eigenen JavaScritpt-Code oder versuchst einen anderen Weg zu finden, dies mit den Bordmitteln zu erledigen. Aber ohne zu wissen, was du ungefähr vor hast und woher du die 0...2 herbekommst, kann man schwierig helfen.
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

juemuc

Hallo yersinia,

ich zeige den Pollenflug von heute (Nr=0), morgen (Nr=1) und Übermorgen (Nr=2) an. Ich möchte aber nur für heute einen zusätzlichen Text ausgeben. Ich muss also im Conten-File wissen, ob die Daten für heute, morgen oder übermorgen übergeben wurden. Es hängt also nicht vom Inhalt eines Readings ab sondern nur vom "Tag".

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

yersinia

Zwei Content-Files anzulegen und in Abhängigkeit der Nummer entsprechend aufzurufen ist keine Option?

Oder den hidden-Wert noch übergeben:
<ftui-content file="datei.html" [myhidden]="DEVICE:READING | map('0:`false`, .*:`true`')"></ftui-content>
<!-- content file -->
       <ftui-label hidden="{{myhidden}}"
           text="Text" size="3">
       </ftui-label>
Oder über style Variabel, oder, oder oder...

Oder alternativ den eigentlichen Text übergeben.
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

juemuc

Ja, Alternativen gibt es genügend. Es erschließt sich mir nur nicht, warum

text={{Nr}} funktioniert und hidden={{Nr}} nicht.

Eventuell ist es ja ein "kleiner Bug", den setstate korrigieren kann  ::) .

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

yersinia

Zitat von: juemuc am 25 Februar 2024, 21:47:28Es erschließt sich mir nur nicht, warum

text={{Nr}} funktioniert und hidden={{Nr}} nicht.
Zitat von: yersinia am 24 Februar 2024, 15:27:42aber du übergibst ja kein Event durch ein Device:Reading an das hidden-Attribut.
Zitat von: yersinia am 25 Februar 2024, 20:47:10ist das {{...}} "nur" eine RegEx-Ersetzung; deine Definition führt zu einem für FTUI3 event-losen(!)
       <ftui-label [hidden]="2 | map('0:false, .*:true')"
           text="Text" size="3">
       </ftui-label>
Und 2 ist FTUI3 nicht als DEVICE:READING bekannt.

Höchstwahrscheinlich ist das weniger ein bug sondern eher so gewollt - und du nutzt es nicht wie vom Ersteller vorgestellt. Wenn du es in dieser Form nutzen willst, musst du dem [hidden] auch ein event-basiertes Objekt übergeben, darauf wartet [hidden]. Und ein Zahlwert generiert keinen Event. Definiere nur hidden und übergib entsprechend true/false. Oder nutze verschiedene content-files.
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl