Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [gelöst] auf globale Objekt kann nicht zugegriffen werden

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    944

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[gelöst] auf globale Objekt kann nicht zugegriffen werden

Geplant Angeheftet Gesperrt Verschoben JavaScript
52 Beiträge 5 Kommentatoren 1.4k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Ben1983B Ben1983

    @haus-automatisierung nutzt Du immer sendTo?
    Oder auch messageTo (innerhalb von Skripten)?

    haus-automatisierungH Offline
    haus-automatisierungH Offline
    haus-automatisierung
    Developer Most Active
    schrieb am zuletzt editiert von haus-automatisierung
    #11

    @ben1983 sagte in auf globale Objekt kann nicht zugegriffen werden:

    Oder auch messageTo (innerhalb von Skripten)?

    Ist technisch genau das gleiche. messageTo nutzt auch sendTo.

    https://github.com/ioBroker/ioBroker.javascript/blob/ae0a27b3edca7e346ddfbff81df40ff77fbfbcd8/lib/sandbox.js#L3526-L3573

    https://github.com/ioBroker/ioBroker.javascript/blob/ae0a27b3edca7e346ddfbff81df40ff77fbfbcd8/main.js#L724-L725

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

    Ben1983B 1 Antwort Letzte Antwort
    0
    • haus-automatisierungH haus-automatisierung

      @ben1983 sagte in auf globale Objekt kann nicht zugegriffen werden:

      Oder auch messageTo (innerhalb von Skripten)?

      Ist technisch genau das gleiche. messageTo nutzt auch sendTo.

      https://github.com/ioBroker/ioBroker.javascript/blob/ae0a27b3edca7e346ddfbff81df40ff77fbfbcd8/lib/sandbox.js#L3526-L3573

      https://github.com/ioBroker/ioBroker.javascript/blob/ae0a27b3edca7e346ddfbff81df40ff77fbfbcd8/main.js#L724-L725

      Ben1983B Offline
      Ben1983B Offline
      Ben1983
      schrieb am zuletzt editiert von
      #12

      @haus-automatisierung OK, danke

      Ich bekomme nur bei der messageTo den log geschrieben, was ist denn beim SendTo falsch?

      
      messageTo("Testmessage",{name:"Testname"},(callbackdata)=>{
          log(JSON.stringify(callbackdata));   
      });
      
      sendTo("javascript.0",'toScript', {
              script: 'script.js.x_testskripte._a_Mesagetest', 
              message: 'Testmessage', 
              data: {
                  flag: true
              },function(res){
                  log(JSON.stringify(res));
              } 
      });
      
      onMessage("Testmessage",(messagedata,callback) =>{
          const myData = {input: messagedata,
                          output:{name:"Test"}};
          callback(myData)
      });
      

      Ps. die funktionieren NUR mit callback,oder?
      Also mit return kann man nichts zurückgeben, dass man das Ergebnis einer Funktion in einer Zeile direkt zuweisen kann.
      Oder?

      haus-automatisierungH 1 Antwort Letzte Antwort
      0
      • Ben1983B Ben1983

        @haus-automatisierung OK, danke

        Ich bekomme nur bei der messageTo den log geschrieben, was ist denn beim SendTo falsch?

        
        messageTo("Testmessage",{name:"Testname"},(callbackdata)=>{
            log(JSON.stringify(callbackdata));   
        });
        
        sendTo("javascript.0",'toScript', {
                script: 'script.js.x_testskripte._a_Mesagetest', 
                message: 'Testmessage', 
                data: {
                    flag: true
                },function(res){
                    log(JSON.stringify(res));
                } 
        });
        
        onMessage("Testmessage",(messagedata,callback) =>{
            const myData = {input: messagedata,
                            output:{name:"Test"}};
            callback(myData)
        });
        

        Ps. die funktionieren NUR mit callback,oder?
        Also mit return kann man nichts zurückgeben, dass man das Ergebnis einer Funktion in einer Zeile direkt zuweisen kann.
        Oder?

        haus-automatisierungH Offline
        haus-automatisierungH Offline
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von haus-automatisierung
        #13

        @ben1983 sagte in auf globale Objekt kann nicht zugegriffen werden:

        Also mit return kann man nichts zurückgeben, dass man das Ergebnis einer Funktion in einer Zeile direkt zuweisen kann.

        Na Du kannst doch mit sendToAsync und await arbeiten. Ganz normal mit Promises halt.

        https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#sendtoasync

        Oder halt messageToAsync:

        https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#messagetoasync

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

        Ben1983B 1 Antwort Letzte Antwort
        0
        • haus-automatisierungH haus-automatisierung

          @ben1983 sagte in auf globale Objekt kann nicht zugegriffen werden:

          Also mit return kann man nichts zurückgeben, dass man das Ergebnis einer Funktion in einer Zeile direkt zuweisen kann.

          Na Du kannst doch mit sendToAsync und await arbeiten. Ganz normal mit Promises halt.

          https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#sendtoasync

          Oder halt messageToAsync:

          https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#messagetoasync

          Ben1983B Offline
          Ben1983B Offline
          Ben1983
          schrieb am zuletzt editiert von Ben1983
          #14

          @haus-automatisierung AH ok... hatte mir mal etwas drum rum gebaut, weil damals ein fehler im sendToAsynch war... weiß leider nicht mehr was :-(

          async function mySendToAsync(_adapter, cmd, msg) {
              return new Promise((resolve, reject) => {
                  sendTo(_adapter, cmd, msg, res => {
                      if (!res || res.error) {
                          reject(res ? res.error : new Error('Unknown error'));
                      } else {
                          resolve(res);
                      }
                  });
              });
          }
          

          also kann man auch normal jetzt das messageToAsynch benutzen, oder wie?

          Trotzdem macht er irgendwie meinen Callback nicht, ob wohl ich den aufrufe. (im sendTo)

          haus-automatisierungH 1 Antwort Letzte Antwort
          0
          • Ben1983B Ben1983

            @haus-automatisierung AH ok... hatte mir mal etwas drum rum gebaut, weil damals ein fehler im sendToAsynch war... weiß leider nicht mehr was :-(

            async function mySendToAsync(_adapter, cmd, msg) {
                return new Promise((resolve, reject) => {
                    sendTo(_adapter, cmd, msg, res => {
                        if (!res || res.error) {
                            reject(res ? res.error : new Error('Unknown error'));
                        } else {
                            resolve(res);
                        }
                    });
                });
            }
            

            also kann man auch normal jetzt das messageToAsynch benutzen, oder wie?

            Trotzdem macht er irgendwie meinen Callback nicht, ob wohl ich den aufrufe. (im sendTo)

            haus-automatisierungH Offline
            haus-automatisierungH Offline
            haus-automatisierung
            Developer Most Active
            schrieb am zuletzt editiert von
            #15

            @ben1983 sagte in auf globale Objekt kann nicht zugegriffen werden:

            also kann man auch normal jetzt das messageToAsynch benutzen, oder wie?

            Hatte ich doch schon geschrieben, dass die beiden Funktionen praktisch identisch sind. Siehe Code. messageTo hat halt eine etwas andere Signatur und braucht weniger Infos. Siehe Doku.

            Ich hatte das hier gefixt: https://github.com/ioBroker/ioBroker.javascript/pull/1343

            Einfach die aktuellste Stable version nehmen dann passts.

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

            Ben1983B 1 Antwort Letzte Antwort
            0
            • Ben1983B Ben1983

              @haus-automatisierung Ah ok.

              Schade,dass es nicht geht. Dann bekomme ich halt lauter Fehlermeldungen und weiß nicht, ob es wirklich Fehler sind.

              Ich habe es so "umständlich" definiert,
              da ich einzelne "Bereiche" habe und und dort immer wieder dann etwas hinzufüge.
              Also nicht alles in einem Block definiere.

              Am besten feature request als issue?

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von
              #16

              @ben1983 sagte in auf globale Objekt kann nicht zugegriffen werden:

              Schade,dass es nicht geht. Dann bekomme ich halt lauter Fehlermeldungen und weiß nicht, ob es wirklich Fehler sind.

              du könntest, zumindest temporär, die zeilen in dem das objekt aufgebaut wird in dein skript kopieren. dann funktioniert auch die vervollständigung.
              wenn dann alles getestet ist und es funktioniert, dann entfernst du die zeilen wieder und die zeilen aus global wirken.

              das einmalige definieren in global ist vor allem dann gut, wenn du regelmäßig das objekt in seiner definition erweiterst und du dir arbeit sparen willst. dadurch werden fehler reduziert.

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              1 Antwort Letzte Antwort
              0
              • haus-automatisierungH haus-automatisierung

                @ben1983 sagte in auf globale Objekt kann nicht zugegriffen werden:

                also kann man auch normal jetzt das messageToAsynch benutzen, oder wie?

                Hatte ich doch schon geschrieben, dass die beiden Funktionen praktisch identisch sind. Siehe Code. messageTo hat halt eine etwas andere Signatur und braucht weniger Infos. Siehe Doku.

                Ich hatte das hier gefixt: https://github.com/ioBroker/ioBroker.javascript/pull/1343

                Einfach die aktuellste Stable version nehmen dann passts.

                Ben1983B Offline
                Ben1983B Offline
                Ben1983
                schrieb am zuletzt editiert von Ben1983
                #17

                @haus-automatisierung OK. Cool.

                Könntest DU mir freundlicherweise noch sagen, warum ich hier keinen Log der Daten im Callback bekomme?
                Ich finde es nicht. Aufruf wird geloggt

                sendTo("javascript.0",'toScript', {
                        script: 'script.js.x_testskripte._a_Mesagetest', 
                        message: 'Testmessage', 
                        data: {
                            flag: true
                        },function(res){
                            log(JSON.stringify(res));
                        } 
                });
                
                onMessage("Testmessage",(messagedata,callback) =>{
                    const myData = {input: messagedata,
                                    output:{name:"Test"}};
                    callback(myData)
                    log("Aufruf ");
                });
                
                haus-automatisierungH 1 Antwort Letzte Antwort
                0
                • Ben1983B Ben1983

                  @haus-automatisierung OK. Cool.

                  Könntest DU mir freundlicherweise noch sagen, warum ich hier keinen Log der Daten im Callback bekomme?
                  Ich finde es nicht. Aufruf wird geloggt

                  sendTo("javascript.0",'toScript', {
                          script: 'script.js.x_testskripte._a_Mesagetest', 
                          message: 'Testmessage', 
                          data: {
                              flag: true
                          },function(res){
                              log(JSON.stringify(res));
                          } 
                  });
                  
                  onMessage("Testmessage",(messagedata,callback) =>{
                      const myData = {input: messagedata,
                                      output:{name:"Test"}};
                      callback(myData)
                      log("Aufruf ");
                  });
                  
                  haus-automatisierungH Offline
                  haus-automatisierungH Offline
                  haus-automatisierung
                  Developer Most Active
                  schrieb am zuletzt editiert von haus-automatisierung
                  #18

                  @ben1983 sagte in auf globale Objekt kann nicht zugegriffen werden:

                  Könntest DU mir freundlicherweise noch sagen, warum ich hier keinen Log der Daten im Callback bekomme?

                  Deine Klammern sind falsch. Die Function ist teil des Msg-Objektes und nicht als separater Parameter definiert. Wenn Du den Code schöner formatieren würdest, siehst Du das auch auf einen Blick :)

                  So gehts:

                  sendTo(
                      'javascript.0',
                      'toScript',
                      {
                          script: 'script.js.test.playground', 
                          message: 'Testmessage', 
                          data: {
                              flag: true
                          }
                      },
                      (res) => {
                          console.log(JSON.stringify(res));
                      }
                  );
                  
                  onMessage('Testmessage', (messagedata, callback) => {
                      console.log('Aufruf');
                      const myData = {
                          input: messagedata,
                          output: {
                              name: 'Test'
                          }
                      };
                  
                      callback(myData);
                  });
                  

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

                  Ben1983B 1 Antwort Letzte Antwort
                  0
                  • haus-automatisierungH haus-automatisierung

                    @ben1983 sagte in auf globale Objekt kann nicht zugegriffen werden:

                    Könntest DU mir freundlicherweise noch sagen, warum ich hier keinen Log der Daten im Callback bekomme?

                    Deine Klammern sind falsch. Die Function ist teil des Msg-Objektes und nicht als separater Parameter definiert. Wenn Du den Code schöner formatieren würdest, siehst Du das auch auf einen Blick :)

                    So gehts:

                    sendTo(
                        'javascript.0',
                        'toScript',
                        {
                            script: 'script.js.test.playground', 
                            message: 'Testmessage', 
                            data: {
                                flag: true
                            }
                        },
                        (res) => {
                            console.log(JSON.stringify(res));
                        }
                    );
                    
                    onMessage('Testmessage', (messagedata, callback) => {
                        console.log('Aufruf');
                        const myData = {
                            input: messagedata,
                            output: {
                                name: 'Test'
                            }
                        };
                    
                        callback(myData);
                    });
                    
                    Ben1983B Offline
                    Ben1983B Offline
                    Ben1983
                    schrieb am zuletzt editiert von Ben1983
                    #19

                    @haus-automatisierung OK. Danke

                    Beim Verwendet von messageToAsynch tritt dieser Fehler auf:

                    messageToAsync("Testmessage",{name:"Testname"});
                    
                    	javascript.0 (20591) script.js.x_testskripte._a_Mesagetest: TypeError: Cannot read properties of undefined (reading 'timeout')
                    
                    haus-automatisierungH T 2 Antworten Letzte Antwort
                    0
                    • Ben1983B Ben1983

                      @haus-automatisierung OK.
                      Meinst DU es ist "Besser" das Objekt nur dazu definieren, wo es gebraucht wird?
                      Also dann im worst case 2-3 mal in unterschiedlichen Skripten und den Global Ordner so gar nicht nutzen?

                      Lerne ja gerne dazu :-)

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #20

                      @ben1983 sagte: "Besser" das Objekt nur dazu definieren, wo es gebraucht wird?

                      Ja. Die Gruppe "global" verwendet man für häufig verwendete eigene Funktionen.
                      Mit globalen Objektdefinitionen müllt man sich den RAM der Javascript-Instanz zu, da sie in jedem nicht globalen Skript kompiliert werden.

                      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

                      Ben1983B 1 Antwort Letzte Antwort
                      0
                      • Ben1983B Ben1983

                        @haus-automatisierung OK. Danke

                        Beim Verwendet von messageToAsynch tritt dieser Fehler auf:

                        messageToAsync("Testmessage",{name:"Testname"});
                        
                        	javascript.0 (20591) script.js.x_testskripte._a_Mesagetest: TypeError: Cannot read properties of undefined (reading 'timeout')
                        
                        haus-automatisierungH Offline
                        haus-automatisierungH Offline
                        haus-automatisierung
                        Developer Most Active
                        schrieb am zuletzt editiert von haus-automatisierung
                        #21

                        @ben1983 sagte in auf globale Objekt kann nicht zugegriffen werden:

                        Beim Verwendet von messageToAsynch tritt dieser Fehler auf:

                        Ist wohl nen Bug wenn die Options fehlen. So gehts:

                        const res = await messageToAsync('Testmessage', { flag: true }, { timeout: 5000 });
                        console.log(JSON.stringify(res));
                        

                        Machst einen GitHub Issue?

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

                        Ben1983B 1 Antwort Letzte Antwort
                        0
                        • Ben1983B Ben1983

                          @haus-automatisierung OK. Danke

                          Beim Verwendet von messageToAsynch tritt dieser Fehler auf:

                          messageToAsync("Testmessage",{name:"Testname"});
                          
                          	javascript.0 (20591) script.js.x_testskripte._a_Mesagetest: TypeError: Cannot read properties of undefined (reading 'timeout')
                          
                          T Offline
                          T Offline
                          ticaki
                          schrieb am zuletzt editiert von ticaki
                          #22

                          @ben1983 sagte in auf globale Objekt kann nicht zugegriffen werden:

                          messageToAsync

                          ups falsch gelesen

                          EDIT aber trotzdem relevant und die Beschreibung/Definition sollte geändert werden.

                          function messageToAsync(target: iobJS.MessageTarget | string, data: any, options?: any): Promise<iobJS.MessageCallback | iobJS.MessageCallbackInfo>;
                          

                          Der {timeout:30000} (zeit is nur ein Beispiel) sollte im Javascript-Adapter zumindest ein default sein oder die Angabe verpflichtend wie jetzt. Ohne timeout kann das an der Stelle hängen bleiben, wie ich schmerzlich feststellen mußt mit einem gleichzeitigen Defekt des Übertemperaturwächters am Boiler.

                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                          Spenden

                          haus-automatisierungH 1 Antwort Letzte Antwort
                          0
                          • T ticaki

                            @ben1983 sagte in auf globale Objekt kann nicht zugegriffen werden:

                            messageToAsync

                            ups falsch gelesen

                            EDIT aber trotzdem relevant und die Beschreibung/Definition sollte geändert werden.

                            function messageToAsync(target: iobJS.MessageTarget | string, data: any, options?: any): Promise<iobJS.MessageCallback | iobJS.MessageCallbackInfo>;
                            

                            Der {timeout:30000} (zeit is nur ein Beispiel) sollte im Javascript-Adapter zumindest ein default sein oder die Angabe verpflichtend wie jetzt. Ohne timeout kann das an der Stelle hängen bleiben, wie ich schmerzlich feststellen mußt mit einem gleichzeitigen Defekt des Übertemperaturwächters am Boiler.

                            haus-automatisierungH Offline
                            haus-automatisierungH Offline
                            haus-automatisierung
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #23

                            @ticaki sagte in auf globale Objekt kann nicht zugegriffen werden:

                            Ohne timeout kann das an der Stelle hängen bleiben, wie ich schmerzlich feststellen mußt

                            Habe ich gerade das erste mal von gehört. Gibts dazu schon einen GitHub Issue? Sollte zumindest in der nächsten Version gefixt sein:

                            https://github.com/ioBroker/ioBroker.javascript/commit/41e59dfd72f99027a9a303beee8d4d5597826445

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

                            T 1 Antwort Letzte Antwort
                            0
                            • haus-automatisierungH haus-automatisierung

                              @ticaki sagte in auf globale Objekt kann nicht zugegriffen werden:

                              Ohne timeout kann das an der Stelle hängen bleiben, wie ich schmerzlich feststellen mußt

                              Habe ich gerade das erste mal von gehört. Gibts dazu schon einen GitHub Issue? Sollte zumindest in der nächsten Version gefixt sein:

                              https://github.com/ioBroker/ioBroker.javascript/commit/41e59dfd72f99027a9a303beee8d4d5597826445

                              T Offline
                              T Offline
                              ticaki
                              schrieb am zuletzt editiert von ticaki
                              #24

                              @haus-automatisierung
                              Ach mist, nicht das es nicht das gleiche ist. Bei mir ist sendToAsync hängen geblieben. Sorry hab die beiden durcheinandergewürfelt.

                              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                              Spenden

                              haus-automatisierungH 1 Antwort Letzte Antwort
                              0
                              • T ticaki

                                @haus-automatisierung
                                Ach mist, nicht das es nicht das gleiche ist. Bei mir ist sendToAsync hängen geblieben. Sorry hab die beiden durcheinandergewürfelt.

                                haus-automatisierungH Offline
                                haus-automatisierungH Offline
                                haus-automatisierung
                                Developer Most Active
                                schrieb am zuletzt editiert von
                                #25

                                @ticaki sendToAsync funktioniert bei mir wunderbar

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

                                T 1 Antwort Letzte Antwort
                                0
                                • haus-automatisierungH haus-automatisierung

                                  @ticaki sendToAsync funktioniert bei mir wunderbar

                                  T Offline
                                  T Offline
                                  ticaki
                                  schrieb am zuletzt editiert von
                                  #26

                                  @haus-automatisierung sagte in auf globale Objekt kann nicht zugegriffen werden:

                                  @ticaki sendToAsync funktioniert bei mir wunderbar

                                  Stoppe den Zieladapter und nutzte dann "sendToAsync" ohne timeout.

                                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                  Spenden

                                  haus-automatisierungH 1 Antwort Letzte Antwort
                                  0
                                  • T ticaki

                                    @haus-automatisierung sagte in auf globale Objekt kann nicht zugegriffen werden:

                                    @ticaki sendToAsync funktioniert bei mir wunderbar

                                    Stoppe den Zieladapter und nutzte dann "sendToAsync" ohne timeout.

                                    haus-automatisierungH Offline
                                    haus-automatisierungH Offline
                                    haus-automatisierung
                                    Developer Most Active
                                    schrieb am zuletzt editiert von
                                    #27

                                    @ticaki Bei sendToAsync gibts keinen Timeout - eventuell ist das auch dein Problem? :)

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

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • haus-automatisierungH haus-automatisierung

                                      @ticaki Bei sendToAsync gibts keinen Timeout - eventuell ist das auch dein Problem? :)

                                      T Offline
                                      T Offline
                                      ticaki
                                      schrieb am zuletzt editiert von ticaki
                                      #28

                                      @haus-automatisierung sagte in auf globale Objekt kann nicht zugegriffen werden:

                                      @ticaki Bei sendToAsync gibts keinen Timeout - eventuell ist das auch dein Problem? :)

                                      Das ist ja noch schlimmer, ist mir garnicht aufgefallen, dass das nicht durchgereicht wird. Ohne Temperaturwächter setzte ich kein sendToAsync mehr für Warmwassererhitzung ein.

                                      Beide SendtoAsync bleiben hängen, wenn telegram ausgeschaltet ist.

                                      test1()
                                      test2()
                                      async function test1() {
                                          await sendToAsync("telegram", "send", {user: 'Tim', text: 'Test1'});
                                          log('test1');
                                      }
                                      async function test2() {
                                          await sendToAsync("telegram", "send", {user: 'Tim', text: 'Test2'}, { timeout: 1000 });
                                          log('test2');
                                      }
                                      

                                      Das hier in meinem Adapter jedoch nicht:

                                      await this.adapter.sendToAsync(this.options.adapter, 'send', opt, { timeout: 2000 })
                                      

                                      https://github.com/ioBroker/ioBroker.javascript/issues/1436

                                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                      Spenden

                                      haus-automatisierungH 1 Antwort Letzte Antwort
                                      0
                                      • T ticaki

                                        @haus-automatisierung sagte in auf globale Objekt kann nicht zugegriffen werden:

                                        @ticaki Bei sendToAsync gibts keinen Timeout - eventuell ist das auch dein Problem? :)

                                        Das ist ja noch schlimmer, ist mir garnicht aufgefallen, dass das nicht durchgereicht wird. Ohne Temperaturwächter setzte ich kein sendToAsync mehr für Warmwassererhitzung ein.

                                        Beide SendtoAsync bleiben hängen, wenn telegram ausgeschaltet ist.

                                        test1()
                                        test2()
                                        async function test1() {
                                            await sendToAsync("telegram", "send", {user: 'Tim', text: 'Test1'});
                                            log('test1');
                                        }
                                        async function test2() {
                                            await sendToAsync("telegram", "send", {user: 'Tim', text: 'Test2'}, { timeout: 1000 });
                                            log('test2');
                                        }
                                        

                                        Das hier in meinem Adapter jedoch nicht:

                                        await this.adapter.sendToAsync(this.options.adapter, 'send', opt, { timeout: 2000 })
                                        

                                        https://github.com/ioBroker/ioBroker.javascript/issues/1436

                                        haus-automatisierungH Offline
                                        haus-automatisierungH Offline
                                        haus-automatisierung
                                        Developer Most Active
                                        schrieb am zuletzt editiert von haus-automatisierung
                                        #29

                                        Die Funktion hat nur 3 Parameter, alle weiteren werden ignoriert:

                                        https://github.com/ioBroker/ioBroker.javascript/blob/41e59dfd72f99027a9a303beee8d4d5597826445/lib/sandbox.js#L2702

                                        @ticaki sagte in auf globale Objekt kann nicht zugegriffen werden:

                                        Das hier in meinem Adapter jedoch nicht:

                                        Im der Adapter-Klasse gibt es noch einen weiteren, richtig:

                                        https://github.com/ioBroker/ioBroker.js-controller/blob/0b01593055f5ebb61c1a9939a2a962b7b53f7344/packages/adapter/src/lib/adapter/adapter.ts#L7106

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

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • haus-automatisierungH haus-automatisierung

                                          Die Funktion hat nur 3 Parameter, alle weiteren werden ignoriert:

                                          https://github.com/ioBroker/ioBroker.javascript/blob/41e59dfd72f99027a9a303beee8d4d5597826445/lib/sandbox.js#L2702

                                          @ticaki sagte in auf globale Objekt kann nicht zugegriffen werden:

                                          Das hier in meinem Adapter jedoch nicht:

                                          Im der Adapter-Klasse gibt es noch einen weiteren, richtig:

                                          https://github.com/ioBroker/ioBroker.js-controller/blob/0b01593055f5ebb61c1a9939a2a962b7b53f7344/packages/adapter/src/lib/adapter/adapter.ts#L7106

                                          T Offline
                                          T Offline
                                          ticaki
                                          schrieb am zuletzt editiert von ticaki
                                          #30

                                          @haus-automatisierung
                                          Um wieder etwas on topic zu werden.

                                          Der timeout sollte(geht halt aktuell nur bei messageToAsync) bei beiden ToAsync gesetzt werden, wenn diese mit await genutzt werden, den wenn der Callback wegen gestopptem Skript/Adapter nicht beantwortet wird, bleibt das Skript an der Stelle stehen.

                                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                          Spenden

                                          haus-automatisierungH 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          371

                                          Online

                                          32.6k

                                          Benutzer

                                          82.2k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe