Hauptmenü

FTUI version 3

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

Vorheriges Thema - Nächstes Thema

Sailor

Moin zusammen

Ich habe hier ein ReadingsGroup mit 54 Einträgen, die bei Installation weiterer Geräte auch größer wird.
Um zu vermeiden für jeden dieser Einträge einen eigenen Tabelleneintrag mit einem ftui-label erstellen zu müssen meine Frage:

Hat schon Jemand ftui3 -  Erfahrungen mit der Darstellung einer Readingsgroup?

Gruß
    Sailor
******************************
Man wird immer besser...

Sailor

#1096
Moin zusammen

Noch eine Frage: Wie muss ich das Label gestalten, wenn ich aus einem Reading
2021-03-18T19:31+0100
nur das
19:31
angezeigt haben möchte?

In ftui 2.x lautete die Regex dafuer: .*T(\d+).*(\:)(\d+).*

In den Example "Label" steht allerlei drin aber ich verstehe diese Pipes nicht.
Ich habe auch nirgendwo eine Beschreibung für die einzelnen Parameter gefunden.

Gruß
    Sailor
******************************
Man wird immer besser...

OdfFhem

@Sailor

Folgendes könnte helfen:

<ftui-label [text]="device:reading | toDate() | format('hh:mm')"></ftui-label>

TWART016

Zitat von: yersinia am 17 März 2021, 07:41:18

Ich vermute, damit es vernünftig läuft, benötigst du alles unter www/ftui auf deinem Docker-Webserver.
Das habe ich auch schon probiert. Unter ftui habe ich folgende Dateien & Ordner
user@docker:/opt/containers/ftui$ ls -l
total 60
drwxrwxr-x 32 root root  4096 Mär  1 21:35 components
drwxrwxr-x  3 root root  4096 Mär  1 21:35 examples
-rwxrwxr-x  1 root root  9894 Mär  1 21:35 ftui.css
-rwxrwxr-x  1 root root  1323 Mär  1 21:35 ftui.js
drwxrwxr-x  3 root root 20480 Mär  1 21:35 icons
-rwxrwxr-x  1 root root  6069 Mär 17 01:38 index.html
drwxrwxr-x  9 root root  4096 Mär  1 21:35 modules
drwxrwxr-x  2 root root  4096 Mär  1 21:35 themes

Sailor

Hallo OdfFhem

Zitat von: OdfFhem am 18 März 2021, 21:16:58
Folgendes könnte helfen:

<ftui-label [text]="device:reading | toDate() | format('hh:mm')"></ftui-label>


Habe ich leider schon ohne Erfolg getestet.

Kann man das widget "Label" nicht mit RegEx aktivieren. Das wäre eine universelle Loesung.

Gruß
    Sailor
******************************
Man wird immer besser...

grossmaggul

ZitatKann man das widget "Label" nicht mit RegEx aktivieren.
Damit wäre es aber vorbei mit "keep it simple".;)

Was ist das denn genau für ein Reading, bzw. wo kommt das her?
FHEM auf Debian Buster Server, 2 x nanoCUL868, 1xnanoCUL465; Homematic, MAX, MiLight, HUE,  2 x Gosund SP1

OdfFhem

@Sailor

Könnte es sein, dass die Zeitangabe nicht der Wert des Readings, sondern der Zeitstempel des Readings ist?

Wenn ja, dann musst Du device:reading:time verwenden.
device und reading müssen ersetzt werden; time nicht.

Mit den zur Verfügung gestellten Pipes bzgl. Datum/Zeit kann man gezielt umformatieren ... sehr viele Möglichkeiten.


Kannst Du denn mal einen (datum-/zeitlosen) Beispielfall nennen, der den Einsatz von RegExp erfordert? Dann kann man einen expliziten Lösungsansatz herausarbeiten ...

Sailor

Moin zusammen!

Zitat von: OdfFhem am 19 März 2021, 13:11:59
Könnte es sein, dass die Zeitangabe nicht der Wert des Readings, sondern der Zeitstempel des Readings ist?
Nein, dort steht die Abfahrtszeit der nächsten Busverbindung vom Departure Modul drin.

[/quote]
Zitat von: grossmaggul am 19 März 2021, 13:08:43
Damit wäre es aber vorbei mit "keep it simple".;)
Was ist das denn genau für ein Reading, bzw. wo kommt das her?
Ich habe das jetzt mit einem UserReading geloest und schon im Modul das gewuenschte Format bereit gestellt.
Das letzte was ich will ist, wenn ftui3 vor lauter Features genauso so lahm wird wie ftui2.

Gruß
    Sailor
******************************
Man wird immer besser...

mr_petz

#1103
Hi@all,

mal wieder was zum Testen für euch.
Das PinPad habe ich gebaut um meinen View der Heizungssteuerung mit einer kleinen (Kinder)Sicherung zu versehen.
Das PinPad kann nach dem <ftui-tab-view> oder <ftui-grid-tile> kommen um den View zu sperren.

<ftui-pinpad
  (device)="PinPad"
  [pin]="PinPad:pin"
  shape="round" 
  name="PinPad"
  bgcolor="#ededed"
  [hidden]="PinPad:state | map('on:false, off:true')"
  full>
