Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Bibliothek Scripte und Lösungen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Bibliothek Scripte und Lösungen

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

      @looxer01:

      letzte Version der Liste.
      filename="ioBroker-Skriptsammlung.xlsx" index="0">~~ `
      Klasse Arbeit, danke!

      Gruß,

      Pix

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

        Ich werde auch eine Kopie hier halten:

        http://download.iobroker.net/ioBroker-S … mlung.xlsx

        1 Reply Last reply Reply Quote 0
        • L
          looxer01 last edited by

          Hi,

          aktueller Stand

          • die bisherigen Rückmeldungen sind eingebaut.

          • die liste nochmal formatseitig überarbeitet

          • mit mctom stehe ich in Kontakt, um die Liste in iobroker.net einzuarbeiten

          ich vermute, dass Änderungsanfragen bei mctom anzubringen sind.

          @mctom: ist das korrekt ?

          vG Looxer

          anbei der finale Stand:

          305_iobroker-skriptsammlungv2.xlsx

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

            Danke allen fleißigen Helferlein.

            Ich werde mich mit zum Wochenende mit mctom zusammensetzen und mal sehen, was ich noch wieder mithelfen kann an der Website.

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • L
              looxer01 last edited by

              danke dir Rainer,

              Mir war nicht klar wer was wie macht.

              Bei euch beiden ist es in guten Händen 🙂

              vG Looxer

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

                @looxer01:

                Mir war nicht klar wer was wie macht. `
                Ist es mir im Moment auch noch nicht :mrgreen:

                War leider zu lange offline 😢

                @looxer01:

                Bei euch beiden ist es in guten Händen 🙂 `
                Danke!

                Gruß

                Rainer

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

                  Ich habe jetzt mal die ersten Seiten mit Skripten auf die Website gestellt.

                  -Menü Skripte- (Dort gibt es noch keine Untermenüs)

                  Seht euch die mal bitte an, ob da alle notwendigen und gewünschten Informationen drin sind - Verbesserungsvorschläge immer willkommen 😛

                  Außerdem habe ich hier mal die alte Liste angehängt, ebenfalls zur Überprüfung, was davon noch in looxers Liste fehlt und mit auf die Website soll.

                  Gruß

                  Rainer
                  144_skript-downloads-2016-04-16.xls

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

                    Hallo nochmal,

                    ich habe eben auf der http://www.iobroker.net/?page_id=2786&lang=de mit der heißen Nadel ein paar Seiten angelegt.

                    In der Liste von looxer01 sind einige "Skripte" enthalten, die anscheinend aus mehreren Teilen bestehen.

                    Hier weiß ich nicht wie ich diese anlegen soll, bzw. was für die Gesamtfunktion notwendig ist, da ich immer noch kein js spreche 😢 😢

                    Auch sind da teilweise anscheinend inhaltlich gleiche Skripte mehrfach angegeben, die jedoch (zumindest in der Skriptlänge) deutliche Unterschiede haben.

                    Auch weiß ich nicht, ob ide Links wirklich zu den funktioniertenden Versionen zeigen. jedenfalls habe ich dort die Skripte entnommen.

                    Weiterhin möchte ich keinem Entwickler das falsche Skript unterjubeln, resp. den wahren Urheber unterschlagen. Mir ist nicht immer klar, wer wirklich dahinter steckt.

                    Für jede Unterstützung bin ich dankbar

                    Gruß

                    Rainer

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

                      Das Script http://forum.iobroker.de/viewtopic.php?f=21&t=914&p=23399&sid=cf748478547f6feb9e8667ec1f50592a&sid=cf748478547f6feb9e8667ec1f50592a#p23399 habe ich um ein "." vor "UNREACH" erweitert, damit "STICKY_UNREACH" nicht mit erfasst wrird. Ausserdem habe ich es um die Abfrage ergänzt, ob "dp.common.name" existiert; falls nicht, wird stattdessen die ID an das Log file ausgegeben.

                      Bitte in der Doku korrigieren.

                      Das Sonnenstandsskript stammt ursprünglich von mir und wurde von pix modifiziert.

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

                        Hallo paul,

                        DANKE, habe es (hoffentlich richtig) geändert

                        Gruß

                        Rainer

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

                          @Homoran:

                          habe es (hoffentlich richtig) geändert `
                          Ja.

                          Anbei noch ein PI-Regler-Skript für Raumheizung, in dem das npm-Modul "pi-controller" verwendet wird:

                          // PI-Regler Raumheizung
                          // Datenpunkt-IDs eintragen !
                          const xid = '...'; // Istwert
                          const wid = '...'; // Sollwert
                          const yid = '...'; // Heizventil
                          
                          // P-Band in K, Nachstellzeit in s
                          const Xp = 4;
                          const Tn = 600;
                          
                          var x = getState(xid).val;  // Istwert in °C
                          var w = getState(wid).val;  // Sollwert in °C
                          
                          const  PI = require('pi-controller'); // als zusätzliches NPM-Modul in JS-Config eintragen
                          const pi = new PI(Xp, Tn); 
                          pi.setOutputMax(100);   // default: OutputMax = 100
                          
                          function control() {
                            var y = pi.Control(w - x);  // Stellsignal
                            setState(yid, y);
                          }
                          
                          control();  // Script start
                          
                          on(xid, function(dp) {
                            x = dp.state.val;
                            control();
                          });
                          
                          on(wid, function(dp) {
                            w = dp.state.val;
                            control();
                          });
                          
                          if (Tn) setInterval(control, 250 * Tn );
                          
                          1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators last edited by

                            Siehe da:

                            http://www.iobroker.net/?page_id=3725&lang=de

                            Gruß

                            Rainer

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

                              Du bist ja schnell 8-)

                              Eine Homematic-Zentrale ist nicht unbedingt Voraussetzung. Mann kann die Werte aus beliebigen Funk-Raumthermostaten holen, sofern es dazu eine Schnittstelle zu ioBroker gibt. Den Sollwert kann man auch intern per JS-Programm vorgeben (so mache ich es).

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

                                Das Script, das Du "Offset Heizung / Feuchteberechnung" genannt hast, hat nichts mit Heizung zu tun. Nenne es besser "Offset Sensorwerte / Taupunktberechnung".

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

                                  Danke,

                                  http://www.iobroker.net/?page_id=3651&lang=de

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    Beatz last edited by

                                    An alle hier Mitwirkenden ein großes Dankeschön. Diese Übersicht ist klasse.

                                    Auf der Webseite ist mir aufgefallen, dass das Skript zur Prüfung der Zeit nur das Datum prüft und die Funktion isTimeInRange nicht mehr enthalten ist. Vermutlich wurde nur die Erweiterung von pix einbezogen. Die Version zur Prüfung der Zeit wäre hier: http://forum.iobroker.net/viewtopic.php … 1072#p8484

                                    Außerdem würde ich im Bereich Zeitsteuerung noch ein kleines Skript vorstellen, dass ich viel verwende. Das folgende Skript prüft ob aktuell Wochenende (Samstag oder Sonntag) ist und bietet sich an, als globales Skript eingerichtet zu werden. Kein Hexenwerk, dafür praktisch.

                                    /* VERWENDUNG
                                        if (isWeekend() ) { log("Es ist Wochenende); }
                                    */
                                    
                                    function isWeekend() {
                                        var d = new Date();
                                        var n = d.getDay();
                                        var weekend = false;
                                        weekend = (n === 0 || n == 6) ? true : false;
                                        return weekend;
                                    }
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      MarcJ last edited by

                                      Hallo zusammen,

                                      ich habe unsere Heizung selbst gebaut und regle alle Pumpen und Ventile auch selbst (zumeinst über ioBroker-Logiken). Nun habe ich für den Mischerkreis der Fußbodenheizung (also Mischerventil für Rücklauf- und Vorlaufmischung) den PI-Regler von hier genommen. Da ich das Ventil zwischen 0-100% ansteure, brauche ich keine PWM. Hier mal das Script:

                                      // PI-Regler Raumheizung
                                      
                                      // P-Band in K, Nachstellzeit in s
                                      //In der angegebenen Zeit Tn (in sec.) wird die Stellgrößenänderung, 
                                      //die der P-Anteil (xp oder pb) bewirkt, noch einmal aufaddiert. 
                                      //Somit besteht ein festes Verhältnis zwischen dem P- und I-Anteil. 
                                      //Wird der P-Anteil (xp) geändert, so bedeutet das auch ein 
                                      //geändertes Zeitverhalten, bei einem gleichbleibenden Wert von Tn.
                                      var Xp = 2; /7/
                                      var Tn = 800; /8000/
                                      
                                      var xid = "owfs.0.wires.FBH_Mischer_Ausgang"/FBH Mischer Ausgang/;
                                      var wid = "Meine_Objekte.0.Heizung.Heizungswasser.Heizungswasser_VL_Soll_aus_Formel"/Heizungswasser_VL_Soll_aus_Formel/;
                                      var yid = "javascript.0.HKL.PI_Heizungsmischer"/HKL.PI_Heizungsmischer/;
                                      
                                      var PI = require('pi-controller');
                                      
                                      var pi = new PI(Xp, Tn); 
                                      pi.setOutputMax(100);// default: OutputMax = 100
                                      
                                      function control() {
                                          var x = getState(xid).val; // Istwert in °C
                                          var w = getState(wid).val; // Sollwert in °C
                                          var y = pi.Control(w - x); // Stellsignal
                                          setState(yid, y);
                                      }
                                      
                                      control(); // Script start
                                      on(xid, control);
                                      on(wid, control);
                                      
                                      var timer = null;
                                      if (Tn) {
                                          timer = setInterval(control, 6000); /60000/
                                      }
                                      else {
                                          if (timer) {
                                              clearInterval(timer);
                                              timer = null;
                                          }
                                      }
                                      

                                      Nun ist das Problem, dass nach einigen Minuten der KNX-Adapter nicht mehr funktioniert, da zu viele Werte gesendet werden. Im Log sehe ich auch, dass das PI-Script alle paar ms ein Update sendet.

                                      2643_log_pi.jpeg

                                      Leider bin ich kein Spezialist bei JavaScript (bin eher der blockly-Typ), daher bräuchte ich euer Rat: Erkennst da jemand was, was man ändern muss, damit nicht ständig die vielen Werte gesendet werden? Komischerweise läuft das Script die ersten ca. 10 Minuten gut, und ab dann fängt es an viel Werte zu aktualisieren.

                                      Vielen Dank und Grüße Marc

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

                                        Kann es sein, dass der Istwert sich zu schnell ändert ? Logge ihn mal.

                                        on(xid, function(dp) {
                                           log('Mischer-Ausgang: ' + dp.state.val);
                                        });
                                        

                                        und/oder kommentiere mal die Datenpunkt-Trigger aus.

                                        // on(xid, control);
                                        // on(wid, control);
                                        

                                        Das Skript hast Du hoffentlich nicht unter der Gruppe global erstellt ?

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

                                          Hallo Experten,

                                          ich plane mit dem PI-Regler Script die Vorlauftemperatur meines FBH Mischers zu regeln.

                                          Als 3 Punkt Regelung möchte ich einen Siemens DN20, 230V, Stellmotor Antrieb SSA31.1 verwenden. Der Antrieb hat zum ein-/ausfahren jeweils 1 Anschluss 230V (Y1,Y2).

                                          https://www.downloads.siemens.com/downl … &id1=10765

                                          Ich habe aktuell keine Homematic Komponenten und plane daher mit 2 Sonoff Schaltern das Signal zum Antrieb zu zu geben. Ist das sinnvoll und ist das npm Modul "pi-controller" dazu geeignet? Wenn ja, wie müsste das Script in dem folgenden Bereich ergänzt werden?

                                          __var yid =id.des.sonoff.auf

                                          var zid =id.des.sonoff.zu

                                          var y = pi.Control(w - x); // Stellsignal auf

                                          setState(yid, y);

                                          var z = pi.Control(w - x); // Stellsignal zu

                                          setState(zid, z);__

                                          Was bewirkt "pi.Control" genau?

                                          /frank

                                          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

                                          1.0k
                                          Online

                                          31.6k
                                          Users

                                          79.6k
                                          Topics

                                          1.3m
                                          Posts

                                          13
                                          34
                                          12760
                                          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