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. 'request' läuft aus - Umstellen auf `axios` - ein Beispiel

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

'request' läuft aus - Umstellen auf `axios` - ein Beispiel

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
24 Beiträge 3 Kommentatoren 2.0k Aufrufe 2 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.
  • HomoranH Homoran

    @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

    Die Tage sind aber gezählt:

    und dann?

    SBorgS Offline
    SBorgS Offline
    SBorg
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #3

    @homoran Naja, wenn sie den Support ab NPM xxx einstellen (immerhin ist es seit 2 Jahren bekannt), wird "request" nicht mehr funktionieren = er kann die Webseite nicht mehr laden/parsen == no more data

    Deswegen bauen die meisten auf "axios" um. Ich finde bei mir auch immer noch Skripte mit "request".
    Wenn es nur 2 oder 3 Skripte sind, gibt es halt bspw. dann keine Pollenflug- oder Ozondaten usw. Ich habe aber etliche, dann würde schlagartig die Hälfte des SmartHomes nicht mehr funktionieren. Nur keine Daten in der VIS ist eine Sache, aber Daten die dann fürs SH wichtig sind/benötigt werden...

    LG SBorg ( SBorg auf GitHub)
    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

    HomoranH 1 Antwort Letzte Antwort
    0
    • SBorgS SBorg

      @homoran Naja, wenn sie den Support ab NPM xxx einstellen (immerhin ist es seit 2 Jahren bekannt), wird "request" nicht mehr funktionieren = er kann die Webseite nicht mehr laden/parsen == no more data

      Deswegen bauen die meisten auf "axios" um. Ich finde bei mir auch immer noch Skripte mit "request".
      Wenn es nur 2 oder 3 Skripte sind, gibt es halt bspw. dann keine Pollenflug- oder Ozondaten usw. Ich habe aber etliche, dann würde schlagartig die Hälfte des SmartHomes nicht mehr funktionieren. Nur keine Daten in der VIS ist eine Sache, aber Daten die dann fürs SH wichtig sind/benötigt werden...

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #4

      @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

      ch finde bei mir auch immer noch Skripte mit "request".

      ich auch, deswegen die Frage

      @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

      Deswegen bauen die meisten auf "axios" um

      Da ich aber js-Legastheniker bin nutzt mir das gar nichts

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      SBorgS 1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

        ch finde bei mir auch immer noch Skripte mit "request".

        ich auch, deswegen die Frage

        @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

        Deswegen bauen die meisten auf "axios" um

        Da ich aber js-Legastheniker bin nutzt mir das gar nichts

        SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #5

        @homoran sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

        Da ich aber js-Legastheniker bin nutzt mir das gar nichts

        :cry:
        Biowetter (ich glaube das nutzt du auch, zumindest stand da IMO was im Komentar) habe ich die Tage für @Nashra umgebaut (das ist aber in JS, nicht wie hier TS).
        Sonst hilft wohl nur beim Ersteller anfragen, sofern sie halt noch aktiv sind...

        LG SBorg ( SBorg auf GitHub)
        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

        HomoranH 1 Antwort Letzte Antwort
        0
        • SBorgS SBorg

          @homoran sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

          Da ich aber js-Legastheniker bin nutzt mir das gar nichts

          :cry:
          Biowetter (ich glaube das nutzt du auch, zumindest stand da IMO was im Komentar) habe ich die Tage für @Nashra umgebaut (das ist aber in JS, nicht wie hier TS).
          Sonst hilft wohl nur beim Ersteller anfragen, sofern sie halt noch aktiv sind...

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #6

          @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

          Biowetter (ich glaube das nutzt du auch, zumindest stand da IMO was im Komentar)

          Habe gerade meine Skripte nach request durchsucht.
          Sind Gottseidank nur 8, davon auch nur 4 aktiv.

          Ein kurzes mal als Beispiel, mit dem ich mir die Regenradarkarte vom DWD abhole

          const request = require('request').defaults({ encoding: null });
          const url = 'http://www.dwd.de/DWD/wetter/radar/rad_nrw_akt.jpg';
          const url_Film = 'https://www.dwd.de/DWD/wetter/radar/radfilm_nrw_akt.gif';
          const idDp = '0_userdata.0.Wetter.Regen.NRW';
          const idDp_Film = '0_userdata.0.Wetter.Regen.NRW_Film';
           
          schedule('*/7 * * * *', function() {
              request(url, function(err, response, data) {
                  if(!err && data) {
                      data = "data:" + response.headers["content-type"] + ";base64," + new Buffer(data).toString('base64');
                      setState(idDp, data);
                  }
              });
                  request(url_Film, function(err, response, data) {
                  if(!err && data) {
                      data = "data:" + response.headers["content-type"] + ";base64," + new Buffer(data).toString('base64');
                      setState(idDp_Film, data);
                  }
              });
          });
          

          Wenn es dann nicht zu schwer ist request gegen axios zu tauschen und ich weiß wie, denke ich, dass ich die anderen auch hinbekomme.

          Ich frage mich nur ob es noch (alte) Adapter gibt, die im Inneren mit request arbeiten

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          SBorgS paul53P 2 Antworten Letzte Antwort
          0
          • HomoranH Homoran

            @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

            Biowetter (ich glaube das nutzt du auch, zumindest stand da IMO was im Komentar)

            Habe gerade meine Skripte nach request durchsucht.
            Sind Gottseidank nur 8, davon auch nur 4 aktiv.

            Ein kurzes mal als Beispiel, mit dem ich mir die Regenradarkarte vom DWD abhole

            const request = require('request').defaults({ encoding: null });
            const url = 'http://www.dwd.de/DWD/wetter/radar/rad_nrw_akt.jpg';
            const url_Film = 'https://www.dwd.de/DWD/wetter/radar/radfilm_nrw_akt.gif';
            const idDp = '0_userdata.0.Wetter.Regen.NRW';
            const idDp_Film = '0_userdata.0.Wetter.Regen.NRW_Film';
             
            schedule('*/7 * * * *', function() {
                request(url, function(err, response, data) {
                    if(!err && data) {
                        data = "data:" + response.headers["content-type"] + ";base64," + new Buffer(data).toString('base64');
                        setState(idDp, data);
                    }
                });
                    request(url_Film, function(err, response, data) {
                    if(!err && data) {
                        data = "data:" + response.headers["content-type"] + ";base64," + new Buffer(data).toString('base64');
                        setState(idDp_Film, data);
                    }
                });
            });
            

            Wenn es dann nicht zu schwer ist request gegen axios zu tauschen und ich weiß wie, denke ich, dass ich die anderen auch hinbekomme.

            Ich frage mich nur ob es noch (alte) Adapter gibt, die im Inneren mit request arbeiten

            SBorgS Offline
            SBorgS Offline
            SBorg
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #7

            @homoran sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

            Ich frage mich nur ob es noch (alte) Adapter gibt, die im Inneren mit request arbeiten

            Im Prinzip ist der Kern des Adapters auch nur "normales" JS
            Man weiß ja auch nicht wann es überhaupt soweit ist. Ob ein Adapter (bzgl. Admin + JSC) dann ohne jegliche Wartung noch nach 2-3 Jahren überhaupt läuft? Hilft nur abwarten und Kaffee trinken...

            Hier mal das umgebaute Biowetter.

            Im Prinzip #1 mit

            const axios = require('axios');
            

            ersetzen und die Optionen hinzufügen/oder ändern:

                    const options = {
                        method: 'get',
                        url: url,
                        headers: { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1" }
                    };
            

            request (#7 +#14) ersetzen

            axios(options).then(function (response) {
            

            Wäre ja schön wenn es so einfach wäre, aber jetzt kommt leider der "tricky"-Teil.
            "axios" unterstützt so leider wie in deinem Fall nicht "err". Man muss also mittels try/catch arbeiten, oder begnügt sich mit einem simplen (für Zeile #9)

            if (response.status == 200) {
            

            Kein genauer Fehler, aber irgendwas an Daten konnte gelesen werden...

            #10 + #16 :anguished:
            Offen gestanden keine Ahnung von TS was da genau wie gelesen wird, aber axios unterstützt "response.headers", also ev. funktioniert es dann schon ?

            LG SBorg ( SBorg auf GitHub)
            Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

            HomoranH 1 Antwort Letzte Antwort
            0
            • SBorgS SBorg

              @homoran sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

              Ich frage mich nur ob es noch (alte) Adapter gibt, die im Inneren mit request arbeiten

              Im Prinzip ist der Kern des Adapters auch nur "normales" JS
              Man weiß ja auch nicht wann es überhaupt soweit ist. Ob ein Adapter (bzgl. Admin + JSC) dann ohne jegliche Wartung noch nach 2-3 Jahren überhaupt läuft? Hilft nur abwarten und Kaffee trinken...

              Hier mal das umgebaute Biowetter.

              Im Prinzip #1 mit

              const axios = require('axios');
              

              ersetzen und die Optionen hinzufügen/oder ändern:

                      const options = {
                          method: 'get',
                          url: url,
                          headers: { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1" }
                      };
              

              request (#7 +#14) ersetzen

              axios(options).then(function (response) {
              

              Wäre ja schön wenn es so einfach wäre, aber jetzt kommt leider der "tricky"-Teil.
              "axios" unterstützt so leider wie in deinem Fall nicht "err". Man muss also mittels try/catch arbeiten, oder begnügt sich mit einem simplen (für Zeile #9)

              if (response.status == 200) {
              

              Kein genauer Fehler, aber irgendwas an Daten konnte gelesen werden...

              #10 + #16 :anguished:
              Offen gestanden keine Ahnung von TS was da genau wie gelesen wird, aber axios unterstützt "response.headers", also ev. funktioniert es dann schon ?

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #8

              @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

              Offen gestanden keine Ahnung von TS was da genau wie gelesen wird,

              wenn du das auf mein kleines Skript beziehst so ist das einfaches js.
              ich versuche mal mein Glück

              Wegen des pollenflug-Skripts in TS habe ich deswegen hier mit @SpikeNbg den "Verursacher" versucht zu erreichen.
              Vielleicht kann der uns da helfen

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              SBorgS 1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                Offen gestanden keine Ahnung von TS was da genau wie gelesen wird,

                wenn du das auf mein kleines Skript beziehst so ist das einfaches js.
                ich versuche mal mein Glück

                Wegen des pollenflug-Skripts in TS habe ich deswegen hier mit @SpikeNbg den "Verursacher" versucht zu erreichen.
                Vielleicht kann der uns da helfen

                SBorgS Offline
                SBorgS Offline
                SBorg
                Forum Testing Most Active
                schrieb am zuletzt editiert von SBorg
                #9

                @homoran Sodele, noch pünktlich zum alten Jahr. Die Kodierung der Bilder war "etwas" tricky (wenn man halt keine Ahnung davon hat... :man-shrugging: ) :

                /*hat SBorg verbrochen... V0.0.1 vom 01.01.2022
                
                  Codierung für Bundesländer (lt. Sortierung des DWD; beginnend mit 0):
                    0 =
                    1 = Bayern
                    3 = Hessen
                */
                
                // Usereinstellungen
                const BuLand = 1;                               // für welches Bundesland?
                const DP = "0_userdata.0.Wetter.Regen.";        // wo sollen die Daten angelegt werden?
                
                
                // ab hier gibt es nichts mehr zu ändern-------------------------------------------------------
                 // Abkürzung lt. URL
                 let url_arr = ["", "bay", "", "hes"];
                
                 // Anzeigename des Bundeslandes
                 let BuLa_arr = ["", "Bayern", "", "Hessen"];
                
                const axios = require('axios'); 
                const url_jpg = 'https://www.dwd.de/DWD/wetter/radar/rad_' + url_arr[BuLand] + '_akt.jpg';
                const url_gif = 'https://www.dwd.de/DWD/wetter/radar/radfilm_' + url_arr[BuLand] + '_akt.gif';
                const idDp = DP + BuLa_arr[BuLand];
                const idDp_Film = DP + BuLa_arr[BuLand] + '_Film';
                
                
                makeDataPoints(); // check ob DPs existieren
                setTimeout(function() { getData(); }, 10000); // initial 10 Sekunden nach Skriptstart einmalig Daten holen  
                schedule('*/8 * * * *', getData);
                
                function getData() {
                    let buffer, buffer_gif;
                    axios
                        .get(url_jpg, {
                          responseType: 'arraybuffer'
                        })
                    .then(response => {
                        buffer = "data:" + response.headers['content-type'] + ";base64, " + Buffer.from(response.data, 'binary').toString('base64');
                        setState(idDp, buffer, true);
                    })
                    .catch(ex => {
                        log("Fehler bei JPG: " + ex,"warn");
                    });
                
                
                    axios
                        .get(url_gif, {
                          responseType: 'arraybuffer'
                        })
                    .then(response => {
                        buffer_gif = "data:" + response.headers['content-type'] + ";base64, " + Buffer.from(response.data, 'binary').toString('base64');
                        setState(idDp_Film, buffer_gif, true);
                    })
                    .catch(ex => {
                        log("Fehler bei Film: " + ex,"warn");
                    });
                }
                
                function makeDataPoints() {
                    if (!existsState(idDp)) { createState(idDp, "", {name: "Regenradar für " + BuLa_arr[BuLand] , type: "mixed", role: "state"}); }
                    if (!existsState(idDp_Film)) { createState(idDp_Film, "", {name: "Regenradar für " + BuLa_arr[BuLand], type: "mixed", role: "state"}); } 
                }
                

                * EDIT * ...und natürlich nur mit dem "richtigen" Bundesland funktionsfähig ;)

                LG SBorg ( SBorg auf GitHub)
                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                HomoranH 2 Antworten Letzte Antwort
                1
                • SBorgS SBorg

                  @homoran Sodele, noch pünktlich zum alten Jahr. Die Kodierung der Bilder war "etwas" tricky (wenn man halt keine Ahnung davon hat... :man-shrugging: ) :

                  /*hat SBorg verbrochen... V0.0.1 vom 01.01.2022
                  
                    Codierung für Bundesländer (lt. Sortierung des DWD; beginnend mit 0):
                      0 =
                      1 = Bayern
                      3 = Hessen
                  */
                  
                  // Usereinstellungen
                  const BuLand = 1;                               // für welches Bundesland?
                  const DP = "0_userdata.0.Wetter.Regen.";        // wo sollen die Daten angelegt werden?
                  
                  
                  // ab hier gibt es nichts mehr zu ändern-------------------------------------------------------
                   // Abkürzung lt. URL
                   let url_arr = ["", "bay", "", "hes"];
                  
                   // Anzeigename des Bundeslandes
                   let BuLa_arr = ["", "Bayern", "", "Hessen"];
                  
                  const axios = require('axios'); 
                  const url_jpg = 'https://www.dwd.de/DWD/wetter/radar/rad_' + url_arr[BuLand] + '_akt.jpg';
                  const url_gif = 'https://www.dwd.de/DWD/wetter/radar/radfilm_' + url_arr[BuLand] + '_akt.gif';
                  const idDp = DP + BuLa_arr[BuLand];
                  const idDp_Film = DP + BuLa_arr[BuLand] + '_Film';
                  
                  
                  makeDataPoints(); // check ob DPs existieren
                  setTimeout(function() { getData(); }, 10000); // initial 10 Sekunden nach Skriptstart einmalig Daten holen  
                  schedule('*/8 * * * *', getData);
                  
                  function getData() {
                      let buffer, buffer_gif;
                      axios
                          .get(url_jpg, {
                            responseType: 'arraybuffer'
                          })
                      .then(response => {
                          buffer = "data:" + response.headers['content-type'] + ";base64, " + Buffer.from(response.data, 'binary').toString('base64');
                          setState(idDp, buffer, true);
                      })
                      .catch(ex => {
                          log("Fehler bei JPG: " + ex,"warn");
                      });
                  
                  
                      axios
                          .get(url_gif, {
                            responseType: 'arraybuffer'
                          })
                      .then(response => {
                          buffer_gif = "data:" + response.headers['content-type'] + ";base64, " + Buffer.from(response.data, 'binary').toString('base64');
                          setState(idDp_Film, buffer_gif, true);
                      })
                      .catch(ex => {
                          log("Fehler bei Film: " + ex,"warn");
                      });
                  }
                  
                  function makeDataPoints() {
                      if (!existsState(idDp)) { createState(idDp, "", {name: "Regenradar für " + BuLa_arr[BuLand] , type: "mixed", role: "state"}); }
                      if (!existsState(idDp_Film)) { createState(idDp_Film, "", {name: "Regenradar für " + BuLa_arr[BuLand], type: "mixed", role: "state"}); } 
                  }
                  

                  * EDIT * ...und natürlich nur mit dem "richtigen" Bundesland funktionsfähig ;)

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von Homoran
                  #10

                  @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                  noch pünktlich zum alten Jahr.

                  Ehrlich??
                  DANKE

                  Aber so war das nicht gemeint.
                  ich seh mir das gleich an, in der Hoffnug es zwar nicht unbedingt zu verstehen, aber wenigstens nachvollziehen zu können

                  @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                  //hat SBorg verbrochen...

                  :joy:

                  und guten Rutsch :champagne:

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  SBorgS 2 Antworten Letzte Antwort
                  0
                  • HomoranH Homoran

                    @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                    noch pünktlich zum alten Jahr.

                    Ehrlich??
                    DANKE

                    Aber so war das nicht gemeint.
                    ich seh mir das gleich an, in der Hoffnug es zwar nicht unbedingt zu verstehen, aber wenigstens nachvollziehen zu können

                    @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                    //hat SBorg verbrochen...

                    :joy:

                    und guten Rutsch :champagne:

                    SBorgS Offline
                    SBorgS Offline
                    SBorg
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #11

                    @homoran sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                    Aber so war das nicht gemeint.

                    Habe ich auch nicht so verstanden. Aber bei mir ist jeder Tag mehr oder minder gleich, außer dass es aktuell mehr scheppert ;)

                    LG SBorg ( SBorg auf GitHub)
                    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                    1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                      noch pünktlich zum alten Jahr.

                      Ehrlich??
                      DANKE

                      Aber so war das nicht gemeint.
                      ich seh mir das gleich an, in der Hoffnug es zwar nicht unbedingt zu verstehen, aber wenigstens nachvollziehen zu können

                      @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                      //hat SBorg verbrochen...

                      :joy:

                      und guten Rutsch :champagne:

                      SBorgS Offline
                      SBorgS Offline
                      SBorg
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #12

                      @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                      //hat SBorg verbrochen...

                      :joy:

                      und guten Rutsch :champagne:

                      Danke, ebenso :)
                      Ich schreibe so was weniger wg. Copyright (ja, ne, is klar...) oä. rein, nur habe ich auch paar Scripte von denen ich noch gern wüsste von wem sie sind. So sieht man es wenigstens später.
                      ...und (c) ist eh mehr ein Witz, denn alles andere ^^

                      LG SBorg ( SBorg auf GitHub)
                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • SBorgS SBorg

                        @homoran Sodele, noch pünktlich zum alten Jahr. Die Kodierung der Bilder war "etwas" tricky (wenn man halt keine Ahnung davon hat... :man-shrugging: ) :

                        /*hat SBorg verbrochen... V0.0.1 vom 01.01.2022
                        
                          Codierung für Bundesländer (lt. Sortierung des DWD; beginnend mit 0):
                            0 =
                            1 = Bayern
                            3 = Hessen
                        */
                        
                        // Usereinstellungen
                        const BuLand = 1;                               // für welches Bundesland?
                        const DP = "0_userdata.0.Wetter.Regen.";        // wo sollen die Daten angelegt werden?
                        
                        
                        // ab hier gibt es nichts mehr zu ändern-------------------------------------------------------
                         // Abkürzung lt. URL
                         let url_arr = ["", "bay", "", "hes"];
                        
                         // Anzeigename des Bundeslandes
                         let BuLa_arr = ["", "Bayern", "", "Hessen"];
                        
                        const axios = require('axios'); 
                        const url_jpg = 'https://www.dwd.de/DWD/wetter/radar/rad_' + url_arr[BuLand] + '_akt.jpg';
                        const url_gif = 'https://www.dwd.de/DWD/wetter/radar/radfilm_' + url_arr[BuLand] + '_akt.gif';
                        const idDp = DP + BuLa_arr[BuLand];
                        const idDp_Film = DP + BuLa_arr[BuLand] + '_Film';
                        
                        
                        makeDataPoints(); // check ob DPs existieren
                        setTimeout(function() { getData(); }, 10000); // initial 10 Sekunden nach Skriptstart einmalig Daten holen  
                        schedule('*/8 * * * *', getData);
                        
                        function getData() {
                            let buffer, buffer_gif;
                            axios
                                .get(url_jpg, {
                                  responseType: 'arraybuffer'
                                })
                            .then(response => {
                                buffer = "data:" + response.headers['content-type'] + ";base64, " + Buffer.from(response.data, 'binary').toString('base64');
                                setState(idDp, buffer, true);
                            })
                            .catch(ex => {
                                log("Fehler bei JPG: " + ex,"warn");
                            });
                        
                        
                            axios
                                .get(url_gif, {
                                  responseType: 'arraybuffer'
                                })
                            .then(response => {
                                buffer_gif = "data:" + response.headers['content-type'] + ";base64, " + Buffer.from(response.data, 'binary').toString('base64');
                                setState(idDp_Film, buffer_gif, true);
                            })
                            .catch(ex => {
                                log("Fehler bei Film: " + ex,"warn");
                            });
                        }
                        
                        function makeDataPoints() {
                            if (!existsState(idDp)) { createState(idDp, "", {name: "Regenradar für " + BuLa_arr[BuLand] , type: "mixed", role: "state"}); }
                            if (!existsState(idDp_Film)) { createState(idDp_Film, "", {name: "Regenradar für " + BuLa_arr[BuLand], type: "mixed", role: "state"}); } 
                        }
                        

                        * EDIT * ...und natürlich nur mit dem "richtigen" Bundesland funktionsfähig ;)

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #13

                        @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                        • EDIT * ...und natürlich nur mit dem "richtigen" Bundesland funktionsfähig

                        und mit den richtigen DPs, sonst heisst es
                        State "0_userdata.0.Wetter.Regen.Hessen" not found

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        1 Antwort Letzte Antwort
                        0
                        • SBorgS SBorg

                          @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                          //hat SBorg verbrochen...

                          :joy:

                          und guten Rutsch :champagne:

                          Danke, ebenso :)
                          Ich schreibe so was weniger wg. Copyright (ja, ne, is klar...) oä. rein, nur habe ich auch paar Scripte von denen ich noch gern wüsste von wem sie sind. So sieht man es wenigstens später.
                          ...und (c) ist eh mehr ein Witz, denn alles andere ^^

                          HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von Homoran
                          #14

                          @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                          nur habe ich auch paar Scripte von denen ich noch gern wüsste von wem sie sind

                          und nur dadurch, dass es im TS für die Pollen drin stand hab ich es wieder gefunden.
                          Ist wirklich hilfreich

                          muss axios noch in der js-Instanz eingetragen werden?

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          SBorgS 2 Antworten Letzte Antwort
                          0
                          • HomoranH Homoran

                            @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                            nur habe ich auch paar Scripte von denen ich noch gern wüsste von wem sie sind

                            und nur dadurch, dass es im TS für die Pollen drin stand hab ich es wieder gefunden.
                            Ist wirklich hilfreich

                            muss axios noch in der js-Instanz eingetragen werden?

                            SBorgS Offline
                            SBorgS Offline
                            SBorg
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #15

                            @homoran Ich hatte noch kurz überlegt ob ich beim Start abfrage ob die DPs existieren. Falls nicht --> anlegen
                            Werde ich (für mich) noch rein hämmern, oder kannst dich ja mal selbst daran versuchen.

                            Ich nämlich faul, soll alles von alleine passieren, ist ja ein SmartHome, dann soll es auch smart sein :+1:

                            LG SBorg ( SBorg auf GitHub)
                            Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                            1 Antwort Letzte Antwort
                            0
                            • HomoranH Homoran

                              @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                              nur habe ich auch paar Scripte von denen ich noch gern wüsste von wem sie sind

                              und nur dadurch, dass es im TS für die Pollen drin stand hab ich es wieder gefunden.
                              Ist wirklich hilfreich

                              muss axios noch in der js-Instanz eingetragen werden?

                              SBorgS Offline
                              SBorgS Offline
                              SBorg
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #16

                              @homoran sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                              muss axios noch in der js-Instanz eingetragen werden?

                              Normalerweise nicht, da es Bestandteil von NPM ist und mit installiert wird.
                              Sieht man aber einfach: DPs befüllt, dann lüppt es auch ohne Eintrag

                              LG SBorg ( SBorg auf GitHub)
                              Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                              HomoranH 1 Antwort Letzte Antwort
                              0
                              • SBorgS SBorg

                                @homoran sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                                muss axios noch in der js-Instanz eingetragen werden?

                                Normalerweise nicht, da es Bestandteil von NPM ist und mit installiert wird.
                                Sieht man aber einfach: DPs befüllt, dann lüppt es auch ohne Eintrag

                                HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von
                                #17

                                @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                                Sieht man aber einfach: DPs befüllt, dann lüppt es auch ohne Eintrag

                                zumindest gibt es jetzt keinen Fehler mehr, aber ich habe kein Bild in der vis
                                Die URLs passen, hab ich getestet, im jpg ist ein Eintrag, im gif nicht

                                Ei gude, läuft es bei dir?

                                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                SBorgS 1 Antwort Letzte Antwort
                                0
                                • HomoranH Homoran

                                  @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                                  Sieht man aber einfach: DPs befüllt, dann lüppt es auch ohne Eintrag

                                  zumindest gibt es jetzt keinen Fehler mehr, aber ich habe kein Bild in der vis
                                  Die URLs passen, hab ich getestet, im jpg ist ein Eintrag, im gif nicht

                                  Ei gude, läuft es bei dir?

                                  SBorgS Offline
                                  SBorgS Offline
                                  SBorg
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #18

                                  @homoran Jepp, + dass muss so aussehen ^^
                                  Bild 2.png

                                  Gif ist auch animiert, normales HTML-Widget bei mir mit Inhalt

                                  <img src="{0_userdata.0.Wetter.Regen.Hessen_Film}">
                                  

                                  LG SBorg ( SBorg auf GitHub)
                                  Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                  HomoranH 1 Antwort Letzte Antwort
                                  0
                                  • SBorgS SBorg

                                    @homoran Jepp, + dass muss so aussehen ^^
                                    Bild 2.png

                                    Gif ist auch animiert, normales HTML-Widget bei mir mit Inhalt

                                    <img src="{0_userdata.0.Wetter.Regen.Hessen_Film}">
                                    
                                    HomoranH Nicht stören
                                    HomoranH Nicht stören
                                    Homoran
                                    Global Moderator Administrators
                                    schrieb am zuletzt editiert von Homoran
                                    #19

                                    @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                                    normales HTML-Widget bei mir mit Inhalt

                                    <img src={0_userdata.0.Wetter.Regen.NRW_Film} width="260px">

                                    und da kommt jetzt nichts mehr
                                    auch beim Feststehenden Bild nicht

                                    EDIT: mit"" vor und hinter den {} klappt es jetzt

                                    Wetter_axios.png

                                    ich hab dir dann noch ein true spendiert: setState(idDp_Film, buffer_gif, true);
                                    nochmals DANKE

                                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                    SBorgS 1 Antwort Letzte Antwort
                                    0
                                    • HomoranH Homoran

                                      @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                                      normales HTML-Widget bei mir mit Inhalt

                                      <img src={0_userdata.0.Wetter.Regen.NRW_Film} width="260px">

                                      und da kommt jetzt nichts mehr
                                      auch beim Feststehenden Bild nicht

                                      EDIT: mit"" vor und hinter den {} klappt es jetzt

                                      Wetter_axios.png

                                      ich hab dir dann noch ein true spendiert: setState(idDp_Film, buffer_gif, true);
                                      nochmals DANKE

                                      SBorgS Offline
                                      SBorgS Offline
                                      SBorg
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #20

                                      @homoran Wollte ich gerade schreiben, er mag dann so die "" von width nicht.
                                      ...und Danke fürs true habe ich doch glatt übersehen ;)

                                      LG SBorg ( SBorg auf GitHub)
                                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                      HomoranH 1 Antwort Letzte Antwort
                                      0
                                      • SBorgS SBorg

                                        @homoran Wollte ich gerade schreiben, er mag dann so die "" von width nicht.
                                        ...und Danke fürs true habe ich doch glatt übersehen ;)

                                        HomoranH Nicht stören
                                        HomoranH Nicht stören
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #21

                                        @sborg
                                        ich habe das Thema mal abgespalten und unter Skripte geschoben

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        1 Antwort Letzte Antwort
                                        0
                                        • HomoranH Homoran

                                          @sborg sagte in Wunsch: Pollenflug-(Adapter/wasauchimmer):

                                          Biowetter (ich glaube das nutzt du auch, zumindest stand da IMO was im Komentar)

                                          Habe gerade meine Skripte nach request durchsucht.
                                          Sind Gottseidank nur 8, davon auch nur 4 aktiv.

                                          Ein kurzes mal als Beispiel, mit dem ich mir die Regenradarkarte vom DWD abhole

                                          const request = require('request').defaults({ encoding: null });
                                          const url = 'http://www.dwd.de/DWD/wetter/radar/rad_nrw_akt.jpg';
                                          const url_Film = 'https://www.dwd.de/DWD/wetter/radar/radfilm_nrw_akt.gif';
                                          const idDp = '0_userdata.0.Wetter.Regen.NRW';
                                          const idDp_Film = '0_userdata.0.Wetter.Regen.NRW_Film';
                                           
                                          schedule('*/7 * * * *', function() {
                                              request(url, function(err, response, data) {
                                                  if(!err && data) {
                                                      data = "data:" + response.headers["content-type"] + ";base64," + new Buffer(data).toString('base64');
                                                      setState(idDp, data);
                                                  }
                                              });
                                                  request(url_Film, function(err, response, data) {
                                                  if(!err && data) {
                                                      data = "data:" + response.headers["content-type"] + ";base64," + new Buffer(data).toString('base64');
                                                      setState(idDp_Film, data);
                                                  }
                                              });
                                          });
                                          

                                          Wenn es dann nicht zu schwer ist request gegen axios zu tauschen und ich weiß wie, denke ich, dass ich die anderen auch hinbekomme.

                                          Ich frage mich nur ob es noch (alte) Adapter gibt, die im Inneren mit request arbeiten

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

                                          @homoran sagte: ob es noch (alte) Adapter gibt, die im Inneren mit request arbeiten

                                          Solange der Javascript-Adapter noch request() verwendet und es sogar als Variable zu Verfügung stellt, muss man sich keine Gedanken machen.

                                          Notice - module request is available via variable request. There is no need to write var request = require('request');.

                                          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

                                          HomoranH 1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          418

                                          Online

                                          32.7k

                                          Benutzer

                                          82.4k

                                          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