Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] [Frage] Erstellung virtueller Taster für .vis

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] [Frage] Erstellung virtueller Taster für .vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      George_Best last edited by

      Hallo zusammen,

      ich habe eine absolute Anfängerfrage. Folgender Use-Case:

      • ich will in einer Visualisierung einen virtuellen Button (Taster) einbinden, d.h. dieser Taster wird nicht direkt mit einem Hardware-Taster verbunden

      • dieser virtuelle Taster soll eine der Variable für eine Abfrage sein (z.B. wenn Taster = True UND Uhrzeit = 18:00 - 19:30 UND Dämmerung = True; Dann steuere ein "Hardware"-Objekt (z.B. Netzwerkeingang einer Logo!).

      "Schematisch" dargestellt:

      Virtueller_Taster == TRUE

      18:00 <uhrzeit<19:30<br>Daemmerung == TRUE

      ==> s7.0.DBs.DB0.NI3 => TRUE

      Nun suche ich schon ewig nach einer Lösung diesen virtuellen Taster zu erzeugen.

      In der Doku und im Forum habe ich schon Beiträge mit den Stichwörtern "dummy", "virtueller Taster" etc. gefunden. Aber leider konnte ich mein Problem nicht lösen.

      Ich habe schon versucht in einem Javascript eine Variable zu erzeugen (var Test_Virt_Taster = false;) aber das macht ja noch kein Objekt daraus.

      Ich hoffe jemand kann mir bei meiner Anfängerfrage weiterhelfen. Ich danke euch schon mal für eure Unterstützung!</uhrzeit<19:30<br>

      1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active last edited by

        1. Erzeuge bei Objekten manuell ein Objekt, z.B.

        unter JavaScript; also

        "JavaScript.0.Taster"

        (den Namen kannst du individuell vergeben.)

        Nimm als typ "boolean"; du willst ja true und false

        2. In vis nimmst du ein widget und gibst als objekt o.g. neu erstellte variable ein.

        in vis siehst du dann den Zustand (also true und false)

        3. Script schreiben.

        Was willst du als Auslöser wählen;

        Entweder "on" Befehl oder Trigger mit schedule (Uhrzeit).

        Dann script wie du es schon geschrieben hast

        Die Prüfung der Uhrzeit mache ich mit dem Muster-Script auf der iobroker Seite.

        mfg

        P.S.

        Schnell mal zusammen geschrieben. Wenn noch Fragen sind, dann …

        1 Reply Last reply Reply Quote 0
        • BuZZy
          BuZZy last edited by

          Einfach ein Datenpunkt manuell erstellen und diesen Datenpunkt im VIS über einen Button immer zwischen true/false wechseln lassen.

          3092_screenshot_-_05.09.2017___11_42_14.png
          3092_screenshot_-_05.09.2017___11_43_27.png
          3092_screenshot_-_05.09.2017___11_43_50.png
          3092_screenshot_-_05.09.2017___11_44_02.png

          Gruß

          1 Reply Last reply Reply Quote 0
          • G
            George_Best last edited by

            Vielen, Vielen Dank für die schnelle Hilfe!

            Leider stelle ich mich scheinbar zu blöd an.

            Ich habe nun im Vis ein Widget "Button State" angelegt und diesem die Object-ID des virtuellen Tasters zugewiesen.

            Muss ich hier unter "value" noch etwas angeben (False; True)?

            Ohne eine Angabe scheint es nicht zu funktionieren. Ich wollte den Zustand des virtuellen Taster via "Wert" unter "Objekte" prüfen - leider ohne Ergebnis. Vor dem Betätigen des Taster ist der Wert (rot) "no(false)", danach ist das Feld leer.
            3428_unbenannt.jpg

            1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators last edited by

              Leider schneidest du die vollstüändige Bezeichnung deines Datenpunktes ab.

              Ist das der State?

              Bitte screenshot deines Objektes

              Danke

              rainer

              1 Reply Last reply Reply Quote 0
              • G
                George_Best last edited by

                oh… sorry...
                3428_unbenannt1.jpg
                3428_unbenannt2.jpg
                3428_unbenannt3.jpg
                3428_unbenannt5.jpg

                1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators last edited by

                  Danke für die umfangreiche Bildsammlung 😉

                  mir fehlt einfach der reiter Objekte, bei dem du diesen Datenpunkt: javascript.0.Virtueller_Taster_test mit allen UNterpunkten aufgeklappt hast.

                  Gruß

                  Rainer

                  1 Reply Last reply Reply Quote 0
                  • G
                    George_Best last edited by

                    tut mir wirklich leid! Ich habe leider noch kein Gefühl dafür, welche Infos benötigt werden.
                    3428_unbenannt6.jpg

                    1 Reply Last reply Reply Quote 0
                    • BuZZy
                      BuZZy last edited by

                      Mit dem Widget "Button State" kannst du nur den bestimmten Wert setzen, und nicht hin und her wechseln.

                      Du brauchst einen Schalter mit Boolcontrol..

                      Bzw gib mal als Filter links in der Widgetübersicht "Switch" ein..
                      3092_screenshot_-_05.09.2017___12_35_55.png

                      Gruß

                      1 Reply Last reply Reply Quote 0
                      • G
                        George_Best last edited by

                        @BuZZy:

                        Mit dem Widget "Button State" kannst du nur den bestimmten Wert setzen, und nicht hin und her wechseln.

                        Gruß `

                        Es sollte aber eben ein "Taster" sein und kein ON/OFF Schalter.

                        Ich habe versucht aus diesem Beitrag http://forum.iobroker.net/viewtopic.php … 240#p52927 mir den virtuellen Taster nachzubauen. Aber ich kann nicht herausfinden welches Widget hier genau verwendet wird.

                        WEnn ich bei mir unter Widgets nach "switch" filtere kommt gar kein Eintrag. Kann ich dieses Widgets irgendwie nachladen?

                        1 Reply Last reply Reply Quote 0
                        • BuZZy
                          BuZZy last edited by

                          Du willst also reagieren wenn der Knopf im VIS gedrückt wird - der Wert ist also komplett egal.

                          Dann ist der Punkt doch der richtige (Button State).

                          Du musst dein Script nur so schreiben dass es den manuell erzeugten Datenpunkt überwacht und bei "neu beschreiben" vom Datenpunkt ein entsprechenden Befehl ausführt..

                          on({id: 'javascript.0.Virtueller_Taster_Test', change: 'any'}, function (obj) {
                              befehle;
                          }
                          

                          Gruß

                          1 Reply Last reply Reply Quote 0
                          • G
                            George_Best last edited by

                            Der Zustand des Tasters sollte bei Betätigen von FALSE auf TRUE wechseln. Sobald man den Taster loslässt soll er wieder von TRUE auf FALSE wechseln.

                            Kann das von mir erzeugte Javascript-Objekt (also der virtuelle Taster) diesen Zustand nicht irgendwie annehmen?

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators last edited by

                              hq-widgets on/of mit Option Taster

                              1 Reply Last reply Reply Quote 0
                              • AlCalzone
                                AlCalzone Developer last edited by

                                @George_Best:

                                Kann das von mir erzeugte Javascript-Objekt (also der virtuelle Taster) diesen Zustand nicht irgendwie annehmen? `
                                Optional kannst du in den Objekteigenschaften auch read="false" setzen, dann wird der State in der Objektliste im Admin auch als Button dargestellt. Den Wert false nimmt der zwar nicht an wenn du in der Adminoberfläche drauf drückst, jeder Knopfdruck schreibt aber den Wert true in den State. Sofern du nicht unbedingt den Status "false" erreichen willst, sondern nur dass bei Knopfdruck etwas passiert, sollte das deinen Anforderungen entsprechen. Die Überwachung mit Buzzy's Skript funktioniert weiterhin.

                                1 Reply Last reply Reply Quote 0
                                • G
                                  George_Best last edited by

                                  Nochmals vielen, vielen Dank für die Hilfen! Echt klasse!!!

                                  Jetzt funktioniert es wie gewünscht:

                                  Taster in der Vis schaltet Licht im Flur ein und wieder aus.

                                  Ich weiß - das klingt absolut trivial, aber mir ging es darum es zu verstehen (quasi mein "Hello, World").

                                  Lösung (evtl. stellt sich ja noch mal jemand so dumm…)

                                  1. Wie von bahnuhr und BuZZy beschrieben habe ich ein Objekt manuell erzeugt http://forum.iobroker.net/viewtopic.php?p=83309#p83309

                                  ==> "javascript.0.Virtueller_Taster_Test"

                                  2. In der Vis habe ich ein hqwidget - On/Off angelegt

                                  • vorher im Reiter "Adapter" eine Instanz des Adapters "hqwidgets style Widgets" hinzufügen (+ ganz rechts)

                                  • dieses Widget muss man aufgrund eines bekannten Problems manuell uploaden. Siehe http://forum.iobroker.net/viewtopic.php … ets#p66581

                                  • im Vis habe ich also via Drag&Drop dieses Widget hinzugefügt (ohne den manuellen Upload oben sieht man das Widget nicht…) und unter "Eigenschaften" und "Allgemein" -> "Taster" aktiviert

                                  3. Via Blockly habe ich nun ein einfaches Script geschrieben, das den Zustand es virtuellen Tasters an einen Netzwerkeingang meiner Logo! weitergibt und damit das Licht einschaltet:

                                  on({id: 'javascript.0.Virtueller_Taster_Test', change: "ne"}, function (obj) {
                                    //var value = obj.state.val;
                                    //var oldValue = obj.oldState.val;
                                    setState("s7.0.DBs.DB0.NI3", getState("javascript.0.Virtueller_Taster_Test").val);
                                  });
                                  

                                  ==> Ich weiß, ich hätte auch direkt den Taster im Vis mit dem Netzwerkeingang meiner Logo verbinden können. Aber später will ich eben noch weitere Bedinungen einbauen.

                                  1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators last edited by

                                    Schön, dass es jetzt läuft!

                                    Nur ein Schönheitsfehler:
                                    @George_Best:

                                    dieses Widget muss man aufgrund eines bekannten Problems manuell uploaden. `
                                    das sollte schon lange behoben sein!

                                    Welche Versionen js-controller und admin verwendest du denn?

                                    Gruß

                                    Rainer

                                    1 Reply Last reply Reply Quote 0
                                    • G
                                      George_Best last edited by

                                      @Homoran:

                                      Schön, dass es jetzt läuft!

                                      Nur ein Schönheitsfehler:
                                      @George_Best:

                                      dieses Widget muss man aufgrund eines bekannten Problems manuell uploaden. `
                                      das sollte schon lange behoben sein!

                                      Welche Versionen js-controller und admin verwendest du denn?

                                      Gruß

                                      Rainer `

                                      Javascript/Blockly Script Engine => installiert: 3.4.0

                                      ioBroker Admin => installiert: 2.0.2

                                      hqwidgets style Widgets => installiert: 1.0.10 (wobei unter Version (grün) 1.0.6 steht)

                                      1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators last edited by

                                        Danke!
                                        @George_Best:

                                        Javascript/Blockly Script Engine => installiert: 3.4.0 `
                                        nicht den Javascript-Adapter sondern den js-controller.

                                        Die Version befindet sich unter dem Reiter Hosts.

                                        Der admin ist ok!
                                        @George_Best:

                                        hqwidgets style Widgets => installiert: 1.0.10 (wobei unter Version (grün) 1.0.6 steht) `
                                        Also bist du deiner Zeit voraus 😉

                                        Gruß

                                        Rainer

                                        1 Reply Last reply Reply Quote 0
                                        • G
                                          George_Best last edited by

                                          @Homoran:

                                          Also bist du deiner Zeit voraus 😉 `

                                          Das lässt sich anhand meiner Fragen sehr einfach widerlegen 😉

                                          Der js-controller ist tatsächlich nicht aktuell:

                                          Verfügbar: 1.1.2

                                          Installiert: 1.0.0

                                          Aber eine Frage noch: Ich bin auf der Suche nach einem Widget, dass mir sowohl als Taster dient (den Wert also in meinen virt. Taster schreibt) und zugleich den Status meines Logo!-Ausgangs anzeigt (andere Objekt-ID). Bis jetzt habe ich das mittels zweier Widgets gelöst.

                                          1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators last edited by

                                            @George_Best:

                                            Aber eine Frage noch: Ich bin auf der Suche nach einem Widget, dass mir sowohl als Taster dient (den Wert also in meinen virt. Taster schreibt) und zugleich den Status meines Logo!-Ausgangs anzeigt (andere Objekt-ID). Bis jetzt habe ich das mittels zweier Widgets gelöst. `
                                            Gute Entscheidung.

                                            Kein Widget kann zum einen einen Datetenpunkt schalten (bool true/false) und einen anderen Datenpunkt (ebenfalls bool true/false) darstellen. Dazu müssten zwei verschiedene OIDs verwaltet werden können. (Wobei dann auch ioBroker gesagt werdn müssten welche OID geschaltet, und welche OID visualisiert werden muss. Zusätzlich soll die visualisierte ja NICHT geschaltet werden.

                                            Bei einigen Widgets gibt es noch ganz unten die Option Extrasteuerung. Ich habe zwar auch schon damit eine ähnliche Fragestellung erfolgreich getestet, aber kann mich nicht mehr exakt an das Vorgehen erinnern.

                                            IMHO musstest du oben die zu visualisierende eingeben und unten die zu steuernde. Ich glaube aber, dass die obere (natürlich) auch gesteuert wurde.

                                            Gruß

                                            Rainer

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            803
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            25
                                            10488
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo