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.
    • A
      ArnoD last edited by

      @schmid_no1 durch die Weboberfläche von Grünbeck habe ich alle möglichen Werte gefunden, aber eine Störmeldung von der SC18 war nicht dabei. Wenn es die geben sollte wird sie von Grünbeck auch in der eigenen App nicht verwendet.

      Ok zum Abschluss noch mein View Grünbeck:
      2019-01-27 19_19_01-Edit vis.png

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

        @ArnoD die Regeneration wurde 2 x gestartet... Bzw. Das erste Mal kam sie bis zum Schritt besalzen und wurde abgebrochen und ist dann ein 2. Mal gestartet.. Wird ein Tastendruck zu viel gewesen sein... Den Befehl nur bei change ne und nur bei 1 abzusetzen ist da besser.. Zusaetzlich verriegeln mit ner if Bedingung wenn Regeneration nicht aktiv wuerde das zusaetzlich verhindern...

        Schau mir die Änderung dazu nachher mal an..
        Und viel spass beim einschmeicheln. Ich kenne das.. Iobroker birgt echt eine Suchtgefahr
        ... 😂😂😂

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

          @ArnoD

          //manuelle Regeneration Int 1=Start
          
          on(instanz + PfadEbene1 + 'Allgemein.D_B_1', function (obj) 
          
          {
          
             StatePfad = instanz + PfadEbene1 +'Allgemein.D_B_1';
          
             Parameter = 'D_B_1'
          
             neuerWert = getState(StatePfad).val;
          
             if (neuerWert == 1)
          
             {
          
                  EditState(StatePfad,Parameter,neuerWert);
          
              } 
          
          });
          

          Hi, hab dazu nochmal nachgedacht.. Must nicht gleich draufspringen, hast genug geleistet die letzten Tage...Ich wollte es nur nicht vergessen, deshalb schreibe ich es gleich mal nieder..
          Was passiert denn wenn die Regeneration fest oder auto losläuft. Dann fängt dieser Script Teil ja auch an loszulaufen. Das heist zusätzlich zu festen oder auto Regeneration würde die anlage nochmal den Befehl zum starten bekommen. Wenn ich das richtig sehe, wäre eine Lösung um das zu unterbinden mit einem Hiflsmerker oder zusätzlichen state zu arbeiten. Ansosnten behebt das natürlich erstmal mein beschriebenes Problem mit dem 2 Tastendruck.
          Den scriptteil würde ich aber mit ner zuzsätzlichen Bedingung / Hilfsmerker bei von der anlage gestarten Reg blockieren.
          Einfacher wäre vlt. nen eigen State als Trigger zu nehmen und die Regeneration / State D_B_1 nicht mit sich selbst zu triggern.

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

            nur ein Lösungsansatz..Werde es bei mir mal so testen...

            createState(instanz + PfadEbene1 + PfadEbene2[7] + 'Regenerationsstart', {def: 'false',name: 'Regenerationsstart',type: 'boolean',role: 'state',desc: 'State zum starten der Regeneration'});
            
            //manuelle Regeneration  true=Start
            
            const idRegStart = 'javascript.0.Status.Gruenbeck.SC18.Ausseneingriff.Regenerationsstart';
            const idReg = 'javascript.0.Status.Gruenbeck.SC18.Allgemein.D_B_1';
            
            on({id:idRegStart,val:true,change:'ne'}, function (obj){
            
               Parameter = 'D_B_1'
            
               var Regeneration = getState(idReg).val;
               
               var Trigger = getState(idRegStart).val;
               
               setStateDelayed(idRegStart,false,1*1000);
            
               if (Regeneration === 0 && Trigger === true){
            
                    EditState(idReg,Parameter,1);
            		
               }else{
            	   
            	   if (debug) {console.log('Regeneration bereits aktiv')}
            		
            		
            
                } 
            
            });
            
            
            

            nur ein Lösungsvorschlag

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

              Ja du hast recht, ist nich optimal gelöst.
              Wenn du dein Lösungsvorschlag getestet, hast und es funktioniert , werde ich es übernehmen 😀
              Ohne es selber getestet zu haben, aber kann der Function on mehr als drei Parameter übergeben werden?

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

                @ArnoD
                werde es testen ich arbeite in Scripten immer mit const id / Konstanten und setze dann die id und arbeite in den logig Blöcken meistens mit variablen variablen.. var Trigger = getState usw. zur not passe ich es an

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

                  @ArnoD Also habs getestet. habe oben meinen Vorschlag aktualisiert. unten siehe log. Wenn jetzt während der regeneration nochmal gestartet wird, kommt der Hinweis im log bereits gestartet. Eine Regeneration durch das Gerät selbst läuft jetzt ins leere und triggert nicht mehr den Scriptblock...
                  Unbenannt.PNG

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

                    Habe das Script mit deiner Optimierung aktualisiert. 👍
                    Macht natürlich auch für alle anderen änderbaren Werte sinn eine eigene ID für Änderungen in Vis anzulegen.

                    Habe mir auch überlegt ob wir hier unter "Daten aus einer Webseite mit Javascript" noch richtig sind und es nicht besser wäre ein neues Thema aufzumachen wie "Grünbeck SC18" 😉

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

                      @ArnoD ja da hast du Recht..mit allem...

                      Generell ist es besser eigene States zum Triggern zu benutzen, aber bei den anderen steuerbaren states fällt es nicht so auf, da keine Aktion in dem Sinner erfolgt...Ist ja eigentlich nur eine Aktualisierung..Stört mich an den Stellen nicht so...
                      Ein eigener Threat bietet sich an...Wäre sogar was für einen adapter...

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

                        Hallo Ihr zwei kleine Frage:

                        • Auf was bezieht sich der Fehlerspeicher bzw. kann man den nutzen um eine Fehlerausgabe in Echtzeit zu basteln, somit wirde man die Potentialfreien nicht brauchen.
                        • @ArnoD wie hast das mit dem Salzverbrauch in deiner Visu gemacht.
                        1 Reply Last reply Reply Quote 0
                        • A
                          ArnoD last edited by

                          Die Anlage speichert jede Störung mit einem Störcode in einem Fehlerspeicher. Das Script liest diesen nur aus.
                          Man kann diesen sicher dazu nutzen bei einem neuen Fehler ein State auf true zu setzen und durch Quittieren wieder auf false.
                          Warum nutzt du eigentlich nicht die E-Mail Benachrichtigung der SC18, somit würdest du bei jedem Fehler eine E-Mail bekommen.

                          Ich muss erst noch im Script den Salzverbrauch berechnen, so das man hier eine sinnvolle Anzeige hat, im Moment habe ich nur einen Zähler, der bei jeder Regeneration um eins erhöht wird. Das ist natürlich sehr ungenau, da die Anlage ja nicht immer zu 100% regeneriert.

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

                            @ArnoD Ich werte dazu den Wasserverbrauch aus. Sobald ich einmal Salz nachgefüllt habe, schaue ich wieviel Wasser durch ging. Mit der Infor bastle ich dann ein script.
                            @schmid_no1 die Idee von Arno ist garnicht schlecht...Mittels Script könnte man alle Fehler Speicher auslesen mittels oder Verknüpfung würde ein neuer Fehler einen State triggern wie z.B Anlage störung. Mit diesem Sate in vis anzeigen und ne pusch nachricht schicken..Ich werde das so umsetzen..vorausgesetzt wir packen das Auslesen noch in den Schedule...Fraglich ist nur ob das zu viel wird für die Kleine..Ansonsten ist der potentialfreie die bessere Wahl.Hier wird noch die Spannung mit überwacht
                            Aber das ginge auch über meine smartplug mit welcher ich die Sannung anzeige und den Strom mitlogge.
                            Email fällt bei mir raus weil alle meine Smarten Geräte fürs internet gesperrt sind...Habe nur das nötigste online..safety first

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

                              Ich brauche ziemlich genau 2 x 25kg Sack Im Jahr bei 100 bis 120 m2. Ich könnte einfach einen Zähler rein machen der mich informieren soll wenns wieder soweit sein sollte. Oder wir bekommen tatsächlich ausgerechnet 😁.
                              Bin gerade noch dran die Codierung der fehlercods zu bekommen. Aber das mit dem State bei Änderung und dem popup wäre eine schöne Sache. Leider bin ich in Sachen scripte nicht fit und kann euch da nicht unterstützen.

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

                                @schmid_no1 Eine fehlerliste wäre nicht schlecht...Wie kommen denn die Fehler im Script an?
                                @ArnoD die States sind vom Typ String...Weist du ob diese im Klartext ausgegeben werden oder nur 0 und 1?

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

                                  @smartboart "E4_h5883" z.B. im Internet findet man halt leider gar nichts.

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

                                    @schmid_no1 eventuell mal beim Hersteller anfragen.

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

                                      Ich weiß nur das die erste Position E4 der Fehlercode ist und _hxxxx wann der Fehler aufgetreten ist.
                                      Ich habe jetzt die Berechnung Salzverbrauch nach Angaben und Formel der Fa. Grünbeck erstellt. Jetzt müssen wir nur noch 6 Monate warten, um zu sehen, ob diese Berechnung auch stimmt. 😂

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

                                        Cool echt klasse!!!! Sehr gute Arbeit... Und wirklich durchdacht. Ohne Anpassung fuer jeden passend! Morgen gleich einpflegen... Dann Hab ich mir die Arbeit und Salz Menge messen ja gespart...
                                        Habe heute Kabel gezogen... Habe mich dazu entschlossen den potentialfreien stoermelde Kontakt im verteiler Schrank einzulesen... Mit dem raspi slave lese ich eh schon Klingel und netzausfall ueber Relais ein.. Hat den Vorteil das stoerung vom Geraet und netzausfall am Geraet Hardware maessig zusaetzlich überwacht sind... Das Kabel ist gut investiert.. Als nächstes wssserzaehler und Heizung noch mit einlesen...

                                        Ich werde die Tage ein Script Scheiben um bei Abwesenheit und unter 10% und Waschmaschine nicht an und reg nicht aktiv automatisch die reg gestartet wird.. Sowie wenn nur 1% dann unabhängig der Regel die reg gestartet wird wenn nicht bereits aktiv...
                                        evtl. Ist das ja auch was fuer euch...

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

                                          @ArnoD Richtig cool !!!!
                                          nur noch ne kleine Frage ist das der Salzverbrauch pro Tag? Wenn ja könnet man noch ein State dazufügen indem man eingeben kann wieviel Salz man eingefüllt hat und durch deine Doku des Täglich verbrauchten Salzes ausrechnet wie lange dieses noch halten würde.

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

                                            @schmid_no1 Nein der Salzverbrauch bzw. die Berechnung wird getriggert durch den Wasserverbrauch vor einem Tag und dann immer dazu addiert. Im Prinzip bekommst du dadurch einen Salzverbrauch über alles. Wenn du den zurück setzen willst, gib einfach einen neuen Start Wert ein! Also Setze den State Salzverbrauch auf 0 nach dem Befüllen!
                                            Das hat Arno schon super gemacht... Jetzt könnete man im Script noch einfügen, wenn der Salzverbrauch 10 kg oder einen anderen Erfahrungswert, habe ich noch nicht....ab wieviel Verbrauch wird Wasserr sichtbar? erreicht hat, setze einen weiteren State Salz nachfüllen! Perfekt
                                            @ArnoD Wenn ich das richtig sehe, ist für die Berechnung ein gültiger Start Wert nötig oder? Also Salzverbrauch alt. Bei Scriptstart ist der Wert erstmal Null.... Es wird wahrscheinlich reichen den Wert in den objekten manuell zu beschreiben. Ansosnten könnte man es in dem Script konfigurierbar machen oder...Z.B ich habe schon 2 Kilo verbraucht also starten wir mit 2 Kilo... oder eben 25 oder was bis zum ersten Start des Skripts verbraucht wurde...Somit wäre das Thema mit der Null weg... Oder du gibst einfach 0 vor...Oder eben einfach nur ein Hinweis bei Scriptstart Verbrauch bis dahin Salz manuell berechnen und eintragen.. oder eben einfach das Ding voll machen und 0 eintragen..
                                            Korrigier mich wenn ich schwachsinn schreibe... 🙂
                                            oder einfach :
                                            createState(instanz + PfadEbene1 + PfadEbene2[4] + 'Salzverbrauch', {name: 'Salzverbrauch in kg',type: 'number',role: 'number',desc: 'Salzverbrauch in kg',unit: 'kg',def:'0'});
                                            für den ersten Scriptstart.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            615
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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