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

  • 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.
  • 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
                      • paul53P paul53

                        @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');.

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

                        @paul53 Danke und Guten Rutsch!

                        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

                          @paul53 Danke und Guten Rutsch!

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

                          @homoran Noch mal bisserl gepimpt: https://forum.iobroker.net/post/730745

                          • Auswahl des Bundeslandes (hab aktuell nur zwei eingepflegt ^^ )
                          • initial nach Start einmalig Daten holen (unabhängig vom schedule)
                          • Anlegen der Datenpunkte

                          Wenn schon, dann auch richtig... :spock-hand:

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

                          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

                          555

                          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