Hauptmenü

FTUI version 3

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

Vorheriges Thema - Nächstes Thema

juemuc

Es scheint wohl Browser und Systemabhängig zu sein. Auf meinem Testsystem (Ubuntu) sieht es immer etwas anders aus als auf einem pi. Letztendlich muss man mit der festen Höhenangabe etwas experimentieren.

Mein Problem ist damit erst einmal erledigt.
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).

curt

Ich möchte die ersten 20 Stellen bei ftui-label [text] haben, bisher sieht das so aus:

<ftui-label [text]="aaaa:bbbb">

Vermutlich macht man das mit Pipe und dann format. Aber wie bekommt man konkret die ersten 20 Zeichen mit "| format" ?

Auch bei part habe ich ein Problem, ich möchte die ersten beiden Worte. part(1,2) geht schon mal nicht. Aber wie geht es richtig?

Danke für die Hilfe.
RPI 4 - Jeelink HomeMatic Z-Wave

yersinia

Zitat von: curt am 26 Mai 2023, 01:23:22Ich möchte die ersten 20 Stellen bei ftui-label [text] haben, bisher sieht das so aus:

<ftui-label [text]="aaaa:bbbb">

Vermutlich macht man das mit Pipe und dann format. Aber wie bekommt man konkret die ersten 20 Zeichen mit "| format" ?

Auch bei part habe ich ein Problem, ich möchte die ersten beiden Worte. part(1,2) geht schon mal nicht. Aber wie geht es richtig?
Das hatten wir gerade erst: #3386
<ftui-label [text]="aaaa:bbbb | slice(0,20)">
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | 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

Superposchi

Hallo an die Pipe-Experten

Ich suche eine Möglichkeit folgendes Reading aufzudröseln und in einzelnen Labels wiederzugeben:
2023-05-27 10:26:01: 26.27m² in 0.46h, finished cleaningDatum klappt bereits
Zeit klappt teilweise, ich bekomme den letzten Doppelpunkt nicht weg. Replace würde ja alle wegnehmen, geht daher nicht so einfach.
Fläche klappt bereits
Dauer kann ich auslesen, würde es aber gerne in Minuten umrechnen. Gibt es für so eine Umrechnung in FTUI3 eine Möglichkeit?
Status klappt bereits

presskopf

Hallo zusammen,

ich bin jetzt nicht so der Javascript-Experte und auf dem Schlauch stehe ich auch.  ;D

Und zwar versuche ich einen HTTP Request bei meinem 3D-Drucker von FTUI3 auszuführen, um diesen an und auszuschalten.
Der Aufruf der Seite
http://duet-1/rr_gcode?gcode=M80 bzw. M81
reicht ja dafür.

Mittels
onclick="javascript:window.open('http://...
kriege ich was hin. Allerdings öffnet sich immer ein Fenster. Wie kann man das denn unterbinden?
Kennen tue ich nur _self, _parent, _blank und _top als Target. Ich bräuchte irgendwie einen _garbage. :)

Gefunden hatte ich noch bei Mozilla Web Docs die send() Method. Aber das bekomme ich auch nicht hin.

Gibt es ein FTUI3-Boardmittel, das mein Vorhaben abdeckt oder eine andere gute Integration?

Danke vorab.
Matthias



juemuc

Hallo Matthias,

FTUI3 ist mehr oder weniger "nur" eine Benutzeroberfläche für FHEM. Ich würde das ganze erst einmal in FHEM realisieren und dann mit FTUI3 visualisieren. Du möchtest ja wahrscheinlich auch das Ergebnis des http-requests verarbeiten. Eventuell hilft hier httpmod. Hierbei kann ich allerdings nicht helfen.

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).

andreas_r

#3396
Man könnte das Thema des URL Aufrufs zum Beispiel über ein Dummy (hier mit dem Namen 3d_drucker) und ein Notify lösen.

Der FTUI3 Schalter schaltet den Dummy über [(value)]= ein und aus. Darauf reagiert dann ein Notify wie diese hier:

3d_drucker:on {GetFileFromURL('http://duet-1/rr_gcode?gcode=M80')};set 3d_drucker off

bzw. fürs das Ausschalten

3d_drucker:on {GetFileFromURL('http://duet-1/rr_gcode?gcode=M81')};set 3d_drucker on

presskopf

