Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Automatisierung
    5. JavaScript und Tuya

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    JavaScript und Tuya

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

      Moin,
      ich messe die Leistung meiner Solaranlage mit einer WLAN-Steckdose. Über den Tuya-Adapter habe ich sie erfolgreich in den ioBroker eingebunden. Nun möchte ich die aktuelle Leistung auslesen und in einem Datenpunkt speichern. Dazu habe ich (abgeleitet von Blockly) folgendes Script erstellt.

      on({id: "tuya.0.bfcf767c97aecb2b5dawpe.19"/*cur_power*/, change: "ne"}, async function (obj) {
       
       var value = obj.state.val;
        var oldValue = obj.oldState.val;
        
      getState("tuya.0.bfcf767c97aecb2b5dawpe.19", async function (err, state) {
         var value = state.val;
       log(value);
      setState('0_userdata.0.Solar_Aktuell', (value));
      
      });
      

      Leider will es nicht laufen und ich finde den Fehler nicht ...

      Latzi paul53 2 Replies Last reply Reply Quote 0
      • Latzi
        Latzi @Theophilus last edited by

        @theophilus
        versuch´s mal damit:

        on({id: "tuya.0.bfcf767c97aecb2b5dawpe.19"/*cur_power*/, change: "any"}, async function (obj) {
         var value = obj.state.val;
         setState('0_userdata.0.Solar_Aktuell', value); 
         log(value);
        });
        
        1 Reply Last reply Reply Quote 0
        • T
          Theophilus last edited by

          @latzi Super, das funktioniert, danke!

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

            @theophilus sagte: 0_userdata.0.Solar_Aktuell

            Damit die Objekte unter "0_userdata.0" nicht schnell unübersichtlich viele werden, empfehle ich, Ordner vom Typ "folder" oder "device" zu erstellen und erst darunter die Datenpunkte. Die Datenpunkt-ID wäre dann z.B. "0_userdata.0.Solar.Leistung".

            Blockly_temp.JPG

            Blockly liefert leider keine guten Vorgaben für strukturierten Javascript-Code, der z.B. so aussehen kann:

            const idSrc = "tuya.0.bfcf767c97aecb2b5dawpe.19";
            const idDst = "0_userdata.0.Solar.Leistung";
            
            on(idSrc, function(dp) { // triggert bei Wertänderung
                setState(idDst, dp.state.val, true); 
            });
            

            Es gibt eine Doku zu den Funktionen des Javascript-Adapters.

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

              @paul53 Super, danke für den Hinweis auf die Doku, sowas habe ich vermisst.

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

              Support us

              ioBroker
              Community Adapters
              Donate

              963
              Online

              31.7k
              Users

              79.7k
              Topics

              1.3m
              Posts

              3
              5
              324
              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