Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Meine VIS

    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

    Meine VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      McOnno last edited by

      @helfi9999 : Möchte wegen dem Script für das Biowetter / Pollenscript fragen, ob das / die Scripte dahinter zu bekommen sind? Meine das hier: "javascript.0.Biowetter.köln.morgen".
      Wenn geht, bitte für Gummersbach!?
      Vielen Dank
      Gruss

      McOnno

      H 1 Reply Last reply Reply Quote 0
      • H
        helfi9999 @McOnno last edited by

        @McOnno also auf gesundheit.de gibt es leider nicht Gummersbach. Kann dir aber das Script geben:

        /* Biowetter Parser von gesundheit.de
        
        {1}
        
        http://forum.iobroker.net/viewtopic.php?f=23&t=2799&sid=936235bdac98a70a1d8672897d334a07#p25266
        
        {1}
        
        05.05.2016 erstellt von steinwedel für homoran
        
        06.05.2016 Anpassung durch pix (Vorhersage mehrere Tage)
        
        {1}
        
        Änderung in Biowetterparser
        
        12.01.2017 Biowetter
        
        14.01.2017 vom Pollenflug Skript separiert
        
        10.06.2019 neue Quellseite www.gesundheit.de (Anpassung von pix)
        
        {1}
        
        */
        
        
        
        const pfad = "Biowetter.";
        
        const logging = false;
        
        
        
        // Städte können natürlich auch gelöscht werden
        
        const stadt = [
        
           // Baden - Württemberg
        
           { "URL_" : "freiburg",
        
             "name" : "Freiburg" },
        
                 
        
           { "URL_" : "stuttgart",
        
             "name" : "Stuttgart" },
        
           // Bayern   
        
           { "URL_" : "kempten",
        
             "name" : "Kempten" },
        
                 
        
           { "URL_" : "muenchen",
        
             "name" : "München" },
        
                 
        
           { "URL_" : "nuernberg",
        
             "name" : "Nürnberg" },
        
           // Berlin 
        
           { "URL_" : "berlin",
        
             "name" : "Berlin" },
        
           // Brandenburg  
        
           { "URL_" : "cottbus",
        
             "name" : "Cottbus" },
        
           // Bremen   
        
           { "URL_" : "bremen",
        
             "name" : "Bremen" },
        
           // Hamburg   
        
           { "URL_" : "hamburg",
        
             "name" : "Hamburg" },
        
           // Hessen     
        
           { "URL_" : "frankfurt-am-main",
        
             "name" : "Frankfurt am Main" },
        
                 
        
           { "URL_" : "kassel",
        
             "name" : "Kassel" },
        
           // Mecklenburg - Vorpommern    
        
           { "URL_" : "rostock",
        
             "name" : "Rostock" },
        
                 
        
           { "URL_" : "schwerin",
        
             "name" : "Schwerin" },
        
           // Niedersachsen      
        
           { "URL_" : "emden",
        
             "name" : "Emden" },
        
                 
        
           { "URL_" : "hannover",
        
             "name" : "Hannover" },
        
           // Nordrhein - Westfalen     
        
           { "URL_" : "bochum",
        
             "name" : "Bochum" },
        
                 
        
           { "URL_" : "dortmund",
        
             "name" : "Dortmund" },
        
                 
        
           { "URL_" : "duisburg",
        
             "name" : "Duisburg" },
        
                 
        
           { "URL_" : "duesseldorf",
        
             "name" : "Düsseldorf" },
        
                 
        
           { "URL_" : "essen",
        
             "name" : "Essen" },
        
                 
        
           { "URL_" : "koeln",
        
             "name" : "Köln" },
        
                 
        
           { "URL_" : "muenster",
        
             "name" : "Münster" },
        
           // Rheinland - Pfalz   
        
           { "URL_" : "koblenz",
        
             "name" : "Koblenz" },
        
           // Saarland     
        
           { "URL_" : "saarbruecken",
        
             "name" : "Saarbrücken" },
        
           // Sachsen     
        
           { "URL_" : "leipzig",
        
             "name" : "Leipzig" },
        
                 
        
           { "URL_" : "dresden",
        
             "name" : "Dresden" },
        
           // Sachsen - Anhalt      
        
           { "URL_" : "halle",
        
             "name" : "Halle" },
        
                
        
           { "URL_" : "magdeburg",
        
             "name" : "Magdeburg" },
        
           // Schleswig - Holstein    
        
           { "URL_" : "kiel",
        
             "name" : "Kiel" },
        
           // Thüringen      
        
           { "URL_" : "erfurt",
        
             "name" : "Erfurt" }
        
        
        
        ];
        
        
        
        // ab hier nix ändern
        
        
        
        const biowetter_url = "https://www.gesundheit.de/rat-hilfe/biowetter/";
        
        const biodatenpunkte = ["heute", "morgen", "Kombi"];
        
        
        
        let request = require("request");
        
        
        
        function bioDpAnlegen() {
        
           // alle stadte durchgehen
        
        
        
           stadt.forEach(function(city) {
        
               let bio_pfad = pfad + city.name.toLowerCase();
        
               setTimeout(function() {
        
                   for (var bdp = 0; bdp < biodatenpunkte.length; bdp++) {
        
                       createState(bio_pfad + "." + biodatenpunkte[bdp], {
        
                           def: "",
        
                           name: "Biowetter " + city.name + " " + biodatenpunkte[bdp],
        
                           desc: "Biowetter Vorhersage (gesundheit.de)für " + biodatenpunkte[bdp] + " in " + city.name,
        
                           type: "string"
        
                       });
        
                   }
        
               }, 1000);
        
           });
        
        }
        
        
        
        
        
        function readBiowetter() {
        
           stadt.forEach(function(s) {
        
               setTimeout(function() {
        
                   if (logging) log("Es wird abgefragt: " + s.URL_ + " für " + s.name);
        
                   readURL(s.URL_, s.name);
        
               }, 1000);
        
           });
        
        }
        
        
        
        
        
        
        
        function readURL(stadt_URL_, stadt_name) {
        
        
        
           try {
        
               let options = {
        
                   url: biowetter_url + stadt_URL_, // korrekten Link erstellen
        
                   headers: {
        
                       "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1"
        
                   }
        
               };
        
        
        
               request(options, function(error, response, body) {
        
                   if (!error && response.statusCode == 200) { // kein Fehler, Inhalt in body
        
                       /*body=body.replaceAll(String.fromCharCode(13),"");
        
                       body=body.replaceAll(String.fromCharCode(10),"");
        
                       body=body.replaceAll(String.fromCharCode(9)," ");
        
                       body=strip_tags(body);*/
        
        
        
                       /* // betroffener HTML Code
        
                                   <div></div>
        
        {1}
        
        {1}
        
                                   <h2>Heute</h2>
        
                                   <p>Die aktuelle Wetterlage belastet Herz und Kreislauf stärker als sonst üblich. Aufgrund der warmen Luftmasse ist die Durchblutung vermindert. Viele Menschen fühlen sich weiterhin müde und abgespannt. Trotzdem fällt der erholsame Tiefschlaf schwer. Menschen, die verstärkt mit Kopfschmerzen und Migräneattacken auf Wetterreize reagieren, sollten ihre Schmerzmittel nicht vergessen. Anstrengungen am Mittag und Nachmittag sollten vermieden werden.</p>
        
           
        
                                   <h2>Morgen</h2>
        
                                   <p>Mit der Witterung sind häufig Leistungs- und Konzentrationsdefizite verbunden. Auch das Reaktionsvermögen lässt nach, sodass die Unfallgefahr zunimmt. Wetterfühlige Menschen klagen vor allem über Kopfweh und eine erhöhte Müdigkeit.</p>
        
           
        
        {1}
        
                                   <h2>Biowetter Freiburg</h2>
        
                            */
        
        
        
        
        
                       // Code für HEUTE extrahieren
        
                       let wetter_heute;
        
                       let heute_start = "<h2>Heute</h2>";
        
                       let heute_ende = "<h2>Morgen</h2>"; // dazwischen ist Text für heute
        
        
        
                       let pos_heute_start = body.indexOf(heute_start);
        
                       let pos_heute_ende = body.indexOf(heute_ende);
        
                       log("Start: " + pos_heute_start + " Ende: " + pos_heute_ende, "debug");
        
        
        
                       if (heute_start != -1 && heute_ende != -1) { // wenn gesuchte Strings überhaupt existieren
        
        
        
                           let heute_bereich = body.substring(pos_heute_start + heute_start.length, body.length); // Ab aber ohne ersten Treffer bis Ende
        
                           heute_bereich = heute_bereich.substring(0, heute_bereich.indexOf(heute_ende)); // Suchwort am Ende abschneiden
        
                           wetter_heute = strip_tags(heute_bereich).trim(); // fertige Ausgabe
        
                           if (logging) log("Biowetter in " + stadt_name + " (heute): " + wetter_heute);
        
        
        
                           setState(pfad + stadt_name.toLowerCase() + ".heute", wetter_heute);
        
        
        
                       } else log("gesuchter Quellcode (www.gesundheit.de) nicht gefunden | Stichwort 'heute'", "error");
        
        
        
        
        
                       // Code für MORGEN extrahieren
        
                       let wetter_morgen;
        
                       let morgen_start = "<h2>Morgen</h2>";
        
                       let morgen_ende = "<h2>Biowetter "; // dazwischen ist Text für morgen
        
        
        
                       let pos_morgen_start = body.indexOf(morgen_start);
        
                       let pos_morgen_ende = body.indexOf(morgen_ende);
        
                       log("Start: " + pos_morgen_start + " Ende: " + pos_morgen_ende, "debug");
        
        
        
                       if (morgen_start != -1 && morgen_ende != -1) { // wenn gesuchte Strings überhaupt existieren
        
        
        
                           let morgen_bereich = body.substring(pos_morgen_start + morgen_start.length, body.length); // Ab aber ohne ersten Treffer bis Ende
        
                           morgen_bereich = morgen_bereich.substring(0, morgen_bereich.indexOf(morgen_ende)); // Suchwort am Ende abschneiden
        
                           wetter_morgen = strip_tags(morgen_bereich).trim(); // fertige Ausgabe
        
                           if (logging) log("Biowetter in " + stadt_name + " (morgen): " + wetter_morgen);
        
        
        
                           setState(pfad + stadt_name.toLowerCase() + ".morgen", wetter_morgen);
        
        
        
                       } else log("gesuchter Quellcode (www.gesundheit.de) nicht gefunden | Stichwort 'morgen'", "error");
        
        
        
        
        
                       // Code für Kombidatenpunkt mit HTML
        
                       if (!wetter_morgen || !wetter_heute) log("Fehler: keine Biowetterdaten extragiert", "error");
        
                       else {
        
        
        
                           let kombi = "<div class =\"Biowetter\">" +
        
                               "<h4>Biowetter (gesundheit.de) für " + stadt_name + "</h4>" +
        
                               "<h2>Heute</h2>" +
        
                               "<p>" + wetter_heute + "</p>" +
        
                               "<h2>Morgen</h2>" +
        
                               "<p>" + wetter_morgen + "</p>";
        
        
        
                           setState(pfad + stadt_name.toLowerCase() + "." + biodatenpunkte[2], kombi);
        
                       }
        
        
        
                   } else {
        
                       log("StatusCode = " + response.statusCode);
        
                       log(error, "error"); // Error beim Einlesen
        
                   }
        
               });
        
        
        
           } catch (e) {
        
               log("Fehler (try) leseWebseite (gesundheit.de): " + e, "error");
        
           }
        
           log("Biowetter eingelesen", "info");
        
        }
        
        
        
        function strip_tags(data) {
        
           var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");
        
           return (rueckgabe);
        
        }
        
        
        
        String.prototype.replaceAll = function(find, replace) {
        
           var str = this;
        
           return str.replace(new RegExp(find.replace(/([.*+?^=!:${}()|[]\/])/g, "\\$1"), "g"), replace);
        
        };
        
        
        
        function main() {
        
           bioDpAnlegen();
        
           setTimeout(readBiowetter, 3000);
        
        }
        
        
        
        main();
        
        schedule("0 7,13,19 * * *", main);
        
        
        

        M 1 Reply Last reply Reply Quote 0
        • M
          McOnno @helfi9999 last edited by

          @helfi9999 : Vielen Dank dafür! Hab mal alles ausser Köln gelöscht, läuft!

          1 Reply Last reply Reply Quote 0
          • Guido Spoltmann
            Guido Spoltmann @helfi9999 last edited by

            @helfi9999
            Blöde Frage, wie bekommt man das VIS Vorlagen (Textdateien) in das eigene Projekt?

            Glasfaser 1 Reply Last reply Reply Quote 0
            • Glasfaser
              Glasfaser @Guido Spoltmann last edited by

              @Guido-Spoltmann

              1.JPG
              .
              2.JPG

              1 Reply Last reply Reply Quote 0
              • Z
                zizu29 @helfi9999 last edited by

                @helfi9999
                Irgendwie bekomme ich deine Küchen Vis nicht in meine. Er zeigt mir einen Fehler an. Unbenannt.png

                Glasfaser 1 Reply Last reply Reply Quote 0
                • Glasfaser
                  Glasfaser @zizu29 last edited by

                  @zizu29 sagte in Meine VIS:

                  @helfi9999
                  ..... Küchen Vis nicht in meine. Er zeigt mir einen Fehler a.....

                  Der View funktioniert .....wird wohl ein Kopierfehler bei dir sein !

                  Z 1 Reply Last reply Reply Quote 0
                  • Z
                    zizu29 @Glasfaser last edited by

                    @Glasfaser Das kann ich eigentlich ausschließen ich kopiere ja mit Strg +A und Strg+C und nehme zum einfügen Strg+V

                    Oder liegt da mein fehler ?

                    sigi234 1 Reply Last reply Reply Quote 0
                    • sigi234
                      sigi234 Forum Testing Most Active @zizu29 last edited by sigi234

                      @zizu29 sagte in Meine VIS:

                      Oder liegt da mein fehler ?

                      Ja, geht auch bei mir. Gerade getestet.

                      Tipp:

                      Runterladen:
                      Rechtsklick auf Link --> speichern unter --> mit vernünftigem Editor öffnen (zB Notepad++)

                      Z 2 Replies Last reply Reply Quote 0
                      • Z
                        zizu29 @sigi234 last edited by

                        @sigi234 Danke dir , ich werde es mal testen,

                        1 Reply Last reply Reply Quote 0
                        • Z
                          zizu29 @sigi234 last edited by

                          @sigi234 Super Danke dir es hat geklappt. DANKE

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            Alero @zizu29 last edited by Alero

                            @helfi9999
                            würde mir das Script "system" gerne installieren. mir fehlen die Anzeigen auf der rechten Seite.

                            Vis.canvas-gauges sind installiert. Ich kann nur nicht in die Einstellungen. Ich das normal?

                            Gruß
                            Alero

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              Alero @Alero last edited by

                              @helfi9999
                              Hi,

                              hat sich erl.

                              Habe die vis neu geladen.

                              Gruß
                              Alero

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                Alero @Alero last edited by Alero

                                @helfi9999
                                Hi,

                                zu früh gefreut.

                                Instrumente da zeigen aber nichts an. Alle Instrumente stehen und bleiben auf null.
                                ist das so normal unter Objekten?
                                f87f7bdd-f7cc-4772-b702-b449163166d2-grafik.png

                                Gruß
                                Alero)

                                H 1 Reply Last reply Reply Quote 0
                                • H
                                  helfi9999 @Alero last edited by

                                  @alero Sorry für das späte antworten schau mal du musst erstmal hier die "request" drücken damit die aktiviert werden:


                                  Image 1.png

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    Alero @helfi9999 last edited by Alero

                                    @helfi9999
                                    Hi,
                                    und wie machst du das in deinem Widget? Wird es dort über einen Schalter aktiviert oder regelmäßig über ein Script abgefragt?

                                    Ich habe es mir heruntergeladen. Ich finde da nichts wo der Request abgefragt wird. Habe ich vielleicht übersehen.

                                    Habe die Requests gedrückt. Passiert nix

                                    Gruß
                                    Alero

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      Alero @Alero last edited by

                                      @helfi9999
                                      nach drücken des initial poll kommen alle Daten.
                                      Danke
                                      Alero

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        Alero @Alero last edited by

                                        @helfi9999 Hi,

                                        wie schaffe ich es bei deinem Script 200_Wohnzimmer die Radiosender auch zum Abspielen zu bewegen?
                                        Icons funktionieren. Beim Drücken der fav Radiosender passiert nix.

                                        Gruß
                                        Alero

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          helfi9999 last edited by helfi9999

                                          bitte löschen

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            Thofri last edited by

                                            Hier mal eine ganz einfache Art der Darstellung bezüglich aktueller PV Leistung.
                                            Ist eine kleine VIS auf einem alten Minitablet. Akku ausgebaut, Leistungsdiode rein um einen Spannungsabfall zu erhalten, Netzteil an den eigentlichen Anschluss der Batterie angeschlossen. So konnte diesem alten Teil ein zweites Leben eingehaucht werden. Das Gehäuse habe ich irgendwo auf Pinterest gefunden und passend zum Tablet nachgebaut.
                                            Fullykiosk läuft eingeschränkt, da Android 10go drauf ist.
                                            Aber ich habe eine Übersicht über meine PV Anlage, wo man mal schnell was checken kann.
                                            Weitere Daten würde ich dann in meiner eigentlichen VIS sehen.
                                            Vielleicht eine Idee für den ein oder anderen.

                                            IMG_5173.jpeg

                                            1 Reply Last reply Reply Quote 3
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            825
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            vis visualisierung
                                            18
                                            114
                                            21258
                                            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