Hauptmenü

FTUI version 3

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

Vorheriges Thema - Nächstes Thema

yersinia

#1695
Jup: bei ftui-clock gibt es das format eeee:
<ftui-clock format="eeee, D. MMMM YYYY" is-fhem-time></ftui-clock>
ergibt
ZitatFreitag, 19. November 2021

Zitat von: Dracolein am 19 November 2021, 10:25:17Ich fand dies Beispiel via SuFu:
<ftui-label [text]="device:reading | toDate() | format('hh:mm')"></ftui-label>
Aber was gebe ich bei format() an, um den Wochentag dargestellt zu bekommen?
Versuch mal eeee.
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

mr_petz

@setstate

Hi setstate.
Ich benutze deine letzte ftui3 Version.
Ich habe die Befürchtung, dass der step bei icon nicht richtig funktioniert.
Es geht speziell hierbei um das `.*`.
Er stept hier die Werte des Device und möchte dann z.Bsp.:  15.svg (gibt es ja nicht!)...
Bei [color] + step verhält sich das genauso.
Bei map funktioniert `.*`, aber es wird da ja nur der exakte Wert gemappt...
Bsp:

<ftui-icon
  name="battery-0"
  [name]="dummy | step('`.*`:battery-0, 25:battery-1, 50:battery-2, 75:battery-3, 100:battery')"
  [color]="dummy | step('0:danger, 50:warning, 75: success')">
</ftui-icon>


Muss ich das anders definieren (habe hier im Thread auf die schnelle nix dazu gefunden) oder ist es ein Bug oder ein Bug bei mir selbst :D?
LG mr_petz

setstate

#1697
.* gibt es nicht bei step(). Nur numerische Werte, die mit >= verglichen werden können.
Man könnte stattdessen -99 angeben, um ganz unten anzufangen.

SirMarco

Hallo zusammen

Mal schauen, ob ich mit meiner Frage hier richtig bin  :) 
Es geht um Philips Hue Lampen. Ich habe mehrere Lampen in einer structure.
Wenn ich eine Lampe aus der structure ausschalte, möchte ich gerne nur die eingeschalteten Lampen mit einem Slider dimmen.

Jemand eine Idee, ob das mit FTUI umsetzbar ist?

Grüsse

StephanFHEM

ich nutze für meine Heizungssteuerung Buttons die die Temperatur jeweils um 0.5 Grad erhöhen oder senken

hier das Beispiel:
<ftui-button [value]="{{device}}:desired-temp" (value)="add(0.5) | {{device}}:desired-temp" states="$value" fill="">

wenn ich jetzt die Temperatur um 2 Grad erhöhen will tippe ich 4x auf den Button. Das erzeugt leider auch 4 Log-Einträge im FileLog. Besser wäre es eine Sekunde zu warten und dann den "gesammelten" set-Befehl abzusenden. Ist das irgendwie möglich?

setstate

dafür musst du debounce="400" setzen. Siehe /examples/button.html

StephanFHEM

super Danke! war mir auch irgendwie so als ob ich davon etwas gelesen habe. Aber hatte es nicht wiedergefunden

Dracolein

Moin zusammen,

ich beobachte derzeit, dass meine Charts im aktuell dargestellten FTUI3 nicht immer aktualisiert werden, sondern teils erst nach einem Refresh der Seite.
Hingegen aktualisieren sich die ganzen Icons und labels usw. alle ganz normal.

Woran kann das liegen?  Gibts hier auch ein Parameter "interval" o.ä. ?
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;

Sailor

Zitat von: Dracolein am 23 November 2021, 11:50:40
Woran kann das liegen?  Gibts hier auch ein Parameter "interval" o.ä. ?

Hast Du auch den "[update]" - Parameter eingetragen?


<ftui-chart unit="year">
<ftui-chart-data fill log="myDbLog" file="history" spec="CH_GasCalculator:CH_GasCounter_counters.A_EnergyMonthLast" [update]="CH_GasCalculator:CH_GasCounter_counters.A_EnergyMonthLast:time" color="blue" label="W /[kWh] per Month"      type="line" point-radius="0"></ftui-chart-data>
<ftui-chart-data fill log="myDbLog" file="history" spec="CH_GasCalculator:CH_GasCounter_counters.A_EnergyMeter"     [update]="CH_GasCalculator:CH_GasCounter_counters.A_EnergyMeter:time"     color="red"  label="W /[kWh] per Meter Year" type="line" point-radius="0"></ftui-chart-data>
<ftui-chart-controls units="year"></ftui-chart-controls>
</ftui-chart> 


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

Dracolein

nein! Interessant. Hole ich gleich nach.
Kurios: oft funktionieren die Charts trotzdem problemlos
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;

meier81

Hallo und guten Abend euch allen,

