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] Skript auf AXIOS/httpGet umbauen

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[gelöst] Skript auf AXIOS/httpGet umbauen

Geplant Angeheftet Gesperrt Verschoben JavaScript
59 Beiträge 18 Kommentatoren 11.5k Aufrufe 19 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.
  • haus-automatisierungH haus-automatisierung

    @bahnuhr sagte in [gelöst] Skript auf AXIOS umbauen:

    Warum kommt dies im log ?
    (httpGet ist in JS auch rot unterstrichen)

    Kann ich nicht reproduzieren, die Meldung kommt auch nur, wenn require aufgerufen wird. Und das passiert bei Dir im Script ja nicht.

    Du hast aber schon über npm installiert (und nicht über GitHub), oder?

    bahnuhrB Offline
    bahnuhrB Offline
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #21

    @haus-automatisierung sagte in [gelöst] Skript auf AXIOS umbauen:

    Und das passiert bei Dir im Script ja nicht.

    korrekt, aber die Meldung kommt trotzdem.

    @haus-automatisierung sagte in [gelöst] Skript auf AXIOS umbauen:

    Du hast aber schon über npm installiert (und nicht über GitHub), oder?

    ja, über npm


    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

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

      @bahnuhr sagte in [gelöst] Skript auf AXIOS umbauen:

      Warum kommt dies im log ?
      (httpGet ist in JS auch rot unterstrichen)

      Kann ich nicht reproduzieren, die Meldung kommt auch nur, wenn require aufgerufen wird. Und das passiert bei Dir im Script ja nicht.

      Du hast aber schon über npm installiert (und nicht über GitHub), oder?

      bahnuhrB Offline
      bahnuhrB Offline
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #22

      @haus-automatisierung sagte in [gelöst] Skript auf AXIOS umbauen:

      die Meldung kommt auch nur, wenn require aufgerufen wird.

      Das ist bei mir nicht so.
      Habe mal iob komplett neu gestartet.

      Meldung kommt, obwohl im aufgerufenen Script kein request drin steht.
      (wohl aber noch bei anderen).

      Kann es sein, dass die Meldung trotzdem kommt, weil irgendwo noch ein request drin steht (von den gefühlt 500 Scripten).


      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
      Danke.
      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
      ScreenToGif :https://www.screentogif.com/downloads.html

      joergeliJ 1 Antwort Letzte Antwort
      0
      • bahnuhrB bahnuhr

        @haus-automatisierung sagte in [gelöst] Skript auf AXIOS umbauen:

        die Meldung kommt auch nur, wenn require aufgerufen wird.

        Das ist bei mir nicht so.
        Habe mal iob komplett neu gestartet.

        Meldung kommt, obwohl im aufgerufenen Script kein request drin steht.
        (wohl aber noch bei anderen).

        Kann es sein, dass die Meldung trotzdem kommt, weil irgendwo noch ein request drin steht (von den gefühlt 500 Scripten).

        joergeliJ Online
        joergeliJ Online
        joergeli
        schrieb am zuletzt editiert von
        #23

        @bahnuhr sagte in [gelöst] Skript auf AXIOS umbauen:

        Kann es sein, dass die Meldung trotzdem kommt, weil irgendwo noch ein request drin steht (von den gefühlt 500 Scripten).

        Meines Erachtens nicht, da ich ebenfalls gerade am Umbauen von request auf httpGet bin.
        Bei bereits auf httpGet umgestellten Scripten kommt keine request-deprecated-Meldung mehr, bei den Scripten die noch request verwenden, kommt sie noch.

        bahnuhrB 1 Antwort Letzte Antwort
        2
        • joergeliJ joergeli

          @bahnuhr sagte in [gelöst] Skript auf AXIOS umbauen:

          Kann es sein, dass die Meldung trotzdem kommt, weil irgendwo noch ein request drin steht (von den gefühlt 500 Scripten).

          Meines Erachtens nicht, da ich ebenfalls gerade am Umbauen von request auf httpGet bin.
          Bei bereits auf httpGet umgestellten Scripten kommt keine request-deprecated-Meldung mehr, bei den Scripten die noch request verwenden, kommt sie noch.

          bahnuhrB Offline
          bahnuhrB Offline
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #24

          @joergeli
          Danke für die Info.
          Bei mir ist das nicht ! so.

          Folgendes Script zum Starten von Licht:

          
          // Bewegung: Bad_EG -> Dimmer einschalten
          
          on('alias.0.HM.Bewegung.Bad_EG.MOTION', function (obj) {  // Bewegung erkannt
              var Status_auto = getState('javascript.0.System.Automatik.Licht.Bad_EG').val;   //  Automatik Licht true
              var Licht_level = getState('alias.0.HM.Dimmer.Bad_EG.LEVEL').val;   //  Licht level aktuell
              var Hell = getState('alias.0.HM.Bewegung.Bad_EG.BRIGHTNESS').val;   //  Helligkeit
              var Modus_Dusche = getState('javascript.0.System.Modus.Modus_Dusche').val;   //  Modus Dusche aktiv?
          
              if(Status_auto === true && Licht_level === 0 && Modus_Dusche == false) {   //  Automatik Licht auf true und Licht ist aus und Modus überprüfen
                  if (Hell < 35) {
                      setState('alias.0.HM.Dimmer.Bad_EG.LEVEL',5);
                      log("Helligkeit = " + Hell + "; Dimmer Bad_EG auf 5% eingeschaltet.");
                      setTimeout(function() {
                          pruef_aus();
                      }, 120000);   // nach 2 min. Prüfung
                  }
              }
          });
          
          function pruef_aus() {
              var level = getState('alias.0.HM.Dimmer.Bad_EG.LEVEL').val;   //  Licht level aktuell
              var Modus_Dusche = getState('javascript.0.System.Modus.Modus_Dusche').val;   //  Modus Dusche aktiv?
              if (level > 0) {
                  if (getState('alias.0.HM.Bewegung.Bad_EG.MOTION').val == false){
                      if (Modus_Dusche == false) {
                          setState('alias.0.HM.Dimmer.Bad_EG.LEVEL', 0);
                          log("Licht Bad EG ausgeschaltet.");
                      }
                  } else {
                      log("Licht Bad EG nicht ausgeschaltet. Erneute Prüfung nach 2 min.");
                      setTimeout(function() {
                          pruef_aus ();
                      }, 120000);   // nach 2 min. erneute Prüfung
                  }
              }
          }
          
          // -----------------------------------------------------------------------------------------------------------
          // Bewegung: Bad_EG -> Spiegelschrank einschalten
          
          on('mqtt.2.Wemos_BadEG.PIR1', function (obj) {  // Bewegung erkannt mit Wemos
              var Status_auto2 = getState('javascript.0.System.Automatik.Licht.Bad_EG').val;   //  Automatik Licht true
              var Licht_state = getState('mqtt.2.Wemos_BadEG.POWER').val;   //  Licht Spiegelschrank aktuell
              var Hell2 = getState('alias.0.HM.Bewegung.Bad_EG.BRIGHTNESS').val;   //  Helligkeit
              var Modus_Dusche2 = getState('javascript.0.System.Modus.Modus_Dusche').val;   //  Modus Dusche aktiv?
              if(obj.state.val == "ON" && Status_auto2 == true && Licht_state == "OFF" && Modus_Dusche2 == false) {   //  Automatik Licht auf true und Licht ist aus und Modus überprüfen
                  if (Hell2 < 100) {
                      httpGet("http://192.168.243.175/cm?cmnd=Power1%20On", { responseType: 'text' }, (err, response) => { if (err) { console.error(err); } else { log (""); } });
                      log("Helligkeit = " + Hell2 + "; Licht Bad EG - Spiegelschrank eingeschaltet.");
                      setTimeout(function() {
                          pruef_aus2();
                      }, 120000);   // nach 2 min. Prüfung
                  }
              }
          });
          
          function pruef_aus2() {
              var state2 = getState('mqtt.2.Wemos_BadEG.POWER').val;   //  Licht Spiegelschrank aktuell
              var Modus_Dusche2 = getState('javascript.0.System.Modus.Modus_Dusche').val;   //  Modus Dusche aktiv?
              if (state2 == "ON") {
                  if (getState('alias.0.HM.Bewegung.Bad_EG.MOTION').val === false){
                      if (Modus_Dusche2 === false) {
                          httpGet("http://192.168.243.175/cm?cmnd=Power1%20Off", { responseType: 'text' }, (err, response) => { if (err) { console.error(err); } else { log (""); } });
                          log("Licht Bad EG - Spiegelschrank ausgeschaltet.");
                      }
                  } else {
                      log("Licht Bad EG - Spiegelschrank nicht ausgeschaltet. Erneute Prüfung nach 2 min.");
                      setTimeout(function() {
                          pruef_aus2();
                      }, 120000);   // nach 2 min. erneute Prüfung
                  }
              }
          }
          
          
          // Bewegung: Bad_EG -> Spiegelschrank - Status ändert sich
              on('mqtt.2.Wemos_BadEG.POWER', function (obj) {  // Status Power ändert sich
                  if (obj.state.val == "ON") { if (getState("javascript.0.Geräte.Bad-EG.Spiegelschrank").val != true) { setState("javascript.0.Geräte.Bad-EG.Spiegelschrank", true); }
                  } else { if (getState("javascript.0.Geräte.Bad-EG.Spiegelschrank").val != false) { setState("javascript.0.Geräte.Bad-EG.Spiegelschrank", false); }}
              });
          
              on('javascript.0.Geräte.Bad-EG.Spiegelschrank', function (obj) {  // Status Variable ändert sich
                  if (obj.state.val == true) { if (getState("mqtt.2.Wemos_BadEG.POWER").val != "ON") { 
                      httpGet("http://192.168.243.175/cm?cmnd=Power1%20On", { responseType: 'text' }, (err, response) => { if (err) { console.error(err); } else { log (""); } });
                  }
                  } else { if (getState("mqtt.2.Wemos_BadEG.POWER").val != "OFF") { 
                      httpGet("http://192.168.243.175/cm?cmnd=Power1%20Off", { responseType: 'text' }, (err, response) => { if (err) { console.error(err); } else { log (""); } });
                  }}
              });
          

          Wenn ich dieses Script neu starte mit:
          dfc6a9bd-519c-4e78-b839-52dad719b8aa-image.png

          dann kommt sofort im log:

          javascript.0	08:31:27.975	info	Start JavaScript script.js.Scripte.Licht.Bad_EG (JavaScript/js)
          javascript.0	08:31:27.987	warn	script.js.Scripte.Licht.Bad_EG: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
          javascript.0	08:31:27.987	info	script.js.Scripte.Licht.Bad_EG: registered 4 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
          

          und dieses ist umgestellt auf httpGet.

          Äußerst merkwürdig das ganze.


          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • bahnuhrB bahnuhr

            @haus-automatisierung
            so, habs ausprobiert (bin jetzt auf 8.3.0).

            Wenn ich folgenden kleinen code ausführe:

            httpGet(`http://192.168.243.203/YamahaExtendedControl/v1/main/setPower?power=standby`, { responseType: 'text' }, (err, response) => {
                if (err) { console.error(err); } else { log (""); }
            });
            

            kommt trotzdem im log:

            	script.js.Scripte.test6: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
            

            Warum kommt dies im log ?
            (httpGet ist in JS auch rot unterstrichen)

            Benutze doch httpGet.

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von liv-in-sky
            #25

            @bahnuhr sagte in [gelöst] Skript auf AXIOS umbauen:

            arum kommt dies im log ?
            (httpGet ist in JS auch rot unterstrichen)
            Benutze doch httpGet.

            hatte das auch - das passierte als ich ein script kopierte und dieses dann auf httpget änderte- obwohl das orginal abgeschalten war, kam diese meldung

            habe dann das alte nochmal gestartet und wieder beendet, dann war die meldung weg

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            bahnuhrB 1 Antwort Letzte Antwort
            0
            • liv-in-skyL liv-in-sky

              @bahnuhr sagte in [gelöst] Skript auf AXIOS umbauen:

              arum kommt dies im log ?
              (httpGet ist in JS auch rot unterstrichen)
              Benutze doch httpGet.

              hatte das auch - das passierte als ich ein script kopierte und dieses dann auf httpget änderte- obwohl das orginal abgeschalten war, kam diese meldung

              habe dann das alte nochmal gestartet und wieder beendet, dann war die meldung weg

              bahnuhrB Offline
              bahnuhrB Offline
              bahnuhr
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #26

              @liv-in-sky sagte in [gelöst] Skript auf AXIOS umbauen:

              habe dann das alte nochmal gestartet und wieder beendet, dann war die meldung weg

              Dieser Versuch hab ich schon hinter mir.
              iob hatte ich gestern komplett neu gestartet.

              Meldung kommt trotzdem !


              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
              Danke.
              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
              ScreenToGif :https://www.screentogif.com/downloads.html

              haus-automatisierungH 1 Antwort Letzte Antwort
              0
              • bahnuhrB bahnuhr

                @liv-in-sky sagte in [gelöst] Skript auf AXIOS umbauen:

                habe dann das alte nochmal gestartet und wieder beendet, dann war die meldung weg

                Dieser Versuch hab ich schon hinter mir.
                iob hatte ich gestern komplett neu gestartet.

                Meldung kommt trotzdem !

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

                @bahnuhr Hast Du Scripts in global liegen?

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

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

                  @bahnuhr Hast Du Scripts in global liegen?

                  bahnuhrB Offline
                  bahnuhrB Offline
                  bahnuhr
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von bahnuhr
                  #28

                  @haus-automatisierung sagte in [gelöst] Skript auf AXIOS umbauen:

                  @bahnuhr Hast Du Scripts in global liegen?

                  ja !
                  Das ist ne Idee, schau ich gleich mal nach.

                  Nachtrag:
                  alle durchgeschaut; da ist nix mit request.
                  Nachtrag2:
                  doch eines gefunden, ändere das gleich mal ab.


                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                  Danke.
                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                  ScreenToGif :https://www.screentogif.com/downloads.html

                  haus-automatisierungH joergeliJ 2 Antworten Letzte Antwort
                  0
                  • bahnuhrB bahnuhr

                    @haus-automatisierung sagte in [gelöst] Skript auf AXIOS umbauen:

                    @bahnuhr Hast Du Scripts in global liegen?

                    ja !
                    Das ist ne Idee, schau ich gleich mal nach.

                    Nachtrag:
                    alle durchgeschaut; da ist nix mit request.
                    Nachtrag2:
                    doch eines gefunden, ändere das gleich mal ab.

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

                    @bahnuhr sagte in [gelöst] Skript auf AXIOS/httpGet umbauen:

                    @haus-automatisierung sagte in [gelöst] Skript auf AXIOS umbauen:
                    Nachtrag2:
                    doch eines gefunden, ändere das gleich mal ab.

                    Alles andere hätte mich jetzt auch echt gewundert 🙃

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

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

                      @bahnuhr sagte in [gelöst] Skript auf AXIOS/httpGet umbauen:

                      @haus-automatisierung sagte in [gelöst] Skript auf AXIOS umbauen:
                      Nachtrag2:
                      doch eines gefunden, ändere das gleich mal ab.

                      Alles andere hätte mich jetzt auch echt gewundert 🙃

                      bahnuhrB Offline
                      bahnuhrB Offline
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #30

                      @haus-automatisierung sagte in [gelöst] Skript auf AXIOS umbauen:

                      Alles andere hätte mich jetzt auch echt gewundert 🙃

                      ja, mich ja auch.
                      Deshalb war es ja merkwürdig.

                      ;-) wär ich aber bestimmt noch drauf gekommen. ;-)


                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

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

                        @bahnuhr sagte in [gelöst] Skript auf AXIOS/httpGet umbauen:

                        @haus-automatisierung sagte in [gelöst] Skript auf AXIOS umbauen:
                        Nachtrag2:
                        doch eines gefunden, ändere das gleich mal ab.

                        Alles andere hätte mich jetzt auch echt gewundert 🙃

                        bahnuhrB Offline
                        bahnuhrB Offline
                        bahnuhr
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #31

                        @haus-automatisierung

                        erledigt, warn ist weg.
                        Es lag an dem globalen Script.
                        Danke


                        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                        Danke.
                        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                        ScreenToGif :https://www.screentogif.com/downloads.html

                        1 Antwort Letzte Antwort
                        0
                        • bahnuhrB bahnuhr

                          @haus-automatisierung sagte in [gelöst] Skript auf AXIOS umbauen:

                          @bahnuhr Hast Du Scripts in global liegen?

                          ja !
                          Das ist ne Idee, schau ich gleich mal nach.

                          Nachtrag:
                          alle durchgeschaut; da ist nix mit request.
                          Nachtrag2:
                          doch eines gefunden, ändere das gleich mal ab.

                          joergeliJ Online
                          joergeliJ Online
                          joergeli
                          schrieb am zuletzt editiert von
                          #32

                          @bahnuhr sagte in [gelöst] Skript auf AXIOS/httpGet umbauen:

                          Nachtrag:
                          alle durchgeschaut; da ist nix mit request.
                          Nachtrag2:
                          doch eines gefunden, ändere das gleich mal ab.

                          Du weißt, wie man automatisch nach Begriffen in allen Scripten suchen kann?
                          Dazu im Scripte-Tag das Lupensymbol rechts oben anklicken und dann den entspr. Suchbegriff eingeben (hier: request).
                          Dann werden alle Scripte aufgelistet, die diesen Suchbegriff enthalten, s. Screenshot:
                          request.jpg

                          Danach nicht vergessen, die Suche wieder auszuschalten: das "durchgestrichene T" nochmals anklicken.

                          1 Antwort Letzte Antwort
                          0
                          • NegaleinN Offline
                            NegaleinN Offline
                            Negalein
                            Global Moderator
                            schrieb am zuletzt editiert von
                            #33

                            Hallo

                            Ich habe auch 8 Scripte und 5 Blocklys, wo noch request läuft.
                            Reicht mWn nicht, einfach request durch httpGet oder axios zu ersetzen.

                            Könnte da wer über meine Scripte drüberschaun?

                            Das ist zB eins von den 8.

                            var url = "http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365";
                            var pfad = "Volkszaehler.";
                            var idAKTUELLER_VERBRAUCH = pfad + "AKTUELLER_VERBRAUCH";
                            var idAKTUELLE_ERZEUGUNG = pfad + "AKTUELLE_LIEFERUNG";
                            // var idAKTUELLE_HEIZUNG = pfad + "AKTUELLE_HEIZUNG";
                             
                             
                            // Vorgegebene Funktion, die nur dazu dient, das JSON einzulesen
                            // Angelehnt an: http://www.iobroker.net/docu/?page_id=3691
                            var request = require("request");
                            function readJson(url, callback) {
                                request(url, function(err, state, body) {
                                    if (body) {
                                        var json = {};
                                        if (body !== "") {
                                            try {
                                                json = JSON.parse(body);
                                            } catch (ex) {
                                                json = {};
                                            }
                                            if (!json) {
                                                json = {};
                                            }
                                        }
                                        callback(null, json);
                                    } else {
                                        var error = "(" + err + ") ERROR bei Abfrage von: " + url;
                                        log(error, "warn");
                                        callback(error, null);
                                    }
                                });
                            }
                             
                            // Erzeugen der Objekte in ioBroker
                            createState(idAKTUELLER_VERBRAUCH, 0, {
                                name: 'Aktueller Verbrauch',
                                desc: 'Aktueller Verbrauch',
                                type: 'number',
                                role: 'value',
                                unit: 'W'
                            });
                            createState(idAKTUELLE_ERZEUGUNG, 0, {
                                name: 'Aktuelle Erzeugung',
                                desc: 'Aktuelle Erzeugung',
                                type: 'number',
                                role: 'value',
                                unit: 'W'
                            });
                            // createState(idAKTUELLE_HEIZUNG, 0, {
                            //     name: 'Aktuelle Heizung',
                            //     desc: 'Aktuelle Heizung',
                            //     type: 'number',
                            //     role: 'value',
                            //     unit: 'W'
                            // });
                             
                            // Startet das Skript alle 2 Sekunden neu
                            schedule("*/2 * * * * *", function() {
                                readJson(url, function(err, json) {
                                    if (!err) {
                                        var wert1 = json.data[0].tuples[0][1];
                                        var wert2 = json.data[1].tuples[0][1];
                                        // var wert3 = json.data[2].tuples[0][1];
                                        // Setzen der Werte in ioBroker
                                        // Man füllt die oben erzeugten Objekte jetzt mit den Werten
                                        setState(idAKTUELLER_VERBRAUCH, wert1);
                                        setState(idAKTUELLE_ERZEUGUNG, wert2);
                                        // setState(idAKTUELLE_HEIZUNG, wert3);
                                    } else {
                                        log("Fehler beim Auslesen des JSON fuer Volkszaehler. Keine Daten erhalten.", "warn");
                                    }
                                });
                            });
                            
                            

                            ° Node.js: 20.17.0 NPM: 10.8.2
                            ° Proxmox, Ubuntu 22.04.3 LTS
                            ° Fixer ---> iob fix

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • NegaleinN Negalein

                              Hallo

                              Ich habe auch 8 Scripte und 5 Blocklys, wo noch request läuft.
                              Reicht mWn nicht, einfach request durch httpGet oder axios zu ersetzen.

                              Könnte da wer über meine Scripte drüberschaun?

                              Das ist zB eins von den 8.

                              var url = "http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365";
                              var pfad = "Volkszaehler.";
                              var idAKTUELLER_VERBRAUCH = pfad + "AKTUELLER_VERBRAUCH";
                              var idAKTUELLE_ERZEUGUNG = pfad + "AKTUELLE_LIEFERUNG";
                              // var idAKTUELLE_HEIZUNG = pfad + "AKTUELLE_HEIZUNG";
                               
                               
                              // Vorgegebene Funktion, die nur dazu dient, das JSON einzulesen
                              // Angelehnt an: http://www.iobroker.net/docu/?page_id=3691
                              var request = require("request");
                              function readJson(url, callback) {
                                  request(url, function(err, state, body) {
                                      if (body) {
                                          var json = {};
                                          if (body !== "") {
                                              try {
                                                  json = JSON.parse(body);
                                              } catch (ex) {
                                                  json = {};
                                              }
                                              if (!json) {
                                                  json = {};
                                              }
                                          }
                                          callback(null, json);
                                      } else {
                                          var error = "(" + err + ") ERROR bei Abfrage von: " + url;
                                          log(error, "warn");
                                          callback(error, null);
                                      }
                                  });
                              }
                               
                              // Erzeugen der Objekte in ioBroker
                              createState(idAKTUELLER_VERBRAUCH, 0, {
                                  name: 'Aktueller Verbrauch',
                                  desc: 'Aktueller Verbrauch',
                                  type: 'number',
                                  role: 'value',
                                  unit: 'W'
                              });
                              createState(idAKTUELLE_ERZEUGUNG, 0, {
                                  name: 'Aktuelle Erzeugung',
                                  desc: 'Aktuelle Erzeugung',
                                  type: 'number',
                                  role: 'value',
                                  unit: 'W'
                              });
                              // createState(idAKTUELLE_HEIZUNG, 0, {
                              //     name: 'Aktuelle Heizung',
                              //     desc: 'Aktuelle Heizung',
                              //     type: 'number',
                              //     role: 'value',
                              //     unit: 'W'
                              // });
                               
                              // Startet das Skript alle 2 Sekunden neu
                              schedule("*/2 * * * * *", function() {
                                  readJson(url, function(err, json) {
                                      if (!err) {
                                          var wert1 = json.data[0].tuples[0][1];
                                          var wert2 = json.data[1].tuples[0][1];
                                          // var wert3 = json.data[2].tuples[0][1];
                                          // Setzen der Werte in ioBroker
                                          // Man füllt die oben erzeugten Objekte jetzt mit den Werten
                                          setState(idAKTUELLER_VERBRAUCH, wert1);
                                          setState(idAKTUELLE_ERZEUGUNG, wert2);
                                          // setState(idAKTUELLE_HEIZUNG, wert3);
                                      } else {
                                          log("Fehler beim Auslesen des JSON fuer Volkszaehler. Keine Daten erhalten.", "warn");
                                      }
                                  });
                              });
                              
                              
                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #34

                              @negalein sagte: request durch httpGet oder axios zu ersetzen.

                              Lass Zeile 10 weg und ersetze Zeilen 12, 13 durch

                                  httpGet(url, (err, response) => {
                                      if(!err) {
                                          const body = response.data;
                              

                              Die Funktion liest nicht nur das JSON ein, sondern wandelt es auch in ein Objekt.

                              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

                              NegaleinN 1 Antwort Letzte Antwort
                              3
                              • paul53P paul53

                                @negalein sagte: request durch httpGet oder axios zu ersetzen.

                                Lass Zeile 10 weg und ersetze Zeilen 12, 13 durch

                                    httpGet(url, (err, response) => {
                                        if(!err) {
                                            const body = response.data;
                                

                                Die Funktion liest nicht nur das JSON ein, sondern wandelt es auch in ein Objekt.

                                NegaleinN Offline
                                NegaleinN Offline
                                Negalein
                                Global Moderator
                                schrieb am zuletzt editiert von Negalein
                                #35

                                @paul53 sagte in [gelöst] Skript auf AXIOS/httpGet umbauen:

                                request durch httpGet oder axios zu ersetzen.

                                habs jetzt so geändert.

                                var url = "http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365";
                                var pfad = "Volkszaehler.";
                                var idAKTUELLER_VERBRAUCH = pfad + "AKTUELLER_VERBRAUCH";
                                var idAKTUELLE_ERZEUGUNG = pfad + "AKTUELLE_LIEFERUNG";
                                // var idAKTUELLE_HEIZUNG = pfad + "AKTUELLE_HEIZUNG";
                                 
                                 
                                // Vorgegebene Funktion, die nur dazu dient, das JSON einzulesen
                                // Angelehnt an: http://www.iobroker.net/docu/?page_id=3691
                                //var request = require("request");
                                function readJson(url, callback) {
                                    httpGet(url, (err, response) => {
                                        if(!err) {
                                            const body = response.data;
                                            var json = {};
                                            if (body !== "") {
                                                try {
                                                    json = JSON.parse(body);
                                                } catch (ex) {
                                                    json = {};
                                                }
                                                if (!json) {
                                                    json = {};
                                                }
                                            }
                                            callback(null, json);
                                        } else {
                                            var error = "(" + err + ") ERROR bei Abfrage von: " + url;
                                            log(error, "warn");
                                            callback(error, null);
                                        }
                                    });
                                }
                                 
                                // Erzeugen der Objekte in ioBroker
                                createState(idAKTUELLER_VERBRAUCH, 0, {
                                    name: 'Aktueller Verbrauch',
                                    desc: 'Aktueller Verbrauch',
                                    type: 'number',
                                    role: 'value',
                                    unit: 'W'
                                });
                                createState(idAKTUELLE_ERZEUGUNG, 0, {
                                    name: 'Aktuelle Erzeugung',
                                    desc: 'Aktuelle Erzeugung',
                                    type: 'number',
                                    role: 'value',
                                    unit: 'W'
                                });
                                // createState(idAKTUELLE_HEIZUNG, 0, {
                                //     name: 'Aktuelle Heizung',
                                //     desc: 'Aktuelle Heizung',
                                //     type: 'number',
                                //     role: 'value',
                                //     unit: 'W'
                                // });
                                 
                                // Startet das Skript alle 2 Sekunden neu
                                schedule("*/2 * * * * *", function() {
                                    readJson(url, function(err, json) {
                                        if (!err) {
                                            var wert1 = json.data[0].tuples[0][1];
                                            var wert2 = json.data[1].tuples[0][1];
                                            // var wert3 = json.data[2].tuples[0][1];
                                            // Setzen der Werte in ioBroker
                                            // Man füllt die oben erzeugten Objekte jetzt mit den Werten
                                            setState(idAKTUELLER_VERBRAUCH, wert1);
                                            setState(idAKTUELLE_ERZEUGUNG, wert2);
                                            // setState(idAKTUELLE_HEIZUNG, wert3);
                                        } else {
                                            log("Fehler beim Auslesen des JSON fuer Volkszaehler. Keine Daten erhalten.", "warn");
                                        }
                                    });
                                });
                                
                                

                                Seitdem kommt immer

                                javascript.0 2024-05-21 22:00:04.003	warn	script.js.common.Volkszaehler: Fehler beim Auslesen des JSON fuer Volkszaehler. Keine Daten erhalten.
                                javascript.0 2024-05-21 22:00:04.003	warn	script.js.common.Volkszaehler: (timeout of 2000ms exceeded) ERROR bei Abfrage von: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365
                                

                                ° Node.js: 20.17.0 NPM: 10.8.2
                                ° Proxmox, Ubuntu 22.04.3 LTS
                                ° Fixer ---> iob fix

                                1 Antwort Letzte Antwort
                                0
                                • spicerS Offline
                                  spicerS Offline
                                  spicer
                                  schrieb am zuletzt editiert von spicer
                                  #36

                                  Rein zur Info. Vielleicht bringt das ja jemandem etwas ;)
                                  Hatte eine "request" Statusabfrage für ein 2 Kanal Shelly Relais in Blockly.
                                  Habe die nun auf httpGet umgebaut.

                                  Auswahl_001.png

                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                    <variables>
                                      <variable id="E[*Zo^$tgAM,^`rYg^])">kanal0</variable>
                                      <variable id="TQ)gbSh^wT5;8tF}T^nr">kanal1</variable>
                                      <variable id="dS7SBWx%D(:^gT-)AED1">response</variable>
                                    </variables>
                                    <block type="variables_set" id="s?@slMwdnK+,UEa?{1|c" x="138" y="-62">
                                      <field name="VAR" id="E[*Zo^$tgAM,^`rYg^])">kanal0</field>
                                      <value name="VALUE">
                                        <block type="text_join" id=";vat3UEcQWG?a+Bcf%[(">
                                          <mutation items="2"></mutation>
                                          <value name="ADD0">
                                            <block type="get_value" id="_O~dp%pE-r6XZb/n+g,/">
                                              <field name="ATTR">val</field>
                                              <field name="OID">0_userdata.0.Shelly_(Boilersteuerung)_IP_Adresse</field>
                                            </block>
                                          </value>
                                          <value name="ADD1">
                                            <block type="text" id=";9%*x8:DvKn4Zr1[rpX4">
                                              <field name="TEXT">/relay/0</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="variables_set" id="u:=x,qNiiV.kHPx1mQUp">
                                          <field name="VAR" id="TQ)gbSh^wT5;8tF}T^nr">kanal1</field>
                                          <value name="VALUE">
                                            <block type="text_join" id="L`G9_Q4~#Wj)H~?%+j^t">
                                              <mutation items="2"></mutation>
                                              <value name="ADD0">
                                                <block type="get_value" id="b/ie;GOcmF(3vcM~Imhu">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">0_userdata.0.Shelly_(Boilersteuerung)_IP_Adresse</field>
                                                </block>
                                              </value>
                                              <value name="ADD1">
                                                <block type="text" id="`xl:v4wa7(m~J2oHj^ay">
                                                  <field name="TEXT">/relay/1</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="schedule" id="Os$n~Pf|//l((B`LiMpv">
                                              <field name="SCHEDULE">10 * * * * *</field>
                                              <statement name="STATEMENT">
                                                <block type="http_get" id="eTyh=%eunC]8ho{Z4vlO">
                                                  <field name="TIMEOUT">2000</field>
                                                  <field name="UNIT">ms</field>
                                                  <field name="TYPE">text</field>
                                                  <value name="URL">
                                                    <shadow type="text" id="[35arL4q*P_qtNi):l5H">
                                                      <field name="TEXT">http://</field>
                                                    </shadow>
                                                    <block type="variables_get" id="*[](iu^7hov;{JkB3L[0">
                                                      <field name="VAR" id="E[*Zo^$tgAM,^`rYg^])">kanal0</field>
                                                    </block>
                                                  </value>
                                                  <statement name="STATEMENT">
                                                    <block type="update" id="zvA`Um(v7L{n71nJf{yM">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                      <field name="OID">0_userdata.0.Boiler_OG_(0)_Status</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="get_attr" id="SB#5wbEL^bwf%5h/h+@K">
                                                          <value name="PATH">
                                                            <shadow type="text" id="W4tzCjd7*0c8w2+f|j@S">
                                                              <field name="TEXT">data.ison</field>
                                                            </shadow>
                                                          </value>
                                                          <value name="OBJECT">
                                                            <block type="variables_get" id="Z*xk#JW7EGF)0Wyr5sn4">
                                                              <field name="VAR" id="dS7SBWx%D(:^gT-)AED1">response</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="debug" id="mVL(4bm-Y:}~?D6=?.NL" disabled="true">
                                                          <field name="Severity">warn</field>
                                                          <value name="TEXT">
                                                            <shadow type="text" id="5UdI+a16i%{s:wlq1X]q">
                                                              <field name="TEXT">test</field>
                                                            </shadow>
                                                            <block type="get_attr" id="`x#N1!oziArCcey3/Z(@">
                                                              <value name="PATH">
                                                                <shadow type="text" id="_jb`1^PkZLv-b:ZQ)qNm">
                                                                  <field name="TEXT">data.ison</field>
                                                                </shadow>
                                                              </value>
                                                              <value name="OBJECT">
                                                                <block type="variables_get" id="/F~$0I}thMJ900NaYe-j">
                                                                  <field name="VAR" id="dS7SBWx%D(:^gT-)AED1">response</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </statement>
                                                  <next>
                                                    <block type="http_get" id="Zn}GLtb{e^dt+$NODz=)">
                                                      <field name="TIMEOUT">2000</field>
                                                      <field name="UNIT">ms</field>
                                                      <field name="TYPE">text</field>
                                                      <value name="URL">
                                                        <shadow type="text" id="IqhveZy7llAw)bU5EJ][">
                                                          <field name="TEXT">http://</field>
                                                        </shadow>
                                                        <block type="variables_get" id="c#$N_,}o#kE?^YY1%6|=">
                                                          <field name="VAR" id="TQ)gbSh^wT5;8tF}T^nr">kanal1</field>
                                                        </block>
                                                      </value>
                                                      <statement name="STATEMENT">
                                                        <block type="update" id=":ir}AMj5X`8@yNEA,s$c">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                          <field name="OID">0_userdata.0.Boiler_EG_(1)_Status</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE">
                                                            <block type="get_attr" id="?AW79Fmiu,jnO`rx^$t0">
                                                              <value name="PATH">
                                                                <shadow type="text" id="F%Lf#dE60sB[Coga^6Yz">
                                                                  <field name="TEXT">data.ison</field>
                                                                </shadow>
                                                              </value>
                                                              <value name="OBJECT">
                                                                <block type="variables_get" id="-_ii~1doIWAi}55O7]qV">
                                                                  <field name="VAR" id="dS7SBWx%D(:^gT-)AED1">response</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="debug" id="F$[alX?Xq;`cQe0s_yKI" disabled="true">
                                                              <field name="Severity">warn</field>
                                                              <value name="TEXT">
                                                                <shadow type="text" id="5YG7`78f-Zph)R[VX)0M">
                                                                  <field name="TEXT">test</field>
                                                                </shadow>
                                                                <block type="get_attr" id="MuksX?ZFb5e-HyJCkaJj">
                                                                  <value name="PATH">
                                                                    <shadow type="text" id="0Q@*AE];_d@%SN]QU)#K">
                                                                      <field name="TEXT">data.ison</field>
                                                                    </shadow>
                                                                  </value>
                                                                  <value name="OBJECT">
                                                                    <block type="variables_get" id="uUx0xQ;$8aeYI6Lk[wV*">
                                                                      <field name="VAR" id="dS7SBWx%D(:^gT-)AED1">response</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </xml>
                                  

                                  Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonstwie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen. Alles, was schiefgehen kann, wird auch schiefgehen.
                                  (Murphys Gesetz)

                                  1 Antwort Letzte Antwort
                                  0
                                  • C Offline
                                    C Offline
                                    c1olli
                                    schrieb am zuletzt editiert von
                                    #37

                                    @djmarc75
                                    Hallo,
                                    ich nehme mal an es geht um dieses Blockly
                                    https://forum.iobroker.net/topic/57207/adresse-aus-gps-koordinaten-ermitteln/16

                                    Ich hab es versucht umzubauen, aber habe leider funktionierende keine Lösung gefunden.
                                    Kannst Du dein Blockly posten?

                                    Gruß
                                    Olli

                                    DJMarc75D 1 Antwort Letzte Antwort
                                    0
                                    • C c1olli

                                      @djmarc75
                                      Hallo,
                                      ich nehme mal an es geht um dieses Blockly
                                      https://forum.iobroker.net/topic/57207/adresse-aus-gps-koordinaten-ermitteln/16

                                      Ich hab es versucht umzubauen, aber habe leider funktionierende keine Lösung gefunden.
                                      Kannst Du dein Blockly posten?

                                      DJMarc75D Online
                                      DJMarc75D Online
                                      DJMarc75
                                      schrieb am zuletzt editiert von DJMarc75
                                      #38

                                      @c1olli sagte in [gelöst] Skript auf AXIOS/httpGet umbauen:

                                      Kannst Du dein Blockly posten?

                                      Logo:

                                      Screenshot 2024-05-27 194610.png

                                      Lehrling seit 1975 !!!
                                      Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                                      https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                                      C spicerS 2 Antworten Letzte Antwort
                                      2
                                      • DJMarc75D DJMarc75

                                        @c1olli sagte in [gelöst] Skript auf AXIOS/httpGet umbauen:

                                        Kannst Du dein Blockly posten?

                                        Logo:

                                        Screenshot 2024-05-27 194610.png

                                        C Offline
                                        C Offline
                                        c1olli
                                        schrieb am zuletzt editiert von
                                        #39

                                        @djmarc75
                                        Jetzt wirds klarer - werde ich morgen dann mal nachbauen.
                                        Danke

                                        Gruß
                                        Olli

                                        DJMarc75D 1 Antwort Letzte Antwort
                                        0
                                        • DJMarc75D DJMarc75

                                          @c1olli sagte in [gelöst] Skript auf AXIOS/httpGet umbauen:

                                          Kannst Du dein Blockly posten?

                                          Logo:

                                          Screenshot 2024-05-27 194610.png

                                          spicerS Offline
                                          spicerS Offline
                                          spicer
                                          schrieb am zuletzt editiert von
                                          #40

                                          @djmarc75 sagte in [gelöst] Skript auf AXIOS/httpGet umbauen:

                                          @c1olli sagte in [gelöst] Skript auf AXIOS/httpGet umbauen:

                                          Kannst Du dein Blockly posten?

                                          Logo:

                                          Screenshot 2024-05-27 194610.png

                                          Es wäre für @c1olli sicher einfacher, wenn Du die xml vom Blockly posten würdest ;)

                                          Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonstwie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen. Alles, was schiefgehen kann, wird auch schiefgehen.
                                          (Murphys Gesetz)

                                          HomoranH 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

                                          840

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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