[GELÖST!] Link Widget: data-value und data-fhem-cmd schließen sich aus??

Begonnen von DocCyber, 20 Februar 2017, 11:25:54

Vorheriges Thema - Nächstes Thema

DocCyber

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>
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

setstate

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.

DocCyber

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"
  ...

Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

setstate

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


DocCyber

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?
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

DocCyber

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>
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

setstate


l3skon3

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

DocCyber

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.
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

setstate

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.

DocCyber

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
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

DocCyber

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>

Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

DocCyber

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!)
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

setstate

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>
```

DocCyber

Ist kein Problem. Habe ich ja gemerkt.
Gut zu wissen, dass es ein Readme gibt... :)

Danke nochmals.
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox