? TabletUI Push Button - gelöst

Begonnen von FlorianSenne, 13 Oktober 2020, 12:42:18

Vorheriges Thema - Nächstes Thema

FlorianSenne

Hallo zusammen,

ich hab die Frage mal bei Anfängern gepostet, weil mir schwant das es eine Einfache Lösung gibt ;)

Ich habe bei mir Logos (0BA8) verbaut. Über 230V Taster wird zB das Licht an bzw aus geschaltet. Um das mit FHEM zu machen nutze ich einfach einen Netzwerkeingang und Trigger diesen über TabletUI mit einem Push-Button. Soweit so gut...
Problem: Der Push-Button ist natürlich nur die Zeit Orange, wo auch derButton gedrückt wird. Er zeigt mir aber halt nicht an, ob das Licht nun brennt...wie auch.
Also hab ich einen Dummy.Schalter eingefügt, welcher den Marker des Ausgangs liest und entsprechend on bzw off ist. Klappt auch

Device Push Button FHEM: KG_H_L_tast
Dummyschalter: KG_H_L_dummy
Nun zur Frage: Kann ich den Push Button KG_H_L_tast als device für data-set nehmen, als reading (zB als data-get) aber vom KG_H_L_dummy?

folgendes klappt nicht ;) :



<div class="cell">
                        <div data-size="150%" data-type="push" data-device="KG_H_L_tast"  data-set-on="on" data-set-off="off" data-get="KG_H_L_dummy" data-get-on="on" data-get-off="off" class=""><>
                        <div data-type="label" class="">Heizung<>
                        <>

Weiß hier wer weiter?


Danke und VG
Florian

Update 6.4.21

Ich habe das Problem nun nach längerer Suche gelöst bekommen. Ich nutze nun keinen Push-Button mehr sondern ein Symbol. Code ist folgender:

                                      <div data-size="300%"
                                        data-type="symbol"
data-device="KG_H_L_status"
data-states='["on", "off"]'
data-icons='["fa-lightbulb","fa-lightbulb"]'
data-colors='["#deb018","#e6e4df"]'
onclick="ftui.setFhemStatus('set KG_H_L_tast trigger')"></div>
<div data-type="label" class="">Heizung</div>


KG_H_L_status ist ein Dummy der den Status des Lichtes in der Heizung anzeigt (Netzwerkausgang Logo), KG_H_L_tast ist der Taster welcher in FHEM definiert ist und den Netzwerkeingang der Logo triggert.

Klappt wunderbar, lediglich die Statusänderung dauert immer zwischen 1 und 3 Sekunden. Hat hier jemand evtl eine Idee an was das liegen könnte bzw was ich umstellen kann (longpoll steht auf websocket)?

Danke und VG
Florian

yersinia

1. Code-tags verwenden für code (#-Button über dem :-X smiley)
2. der Code ist so gesehen falsch (was machen die ganzen <> dazwischen? HTML tags werden nicht geschlossen usw):
Zitat von: FlorianSenne am 13 Oktober 2020, 12:42:18
<div class="cell">
                        <div data-size="150%" data-type="push" data-device="KG_H_L_tast"  data-set-on="on" data-set-off="off" data-get="KG_H_L_dummy" data-get-on="on" data-get-off="off" class=""><>
                        <div data-type="label" class="">Heizung<>
                        <>
3. das Push-Widget kann das so nicht (=aus einem Anderen device:reading Werte auslesen und anzeigen)
4. du kannst aber die Widgets verschachteln, ungetesteter erster Entwurf:
<div data-size="150%" data-type="push" data-device="KG_H_L_tast" data-set-on="on" data-set-off="off" class="">
   <div type="label" data-device="KG_H_L_dummy" class=""></div>
</div>

Schau dir nochmal die Doku zu data-set-on und data-set-off an. Letzteres wird gesendet wenn du den Button los lässt, ist das so gewollt?
5. Eventuell ist das Widget Switch noch eine Option, sogar mit einem Beispiel in Verbindung mit einem Label
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | 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

FlorianSenne

Zitat von: yersinia am 13 Oktober 2020, 13:03:16
1. Code-tags verwenden für code (#-Button über dem :-X smiley)

Ja besten Dank ich hab mich schon gefragt wie das geht ;) leider kommt kein Popup-Text wenn man über die Symbole geht....

2. der Code ist so gesehen falsch (was machen die ganzen <> dazwischen? HTML tags werden nicht geschlossen usw):3. das Push-Widget kann das so nicht (=aus einem Anderen device:reading Werte auslesen und anzeigen)
4. du kannst aber die Widgets verschachteln, ungetesteter erster Entwurf:
<div data-size="150%" data-type="push" data-device="KG_H_L_tast" data-set-on="on" data-set-off="off" class="">
   <div type="label" data-device="KG_H_L_dummy" class=""></div>
</div>


Leider kein Erfolg :(

Schau dir nochmal die Doku zu data-set-on und data-set-off an. Letzteres wird gesendet wenn du den Button los lässt, ist das so gewollt?

Naja jetzt bringst du mich zum überlegen. Wenn Ichs weglasse geht das Licht nicht mehr aus ;) eigentlich aber unlogisch weil ich den Netzwerkeingang der Logo ja jedesmal nur Trigger....

5. Eventuell ist das Widget Switch noch eine Option, sogar mit einem Beispiel in Verbindung mit einem Label

Da hört mein Verständnis schon auf....abgesehen davon das ich den Code nicht verstehe hab ich dann doch 2 Symbole oder?


mir erschließt sich nicht weshalb ich den Zustand eines Symbols oder Devices nicht beliebig ziehen kann.....mein Problem ist eben das ich meine Logik in der Logo habe und nicht in FHEM....aber das muss man doch irgendwie einfach darstellen können. Die Idee das ein Schalter auch den aktuellen Zustand zeigt ist ja eigentlich normal...;)

yersinia

Deine Formatierung ist etwas wirr. :o
Zitat von: FlorianSenne am 13 Oktober 2020, 19:02:13mir erschließt sich nicht weshalb ich den Zustand eines Symbols oder Devices nicht beliebig ziehen kann.....mein Problem ist eben das ich meine Logik in der Logo habe und nicht in FHEM....aber das muss man doch irgendwie einfach darstellen können. Die Idee das ein Schalter auch den aktuellen Zustand zeigt ist ja eigentlich normal...
Wenn _ich_ dich richtig verstanden habe, schaltest du ein anderes Device als du anzeigen lassen möchtest in FTUI.
Zitat von: FlorianSenne am 13 Oktober 2020, 12:42:18Device Push Button FHEM: KG_H_L_tast
Dummyschalter: KG_H_L_dummy
Nun zur Frage: Kann ich den Push Button KG_H_L_tast als device für data-set nehmen, als reading (zB als data-get) aber vom KG_H_L_dummy?
Dies kann mWn FTUI nicht out of the box. Zumindest nicht mit einem Widget.
Und dies entspricht eigentlich auch nicht der Idee eines Schalters, bei dem du sehrwohl die Position visuell erkennen kannst - am Schalter selbst. Und eigentlich hast du einen Taster. Und bei denen sieht man den Zustand am Taster direkt auch nicht. scnr

MMn hast du zwei Möglichkeiten:
- Entweder du verschachtelst die Widgets und nimmst das schaltende Widget (switch, push, symbol oder was auch immer) um das anzeigende Widget (label) herum. Da würde ich aber sukzessive vorgehen. Beides erst getrennt aufbauen und wenn es funktioniert, das label widget in das zu schaltende kopieren.
- Oder du bildest die Logik in FHEM ab. Idee: du zeigst in FTUI nur den dummy an und "schaltest" auch nur diesen aus FTUI heraus (ie setzt den state), in FHEM reagierst du mit einem DOIF oder notify auf die Änderung und schaltest dann den tatsächlichen Taster.

Und wie gesagt: vielleicht ist auch das Push(-Button)-Widget nicht das, was du brauchst - ein Switch wäre in diesem Fall evtl besser.
Wie schaltest du die Logos aus FHEM heraus? Und welchen state haben sie wenn du eine Zustandsänderung hervorrufst (ie schaltest)? List der beiden devices wäre noch toll.
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | 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

FlorianSenne

Ok alles klar, ich versuche mich dann an der Verschachtelung der Widgets....komme ich aber erst am WE wieder dazu aber der Tip zu Beginn mit 2 Widgets zu arbeiten (Schalten und Label) klingt schon mal nach einem guten Anfang - Dankeschön.

Wieso bilde ich die Logik nicht in FHEM ab: ich hab neben der Möglichkeit über FHEM die Logo zu schalten eine ganz normale 230V Installation in der Wohnung. Alle Taster gehen auf die Eingänge der Logo, die Ausgänge entweder direkt auf die Geräte (Rolladen) oder indirekt (auf Dimmer bei Licht).
Dh ein Device in FHEM triggert einen Netzwerkeingang als Taster und ein Netzwerkausgang gibt mir (zumindest bei den direkten Geräten) den Status des Ausgangs wieder.

Deine letzte Bitte hab ich nicht verstanden, was wäre gut wenn ich posten würde ;)?

VG
Florian

yersinia

Zitat von: FlorianSenne am 14 Oktober 2020, 16:25:10Wieso bilde ich die Logik nicht in FHEM ab: ich hab neben der Möglichkeit über FHEM die Logo zu schalten eine ganz normale 230V Installation in der Wohnung. Alle Taster gehen auf die Eingänge der Logo, die Ausgänge entweder direkt auf die Geräte (Rolladen) oder indirekt (auf Dimmer bei Licht).
Dh ein Device in FHEM triggert einen Netzwerkeingang als Taster und ein Netzwerkausgang gibt mir (zumindest bei den direkten Geräten) den Status des Ausgangs wieder.
Das könnte man, als Idee, für ein einfacheres FTUI in FHEM doch abwickeln. Du erstellst ein Dummy mit vier states: an, schalteEin, aus, schalteAus. Im FTUI nutzt du ein switch widget, das wie folgt schaltet: wenn status=an, dann sende "schalteAus"; wenn status=aus, dann sende "schalteAus"; wenn status=an oder aus, dann blinke oder so aber schalte nicht. Auf der FHEM-seite reagierst du mit einem DOIF oder notify auf einen status-Änderung dieses dummys und schaltest dann den Netzwerkeingang bei "schalteAus" bzw "schalteAn". Ein weiteres DOIF/notify reagiert auf den zweiten Netzwerkeingang wenn die Logo An bzs Aus zurückmeldet und setzt den dummy auf An bzw Aus (aber dies hast du wahrscheinlich schon: KG_H_L_dummy). Dann bräuchtest du in FTUI nur ein switch Widget zur Anzeige und zum schalten.

Zitat von: FlorianSenne am 14 Oktober 2020, 16:25:10Deine letzte Bitte hab ich nicht verstanden, was wäre gut wenn ich posten würde ;)?
Den Output nach einem list der involvierten Devices in der FHEM Kommandozeile (das Textfeld oben im FHEMWEB), zB:
list KG_H_L_tast
Aber das ist erstmal nicht Notwendig.
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | 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