Hallo zusammen,
ich probiere gerade die Tag und Nachtumschaltung auf Basis der folgenden Anleitung umzusetzen - leider ohne Erfolg:
-> https://wiki.fhem.de/wiki/FTUI_Widget_Theme
Hier mein Code <!--Tag Nacht Schalte -->
<link rel="stylesheet" href="themes/mobile-theme-bulli.css" data-type="theme" data-device="daynight" data-get=""
data-get-on="9" data-get-off="!9" />
<link href="themes/ftui-theme.css" rel="stylesheet">
Als Datadevice habe ich das Dämmerungsmodul definiert, was auch soweit funktioniert.
Ein manuelles "setstate daynight 9" (so habe ich das Dämmerungsmodul benannt) oder auch "setstate daynight STATE 9" oder "setstate daynight state 9" ändert leider nicht das Theme Template auf die Tagesversion.
Erstmal ein simple Frage: läuft das Widget auch unter FTUI3.....? Oder was mache ich falsch?
Gruss Peer
Die FTUI2 Version ist nicht mit FTUI3 Kompatibel
Bei FTUI3 kannst du es jetzt so über link rel="stylesheet" lösen:
Demo:
https://knowthelist.github.io/ftui/www/ftui/examples/themes.html
und das dazugehörige example:
https://github.com/knowthelist/ftui/blob/master/www/ftui/examples/themes.html
LG
👋 Moinsen
Wo kann man sehen welche Version man im Einsatz hat?
Ist fuip mit Version 3 kompatibel?
Am einfachsten ist es an den Definitionen zu sehen:
FTUI2.x Bsp:
data-type
data-device
FTUI3:
fangen die Tags mit ftui an Bsp:
<ftui-label
<ftui-button
fuip ist nicht Kompatibel
LG
Hi mr_petz,
danke für deinen Tipp, da hätte ich selber nachschauen können..nur wäre ich dann trotzdem mit dieser Frage hier gelandet. Wie bekomme ich meine Daten aus dem "Daemmerungs" Modul über ftui-binding eingebunden? Im Example wird ja direkt über einen Button eingelesen, meine diversen Versuche, etwas vergleichbares zu bauen, haben leider nicht gefruchtet...meinen Verständnis nach müsste es ja irgendwo so aussehen:
über "ftui-binding ="daynight:status" lese ich den Status ein und muss dann ueber ein pipe das ganze auswerten. Bei mir wäre es bei "Status = 1 = true".
Ich bin kein Programmierer, habe leider auch nichts ueber die Suchen Funktion gefunden, was mir weiter geholfen hätte....
Gruss Peer
@fremitus
Der Befehl setstate setzt den Internal STATE Eintrag eines Gerätes direkt, ohne ein Event zu generieren
... FTUI3 bekommt vom "Umschalten" nichts mit
... übrigens wird auch das Reading state nicht gesetzt
Der Befehl setreading setzt den übergebenen Wert beim Reading eines Gerätes und löst auch ein Event aus - sofern nicht über Attribute unterbunden.
Eine mögliche Lösung für das wertabhängige Umschalten könnte so aussehen:
<link href="themes/mobile-theme-bulli.css" rel="stylesheet" ftui-binding [disabled]="daynight:status | map('`.*`:true, 1:false') | toBool()">
- das Attribut ftui-binding sorgt dafür, dass das Element u.a. relevante Events verarbeitet
- [disabled] ... die eckigen Klammern sorgen dafür, dass das Attribut disabled beim Eintreffen eines relevanten Events neu gesetzt wird
- setreading daynight status 1 führt zur Aktivierung der angegebenen css-Datei ... disabled = false
- jeder andere Wert, z.B. setreading daynight status 2, führt zur Deaktivierung der angegebenen css-Datei ... disabled = true
Super danke! Funktioniert jetzt einwandfrei, wenn man meinen kleinen Fehler noch eliminiert -
ftui-binding [disabled]="daynight:status
ist falsch
ftui-binding [disabled]="daynight:state
ist dann korrekt....
Die Funktion mit disable, wann dann eigentlich das richtige css enabled, war mir so nicht klar, jetzt habe ich es verstanden..