Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Problem mit getStateAsync

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Problem mit getStateAsync

Scheduled Pinned Locked Moved Skripten / Logik
27 Posts 4 Posters 2.6k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    Automatisierer 0
    wrote on last edited by
    #1

    Hallo,

    Ich habe ein Problem mit getStateAsync.

    Der Script sieht so aus:

    // DP ezeugen und Initialisierung
    createState("0_userdata.0.Debug.Therme_-Heizkreis_1_Vorlaufemperatur(R)old", 0);
    setState("0_userdata.0.Debug.Therme
    -Heizkreis_1_Vorlaufemperatur(R)_old", 12);

    // Vorlauftemperatur Heizkreis geändert
    on({id: "knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-TH-Therme-Heizkreis_1_Vorlaufemperatur(R)", change: "any"}, async function (obj) {
    var value = obj.state.val;

    var MyoldValue = (await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-TH-Therme-Heizkreis_1_Vorlaufemperatur(R)_old")).val;
    sendTo("pushover", "send", {message: "---Lesen OLD", sound: "" });
    sendTo("pushover", "send", {message: "--- Callback Heizkreis Vorlauftemp Old: " + MyoldValue + "-", sound: "" });
    sendTo("pushover", "send", {message: "---Gelesen OLD", sound: "" });
    sendTo("pushover", "send", {message: "--- Callback Heizkreis Vorlauftemp Aktuell: " + value, sound: "" });
    sendTo("pushover", "send", {message: "---333333", sound: "" });

    // old_value setzen
    await setStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-TH-Therme-Heizkreis_1_Vorlaufemperatur(R)_old", value);
    })

    Es kommt die folgende fehlermeldungwenn das Script aufgerufen wird:
    script.js._Automation: TypeError: Cannot read property 'val' of null

    Frage 1:
    Was mache ich falsch?
    Frage 2:
    Gibt es irgendwo eine Beispielsammlung oder eine Einführung für Dummys wie man die Async Functions richtig anwendet?
    Frage 3:
    Die Reihenfolge der angezeigten Pushover Nachrichtenam Handy ist durcheinandergewürfelt.
    Wenn ich schreibe:
    async sendTo("pushover", "send", {message: "---Lesen OLD", sound: "" });
    dann mag der Compiler das nicht
    Wie mache ich das richtig ?

    ? haus-automatisierungH 2 Replies Last reply
    0
    • A Automatisierer 0

      Hallo,

      Ich habe ein Problem mit getStateAsync.

      Der Script sieht so aus:

      // DP ezeugen und Initialisierung
      createState("0_userdata.0.Debug.Therme_-Heizkreis_1_Vorlaufemperatur(R)old", 0);
      setState("0_userdata.0.Debug.Therme
      -Heizkreis_1_Vorlaufemperatur(R)_old", 12);

      // Vorlauftemperatur Heizkreis geändert
      on({id: "knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-TH-Therme-Heizkreis_1_Vorlaufemperatur(R)", change: "any"}, async function (obj) {
      var value = obj.state.val;

      var MyoldValue = (await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-TH-Therme-Heizkreis_1_Vorlaufemperatur(R)_old")).val;
      sendTo("pushover", "send", {message: "---Lesen OLD", sound: "" });
      sendTo("pushover", "send", {message: "--- Callback Heizkreis Vorlauftemp Old: " + MyoldValue + "-", sound: "" });
      sendTo("pushover", "send", {message: "---Gelesen OLD", sound: "" });
      sendTo("pushover", "send", {message: "--- Callback Heizkreis Vorlauftemp Aktuell: " + value, sound: "" });
      sendTo("pushover", "send", {message: "---333333", sound: "" });

      // old_value setzen
      await setStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-TH-Therme-Heizkreis_1_Vorlaufemperatur(R)_old", value);
      })

      Es kommt die folgende fehlermeldungwenn das Script aufgerufen wird:
      script.js._Automation: TypeError: Cannot read property 'val' of null

      Frage 1:
      Was mache ich falsch?
      Frage 2:
      Gibt es irgendwo eine Beispielsammlung oder eine Einführung für Dummys wie man die Async Functions richtig anwendet?
      Frage 3:
      Die Reihenfolge der angezeigten Pushover Nachrichtenam Handy ist durcheinandergewürfelt.
      Wenn ich schreibe:
      async sendTo("pushover", "send", {message: "---Lesen OLD", sound: "" });
      dann mag der Compiler das nicht
      Wie mache ich das richtig ?

      ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #2

      @automatisierer-0
      Pack Bitte Code Schnipsel nächstes mal in Code Tags. So ist es fast unmöglich den Code zu lesen. Aber ich glaube du hattest eine Klammer Zuviel. Probiere es mal so:

      var MyoldValue = await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-TH-Therme-Heizkreis_1_Vorlaufemperatur(R)_old").val;
      
      A 1 Reply Last reply
      0
      • ? A Former User

        @automatisierer-0
        Pack Bitte Code Schnipsel nächstes mal in Code Tags. So ist es fast unmöglich den Code zu lesen. Aber ich glaube du hattest eine Klammer Zuviel. Probiere es mal so:

        var MyoldValue = await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-TH-Therme-Heizkreis_1_Vorlaufemperatur(R)_old").val;
        
        A Offline
        A Offline
        Automatisierer 0
        wrote on last edited by
        #3

        @ciddi89
        Nein, so wie du schreibst gehts nicht --> Compilerfehler
        Was soll ich machen für die von dir gewünschten Code Tags?? Wie geht das?

        ? 1 Reply Last reply
        0
        • A Automatisierer 0

          @ciddi89
          Nein, so wie du schreibst gehts nicht --> Compilerfehler
          Was soll ich machen für die von dir gewünschten Code Tags?? Wie geht das?

          ? Offline
          ? Offline
          A Former User
          wrote on last edited by
          #4

          @automatisierer-0 dann pack das mal in Code Tags damit man das lesen kann…

          B6794C66-858A-4C75-9E91-90CC4E6C4824.jpeg

          1 Reply Last reply
          0
          • paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #5

            @automatisierer-0 sagte: Was mache ich falsch?

            Ich finde getStateAsync() nicht in der Funktionsdokumentation.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            A 1 Reply Last reply
            0
            • paul53P paul53

              @automatisierer-0 sagte: Was mache ich falsch?

              Ich finde getStateAsync() nicht in der Funktionsdokumentation.

              A Offline
              A Offline
              Automatisierer 0
              wrote on last edited by
              #6

              @paul53
              Ich auch nicht, daher meine Frage 2
              74f1ef3f-fc57-4ac2-896a-7bb1e28c9f39-grafik.png

              // DP ezeugen und Initialisierung
              createState("0_userdata.0.Debug.Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old", 0);
              setState("0_userdata.0.Debug.Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old", 12); 
              
              // Vorlauftemperatur Heizkreis geändert
              on({id: "knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)", change: "any"}, async function (obj) {
                var value = obj.state.val
               
                var MyoldValue = (await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old")).val; 
                sendTo("pushover", "send", {message: "---Lesen OLD", sound: "" }); 
                sendTo("pushover", "send", {message: "--- Callback Heizkreis Vorlauftemp Old: " + MyoldValue + "-", sound: "" });
                sendTo("pushover", "send", {message: "---Gelesen OLD", sound: "" }); 
                sendTo("pushover", "send", {message: "--- Callback Heizkreis Vorlauftemp Aktuell: " + value, sound: "" });     
                sendTo("pushover", "send", {message: "---333333", sound: "" }); 
              
                // old_value setzen
                await setStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old", value);   
              
              })
              
              ? paul53P 2 Replies Last reply
              0
              • A Automatisierer 0

                @paul53
                Ich auch nicht, daher meine Frage 2
                74f1ef3f-fc57-4ac2-896a-7bb1e28c9f39-grafik.png

                // DP ezeugen und Initialisierung
                createState("0_userdata.0.Debug.Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old", 0);
                setState("0_userdata.0.Debug.Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old", 12); 
                
                // Vorlauftemperatur Heizkreis geändert
                on({id: "knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)", change: "any"}, async function (obj) {
                  var value = obj.state.val
                 
                  var MyoldValue = (await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old")).val; 
                  sendTo("pushover", "send", {message: "---Lesen OLD", sound: "" }); 
                  sendTo("pushover", "send", {message: "--- Callback Heizkreis Vorlauftemp Old: " + MyoldValue + "-", sound: "" });
                  sendTo("pushover", "send", {message: "---Gelesen OLD", sound: "" }); 
                  sendTo("pushover", "send", {message: "--- Callback Heizkreis Vorlauftemp Aktuell: " + value, sound: "" });     
                  sendTo("pushover", "send", {message: "---333333", sound: "" }); 
                
                  // old_value setzen
                  await setStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old", value);   
                
                })
                
                ? Offline
                ? Offline
                A Former User
                wrote on last edited by
                #7

                @automatisierer-0 getStateAsync gibt es. Nutze es auch in einem Script. Versuche es mal so: So ist es in meinem script auch.

                const MyoldObj = await getStateAsync(`knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old`);
                let MyoldValue = MyoldObj.val;
                
                1 Reply Last reply
                0
                • A Automatisierer 0

                  @paul53
                  Ich auch nicht, daher meine Frage 2
                  74f1ef3f-fc57-4ac2-896a-7bb1e28c9f39-grafik.png

                  // DP ezeugen und Initialisierung
                  createState("0_userdata.0.Debug.Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old", 0);
                  setState("0_userdata.0.Debug.Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old", 12); 
                  
                  // Vorlauftemperatur Heizkreis geändert
                  on({id: "knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)", change: "any"}, async function (obj) {
                    var value = obj.state.val
                   
                    var MyoldValue = (await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old")).val; 
                    sendTo("pushover", "send", {message: "---Lesen OLD", sound: "" }); 
                    sendTo("pushover", "send", {message: "--- Callback Heizkreis Vorlauftemp Old: " + MyoldValue + "-", sound: "" });
                    sendTo("pushover", "send", {message: "---Gelesen OLD", sound: "" }); 
                    sendTo("pushover", "send", {message: "--- Callback Heizkreis Vorlauftemp Aktuell: " + value, sound: "" });     
                    sendTo("pushover", "send", {message: "---333333", sound: "" }); 
                  
                    // old_value setzen
                    await setStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old", value);   
                  
                  })
                  
                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by paul53
                  #8

                  @automatisierer-0
                  Im Javascript-Adapter ist die Funktion allerdings implementiert.
                  Weshalb möchtest Du getStateAsync() verwenden? Hast Du den Puffer in der Javascript-Instanz deaktiviert?

                  var MyoldValue = (await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old")).val;
                  

                  Die Klammern sind falsch.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  A 2 Replies Last reply
                  0
                  • A Automatisierer 0

                    Hallo,

                    Ich habe ein Problem mit getStateAsync.

                    Der Script sieht so aus:

                    // DP ezeugen und Initialisierung
                    createState("0_userdata.0.Debug.Therme_-Heizkreis_1_Vorlaufemperatur(R)old", 0);
                    setState("0_userdata.0.Debug.Therme
                    -Heizkreis_1_Vorlaufemperatur(R)_old", 12);

                    // Vorlauftemperatur Heizkreis geändert
                    on({id: "knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-TH-Therme-Heizkreis_1_Vorlaufemperatur(R)", change: "any"}, async function (obj) {
                    var value = obj.state.val;

                    var MyoldValue = (await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-TH-Therme-Heizkreis_1_Vorlaufemperatur(R)_old")).val;
                    sendTo("pushover", "send", {message: "---Lesen OLD", sound: "" });
                    sendTo("pushover", "send", {message: "--- Callback Heizkreis Vorlauftemp Old: " + MyoldValue + "-", sound: "" });
                    sendTo("pushover", "send", {message: "---Gelesen OLD", sound: "" });
                    sendTo("pushover", "send", {message: "--- Callback Heizkreis Vorlauftemp Aktuell: " + value, sound: "" });
                    sendTo("pushover", "send", {message: "---333333", sound: "" });

                    // old_value setzen
                    await setStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-TH-Therme-Heizkreis_1_Vorlaufemperatur(R)_old", value);
                    })

                    Es kommt die folgende fehlermeldungwenn das Script aufgerufen wird:
                    script.js._Automation: TypeError: Cannot read property 'val' of null

                    Frage 1:
                    Was mache ich falsch?
                    Frage 2:
                    Gibt es irgendwo eine Beispielsammlung oder eine Einführung für Dummys wie man die Async Functions richtig anwendet?
                    Frage 3:
                    Die Reihenfolge der angezeigten Pushover Nachrichtenam Handy ist durcheinandergewürfelt.
                    Wenn ich schreibe:
                    async sendTo("pushover", "send", {message: "---Lesen OLD", sound: "" });
                    dann mag der Compiler das nicht
                    Wie mache ich das richtig ?

                    haus-automatisierungH Offline
                    haus-automatisierungH Offline
                    haus-automatisierung
                    Developer Most Active
                    wrote on last edited by haus-automatisierung
                    #9

                    Das Script stimmt ja erstmal, aber ist der State auch wirklich gesetzt / enthält einen Wert? Wenn man ein neues Objekt vom Typ state anlegt, dann ist dort erstmal kein State gespeichert und man bekommt null.

                    @automatisierer-0 sagte in Problem mit getStateAsync:

                    script.js._Automation: TypeError: Cannot read property 'val' of null

                    Denn: Da kam ja null zurück. Also darauf prüfen:

                    const state = await getStateAsync(`knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old`);
                    
                    if (state) {
                        const value = state.val;
                    }
                    

                    @automatisierer-0 sagte in Problem mit getStateAsync:

                    Die Reihenfolge der angezeigten Pushover Nachrichtenam Handy ist durcheinandergewürfelt.

                    Dann musst du mit await sendToAsync() arbeiten und auf das Ergebnis warten.

                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                    📚 Meine inoffizielle ioBroker Dokumentation

                    A 1 Reply Last reply
                    0
                    • paul53P paul53

                      @automatisierer-0
                      Im Javascript-Adapter ist die Funktion allerdings implementiert.
                      Weshalb möchtest Du getStateAsync() verwenden? Hast Du den Puffer in der Javascript-Instanz deaktiviert?

                      var MyoldValue = (await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old")).val;
                      

                      Die Klammern sind falsch.

                      A Offline
                      A Offline
                      Automatisierer 0
                      wrote on last edited by
                      #10

                      @paul53
                      Wie ist es richtig?

                      paul53P 1 Reply Last reply
                      0
                      • A Automatisierer 0

                        @paul53
                        Wie ist es richtig?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by paul53
                        #11

                        @automatisierer-0 sagte: Wie ist es richtig?

                        var MyoldValue = await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old").val;
                        

                        Vielleicht kann man mit .val auch erst nachträglich auf das Objekt zugreifen? Wie @ciddi89 gezeigt hat:

                        const MyoldObj = await getStateAsync('knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old');
                        let MyoldValue = MyoldObj.val;
                        

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        A 2 Replies Last reply
                        0
                        • paul53P paul53

                          @automatisierer-0 sagte: Wie ist es richtig?

                          var MyoldValue = await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old").val;
                          

                          Vielleicht kann man mit .val auch erst nachträglich auf das Objekt zugreifen? Wie @ciddi89 gezeigt hat:

                          const MyoldObj = await getStateAsync('knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old');
                          let MyoldValue = MyoldObj.val;
                          
                          A Offline
                          A Offline
                          Automatisierer 0
                          wrote on last edited by
                          #12

                          @paul53 said in Problem mit getStateAsync:

                          var MyoldValue = await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-TH-Therme-Heizkreis_1_Vorlaufemperatur(R)_old").val;

                          NEIN: bringt Compilerfehler

                          1 Reply Last reply
                          0
                          • paul53P paul53

                            @automatisierer-0 sagte: Wie ist es richtig?

                            var MyoldValue = await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old").val;
                            

                            Vielleicht kann man mit .val auch erst nachträglich auf das Objekt zugreifen? Wie @ciddi89 gezeigt hat:

                            const MyoldObj = await getStateAsync('knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old');
                            let MyoldValue = MyoldObj.val;
                            
                            A Offline
                            A Offline
                            Automatisierer 0
                            wrote on last edited by
                            #13

                            @paul53 said in Problem mit getStateAsync:

                            const MyoldObj = await getStateAsync(knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old);

                            NEIN: Gleicher Fehler, funktioniert nicht

                            paul53P 1 Reply Last reply
                            0
                            • A Automatisierer 0

                              @paul53 said in Problem mit getStateAsync:

                              const MyoldObj = await getStateAsync(knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old);

                              NEIN: Gleicher Fehler, funktioniert nicht

                              paul53P Offline
                              paul53P Offline
                              paul53
                              wrote on last edited by
                              #14

                              @automatisierer-0 sagte: funktioniert nicht

                              Tausche die ` gegen Hochkommata aus.

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              1 Reply Last reply
                              0
                              • haus-automatisierungH haus-automatisierung

                                Das Script stimmt ja erstmal, aber ist der State auch wirklich gesetzt / enthält einen Wert? Wenn man ein neues Objekt vom Typ state anlegt, dann ist dort erstmal kein State gespeichert und man bekommt null.

                                @automatisierer-0 sagte in Problem mit getStateAsync:

                                script.js._Automation: TypeError: Cannot read property 'val' of null

                                Denn: Da kam ja null zurück. Also darauf prüfen:

                                const state = await getStateAsync(`knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old`);
                                
                                if (state) {
                                    const value = state.val;
                                }
                                

                                @automatisierer-0 sagte in Problem mit getStateAsync:

                                Die Reihenfolge der angezeigten Pushover Nachrichtenam Handy ist durcheinandergewürfelt.

                                Dann musst du mit await sendToAsync() arbeiten und auf das Ergebnis warten.

                                A Offline
                                A Offline
                                Automatisierer 0
                                wrote on last edited by
                                #15

                                @haus-automatisierung said in Problem mit getStateAsync:

                                Dann musst du mit await sendToAsync() arbeiten und auf das Ergebnis warten.

                                Kannst du mir bitte die Codezeile schreiben wie es richtg sein soll?
                                Die Alte ist:

                                sendTo("pushover", "send", {message: "---Lesen OLD", sound: "" }); 
                                
                                haus-automatisierungH 1 Reply Last reply
                                0
                                • paul53P paul53

                                  @automatisierer-0
                                  Im Javascript-Adapter ist die Funktion allerdings implementiert.
                                  Weshalb möchtest Du getStateAsync() verwenden? Hast Du den Puffer in der Javascript-Instanz deaktiviert?

                                  var MyoldValue = (await getStateAsync("knx.0.Heizung_und_Temp_(HZ).Alles_(Zentral).HZ_-_TH_-_Therme_-_Heizkreis_1_Vorlaufemperatur_(R)_old")).val;
                                  

                                  Die Klammern sind falsch.

                                  A Offline
                                  A Offline
                                  Automatisierer 0
                                  wrote on last edited by
                                  #16

                                  @paul53 said in Problem mit getStateAsync:

                                  Hast Du den Puffer in der Javascript-Instanz deaktiviert?

                                  Nein. Bitte wie mache ich das ?

                                  ? 1 Reply Last reply
                                  0
                                  • A Automatisierer 0

                                    @haus-automatisierung said in Problem mit getStateAsync:

                                    Dann musst du mit await sendToAsync() arbeiten und auf das Ergebnis warten.

                                    Kannst du mir bitte die Codezeile schreiben wie es richtg sein soll?
                                    Die Alte ist:

                                    sendTo("pushover", "send", {message: "---Lesen OLD", sound: "" }); 
                                    
                                    haus-automatisierungH Offline
                                    haus-automatisierungH Offline
                                    haus-automatisierung
                                    Developer Most Active
                                    wrote on last edited by
                                    #17

                                    @automatisierer-0 sagte in Problem mit getStateAsync:

                                    Kannst du mir bitte die Codezeile schreiben wie es richtg sein soll?

                                    Na

                                    await sendToAsync("pushover", "send", { message: "---Lesen OLD", sound: "" });
                                    

                                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                    📚 Meine inoffizielle ioBroker Dokumentation

                                    A 1 Reply Last reply
                                    0
                                    • A Automatisierer 0

                                      @paul53 said in Problem mit getStateAsync:

                                      Hast Du den Puffer in der Javascript-Instanz deaktiviert?

                                      Nein. Bitte wie mache ich das ?

                                      ? Offline
                                      ? Offline
                                      A Former User
                                      wrote on last edited by
                                      #18

                                      @automatisierer-0 das mit den Puffer lass mal sein.
                                      Frage: Warum muss es unbedingt async sein? Hier reicht der ganz normale getState aus. Finde merkwürdig das du ein Compiler Fehler bekommst. Was sagt der genau? Hab es in mehreren scripts genau so und da kommt kein Fehler. Steht da wirklich schon was im Datenpunkt drin den du abfragen möchtest? Finde keine Antwort auf die Frage die Hausautomatisierung dir gestellt hat.

                                      1 Reply Last reply
                                      0
                                      • haus-automatisierungH haus-automatisierung

                                        @automatisierer-0 sagte in Problem mit getStateAsync:

                                        Kannst du mir bitte die Codezeile schreiben wie es richtg sein soll?

                                        Na

                                        await sendToAsync("pushover", "send", { message: "---Lesen OLD", sound: "" });
                                        
                                        A Offline
                                        A Offline
                                        Automatisierer 0
                                        wrote on last edited by
                                        #19

                                        @haus-automatisierung said in Problem mit getStateAsync:

                                        await sendToAsync("pushover", "send", { message: "---Lesen OLD", sound: "" });

                                        Image 029.jpg

                                        haus-automatisierungH 1 Reply Last reply
                                        0
                                        • A Automatisierer 0

                                          @haus-automatisierung said in Problem mit getStateAsync:

                                          await sendToAsync("pushover", "send", { message: "---Lesen OLD", sound: "" });

                                          Image 029.jpg

                                          haus-automatisierungH Offline
                                          haus-automatisierungH Offline
                                          haus-automatisierung
                                          Developer Most Active
                                          wrote on last edited by haus-automatisierung
                                          #20

                                          @automatisierer-0 Naja, die Doku und Type Definition ist scheinbar nicht ganz vollständig (hatten wir ja oben schon). Soll ich auf die Stelle im GitHub Repo verlinken, dass es die Funktion gibt? :)

                                          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                          📚 Meine inoffizielle ioBroker Dokumentation

                                          A 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          319

                                          Online

                                          32.5k

                                          Users

                                          81.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe