Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Mal wieder Webseite auslesen

    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

    Mal wieder Webseite auslesen

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

      @liv-in-sky

      DANKE!!
      sieht jetzt so aus:
      covid_Blockly02.png

      Logging ist auch aktiviert.
      Dann muss ich mal morgen sehen, wie ich die Daten der letzten Tage in die History bringe

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

        @homoran

        hier das geänderte script - es muss ein neuer dp für das datum hinzugefügt werden - so sollte nur einmal am tag geschrieben werden, egal, was du für ein scheule hast

        dann ist in der history nur ein wert pro tag

        Image 7.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="W3q,ZUH:5Q6saMtf{AUA">s65</variable>
           <variable id="T%=$W;0kK#gD_`r(}o:9">s35</variable>
           <variable id="Yr7zlPOZj)6N*k!]cQvq">s37</variable>
           <variable id="}-E+#=$du-36bQ-k{+2:">time</variable>
         </variables>
         <block type="comment" id="7/}6Z]{o5y_9ePTV%Ocv" x="113" y="63">
           <field name="COMMENT">https://forum.iobroker.net/topic/48057/mal-wieder-webseite-auslesen/33</field>
           <next>
             <block type="comment" id="3[R3_Kd(YKh$LFgBu3Zr">
               <field name="COMMENT">csv parse  request</field>
               <next>
                 <block type="comment" id="+ig?Un6h,r/:z=PWAQCT">
                   <field name="COMMENT">@homoran</field>
                 </block>
               </next>
             </block>
           </next>
         </block>
         <block type="procedures_defcustomnoreturn" id="]33#,HkQS%bDF`vB`P^q" x="337" y="212">
           <mutation statements="false">
             <arg name="s65" varid="W3q,ZUH:5Q6saMtf{AUA"></arg>
             <arg name="s35" varid="T%=$W;0kK#gD_`r(}o:9"></arg>
             <arg name="s37" varid="Yr7zlPOZj)6N*k!]cQvq"></arg>
             <arg name="time" varid="}-E+#=$du-36bQ-k{+2:"></arg>
           </mutation>
           <field name="NAME">etwas tun</field>
           <field name="SCRIPT">ICANCnZhciBwYXJzZSA9IHJlcXVpcmUoJ2Nzdi1wYXJzZScpOw0KLy92YXIgaW5wdXQgPSByZXF1aXJlKCdmcycpLnJlYWRGaWxlU3luYygnL0RhdGVuL2NvdmlkMTlfNS5jc3YnKS50b1N0cmluZygpOw0KDQoNCg0KdHJ5IHsNCiAgcmVxdWlyZSgicmVxdWVzdCIpKCdodHRwczovL3d3dy5semcubnJ3LmRlL2NvdmlkMTkvZGF0ZW4vY292aWQxOV81LmNzdicsIGFzeW5jIGZ1bmN0aW9uIChlcnJvciwgcmVzcG9uc2UsIHJlc3VsdCkgew0KICAgLy8gY29uc29sZS5sb2cocmVzdWx0KTsNCiAgIA0KcGFyc2UocmVzdWx0LCB7Y29tbWVudDogJyMnfSwgZnVuY3Rpb24oZXJyLCBvdXRwdXQpew0KCS8vIHNob3cgcmVzdWx0DQoJY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkob3V0cHV0KSk7DQpmb3IobGV0IHI9MDtyPG91dHB1dC5sZW5ndGg7cisrKXsNCiAgIC8vIGxvZyhvdXRwdXRbcl1bNDZdKQ0KfQ0KbG9nKG91dHB1dFtvdXRwdXQubGVuZ3RoLTFdWzY1XSkNCmQ2NT1OdW1iZXIob3V0cHV0W291dHB1dC5sZW5ndGgtMV1bNjVdKSoxMDANCmxvZyhvdXRwdXRbb3V0cHV0Lmxlbmd0aC0xXVszN10pDQpkMzc9TnVtYmVyKG91dHB1dFtvdXRwdXQubGVuZ3RoLTFdWzM3XSkNCmxvZyhvdXRwdXRbb3V0cHV0Lmxlbmd0aC0xXVszNV0pDQpkMzU9TnVtYmVyKG91dHB1dFtvdXRwdXQubGVuZ3RoLTFdWzM1XSkNCmxvZyhvdXRwdXRbb3V0cHV0Lmxlbmd0aC0xXVsyXSkNCmQyPVN0cmluZyhvdXRwdXRbb3V0cHV0Lmxlbmd0aC0xXVsyXSkNCmlmKGQyIT1nZXRTdGF0ZSh0aW1lKS52YWwpew0Kc2V0U3RhdGUoczY1LE1hdGgucm91bmQoZDY1ICogMTAwKSAvIDEwMCkNCnNldFN0YXRlKHMzNSxNYXRoLnJvdW5kKGQzNSAqIDEwMCkgLyAxMDApDQpzZXRTdGF0ZShzMzcsTWF0aC5yb3VuZCgzNyAqIDEwMCkgLyAxMDApDQpzZXRTdGF0ZSh0aW1lLGQyKQ0KfQ0KfSk7DQogIA0KIH0pLm9uKCJlcnJvciIsIGZ1bmN0aW9uIChlKSB7Y29uc29sZS5lcnJvcihlKTt9KTsNCn0gY2F0Y2ggKGUpIHsgY29uc29sZS5lcnJvcihlKTsgfSAgIA0KDQoNCg0K</field>
           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
         </block>
         <block type="procedures_callcustomnoreturn" id="VtDoZ,@!?HK~J,vK;+*R" x="238" y="287">
           <mutation name="etwas tun">
             <arg name="s65"></arg>
             <arg name="s35"></arg>
             <arg name="s37"></arg>
             <arg name="time"></arg>
           </mutation>
           <value name="ARG0">
             <block type="text" id="7#PKlzH+`3;Z9]dS(cEB">
               <field name="TEXT">0_userdata.0.CONTROL-OWN.AAATEST.HOMORAN-CSV.s65</field>
             </block>
           </value>
           <value name="ARG1">
             <block type="text" id="vlrWSNU/ZNiILFfr(E|E">
               <field name="TEXT">0_userdata.0.CONTROL-OWN.AAATEST.HOMORAN-CSV.s35</field>
             </block>
           </value>
           <value name="ARG2">
             <block type="text" id="F[Nb@+#:(/JyXaX-uQyl">
               <field name="TEXT">0_userdata.0.CONTROL-OWN.AAATEST.HOMORAN-CSV.s37</field>
             </block>
           </value>
           <value name="ARG3">
             <block type="text" id="NG`ShBH)Ye1e53:w(D2e">
               <field name="TEXT">0_userdata.0.CONTROL-OWN.AAATEST.HOMORAN-CSV.time</field>
             </block>
           </value>
         </block>
        </xml>
        

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @liv-in-sky last edited by

          @liv-in-sky

          DANKE! - sehe ich mir später einmal an.
          Ich muss mal etwas suchen, Paul hatte irgendwo einen Schnipsel zum Runden auf zwei Nachkommastellen ohne das Ergebnis als Text zu erhalten.
          Das wollte ich mal versuchen mit einzubauen.
          Gesundheit_runden.png
          So toll sieht das nämlich nicht aus

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

            @homoran wollt ich gerade machen - oder willst du selbst

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

              @homoran

              Math.round(num * 100) / 100
              
              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @liv-in-sky last edited by

                @liv-in-sky sagte in Mal wieder Webseite auslesen:

                oder willst du selbst

                ich will eigentlich selbst, Wenn du dich nicht bremsen kannst "darfst" du es gerne machen - ich sehe dann später erst rein, ob ich es genau so gemacht hätte

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

                  @homoran du willt lernen - dann lass ich dich lernen 🙂

                  Homoran 1 Reply Last reply Reply Quote 1
                  • Homoran
                    Homoran Global Moderator Administrators @liv-in-sky last edited by

                    @liv-in-sky sagte in Mal wieder Webseite auslesen:

                    @homoran du willt lernen - dann lass ich dich lernen 🙂

                    Danke - kann aber dauern 😞
                    melde mich dann

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

                      @homoran kein stress - ich habe es drin - also nicht das oben neu gepostete anschauen - sonst siehst du die lösung 😞

                      Image 8.png

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @liv-in-sky last edited by Homoran

                        @liv-in-sky sagte in Mal wieder Webseite auslesen:

                        ich habe es drin

                        ich jetzt auch. Mit viel trial & noch mehr Error

                        So ganz hab ich es noch nicht verstanden, obwohl der erste Versuch auf Anhieb funktionierte.
                        Anschließend die anderen States auf einen Schlag hat mich dann erst einmal komplett rausgeworfen

                        Gesundheit_runden_erl.png
                        und meine sind sogar schwarz 😉

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

                          @homoran sagte in Mal wieder Webseite auslesen:

                          Anschließend die anderen States auf einen Schlag hat mich dann erst einmal komplett rausgeworfen

                          was meinst du damit ?

                          was möchtest du verstehen ?

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @liv-in-sky last edited by

                            @liv-in-sky sagte in Mal wieder Webseite auslesen:

                            was meinst du damit ?

                            ich hatte erst die Formel zum runden nur für eine Variable (s65) umgesetzt, das klappte auf Anhieb.
                            (Also glaube ich, dass ich es verstanden hatte)

                            Danach hatte ich es für alle weiteren Variablen ebenfalls geändert, dann kam ein compile Fehler.

                            Inzwischen glaube ich, dass mich die log-Zeilen durcheinandergebracht hatte und ich die Klammern dadurch falsch gesetzt hatte

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

                              @homoran

                              ok - was mit einem wert funktioniert , muss auch mit den anderen funktionieren - das muss dann normalerweise ein syntax thema sein

                              1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @liv-in-sky last edited by

                                @liv-in-sky sagte in Mal wieder Webseite auslesen:

                                @homoran

                                welche meinst du - das sind die spalten

                                Image 6.png

                                kannst du vielleicht nochmal helfen, bitte?

                                Ich bekomme heute auf einmal schwachsinige Werte.
                                Erst fange ich an, an den Formeln zu schrauben.
                                und jetzt nehme ich an, dass sich das xls geändert und die Spaltennummern nicht mehr stimmrn.

                                Wie hast du die Spaltennummern erzeugt?

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

                                  @homoran
                                  sorry - heute geht es nicht mehr - aber morgen schaue ich mir das nochmal an

                                  Homoran 1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @liv-in-sky last edited by Homoran

                                    @liv-in-sky sagte in Mal wieder Webseite auslesen:

                                    @homoran
                                    sorry - heute geht es nicht mehr - aber morgen schaue ich mir das nochmal an

                                    Nicht nötig! DANKE!

                                    Hab es gerade hinbekommen.

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

                                      @homoran

                                      das war ja dann einfach für mich 🙂

                                      Homoran 1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @liv-in-sky last edited by

                                        @liv-in-sky sagte in Mal wieder Webseite auslesen:

                                        @homoran

                                        das war ja dann einfach für mich 🙂

                                        das jetzt wahrscheinlich auch 😉

                                        Heute morgen bekomme ich einen Schreck:
                                        Wartung01.png

                                        Haben die etwa schon wieder die Website geändert???
                                        Auf der Website standen aber tatsächlich keine Werte - jetzt steht da:
                                        Wartung.png

                                        Also wollte ich das Skript (function) ändern, dass nur geschrieben wird, wenn der Wert > 0 ist.

                                        Habe mal so angefangen:

                                        var parse = require('csv-parse');
                                        // var input = require('fs').readFileSync('/Daten/covid19_5.csv').toString();
                                        
                                        
                                        
                                        try {
                                          require("request")('https://www.lzg.nrw.de/covid19/daten/covid19_5.csv', async function (error, response, result) {
                                           // console.log(result);
                                           
                                        parse(result, {comment: '#'}, function(err, output){
                                        	// show result
                                        	// console.log(JSON.stringify(output));
                                        for(let r=0;r<output.length;r++){
                                           // log(output[r][46])
                                        }
                                        
                                        d65=Number(Math.round((output[output.length-1][74])*10000)/100)
                                        log(d65)//Intensivbelegung
                                        d37=Number(Math.round((output[output.length-1][46]) * 100)/100)// /1000
                                        log(d37)//Hospitalisierung
                                        d35=Number(Math.round((output[output.length-1][44]) * 100)/100)// /1000
                                        log(d35)//Inzidenz
                                        d99=Number(Math.round((output[output.length-1][46])/(output[output.length-1][44])*10000)/100)
                                        log(d99)//Prozent Hospitalisierte;
                                        
                                        if (d65>0)
                                        setState(s65,d65,true);
                                        
                                        setState(s35,d35,true)
                                        setState(s37,d37,true)
                                        setState(s99,d99,true)
                                        });
                                          
                                         }).on("error", function (e) {console.error(e);});
                                        } catch (e) { console.error(e); }
                                        

                                        Mit viel trial & error habe ich jetzt schon mal keine Meckerwellen mehr in Zeile 25-28.

                                        Wäre das so richtig??

                                        Mit Klammern und Semikola hab ich es noch nicht 😞

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

                                          @homoran sagte in Mal wieder Webseite auslesen:

                                          if (d65>0)

                                          schreibe es in eine zeile, dann ist klarer, dass es zusammengehört - es gilt ja nur für deneinen setState, der danach kommt

                                          if (d65>0) setState(s65,d65,true);
                                          
                                          

                                          willst du alle setState vermeiden

                                          if (d65>0) {setState(s65,d65,true);
                                                            setState(s35,d35,true)
                                                            setState(s37,d37,true)
                                                            setState(s99,d99,true)
                                                            }
                                          
                                          Homoran 1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @liv-in-sky last edited by

                                            @liv-in-sky sagte in Mal wieder Webseite auslesen:

                                            willst du alle setState vermeiden

                                            ja, aber nur wenn auch deren Wert jeweils 0 ist.

                                            Also werde ich die Zeile if (d65>0) setState(s65,d65,true); entsprechend anpassen

                                            DANKE!

                                            liv-in-sky 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            943
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            monitoring
                                            3
                                            53
                                            1232
                                            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