Hauptmenü

FTUI version 3

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

Vorheriges Thema - Nächstes Thema

Dracolein

Perfekt, das Element war es, super.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Dracolein

Um es auf die Spitze zu treiben:

Besteht eine Möglichkeit, diesen Swiper - oder Teile der dargestellten Optionen - zeitabhängig zu machen?

Zum Background:
Bei mir wechseln nun alle 20 Sekunden fein die Livestreams durch, das ist cool. Allerdings sind diverse Streams nach Sonnenuntergang schlicht schwarz weil dunkel draußen und dann würde ich gern diese Streams nach Sonnenuntergang bis zum nächsten Sonnenaufgang "ausblenden"
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

OdfFhem

@Dracolein

Hier könnte das hidden-Attribut helfen ... s. swiper-Beispiel im examples-Ordner.

mr_petz

@Dracolein
Ich hätte eine alternative zu swiper:

<script>
  setInterval(()=>{
    const seconds = new Date().getSeconds();
    ftuiApp.fhemService.updateReadingItem('local-sec', {value: seconds});
  },1000);
</script>
<ftui-image [src]="local:sec | step('
     0:`https://i.pravatar.cc/100?img=1`,
    10:`https://i.pravatar.cc/100?img=2`,
    20:`https://i.pravatar.cc/100?img=3`,
    30:`https://i.pravatar.cc/100?img=4`,
    40:`https://i.pravatar.cc/100?img=5`,
    50:`https://i.pravatar.cc/100?img=6`,
    ')" nocache>
</ftui-image>

Einfach so in deine Seite und die url anpassen...
Ich weis das ist mit Extrascript, aber ich zeige gern andere Möglichkeiten... ;)
Es sei denn du kannst dir die Sekunden aus Fhem holen??

Zum sunrise und sunset würde ich das anlegen:
https://wiki.fhem.de/wiki/SUNRISE_EL
Darauf könntest du dann wie @OdfFhem sagt [hidden] anwenden im ftui-image.

LG

Dracolein

Ah ich habe einige Hidden-Beispiele gefunden, die ein Reading abfragen.

[hidden]="Nachtlichtautomatikschalter:state | map('on:false, off:true')"

Aber wie übertrage ich das auf die Abfrage (false / true) ob die aktuelle Uhrzeit "tagsüber" oder "nachts" ist?
Müsste ich dazu erst ein dummy_isDay Device oder sowas bauen, dessen state "on" oder "off" ist vermutlich? So wie hier am Beispiel?
https://wiki.fhem.de/wiki/Trick_der_Woche#isday

Es gibt auch die Funktion isday() die 1=Tag oder 0=Nacht liefert, was mir vollkommen ausreichen würde.
Wie sähe die Syntax aus in obigem Beispielcode, wenn man die Funktion direkt dort einbaut?

[hidden]="isday() | map('1:false, 0:true')"
ist bestimmt falsch, oder?
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

mr_petz

#2765
isday() ist eine Fhem(Perl)funktion. Die kannst du so aufrufen in der Fhem-Kommandozeile:

{isday()}

Liefert 0 und 1 glaube ich...

isday kannst du als Bedingung in einem notify oder doif nehmen und das in die if Abfrage einsetzen.
Bsp-definition:

define dummy_istTag dummy
define doif_istTag DOIF (isday()) (set dummy_istTag on) DOELSE (set dummy_istTag off)


Edit. Beispiel bearbeitet...

Dracolein

#2766
Ich habe es nun so gelöst:

[hidden]="dummy_istTag:state | map('on:false, off:true')"

unter Zuhilfenahme von diesen 3:
define dummy_istTag dummy
define at_istTag_on at *{sunrise()} set dummy_istTag on
define at_istTag_off at *{sunset()} set dummy_istTag off


(editiert)
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

mr_petz

Hinweis: Du hast 2x sunset definiert...

LuGu

Zitat von: OdfFhem am 01 November 2022, 23:25:47
Wenn es bei Dir eine völlig andere Ursache gibt, dann scheint eine Analyse schwierig(er) bis unmöglich.
Reicht im Zweifel das einfache Löschen der problematischen Datei vor dem FTUI3-Update ?

Danke OdfFhem für's mitsuchen.
Ich habe das gesamte /examples gelöscht, danach lief das Update durch.

Gruß LuGu
FHEM mit RPi3 (Visu über FTUI)
HMCCU mit piVCCU3 / MQTT2 mit zigbee2mqtt

ThomasFh

Hallo,

Ich würde gerne in einem Label drei verschiedene Readings in einer Zeile darstellen, weiß aber nicht, wie ich die 3 Werte zu einem Wert stringverketten (concat) kann.
In fhem wurden die 3 Werte schon mittels stateFormat zusammengefaßt, in FTUI3 erhalte ich jedoch nur den nativen state (bei mir open) angezeigt.

Danke vorab.
EM1010PC, EM1000WZ, WS300PC, S300TH, Fritz Dect 200, Victron MPII, Cerbo GX, US3000C

Dracolein

3 einzelne <ftui-label> Elemente von einem <ftui-row></ftui-row> umschlossen sind keine Alternative?
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

bismosa

#2771
Hallo,

Zitat von: Dracolein am 03 November 2022, 07:51:29
3 einzelne <ftui-label> Elemente von einem <ftui-row></ftui-row> umschlossen sind keine Alternative?
Auch wenn ich nicht die Frage gestellt habe. Für mich ist es erst eine Alternative, seit dem ich den Rand im Label für die Unit komplett entfernt habe.
Dafür habe ich die label.component.js angepasst. Die Zeile 36 habe ich für mich ausgeklammert.
Ist natürlich bei einem Update ein Problem (es wurde auch kürzlich etwas geändert, habe ich mir aber noch nicht angeschaut.)

https://github.com/knowthelist/ftui/blob/master/www/ftui/components/label/label.component.js#L36


Ich hatte das Problem vorher mehrfach  ;)


[edit]
Es geht auch ohne Anpassung an der Komponente:
Zitat von: mr_petz am 30 Oktober 2022, 12:27:14
...
Als Übergangslösung könntest du es auch so machen:

<ftui-label class="size-7 thin" text="11.8"><span class="size-1" slot="unit" style="position:relative;left:-0.75em;">°C</span></ftui-label>

Siehe Beitrag: https://forum.fhem.de/index.php/topic,115259.msg1242235.html#msg1242235
[/edit]

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

mr_petz

Zu erwähnen ist, @setstate hat den Abstand der unit im label beim letzten update auf 0.15em verringert...
LG

ThomasFh

Zitat von: Dracolein am 03 November 2022, 07:51:29
3 einzelne <ftui-label> Elemente von einem <ftui-row></ftui-row> umschlossen sind keine Alternative?

hab das erstmal so gemacht wie vorgeschlagen, ganz abgesehen davon, dass es schneller geht, wenn man in fhem gleich ein entsprechendes userReading(s) erstellt.

Mangels doku und eigenem Unvermögen bekomme ich aber keine Einheiten an das label



      <!-- 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"></ftui-label>
                   <ftui-label [unit]="Watt"></ftui-label>
          <ftui-label [text]="VictronT1:GridPowerL2"></ftui-label>
          <ftui-label [text]="VictronT1:GridPowerL3"></ftui-label>
        </ftui-row>
      </ftui-grid-tile>



Ich dachte, dass man hiermit eine Einheit anhängen kann:
<ftui-label [unit]="Watt"></ftui-label>

Das klappt aber nicht.


EM1010PC, EM1000WZ, WS300PC, S300TH, Fritz Dect 200, Victron MPII, Cerbo GX, US3000C

andreas_r

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>