Danke.
Damit klappt's prima.
Ich dachte halt, ich könnte auf dummy und notify verzichten. Aber so ist auch gut und pragmatisch.

Ach so, falls es jemanden interessiert: Den Status vom 3D-Drucker hole ich mir über das JsonMod-Modul.

Viele Grüße
Matthias

grossmaggul

Morjen,

ich habe da ein kleines Problem. Bei mir läuft ein und dieselbe FTUI3 Instanz auf drei Tablets.
Schalte ich auf einem der drei Tablets einen Button ein, funktioniert das auch soweit. Möchte ich aber den Button auf einem anderen Tablet wieder ausschalten, dann zeigt mir die Toastmessage, daß der Button eingeschaltet wird, ich muß den Button also noch ein zweites Mal antippen um auszuschalten. Sieht also so aus, als wenn die anderen Tablets den Schaltzustand des Buttons nicht mitbekommen.

Hier mal der Code des Buttons:
<!-- Kinoanlage -->
        <ftui-grid-tile row="8" col="4" height="1" width="1" shape="round" class="semitransparent">
            <ftui-button shape="circle" (value)="bz.kinoanlage" [fill]="bz.kinoanlage:state | map('on: solid, off: outline')">
                <ftui-icon name="projector"></ftui-icon>
            </ftui-button>
        </ftui-grid-tile>

Warum ist das so?

gm
FHEM auf Debian Buster Server, 2 x nanoCUL868, 1xnanoCUL465; Homematic, MAX, MiLight, HUE,  2 x Gosund SP1

andreas_r

Zitat von: grossmaggul am 01 Juni 2023, 10:15:26Morjen,

ich habe da ein kleines Problem. Bei mir läuft ein und dieselbe FTUI3 Instanz auf drei Tablets.
Schalte ich auf einem der drei Tablets einen Button ein, funktioniert das auch soweit. Möchte ich aber den Button auf einem anderen Tablet wieder ausschalten, dann zeigt mir die Toastmessage, daß der Button eingeschaltet wird, ich muß den Button also noch ein zweites Mal antippen um auszuschalten. Sieht also so aus, als wenn die anderen Tablets den Schaltzustand des Buttons nicht mitbekommen.

Hier mal der Code des Buttons:
<!-- Kinoanlage -->
        <ftui-grid-tile row="8" col="4" height="1" width="1" shape="round" class="semitransparent">
            <ftui-button shape="circle" (value)="bz.kinoanlage" [fill]="bz.kinoanlage:state | map('on: solid, off: outline')">
                <ftui-icon name="projector"></ftui-icon>
            </ftui-button>
        </ftui-grid-tile>

Warum ist das so?

gm

Ich denke, es müsste so heißen, damit der WErt auch passend gelesen wird:
[(value)]="bz.kinoanlage"
Mit Deinem
[fill]="bz.kinoanlage:statekümmerst Du Dich ja nur um die Darstellung.

grossmaggul

Das funktioniert leider auch nicht, dann lässt sich der Button gar nicht mehr ausschalten.
FHEM auf Debian Buster Server, 2 x nanoCUL868, 1xnanoCUL465; Homematic, MAX, MiLight, HUE,  2 x Gosund SP1

andreas_r

Schaltet das Device im FHEM wenigstens korrekt im Hintergrund?

grossmaggul

Ja, das Device wird geschaltet.
FHEM auf Debian Buster Server, 2 x nanoCUL868, 1xnanoCUL465; Homematic, MAX, MiLight, HUE,  2 x Gosund SP1

andreas_r

wenn die Konfiguration mit [(value)] gemacht ist ... wird dann wenigstens auf irgendeinem der Tabletts der Schalter gesetzt, wenn Du den Wert von bz.kinoanlage direkt in FHEM umschaltest?

grossmaggul

Sowohl wenn ich die Konfig mit [(value)], als auch nur mit (value) mache und ich schalte in fhem das Device, dann werden auf allen Tablets die Icons entsprechend aktiviert/deaktiviert.

Möglicherweise hat es damit zu tun, daß es sich bei den zu schaltenden Devices um Tasmota/MQTT Devices handelt?

Ich schalte auch noch einen Dummy mit einem "Button", da funktioniert das einwandfrei.
FHEM auf Debian Buster Server, 2 x nanoCUL868, 1xnanoCUL465; Homematic, MAX, MiLight, HUE,  2 x Gosund SP1