</ftui-pinpad>


(device) = fhem Dummy
[pin] = fhem Dummy pin
shape = round ->wenn nicht gesetzt, eckig
name = header über dotsbox
bgcolor = Farbe des PinPad (default=#444444)
wenn "full" gesetzt, dann wird der komplette Hintergrund für PointerEvents gesperrt. Wenn nicht gesetzt, dann bleibt das linke grid Menü mit einem width von 1 weiterhin bediehnbar.
[hidden] = muss gesetzt sein


In fhem wird ein Dummy-Device angelegt. Bsp.:

defmod PinPad dummy
attr PinPad readingList pin
attr PinPad setList on off pin

hier im Beispiel ist pin der pin der hier gesetzt werden kann.

Den Dummy kann man dann mit einem <ftui-button> auf "on" setzen und das PinPad poppt auf. Bsp:

  <ftui-button fill="none" (value)="PinPad" states="on">
  <ftui-icon name="th"></ftui-icon>
  </ftui-button>


Ich hoffe ein paar User können es gebrauchen. Man kann es bestimmt auch zum AlarmPad umbauen.
Man kann bestimmt auch noch Optimierungen vornehmen. Für meinen Zweck ist es aber ausreichend.

Das PinPad kann auch wie hier von mir geschrieben erstellt werden (ist aber aufwendiger):
Link

Gruß Thomas

Edit: ps Failshake ist mit drin...

edit: hier geht es weiter:https://forum.fhem.de/index.php/topic,120107.msg1145784.html#msg1145784

OdfFhem

@Sailor

Du hast Dich ja jetzt für ein userReading entschieden, daher sind die folgenden Ausführungen nur zur Information gedacht.



Ich hatte inzwischen Zeit, den von Dir angegebenen Readingwert zu testen und der erste Verdacht vom 18 März 2021, 21:16:58 führte nachvollziehbar nicht zum richtigen Ergebnis. Problem ist dabei, dass das im Readingwert verwendete Format nicht von FTUI in ein Datum konvertiert werden kann.

Jetzt könnte man den Readingwert kompatibel machen und den entsprechenden Teil ausgeben:

<ftui-label [text]="ftuitest:deptime | replace(/(.*)T(.*)\+.*/,'$1 $2:00') | toDate() | format('hh:mm')"></ftui-label>


oder schneidet tatsächlich einfach den relevanten Teil aus:

<ftui-label [text]="ftuitest:deptime | replace(/.*T(.*)\+.*/,'$1')"></ftui-label>


Beide Label-Beispiele zeigen beim Readingwert "2021-03-18T19:31+0100" die Uhrzeit "19:31" an.

eurofinder

Wenn ich das Abfall-Modul unter FTUI 3 nutze, erhalte ich in der Badge-Anzeige der Tage für die "0" ein "!".

Kann mir da einer helfen? Ich glaube das war hier schon mal Thema, finde das aber nicht mehr.

Gruß und schönes Restwochenende
eurofinder
RPI3+; Raspbian Buster Lite; RPI-RF-MOD; piVCCU3, HMIP-eTRV-2, HmIP-SWDO, HmIP-SRH, HmIP-STHO, HmIP-SLO

mr_petz

Musst du so mappen...

[text]="myABFALL:PapierPappe240lTonne_days | map('0:`!`')"

eurofinder

@mr_petz:
Danke.

Gruß
eurofinder
RPI3+; Raspbian Buster Lite; RPI-RF-MOD; piVCCU3, HMIP-eTRV-2, HmIP-SWDO, HmIP-SRH, HmIP-STHO, HmIP-SLO

Sailor

Hi OdfFhem
Zitat von: OdfFhem am 21 März 2021, 17:22:48
Jetzt könnte man den Readingwert kompatibel machen und den entsprechenden Teil ausgeben:

<ftui-label [text]="ftuitest:deptime | replace(/(.*)T(.*)\+.*/,'$1 $2:00') | toDate() | format('hh:mm')"></ftui-label>

oder schneidet tatsächlich einfach den relevanten Teil aus:

<ftui-label [text]="ftuitest:deptime | replace(/.*T(.*)\+.*/,'$1')"></ftui-label>


Ja siehste, geht doch mit Regex im label!
Habe ich mir sofort in mein "ftui3-Nicht_vergessen" - Datei abgelegt! Danke!

Gruß
    Sailor
******************************
Man wird immer besser...

Sailor

Ein herzerfrischendes Moin vom achtern Diek vorweg!

Anbei an alle ftui - Programmierer, die sich Gedanken um die Grid - Aufteilung auf kleineren oder - wie in meinem Fall - gedrehten Monitoren  Gedanken Machen müssen:

http://www.infobyip.com/testwebsiteresolution.php

Lokale ftui - Webadresse eingeben, Zielauflösung eingeben und schon hat man eine gute Simulation dessen, was sein wird.
Einzig die Tatsache, dass man ständig den Cache manuell loeschen muss.
F5, CTRL-F5 und Shift-R helfen nur für die index.html aber nicht für die durch <ftui-content file= verlinkten Dateien.

Gruß
    Sailor
******************************
Man wird immer besser...