Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Daten aus einer Website mit Javascript

    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

    Daten aus einer Website mit Javascript

    This topic has been deleted. Only users with topic management privileges can see it.
    • smartboart
      smartboart @ArnoD last edited by smartboart

      @ArnoD ich will dich nicht hetzen.. Es sind ja nur Vorschläge und ich bin auch nicht eingeschnappt wenn etwas nicht den Weg in dein Script findet 😁
      also bei mir läuft das script seit meiner letzten fehlerberichterstattung 3tage Keine Ahnung ohne Fehler!
      Ach so es hat sich ein Schreibfehler eingeschlichen... Du hast aus Ausseneingriff Ausseneigriff gemacht.. 😂😂😂
      Die zusaetzlichen if abfragen finde ich grundsätzlich gut... Nachteil ist halt wenn die Bedingung nicht erfüllt ist es nicht automatisch durchgeführt wird wenn es dann erfüllt ist...
      ich bin kein java Profi... Alles was ich weiß habe ich mit try and error selbst raus gefunden...
      ich wuerde hier bei wichtigen Funktionen mit der Regeneration zum Beispiel dann mit Merker arbeiten... Sobald die Bedingung nicht erfüllt ist wird ein Merker gesetzt... Und sobald die Bedingung dann wieder gut triggert sie die Funktion und wenn der Merker noch gesetzt ist wird die Funktion ausgeführt... Natürlich wenn die anderen Bedingungen noch erfüllt sind.
      Wenn du willst kann ich morgen was am Beispiel Regeneration schreiben... Hoffe ich kriege es hin...

      1 Reply Last reply Reply Quote 0
      • A
        ArnoD last edited by

        Uuups 😂 der Ausseneigriff soll aber auch wichtig sein. 😂 😂
        Habe den Fehler korrigiert.

        Was habt ihr eigentlich für einen Softwarestand, bei der SC18 ?? Meiner ist V1.01.02

        Das Script läuft ohne Probleme, bis die W-Lan Verbindung zur SC18 abbricht.
        Habe noch nicht rausgefunden, an was das liegt und warum dann das Script mit dem Fehler "send flag true" stoppt.

        1 Reply Last reply Reply Quote 0
        • A
          ArnoD last edited by

          Welche if Abfragen meinst du ?

          1 Reply Last reply Reply Quote 0
          • A
            ArnoD last edited by

            Meinst du die "Keine Rueckmeldung" ?
            An eine Art Merker habe ich auch schon gedacht, aber diese müsste man dann wieder zyklisch abfragen und
            der Reihe nach abarbeiten. Man könnte natürlich auch ein Array als Merker erstellen und in einer Schleife abarbeiten.
            In der Zeit wird natürlich die zyklische Abfrage aller anderen Werte angehalten.
            Da ich auch kein Profi bin, was Javascript angeht und ich gerade erst den Umgang damit lerne, bin ich für jede Hilfe dankbar. 😀 👍

            smartboart 2 Replies Last reply Reply Quote 0
            • S
              schmid_no1 last edited by

              V01. 00. 37
              Und ich versteh nur Bahnhof was ihr da kreiert😅

              1 Reply Last reply Reply Quote 0
              • smartboart
                smartboart last edited by smartboart

                V01. 01.02... Das mit WLAN kann schon sein... Ich habe im Keller ein separates WLAN fuer smart home geraete... Fast ohne fremdeinwirkung bzw. Stoerfrequenzen.. Und der Router Fritte 7590 ist nur 4m weg im Büro... Vlt. Ist ein stabiles WLAN von Vorteil... Hab da auch nur 6 - 7 Teilnehmer drinnen... Nicht so wie im EG... Da hab ich aufgehört zu zählen...

                1 Reply Last reply Reply Quote 0
                • S
                  schmid_no1 last edited by

                  Ich hab die Anlage schon seit fast 3 Jahren hatte auch mal ein Script das funktionierte aber zu deiner arbeit ist das kein Vergleich

                  smartboart 1 Reply Last reply Reply Quote 0
                  • smartboart
                    smartboart @ArnoD last edited by smartboart

                    @ArnoD ich haette schwören können du bist Profi... Fuer meine Verhältnisse auf jeden Fall...
                    Apropo WLAN.. Ich hatte hier mit wlan mesh jedemenge Probleme... Bis ich es deaktiviert hatte und 2 WLAN Netzwerke aufgebaut habe.. Seit dem war ruhe... Vlt hat du ja auch wlan mesh aktiv

                    1 Reply Last reply Reply Quote 0
                    • S
                      schmid_no1 last edited by

                      Und bei mir läuft alles fehlerfrei seit 4 Tagen

                      1 Reply Last reply Reply Quote 0
                      • smartboart
                        smartboart @schmid_no1 last edited by

                        @schmid_no1 3 Jahre... Wie sind die Erfahrungen? Ich hab die erst eine Woche im Betrieb... Macht nen guten Eindruck... Muss dazu sagen der threat hier hat mir die Kaufentscheidung leichter gemacht... Sollte unbedingt mit iob können.

                        1 Reply Last reply Reply Quote 0
                        • S
                          schmid_no1 last edited by

                          Die Anlage läuft ohne Probleme bei 2 Personen und 2 Kleinkinder bei einem durschnittsverbrauch von ca. 220 Liter aktuell. Wie gesagt finde ich voll cool das sich dem entlich einer annimmt

                          smartboart 1 Reply Last reply Reply Quote 0
                          • smartboart
                            smartboart @schmid_no1 last edited by smartboart

                            @schmid_no1 220 Liter mit 4 Personen? Muss wohl doch an meiner Frau liegen.. 🙂 Welche Rohwasserhärte habt ihr? Bei mir sind es 22-23°dH Läuft fast alles durch die Anlage. Das Beimischventil ist nur minimal offen... Schwankt zwischen 250 und 350 Liter zu 2.

                            1 Reply Last reply Reply Quote 0
                            • S
                              schmid_no1 last edited by

                              Habe 22°dH hat alles Mein flaschner eingerichtet zieh aber den Kalk nicht komplett aus dem Wasser also es bleiben 8° dH. Wenn die kleinen ein bisschen größer sind werde ich nochmals absenken(für meine Frau) 😉

                              smartboart 1 Reply Last reply Reply Quote 0
                              • smartboart
                                smartboart @ArnoD last edited by smartboart

                                @ArnoD Hallo Arno, so kompliziert würde ich das mit dem Merker garnicht angehen.
                                Ich habe mal ein Bespiel für die Funktion Regenerationsstart eingebaut, welche sicher stellen sollte, dass der Befehl auch abgesetzt wird, sobald keineRückmedlung wieder flase ist nachdem durch einen Fehlerfall der Befehlt für manuellen start nicht durch ging...
                                Könnte man auch in den Fehlerspeicher abrufen so einbauen. Oder überall wo du die Bedingung für manuellen abruf bei keineRückmeldung = true unterbindest.
                                im Beispiel unten müsstest du noch die Zeile RegenerationStart(); an der Stelle einbauen wo du KeineRückmeldung wieder false setzt...
                                Unschön ist halt, das die Funktion nun je nach const constPollingCycle = 60 getriggert wird...

                                //manuelle Regeneration Int 1=Start
                                
                                function RegenerationStart() {
                                    if (debug) {console.log('Trigger Regenerationstart Prüfung aktiv')}
                                    var Regeneration = getState(idReg).val;
                                    var Trigger = getState(idRegStart).val;
                                    setStateDelayed(idRegStart,false,1*1000);
                                    if ((KeineRueckmeldung === false && Regeneration === 0 && Trigger === true)||(KeineRueckmeldung === false && merker === true && Regeneration === 0)){
                                    ShowState ("edit=D_B_1>1&id=3369~")
                                    merker = false;
                                    if (debug) {console.log('Befehl zum Regeneratiosstart wurde abgesetzt')}
                                    }else{
                                		if(KeineRueckmeldung == true){
                                			merker = true;
                                	        if (debug) {console.log('Befehl zum Regeneratiosstart ging wegen fehlender Rückmeldung nicht durch')}
                                        
                                        } 
                                
                                    }
                                
                                }
                                
                                var merker = false
                                on({id:idRegStart,val:true,change:'ne'}, function (obj){
                                RegenerationStart();
                                });
                                 
                                
                                
                                
                                // RegenerationStart(); eingefügt
                                // aktuelle State SC18 abrufen
                                
                                function ShowState (sParSend) 
                                
                                {
                                
                                    if (KeineRueckmeldung == false)
                                
                                    {
                                
                                        if(typeof(sParSend) == "undefined")sParSend = "";
                                
                                		xhr.open("POST","http://" + constIP + "/mux_http", true);
                                
                                	    xhr.setRequestHeader("Content-type", "application/json");
                                
                                	    xhr.setRequestHeader("Content-length", sParSend.length);
                                
                                		xhr.setRequestHeader("Connection", "close");
                                
                                		xhr.responseType = "document";
                                
                                        if (KeineRueckmeldung == false){
                                
                                            xhr.send(sParSend);
                                
                                            if (debug) {console.log (sParSend.length + " Byte an Daten wurden gesendet :" + sParSend)}
                                
                                        }
                                
                                        KeineRueckmeldung = true;
                                
                                        TimeoutRueckmeldung = setInterval(function(){timeout_Rueckmeldung();} , 4000);
                                
                                		xhr.onreadystatechange = function()
                                
                                		{
                                
                                				if (xhr.readyState==4)
                                
                                				{
                                
                                					clearInterval(TimeoutRueckmeldung);
                                
                                					KeineRueckmeldung = false;
                                
                                                    RegenerationStart();
                                
                                				}
                                
                                			
                                
                                		}
                                
                                		
                                
                                    }	
                                
                                    else {return}
                                
                                }
                                
                                
                                1 Reply Last reply Reply Quote 0
                                • smartboart
                                  smartboart @schmid_no1 last edited by

                                  @schmid_no1 Ja ich habe es auf 5°dH eingestellt.

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    ArnoD last edited by

                                    Ich habe jetzt ein neuen Tobic eröffnet mit einer besseren Überschrift.
                                    https://forum.iobroker.net/topic/20860/grünbeck-sc18-daten-mit-js-auslesen

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      ArnoD last edited by

                                      @smartboart habe mir deine Lösung für Merker angeschaut und es würde so funktionieren 👍
                                      Nachteil ist das die Funktion RegenerationStart() jedes Mal getriggert wird, auch wenn sich kein Wert geändert hat und wenn wir das bei allen Parameter der Anlage die änderbar sind machen wird es ziemlich unübersichtlich.
                                      Das die Funktion nun je nach consPollingCycle getriggert wird, wäre für mich erst mal kein Nachteil, kann aber zu dem Phänomen führen, das man z.B. einen Schalter in Vis auf ein=1 stellt, der von der zyklischen Abfrage mit dem Wert 0 von der Anlage überschrieben wird und dann vom Merker wieder auf 1 gesetzt wird. Sieht in Vis etwas komisch aus, würde aber funktionieren. Wenn mir nichts Besseres einfällt, würde ich das erst mal so übernehmen.

                                      smartboart 1 Reply Last reply Reply Quote 0
                                      • smartboart
                                        smartboart @ArnoD last edited by smartboart

                                        @ArnoD said in Daten aus einer Website mit Javascript:

                                        Nachteil, kann aber zu dem Phänomen führen, das man z.B. einen Schalter in Vis auf ein=1 stellt, der von der zyklischen Abfrage mit dem Wert 0 von der Anlage überschrieben wird und dann vom Merker wieder auf 1 gesetzt wird. Sieht in Vis etwas komisch aus, würde aber funktionieren.

                                        Hi, habe es bei mir so schon laufen, weil ich ja auch automatisch regeniere wenn wir nicht zu Hause sind..
                                        Funktionieren tut es.. Wird jedesmal getriggert? ja, habe ich oben ja geschrieben, aber der Befehl wird ja bei den if ( && ) Bedingungen abgeblockt und stört somit nicht die Anlage..Das Abrufen der States erfolgt ja nur innerhalb IObroker...
                                        Und mit dem Button zum starten wird es nicht komisch aussehen, da wir ja mit dem eigens dazu angelegten AussenEigriff 🙂 State Starten und der wird ja nur einmal true und nach einer Sekunde wieder false gesetzt.
                                        und da das Signal zum regenerieren nur durchgeht wenn es nicht 1 ist, ist das auch für eine eventuelle Statusanzeige ausgeschlossen. Theoretisch zumindest...

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        950
                                        Online

                                        31.9k
                                        Users

                                        80.1k
                                        Topics

                                        1.3m
                                        Posts

                                        16
                                        138
                                        20312
                                        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