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. JavaScript
  5. onMessage aktuell auch ohne result async möglich?

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    350

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

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

onMessage aktuell auch ohne result async möglich?

Scheduled Pinned Locked Moved JavaScript
7 Posts 2 Posters 365 Views 2 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.
  • Ben1983B Offline
    Ben1983B Offline
    Ben1983
    wrote on last edited by
    #1

    Hallo,
    man konnte ja bei asynchronen Benutzen von

    onMessage
    

    mit

    messageToAsync
    

    "nur" Objekte zurückgeben, die ein

    result
    

    attribut enthalten haben.

    Eben habe ich es mal versucht und ich konnte über

    callback(myNumber);
    

    auch einfach irgendeinen Wert zurücksenden.

    @haus-automatisierung ist das seit einer bestimmten Version möglich?

    haus-automatisierungH 1 Reply Last reply
    0
    • Ben1983B Ben1983

      Hallo,
      man konnte ja bei asynchronen Benutzen von

      onMessage
      

      mit

      messageToAsync
      

      "nur" Objekte zurückgeben, die ein

      result
      

      attribut enthalten haben.

      Eben habe ich es mal versucht und ich konnte über

      callback(myNumber);
      

      auch einfach irgendeinen Wert zurücksenden.

      @haus-automatisierung ist das seit einer bestimmten Version möglich?

      haus-automatisierungH Online
      haus-automatisierungH Online
      haus-automatisierung
      Developer Most Active
      wrote on last edited by
      #2

      @ben1983 Müsste ich mir im Code anschauen warum das geht und in welchen Situationen. Am besten an die Doku halten und nicht hoffen, dass das immer klappt

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

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

        @ben1983 Müsste ich mir im Code anschauen warum das geht und in welchen Situationen. Am besten an die Doku halten und nicht hoffen, dass das immer klappt

        Ben1983B Offline
        Ben1983B Offline
        Ben1983
        wrote on last edited by Ben1983
        #3

        @haus-automatisierung hatte nichts gefunden, dass es auf jeden Fall result geben muss.
        Hatte es noch im Hinterkopf, aber dachte ich Versuch es mal.
        Oder gibt’s ne Stelle, wo steht, dass es result geben MUSS?

        Also das:

        onMessage('myTestMessage',async (data,callback)=>{
            callback("OK");
        });
        
        log(JSON.stringify(await messageToAsync('myTestMessage')));
        

        Liefert mir den Log:

        javascript.0	07:13:12.354	info	script.js.___Funktionstests.MessagAsync: "OK"
        
        haus-automatisierungH 2 Replies Last reply
        0
        • Ben1983B Ben1983

          @haus-automatisierung hatte nichts gefunden, dass es auf jeden Fall result geben muss.
          Hatte es noch im Hinterkopf, aber dachte ich Versuch es mal.
          Oder gibt’s ne Stelle, wo steht, dass es result geben MUSS?

          Also das:

          onMessage('myTestMessage',async (data,callback)=>{
              callback("OK");
          });
          
          log(JSON.stringify(await messageToAsync('myTestMessage')));
          

          Liefert mir den Log:

          javascript.0	07:13:12.354	info	script.js.___Funktionstests.MessagAsync: "OK"
          
          haus-automatisierungH Online
          haus-automatisierungH Online
          haus-automatisierung
          Developer Most Active
          wrote on last edited by haus-automatisierung
          #4

          @ben1983 sagte in onMessage aktuell auch ohne result async möglich?:

          hatte nichts gefunden, dass es auf jeden Fall result geben muss.

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

          Wo steht das Gegenteil? Aber ja, im Beispiel zu onMessageUnregister wird ja auch nur ein number Wert an die Callback-Funktion gegeben. Müsste ich mir im Detail anschauen wie gesagt.

          Ich halte mich immer an das Standard-Konzept von sendTo.

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

          1 Reply Last reply
          0
          • Ben1983B Ben1983

            @haus-automatisierung hatte nichts gefunden, dass es auf jeden Fall result geben muss.
            Hatte es noch im Hinterkopf, aber dachte ich Versuch es mal.
            Oder gibt’s ne Stelle, wo steht, dass es result geben MUSS?

            Also das:

            onMessage('myTestMessage',async (data,callback)=>{
                callback("OK");
            });
            
            log(JSON.stringify(await messageToAsync('myTestMessage')));
            

            Liefert mir den Log:

            javascript.0	07:13:12.354	info	script.js.___Funktionstests.MessagAsync: "OK"
            
            haus-automatisierungH Online
            haus-automatisierungH Online
            haus-automatisierung
            Developer Most Active
            wrote on last edited by
            #5

            @ben1983 Gerade die Funktion mit Promise schaut ja nach dem error Attribut und würde entsprechend einen Fehler werfen, welcher mit try/catch oder eben mit .catch behandelt werden kann. Das würde dir ja dann verloren gehen.

            onMessage('myTestMessage', (data, callback) => {
                callback({ result: data.bla, error: 'das hat nicht geklappt' });
            });
            
            // Callback
            messageTo('myTestMessage', { bla: 1234 }, (data) => {
                if (!data.error) {
                    console.info(data.result);
                } else {
                    console.error(data.error);
                }
            });
            
            // Promise
            messageToAsync('myTestMessage', { bla: 1234 })
                .catch((reason) => {
                    console.error(reason)
                });
            

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

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

              @ben1983 Gerade die Funktion mit Promise schaut ja nach dem error Attribut und würde entsprechend einen Fehler werfen, welcher mit try/catch oder eben mit .catch behandelt werden kann. Das würde dir ja dann verloren gehen.

              onMessage('myTestMessage', (data, callback) => {
                  callback({ result: data.bla, error: 'das hat nicht geklappt' });
              });
              
              // Callback
              messageTo('myTestMessage', { bla: 1234 }, (data) => {
                  if (!data.error) {
                      console.info(data.result);
                  } else {
                      console.error(data.error);
                  }
              });
              
              // Promise
              messageToAsync('myTestMessage', { bla: 1234 })
                  .catch((reason) => {
                      console.error(reason)
                  });
              
              Ben1983B Offline
              Ben1983B Offline
              Ben1983
              wrote on last edited by Ben1983
              #6

              @haus-automatisierung OK.
              Also besser immer mit

              {error: irgendwas....}
              

              oder

              {result: irgendwas....}
              

              arbeiten, richtig?

              Aber solange es keinen error gibt, darf auch das attribut nicht vorkommen, oder müsste false sein, oder?

              haus-automatisierungH 1 Reply Last reply
              0
              • Ben1983B Ben1983

                @haus-automatisierung OK.
                Also besser immer mit

                {error: irgendwas....}
                

                oder

                {result: irgendwas....}
                

                arbeiten, richtig?

                Aber solange es keinen error gibt, darf auch das attribut nicht vorkommen, oder müsste false sein, oder?

                haus-automatisierungH Online
                haus-automatisierungH Online
                haus-automatisierung
                Developer Most Active
                wrote on last edited by
                #7

                @ben1983 Kannst auch null setzen

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

                1 Reply Last reply
                1
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate

                342

                Online

                32.7k

                Users

                82.5k

                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