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.
  • bahnuhrB bahnuhr

    Guten Morgen,

    bin auch gerade an dem Thema dran:

    mit request lasse ich mir Bilder der cam an telegram senden, wie folgt:

    var ip = 159; var vUser = "Dieter"; var cam = "Test";
    
    var request = require('request');
    var fs      = require('fs');
        request.get({url: 'http://192.168.243.' + ip + ':88//cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xx&pwd=xx', encoding: 'binary'}, function (err, response, body) {
            fs.writeFile('/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', body, 'binary', function(err) {
            if (err) {
                console.error(err);
            } else {
                log('Snapshot sent '+ ip);
                sendTo('telegram.0', {user: vUser, text: '/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', caption: cam});
            }
          }); 
        });
    

    Wenn ich dies nun mit axios versuche, klappt dies nicht:

    var ip = 159; var vUser = "Dieter"; var cam = "Test";
    
    const axios = require('axios');
    var fs      = require('fs');
        axios.get({url: 'http://192.168.243.' + ip + ':88//cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xx&pwd=xx', encoding: 'binary'}, function (err, response, body) {
            fs.writeFile('/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', body, 'binary', function(err) {
            if (err) {
                console.error(err);
            } else {
                log('Snapshot sent '+ ip);
                sendTo('telegram.0', {user: vUser, text: '/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', caption: cam});
            }
          }); 
        });
    

    Kann der axios diesen "binary" nicht ?
    Oder liegt es an etwas anderes ?

    Vielleicht auch ne Info wie der Befehl mit httpget aussehen müsste.
    Danke.

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

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

    Kann der axios diesen "binary" nicht ?

    Du kannst nicht einfach nur 1:1 die Funktion austauschen. Dokumentation gibts hier: https://github.com/axios/axios

    Das Ganze heißt responseEncoding: 'binary', im Config-Objekt. Aber warum nutzt Du nicht httpGet ?

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

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

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

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

      Kann der axios diesen "binary" nicht ?

      Du kannst nicht einfach nur 1:1 die Funktion austauschen. Dokumentation gibts hier: https://github.com/axios/axios

      Das Ganze heißt responseEncoding: 'binary', im Config-Objekt. Aber warum nutzt Du nicht httpGet ?

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

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

      nicht getestet, nur im Forum programmiert

      const fs = require('node:fs');
      
      const ip = 159;
      const vUser = 'Dieter';
      const cam = 'Test';
      
      httpGet(`http://192.168.243.${ip}:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xx&pwd=xx`, { responseType: 'arraybuffer' }, (err, response) => {
          if (err) {
              console.error(err);
          } else {
              const filePath = `/opt/iobroker/iobroker-data/tmp/snap${ip}.jpg`;
      
              fs.writeFile(filePath, response.data, (err) => {
                  if (err) {
                      console.error(err);
                  } else {
                      log(`Snapshot sent: ${ip}`);
      
                      sendTo('telegram.0', {
                          user: vUser,
                          text: filePath,
                          caption: cam
                      });
                  }
              });
          }
      });
      

      🧑‍🎓 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
      1
      • haus-automatisierungH haus-automatisierung

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

        Kann der axios diesen "binary" nicht ?

        Du kannst nicht einfach nur 1:1 die Funktion austauschen. Dokumentation gibts hier: https://github.com/axios/axios

        Das Ganze heißt responseEncoding: 'binary', im Config-Objekt. Aber warum nutzt Du nicht httpGet ?

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

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

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

        Aber warum nutzt Du nicht httpGet ?

        weil es mit der 7.8.0 noch nicht funktioniert.
        und die 7.9.0 ist noch nicht stable.

        Muss ich wohl mal die beta installieren.


        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

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

          Aber warum nutzt Du nicht httpGet ?

          weil es mit der 7.8.0 noch nicht funktioniert.
          und die 7.9.0 ist noch nicht stable.

          Muss ich wohl mal die beta installieren.

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

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

          Muss ich wohl mal die beta installieren.

          In 8.3.0 habe ich heute noch eine weitere Funktion eingefügt. Damit wird das noch kürzer:

          const ip = 159;
          const user = 'Dieter';
          const caption = 'Test';
           
          httpGet(`http://192.168.243.${ip}:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xx&pwd=xx`, { responseType: 'arraybuffer' }, (err, response) => {
              if (err) {
                  console.error(err);
              } else {
                  sendTo('telegram.0', {
                      user,
                      caption,
                      text: createTempFile(`snap${ip}.jpg`, response.data),
                  });
              }
          });
          
          

          🧑‍🎓 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
          1
          • haus-automatisierungH haus-automatisierung

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

            Muss ich wohl mal die beta installieren.

            In 8.3.0 habe ich heute noch eine weitere Funktion eingefügt. Damit wird das noch kürzer:

            const ip = 159;
            const user = 'Dieter';
            const caption = 'Test';
             
            httpGet(`http://192.168.243.${ip}:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xx&pwd=xx`, { responseType: 'arraybuffer' }, (err, response) => {
                if (err) {
                    console.error(err);
                } else {
                    sendTo('telegram.0', {
                        user,
                        caption,
                        text: createTempFile(`snap${ip}.jpg`, response.data),
                    });
                }
            });
            
            
            bahnuhrB Offline
            bahnuhrB Offline
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #19

            @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.


            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 liv-in-skyL 2 Antworten 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.

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

              @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?

              🧑‍🎓 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 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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          863

                                          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