Ankündigung

Einklappen
Keine Ankündigung bisher.

basic.textinput

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    basic.textinput

    Hallo zusammen,

    ich möchte das Widget basic.textinput nutzen, um ein String-Item in SmarthomeNG zu beschreiben. Leider sendet SmartVisu nichts an das SmarthomeNG-Plugin, wenn ich im Widget Text eingebe. Die Web-Konsole (F12-Taste) des Firefox zeigt nichts an, bei anderen Widgets (z.B. basic.slider) dagegen schon.

    Hat jemand eine Idee?

    ---

    SmartVisu: Development-Zweig
    Widget: https://github.com/herrmannj/smartvi...ster/textinput

    Ausschnitt aus meiner SmartVisu-Seite:
    HTML-Code:
    {% import "widget_textinput.html" as textinput %}
    <div data-role="collapsible" data-collapsed="false" >
        <h3>Bewässerung</h3>
        <table align=center width="100%">
            <tr align=left>
                <td>{{ basic.dual('ID.Aussen.Bewaesserung.Regner1', 'Aussen.Bewaesserung.Regner1', icon1~'sani_sprinkling.png', icon0~'sani_sprinkling.png') }}</td>
                <td>Regner 1 (Straße links) {{ textinput.textinput('ID.Aussen.Bewaesserung.Regner1.Dauer', 'Aussen.Bewaesserung.Regner1.Dauer', 'Dauer') }} ({{ basic.value('ID2.Aussen.Bewaesserung.Regner1.Dauer', 'Aussen.Bewaesserung.Regner1.Dauer') }})</td>
            </tr>
        </table>
    </div>
    Ausschnitt aus meiner SmarthomeNG-Konfiguration:
    Code:
    [Aussen]
        [[Bewaesserung]]
            [[[Regner1]]]
                type = bool
                visu_acl = rw
                knx_dpt = 1
                knx_init = 4/2/1
                knx_listen = 4/2/1
                knx_send = 4/1/1
                autotimer = sh.Aussen.Bewaesserung.Regner1.Dauer() = false
                [[[[Dauer]]]]
                    type = str
                    visu_acl = rw
                    value = 5

    #2
    wie sendest du den wert ab? drückst Du enter? ich habe noch das im einsatz, was nicht teil der SV war, da habe ich das genauso wie Du gemacht. ich schicke dann eine pushbullet nachricht ab.. geht.. stelle evtl heute abend mal auf das das dabei ist um..

    Kommentar


      #3
      Ja, ich drücke Enter. Aber auch Focus-Lost sendet nichts.
      Bei SmartVisu ist mittlerweile was für die Texteingabe dabei? Finde nix...

      Kommentar


        #4
        bbb999 ich dachte er hats in den dev schon rein, finde ad hoc aber auch nichts.. damit hat sich meine frage aber dann auch erledigt..

        Bindest du das hier ein?
        <script src="pages/xxx.smarthome/widgets/widget_textinput.js"></script>

        Kommentar


          #5
          Ich habe mir widget_textinput.* von https://github.com/herrmannj/smartvi...ster/textinput heruntergeladen und in mein pages/myPage-Verzeichnis kopiert. Von dort importiere ich es.

          Wie kann ich den Textinhalt des Widgets abschicken?

          Kommentar


            #6
            Hallo!

            Ich mach das auch über das widget. Bei mir funktioniert das problemlos.

            sandbox.html
            Code:
            /**
            * Displays a textinput
            *
            * @param unique id for this widget
            * @param a gad/item
            */
            {% macro textinput(id, gad) %}
            
                <label>
                    <input type="text" id="{{ uid(page, id) }}" data-widget="basic2.textinput" data-item="{{ gad }}" />
                </label>
            {% endmacro %}
            Eingebunden mit
            Code:
            {% import "sandbox.html" as basic2 %}
            
            {{ basic2.textinput('blabla', 'mein.item') }}
            Inhalt der visu.js
            Code:
            // ----- b a s i c ------------------------------------------------------------
                // ----------------------------------------------------------------------------
                // ----- basic2.textinput -------------------------------------------------------
            $(document).delegate('input[data-widget="basic2.textinput"]', {
                'update': function (event, response) {
                    $(this).val(response);
                },
            
                'change': function (event) {
                    // DEBUG: 
                    console.log("[basic.textinput] change '" + this.id + "':", $(this).prop("value")); 
                    io.write($(this).attr('data-item'), $(this).val() );
                }
            });
            Gruß, Max

            Kommentar

            Lädt...
            X