HalloForum,
ein simpler Standarddialog (s. Screenshot) funktioniert nicht so, wie er soll:
Es gibt zwei kleine Aufgaben:
1) Übertragen des Inputfelds in die Variable usercheck: Das geht mit der id bzw mit class=data-value.
2) Veranlassen, dass der Dialog geschlossen wird: Das geschieht mit class=data-fhem-cmd und der Variablen popup_visible.
Leider funktioniert es nicht, wenn beide Klassen gleichzeitig vorhanden sind. Es wird nur eine der Variablen gefüllt. Warum?
Hat jemand eine Idee??
<div data-type="popup"
data-device="popup_visible"
data-get-on="on"
data-get-off="off"
data-height="280px"
data-width="260px">
<div class="dialog">
<div class="top-space-3x">Benutzerkennung angeben:</div>
<div data-type="input" id="usercheck-input" class="notransmit wider"></div>
<div data-type="link"
class="round"
data-color="green"
data-border-color="grey"
data-icon="fa-check"
data-width="50"
data-device="usercheck"
data-value="#usercheck-input"
data-fhem-cmd="set popup_visible off"
>
</div>
</div>
</div>
Keine Ahnung, was du erreichen willst.
Müssen wir Schritt für Schritt erarbeiten.
Soll der Wert des Inputs in ein Reading übertragen werden?
Dann muss "notransmit" raus und data-device und data-set angegeben werden.
Ich möchte durch Klick auf den grünen Haken (siehe Screenshot zuvor)
a) den Wert des Input-Felds in das Reading state von usercheck (Dummy) und
b) zugleich das Popup schließen lassen, indem popup_visible (Dummy) auf off gesetzt wird.
<div data-type="popup"
data-device="popup_visible"
data-get-off="off"
...
Sorry, wenn data-fhem-cmd gesetzt ist, kann kein Command mehr bei Click gesendet werden. Entweder oder. Du müsstest anstatt data-fhem-cmd mit onclick="ftui.sendFhemStatus(...." arbeiten
Zitat von: setstate am 20 Februar 2017, 16:52:38
Sorry, wenn data-fhem-cmd gesetzt ist, kann kein Command mehr bei Click gesendet werden.]
Genau das habe ich auch festgestellt... Schade.
Kannst du bitte
ftui.sendFhemStatus für meinen Fall etwas genauer beschreiben?
Wo muss das eingefügt werden?
Ich hab's schon ... Danke !!
Für alle, die ein ähnliches Problem haben, hier die Lösung:
<div class="top-space-3x">Benutzerkennung angeben:</div>
<div data-type="input" id="usercheck-input" class="notransmit wider"></div>
<div data-type="link"
class="round"
data-color="green"
data-border-color="grey"
data-icon="fa-check"
data-width="50"
data-device="usercheck"
data-value="#usercheck-input"
onclick="setFhemStatus('set popup_visible off')"
>
</div>
Da muss aber noch ein "ftui." davor
Zitat von: DocCyber am 20 Februar 2017, 17:34:52
Ich hab's schon ... Danke !!
Für alle, die ein ähnliches Problem haben, hier die Lösung:
<div class="top-space-3x">Benutzerkennung angeben:</div>
<div data-type="input" id="usercheck-input" class="notransmit wider"></div>
<div data-type="link"
class="round"
data-color="green"
data-border-color="grey"
data-icon="fa-check"
data-width="50"
data-device="usercheck"
data-value="#usercheck-input"
onclick="setFhemStatus('set popup_visible off')"
>
</div>
könntest du mit sagen wie dein data-device="usercheck" bzw. das dummy ausschaut?
Danke
Zitat von: setstate am 20 Februar 2017, 17:46:33
Da muss aber noch ein "ftui." davor
Muss??? ???
Ich habe es nicht dort stehen, weil ich es vergessen hatte.
Aber es läuft jetzt trotzdem wie gewünscht.
Zitat von: DocCyber am 20 Februar 2017, 17:53:54
Muss??? ???
Ich habe es nicht dort stehen, weil ich es vergessen hatte.
Aber es läuft jetzt trotzdem wie gewünscht.
Kommt auf die Version an. Ab 2.4 oder 2.5 dürfte das nicht mehr funktionieren.
Zitat von: setstate am 20 Februar 2017, 17:58:08
Ab 2.4 oder 2.5 dürfte das nicht mehr funktionieren.
Gut zu wissen!! Danke!
Ich glaube, bei mir läuft v 2.2. (Wie finde ich eigentlich heraus, welche Version läuft?)
EDIT (18:01)
Ich sehe gerade, dass ich
setFhemStatus verwendet habe (läuft!!), während du von ftui.
sendFhemStatus schreibst...
Zuvor war ich sauer, weil nichts lief. Jetzt bin ich erstaunt, dass es so läuft.... :o
Zitat von: l3skon3 am 20 Februar 2017, 17:50:25
könntest du mit sagen wie dein data-device="usercheck" bzw. das dummy ausschaut?
Gerne:
define usercheck dummy
define popup_visible dummy
Ersteres für den User-Input, das zweite zur Steuerung des Popups:
<div data-type="popup"
data-device="popup_visible"
data-get-on="on"
data-get-off="off"
data-height="280px"
data-width="260px"
class="interlock">
<div class="dialog">
<div class="top-space-3x">Benutzerkennung angeben:</div>
<div data-type="input" id="usercheck-input" class="notransmit wider"></div>
<div class="hbox">
<div data-type="link"
class="round"
data-color="green"
data-border-color="grey"
data-icon="fa-check"
data-width="50"
data-device="usercheck"
data-value="#usercheck-input"
onclick="setFhemStatus('set popup_visible off')"
>
</div>
</div>
</div>
</div>
Zitat von: DocCyber am 20 Februar 2017, 18:00:03
Ich sehe gerade, dass ich setFhemStatus verwendet habe (läuft!!), während du von ftui.sendFhemStatus schreibst...
Es muss definitiv
setFhemStatus heißen; ich habe es mit und ohne das Präfix
ftui. getestet.
(
sendFhemStatus funktioniert nicht!)
ja, hast Recht. War nur Kopfprotokoll ....
Aus der readme
Specials
-------
**Example** to call a command directly to FHEM. This calls "set dummy1 off"
```html
<div onclick="ftui.setFhemStatus('set dummy1 off');">All off!</div>
```
Ist kein Problem. Habe ich ja gemerkt.
Gut zu wissen, dass es ein Readme gibt... :)
Danke nochmals.