Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  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.2k

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

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

Bibliothek Scripte und Lösungen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
34 Beiträge 13 Kommentatoren 13.8k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      0
      • HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • B Offline
                B Offline
                Beatz
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  MarcJ
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • ___manalishi_ Offline
                      ___manalishi_ Offline
                      ___manalishi
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

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

                      659

                      Online

                      32.4k

                      Benutzer

                      81.4k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe