Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Parser-Ausdruck für Ebbe&Flut gesucht

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Parser-Ausdruck für Ebbe&Flut gesucht

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @hg6806 last edited by

      @hg6806

      habe hier einen export für json -widget - wie erwähnt evtl mußt du noch inventwo widgets installieren

      Image 6.png

      [{"tpl":"i-vis-jsontable","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iTblRowLimit":"18","iTableRefreshRate":"0","iColCount":"5","iColShow1":"true","iTblTextAlign1":"left","iTblCellFormat1":"normal","iTblCellImageSize1":"200","iTblCellBooleanCheckbox1":"false","iTblCellBooleanColorFalse1":"#ff0000","iTblCellBooleanColorTrue1":"#00ff00","iTblCellNumberDecimals1":"2","iTblCellNumberDecimalSeperator1":".","iTblCellNumberThousandSeperator1":",","iTblCellThresholdsDp1":"","iTblCellThresholdsText1":"","iOpacityAll":"1","iTblRowEvenColor":"#333333","iTblRowUnevenColor":"#455618","iTblHeaderColor":"#333333","iRowSpacing":"10","iTblRowEvenTextColor":"#ffffff","iTblRowUnevenTextColor":"#ffffff","iTblHeaderTextColor":"#ffffff","iBorderSize":"0","iBorderStyleLeft":"none","iBorderStyleRight":"none","iBorderStyleUp":"none","iBorderStyleDown":"none","iBorderColor":"#ffffff","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"0_userdata.0.CONTROL-OWN.TABELLEN.GezeitenInSpanien","iColShow2":"true","iTblTextAlign2":"left","iTblCellFormat2":"normal","iTblCellImageSize2":"200","iTblCellBooleanCheckbox2":"false","iTblCellBooleanColorFalse2":"#ff0000","iTblCellBooleanColorTrue2":"#00ff00","iTblCellNumberDecimals2":"2","iTblCellNumberDecimalSeperator2":".","iTblCellNumberThousandSeperator2":",","iTblCellThresholdsDp2":"","iTblCellThresholdsText2":"","iColShow3":"true","iTblTextAlign3":"left","iTblCellFormat3":"normal","iTblCellImageSize3":"200","iTblCellBooleanCheckbox3":"false","iTblCellBooleanColorFalse3":"#ff0000","iTblCellBooleanColorTrue3":"#00ff00","iTblCellNumberDecimals3":"2","iTblCellNumberDecimalSeperator3":".","iTblCellNumberThousandSeperator3":",","iTblCellThresholdsDp3":"","iTblCellThresholdsText3":"","iColShow4":"true","iTblTextAlign4":"left","iTblCellFormat4":"normal","iTblCellImageSize4":"200","iTblCellBooleanCheckbox4":"false","iTblCellBooleanColorFalse4":"#ff0000","iTblCellBooleanColorTrue4":"#00ff00","iTblCellNumberDecimals4":"2","iTblCellNumberDecimalSeperator4":".","iTblCellNumberThousandSeperator4":",","iTblCellThresholdsDp4":"","iTblCellThresholdsText4":"","iColShow5":"true","iTblTextAlign5":"left","iTblCellFormat5":"normal","iTblCellImageSize5":"200","iTblCellBooleanCheckbox5":"false","iTblCellBooleanColorFalse5":"#ff0000","iTblCellBooleanColorTrue5":"#00ff00","iTblCellNumberDecimals5":"2","iTblCellNumberDecimalSeperator5":".","iTblCellNumberThousandSeperator5":",","iTblCellThresholdsDp5":"","iTblCellThresholdsText5":"","iColShow6":"true","iTblTextAlign6":"left","iTblCellFormat6":"normal","iTblCellImageSize6":"200","iTblCellBooleanCheckbox6":"false","iTblCellBooleanColorFalse6":"#ff0000","iTblCellBooleanColorTrue6":"#00ff00","iTblCellNumberDecimals6":"2","iTblCellNumberDecimalSeperator6":".","iTblCellNumberThousandSeperator6":",","iTblCellThresholdsDp6":"","iTblCellThresholdsText6":""},"style":{"left":"157px","top":"556px","width":"774px","height":"368px"},"widgetSet":"vis-inventwo"}]
      

      1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @hg6806 last edited by liv-in-sky

        @hg6806

        in dem neuen script ist der trigger alle 4 stunden - dh. dass sich der dp im momen nicht füllt, sondern erst um 14:12

        du kannst im script den trigger in mySchedule1 einmal auf "* * * * *" setzenu nd warten bis eine minute vergangen ist - dann wird das script ausgeführt und schreibt in den dp

        danach änderst du das schedule wieder zurück auf " 12 */4 * * * "

        1 Reply Last reply Reply Quote 0
        • hg6806
          hg6806 Most Active last edited by

          Also, ein Datenpunkt mit den JSON Daten habe ich erstellen können.
          Jedoch passiert nichts wenn ich das Widget importiere.
          Invento habe ich installiert, den Datenpunkt habe ich wie folgt angepasst:
          .....zindex":0,"oid":"0_userdata.0.GezeitenCostaCalma","iColShow2"......

          Nachem ich auf importiere klicke passiert nichts.

          Das normale basic table JSON zeigt auch nur "undefined" an.

          liv-in-sky OliverIO 2 Replies Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @hg6806 last edited by liv-in-sky

            @hg6806 hast du die inventwo widgets installiert und mal den vis adapter reloaded und den vis editor reloaded im browser?

            1 Reply Last reply Reply Quote 0
            • OliverIO
              OliverIO @hg6806 last edited by

              @hg6806
              wetten er hat auf view importieren geklickt und nicht auf widget importieren?

              1 Reply Last reply Reply Quote 0
              • hg6806
                hg6806 Most Active last edited by

                @oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                @hg6806
                wetten er hat auf view importieren geklickt und nicht auf widget importieren?

                Nein, hatte schon Widget importiert, aber kein VIS reload gemacht.
                Auf jeden Fall bastle ich es mit dem Basic JSON.

                liv-in-sky 2 Replies Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @hg6806 last edited by

                  @hg6806 kannst du gerne machen - das inventwo ist halt einfacher und kann die farben schöner ändern

                  1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @hg6806 last edited by

                    @hg6806 kannst du den ein eigenes inventwo widget erstellen ?

                    Image 1.png

                    1 Reply Last reply Reply Quote 0
                    • hg6806
                      hg6806 Most Active last edited by

                      So, hier ist es:
                      aff504e3-5374-4474-898f-3e209228c7d4-image.png

                      Werde jetzt noch etwas Finetunning machen.

                      Tausend Dank nochmals für euren krassen Support!!!

                      liv-in-sky 1 Reply Last reply Reply Quote 1
                      • liv-in-sky
                        liv-in-sky @hg6806 last edited by

                        @hg6806

                        ich finde es 2-zeilig noch etwas übersichtlicher

                        Image 2.png

                        hg6806 1 Reply Last reply Reply Quote 0
                        • hg6806
                          hg6806 Most Active @liv-in-sky last edited by

                          @liv-in-sky
                          Im Prinzip schon aber den Pfeil hätte ich gerne vor der Höhenangabe.
                          Ich denke ich muss da nur einige Leerzeichen einfügen

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • hg6806
                            hg6806 Most Active last edited by

                            Hallo nochmal,

                            leider bekomme ich keine Daten mehr rein.
                            Wenn ich die Webseite so öffnen möchte kommt folgendes:
                            "Error 1006 Ray ID: 6xxxxxxxxxxx • 2021-09-30 13:05:29 UTC
                            Access denied
                            What happened?
                            The owner of this website (de.tideschart.com) has banned your IP address (xxxx)"

                            Liegt es daran, dass die Abfrage zu oft war?

                            liv-in-sky 1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @hg6806 last edited by

                              @hg6806

                              oje - wie hast du das schedule eingestellt ?

                              hg6806 1 Reply Last reply Reply Quote 0
                              • hg6806
                                hg6806 Most Active @liv-in-sky last edited by

                                @liv-in-sky
                                "" 58 */2 * * * ""
                                Dürfte alle 2 Stunden sein, oder?

                                liv-in-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @hg6806 last edited by

                                  @hg6806

                                  ja - alle 2 stunden bei 58 minuten - die sind aber streng 😞

                                  aber eigentlich brauchst du die daten doch nicht so oft

                                  bin mir nicht sicher, aber wenn dein router eine andere ip bekommen würde und du evtl auf '56 */8 ***' gehst - vielleicht klappt es dann wieder

                                  ich weiß nicht, wie die prüfen - ob die anzahl oder die immer selbe zeit ein problem ist - sonst müßte man sich überlegen, wie man das mit einer zufallszahl hinbekommt beim schedule

                                  1 Reply Last reply Reply Quote 0
                                  • hg6806
                                    hg6806 Most Active last edited by

                                    Habe jetzt auf der Fritzbox die Provide IP erneuert und die Abfrage auf 8h gestellt. Funktioniert!

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @hg6806 last edited by

                                      @hg6806 sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                                      Funktioniert!

                                      noch 😉

                                      ich hatte vorhin noch in den Nutzungsbedingungen gesucht.
                                      Viele Webseiten verbieten eine automatisierte Auslesung.

                                      Hier habe ich nichts gefunden

                                      OliverIO 1 Reply Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @Homoran last edited by

                                        @homoran

                                        Den Agent id evtl auch anpassen

                                        liv-in-sky 1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @OliverIO last edited by

                                          @oliverio

                                          du meinst diesen agent ?

                                          axios.get('https://de.tideschart.com/Spain/Canary-Islands/Provincia-de-Las-Palmas/Playa-de-Costa-Calma/Weekly/', {
                                            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)
                                                      return result.data
                                                  }).catch((error) => {
                                                      return error;
                                                  })
                                          
                                          OliverIO 1 Reply Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @hg6806 last edited by liv-in-sky

                                            @hg6806

                                            habe mal ein neues script gemacht

                                            • hat variable zeit - zufallstahl zwischen 10 sek und 300 sekunden bei jedem aufruf - im bezug zum schedule
                                            • anderen user-agent (hoffe, dass ist so richtig - @OliverIO könntest du bitte mal nachsehen)
                                            • umstellung auf axios (im setting der javascript instanz "axios" eintragen (so wie bei "cheerio")
                                            • in zeile 5 deinen datenpunkt eintragen - der das json beinhalten soll
                                            // @liv-in-sky 1.10.21 Forum: https://forum.iobroker.net/topic/47295/parser-ausdruck-f%C3%BCr-ebbe-flut-gesucht/58
                                            // axios user-agent cheerio tabelle
                                            
                                            const cheerio = require('cheerio');
                                            const request = require('request');
                                            const axios=require('axios');
                                            let myDPunkt="0_userdata.0.CONTROL-OWN.TABELLEN.GezeitenInSpanien"
                                            
                                             let mySchedule1="  33 */8 * * * "; // alle 8 stunden bei minute 33
                                            
                                              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() { 
                                                await axios.get('https://de.tideschart.com/Spain/Canary-Islands/Provincia-de-Las-Palmas/Playa-de-Costa-Calma/Weekly/', {
                                                                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)
                                                         const $ = cheerio.load(result.data)
                                                                           const list5 = $('*')
                                                                                              .find('td:not(.sun)')
                                                                                              .toArray()
                                                                                              .map(element => { return $(element).text()}); //log(list5.length +"---"+list5)
                                            
                                                                           let dayArr=['Mo','Di','Mi','Do','Fr','Sa','So'];
                                                                           let jsonArr=[];
                                                                           for(let i=0;i<list5.length;i++) {//log(list5[i])
                                                                               for (let day=0;day<dayArr.length;day++) { if (list5[i].includes(dayArr[day])) {
                                                                                                                               jsonArr.push({
                                                                                                                                   "day":    list5[i],
                                                                                                                                   "erste":  list5[i+1],
                                                                                                                                   "zweite": list5[i+2],
                                                                                                                                   "dritte": list5[i+3],
                                                                                                                                   "vierte": list5[i+4]
                                                                                                                               })
                                                   }}
                                            } 
                                            //log(JSON.stringify(jsonArr))   //hier in dp schreiben
                                            //log("jetzt "+myVarVar);
                                            setState(myDPunkt,JSON.stringify(jsonArr))
                                            
                                                    }).catch((error) => {
                                                        return error;
                                                    })}
                                            
                                            
                                            
                                            
                                            
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            909
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            65
                                            2556
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo