FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: presskopf am 09 Juni 2021, 21:24:00

Titel: [FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: presskopf am 09 Juni 2021, 21:24:00
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
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: setstate am 09 Juni 2021, 21:42:43
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.
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: presskopf am 09 Juni 2021, 21:47:59
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.
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag 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 ;)
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: presskopf am 24 Juni 2021, 22:17:21
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>
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: mr_petz am 24 Juni 2021, 22:56:46
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ß
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: presskopf am 24 Juni 2021, 23:38:56
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".
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: moonsorrox am 05 Februar 2022, 14:15:06
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..?
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: mr_petz am 05 Februar 2022, 15:26:37
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
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: moonsorrox am 05 Februar 2022, 15:39:47
@mr_petz

ganz herzlichen Dank, ich habe schon gesucht wie doof   ;) :D
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: moonsorrox am 05 Februar 2022, 18:20:35
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.
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: mr_petz am 06 Februar 2022, 09:27:20
Hast du schon mit class="size-3" in der Richtung getestet?
Und ja, es gibt keine extra Attribute.
LG mr_petz
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: moonsorrox am 06 Februar 2022, 14:33:07
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.
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: mr_petz am 06 Februar 2022, 14:52:52
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
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: moonsorrox am 06 Februar 2022, 15:00:53
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
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: mr_petz am 06 Februar 2022, 19:29:06
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
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: OdfFhem am 06 Februar 2022, 21:26:14
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 ...
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: mr_petz am 06 Februar 2022, 21:37:23
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
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: moonsorrox am 07 Februar 2022, 00:23:53
Danke an euch für die Erklärungen  :)
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: OdfFhem am 07 Februar 2022, 16:18:36
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 ...
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag 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 ...
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: mr_petz am 07 Februar 2022, 20:49:28
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
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: moonsorrox am 08 Februar 2022, 00:09:52
also ich kann gerade kein Update machen, dass zerschießt mir mein gesamtes Layout
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: teichtaucher am 15 Dezember 2022, 10:13:17
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.
Titel: Antw:[FTUI3] Dummy mit Uhrzeit anzeigen und füttern
Beitrag von: mr_petz am 15 Dezember 2022, 11:26:45
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