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. Fehlerbehandlung httpGet/httPost

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    517

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Fehlerbehandlung httpGet/httPost

Geplant Angeheftet Gesperrt Verschoben JavaScript
28 Beiträge 12 Kommentatoren 3.9k Aufrufe 11 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.
  • bahnuhrB bahnuhr

    @tobi19
    zeige das Script

    T Offline
    T Offline
    tobi19
    schrieb am zuletzt editiert von
    #9

    @bahnuhr sagte in Fehlerbehandlung httpGet/httPost:

    zeige das Script

        // Tasmota per RestAPI auslesen und auswerten
        try {
            httpGet('http://' + IP + '/cm?cmnd=status%208', { timeout: 5000, responseType: 'text' }, async (err, response) => {
                if (err != null) {
                    console.log(err);
                }
                if (response.statusCode == 200) {
                    let Power = getAttr(response.data, 'StatusSNS.ENERGY.Power');
                    let Energy =getAttr(response.data, 'StatusSNS.ENERGY.Total');
                    //console.log(Power + '| ' + Energy)
    
                    setState( dp + Objekt + P, Power,true); 
                    update_Total(Objekt, Energy / Scale);
                };
            });
        } 
        catch (e) { console.warn(e); 
        }
    

    Ich bekomme im Log:
    2024-08-18 15:43:25.004 info script.js.Test.Test_TV: timeout of 5000ms exceeded
    2024-08-18 15:43:25.004 error script.js.Test.Test_TV: httpGet(url=http://192.168.178.133/cm?cmnd=status 8, error=timeout of 5000ms exceeded)

    Die Info durch meine if abfrage ausgelöst, den Error intern durch den javascript Adapter ausgelöst.
    try/catch sollte eine warning generieren, die aber nicht im Log steht.

    Hier fehlt mir Wissen oder intern wird ein Fehler ins Log geschrieben, den ich nicht verhindern kann.

    Danke

    Ro75R 1 Antwort Letzte Antwort
    0
    • T tobi19

      @bahnuhr sagte in Fehlerbehandlung httpGet/httPost:

      zeige das Script

          // Tasmota per RestAPI auslesen und auswerten
          try {
              httpGet('http://' + IP + '/cm?cmnd=status%208', { timeout: 5000, responseType: 'text' }, async (err, response) => {
                  if (err != null) {
                      console.log(err);
                  }
                  if (response.statusCode == 200) {
                      let Power = getAttr(response.data, 'StatusSNS.ENERGY.Power');
                      let Energy =getAttr(response.data, 'StatusSNS.ENERGY.Total');
                      //console.log(Power + '| ' + Energy)
      
                      setState( dp + Objekt + P, Power,true); 
                      update_Total(Objekt, Energy / Scale);
                  };
              });
          } 
          catch (e) { console.warn(e); 
          }
      

      Ich bekomme im Log:
      2024-08-18 15:43:25.004 info script.js.Test.Test_TV: timeout of 5000ms exceeded
      2024-08-18 15:43:25.004 error script.js.Test.Test_TV: httpGet(url=http://192.168.178.133/cm?cmnd=status 8, error=timeout of 5000ms exceeded)

      Die Info durch meine if abfrage ausgelöst, den Error intern durch den javascript Adapter ausgelöst.
      try/catch sollte eine warning generieren, die aber nicht im Log steht.

      Hier fehlt mir Wissen oder intern wird ein Fehler ins Log geschrieben, den ich nicht verhindern kann.

      Danke

      Ro75R Offline
      Ro75R Offline
      Ro75
      schrieb am zuletzt editiert von
      #10

      @tobi19 sagte in Fehlerbehandlung httpGet/httPost:

      2024-08-18 15:43:25.004 info script.js.Test.Test_TV: timeout of 5000ms exceeded
      2024-08-18 15:43:25.004 error script.js.Test.Test_TV: httpGet(url=http://192.168.178.133/cm?cmnd=status 8, error=timeout of 5000ms exceeded)

      Ich hänge mich mal dran. Ich habe bei httpget auch Fehlermeldungen. Wenn ich selbst keine Fehlerbehandlung eingebaut hätte, wäre das ja ok. Aber wenn ich eine Fehlerbehandlung drin habe, dann soll doch bitte die interne Meldung nicht ins Protokoll.

      Ro75.

      SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

      mcm1957M 1 Antwort Letzte Antwort
      1
      • Ro75R Ro75

        @tobi19 sagte in Fehlerbehandlung httpGet/httPost:

        2024-08-18 15:43:25.004 info script.js.Test.Test_TV: timeout of 5000ms exceeded
        2024-08-18 15:43:25.004 error script.js.Test.Test_TV: httpGet(url=http://192.168.178.133/cm?cmnd=status 8, error=timeout of 5000ms exceeded)

        Ich hänge mich mal dran. Ich habe bei httpget auch Fehlermeldungen. Wenn ich selbst keine Fehlerbehandlung eingebaut hätte, wäre das ja ok. Aber wenn ich eine Fehlerbehandlung drin habe, dann soll doch bitte die interne Meldung nicht ins Protokoll.

        Ro75.

        mcm1957M Offline
        mcm1957M Offline
        mcm1957
        schrieb am zuletzt editiert von
        #11

        @ro75 said in Fehlerbehandlung httpGet/httPost:

        @tobi19 sagte in Fehlerbehandlung httpGet/httPost:

        2024-08-18 15:43:25.004 info script.js.Test.Test_TV: timeout of 5000ms exceeded
        2024-08-18 15:43:25.004 error script.js.Test.Test_TV: httpGet(url=http://192.168.178.133/cm?cmnd=status 8, error=timeout of 5000ms exceeded)

        Ich hänge mich mal dran. Ich habe bei httpget auch Fehlermeldungen. Wenn ich selbst keine Fehlerbehandlung eingebaut hätte, wäre das ja ok. Aber wenn ich eine Fehlerbehandlung drin habe, dann soll doch bitte die interne Meldung nicht ins Protokoll.

        Ro75.

        Wenn das so ist und es dich stört dann erstell doch einen Feature Request sofern noch kein diesbezüglicher existiert - ohne Issue wird sich da nichts ändern. Das Forum ist KEIN Platz um konkrete Verbesserungsvorschläge anzubringen.

        Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
        Support Repositoryverwaltung.

        Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

        LESEN - gute Forenbeitrage

        Ro75R T 2 Antworten Letzte Antwort
        0
        • mcm1957M mcm1957

          @ro75 said in Fehlerbehandlung httpGet/httPost:

          @tobi19 sagte in Fehlerbehandlung httpGet/httPost:

          2024-08-18 15:43:25.004 info script.js.Test.Test_TV: timeout of 5000ms exceeded
          2024-08-18 15:43:25.004 error script.js.Test.Test_TV: httpGet(url=http://192.168.178.133/cm?cmnd=status 8, error=timeout of 5000ms exceeded)

          Ich hänge mich mal dran. Ich habe bei httpget auch Fehlermeldungen. Wenn ich selbst keine Fehlerbehandlung eingebaut hätte, wäre das ja ok. Aber wenn ich eine Fehlerbehandlung drin habe, dann soll doch bitte die interne Meldung nicht ins Protokoll.

          Ro75.

          Wenn das so ist und es dich stört dann erstell doch einen Feature Request sofern noch kein diesbezüglicher existiert - ohne Issue wird sich da nichts ändern. Das Forum ist KEIN Platz um konkrete Verbesserungsvorschläge anzubringen.

          Ro75R Offline
          Ro75R Offline
          Ro75
          schrieb am zuletzt editiert von
          #12

          @mcm1957 sagte in Fehlerbehandlung httpGet/httPost:

          und es dich stört

          ja und es "stört" nicht nur mich. Ein Feature Request werde ich nicht erstellen, da ich in letzter Zeit nur noch negative Erfahrungen auf GIT, speziell im ioBroker-Bereich (Adapter), gemacht habe.

          Ro75.

          SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

          mcm1957M 1 Antwort Letzte Antwort
          1
          • Ro75R Ro75

            @mcm1957 sagte in Fehlerbehandlung httpGet/httPost:

            und es dich stört

            ja und es "stört" nicht nur mich. Ein Feature Request werde ich nicht erstellen, da ich in letzter Zeit nur noch negative Erfahrungen auf GIT, speziell im ioBroker-Bereich (Adapter), gemacht habe.

            Ro75.

            mcm1957M Offline
            mcm1957M Offline
            mcm1957
            schrieb am zuletzt editiert von mcm1957
            #13

            @ro75 said in Fehlerbehandlung httpGet/httPost:

            @mcm1957 sagte in Fehlerbehandlung httpGet/httPost:

            und es dich stört

            ja und es "stört" nicht nur mich. Ein Feature Request werde ich nicht erstellen, da ich in letzter Zeit nur noch negative Erfahrungen auf GIT, speziell im ioBroker-Bereich (Adapter), gemacht habe.

            Ro75.

            Eröffne ein Issue wie ich geschrieben habe. Oder lebe mit dem IST Stand.
            Hier rumraunzen bringt niemand was.

            Alternativ kannst du natürlich auch einen PR erstellen. Was du für "negative Erfahrungen auf GIT" - ich vermute mal due meinst GitHub - gemacht hast weiß ich nicht. Kannst es ja aber ggF erläutern.

            Aber wenn du keinen Feature Request erstellen willst, dann bringt dein Gejammere hier genausoviel wie ein Brief ans Salzamt. Sorry wenn ich so sage: Raunzen ist offenbar einfacher wie konstruktive Vorschläge an der vorgesehenen Stelle ablegen und optimaler Weise an einer Verbesserung mitarbeiten.

            Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
            Support Repositoryverwaltung.

            Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

            LESEN - gute Forenbeitrage

            1 Antwort Letzte Antwort
            1
            • mcm1957M mcm1957

              @ro75 said in Fehlerbehandlung httpGet/httPost:

              @tobi19 sagte in Fehlerbehandlung httpGet/httPost:

              2024-08-18 15:43:25.004 info script.js.Test.Test_TV: timeout of 5000ms exceeded
              2024-08-18 15:43:25.004 error script.js.Test.Test_TV: httpGet(url=http://192.168.178.133/cm?cmnd=status 8, error=timeout of 5000ms exceeded)

              Ich hänge mich mal dran. Ich habe bei httpget auch Fehlermeldungen. Wenn ich selbst keine Fehlerbehandlung eingebaut hätte, wäre das ja ok. Aber wenn ich eine Fehlerbehandlung drin habe, dann soll doch bitte die interne Meldung nicht ins Protokoll.

              Ro75.

              Wenn das so ist und es dich stört dann erstell doch einen Feature Request sofern noch kein diesbezüglicher existiert - ohne Issue wird sich da nichts ändern. Das Forum ist KEIN Platz um konkrete Verbesserungsvorschläge anzubringen.

              T Offline
              T Offline
              tobi19
              schrieb am zuletzt editiert von tobi19
              #14

              @mcm1957 sagte in Fehlerbehandlung httpGet/httPost:

              erstell doch einen Feature Request

              gibt es und wurde von mir erweitert, siehe https://github.com/ioBroker/ioBroker.javascript/issues/1599

              mcm1957M 1 Antwort Letzte Antwort
              0
              • T tobi19

                @mcm1957 sagte in Fehlerbehandlung httpGet/httPost:

                erstell doch einen Feature Request

                gibt es und wurde von mir erweitert, siehe https://github.com/ioBroker/ioBroker.javascript/issues/1599

                mcm1957M Offline
                mcm1957M Offline
                mcm1957
                schrieb am zuletzt editiert von
                #15

                @tobi19 said in Fehlerbehandlung httpGet/httPost:

                @mcm1957 sagte in Fehlerbehandlung httpGet/httPost:

                erstell doch einen Feature Request

                gibt es und wurde von mir erweitert, siehe https://github.com/ioBroker/ioBroker.javascript/issues/1599

                DANKE für das Issue. Diese Vorgangsweise finde ich konstruktiv - auch wenn für dich das Problem damit noch nicht aus der Welt geschafft ist. Damit ist das Problem mal erfasst und Klein0r wird sich das auch im Rahmen seiner verfügbaren Zeit ansehen.

                Der Issuetitel ist zwar (für mich) nicht gleich klar - weil ein Timeout IST ein Fehler/Warning und das sollte auch gelogged werden. Aber natürlich nur, wenn der User das nichts selbst behandelt. Einfach ausschalten führt dann zu Folgedisussionen - "httpGet funktioniert nicht un leifert mit ein undefined :-)"

                Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                Support Repositoryverwaltung.

                Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                LESEN - gute Forenbeitrage

                D 1 Antwort Letzte Antwort
                0
                • mcm1957M mcm1957

                  @tobi19 said in Fehlerbehandlung httpGet/httPost:

                  @mcm1957 sagte in Fehlerbehandlung httpGet/httPost:

                  erstell doch einen Feature Request

                  gibt es und wurde von mir erweitert, siehe https://github.com/ioBroker/ioBroker.javascript/issues/1599

                  DANKE für das Issue. Diese Vorgangsweise finde ich konstruktiv - auch wenn für dich das Problem damit noch nicht aus der Welt geschafft ist. Damit ist das Problem mal erfasst und Klein0r wird sich das auch im Rahmen seiner verfügbaren Zeit ansehen.

                  Der Issuetitel ist zwar (für mich) nicht gleich klar - weil ein Timeout IST ein Fehler/Warning und das sollte auch gelogged werden. Aber natürlich nur, wenn der User das nichts selbst behandelt. Einfach ausschalten führt dann zu Folgedisussionen - "httpGet funktioniert nicht un leifert mit ein undefined :-)"

                  D Online
                  D Online
                  diwoma
                  schrieb am zuletzt editiert von
                  #16

                  @mcm1957 sagte in Fehlerbehandlung httpGet/httPost:

                  Der Issuetitel ist zwar (für mich) nicht gleich klar - weil ein Timeout IST ein Fehler/Warning und das sollte auch gelogged werden. Aber natürlich nur, wenn der User das nichts selbst behandelt.

                  Das stelle ich mir mal automatisch nicht so einfach vor, weil die innere (fehlerwerfende) Methode ja keine Ahnung hat, das der Aufruf durch ein try .. catch gecovert ist.

                  Kann mir nur vorstellen, dass ein zusätzlicher Parameter (z.b. silentError = false/true) übergeben wird.
                  Wenn der Parameter auf default=false steht würde der normale Ablauf nicht gestört sein. Und der User, der das wünscht müsste den Parameter explizit auf true schalten.

                  -- diwoma

                  ioBroker in LX-Container in Proxmox
                  Zigbee-Coordinator: CC2652P2-TCP FW: 20230507

                  haus-automatisierungH 1 Antwort Letzte Antwort
                  0
                  • D diwoma

                    @mcm1957 sagte in Fehlerbehandlung httpGet/httPost:

                    Der Issuetitel ist zwar (für mich) nicht gleich klar - weil ein Timeout IST ein Fehler/Warning und das sollte auch gelogged werden. Aber natürlich nur, wenn der User das nichts selbst behandelt.

                    Das stelle ich mir mal automatisch nicht so einfach vor, weil die innere (fehlerwerfende) Methode ja keine Ahnung hat, das der Aufruf durch ein try .. catch gecovert ist.

                    Kann mir nur vorstellen, dass ein zusätzlicher Parameter (z.b. silentError = false/true) übergeben wird.
                    Wenn der Parameter auf default=false steht würde der normale Ablauf nicht gestört sein. Und der User, der das wünscht müsste den Parameter explizit auf true schalten.

                    haus-automatisierungH Online
                    haus-automatisierungH Online
                    haus-automatisierung
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #17

                    @diwoma Du wirfst gerade zwei Themen zusammen. Die Log-Meldung hat ja erstmal nichts mit einem try/catch oder einer unhandled exception zu tun. Die wird es bei den Varianten mit Callback auch nicht geben. Dann nutze die Varianten mit Promises (also httpGetAsync). Dann kannst mit .catch(..) des Promises arbeiten oder halt mit await und einem try/catch.

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

                    D T 2 Antworten Letzte Antwort
                    0
                    • haus-automatisierungH haus-automatisierung

                      @diwoma Du wirfst gerade zwei Themen zusammen. Die Log-Meldung hat ja erstmal nichts mit einem try/catch oder einer unhandled exception zu tun. Die wird es bei den Varianten mit Callback auch nicht geben. Dann nutze die Varianten mit Promises (also httpGetAsync). Dann kannst mit .catch(..) des Promises arbeiten oder halt mit await und einem try/catch.

                      D Online
                      D Online
                      diwoma
                      schrieb am zuletzt editiert von
                      #18

                      @haus-automatisierung sagte in Fehlerbehandlung httpGet/httPost:

                      Die wird es bei den Varianten mit Callback auch nicht geben.

                      Das habe ich nicht gewusst. Wenn es sowieso schon eine Aufrufmöglichkeit gibt, in der der innere Log-Eintrag unterdrückt wird, ist ja schon alles vorbereitet.
                      Ist das eine Vorschrift bei Aufrufen mit Callback?

                      -- diwoma

                      ioBroker in LX-Container in Proxmox
                      Zigbee-Coordinator: CC2652P2-TCP FW: 20230507

                      haus-automatisierungH 1 Antwort Letzte Antwort
                      0
                      • D diwoma

                        @haus-automatisierung sagte in Fehlerbehandlung httpGet/httPost:

                        Die wird es bei den Varianten mit Callback auch nicht geben.

                        Das habe ich nicht gewusst. Wenn es sowieso schon eine Aufrufmöglichkeit gibt, in der der innere Log-Eintrag unterdrückt wird, ist ja schon alles vorbereitet.
                        Ist das eine Vorschrift bei Aufrufen mit Callback?

                        haus-automatisierungH Online
                        haus-automatisierungH Online
                        haus-automatisierung
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #19

                        @diwoma Die Meldung kommt trotzdem, aber Du möchtest ja die Fehlerbehandlung mit try/catch machen

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

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

                          @diwoma Die Meldung kommt trotzdem, aber Du möchtest ja die Fehlerbehandlung mit try/catch machen

                          D Online
                          D Online
                          diwoma
                          schrieb am zuletzt editiert von
                          #20

                          @haus-automatisierung sagte in Fehlerbehandlung httpGet/httPost:

                          @diwoma Die Meldung kommt trotzdem, aber Du möchtest ja die Fehlerbehandlung mit try/catch machen

                          Sorry, dann habe ich die Diskussion falsch verstanden.
                          Ich habe es so gelesen, dass der User die interne Fehlermeldung im Log unterdrücken will, weil er mit seinem Fehlerhandling entscheiden will, ob der Fehler protokolliert werden soll oder nicht, bzw. wie es protokolliert werden soll

                          -- diwoma

                          ioBroker in LX-Container in Proxmox
                          Zigbee-Coordinator: CC2652P2-TCP FW: 20230507

                          haus-automatisierungH T 2 Antworten Letzte Antwort
                          0
                          • D diwoma

                            @haus-automatisierung sagte in Fehlerbehandlung httpGet/httPost:

                            @diwoma Die Meldung kommt trotzdem, aber Du möchtest ja die Fehlerbehandlung mit try/catch machen

                            Sorry, dann habe ich die Diskussion falsch verstanden.
                            Ich habe es so gelesen, dass der User die interne Fehlermeldung im Log unterdrücken will, weil er mit seinem Fehlerhandling entscheiden will, ob der Fehler protokolliert werden soll oder nicht, bzw. wie es protokolliert werden soll

                            haus-automatisierungH Online
                            haus-automatisierungH Online
                            haus-automatisierung
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #21

                            @diwoma sagte in Fehlerbehandlung httpGet/httPost:

                            Ich habe es so gelesen, dass der User die interne Fehlermeldung im Log unterdrücken will

                            Ist ja scheinbar auch der Wunsch. Aber das hat ja erstmal nichts Callbacks oder Promises oder zusätzlichen Try/Catch zu tun.

                            Die internen Funktionen versuchen einen so gut wie möglichen zu schützen und Abstürze des kompletten Scripts zu vermeiden. Daher wird z.B. auch jede Callback-Funktion wieder innerhalb eines try/catch aufgerufen.

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

                            1 Antwort Letzte Antwort
                            0
                            • D diwoma

                              @haus-automatisierung sagte in Fehlerbehandlung httpGet/httPost:

                              @diwoma Die Meldung kommt trotzdem, aber Du möchtest ja die Fehlerbehandlung mit try/catch machen

                              Sorry, dann habe ich die Diskussion falsch verstanden.
                              Ich habe es so gelesen, dass der User die interne Fehlermeldung im Log unterdrücken will, weil er mit seinem Fehlerhandling entscheiden will, ob der Fehler protokolliert werden soll oder nicht, bzw. wie es protokolliert werden soll

                              T Offline
                              T Offline
                              tobi19
                              schrieb am zuletzt editiert von
                              #22

                              @diwoma sagte in Fehlerbehandlung httpGet/httPost:

                              Ich habe es so gelesen, dass der User die interne Fehlermeldung im Log unterdrücken will, weil er mit seinem Fehlerhandling entscheiden will, ob der Fehler protokolliert werden soll oder nicht, bzw. wie es protokolliert werden soll

                              So war es auch gemeint.

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

                                @diwoma Du wirfst gerade zwei Themen zusammen. Die Log-Meldung hat ja erstmal nichts mit einem try/catch oder einer unhandled exception zu tun. Die wird es bei den Varianten mit Callback auch nicht geben. Dann nutze die Varianten mit Promises (also httpGetAsync). Dann kannst mit .catch(..) des Promises arbeiten oder halt mit await und einem try/catch.

                                T Offline
                                T Offline
                                tobi19
                                schrieb am zuletzt editiert von
                                #23

                                @haus-automatisierung sagte in Fehlerbehandlung httpGet/httPost:

                                Die wird es bei den Varianten mit Callback auch nicht geben. Dann nutze die Varianten mit Promises (also httpGetAsync). Dann kannst mit .catch(..) des Promises arbeiten oder halt mit await und einem try/catch.

                                Mein Missverständnis liegt wohl in meiner Unkenntnis der Möglichkeiten von Javascript.
                                Wenn es eine anderen Funktionsaufruf gibt (z.B. httpGetAsync), welche die explizite Fehlerbehandlung erlaubt, ist das mit Blockly unverändert ja prima.
                                Dann bitte ich als JavaScript Anfänger um Hilfe.
                                Mit geht es darum, bei einem Timeout keinen expliziten Logeintrag zu bekommen, da mein WLAN leider nicht sehr stabil ist.
                                Einen Code mit httpGetAsync und Promise kann ich leider noch nicht generieren.

                                Mein Versuch mit

                                try {
                                    let response =  await httpGetAsync('http://192.168.178.127/status');
                                    if (response.statusCode = 200) {
                                        console.log(response.data);
                                    }
                                    else {
                                        console.log(response.responseTime)
                                    }
                                } 
                                catch (error) {
                                        console.warn(error);
                                }
                                

                                führt auch zu einer implizite generierten Timeout Fehlermeldung.

                                Danke

                                P B 2 Antworten Letzte Antwort
                                0
                                • T tobi19

                                  @haus-automatisierung sagte in Fehlerbehandlung httpGet/httPost:

                                  Die wird es bei den Varianten mit Callback auch nicht geben. Dann nutze die Varianten mit Promises (also httpGetAsync). Dann kannst mit .catch(..) des Promises arbeiten oder halt mit await und einem try/catch.

                                  Mein Missverständnis liegt wohl in meiner Unkenntnis der Möglichkeiten von Javascript.
                                  Wenn es eine anderen Funktionsaufruf gibt (z.B. httpGetAsync), welche die explizite Fehlerbehandlung erlaubt, ist das mit Blockly unverändert ja prima.
                                  Dann bitte ich als JavaScript Anfänger um Hilfe.
                                  Mit geht es darum, bei einem Timeout keinen expliziten Logeintrag zu bekommen, da mein WLAN leider nicht sehr stabil ist.
                                  Einen Code mit httpGetAsync und Promise kann ich leider noch nicht generieren.

                                  Mein Versuch mit

                                  try {
                                      let response =  await httpGetAsync('http://192.168.178.127/status');
                                      if (response.statusCode = 200) {
                                          console.log(response.data);
                                      }
                                      else {
                                          console.log(response.responseTime)
                                      }
                                  } 
                                  catch (error) {
                                          console.warn(error);
                                  }
                                  

                                  führt auch zu einer implizite generierten Timeout Fehlermeldung.

                                  Danke

                                  P Offline
                                  P Offline
                                  peterfido
                                  schrieb am zuletzt editiert von peterfido
                                  #24

                                  @tobi19 Der Fehler an sich ist ja vorhanden. Wenn das WLAN mies ist, dann den Timeout erhöhen, oder, wenn es regelmäßig auftritt, vorher per Ping checken, ob die Verbindung da ist.

                                  Gruß

                                  Peterfido


                                  Proxmox auf Intel NUC12WSHi5
                                  ioBroker: Debian (VM)
                                  CCU: Debmatic (VM)
                                  Influx: Debian (VM)
                                  Grafana: Debian (VM)
                                  eBus: Debian (VM)
                                  Zigbee: Debian (VM) mit zigbee2mqtt

                                  1 Antwort Letzte Antwort
                                  0
                                  • T tobi19

                                    @haus-automatisierung sagte in Fehlerbehandlung httpGet/httPost:

                                    Die wird es bei den Varianten mit Callback auch nicht geben. Dann nutze die Varianten mit Promises (also httpGetAsync). Dann kannst mit .catch(..) des Promises arbeiten oder halt mit await und einem try/catch.

                                    Mein Missverständnis liegt wohl in meiner Unkenntnis der Möglichkeiten von Javascript.
                                    Wenn es eine anderen Funktionsaufruf gibt (z.B. httpGetAsync), welche die explizite Fehlerbehandlung erlaubt, ist das mit Blockly unverändert ja prima.
                                    Dann bitte ich als JavaScript Anfänger um Hilfe.
                                    Mit geht es darum, bei einem Timeout keinen expliziten Logeintrag zu bekommen, da mein WLAN leider nicht sehr stabil ist.
                                    Einen Code mit httpGetAsync und Promise kann ich leider noch nicht generieren.

                                    Mein Versuch mit

                                    try {
                                        let response =  await httpGetAsync('http://192.168.178.127/status');
                                        if (response.statusCode = 200) {
                                            console.log(response.data);
                                        }
                                        else {
                                            console.log(response.responseTime)
                                        }
                                    } 
                                    catch (error) {
                                            console.warn(error);
                                    }
                                    

                                    führt auch zu einer implizite generierten Timeout Fehlermeldung.

                                    Danke

                                    B Offline
                                    B Offline
                                    Blockmove
                                    schrieb am zuletzt editiert von
                                    #25

                                    @tobi19 said in Fehlerbehandlung httpGet/httPost:

                                    Mit geht es darum, bei einem Timeout keinen expliziten Logeintrag zu bekommen, da mein WLAN leider nicht sehr stabil ist.

                                    Ich schließ mich da einfach mal an.
                                    Mir gefallen die expliziten Logeinträge auch nicht. Egal ob nun Blockly oder Javascript.
                                    Mag vielleicht sein, dass es für Anfänger etwas einfacher ist.
                                    Aber wenn ich httpGet das erstemal verwende, dann muss ich mir sowieso die Beschreibung und / oder Beispiele anschauen.
                                    Gibt es einen Fehlerhandler, dann programmiere ich ihn entsprechend und gut ist's.

                                    The difference beetween Man and Boys:
                                    The price of their toys 😀

                                    haus-automatisierungH 1 Antwort Letzte Antwort
                                    0
                                    • B Blockmove

                                      @tobi19 said in Fehlerbehandlung httpGet/httPost:

                                      Mit geht es darum, bei einem Timeout keinen expliziten Logeintrag zu bekommen, da mein WLAN leider nicht sehr stabil ist.

                                      Ich schließ mich da einfach mal an.
                                      Mir gefallen die expliziten Logeinträge auch nicht. Egal ob nun Blockly oder Javascript.
                                      Mag vielleicht sein, dass es für Anfänger etwas einfacher ist.
                                      Aber wenn ich httpGet das erstemal verwende, dann muss ich mir sowieso die Beschreibung und / oder Beispiele anschauen.
                                      Gibt es einen Fehlerhandler, dann programmiere ich ihn entsprechend und gut ist's.

                                      haus-automatisierungH Online
                                      haus-automatisierungH Online
                                      haus-automatisierung
                                      Developer Most Active
                                      schrieb am zuletzt editiert von
                                      #26

                                      @blockmove sagte in Fehlerbehandlung httpGet/httPost:

                                      Aber wenn ich httpGet das erstemal verwende, dann muss ich mir sowieso die Beschreibung und / oder Beispiele anschauen.

                                      Und wenn Du nur den Blockly-Baustein nutzt, musst Du vorher gar keine Doku oder Signaturen der Funktionen anschauen.

                                      Erstelle gerne einen PR mit Deinem Vorschlag (für JS und neuem Blockly-Code) und dann diskutieren wir gerne die Lösung.

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

                                      B 2 Antworten Letzte Antwort
                                      0
                                      • haus-automatisierungH haus-automatisierung

                                        @blockmove sagte in Fehlerbehandlung httpGet/httPost:

                                        Aber wenn ich httpGet das erstemal verwende, dann muss ich mir sowieso die Beschreibung und / oder Beispiele anschauen.

                                        Und wenn Du nur den Blockly-Baustein nutzt, musst Du vorher gar keine Doku oder Signaturen der Funktionen anschauen.

                                        Erstelle gerne einen PR mit Deinem Vorschlag (für JS und neuem Blockly-Code) und dann diskutieren wir gerne die Lösung.

                                        B Offline
                                        B Offline
                                        Blockmove
                                        schrieb am zuletzt editiert von
                                        #27

                                        @haus-automatisierung said in Fehlerbehandlung httpGet/httPost:

                                        Erstelle gerne einen PR mit Deinem Vorschlag (für JS und neuem Blockly-Code) und dann diskutieren wir gerne die Lösung.
                                        Ich fand eigentlich die Umsetzung des alten request gar nicht so schlecht. Im Script mit try - catch und im Blockly mit dem wählbaren Loglevel.

                                        Vielleicht kannst du ja die interne Fehlermeldung des httpGet deaktivieren und das Blockly so gestalten wie beim request.
                                        Im Script funktioniert ja try - catch heute schon. Nur kommt die interne Fehlermeldung halt immer.

                                        Das ganze ist aber eher ein kosmetisches Thema und aus meiner Sicht keine hohe Prio.

                                        The difference beetween Man and Boys:
                                        The price of their toys 😀

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

                                          @blockmove sagte in Fehlerbehandlung httpGet/httPost:

                                          Aber wenn ich httpGet das erstemal verwende, dann muss ich mir sowieso die Beschreibung und / oder Beispiele anschauen.

                                          Und wenn Du nur den Blockly-Baustein nutzt, musst Du vorher gar keine Doku oder Signaturen der Funktionen anschauen.

                                          Erstelle gerne einen PR mit Deinem Vorschlag (für JS und neuem Blockly-Code) und dann diskutieren wir gerne die Lösung.

                                          B Offline
                                          B Offline
                                          Blockmove
                                          schrieb am zuletzt editiert von Blockmove
                                          #28

                                          @haus-automatisierung said in Fehlerbehandlung httpGet/httPost:

                                          @blockmove sagte in Fehlerbehandlung httpGet/httPost:

                                          Aber wenn ich httpGet das erstemal verwende, dann muss ich mir sowieso die Beschreibung und / oder Beispiele anschauen.

                                          Und wenn Du nur den Blockly-Baustein nutzt, musst Du vorher gar keine Doku oder Signaturen der Funktionen anschauen.

                                          Erstelle gerne einen PR mit Deinem Vorschlag (für JS und neuem Blockly-Code) und dann diskutieren wir gerne die Lösung.

                                          Ich hab dazu mal ein Github-Issue angelegt:
                                          Github Issue

                                          The difference beetween Man and Boys:
                                          The price of their toys 😀

                                          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

                                          651

                                          Online

                                          32.6k

                                          Benutzer

                                          81.9k

                                          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