Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. variable auslesen und in eine andere variable schreiben

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    variable auslesen und in eine andere variable schreiben

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Feuer001 0 last edited by

      Hallo,

      ich habe das Problem, das ich von meiner Solaranlage einen Wert in einer Variable
      "variable1" wert: "1500W" bekomme und nun möchte ich dies gerne auf Veränderung prüfen und wenn dieser sich ändert diesen in eine neue Variable "variable2" wert z.B.:"1502W ändern"
      Also eigentlich den Variablen Inhalt von einer in eine andere schreiben.
      Vielleicht kann mir ja jemand ein Beispiel zeigen...?

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

        @feuer001-0 sagte: einen Wert in einer Variable "variable1"

        Du meinst in einem Datenpunkt?

        @feuer001-0 sagte in variable auslesen und in eine andere variable schreiben:

        auf Veränderung prüfen und wenn dieser sich ändert diesen in eine neue Variable "variable2"

        Prinzip:

        const id1 = 'adapter.0.variable1';
        const id2 = '0_userdata.0.variable2';
        
        on(id1, function(dp) { // triggert bei Wertänderung
           setState(id2, dp.state.val, true);
        });
        
        F 1 Reply Last reply Reply Quote 0
        • F
          Feuer001 0 @paul53 last edited by

          @paul53

          leider funktioniert das nicht so wie es soll, der neue Datenpunkt bekommt die neuen werte nicht.
          Hab aber auch eine Warnung unter den Scripts die ich aber nicht verstehe:

          16:59:16.801	warn	javascript.0 (1877) at Object.<anonymous> (script.js.common.Mappe_1.Solar:5:4)
          

          Mein Code sieht so aus...

          const id1 = 'modbus.0.inputRegisters.30775_Wirkleistung_Gesamt';
          const id2 = 'mqtt.0.ESP8266.Solar';
           
          on(id1, function(dp) { // triggert bei Wertänderung
             setState(id2, dp.state.val, true);
          });
          
          Homoran paul53 2 Replies Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Feuer001 0 last edited by Homoran

            @feuer001-0 sagte in variable auslesen und in eine andere variable schreiben:

            die ich aber nicht verstehe:

            ich auch nicht, da eine Zeile vorher fehlt
            Da muss der Fehler beschrieben sein, hier steht nur wo man suchen muss

            Existiert dp2? gleiche Schreibweise?

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

              @feuer001-0 sagte:

              16:59:16.801	warn	javascript.0 (1877) at Object.<anonymous> (script.js.common.Mappe_1.Solar:5:4)
              

              Ist der Datenpunkt neu erstellt und noch nicht im Javascript-Puffer? Dann starte mal die Javascript-Instanz neu.

              const id2 = 'mqtt.0.ESP8266.Solar';
              

              Soll der Wert and den ESP gesendet werden? Dann muss das true für Ack weggelassen werden:

                 setState(id2, dp.state.val);
              
              F 2 Replies Last reply Reply Quote 0
              • F
                Feuer001 0 @paul53 last edited by

                @paul53
                Javascript habe ich neu gestartet, auch wenn der Datenpunkt nicht neu ist.
                Der ESP hat ein Display und ruft diesen Datenpunkt ab, was auch funktioniert wenn ich manuell etwas in den Datenpunkt eintrage.
                Das ist alles was mir angezeigt wird.!?

                17:23:03.489	info	javascript.0 (2948) Start javascript script.js.common.Mappe_1.Solar
                17:23:03.554	info	javascript.0 (2948) script.js.common.Mappe_1.Solar: registered 1 subscription and 0 schedules
                17:23:08.115	warn	javascript.0 (2948) at Object.<anonymous> (script.js.common.Mappe_1.Solar:5:4)
                17:23:16.932	warn	javascript.0 (2948) at Object.<anonymous> (script.js.common.Mappe_1.Solar:5:4)
                17:23:18.079	info	javascript.0 (2948) Stop script script.js.common.Mappe_1.Solar
                

                Komisch ist auch das es vorher einmal lief und habe ich versucht in einen anderen Datenpunkt zu schreiben und das ging nicht und seitdem geht nix mehr. Hab auch schonmal den ganzen ioBroker neu gestartet, was aber auch nix gebracht hat.

                1 Reply Last reply Reply Quote 0
                • F
                  Feuer001 0 @paul53 last edited by

                  @paul53
                  Es läuft wieder....
                  habe den Datenpunkt mal gelöscht und neu erstellt und siehe da es geht wieder!!
                  SUPER, nochmals vielen lieben dank!

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  961
                  Online

                  31.7k
                  Users

                  79.6k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  689
                  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