Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wert wird nicht gelesen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wert wird nicht gelesen

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

      Bei meinem ersten Skript habe ich das Problem, dass ich statt des Werts nur den Namen erhalten.

      Mein kleines Hello-World-Programm schaut so aus

      schedule("*/10 * * * * *", function () {
      
      var Luftdruck = "hm-rega.0.2464"/*Luftdruck*/
      var Luftdruck1 = "hm-rega.0.2464.state"/*Luftdruck*/
      
      log(Luftdruck, "info");
      log(Luftdruck1, "info");
      
      if (Luftdruck > 1010)  {         log("Luftdruck > 1010 hPa", "info");     }
      });
      

      Aber statt des erwarteten Werts erhalte ich die Objekt-Daten

      14:17:09.923	[info]	javascript.0 script.js.Test_Abfrage_Luftdruck: schedule(cron=*/10 * * * * *)
      [info]	javascript.0 script.js.Test_Abfrage_Luftdruck: registered 0 subscriptions and 1 schedule
      [info]	javascript.0 script.js.Test_Abfrage_Luftdruck: hm-rega.0.2464
      [info]	javascript.0 script.js.Test_Abfrage_Luftdruck: hm-rega.0.2464.state
      [info]	javascript.0 Stop script script.js.Test_Abfrage_Luftdruck
      

      Was mache ich falsch?

      Wie komme ich an Wert selbst?

      1 Reply Last reply Reply Quote 0
      • T
        tempestas last edited by

        getState(Luftdruck).val
        
        
        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 last edited by

          const idLuftdruck = getIdByName('Luftdruck'); 
          
          on(idLuftdruck, function(dp) {
             var Luftdruck = dp.state.val;
             log('Luftdruck: ' + Luftdruck + ' hPa');
          });
          

          getIdByName(name) funktioniert nur, wenn der Name "Luftdruck" nur einmal (an die SV) vergeben wurde.

          1 Reply Last reply Reply Quote 0
          • K
            Karl_999 last edited by

            @tempestas:

            getState(Luftdruck).val
            
            ```` `  
            

            Danke, das funktioniert.

            @paul53:

            const idLuftdruck = getIdByName('Luftdruck'); 
            
            on(idLuftdruck, function(dp) {
               var Luftdruck = dp.state.val;
               log('Luftdruck: ' + Luftdruck + ' hPa');
            });
            

            getIdByName(name) funktioniert nur, wenn der Name "Luftdruck" nur einmal (an die SV) vergeben wurde. `
            Das verstehe ich nicht.

            Was meinst Du damit?

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

              @Karl_999:

              Was meinst Du damit? `
              Objekt-Namen sind in ioBroker nicht zwingend eindeutig, d.h. der gleiche Name (im Beispiel "Luftdruck") kann mehrfach vergeben sein. Ist der Name mehrfach vergeben, liefert die Funktion getIdByName(name) ein Array mit mehreren IDs, denn IDs sind immer eindeutig.

              const idLuftdruck = getIdByName('Luftdruck'); 
              

              kann ersetzt werden durch

              const idLuftdruck = "hm-rega.0.2464"/*Luftdruck*/; 
              

              Die Verwendung der Funktion getIdByName(name) ist gerade bei Systemvariablen sinnvoll, da die ID keine Aussagekraft hat.

              1 Reply Last reply Reply Quote 0
              • K
                Karl_999 last edited by

                Danke für die ausführliche Erklärung!

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

                Support us

                ioBroker
                Community Adapters
                Donate

                476
                Online

                31.9k
                Users

                80.2k
                Topics

                1.3m
                Posts

                3
                6
                580
                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