Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Wie die Ausgabe eines Scriptes in der VIS anzeigen

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Wie die Ausgabe eines Scriptes in der VIS anzeigen

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

      Hallo,

      ich bin ganz neu hier, fange gerade mit ioBroker an.

      Ich habe schon Erfahrung mit EDOMI, will aber auf ioBroker umsteigen.

      Nun meine Frage:

      Wenn ich ein ganz einfaches Script schreibe:

      var test1 = 10;

      Wie kann ich dann in der VIS diese Variable ausgeben?

      Wenn ich eine Ausgabefeld nehme, kann ich ja nur den Scriptnamen auswählen, aber es wird dann nichts angezeigt.

      Script ist natürlich gespeichert und gestartet.

      Danke für die Hilfe

      Martin

      1 Reply Last reply Reply Quote 0
      • E
        eXTreMe last edited by

        warum schreibst du den wert der variablen nicht über dein script in einen datenpunkt mit setState("pfad-zum-datenpunkt", test1) und lässt den inhalt des datenpunkts dann in vis z.b. mit dem basic string widget anzeigen, so wird das eigentlich gemacht 😉

        den datenpunkt musst du entweder vorher manuell unter objekte (z.b. unter javascript.0) neu anlegen oder mit createState per script erstellen lassen. In der Doku vom Javascript Adapter (auf das Fragezeichen neben dem Javascript Adapter in der Adapterliste klicken) ist alles erklärt.

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

          @MartinHe:

          Nun meine Frage:

          Wenn ich ein ganz einfaches Script schreibe:

          var test1 = 10;

          Wie kann ich dann in der VIS diese Variable ausgeben? `

          Vis greift auf die Datenpunkte zu, die von den Adaptern oder Deinen Skripten angelegt werden.

          Datenpunkte könne auch von Hand angelegt werden. Ich mache dies immer im Skript.

          Für Dein Beispiel:

          // Datenpunkt anlegen unter javascript.0.test.test1
          createState("test.test1", 0, {
               name: 'Testdatenpunkt',
               desc: 'Die Beschreibung des Testdatenpunkts',
               type: 'number',
               unit: '',
               role: 'value'
          });
          
          function main() {
              var test 1 = 10;
          }
          
          // mit der Verarbeitung des Skripts etwas warten, damit der erste Skriptstart keinen Fehler bringt
          // wenn der Datenpunkt noch nicht angelegt ist
          setTimeout(main,    500);
          
          

          Den Datenpunkt javascript.0.test.test1 kannst Du dann in VIS auswählen und visualisieren.

          1 Reply Last reply Reply Quote 0
          • M
            MartinHe last edited by

            @ruhr70:

            @MartinHe:

            Nun meine Frage:

            Wenn ich ein ganz einfaches Script schreibe:

            var test1 = 10;

            Wie kann ich dann in der VIS diese Variable ausgeben? `

            Vis greift auf die Datenpunkte zu, die von den Adaptern oder Deinen Skripten angelegt werden.

            Datenpunkte könne auch von Hand angelegt werden. Ich mache dies immer im Skript.

            Für Dein Beispiel:

            // Datenpunkt anlegen unter javascript.0.test.test1
            createState("test.test1", 0, {
                 name: 'Testdatenpunkt',
                 desc: 'Die Beschreibung des Testdatenpunkts',
                 type: 'number',
                 unit: '',
                 role: 'value'
            });
            
            function main() {
                var test 1 = 10;
            }
            
            // mit der Verarbeitung des Skripts etwas warten, damit der erste Skriptstart keinen Fehler bringt
            // wenn der Datenpunkt noch nicht angelegt ist
            setTimeout(main,    500);
            
            

            Den Datenpunkt javascript.0.test.test1 kannst Du dann in VIS auswählen und visualisieren. `

            Danke, die Info hat mir gefehlt.

            So klappt es super.

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

              Es fehlt noch der setState() und es ist ein Leerzeichen zuviel.

              function main() {
                  var test1 = 10;
                  setState('test.test1', test1, true);
              }
              
              
              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate
              FAQ Cloud / IOT
              HowTo: Node.js-Update
              HowTo: Backup/Restore
              Downloads
              BLOG

              617
              Online

              31.6k
              Users

              79.4k
              Topics

              1.3m
              Posts

              4
              5
              2518
              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