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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Die Sache mir der Luftfeuchtigkeit, dem Taupunkt und der Schimmelgefahr

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    485

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Die Sache mir der Luftfeuchtigkeit, dem Taupunkt und der Schimmelgefahr

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
25 Beiträge 16 Kommentatoren 11.2k Aufrufe 20 Watching
  • Ä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.
  • D darkiop

    @Chaot Würdest du deine Version mal posten?

    ChaotC Offline
    ChaotC Offline
    Chaot
    schrieb am zuletzt editiert von
    #16

    @darkiop muss ich mal raussuchen. Ich habe die nur hier auf dem Rechner. Wie gesagt habe ich die nie mehr eingebaut nach dem Umzug auf den NUC.

    ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

    1 Antwort Letzte Antwort
    0
    • D darkiop

      @Chaot Würdest du deine Version mal posten?

      ChaotC Offline
      ChaotC Offline
      Chaot
      schrieb am zuletzt editiert von
      #17

      @darkiop Ich habe mir das heute nochmal rausgekramt.
      Aber ich bringe das Script nicht mehr zum laufen.
      Keine Ahnung warum.

      // von paul53 übernommen und angepasst
      // http://forum.iobroker.net/viewtopic.php?f=20&t=2437&hilit=L%C3%BCftung%2A#p21476
      createState('0_userdata.0.Taupunkt.Aussen.Temperatur', 0);            // °C
      createState('0_userdata.0.Taupunkt.Aussen.rel_Feuchte', 0);           // %
      createState('0_userdata.0.Taupunkt.Aussen.Feuchtegehalt', 0);         // g/kg  (nicht g/m3 !)
      createState('0_userdata.0.Taupunkt.Aussen.Taupunkt', 0);              // °C
      createState('0_userdata.0.Taupunkt.Aussen.Enthalpie', 0);             // kJ/kg
      // Ordner Toilette/Aussen
      // Offsets
      var toffset = 0.0; // in K zur Korrektur, falls nötig
      var rhoffset = 0;  // in % zur Korrektur, falls nötig
      var tsid = "sonoff.0.BadSensor.BME280_Temperature";		// Sensor Aussen
      var hsid = "sonoff.0.BadSensor.BME280_Humidity";
      var tid = "0_userdata.0.Taupunkt.Aussen.Temperatur";
      var rhid = "0_userdata.0.Taupunkt.Aussen.rel_Feuchte";
      var xid = "0_userdata.0.Taupunkt.Aussen.Feuchtegehalt";
      var dpid = "0_userdata.0.Taupunkt.Aussen.Taupunkt";
      var enth = "0_userdata.0.Taupunkt.Aussen.Enthalpie";
      var t = getState(tsid).val + toffset; // Temperatur, korrigiert in °C
      var rh = getState(hsid).val + rhoffset; // rel. Feuchte, korrigiert in %
      var x;  // Feuchtegehalt in g/kg
      var dp; // Taupunkt in °C
      var  DP = require('dewpoint');
      // 70 m über NN
      var xdp = new DP(36); 
      function calc() {
        var y = xdp.Calc(t, rh);
        x = y.x;
        dp = y.dp;
        setState(xid, x);
        setState(dpid, dp);
      }
      function anzeige() {
       // Enthalpie berechnen
        var h = (1.00545 * t + (2.500827 + 0.00185894 * t) * x).toFixed(1);
        var tanz = t.toFixed(1);
        dp = dp.toFixed(1);
        var rhanz = rh.toFixed(0);
       x = x.toFixed(2);
         setState(tid, t);
        setState(rhid, rh);
        setState(xid, x);
        setState(dpid, dp);
        setState(enth, h);
      }
      function klima() {
       calc();
       anzeige();
      }
      klima(); // Script start
      on(tsid, function (dp) {
        t = dp.state.val + toffset; 
        setState(tid, t);
       klima();
      });
      on(hsid, function (dp) {
        rh = dp.state.val + rhoffset; 
        setState(rhid, rh); 
       klima();
      });
      


      // von paul53 übernommen und angepasst
      // http://forum.iobroker.net/viewtopic.php?f=20&t=2437&hilit=L%C3%BCftung%2A#p21476
      createState('0_userdata.0.Taupunkt.Toilette.Temperatur', 0);            // °C
      createState('0_userdata.0.Taupunkt.Toilette.rel_Feuchte', 0);           // %
      createState('0_userdata.0.Taupunkt.Toilette.Feuchtegehalt', 0);         // g/kg  (nicht g/m3 !)
      createState('0_userdata.0.Taupunkt.Toilette.Taupunkt', 0);              // °C
      createState('0_userdata.0.Taupunkt.Toilette.Enthalpie', 0);             // kJ/kg
      // Ordner Toilette/Toilette
      // Offsets
      var toffset = 0.0; // in K zur Korrektur, falls nötig
      var rhoffset = 0;  // in % zur Korrektur, falls nötig
      var tsid = "sonoff.0.BadSensor.SI7021_Temperature"; // Toilette Temperatur
      var hsid = "sonoff.0.BadSensor.SI7021_Humidity";    // Toilette relative Feuchtigkeit
      var tid = "0_userdata.0.Taupunkt.Toilette.Temperatur";
      var rhid = "0_userdata.0.Taupunkt.Toilette.rel_Feuchte";
      var xid = "0_userdata.0.Taupunkt.Toilette.Feuchtegehalt";
      var dpid = "0_userdata.0.Taupunkt.Toilette.Taupunkt";
      var enth = "0_userdata.0.Taupunkt.Toilette.Enthalpie";
      var t = getState(tsid).val + toffset;           // Temperatur, korrigiert in °C
      var rh = getState(hsid).val + rhoffset;         // rel. Feuchte, korrigiert in %
      var x;  // Feuchtegehalt in g/kg
      var dp; // Taupunkt in °C
      var  DP = require('dewpoint');
      // 275 m über NN (Meter über dem Meeresspiegel)
      var xdp = new DP(275); 
      function calc() {
        var y = xdp.Calc(t, rh);
        x = y.x;
        dp = y.dp;
        setState(xid, x);
        setState(dpid, dp);
      }
      function anzeige() {
       // Enthalpie berechnen
        var h = (1.00545 * t + (2.500827 + 0.00185894 * t) * x).toFixed(1);
        dp = dp.toFixed(1);
        x = x.toFixed(2);
         setState(tid, t);
        setState(rhid, rh);
        setState(xid, x);
        setState(dpid, dp);
        setState(enth, h);
      }
      function klima() {
       calc();
       anzeige();
      }
      klima(); // Script start
      on(tsid, function (dp) {
        t = dp.state.val + toffset; 
        setState(tid, t);
       klima();
      });
      on(hsid, function (dp) {
        rh = dp.state.val + rhoffset; 
        setState(rhid, rh); 
       klima();
      });
      


      // Ordner Toilette/Fenstersteuerung
      createState('0_userdata.0.Taupunkt.Fenstersteuerung.Mindesttemperatur');              // 12   => in Objekte oder vis festlegen
      createState('0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Maximaltemperatur');              // 25
      createState('0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Mindestfeuchte');                  // 55
      createState('0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Maximalfeuchte');                 // 63
      var mintid = getIdByName("0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Mindesttemperatur"); // Holt sich State
      var maxtid = getIdByName("0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Maximaltemperatur");
      var minfid = getIdByName("0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Mindestfeuchte");
      var maxfid = getIdByName("0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Maximalfeuchte");
      var mint = getState(mintid).val;                                // zieht Wert aus State
      var maxt = getState(maxtid).val;
      var minf = getState(minfid).val;
      var maxf = getState(maxfid).val;
      var aktfid = "sonoff.0.BadSensor.SI7021_Humidity";      // Aktuelle Kellerfeuchte relativ
      var akttid = "sonoff.0.BadSensor.SI7021_Temperature";   // Aktuelle Kellertemperatur 
      var levelwa = "hm-rpc.0.MEQ051xxxx.1.LEVEL";        // HM Jalousieaktor Waschraum Level:      0 % = zu; 100 % auf
      var levelsi = "hm-rpc.0.MEQ039xxxx.1.LEVEL";        // HM Jalousieaktor Sicherungsraum Level: 0 % = zu; 100 % auf
      var aktf = getState(aktfid).val;
      var aktt = getState(akttid).val;
      var lueft = getState('Lueften.Lueften').val;        // Lüften möglich? Aus Script Toilette/Lueften
      //var mint = 12;       // Mindesttemperatur in °C für Toilette
      //var maxt = 25;      // Maximaltemperatur in °C für Toilette
      //var minf = 57;       // Schliessfeuchte in % (relativ)
      //var maxf = 63;       // Öffnungsfeuchte in % (relativ)
      // Fenster Waschraum
      function fensterwasch() {
        if (lueft === false || aktt <= mint || aktt >= maxt || aktf <= minf) setState(levelwa, 0); 
        else if (lueft === true && aktf >= maxf) setState(levelwa, 100);
      }
      // Fenster Sicherungsraum
      function fenstersich() {
        if (lueft === false || aktt <= mint || aktt >= maxt || aktf <= minf) setState(levelsi, 0);
        else if (lueft === true && aktf >= maxf) setState(levelsi, 100);
      }
      // Script Start und Auslöser
      fensterwasch();     
      fenstersich();
      on(aktfid, function (dp) {
        aktf = dp.state.val;
       fensterwasch();
       fenstersich();
      });
      on(akttid, function (dp) {
        aktt = dp.state.val;
       fensterwasch();
       fenstersich();
      });
      // Pushovernachricht über einen Fenstersensor
      // on({id: "hm-rpc.0.MEQ028xxxx.1.STATE"/*Fenstersensor Keller Waschraum.STATE*/, val: true, change: "ne"}, function() {     //Bei Änderung auf TRUE
        sendTo("pushover", "Fenster wurden geöffnet");                                                          // Sende Pushover Nachricht
      });
      // on({id: "hm-rpc.0.MEQ028xxxx.1.STATE"/*Fenstersensor Keller Waschraum.STATE*/, val: false, change: "ne"}, function() {
        sendTo("pushover", "Fenster wurden geschlossen");
      });
      


      // Ordner Toilette/Lueften
      // Prüft ob Lüften möglich ist
      // von paul53 übernommen und angepasst
      //http://forum.iobroker.net/viewtopic.php?f=20&t=2437&hilit=L%C3%BCftung%2A&start=20#p21506
      createState('Lueften.Lueften');      
      var tiid = getIdByName("0_userdata.0.Taupunkt.Toilette.Temperatur");
      var taid = getIdByName("0_userdata.0.Taupunkt.Aussen.Temperatur");
      var xiid = getIdByName("0_userdata.0.Taupunkt.Toilette.Feuchtegehalt");
      var xaid = getIdByName("0_userdata.0.Taupunkt.Aussen.Feuchtegehalt");
      var lid  = getIdByName("Lueften.Lueften");
      var ti = getState(tiid).val;  // Raumtemperatur in °C
      var ta = getState(taid).val;  // Aussentemperatur in °C
      var xi = getState(xiid).val;  // Raumfeuchtegehalt in g/kg
      var xa = getState(xaid).val;  // Aussenfeuchtegehalt in g/kg
      // Lüftung steuern mit 0,3 g/kg und 0,5 K Hysterese
      function lueften() {
       if (xa <= (xi - 0.4) && ta <= (ti - 0.6) && ti >= 10.0) setState(lid, true);
       else if (xa >= (xi - 0.1) || ta >= (ti - 0.1) || ti <= 9.5) setState(lid, false);
      
      }
      lueften();  // Script start
      on(xiid, function (dp) {
        xi = dp.state.val;
       lueften();
      });
      on(xaid, function (dp) {
        xa = dp.state.val;
       lueften();
      });
      on(tiid, function (dp) {
        ti = dp.state.val;
       lueften();
      });
      on(taid, function (dp) {
        ta = dp.state.val;
       lueften();
      });
      

      Wobei ich die Fenstersteuerung nicht im Einsatz hatte.

      ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

      ChaotC 1 Antwort Letzte Antwort
      0
      • ChaotC Chaot

        @darkiop Ich habe mir das heute nochmal rausgekramt.
        Aber ich bringe das Script nicht mehr zum laufen.
        Keine Ahnung warum.

        // von paul53 übernommen und angepasst
        // http://forum.iobroker.net/viewtopic.php?f=20&t=2437&hilit=L%C3%BCftung%2A#p21476
        createState('0_userdata.0.Taupunkt.Aussen.Temperatur', 0);            // °C
        createState('0_userdata.0.Taupunkt.Aussen.rel_Feuchte', 0);           // %
        createState('0_userdata.0.Taupunkt.Aussen.Feuchtegehalt', 0);         // g/kg  (nicht g/m3 !)
        createState('0_userdata.0.Taupunkt.Aussen.Taupunkt', 0);              // °C
        createState('0_userdata.0.Taupunkt.Aussen.Enthalpie', 0);             // kJ/kg
        // Ordner Toilette/Aussen
        // Offsets
        var toffset = 0.0; // in K zur Korrektur, falls nötig
        var rhoffset = 0;  // in % zur Korrektur, falls nötig
        var tsid = "sonoff.0.BadSensor.BME280_Temperature";		// Sensor Aussen
        var hsid = "sonoff.0.BadSensor.BME280_Humidity";
        var tid = "0_userdata.0.Taupunkt.Aussen.Temperatur";
        var rhid = "0_userdata.0.Taupunkt.Aussen.rel_Feuchte";
        var xid = "0_userdata.0.Taupunkt.Aussen.Feuchtegehalt";
        var dpid = "0_userdata.0.Taupunkt.Aussen.Taupunkt";
        var enth = "0_userdata.0.Taupunkt.Aussen.Enthalpie";
        var t = getState(tsid).val + toffset; // Temperatur, korrigiert in °C
        var rh = getState(hsid).val + rhoffset; // rel. Feuchte, korrigiert in %
        var x;  // Feuchtegehalt in g/kg
        var dp; // Taupunkt in °C
        var  DP = require('dewpoint');
        // 70 m über NN
        var xdp = new DP(36); 
        function calc() {
          var y = xdp.Calc(t, rh);
          x = y.x;
          dp = y.dp;
          setState(xid, x);
          setState(dpid, dp);
        }
        function anzeige() {
         // Enthalpie berechnen
          var h = (1.00545 * t + (2.500827 + 0.00185894 * t) * x).toFixed(1);
          var tanz = t.toFixed(1);
          dp = dp.toFixed(1);
          var rhanz = rh.toFixed(0);
         x = x.toFixed(2);
           setState(tid, t);
          setState(rhid, rh);
          setState(xid, x);
          setState(dpid, dp);
          setState(enth, h);
        }
        function klima() {
         calc();
         anzeige();
        }
        klima(); // Script start
        on(tsid, function (dp) {
          t = dp.state.val + toffset; 
          setState(tid, t);
         klima();
        });
        on(hsid, function (dp) {
          rh = dp.state.val + rhoffset; 
          setState(rhid, rh); 
         klima();
        });
        


        // von paul53 übernommen und angepasst
        // http://forum.iobroker.net/viewtopic.php?f=20&t=2437&hilit=L%C3%BCftung%2A#p21476
        createState('0_userdata.0.Taupunkt.Toilette.Temperatur', 0);            // °C
        createState('0_userdata.0.Taupunkt.Toilette.rel_Feuchte', 0);           // %
        createState('0_userdata.0.Taupunkt.Toilette.Feuchtegehalt', 0);         // g/kg  (nicht g/m3 !)
        createState('0_userdata.0.Taupunkt.Toilette.Taupunkt', 0);              // °C
        createState('0_userdata.0.Taupunkt.Toilette.Enthalpie', 0);             // kJ/kg
        // Ordner Toilette/Toilette
        // Offsets
        var toffset = 0.0; // in K zur Korrektur, falls nötig
        var rhoffset = 0;  // in % zur Korrektur, falls nötig
        var tsid = "sonoff.0.BadSensor.SI7021_Temperature"; // Toilette Temperatur
        var hsid = "sonoff.0.BadSensor.SI7021_Humidity";    // Toilette relative Feuchtigkeit
        var tid = "0_userdata.0.Taupunkt.Toilette.Temperatur";
        var rhid = "0_userdata.0.Taupunkt.Toilette.rel_Feuchte";
        var xid = "0_userdata.0.Taupunkt.Toilette.Feuchtegehalt";
        var dpid = "0_userdata.0.Taupunkt.Toilette.Taupunkt";
        var enth = "0_userdata.0.Taupunkt.Toilette.Enthalpie";
        var t = getState(tsid).val + toffset;           // Temperatur, korrigiert in °C
        var rh = getState(hsid).val + rhoffset;         // rel. Feuchte, korrigiert in %
        var x;  // Feuchtegehalt in g/kg
        var dp; // Taupunkt in °C
        var  DP = require('dewpoint');
        // 275 m über NN (Meter über dem Meeresspiegel)
        var xdp = new DP(275); 
        function calc() {
          var y = xdp.Calc(t, rh);
          x = y.x;
          dp = y.dp;
          setState(xid, x);
          setState(dpid, dp);
        }
        function anzeige() {
         // Enthalpie berechnen
          var h = (1.00545 * t + (2.500827 + 0.00185894 * t) * x).toFixed(1);
          dp = dp.toFixed(1);
          x = x.toFixed(2);
           setState(tid, t);
          setState(rhid, rh);
          setState(xid, x);
          setState(dpid, dp);
          setState(enth, h);
        }
        function klima() {
         calc();
         anzeige();
        }
        klima(); // Script start
        on(tsid, function (dp) {
          t = dp.state.val + toffset; 
          setState(tid, t);
         klima();
        });
        on(hsid, function (dp) {
          rh = dp.state.val + rhoffset; 
          setState(rhid, rh); 
         klima();
        });
        


        // Ordner Toilette/Fenstersteuerung
        createState('0_userdata.0.Taupunkt.Fenstersteuerung.Mindesttemperatur');              // 12   => in Objekte oder vis festlegen
        createState('0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Maximaltemperatur');              // 25
        createState('0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Mindestfeuchte');                  // 55
        createState('0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Maximalfeuchte');                 // 63
        var mintid = getIdByName("0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Mindesttemperatur"); // Holt sich State
        var maxtid = getIdByName("0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Maximaltemperatur");
        var minfid = getIdByName("0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Mindestfeuchte");
        var maxfid = getIdByName("0_userdata.0.Taupunkt.Fenstersteuerung.Fenstersteuerung.Maximalfeuchte");
        var mint = getState(mintid).val;                                // zieht Wert aus State
        var maxt = getState(maxtid).val;
        var minf = getState(minfid).val;
        var maxf = getState(maxfid).val;
        var aktfid = "sonoff.0.BadSensor.SI7021_Humidity";      // Aktuelle Kellerfeuchte relativ
        var akttid = "sonoff.0.BadSensor.SI7021_Temperature";   // Aktuelle Kellertemperatur 
        var levelwa = "hm-rpc.0.MEQ051xxxx.1.LEVEL";        // HM Jalousieaktor Waschraum Level:      0 % = zu; 100 % auf
        var levelsi = "hm-rpc.0.MEQ039xxxx.1.LEVEL";        // HM Jalousieaktor Sicherungsraum Level: 0 % = zu; 100 % auf
        var aktf = getState(aktfid).val;
        var aktt = getState(akttid).val;
        var lueft = getState('Lueften.Lueften').val;        // Lüften möglich? Aus Script Toilette/Lueften
        //var mint = 12;       // Mindesttemperatur in °C für Toilette
        //var maxt = 25;      // Maximaltemperatur in °C für Toilette
        //var minf = 57;       // Schliessfeuchte in % (relativ)
        //var maxf = 63;       // Öffnungsfeuchte in % (relativ)
        // Fenster Waschraum
        function fensterwasch() {
          if (lueft === false || aktt <= mint || aktt >= maxt || aktf <= minf) setState(levelwa, 0); 
          else if (lueft === true && aktf >= maxf) setState(levelwa, 100);
        }
        // Fenster Sicherungsraum
        function fenstersich() {
          if (lueft === false || aktt <= mint || aktt >= maxt || aktf <= minf) setState(levelsi, 0);
          else if (lueft === true && aktf >= maxf) setState(levelsi, 100);
        }
        // Script Start und Auslöser
        fensterwasch();     
        fenstersich();
        on(aktfid, function (dp) {
          aktf = dp.state.val;
         fensterwasch();
         fenstersich();
        });
        on(akttid, function (dp) {
          aktt = dp.state.val;
         fensterwasch();
         fenstersich();
        });
        // Pushovernachricht über einen Fenstersensor
        // on({id: "hm-rpc.0.MEQ028xxxx.1.STATE"/*Fenstersensor Keller Waschraum.STATE*/, val: true, change: "ne"}, function() {     //Bei Änderung auf TRUE
          sendTo("pushover", "Fenster wurden geöffnet");                                                          // Sende Pushover Nachricht
        });
        // on({id: "hm-rpc.0.MEQ028xxxx.1.STATE"/*Fenstersensor Keller Waschraum.STATE*/, val: false, change: "ne"}, function() {
          sendTo("pushover", "Fenster wurden geschlossen");
        });
        


        // Ordner Toilette/Lueften
        // Prüft ob Lüften möglich ist
        // von paul53 übernommen und angepasst
        //http://forum.iobroker.net/viewtopic.php?f=20&t=2437&hilit=L%C3%BCftung%2A&start=20#p21506
        createState('Lueften.Lueften');      
        var tiid = getIdByName("0_userdata.0.Taupunkt.Toilette.Temperatur");
        var taid = getIdByName("0_userdata.0.Taupunkt.Aussen.Temperatur");
        var xiid = getIdByName("0_userdata.0.Taupunkt.Toilette.Feuchtegehalt");
        var xaid = getIdByName("0_userdata.0.Taupunkt.Aussen.Feuchtegehalt");
        var lid  = getIdByName("Lueften.Lueften");
        var ti = getState(tiid).val;  // Raumtemperatur in °C
        var ta = getState(taid).val;  // Aussentemperatur in °C
        var xi = getState(xiid).val;  // Raumfeuchtegehalt in g/kg
        var xa = getState(xaid).val;  // Aussenfeuchtegehalt in g/kg
        // Lüftung steuern mit 0,3 g/kg und 0,5 K Hysterese
        function lueften() {
         if (xa <= (xi - 0.4) && ta <= (ti - 0.6) && ti >= 10.0) setState(lid, true);
         else if (xa >= (xi - 0.1) || ta >= (ti - 0.1) || ti <= 9.5) setState(lid, false);
        
        }
        lueften();  // Script start
        on(xiid, function (dp) {
          xi = dp.state.val;
         lueften();
        });
        on(xaid, function (dp) {
          xa = dp.state.val;
         lueften();
        });
        on(tiid, function (dp) {
          ti = dp.state.val;
         lueften();
        });
        on(taid, function (dp) {
          ta = dp.state.val;
         lueften();
        });
        

        Wobei ich die Fenstersteuerung nicht im Einsatz hatte.

        ChaotC Offline
        ChaotC Offline
        Chaot
        schrieb am zuletzt editiert von
        #18

        @Chaot Ok,
        habe den letzten Fehler gefunden.
        War im Script "Lueften" versteckt.

        // Ordner Toilette/Lueften
        // Prüft ob Lüften möglich ist
        // von paul53 übernommen und angepasst
        //http://forum.iobroker.net/viewtopic.php?f=20&t=2437&hilit=L%C3%BCftung%2A&start=20#p21506
        createState('0_userdata.0.Taupunkt.Lueften.Lueften');      
        var tiid = getIdByName("0_userdata.0.Taupunkt.Toilette.Temperatur");
        var taid = getIdByName("0_userdata.0.Taupunkt.Aussen.Temperatur");
        var xiid = getIdByName("0_userdata.0.Taupunkt.Toilette.Feuchtegehalt");
        var xaid = getIdByName("0_userdata.0.Taupunkt.Aussen.Feuchtegehalt");
        var lid  = getIdByName("0_userdata.0.Taupunkt.Lueften.Lueften");
        var ti = getState(tiid).val;  // Raumtemperatur in °C
        var ta = getState(taid).val;  // Aussentemperatur in °C
        var xi = getState(xiid).val;  // Raumfeuchtegehalt in g/kg
        var xa = getState(xaid).val;  // Aussenfeuchtegehalt in g/kg
        // Lüftung steuern mit 0,3 g/kg und 0,5 K Hysterese
        function lueften() {
         if (xa <= (xi - 0.4) && ta <= (ti - 0.6) && ti >= 10.0) setState(lid, true);
         else if (xa >= (xi - 0.1) || ta >= (ti - 0.1) || ti <= 9.5) setState(lid, false);
        
        }
        lueften();  // Script start
        on(xiid, function (dp) {
          xi = dp.state.val;
         lueften();
        });
        on(xaid, function (dp) {
          xa = dp.state.val;
         lueften();
        });
        on(tiid, function (dp) {
          ti = dp.state.val;
         lueften();
        });
        on(taid, function (dp) {
          ta = dp.state.val;
         lueften();
        });
        

        ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

        paul53P 1 Antwort Letzte Antwort
        0
        • ChaotC Chaot

          @Chaot Ok,
          habe den letzten Fehler gefunden.
          War im Script "Lueften" versteckt.

          // Ordner Toilette/Lueften
          // Prüft ob Lüften möglich ist
          // von paul53 übernommen und angepasst
          //http://forum.iobroker.net/viewtopic.php?f=20&t=2437&hilit=L%C3%BCftung%2A&start=20#p21506
          createState('0_userdata.0.Taupunkt.Lueften.Lueften');      
          var tiid = getIdByName("0_userdata.0.Taupunkt.Toilette.Temperatur");
          var taid = getIdByName("0_userdata.0.Taupunkt.Aussen.Temperatur");
          var xiid = getIdByName("0_userdata.0.Taupunkt.Toilette.Feuchtegehalt");
          var xaid = getIdByName("0_userdata.0.Taupunkt.Aussen.Feuchtegehalt");
          var lid  = getIdByName("0_userdata.0.Taupunkt.Lueften.Lueften");
          var ti = getState(tiid).val;  // Raumtemperatur in °C
          var ta = getState(taid).val;  // Aussentemperatur in °C
          var xi = getState(xiid).val;  // Raumfeuchtegehalt in g/kg
          var xa = getState(xaid).val;  // Aussenfeuchtegehalt in g/kg
          // Lüftung steuern mit 0,3 g/kg und 0,5 K Hysterese
          function lueften() {
           if (xa <= (xi - 0.4) && ta <= (ti - 0.6) && ti >= 10.0) setState(lid, true);
           else if (xa >= (xi - 0.1) || ta >= (ti - 0.1) || ti <= 9.5) setState(lid, false);
          
          }
          lueften();  // Script start
          on(xiid, function (dp) {
            xi = dp.state.val;
           lueften();
          });
          on(xaid, function (dp) {
            xa = dp.state.val;
           lueften();
          });
          on(tiid, function (dp) {
            ti = dp.state.val;
           lueften();
          });
          on(taid, function (dp) {
            ta = dp.state.val;
           lueften();
          });
          

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #19

          @Chaot
          Wenn direkt die ID angegeben wird, darf nicht die Funktion getIdByName() verwendet werden.
          Mit createState() kann kein Datenpunkt unter 0_userdata.0 erzeugt werden.

          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

          ChaotC 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @Chaot
            Wenn direkt die ID angegeben wird, darf nicht die Funktion getIdByName() verwendet werden.
            Mit createState() kann kein Datenpunkt unter 0_userdata.0 erzeugt werden.

            ChaotC Offline
            ChaotC Offline
            Chaot
            schrieb am zuletzt editiert von
            #20

            @paul53 Das habe ich mir schon fast gedacht.
            Ok, die Datenpunkte habe ich per Hand angelegt, weil ich schnell mal testen wollte ob der Rest vom Script fehlerfrei läuft.
            So wie es scheint scheint abber alles zu funktionieren.
            Ich hatte das damals nur als Lüftungsempfehlung im Einsatz und wollte dann noch einen automatischen Lüfter drüber steuern.
            Aber das habe ich dann wieder verworfen (warum weiß ich nicht mehr).
            Aktuell denke ich das ich das aber wieder in Angriff nehmen werde.

            ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

            1 Antwort Letzte Antwort
            0
            • K klaus88

              @coffee-junk : Erstmal Danke für die wirklich tolle Erklärung, aber eher eine allgemeine Frage an dich: Welchen Luftenetfeuchter verwendest du, denn ich bekomme keinen, den ich per (z.B. WLAN Steckdose oder HomematicIP) aus und einschalten kann. Jeder Entfeuchter braucht prinzipiell Strom, aber muss dann extra noch am Bedienfeld "speziell" eingestellt werden, damit er auch dann läuft. Kannst du mir hier einen Tipp geben, bzw. kann mir wer vom Forum einen Tipp geben? Danke Klaus

              W Offline
              W Offline
              Walkinlarge2010
              schrieb am zuletzt editiert von
              #21

              @klaus88 said in Die Sache mir der Luftfeuchtigkeit, dem Taupunkt und der Schimmelgefahr:

              @coffee-junk : Erstmal Danke für die wirklich tolle Erklärung, aber eher eine allgemeine Frage an dich: Welchen Luftenetfeuchter verwendest du, denn ich bekomme keinen, den ich per (z.B. WLAN Steckdose oder HomematicIP) aus und einschalten kann. Jeder Entfeuchter braucht prinzipiell Strom, aber muss dann extra noch am Bedienfeld "speziell" eingestellt werden, damit er auch dann läuft. Kannst du mir hier einen Tipp geben, bzw. kann mir wer vom Forum einen Tipp geben? Danke Klaus

              Den habe ich genommen: Comfee MDDF-16DEN3 Luftentfeuchter, Bautrockner, 16L in 24h, Raumgröße ca. 80m³ https://www.amazon.de/dp/B01A6SV4ZA/ref=cm_sw_r_cp_tai_p78bEbQ3BKYJ0

              Wird bei mir mit einer Steckdose geschalten und kann so aktiviert werden, da er einen always on modus hat :)

              K 1 Antwort Letzte Antwort
              1
              • W Walkinlarge2010

                @klaus88 said in Die Sache mir der Luftfeuchtigkeit, dem Taupunkt und der Schimmelgefahr:

                @coffee-junk : Erstmal Danke für die wirklich tolle Erklärung, aber eher eine allgemeine Frage an dich: Welchen Luftenetfeuchter verwendest du, denn ich bekomme keinen, den ich per (z.B. WLAN Steckdose oder HomematicIP) aus und einschalten kann. Jeder Entfeuchter braucht prinzipiell Strom, aber muss dann extra noch am Bedienfeld "speziell" eingestellt werden, damit er auch dann läuft. Kannst du mir hier einen Tipp geben, bzw. kann mir wer vom Forum einen Tipp geben? Danke Klaus

                Den habe ich genommen: Comfee MDDF-16DEN3 Luftentfeuchter, Bautrockner, 16L in 24h, Raumgröße ca. 80m³ https://www.amazon.de/dp/B01A6SV4ZA/ref=cm_sw_r_cp_tai_p78bEbQ3BKYJ0

                Wird bei mir mit einer Steckdose geschalten und kann so aktiviert werden, da er einen always on modus hat :)

                K Offline
                K Offline
                klaus88
                schrieb am zuletzt editiert von
                #22

                @Walkinlarge2010 DANKE und schon bestellt :+1:

                siggi85S 1 Antwort Letzte Antwort
                0
                • K klaus88

                  @Walkinlarge2010 DANKE und schon bestellt :+1:

                  siggi85S Offline
                  siggi85S Offline
                  siggi85
                  schrieb am zuletzt editiert von
                  #23

                  Ist nun schon jemand an einem Adapter dran um diese Berechnungen komfortabel über eine Instanz zu erstellen. :)

                  W 1 Antwort Letzte Antwort
                  4
                  • siggi85S siggi85

                    Ist nun schon jemand an einem Adapter dran um diese Berechnungen komfortabel über eine Instanz zu erstellen. :)

                    W Offline
                    W Offline
                    William4008
                    schrieb am zuletzt editiert von
                    #24

                    @siggi85 said in Die Sache mir der Luftfeuchtigkeit, dem Taupunkt und der Schimmelgefahr:

                    Ist nun schon jemand an einem Adapter dran um diese Berechnungen komfortabel über eine Instanz zu erstellen. :)

                    Hätte ebenfalls Interesse an dem Adapter :)

                    EnduranceE 1 Antwort Letzte Antwort
                    0
                    • W William4008

                      @siggi85 said in Die Sache mir der Luftfeuchtigkeit, dem Taupunkt und der Schimmelgefahr:

                      Ist nun schon jemand an einem Adapter dran um diese Berechnungen komfortabel über eine Instanz zu erstellen. :)

                      Hätte ebenfalls Interesse an dem Adapter :)

                      EnduranceE Offline
                      EnduranceE Offline
                      Endurance
                      schrieb am zuletzt editiert von
                      #25

                      @william4008

                      Gute Frage, hätte auch interesse....

                      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

                      782

                      Online

                      32.5k

                      Benutzer

                      81.8k

                      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