FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: Gunther am 15 November 2017, 18:44:39

Titel: Waschmaschine Button: ("an" - "fertig" drücken - "aus")
Beitrag von: Gunther am 15 November 2017, 18:44:39
Habe lange nichts an Tablet UI gemacht.
Nun meine Frage, wie ich hier vorgehe oder ob ich noch etwas Logik in FHEM nachbauen muss:

Meine Waschmaschine hat einen Dummy der die Zustände "an" und "leeren" per DOIF bekommt.
Diese möchte ich in einem Button darstellen und dann (wenn er auf "leeren" steht und die Wäsche aus der Maschine geholt wurde) einmal drauf drücken um den Status auf "aus" zu stellen.

Welchen button kann ich dafür nehmen?


Titel: Antw:Waschmaschine Button: ("an" - "fertig" drücken - "aus")
Beitrag von: setstate am 15 November 2017, 19:27:28
ich habe diese Woche etwas ähnliches gebaut. Per aktuellem Stromverbrauch zeige ich den Status der Waschmaschine im Keller auf dem Tablet an.

Aus (0-37mA) -> grau
Fertig (38-42mA) -> grün
Läuft (43-∞mA) -> rot und drehendes Symbol


<div class="col">
<div data-type="symbol" data-device="WaschmaschineStromwert" data-get="state" data-part="1" data-states='[0,38,43]' data-background-icon="" data-icons='["mi mi-local_laundry_service","mi mi-local_laundry_service","mi mi-local_laundry_service fa-spin"]' data-colors='["#505050","green","red"]' class="bigger compressed"></div>
    <div class="darker">Waschm.</div>
</div> 



Titel: Antw:Waschmaschine Button: ("an" - "fertig" drücken - "aus")
Beitrag von: Gunther am 15 November 2017, 19:34:49
super.

Hast DU noch eine Idee, wie ich dann per Druck en Status von fertig/leeren auf aus (set Befehl) hinbekomme (also nicht automatisch, sondern per Druck auf das Icon). Die anderen Status sollen gelesen werden.
Titel: Antw:Waschmaschine Button: ("an" - "fertig" drücken - "aus")
Beitrag von: setstate am 15 November 2017, 20:01:35
man kann jederzeit ein

onclick="ftui.sendFhemCommand('set Waschmaschine toggle')"

hinzufügen


<div data-type="symbol" data-device="WaschmaschineStromwert"
     data-states='[0,38,43]' data-part="1"
     data-icons='["mi mi-local_laundry_service","mi mi-local_laundry_service","mi mi-local_laundry_service fa-spin"]'
     data-colors='["#505050","green","red"]' data-background-icon=""
     onclick="ftui.sendFhemCommand('set Waschmaschine toggle')"
     class="bigger compressed"></div>
    <div class="darker">Waschm.</div>
Titel: Antw:Waschmaschine Button: ("an" - "fertig" drücken - "aus")
Beitrag von: Gunther am 15 November 2017, 20:14:05
wie kann ich da noch ein "if" reinnehmen, also nur wenn der Status auf "leeren" steht, dann "set ... aus"
Titel: Antw:Waschmaschine Button: ("an" - "fertig" drücken - "aus")
Beitrag von: setstate am 16 November 2017, 06:10:02
um nicht noch mehr JS-Code in den onclick Handler einzubauen, müsste man eine Switch und data-set-states benutzen.
Die Möglichkeit zu Unterdrücken des Senders per "-" z.B. müsste ich aber erst noch einbauen.
Titel: Antw:Waschmaschine Button: ("an" - "fertig" drücken - "aus")
Beitrag von: Gunther am 16 November 2017, 09:18:00
Ah verstehe.
Zustände abrufen und nur bei bestimmten Zuständen ein data-set schicken beim Rest ein "-"
Wäre das viel Arbeit?
Titel: Antw:Waschmaschine Button: ("an" - "fertig" drücken - "aus")
Beitrag von: Gunther am 16 November 2017, 21:40:15
Der Switch kann ja nur die Farbe ändern. Damit kann ich ja Zwischenzustände mit Blinken (also Wäsche rausholen) nict darstellen, oder?
Titel: Antw:Waschmaschine Button: ("an" - "fertig" drücken - "aus")
Beitrag von: setstate am 16 November 2017, 21:44:31
Nach Update müsste es jetzt so gehen


<div data-type="switch" data-device="ftuitest"
     data-states='["off","on","finish"]'
     data-set-states='["","","off"]'
     data-icons='["mi mi-local_laundry_service","mi mi-local_laundry_service fa-spin","mi mi-local_laundry_service"]'
     data-colors='["#505050","red","green"]'
     data-background-icon=""
     class="bigger compressed"
     ></div>
Titel: Antw:Waschmaschine Button: ("an" - "fertig" drücken - "aus")
Beitrag von: Gunther am 17 November 2017, 03:53:40
Klappt super! Du bist super! Danke!

2 Fragen dazu:
1.)Warum steht bei den Icons
mi mi-local_laundry_service statt mi-local_laundry_service

2.) Wie bekomme ich das Icon zentriert? (siehe Anhang)

Mein Code:
<header>Wäsche</header>
<div data-type="switch" data-device="kg_wr_waschmaschine_Betrieb"
      data-states='["aus","an","fertig"]'
      data-set-states='["fertig","","aus"]'
      data-icons='["mi mi-local_laundry_service","mi mi-local_laundry_service blink","mi mi-local_laundry_service fa-spin"]'
      data-colors='["#505050","red","green"]'
      data-background-icon=""
      class="bigger right-space"
     ></div>
Titel: Antw:Waschmaschine Button: ("an" - "fertig" drücken - "aus")
Beitrag von: setstate am 17 November 2017, 06:36:04
Zu 1.) bei mi- Icons überschneiden sich manche Codes mit Icons aus dem fa- Set. Dadurch könnte das falsche Icon angezeigt werden, weil "fa" per Default schon immer hinzugefügt wird. Ob es bei diesem Icon explizit gebraucht wird, müsste man testen.

Zu 2.) hast du "right-space" als Versuch wegen der Verschiebung hinzugefügt, oder ist das die Ursache der Verschiebung? Hast du mal "compress" hinzugefügt? Damit wird der Rand ums Icon kleiner.
Titel: Antw:Waschmaschine Button: ("an" - "fertig" drücken - "aus")
Beitrag von: Gunther am 17 November 2017, 10:05:37
Habe das icon etwas kleiner gemacht. Dann geht es. Compress teste ich mal aus.

d.h. wenn ich ein "mi" zuätzlich davorstelle, bin ich auf der sicheren Seite?

Danke Dir für die Hilfe!