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. Parser Adapter liefert kein Ergebniss

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Parser Adapter liefert kein Ergebniss

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
44 Beiträge 4 Kommentatoren 2.5k Aufrufe 3 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.
  • dirk_1930D dirk_1930

    @homoran
    zählen wäre blöd :grinning:

    <h2 id="weather-report">Wetterbericht und Warnungen</h2>
            <div class="col-12">
                <p><strong>Hoher Luftdruck bestimmt längerfristig das Wettergeschehen in Nordrhein-Westfalen. Dabei fließt mit südöstlicher Strömung zunehmend mildere Luft ein.<br />
    FROST:<br />
    Heute zunächst gebietsweise leichter Frost zwischen 0 und -4 Grad, in Bodennähe vereinzelt bis -8 Grad.<br />
    Auch in der der Nacht zu Freitag muss vor allem im Bergland und seinen Tallagen mit leichten Frost zwischen 0 und -3 Grad gerechnet werden. <br />
    WIND:<br />
    In der Nacht zu Freitag frischt der Wind auf den Kammlagen böig auf, zeitweise werden hier starke, vereinzelt auch stürmische Böen zwischen 55 und 70 km/h (BFT 7-8) aus Südost erwartet.</strong></p><p>Heute Vormittag sowie im weiteren Tagesverlauf oft strahlender Sonnenschein und trocken. Sehr mild bei Höchstwerten zwischen 14 und 17 Grad, im höheren Bergland um 10 Grad. Im Verlauf des Tages mäßig auffrischender und leicht böiger Südost- bis Südwind.<br />
    In der Nacht zum Freitag klar. Tiefstwerte 4 bis 2 Grad, in Tallagen des Berglands bis -3 Grad. Im Bergland starke, in Kammlagen stürmische Böen aus Süd bis Südost.</p><p>Am Freitag sonnig und trocken, im Tagesverlauf vor allem in der Westhälfte Durchzug von Schleierwolken. Höchsttemperaturen 12 bis 16 Grad, im Bergland 8 bis 12 Grad. Mäßiger, zeitweise auch frischer und stark böiger Südostwind.<br />
    In der Nacht zum Samstag im Osten meist gering bewölkt, im Westen dichtere Wolkenfelder aber allenfalls westlich des Rheins ein paar Tropfen Regen. Sonst niederschlagsfrei. Tiefsttemperaturen zwischen 7 Grad am Rhein und 2 Grad in Ostwestfalen, in Tallagen des Sauerlandes leichter Frost bis -3 Grad. Im Bergland weiterhin stark böiger Südostwind.</p><p>Am Samstag in Ostwestfalen oft sonnig, am Niederrhein hingegen zeitweise stärker bewölkt. Dort weiterhin ein paar Regentropfen nicht ausgeschlossen, sonst aber weiterhin trocken. Erwärmung auf 12 bis 15 Grad, im höheren Bergland 7 bis 10 Grad. Mäßiger, in Böen teils frischer Wind um Süd. <br />
    In der Nacht zum Sonntag in der Westhälfte wechselnd bewölkt, in der Osthälfte gering bewölkt oder klar. Niederschlagsfrei. Abkühlung auf 6 bis 1 Grad, im Bergland bis -3 Grad.</p><p>Letzte Aktualisierung: 10.03.2022, 06.58 Uhr Lokalzeit. Textquelle: Deutscher Wetterdienst</p>
    
    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #23

    @dirk_1930 col-12">[^>]+>[^>]+>([\w\W]+)<\/p><
    allerdings ohne Gewähr, da immer noch kein UTF-8

    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 -

    dirk_1930D 1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      @dirk_1930 col-12">[^>]+>[^>]+>([\w\W]+)<\/p><
      allerdings ohne Gewähr, da immer noch kein UTF-8

      dirk_1930D Offline
      dirk_1930D Offline
      dirk_1930
      schrieb am zuletzt editiert von
      #24

      @homoran
      Hab es jetzt mal als .html abgespeichert.
      col-12 wählt zu viel aus. Wäre da die <h2 id="weather-report">Wetterbericht und Warnungen</h2> besser geeignet?

      Quelltext_als_Html.html

      HomoranH 1 Antwort Letzte Antwort
      0
      • dirk_1930D dirk_1930

        @homoran
        Hab es jetzt mal als .html abgespeichert.
        col-12 wählt zu viel aus. Wäre da die <h2 id="weather-report">Wetterbericht und Warnungen</h2> besser geeignet?

        Quelltext_als_Html.html

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

        @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

        col-12 wählt zu viel aus.

        habs gerade auch gesehen:
        letzter Stand:
        und Warnungen[^>]+>[^>]+>[^>]+>[^>]+>([\w\W]+)<\/p><

        @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

        Quelltext_als_Html.html

        nutzt nix, der macht die Seite auf :-)

        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 -

        dirk_1930D 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

          col-12 wählt zu viel aus.

          habs gerade auch gesehen:
          letzter Stand:
          und Warnungen[^>]+>[^>]+>[^>]+>[^>]+>([\w\W]+)<\/p><

          @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

          Quelltext_als_Html.html

          nutzt nix, der macht die Seite auf :-)

          dirk_1930D Offline
          dirk_1930D Offline
          dirk_1930
          schrieb am zuletzt editiert von
          #26

          @homoran
          SUPER!!! ja... das geht jetzt.

          Ich verstehe trotzdem noch nicht, wie du dich da durchhangelst...
          Du fängst bei "und Warnungen" an und gehst von da aus jedes schließende Element durch bis du zu dem Text kommst?

          HomoranH 1 Antwort Letzte Antwort
          0
          • dirk_1930D dirk_1930

            @homoran
            SUPER!!! ja... das geht jetzt.

            Ich verstehe trotzdem noch nicht, wie du dich da durchhangelst...
            Du fängst bei "und Warnungen" an und gehst von da aus jedes schließende Element durch bis du zu dem Text kommst?

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

            @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

            Du fängst bei "und Warnungen" an und gehst von da aus jedes schließende Element durch bis du zu dem Text kommst?

            jepp

            und hier die Infos, die du dazu bei regex101.com bekommst:
            Wetter_koeln.png

            unten rechts gibt es die Quick reference und oben rechts wird der RegEx zerlegt

            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
            • dirk_1930D Offline
              dirk_1930D Offline
              dirk_1930
              schrieb am zuletzt editiert von
              #28

              @homoran

              verstehe ich das richtig...?

              und Warnungen</h2><div class="col-12"><><strong>

              Also 4 X [^>]

              HomoranH 1 Antwort Letzte Antwort
              0
              • dirk_1930D dirk_1930

                @homoran

                verstehe ich das richtig...?

                und Warnungen</h2><div class="col-12"><><strong>

                Also 4 X [^>]

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

                @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                Also 4 X [^>]

                jepp, aber mit zusätzlichem + für beliebig viele Zeichen, die nicht > sind und dann ein >, da dieses Zeichen ja im Befehl davor ausgeschlossen ist

                die roten Markierungen betreffen aber die schließende Spitze Klammer, oder?

                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 -

                dirk_1930D 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                  Also 4 X [^>]

                  jepp, aber mit zusätzlichem + für beliebig viele Zeichen, die nicht > sind und dann ein >, da dieses Zeichen ja im Befehl davor ausgeschlossen ist

                  die roten Markierungen betreffen aber die schließende Spitze Klammer, oder?

                  dirk_1930D Offline
                  dirk_1930D Offline
                  dirk_1930
                  schrieb am zuletzt editiert von
                  #30

                  @homoran
                  ich hatte mich an deiner Sequenz orientiert bis ich dann am p Tag ankomme. Die Farbe sollte nur die Anzahl der Schritte markieren

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • dirk_1930D dirk_1930

                    @homoran
                    ich hatte mich an deiner Sequenz orientiert bis ich dann am p Tag ankomme. Die Farbe sollte nur die Anzahl der Schritte markieren

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

                    @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                    Die Farbe sollte nur die Anzahl der Schritte markieren

                    dann passt es

                    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 -

                    dirk_1930D 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                      Die Farbe sollte nur die Anzahl der Schritte markieren

                      dann passt es

                      dirk_1930D Offline
                      dirk_1930D Offline
                      dirk_1930
                      schrieb am zuletzt editiert von
                      #32

                      @homoran
                      Ich hoffe ich nerve nicht...

                      Soweit konnte ich bisher mehrere zusätzliche Werte auslesen. Jetzt scheitere ich erneut an folgendem...

                      <div class="times-rise-set">
                      <div title="Sonnenaufgang">
                      <span role="img" aria-label="Sonnenaufgang">▲</span> 06:55</div>
                      <div title="Sonnenuntergang">
                      <span role="img" aria-label="Sonnenuntergang">▼</span> 18:27</div>
                      </div>
                      </div>
                      <div class="moon">
                      <div class="moon-icon" title="Erstes Viertel (90.7°)">
                      

                      Ich möchte die Werte für Sonnenaufgang, -untergang und Mondphase auslesen.

                      Mit dem Befehl

                      aria-label="Sonnenaufgang">+[^>]+[^>]>+[^>]([\w\W]+)
                      

                      komme ich bis hinter das schließende span Tag, allerdings schaffe ich es nicht nur die 06:55 auszuwählen.

                      HomoranH OliverIOO 2 Antworten Letzte Antwort
                      0
                      • dirk_1930D dirk_1930

                        @homoran
                        Ich hoffe ich nerve nicht...

                        Soweit konnte ich bisher mehrere zusätzliche Werte auslesen. Jetzt scheitere ich erneut an folgendem...

                        <div class="times-rise-set">
                        <div title="Sonnenaufgang">
                        <span role="img" aria-label="Sonnenaufgang">▲</span> 06:55</div>
                        <div title="Sonnenuntergang">
                        <span role="img" aria-label="Sonnenuntergang">▼</span> 18:27</div>
                        </div>
                        </div>
                        <div class="moon">
                        <div class="moon-icon" title="Erstes Viertel (90.7°)">
                        

                        Ich möchte die Werte für Sonnenaufgang, -untergang und Mondphase auslesen.

                        Mit dem Befehl

                        aria-label="Sonnenaufgang">+[^>]+[^>]>+[^>]([\w\W]+)
                        

                        komme ich bis hinter das schließende span Tag, allerdings schaffe ich es nicht nur die 06:55 auszuwählen.

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

                        @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                        Ich hoffe ich nerve nicht...

                        nööö, eigentlich nicht, habe nur gerade alles gelöscht :-(

                        @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                        Ich möchte die Werte für Sonnenaufgang, -untergang und Mondphase auslesen.

                        sollte bei dir in den Objekten stehen. Habe es gerade versucht zu finden und nur bei Shuttercontrol gefunden :-(

                        stay tuned

                        naufgang[^n]+n> ([\d:]+)

                        nuntergang[^n]+n> ([\d:]+)

                        Was genau wolltest du mit deinem RegEx erreichen?

                        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 -

                        dirk_1930D 2 Antworten Letzte Antwort
                        0
                        • HomoranH Homoran

                          @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                          Ich hoffe ich nerve nicht...

                          nööö, eigentlich nicht, habe nur gerade alles gelöscht :-(

                          @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                          Ich möchte die Werte für Sonnenaufgang, -untergang und Mondphase auslesen.

                          sollte bei dir in den Objekten stehen. Habe es gerade versucht zu finden und nur bei Shuttercontrol gefunden :-(

                          stay tuned

                          naufgang[^n]+n> ([\d:]+)

                          nuntergang[^n]+n> ([\d:]+)

                          Was genau wolltest du mit deinem RegEx erreichen?

                          dirk_1930D Offline
                          dirk_1930D Offline
                          dirk_1930
                          schrieb am zuletzt editiert von
                          #34

                          @homoran

                          habs hinbekommen

                          aria-label="Sonnenaufgang">+[^>]+[^>]>+[^>]([^<]+)
                          

                          ohh mann :face_with_head_bandage:

                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • dirk_1930D dirk_1930

                            @homoran
                            Ich hoffe ich nerve nicht...

                            Soweit konnte ich bisher mehrere zusätzliche Werte auslesen. Jetzt scheitere ich erneut an folgendem...

                            <div class="times-rise-set">
                            <div title="Sonnenaufgang">
                            <span role="img" aria-label="Sonnenaufgang">▲</span> 06:55</div>
                            <div title="Sonnenuntergang">
                            <span role="img" aria-label="Sonnenuntergang">▼</span> 18:27</div>
                            </div>
                            </div>
                            <div class="moon">
                            <div class="moon-icon" title="Erstes Viertel (90.7°)">
                            

                            Ich möchte die Werte für Sonnenaufgang, -untergang und Mondphase auslesen.

                            Mit dem Befehl

                            aria-label="Sonnenaufgang">+[^>]+[^>]>+[^>]([\w\W]+)
                            

                            komme ich bis hinter das schließende span Tag, allerdings schaffe ich es nicht nur die 06:55 auszuwählen.

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            schrieb am zuletzt editiert von OliverIO
                            #35

                            der doppelpunkt ist kein \w zeichen
                            ein endetag zeichen und ein leerzeichen steht da auch noch
                            und ein plus als multiplier war zu viel. hat zwar nicht geschadet, da das in html nie vorkommen kann

                            aria-label="Sonnenaufgang">[^>]+>\s([\w\:]+)
                            

                            Meine Adapter und Widgets
                            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                            Links im Profil

                            1 Antwort Letzte Antwort
                            0
                            • HomoranH Homoran

                              @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                              Ich hoffe ich nerve nicht...

                              nööö, eigentlich nicht, habe nur gerade alles gelöscht :-(

                              @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                              Ich möchte die Werte für Sonnenaufgang, -untergang und Mondphase auslesen.

                              sollte bei dir in den Objekten stehen. Habe es gerade versucht zu finden und nur bei Shuttercontrol gefunden :-(

                              stay tuned

                              naufgang[^n]+n> ([\d:]+)

                              nuntergang[^n]+n> ([\d:]+)

                              Was genau wolltest du mit deinem RegEx erreichen?

                              dirk_1930D Offline
                              dirk_1930D Offline
                              dirk_1930
                              schrieb am zuletzt editiert von
                              #36

                              @homoran said in Parser Adapter liefert kein Ergebniss:

                              @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                              Ich hoffe ich nerve nicht...

                              nööö, eigentlich nicht, habe nur gerade alles gelöscht :-(

                              @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                              Ich möchte die Werte für Sonnenaufgang, -untergang und Mondphase auslesen.

                              sollte bei dir in den Objekten stehen. Habe es gerade versucht zu finden und nur bei Shuttercontrol gefunden :-(

                              stay tuned

                              naufgang[^n]+n> ([\d:]+)

                              nuntergang[^n]+n> ([\d:]+)

                              Was genau wolltest du mit deinem RegEx erreichen?

                              Ich nutze die Meteoblue API und da fehlen halt noch ein paar zusätzliche Datenpunkte. Ich hatte, bzw. habe den Ehrgeiz mich da durchzuwühlen.
                              Meine Kenntnisse in HTML und JS sind noch nicht so dolle, aber dank Eurer tollen Hilfe, komme ich immer etwas weiter :+1:

                              1 Antwort Letzte Antwort
                              0
                              • dirk_1930D dirk_1930

                                @homoran

                                habs hinbekommen

                                aria-label="Sonnenaufgang">+[^>]+[^>]>+[^>]([^<]+)
                                

                                ohh mann :face_with_head_bandage:

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

                                @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                                habs hinbekommen

                                hab es oben editiert!
                                Ich persönlich mache es immer so kurz und eindeutig wie möglich
                                Der Sprung zu den > ist hier aufwändiger. Ich suche dann immer nach dem dichtesten eindeutigen Zeichen am Suchergebnis, hier das n von span
                                Dann hast du mit dem + hinter Sonnenaufgang"> nichts was sich vervielfältigen kann
                                Auch die Word/NoWord Befehle sind nicht eindeutig, es handelt sich nur um Ziffern \d und den Doppelpunkt

                                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 -

                                dirk_1930D 1 Antwort Letzte Antwort
                                0
                                • HomoranH Homoran

                                  @dirk_1930 sagte in Parser Adapter liefert kein Ergebniss:

                                  habs hinbekommen

                                  hab es oben editiert!
                                  Ich persönlich mache es immer so kurz und eindeutig wie möglich
                                  Der Sprung zu den > ist hier aufwändiger. Ich suche dann immer nach dem dichtesten eindeutigen Zeichen am Suchergebnis, hier das n von span
                                  Dann hast du mit dem + hinter Sonnenaufgang"> nichts was sich vervielfältigen kann
                                  Auch die Word/NoWord Befehle sind nicht eindeutig, es handelt sich nur um Ziffern \d und den Doppelpunkt

                                  dirk_1930D Offline
                                  dirk_1930D Offline
                                  dirk_1930
                                  schrieb am zuletzt editiert von
                                  #38

                                  @liv-in-sky

                                  Du hattest in einem vorherigen Post eine Lösung in cheerio geschrieben.
                                  Würden meine daten sich auf diese Weise auch auslesen lassen, bzw. kann ich anhand des vollständigen XPath darauf zugreifen?

                                  liv-in-skyL 1 Antwort Letzte Antwort
                                  0
                                  • dirk_1930D dirk_1930

                                    @liv-in-sky

                                    Du hattest in einem vorherigen Post eine Lösung in cheerio geschrieben.
                                    Würden meine daten sich auf diese Weise auch auslesen lassen, bzw. kann ich anhand des vollständigen XPath darauf zugreifen?

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

                                    @dirk_1930

                                    teste mal dieses script - wird beim start einmal aufgerufen - du musst axios und cheerio im javascript instanz setting unter zusätzliche npm module einfügen

                                    im log siehst du dann alle möglichen ausgaben

                                    das ist die ausgabe eines arrays , das einfach hintereinander ausgegeben wird

                                    wenn du mir dann sagst, was du genau haben willst - kann ich MORGEN das script weitermachen

                                    
                                    const cheerio = require('cheerio');
                                    const request = require('request');
                                    const axios=require('axios');
                                    let jsonArr;
                                    let myDPunkt="0_userdata.0.CONTROL-OWN.TABELLEN.Vilsbiburg"
                                    
                                    let mySchedule1="  33 */8 * * * "; // alle 8 stunden bei minute 33
                                    holeDaten();
                                    // schedule(mySchedule1,  function () {
                                     let myVarVar=mathRandomInt(10, 300);
                                    // log("startet ");
                                     setTimeout(function() {
                                       //  log("jetzt "+myVarVar);
                                         holeDaten();
                                    
                                     }, myVarVar*1000);
                                    // });
                                    
                                    
                                    function mathRandomInt(a, b) {
                                     if (a > b) {
                                       // Swap a and b to ensure a is smaller.
                                       var c = a;
                                       a = b;
                                       b = c;
                                     }
                                     return Math.floor(Math.random() * (b - a + 1) + a);
                                    }
                                    
                                    async function holeDaten() { 
                                       log("jetzt")
                                       await axios.get(encodeURI('https://www.meteoblue.com/de/wetter/woche/köln_deutschland_2886242'), {
                                                       headers: { 'User-Agent':`Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36` }
                                    }).then((result) => {
                                            // log(result.data);log(result)
                                                const $ = cheerio.load(result.data)
                                                                  const list5 = $('*')
                                                                                     .find('.col-12')                 //find("[class*=re]")  //find('.table_wert_1a')
                                                                                     .toArray()
                                                                                     .map(element => { return $(element).text()}); log(list5.length +"---"+list5)
                                                                                     for (let z=0;z<list5.length;z++){log(list5[z])}
                                    
                                                                  let dayArr=['Mo','Di','Mi','Do','Fr','Sa','So'];
                                                                   jsonArr=[];
                                                                   let i=0
                                                          //        for(let i=0;i<5;i++) {//log(list5[i])
                                                                     
                                                                                                                      jsonArr.push({
                                                                                                                          "temp":    list5[i],
                                                                                                                          "min_temp_heute":  list5[i+1],
                                                                                                                          "max_temp_heute": list5[i+2],
                                                                                                                          "luftfeucht": list5[i+3],
                                                                                                                          "min_luftfeucht_heute": list5[i+4]
                                                                                                                      })
                                          
                                    //} 
                                    //log(JSON.stringify(jsonArr))   //hier in dp schreiben
                                    //log("jetzt "+myVarVar);
                                    setState(myDPunkt,JSON.stringify(jsonArr))
                                    
                                           }).catch((error) => {
                                               return error;
                                           })}
                                    
                                    
                                    
                                    
                                    

                                    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

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

                                      @dirk_1930

                                      teste mal dieses script - wird beim start einmal aufgerufen - du musst axios und cheerio im javascript instanz setting unter zusätzliche npm module einfügen

                                      im log siehst du dann alle möglichen ausgaben

                                      das ist die ausgabe eines arrays , das einfach hintereinander ausgegeben wird

                                      wenn du mir dann sagst, was du genau haben willst - kann ich MORGEN das script weitermachen

                                      
                                      const cheerio = require('cheerio');
                                      const request = require('request');
                                      const axios=require('axios');
                                      let jsonArr;
                                      let myDPunkt="0_userdata.0.CONTROL-OWN.TABELLEN.Vilsbiburg"
                                      
                                      let mySchedule1="  33 */8 * * * "; // alle 8 stunden bei minute 33
                                      holeDaten();
                                      // schedule(mySchedule1,  function () {
                                       let myVarVar=mathRandomInt(10, 300);
                                      // log("startet ");
                                       setTimeout(function() {
                                         //  log("jetzt "+myVarVar);
                                           holeDaten();
                                      
                                       }, myVarVar*1000);
                                      // });
                                      
                                      
                                      function mathRandomInt(a, b) {
                                       if (a > b) {
                                         // Swap a and b to ensure a is smaller.
                                         var c = a;
                                         a = b;
                                         b = c;
                                       }
                                       return Math.floor(Math.random() * (b - a + 1) + a);
                                      }
                                      
                                      async function holeDaten() { 
                                         log("jetzt")
                                         await axios.get(encodeURI('https://www.meteoblue.com/de/wetter/woche/köln_deutschland_2886242'), {
                                                         headers: { 'User-Agent':`Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36` }
                                      }).then((result) => {
                                              // log(result.data);log(result)
                                                  const $ = cheerio.load(result.data)
                                                                    const list5 = $('*')
                                                                                       .find('.col-12')                 //find("[class*=re]")  //find('.table_wert_1a')
                                                                                       .toArray()
                                                                                       .map(element => { return $(element).text()}); log(list5.length +"---"+list5)
                                                                                       for (let z=0;z<list5.length;z++){log(list5[z])}
                                      
                                                                    let dayArr=['Mo','Di','Mi','Do','Fr','Sa','So'];
                                                                     jsonArr=[];
                                                                     let i=0
                                                            //        for(let i=0;i<5;i++) {//log(list5[i])
                                                                       
                                                                                                                        jsonArr.push({
                                                                                                                            "temp":    list5[i],
                                                                                                                            "min_temp_heute":  list5[i+1],
                                                                                                                            "max_temp_heute": list5[i+2],
                                                                                                                            "luftfeucht": list5[i+3],
                                                                                                                            "min_luftfeucht_heute": list5[i+4]
                                                                                                                        })
                                            
                                      //} 
                                      //log(JSON.stringify(jsonArr))   //hier in dp schreiben
                                      //log("jetzt "+myVarVar);
                                      setState(myDPunkt,JSON.stringify(jsonArr))
                                      
                                             }).catch((error) => {
                                                 return error;
                                             })}
                                      
                                      
                                      
                                      
                                      

                                      dirk_1930D Offline
                                      dirk_1930D Offline
                                      dirk_1930
                                      schrieb am zuletzt editiert von
                                      #40

                                      @liv-in-sky
                                      Danke für dein Angebot das Script anzupassen.

                                      Ich habe einen Screenshot von den Log gemacht und die gewünschten Daten markiert. Hoffe das ist OK so...
                                      Zusätzlich habe ich einzelne Werte mit gelb unterstrichen. Können die jeweils einzeln extrahiert werden?

                                      Freue mich auf deinen Vorschlag :-)

                                      cheerio_1.JPG

                                      liv-in-skyL 1 Antwort Letzte Antwort
                                      0
                                      • dirk_1930D dirk_1930

                                        @liv-in-sky
                                        Danke für dein Angebot das Script anzupassen.

                                        Ich habe einen Screenshot von den Log gemacht und die gewünschten Daten markiert. Hoffe das ist OK so...
                                        Zusätzlich habe ich einzelne Werte mit gelb unterstrichen. Können die jeweils einzeln extrahiert werden?

                                        Freue mich auf deinen Vorschlag :-)

                                        cheerio_1.JPG

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

                                        @dirk_1930

                                        probiere mal das - datenpunkte unter 0_userdata - werden angelegt

                                        dann müssen wir nur noch wegen dem abfrageinterval was machen - wie oft willst du das abfragen - nicht zu oft, manche seiten mögen das nicht, wenn dauernd solche fragen kommen

                                        
                                        const cheerio = require('cheerio');
                                        const request = require('request');
                                        const axios=require('axios');
                                        let jsonArr;
                                        let myDPunkt="0_userdata.0.CONTROL-OWN.TABELLEN.Vilsbiburg"
                                        
                                        let mySchedule1="  33 */8 * * * "; // alle 8 stunden bei minute 33
                                        
                                        doStuff()
                                        holeDaten();
                                        // schedule(mySchedule1,  function () {
                                         let myVarVar=mathRandomInt(10, 300);
                                        // log("startet ");
                                         setTimeout(function() {
                                           //  log("jetzt "+myVarVar);
                                             holeDaten();
                                        
                                         }, myVarVar*1000);
                                        // });
                                        
                                        
                                        function mathRandomInt(a, b) {
                                         if (a > b) {
                                           // Swap a and b to ensure a is smaller.
                                           var c = a;
                                           a = b;
                                           b = c;
                                         }
                                         return Math.floor(Math.random() * (b - a + 1) + a);
                                        }
                                        
                                        async function holeDaten() { 
                                           log("jetzt")
                                           await axios.get(encodeURI('https://www.meteoblue.com/de/wetter/woche/köln_deutschland_2886242'), {
                                                           headers: { 'User-Agent':`Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36` }
                                        }).then((result) => {
                                                // log(result.data);log(result)
                                                    const $ = cheerio.load(result.data)
                                                                      const list5 = $('*')
                                                                                         .find('.col-12')                 //find("[class*=re]")  //find('.table_wert_1a')
                                                                                         .toArray()
                                                                                         .map(element => { return $(element).text()}); //log(list5.length +"---"+list5)
                                                                                       //  for (let z=0;z<list5.length;z++){log(list5[z])}
                                        
                                                                //  log(list5[5])
                                              
                                        //} 
                                        //log(JSON.stringify(jsonArr))   //hier in dp schreiben
                                        //log("jetzt "+myVarVar);
                                        //log(list5[5].replace(/ /gm,'').replace(/\n/gm,'').replace(/▲/g,'').replace(/▼/g,''))
                                        let helpingHand=list5[5].replace(/ /gm,'').replace(/\n/gm,'').replace(/▲/g,'').replace(/▼/g,'')
                                        setState("0_userdata.0.KoelnWetter.BerichtLang",list5[10])
                                        setState("0_userdata.0.KoelnWetter.BerichtKurz",list5[4].replace('Wetterbericht für Köln ',''))
                                        setState("0_userdata.0.KoelnWetter.UV2Start",helpingHand.replace(/^.*?([0-9][0-9]:[0-9][0-9]).*/,"$1"))
                                        setState("0_userdata.0.KoelnWetter.UV2End",helpingHand.replace(/^.*?[0-9][0-9]:[0-9][0-9]([0-9][0-9]:[0-9][0-9]).*/gm,'$1')) //^UV2▲[0-9][0-9]:[0-9][0-9]▼([0-9][0-9]:[0-9][0-9])
                                        setState("0_userdata.0.KoelnWetter.Mond2Start",helpingHand.replace(/^.*?\)([0-9][0-9]:[0-9][0-9]).*/gm,'$1'))
                                        setState("0_userdata.0.KoelnWetter.Mond2End",helpingHand.replace(/^.*?\)[0-9][0-9]:[0-9][0-9]([0-9][0-9]:[0-9][0-9]).*/gm,'$1'))
                                        setState("0_userdata.0.KoelnWetter.MondGrad",helpingHand.replace(/^.*?\((.*?)\).*/gm,'$1'))
                                        
                                               }).catch((error) => {
                                                   return error;
                                               })}
                                        
                                        async function doStuff() {
                                          
                                           
                                            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.BerichtLang"))) {
                                               await createStateAsync("0_userdata.0.KoelnWetter.BerichtLang",{type: "string", name: "Bericht ausführlich", role: "value", read: true, write: true, } ); }
                                            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.BerichtKurz"))) {
                                               await createStateAsync("0_userdata.0.KoelnWetter.BerichtKurz",{type: "string", name: "Bericht ausführlich", role: "value", read: true, write: true, } ); }
                                            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.UV2Start"))) {
                                               await createStateAsync("0_userdata.0.KoelnWetter.UV2Start",{type: "string", name: "UV2Start", role: "value", read: true, write: true, } ); } 
                                            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.UV2End"))) {
                                               await createStateAsync("0_userdata.0.KoelnWetter.UV2End",{type: "string", name: "UV2End", role: "value", read: true, write: true, } ); }           
                                            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.Mond2End"))) {
                                               await createStateAsync("0_userdata.0.KoelnWetter.Mond2End",{type: "string", name: "Mond2End", role: "value", read: true, write: true, } ); }
                                            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.Mond2Start"))) {
                                               await createStateAsync("0_userdata.0.KoelnWetter.Mond2Start",{type: "string", name: "Mond2Start", role: "value", read: true, write: true, } ); }  
                                            if (!(await existsStateAsync("0_userdata.0.KoelnWetter.MondGrad"))) {
                                               await createStateAsync("0_userdata.0.KoelnWetter.MondGrad",{type: "string", name: "MondGrad", role: "value", read: true, write: true, } ); }      
                                        
                                        
                                        
                                        }
                                        
                                        ![Image 2.png](/assets/uploads/files/1646986580738-image-2.png) 
                                        
                                        
                                        
                                        
                                        
                                        
                                        

                                        Image 2.png

                                        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

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

                                          @dirk_1930

                                          probiere mal das - datenpunkte unter 0_userdata - werden angelegt

                                          dann müssen wir nur noch wegen dem abfrageinterval was machen - wie oft willst du das abfragen - nicht zu oft, manche seiten mögen das nicht, wenn dauernd solche fragen kommen

                                          
                                          const cheerio = require('cheerio');
                                          const request = require('request');
                                          const axios=require('axios');
                                          let jsonArr;
                                          let myDPunkt="0_userdata.0.CONTROL-OWN.TABELLEN.Vilsbiburg"
                                          
                                          let mySchedule1="  33 */8 * * * "; // alle 8 stunden bei minute 33
                                          
                                          doStuff()
                                          holeDaten();
                                          // schedule(mySchedule1,  function () {
                                           let myVarVar=mathRandomInt(10, 300);
                                          // log("startet ");
                                           setTimeout(function() {
                                             //  log("jetzt "+myVarVar);
                                               holeDaten();
                                          
                                           }, myVarVar*1000);
                                          // });
                                          
                                          
                                          function mathRandomInt(a, b) {
                                           if (a > b) {
                                             // Swap a and b to ensure a is smaller.
                                             var c = a;
                                             a = b;
                                             b = c;
                                           }
                                           return Math.floor(Math.random() * (b - a + 1) + a);
                                          }
                                          
                                          async function holeDaten() { 
                                             log("jetzt")
                                             await axios.get(encodeURI('https://www.meteoblue.com/de/wetter/woche/köln_deutschland_2886242'), {
                                                             headers: { 'User-Agent':`Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36` }
                                          }).then((result) => {
                                                  // log(result.data);log(result)
                                                      const $ = cheerio.load(result.data)
                                                                        const list5 = $('*')
                                                                                           .find('.col-12')                 //find("[class*=re]")  //find('.table_wert_1a')
                                                                                           .toArray()
                                                                                           .map(element => { return $(element).text()}); //log(list5.length +"---"+list5)
                                                                                         //  for (let z=0;z<list5.length;z++){log(list5[z])}
                                          
                                                                  //  log(list5[5])
                                                
                                          //} 
                                          //log(JSON.stringify(jsonArr))   //hier in dp schreiben
                                          //log("jetzt "+myVarVar);
                                          //log(list5[5].replace(/ /gm,'').replace(/\n/gm,'').replace(/▲/g,'').replace(/▼/g,''))
                                          let helpingHand=list5[5].replace(/ /gm,'').replace(/\n/gm,'').replace(/▲/g,'').replace(/▼/g,'')
                                          setState("0_userdata.0.KoelnWetter.BerichtLang",list5[10])
                                          setState("0_userdata.0.KoelnWetter.BerichtKurz",list5[4].replace('Wetterbericht für Köln ',''))
                                          setState("0_userdata.0.KoelnWetter.UV2Start",helpingHand.replace(/^.*?([0-9][0-9]:[0-9][0-9]).*/,"$1"))
                                          setState("0_userdata.0.KoelnWetter.UV2End",helpingHand.replace(/^.*?[0-9][0-9]:[0-9][0-9]([0-9][0-9]:[0-9][0-9]).*/gm,'$1')) //^UV2▲[0-9][0-9]:[0-9][0-9]▼([0-9][0-9]:[0-9][0-9])
                                          setState("0_userdata.0.KoelnWetter.Mond2Start",helpingHand.replace(/^.*?\)([0-9][0-9]:[0-9][0-9]).*/gm,'$1'))
                                          setState("0_userdata.0.KoelnWetter.Mond2End",helpingHand.replace(/^.*?\)[0-9][0-9]:[0-9][0-9]([0-9][0-9]:[0-9][0-9]).*/gm,'$1'))
                                          setState("0_userdata.0.KoelnWetter.MondGrad",helpingHand.replace(/^.*?\((.*?)\).*/gm,'$1'))
                                          
                                                 }).catch((error) => {
                                                     return error;
                                                 })}
                                          
                                          async function doStuff() {
                                            
                                             
                                              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.BerichtLang"))) {
                                                 await createStateAsync("0_userdata.0.KoelnWetter.BerichtLang",{type: "string", name: "Bericht ausführlich", role: "value", read: true, write: true, } ); }
                                              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.BerichtKurz"))) {
                                                 await createStateAsync("0_userdata.0.KoelnWetter.BerichtKurz",{type: "string", name: "Bericht ausführlich", role: "value", read: true, write: true, } ); }
                                              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.UV2Start"))) {
                                                 await createStateAsync("0_userdata.0.KoelnWetter.UV2Start",{type: "string", name: "UV2Start", role: "value", read: true, write: true, } ); } 
                                              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.UV2End"))) {
                                                 await createStateAsync("0_userdata.0.KoelnWetter.UV2End",{type: "string", name: "UV2End", role: "value", read: true, write: true, } ); }           
                                              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.Mond2End"))) {
                                                 await createStateAsync("0_userdata.0.KoelnWetter.Mond2End",{type: "string", name: "Mond2End", role: "value", read: true, write: true, } ); }
                                              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.Mond2Start"))) {
                                                 await createStateAsync("0_userdata.0.KoelnWetter.Mond2Start",{type: "string", name: "Mond2Start", role: "value", read: true, write: true, } ); }  
                                              if (!(await existsStateAsync("0_userdata.0.KoelnWetter.MondGrad"))) {
                                                 await createStateAsync("0_userdata.0.KoelnWetter.MondGrad",{type: "string", name: "MondGrad", role: "value", read: true, write: true, } ); }      
                                          
                                          
                                          
                                          }
                                          
                                          ![Image 2.png](/assets/uploads/files/1646986580738-image-2.png) 
                                          
                                          
                                          
                                          
                                          
                                          
                                          

                                          Image 2.png

                                          dirk_1930D Offline
                                          dirk_1930D Offline
                                          dirk_1930
                                          schrieb am zuletzt editiert von dirk_1930
                                          #42

                                          @liv-in-sky
                                          Das klappt... Habe noch in Zeile 53 - list5[11] gesetzt...

                                          Ich habe noch ein paar technische Fragen, damit ich etwas dazu lerne ;-)
                                          Du hast in Zeile 52 Zeichen ersetzt. Wie hast du vorher gesehen, was im Original steht - damit die Ersetzung ersichtlich ist?
                                          Zwischen Zeile 57 und 61 ergänzt du am ende "$1" bzw. gm, "$1". Was bedeutet das?

                                          Das Abfrageintervall sollte alle 6 Stunden sein.

                                          liv-in-skyL 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          683

                                          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