Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Bibliothek Scripte und Lösungen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Bibliothek Scripte und Lösungen

Scheduled Pinned Locked Moved ioBroker Allgemein
34 Posts 13 Posters 13.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • HomoranH Do not disturb
    HomoranH Do not disturb
    Homoran
    Global Moderator Administrators
    wrote on last edited by
    #23

    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

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Reply Last reply
    0
    • paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #24

      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.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Reply Last reply
      0
      • HomoranH Do not disturb
        HomoranH Do not disturb
        Homoran
        Global Moderator Administrators
        wrote on last edited by
        #25

        Hallo paul,

        DANKE, habe es (hoffentlich richtig) geändert

        Gruß

        Rainer

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #26

          @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 );
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          • HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #27

            Siehe da:

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

            Gruß

            Rainer

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Reply Last reply
            0
            • paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by
              #28

              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).

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Reply Last reply
              0
              • paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by
                #29

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

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Reply Last reply
                0
                • HomoranH Do not disturb
                  HomoranH Do not disturb
                  Homoran
                  Global Moderator Administrators
                  wrote on last edited by
                  #30

                  Danke,

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

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  1 Reply Last reply
                  0
                  • B Offline
                    B Offline
                    Beatz
                    wrote on last edited by
                    #31

                    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
                    0
                    • M Offline
                      M Offline
                      MarcJ
                      wrote on last edited by
                      #32

                      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
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by
                        #33

                        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 ?

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Reply Last reply
                        0
                        • ___manalishi_ Offline
                          ___manalishi_ Offline
                          ___manalishi
                          wrote on last edited by
                          #34

                          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

                          /ioBoker auf PVE LXC

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          623

                          Online

                          32.4k

                          Users

                          81.3k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe