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
    481

  • 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.
  • PowerPanP PowerPan

    @coffee-junk

    Hi ich würde davon gerne einen Adapter bauen und allen einfach bereitstellen ;)

    Was machen die ganzen ! Im Code ?

    Kannst du mir den Code anständig formatiert zukommen lassen ?

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

    @PowerPan An einem Adapter wäre ich auch sehr interessiert.

    @darkiop Ich hatte das andere Script mal eine Zit lang im Einsatz. Aber nach der Systemumstellung auf den NUC habe ich das wohl wieder vergessen. Das werde ich mal wieder aktivieren bzw. dann einen Adapter nutzen wenn der gemacht würde.

    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.

    D 1 Antwort Letzte Antwort
    0
    • ChaotC Chaot

      @PowerPan An einem Adapter wäre ich auch sehr interessiert.

      @darkiop Ich hatte das andere Script mal eine Zit lang im Einsatz. Aber nach der Systemumstellung auf den NUC habe ich das wohl wieder vergessen. Das werde ich mal wieder aktivieren bzw. dann einen Adapter nutzen wenn der gemacht würde.

      D Offline
      D Offline
      darkiop
      Most Active
      schrieb am zuletzt editiert von
      #15

      @Chaot Würdest du deine Version mal posten?

      Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

      ChaotC 2 Antworten Letzte Antwort
      0
      • 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

                          319

                          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