ioBrokerioBroker TutorialsioBroker VIS Widgets

ioBroker VIS – jQuery-UI-Stil Widgets – Das Input Widget

Im folgenden Artikel zeige ich Dir, wie Du das Input Widget für das Füllen von Objektwerten einsetzen kannst.

Installation der jQuery-UI Widgets
Falls Du die jQuery-UI_Stil Widgets noch nicht installierst hast, wechsle nun in den Bereich „Adapter“ und installiere hier den folgenden Adapter. Ansonsten kannst Du diesen Abschnitt überspringen.

 

Auf dem folgenden Fenster kannst Du den Server (nur wirklich relevant im MultiHost-Betrieb) sowie die gewünschte Instanznummer festlegen. Ich lasse die Einstellung in der Regel auf Auto stehen, sodass ioBroker selber die Instanznummer vergibt. Mit Hinzufügen wird der Adapter dann installiert.

 

 

Einfügen und Konfiguration im VIS-Editor
Nach der Installation des Adapters wechseln wir in den VIS-Editor und wählen unsere View aus, auf die wir das Input-Widget setzen möchten. Wir ziehen dann das Input-Widget auf die View.

In den Einstellungen des Widgets können wir nun den Datenpunkt „Object ID“ auswählen, welcher den Wert des Input-Widgets aufnehmen soll.

 

In unserem Beispiel wählen wir hier einen eigenen Datenpunkt aus. Hier kann natürlich auch jeder beliebig andere Datenpunkt gewählt werden.

 

Das Input-Widget ist jetzt einsatzbereit. Wir können nun also im nächsten Schritt die Visualisierungsoberfläche VIS öffnen und in das Input-Widget einen Wert eingeben. Nach dem die Eingabe fertig ist, können wir entweder das Feld verlassen oder Enter drücken.

In den Objekten sehen wir nun unseren Wert in dem entsprechenden Datenpunkt.

 

So einfach können wir also Werte (Zeichenfolgen, Zahlen, etc.) über die View in die Objekte schreiben. Der letzte Abschnitt war aber doch sehr theoretisch, und hat so natürlich wenig praktischen Nutzen. Im folgenden Beispiel zeige ich daher, wie ich meinen Echo Dot so entsprechende Eingaben sprechen lassen kann 😉

 

Praktisches Beispiel mit Amazon Alexa

Im ersten Schritt erstelle ich für die Sprachausgabe einen eigenen Datenpunkt, in den ich den Text über das Input-Widget einlese. Wir könnten alternativ auch direkt in den Echo Datenpunkt schreiben, ich möchte das aber lieber separieren und dafür einen eigenen Datenpunkt schaffen. Somit bin ich später variabler, falls ich damit noch weitere Aktionen ausführen möchte.

Auf der View lege ich nun die Object ID des Input-Widgets auf den oben angelegten Datenpunkt. Wenn ich die View nun ausführe und einen Text eingebe, sollte dieser nun in dem definierten Datenpunkt abgelegt werden.

Im nächsten Schritt schreiben wir uns nun ein Skript, welches auf die Veränderung des Datenpunktes reagiert, und den Wert per setState() Aufruf in den Datenpunkt des Echo-Devices in den Speak-Command überträgt.

on({id: "Datenpunkte.0.EchoDevices.EchoDotKueche.Speak", change: "ne"},
function (obj) {
setState('alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak', obj.state.val );
});

Das war schon alles, der Echo-Dot sollte nun lustig die Textausgaben durchführen, welche ich ihm per Input-Widget zur Verfügung stelle, eine lustige Funktion 😉

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer ?

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

4 Gedanken zu „ioBroker VIS – jQuery-UI-Stil Widgets – Das Input Widget

  • Klaus Link

    Hallo Martin,
    gibt es ein Element in VIS welches ein Input Signal nimmt und es unter einem anderen Signalnamen weiterleitet.
    Was ich möchte ist das Ausgangssignal einer Alarmanlage auf den Eingang einer Schaltsteckdose zu geben.
    Leider finde ich keinen Hinweis auf ein Widget mit einem Schalteingang und Schaltausgang.
    Licht an und aus bekomme ich hin aber nicht eine Schaltsteckdose zu schalten.
    Vielen Dank im voraus
    Klaus

    Antwort
  • Stefan Mühlbauer

    Hallo
    danke erstmal für den Beitrag. Kannst Du mir bitte erklären wie ich die Farbe des Input Elementes ändern kann.
    Bei mir ist die Farbe des Eingabeelements ein helles blau und die Schriftfarbe darin und der Text des Sendebuttons ist weiß und nicht lesbar. Die Beschriftung des Elementes kann ich über (CSS Fonts & Text color) in schwarz ändern.

    LG
    Stefan

    Antwort
    • Stefan Mühlbauer

      Ich habe jetzt gefunden wo ich das Thema ändern kann, unter den Eigenschaften der View THEMA, ich habe das Thema smothnesses ausgewählt. Es wird aber im Entwurfsmodus anders angezeigt als im Play Modus. Im Entwurfsmodus ist die Schrift dunkel, im Play Modus ist sie Hell.

      Antwort
  • Hallo Matthias, das Eingabe-Widget ist größer als der tatsächlich benutze Bereich für Text und Eingabe, zu sehen im letzten Bild deines Beitrages.

    Beim horizontalen Ausrichten mit anderen Widgets entsteht nun ein Versatz. Ich habe keine Möglichkeit gefunden, das einzustellen.

    Ein zweiter Punkt: wie bekommt man den Text linksbündig und die Eingabe rechtsbündig?

    Uli

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.