wie ist das eigentlich bezüglich der Charts, wenn ich das so richtig sehe sind die ja auf DBLog ausgelegt, ich nutze mittlerweile bei mir das Modul InfluxDBLogger und logge meine Daten in eine InfluxDB, da visualisiere ich das Ganze zur Zeit mit Grafana und binde die Grafana-Grafen dann mittels iframe in ftui3 ein.

Gibt es da eine Möglichkeit diese für InfluxDB zu erweitern?
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

vaulie

Zitat von: setstate am 22 Oktober 2021, 23:45:37
Ich habe das fetch jetzt eingebaut. Versuche es mal ungefähr so:


      <ftui-image base="http://fhem:8083/fhem/images/default/" src="black_up.png" user="fhemuser" pass="fhempass"></ftui-image>


oder so


      <ftui-image src="http://fhem:8083/fhem/images/default/black_up.png" user="fhemuser" pass="fhempass"></ftui-image>


Hi,
ich habe das Problem, ein Livebild von meiner dlink-Kamera einzubinden. Trotz beider oben genannten Varianten funktioniert es nicht mit dem basicauth und in der Browserkonsole sehe ich folgende Meldung:
ZitatEnsure CORS response header values are valid
A cross-origin resource sharing (CORS) request was blocked because of invalid or missing response headers of the request or the associated preflight request.
To fix this issue, ensure the response to the CORS request and/or the associated preflight request are not missing headers and use valid header values.
Note that if an opaque response is sufficient, the request's mode can be set to no-cors to fetch the resource with CORS disabled; that way CORS headers are not required but the response content is inaccessible (opaque).

Request: mjpg.cgi?profileid=2         
Status: blocked
Header: Access-Control-Allow-Origin
Problem: Missing Header

Learn more: Cross-Origin Resource Sharing (CORS)
https://web.dev/cross-origin-resource-sharing
Kopiere ich den Link direkt in die Adresszeile, fragt der Browser (richtigerweise) nach den Zugangsdaten und anschließend sehe ich das Livevideo.

Könnte es noch ein Problem in dem implementierten "fetch" sein, ist dlink einfach "blöd" oder habe ich irgendwas übersehen?

Außerdem fiel mir auf, dass ftui bei einem
<ftui-button (value)="get out_IPcam_Gartenhaus180 image">
immer ein "set" zusätzlich voranstellt. In meinem Fall benötige ich aber ein "get". Gibt es ein Weg, das "set" zu unterdrücken?

Danke!

muma

#1707
Ergänzung zum Text unten: Aktuell funktioniert das wieder wie von Geisterhand. Das war aber definitiv vorher nicht der Fall. Ich werde das auf jeden Fall mal weiter beobachten.
Ergänzung 2: Ich denke ich habe das Problem gefunden. Ich hatte nach einem Neustart die Browser Tabs wiederherstellen lassen. Dabei geht dann vermutlich die Verbindung im Hintergrund verloren, da die Session ja bereits weg war. Sorry für die Verwirrung  :-[.

Hi, habe gerade mit ftui3 gestartet und bin bisher echt begeistert. Tolle Arbeit!

Habe nur ein kleines Problem was ich bisher nicht mit Hilfe der Doku und des Forums lösen konnte.
Ich habe mehrere Button-nice die mit FS20 Schaltern verbunden sind. Die Oberfläche zeigt deren Status bei neu laden der Seite korrekt und synchron mit FHEM an. Wenn ich aber in FHEM den Status ändere kommt das auf der bereits geladenen Seite nicht an => asynchrone Anzeige :-/

Sollte sich die ftui nicht automatisch mit den Änderungen in FHEM synchronisieren? Habe ich da etwas vergessen zu konfigurieren?

Das hier ist meine ftui definition:

<ftui-grid-tile row="1" col="7" height="2" width="5" >
      <header>Schalter</header>
  <ftui-row>
<ftui-column>
<ftui-button-nice get="Pool"></ftui-button-nice>
<ftui-label [text]="Pool:web_label"></ftui-label>
</ftui-column>
</ftui-column>
<ftui-column>
<ftui-button-nice get="Huette"></ftui-button-nice>
<ftui-label [text]="Huette:web_label"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button-nice get="Brunnen"></ftui-button-nice>
<ftui-label [text]="Brunnen:web_label"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button-nice get="Zisterne"></ftui-button-nice>
<ftui-label [text]="Zisterne:web_label"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button-nice get="Shelly_Pool"></ftui-button-nice>
<ftui-label [text]="Shelly_Pool:web_label"></ftui-label>
</ftui-column>
</ftui-row>
    </ftui-grid-tile>


Das hier ist das Listing des Gerätes in fhem

Internals:
   BTN        01
   DEF        A04B 01
   FUUID      5ef78bed-f33f-a09f-17dd-ab351ca302500297
   IODev      nanoCUL
   NAME       Huette
   NR         18
   STATE      off
   TYPE       FS20
   XMIT       a04b
   CODE:
     1          a04b 01
   READINGS:
     2021-11-19 20:39:19   IODev           nanoCUL
     2021-11-24 13:04:52   state           off
     2021-11-24 13:04:52   web_label       Hütte
Attributes:
   IODev      nanoCUL
   alexaName  Hütte
   alexaRoom  Garten
   genericDeviceType switch
   model      fs20as4
   room       Garten
   userReadings web_label {return"Hütte"}


mr_petz

#1708
@ vaulie

Zitat von: vaulie am 23 November 2021, 22:19:28
Hi,
ich habe das Problem, ein Livebild von meiner dlink-Kamera einzubinden. Trotz beider oben genannten Varianten funktioniert es nicht mit dem basicauth und in der Browserkonsole sehe ich folgende Meldung:Kopiere ich den Link direkt in die Adresszeile, fragt der Browser (richtigerweise) nach den Zugangsdaten und anschließend sehe ich das Livevideo.

Könnte es noch ein Problem in dem implementierten "fetch" sein, ist dlink einfach "blöd" oder habe ich irgendwas übersehen?

Hi,
hast du das schon probiert?:
<ftui-image src="../images/default/black_up.png" user="fhemuser" pass="fhempass"></ftui-image>
<ftui-image src="images/default/black_up.png" user="fhemuser" pass="fhempass"></ftui-image>
Wenn dein Bild unter www/ftui3(oder tablet, oder was auch immer)/images/default/ liegt...
Ist dein Aufruf so wie hier beschrieben?
https://eu.dlink.com/de/de/support/faq/cameras/de_dcs_urls
Edit: Wenn ja, dann ignoriere das oben...
Dann sollte das ja so in der form gehen oder?:

<ftui-image src="http(s)://ip_der_kamera/image/jpeg.cgi" user="user" pass="pass"></ftui-image>

um das zu senden:

http(s)://benutzername:passwort@ip_der_kamera/image/jpeg.cgi

oder???

Sorry, ich hatte nicht richtig gelesen  ???

Zitat von: vaulie am 23 November 2021, 22:19:28
Außerdem fiel mir auf, dass ftui bei einem
<ftui-button (value)="get out_IPcam_Gartenhaus180 image">
immer ein "set" zusätzlich voranstellt. In meinem Fall benötige ich aber ein "get". Gibt es ein Weg, das "set" zu unterdrücken?

Danke!

Zur Erläuterung für den Button:
[device]===get
(device)===set
man kann auch [(device)] angeben um beides (Banana in the Box) zu benutzen!
Für dein Buttonproblem:
<ftui-button class="size-1" @click="sendFhem('get out_IPcam_Gartenhaus180 image')">get FHEM</ftui-button>

vaulie

Vielen Dank für Deine Kommentare!
Ich fange mal mit dem Ende an ;-) Das get über den fhem-Link funktioniert einwandfrei.

Nun zu dem Holen eines Live-Bildes von meiner dlink-Kamera...
Das Bild möchte ich tatsächlich direkt von der Kamera holen und nicht vom fhem-Rechner. Sorry für die Verwirrung, ich hatte in dem Post das Beispiel von setstate nicht auf meine Umgebung angepasst.
Ich habe auch gemäß der dlink-Webseite (danke, die kannte ich tastächlich schon) diverse Varianten ausprobiert:

<ftui-image src="http://xxx:yyy@192.168.2.127/video/mjpg.cgi"></ftui-image>
<ftui-image src="http://192.168.2.127/video/mjpg.cgi?http-user=xxx&http-password=yyy"></ftui-image> //und auch ohne "http-"
<ftui-image src="http://192.168.2.127/video/mjpg.cgi?profileid=2" user="xxx" pass="yyy"></ftui-image>
<ftui-image base="http://192.168.2.127/video/" src="mjpg.cgi?profileid=2" user="xxx" pass="yyy"></ftui-image>

Ich habe alle Varianten auch mit der Bild-URL (anstatt Video als mjpg) probiert, aber auch kein Erfolg erzielt.
Leider funktioniert die bei dlink angegebenen Beispiele auch nicht, wenn ich die Links unabhängig von ftui in ein iframe oder <img> einer beliebigen Internetseite einbaue. Ich schiebe das auf eine Änderung der Browser vor einigen Jahren, die so die Sicherheit erhöhen wollten, siehe zB. https://medium.com/@lmakarov/say-goodbye-to-urls-with-embedded-credentials-b051f6c7b6a3 (Leider habe ich auf die Schnelle keinen besseren Link gefunden).

Daher hatte ich die Hoffnung, dass ftui3 mit dem fetch die Authentifizierung vielleicht anders (über http header?) umsetzt und der Zugriff möglich ist. Im fhem-Modul IPCAM funktioniert es mit der basicauth-Angabe. Aber über das Modul kann ich leider kein Live-Video/Foto "anzapfen"...