Hallo zusammen,
ich habe in fhem einen Dummy mit einer Uhrzeit (Format: 20:35), welcher bei Änderung (Slider) von einem notify in ein AT gebeamt wird.
Das klappt gut.
Ich würde nun gerne diesen Dummy in die FTUI3-Oberfläche einbinden und zwar in der Form, dass die Uhrzeit angezeigt wird und man diese einstellen kann. Allerdings bin ich im Moment etwas ratlos, wie man das Editieren umsetzt, ohne neue Dummys und Notifys anzulegen, dann entsprechende Werte übergeben.
Hat das schon jemand realisiert?
PS Ich gebe zu, ich habe den FTUI3-Master-Thread nicht komplett durch (Schande über mich. :))
LG
Matthias
aktuell gibt es für FTUI Version 3 noch keine Zeit-Auswahl Komponente. Das muss ich erst noch bauen. Im Sommer sitze ich aber meist immer weniger am (privaten) Rechner. Da wird nicht viel.
Ah okay, dann höre ich erst mal mit dem Googlen auf.
Hast Recht! Genieße im Sommer 8) lieber die Outdoorzeit.
Wir haben alle die letzten Quartale ohnehin genug zu Hause rumgesessen.
Hi @presskopf.
Bis setstate was fertig gebaut hat (gönnen wir ihm dem Sommer ;)), habe ich für dich eine Übergangslösung.
Bei der ersten Version musst du dir die css selber erstellen.
Bei der zweiten nicht.
Es beruht auf dem dropdown für FTUI3.
EDIT
setstate hat es jetzt mit im Git ;)
Hallo @mr_petz,
Danke für das Anstupsen per PM.
Ich war jetzt einige Tage tatsächlich auf Dienstreise und habe vor Freude alles andere ausgeblendet. 8)
(Außerdem muss ich meine Spam-Regeln überarbeiten.)
Großes Kompliment, damit kann man definitiv toll arbeiten!
Ich habe es so, wie Du angegeben hast, eingepflegt.
Der Unterschied zwischen mit und ohne css ist nur die farbliche Gestaltungsmöglichkeit, oder? Denn die Dropdown-Ansicht ist bei beiden gleich.
Die anderen Dropdown-Versionen in Bild 2 und 3 kann ich auch gerne testen, wenn es Dir hilft.
NAME sw_1x04_off_time
NR 141
STATE 02:08
TYPE dummy
READINGS:
2021-06-24 22:13:27 state 02:08
Attributes:
readingList state
room switches
setList state:time
webCmd state
<ftui-timeset
[(value)]="sw_1x04_off_time:state"
color="yellow"
class="size-2">Uhr
</ftui-timeset>
Zitat von: presskopf am 24 Juni 2021, 22:17:21
Der Unterschied zwischen mit und ohne css ist nur die farbliche Gestaltungsmöglichkeit, oder? Denn die Dropdown-Ansicht ist bei beiden gleich.
Die anderen Dropdown-Versionen in Bild 2 und 3 kann ich auch gerne testen, wenn es Dir hilft.
Hi, das mit css muss so aussehen wie auf den 2. Bild!
Wenn nicht, einmal Browsercache leeren.
Wenn es dann immer noch nicht geht, dann sag mal bitte deinen Browser und BS.
Ich habe unter Android, Windows und FF,Chrome und Edge getestet...
gruß
Zitat von: mr_petz am 24 Juni 2021, 22:56:46
Hi, das mit css muss so aussehen wie auf den 2. Bild!
Wenn nicht, einmal Browsercache leeren.
Wenn es dann immer noch nicht geht, dann sag mal bitte deinen Browser und BS.
Ich habe unter Android, Windows und FF,Chrome und Edge getestet...
gruß
Bestätigt!
Da war wohl eine "Ladehemmung".
Zitat von: mr_petz am 13 Juni 2021, 22:52:35
Hi @presskopf.
Bis setstate was fertig gebaut hat (gönnen wir ihm dem Sommer ;)), habe ich für dich eine Übergangslösung.
Bei der ersten Version musst du dir die css selber erstellen.
Bei der zweiten nicht.
Es beruht auf dem dropdown für FTUI3.
EDIT
setstate hat es jetzt mit im Git ;)
wo finde ich das bitte..?
https://github.com/knowthelist/ftui/tree/master/www/ftui/components/timeset
Demo:
https://knowthelist.github.io/ftui/www/ftui/examples/timeset.html
LG mr_petz
@mr_petz
ganz herzlichen Dank, ich habe schon gesucht wie doof ;) :D
Ich habe das jetzt mal getestet, funktionierte erst gar nicht weil es dieses bei mir nicht gab.
Ein Update mußte her ;)
EDIT:// es war wohl das Update welches nicht richtig runtergeladen wurde, jetzt funktioniert es aber nach erneutem Update
Aber es funktioniert aktuell noch nicht, er liest aus dem dummy "du_RolloZeitWZ_hoch" den Zeitwert ein, aber ich kann ihn über ftui nicht verändern.
<ftui-timeset hasbuttons="" [(value)]="du_RolloZeitWZ_hoch" color="yellow" class="size-3">Uhr</ftui-timeset>
Ich finde auch keine weiteren Attribute für die Formatierung gibt es diese aktuell noch nicht, so z.B. die "hasbuttons" Ansicht gefällt mir nicht, da ich die gerne etwas größer hätte.
Hast du schon mit class="size-3" in der Richtung getestet?
Und ja, es gibt keine extra Attribute.
LG mr_petz
Ja das "class="size-3"" habe ich ja drin im Code, bei den hasbuttons "...." sollte hier sicher noch etwas kommen...
...mit Attributen und Formatierung war auch z.B. gemeint....
wenn ich Rollläden am Morgen zeitlich steuere reicht es mir wenn ich alle 5min. bei den Minuten einstellen kann und bei den Stunden würde auch reichen wenn ich nur die Stunden von 6-11 habe.
Soetwas in der Art meinte ich.
Oh sorry, habe ich nicht richtig gelesen :o
Du meinst sowas wie min max werte?
Du stellst doch aber wenn dann alles nur einmal ein und dann bleibt doch der letzte Wert stehen. Oder sehe ich das falsch?
Stellst du jeden Tag/Morgen neu ein oder nur wenn du mal was am fhem timer ändern willst?
Da wäre es für mich nicht so schlimm, da der letzte Wert ja da steht und ich nur ein paar Zeilen scrollen/tippen muß.
Steuerst du das Timermodul in fhem?
LG mr_petz
Klar hast du recht, ich dachte nur das es soetwas schon gibt..!
In Ftui 2gab es soetwas mal..
Aber das ist jetzt so wie du schon sagst kein Problem, es funktioniert erst einmal ich verstelle die Zeiten nur wenn ich es im Frühjahr oder eben im Herbst der Dunkelheit anpasse.
Dafür habe ich meine dummys gebaut.
Ist jetzt soweit OK, mich hatten nur die "" Zeichen dazu gebracht das es da etwas geben wird (evtl. demnächst)
Danke dir
Zitat von: moonsorrox am 06 Februar 2022, 15:00:53
Ist jetzt soweit OK, mich hatten nur die "" Zeichen dazu gebracht das es da etwas geben wird (evtl. demnächst)
Danke dir
Ich nochmal.
has-buttons ist hier als alleinstehendes Attribute ohne ="" zu setzen.
Hier hat setstate mehrere Schreibweisen vorgesehen: hasButtons,has-buttons und hasbuttons
Damit zählt es nur als true und false.
Also muss es so in deine Definition (zur Richtigkeithalber :) ):
<ftui-timeset [(value)]="du_RolloZeitWZ_hoch" color="yellow" class="size-3" has-buttons>Uhr</ftui-timeset>
Edit: hasButtons in has-buttons geändert
LG mr_petz
Das genannte Attribut scheint noch nicht den finalen Zustand erreicht zu haben ...
*** Eigentlich baut FTUI3 im HTML-Bereich auf die Kebab-Case-Schreibweise
Zitat
Schreibweise, bei der die einzelnen Worte mit einem Minus getrennt werden; alle Buchstaben sind Kleinbuchstaben.
--> das Attribut
hasButtons müsste also
has-buttons heissen (ftui-knob liefert hier einige has-Beispiele)
*** Handelt es sich nicht nur um ein Attribut, sondern auch um eine komponenteninterne Property
- dann sollte die interne Property (JavaScript-typisch) hasButtons heissen und der Camel-Case-Schreibweise folgen
Zitat
Schreibweise, bei der das erste Wort kleingeschrieben wird; jedes weitere Wort beginnt mit einem Großbuchstaben.
- das Attribut müsste aber auch in diesem Fall has-buttons heissen (FTUI3 wandelt "autom." von Kebab-Case zu Camel-Case)
--> ... (ftui-knob liefert hier einige has-Beispiele)
Könnte also sein, dass sich die Schreibweise nochmals ändert ...
Ja da hast du Recht.
Habe mich auch gewundert über die verschiedenen Schreibweisen im style vom template().
:host(:not([hasbuttons]):not([has-buttons])) button {
display: none;
}
Aber wie immer wird @setstate das schon richtig stellen...
LG mr_petz
Danke an euch für die Erklärungen :)
Zitat von: mr_petz am 06 Februar 2022, 21:37:23
Aber wie immer wird @setstate das schon richtig stellen...
Hat @setstate zwischenzeitig gemacht ...
- css verwendet nur noch die Kebab-Case-Schreibweise
- this.hasAttribute verwendet allerdings noch die Camel-Case-Schreibweise
... Button werden also - falls gewünscht - angezeigt, haben aber momentan keinerlei Funktion ...
Mit dem aktuellen Update funktionieren auch die Buttons wieder wie gewohnt :)
WICHTIG: das Attribut has-buttons verwenden ...
Zitat von: OdfFhem am 07 Februar 2022, 20:36:02
Mit dem aktuellen Update funktionieren auch die Buttons wieder wie gewohnt :)
WICHTIG: das Attribut has-buttons verwenden ...
Bestätigt. :D
also ich kann gerade kein Update machen, dass zerschießt mir mein gesamtes Layout
Hallo,
sorry dass ich den Thread nochmal rauskrame. Ich habe bisher das "alte" FTUI am Laufen und möchte gern auf FTUI umsteigen. Bisher habe ich immer auf widget wie das timeset gewartet. In FTUI habe ich es mit einem Spinner hinbekommen.
So sieht mein Dummy aktuell aus:
Internals:
FUUID 61954943-f33f-d318-54bc-a01ea67e0210c012
NAME ke.du.Waermekabine.Startzeit
NR 277
STATE 12:30
TYPE dummy
eventCount 3
READINGS:
2022-12-02 11:10:25 Minute 30
2022-06-28 16:03:06 Stunde 12
2022-12-07 10:00:03 state 12:29
Attributes:
readingList Stunde:Minute:00
room Keller
setList state:time
stateFormat {sprintf("%02d:%02d", ReadingsVal($name,"Stunde","18"), ReadingsVal($name,"Minute","00")) }
userReadings Stunde {()},Minute {()}
Die Spinner widgets haben die Uhrzeit immer über Stunde und Minute gesetzt, was dann zu einer kompletten Uhrzeit zusammen gesetzt wurde.
So habe ich es bis jetzt testweise eingebaut dass das gleiche Dummy mit der Uhrzeit über FTUI3 gefüttert wird:
<ftui-grid-tile row="1" col="4" height="2" width="2">
<ftui-label size="3">Wärmekabine</ftui-label>
<ftui-timeset
[(value)]="ke.du.Waermekabine.Startzeit"
color="white"
class="size-2">Uhr</ftui-timeset>
</ftui-grid-tile>
Wenn ich jetzt über FTUI3 das Dummy mit einer neuen Uhrzeit füttere bekomme wird die Uhrzeit immer im klein geschriebenen state gesetzt und der neue Wert wird vom Widget nicht übernommen. Ich setzte z.B. 12:20 was auch in state übernommen wird. Aber im Widget bleibt 12:30 als Uhrzeit bestehen.
Was mache ich falsch? Ich würde es gern so ändern dass ich erstmal in FHEM alles so lassen kann und FTUI und FTUI3 parallel laufen lassen kann.
Zitat von: teichtaucher am 15 Dezember 2022, 10:13:17
....
Wenn ich jetzt über FTUI3 das Dummy mit einer neuen Uhrzeit füttere bekomme wird die Uhrzeit immer im klein geschriebenen state gesetzt und der neue Wert wird vom Widget nicht übernommen. Ich setzte z.B. 12:20 was auch in state übernommen wird. Aber im Widget bleibt 12:30 als Uhrzeit bestehen.
Was mache ich falsch? Ich würde es gern so ändern dass ich erstmal in FHEM alles so lassen kann und FTUI und FTUI3 parallel laufen lassen kann.
Hi,
du musst dich entscheiden wo du was setzt und ausliest.
Mit [(value)]="ke.du.Waermekabine.Startzeit" wird
STATE ausgelesen und
state gesetzt (durch
STATE wird timeset immer dann das gleiche anzeigen, weil es bei dir nicht mit gesetzt wird im dummy).
Mit [(value)]="ke.du.Waermekabine.Startzeit:state"
state. Hier wird bei dir aber
beim setzen im dummy im state => 'state 12:20' gesetzt und der
STATE nicht mit aktualisiert...???
Das sieht man auch in deinem list:
STATE = 12:30
state = 12:29
Da solltest du erst im dummy nacharbeiten... (liegt am stateFormat)
Wenn du im dummy direkt setzt, dann muss noch ein replace() mit rein und die Bananas aus der Box geholt werden:
[value]="ke.du.Waermekabine.Startzeit:state | replace('state ','')"
(value)="ke.du.Waermekabine.Startzeit"
LG mr_petz