Input per Telegram versenden

Begonnen von accessburn, 29 Juli 2017, 10:58:39

Vorheriges Thema - Nächstes Thema

accessburn

Ich poste es mal hier, weil ich denke das der Fehler bei meinem FTUI-Kram liegt und nicht im Dummy:

Ich wollte mir ein Input setzen mit dem ich schnell Infos an mein Smarty senden kann:
<li data-row="1" data-col="4" data-sizex="2" data-sizey="2">
    <div data-type="input" id="sendValue" data-get="sendtosmarty:state" class="w3x centered"></div>

    <div data-type="link" class="round centered"
         data-width="80" data-height="40"
         data-color="white"
         data-background-color="green"
         data-device="sendtosmarty"
         data-set="#sendParam"
         data-value="#sendValue"
onclick="ftui.setFhemStatus('set Telegram message *NEWS:*\n[sendtosmarty:state]')">
Senden
    </div>
</li>


Der Dummy ist ganz primitiv gesetzt:
Internals:
   CFGFN
   NAME       sendtosmarty
   NR         748
   STATE      1
   TYPE       dummy
   READINGS:
     2017-07-29 10:55:50   state           1
Attributes:
   room       Anrufe



Beim klicken auf den Button wird der Text jedoch doppelt abgesendet. Idee wie das zu beheben ist?
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

setstate

Das ist doch nur ein Senden eines FHEM Command. Hat doch nix mit dem Input zu tun und braucht keine Verknüpfung per ID.

Gekürzt funktioniert das auch so


    <div data-type="input" data-device="dummy3" class="w3x centered"></div>

    <div data-type="link" class="round centered"
         data-width="80" data-height="40"
         data-color="white"
         data-background-color="green"
data-fhem-cmd="set teleBot message *NEWS:*\n[dummy3:state]">
Senden
    </div>


Wenn du onclick benutzt, ist das Verhalten Manchmal nicht wie erwartet, weil die Events widgetintern ja auch verarbeitet werden.

accessburn

Ich hatte die ID drin weil der Inhalt des Inputs eigentlich das ist was per Telegram gesendet werden soll. Ich wollte es nur zusätzlich in einem Dummy speichern.
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

accessburn

Push... Ratlosigkeit gepaart mit funktionslosigkeit :-)
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

setstate

bei meiner Variante muss man den Wert in die Input-Box eingeben + ENTER-Taste. Dann ist der Wert im Dummy und dann mit Klick auf den Link wird der Inhalt des Dummys versendet.

Du möchtest vermutlich ohne Extra ENTER senden. Das geht so nicht. Die Reihenfolge muss eingehalten werden. Erst der Wert in den Dummy und dann senden. Das Senden würde ich mit einem notify auf den Dummy machen.

Dann doch wie die Ausgangsvariante aber ohne das onclick


    <div data-type="input"  id="sendValue" data-device="dummy3" class="w3x centered"></div>

    <div data-type="link" class="round centered"
         data-width="80" data-height="40"
         data-color="white"
         data-device="dummy3"
         data-value="#sendValue"
         data-background-color="green">
Senden
    </div>