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. Skripten / Logik
  4. JavaScript
  5. [Skript] Absolute Feuchte berechnen

NEWS

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

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

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

[Skript] Absolute Feuchte berechnen

Geplant Angeheftet Gesperrt Verschoben JavaScript
740 Beiträge 96 Kommentatoren 224.3k Aufrufe 81 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.
  • HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #318

    @eric2905:

    hast Du tatsächlich nur eine rel. Luftfeuchte von 20%? `
    YEPP, selbst mit automatischer Befeuchtung.

    Aber wie du anscheinend richtig gerechnet hast ist der Wassergehalt dann etwa 35g/kg, und IIRC lag der Taupunkt bei ca. 36°C. Das ist schon gewaltig Wasser.

    @eric2905:

    Sind die Einheiten gleich? Es gibt Berechnungen mit g/m3 und g/kg. `
    das habt ihr aber erst später eingefügt. Ich hatte damals alles auf g/kg und die JSON-Tabelle zeigt auch im Header g/kg an.
    144_saunakabine.png
    Im Moment ist da kaum ein Unterschied.

    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
      #319

      @Homoran:

      Was mich wundert ist nur die doch deutliche Abweichung zu dem Skript das ich auf der CCU (ebenfalls nach @paul53) erstellt habe und dem was hier herauskommt.
      Wenn ich es noch richtig im Kopf habe kommt bei der CCU etwa 27g/kg heraus, während mit diesem Skript dann 37g/kg angegeben wird.
      Die Daten für rel. Feuchte und Temperatur sind jeweils identisch (20%; 65-70°C)

      Verwendest Du auf der CCU das https://homematic-forum.de/forum/viewtopic.php?f=43&t=9835&p=71400&hilit=Feuchte#p71326, das nur bis 34 °C richtige Werte liefert ?

      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
        #320

        Hallo Paul,
        @paul53:

        Verwendest Du auf der CCU das Skript mit der Näherungsformel, das nur bis 34 °C richtige Werte liefert ? `
        Das würde eine Abweichung erklären.

        Ehrlich ich weiß es nicht, ist zu lange her und ich bin doch Skript-Legastheniker:

        ! ````
        ! Lokale Variablen
        real t; ! Temperatur in °C
        integer rf; ! relative Feuchte in %
        real af; ! absolute feuchte in g/kg
        ! ! Werte einlesen
        t = dom.GetObject("BidCos-RF.JEQ0064523:1.TEMPERATURE").Value();
        rf = dom.GetObject("BidCos-RF.JEQ0064523:1.HUMIDITY").Value();
        !rf = (0.95 * rf);
        ! ! Berechnung
        if (t < 0.0) {t = 0.0;}
        if (t < 10.0)
        { af = (3.78 + (0.285 * t) + (0.0052 * t * t) + (0.0005 * t * t * t));
        }
        else
        { af = (7.62 + (0.524 * (t-10.0)) + (0.0131 * (t-10.0) * (t-10.0)) + (0.00048 * (t-10.0) * (t-10.0) * (t-10.0)));
        }

        af = (af * rf) / (100.0 + af * (100.0 - rf) / 622);

        ! !In Systemvariable schreiben
        dom.GetObject("Abs_Feuchte_Bad").State(af);

        
        Aber:
        ~~@paul53:~~ 
        
        > in guter Näherung. Oberhalb von 34°C beträgt die Abweichung mehr als 0,1 g/kg. `  
        10 sind auch mehr als 0,1 :mrgreen:
        
        Danke für den Hinweis.
        
        ich nehme an, dass das an den limitierten Fähigkeiten der CCU-Skripte liegt, dass sie komplexere Rechenformeln nicht umsetzen können.
        
        Dann muss ich doch mal alles umbauen :(
        
        ich habe eh noch so viele Pläne (und so wenig Zeit)
        
        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
        • lobomauL Offline
          lobomauL Offline
          lobomau
          schrieb am zuletzt editiert von
          #321

          @Homoran:

          Hallo zusammen.

          Ich habe jetzt einen TH-O in der Sauna montiert. Dort kommt es natürlich zu erheblichem Wassergehalt.

          Was mich wundert ist nur die doch deutliche Abweichung zu dem Skript das ich auf der CCU (ebenfalls nach @paul53) erstellt habe und dem was hier herauskommt.

          Wenn ich es noch richtig im Kopf habe kommt bei der CCU etwa 27g/kg heraus, während mit diesem Skript dann 37g/kg angegeben wird.

          Die Daten für rel. Feuchte und Temperatur sind jeweils identisch (20%; 65-70°C)

          Was ist jetzt richtig?

          Gruß

          Rainer `
          Die 37g/kg kommen der Realität ziemlich nahe. Siehe dazu folgendes h1+x-Diagramm (leider nur bis 35g/kg):

          http://www.itt.kit.edu/downloads/h1x_Di … eitert.pdf

          Host: NUC8i3 mit Proxmox:

          • ioBroker CT Debian 13, npm 10.9.3, nodejs 22.20.0
          • Slave: Pi4
          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #322

            @Homoran:

            ich nehme an, dass das an den limitierten Fähigkeiten der CCU-Skripte liegt, dass sie komplexere Rechenformeln nicht umsetzen können.

            Ja, daran liegt es.

            @Homoran:

            Dann muss ich doch mal alles umbauen

            Das Skript hatte ich schon vor längerer Zeit durch die Berechnung des CUxD Thermostat Device ersetzt. Man kann ja die Umstellung auf die Sauna beschränken, da das wohl der einzige Raum mit Temperaturen über 34 °C ist; evtl. noch die Außenfeuchte.

            EDIT: Oder Du deaktivierst die Skripte in der CCU und beschreibst die Systemvariablen durch ioBroker.

            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
              #323

              Danke für alle Tipps!
              @paul53:

              Oder Du deaktivierst die Skripte in der CCU und beschreibst die Systemvariablen durch ioBroker. `
              Das war der Plan!

              und entsprechend alle OIDs in vis ändern.

              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
              • HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #324

                Hier nur mal kurz zur Vollständigkeit der aktuelle Screenshot:
                144_saunakabine02.jpg

                Damit man weiß wovon ich rede.

                Noch nichts angepasst.

                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
                • T Offline
                  T Offline
                  tesso
                  schrieb am zuletzt editiert von
                  #325

                  Hallo,

                  ich habe eben das Skript aus dem ersten Beitrag genommen und meine Datenpunkte angepasst.

                  Leider erhalte ich ständig Meldungen der Art:````
                  14:10:20.306 [error] javascript.1 script.js.Luftfeuchte.Lueften: Cannot use sync getState, use callback instead getState("hm-rpc.0.LEQ0594610.1.TEMPERATURE", function (err, state){});
                  14:10:22.809 [error] javascript.1 script.js.Luftfeuchte.Lueften: Cannot use sync getState, use callback instead getState("Raumklima.Raum.Aussen.Feuchtegehalt_Absolut", function (err, state){});

                  
                  Ich habe zu wenig Ahnung, um zu verstehen was ich dagegen tun kann.
                  1 Antwort Letzte Antwort
                  0
                  • T Offline
                    T Offline
                    tempestas
                    schrieb am zuletzt editiert von
                    #326

                    Guten morgen zusammen,

                    danke an alle Beteiligten für das tolle Skript. Ich bewundere immer wieder, was so einige hier können. Es gibt viel viel zu lernen :idea:

                    Da ich (zufällig) gesehen habe, dass die v.0.6.4 hier im Thread verfügbar ist möchte ich anregen, diese auch vorne im ersten Posting anzupinnen, denn dort steht noch die 0.5.2 als aktueller Stand.

                    Ich habe bei mir (sicherlich etwas grobschlächtig in der Umsetzung) noch eingebaut, dass die Lüftungsempfehlung nicht nur in Abhängigkeit der absoluten Feuchtigkeit stattfindet sondern in Abhängigkeit der relativen Feuchtigkeit (innen je nach Raum), sofern denn überhaupt gelüftet werden sollte bzw kann, eine Empfehlung zum Lüften in unterschiedlichen Dringlichkeiten dargestellt wird;

                    d.h.

                    <40% = grau, es kann gelüftet werden aber ggf Luft unangenehm trocken

                    40-60% = grün, es kann gelüftet werden

                    60 <70 = orange, es sollte gelüftet werden

                    70 = rot, es muss gelüftet werden (Schimmelgefahr).

                    Zwei Fragen habe ich:

                    1. ich nutze Homematic IP Thermostaten / Feuchtigkeitsmesser. Diese zeigen mir quer durch alle Räume immer ca 5% MEHR rH an, als meine alten TFA Dostmann Dinger.

                    Im Skript steht ja auch, man solle die Offsets kalibrieren - aber wie? Wie finde ich denn raus, was "echt" ist, um die Kalibrierung vorzunehmen? Habt ihr alle irgendwelche Profigeräte zu Hause, mit denen ihr messt?

                    1. Zum Code des Skript wäre ich dankbar, wenn mich jemand zu diesem Abschnitt erleuchten könnte:
                        // Klimadaten in allen Räumen berechnen 									##### VERSTANDEN
                        function calcAll() {
                            for (var raum in raeume) {
                                calcDelayed(raum,delayRooms);       // Räume verzögert nacheinander abarbeiten
                            }
                        }																				
                    
                        // finde anhand der Sensor ID einen zugeordneten Raum							##### BITTE ERKLÄREN. WIE KANN ICH DIES z.B: IN ANDEREN SKRIPTEN NUTZEN?
                        function findRoom(sensor) {
                            for (var raum in raeume) {
                                if (raeume[raum].Sensor_TEMP == sensor) return raum;						###### IST "sensor" beliebig ersetzbar? 
                                if (raeume[raum].Sensor_HUM == sensor) return raum;
                            }
                            return null;
                        }
                    
                        // Änderung eines Sensors (Temperatur oder Luftfeuchtigkeit)						####### GREIFT AUF FINDROOM ZU, VERSTANDEN
                        function valChange(obj) {
                            var raumname = findRoom(obj.id);
                            if (raumname) {
                                if (debug) log('**Änderung:' + raumname + ": " + obj.id + ": " + obj.state.val + '**');
                                calcDelayed(raumname,delayRooms);
                            }
                    
                    

                    <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                    1 Antwort Letzte Antwort
                    0
                    • HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #327

                      @tempestas:

                      Wie finde ich denn raus, was "echt" ist, um die Kalibrierung vorzunehmen? `
                      Am einfachsten siehst du es demokratisch und nimmst die Werte der Mehrheit, zumal du ja nur vergleichen willst.

                      Am ehesten den wahren Wert erfährst du indem du dir ein Haarhygrometer besorgst und es entsprechend kalbrierst (Feuchte Kammer)

                      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
                      • T Offline
                        T Offline
                        tempestas
                        schrieb am zuletzt editiert von
                        #328

                        Hallo Rainer,

                        danke. Es ist wirklich so, dass meine alten Sensoren grundsätzlich immer 5% weniger rH anzeigen.

                        Ich tendiere dazu, einfach die HmIP Werte zu glauben, schon aus Vorsichtsgründen (lieber einmal mehr lüften, gerade im Neubau…)

                        Kannst du mir bei meiner Code Frage auch weiterhelfen?

                        <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                        1 Antwort Letzte Antwort
                        0
                        • eric2905E Offline
                          eric2905E Offline
                          eric2905
                          schrieb am zuletzt editiert von
                          #329

                          Moin,

                          was genau möchtest Du denn zu dem Codesegment wissen?

                          Bzgl. der Version im ersten Posting schaue ich mal nach, wenn ich wieder zu Hause bin (morgen Abend).

                          Gleiches gilt für den Offset.

                          Gruß,

                          Eric

                          Von unterwegs getippert

                          Roses are red, violets are blue,

                          if I listen to metal, my neighbours do too

                          1 Antwort Letzte Antwort
                          0
                          • T Offline
                            T Offline
                            tempestas
                            schrieb am zuletzt editiert von
                            #330

                            Hallo eric,

                            danke für deine Rückmeldung.

                            Ich hatte probiert, basierend auf dem Feuchtigkeitsscrip ein anderes Skript für Temperaturen zu bauen. Das man das ggf. alles in eins verarbeiten kann ist klar, aber ich lagere Dinge immer gerne erstmal aus, um zu lernen.

                            ! ````
                            ! // **************************************************************************************************
                            // SKRIPT ZUM AUSWERTEN DER IST-TEMPERATUREN UND SOLL TEMPERATUREN
                            // SCHREIBT WERTE IN ERZEUGTE DATENPUNKTE; DIESE KÖNNEN DANN IN ANDEREN SKRIPTEN GENUTZT WERDEN
                            // zusammengeschustert basierend auf dem Feuchtigkeitsskript von Solear, Paul53, ruhr70, eric2905
                            // **************************************************************************************************
                            ! // ***********************************************************************
                            // Einstellungen
                            // ***********************************************************************
                            var debug = true; // Loggin mit true ein- bzw mit false ausschalten
                            // ***********************************************************************
                            // Parameter Variablen
                            // ***********************************************************************
                            var defaultMinTemp = 18.00; // Default TEMP_Minimum, wenn im Raum nicht angegeben (Auskühlschutz, tiefer soll eine Raumtemperatur durchs lüften nicht sinken)
                            var pfad = "Raumklima.Temperatur.Raum.";
                            var delayRooms = 500; // Zeit in MS Verzögerung zwischen Berechnungen der Räume
                            ! // ***********************************************************************
                            // Räume anlegen (Räume werden in Array geschrieben und dann für createState genutzt)
                            // ***********************************************************************
                            var raeume = { // Keine Leerzeichen (Name wird als Datenpunktname verwendet!)

                                // Erdgeschoss
                            
                                "FlurEG" : {
                                    "Temp_Ist"              :   "hm-rpc.1.000E57098F208F.1.ACTUAL_TEMPERATURE"/*HmIP Temperatur und Feuchtigkeitsmesser Flur HWR:1.ACTUAL_TEMPERATURE*/,
                                    "Temp_Soll"             :   "hm-rpc.1.000E57098F208F.1.SET_POINT_TEMPERATURE"/*HmIP Temperatur und Feuchtigkeitsmesser Flur HWR:1.SET_POINT_TEMPERATURE*/,
                                    "TEMP_Minimum"          :   defaultMinTemp, // oder Zieltemperatur in Form von: 20.00 angeben
                                },
                                "Wohnzimmer" : {
                                    "Temp_Ist"              :   "hm-rpc.1.000E57098F207E.1.ACTUAL_TEMPERATURE"/*HmIP Temperatur und Feuchtigkeitsmesser Wohn Ess:1.ACTUAL_TEMPERATURE*/,
                                    "Temp_Soll"             :   "hm-rpc.1.000E57098F207E.1.SET_POINT_TEMPERATURE"/*HmIP Temperatur und Feuchtigkeitsmesser Wohn Ess:1.SET_POINT_TEMPERATURE*/,
                                    "TEMP_Minimum"          :   defaultMinTemp, // oder Zieltemperatur in Form von: 20.00 angeben
                                },   
                                "Gaestebad" : {
                                    "Temp_Ist"              :   "hm-rpc.0.NEQ1640752.4.ACTUAL_TEMPERATURE"/*Gaestebad Thermostat:4.ACTUAL_TEMPERATURE*/,
                                    "Temp_Soll"             :   "hm-rpc.0.NEQ1640752.4.SET_TEMPERATURE"/*Gaestebad Thermostat:4.SET_TEMPERATURE*/,
                                    "TEMP_Minimum"          :   defaultMinTemp, // oder Zieltemperatur in Form von: 20.00 angeben
                                },   
                            
                                // Obergeschoss
                            
                                "Schlafzimmer" : {
                                    "Temp_Ist"              :   "hm-rpc.1.000E57098F20A8.1.ACTUAL_TEMPERATURE",
                                    "Temp_Soll"             :   "hm-rpc.1.000E57098F20A8.1.SET_POINT_TEMPERATURE"/*HmIP Temperatur und Feuchtigkeitsmesser Schlafzimmer:1.SET_POINT_TEMPERATURE*/,
                                    "TEMP_Minimum"          :   defaultMinTemp, // oder Zieltemperatur in Form von: 20.00 angeben
                                },
                                "BadOG" : {
                                    "Temp_Ist"              :   "hm-rpc.1.000393C99A1CDE.1.ACTUAL_TEMPERATURE"/*Badezimmer oben Thermostat Handtuchhalter:1.ACTUAL_TEMPERATURE*/,
                                    "Temp_Soll"             :   "hm-rpc.1.000393C99A1CDE.1.SET_POINT_TEMPERATURE"/*Badezimmer oben Thermostat Handtuchhalter:1.SET_POINT_TEMPERATURE*/,
                                    "TEMP_Minimum"          :   defaultMinTemp, // oder Zieltemperatur in Form von: 20.00 angeben
                                },
                            };
                            

                            ! // ***********************************************************************
                            // Raumvariablen --> werden als Unterpunkte in die createState geschrieben
                            // ***********************************************************************
                            ! var raumDatenpunkte = {
                            "tempSoll" : {
                            "DpName" : "Soll_Temperatur",
                            "init": 0,
                            "dp": {
                            "name": 'Soll Temperatur',
                            "desc": 'manuell eingestellt oder via HM',
                            "type": 'number',
                            "role": 'value',
                            "unit": '°C'
                            }
                            },

                                "tempIst" : {
                                    "DpName" : "Ist_Temperatur",
                                    "init": 0,
                                    "dp": {
                                        "name": 'Aktuelle Temperatur',
                                        "desc": 'fakt',
                                        "type": 'number',
                                        "role": 'value',
                                        "unit": '°C'
                                    }
                                }
                            

                            };
                            // ***********************************************************************
                            // Funktionen
                            // ***********************************************************************

                            // finde anhand der Sensor ID einen zugeordneten Raum <<<<<<<<<<<<<<<<<< HIER DENKE ICH LIEGT MEIN FEHLER!!
                            function findRoom(sensor) {
                            for (var raum in raeume) {
                            if (raeume[raum].Temp_Ist == sensor) return raum;
                            if (raeume[raum].Temp_Soll == sensor) return raum;
                            }
                            return null;
                            }
                            // Änderung eines Sensors (Temperatur ISt oder Soll) <<<<<<<<<<<<<<<<< oder hier, aber diese benötigt ja die Function findRoom, d.h. wahrscheinlich dort mein Fehler
                            function valChange(obj) {
                            var raumname = findRoom(obj.id);
                            if (raumname) {
                            if(debug) log('Änderung:' + raumname + ": " + obj.id + ": " + obj.state.val + '');
                            calcDelayed(raumname, delayRooms);
                            }
                            }
                            // Berechnung verzögern, damit die Räume nacheinander abgearbeitet werden
                            function calcDelayed(raum, delay) {
                            setTimeout(function () {
                            calc(raum);
                            }, delay || 0);
                            }

                            // Berechnung
                            function calc(raum) {
                            var ist = getState(raeume[raum].Temp_Ist).val; // Temperatur IST auslesen
                            var soll = getState(raeume[raum].Temp_Soll).val; // Temperatur SOLL auslesen

                                if(debug) log("Temperatur IST in "+raum +" beträgt "+ist);
                                if(debug) log("Temperatur Soll in "+raum +" beträgt "+soll);        
                            
                                var idSoll  = pfad + raum + "."+raumDatenpunkte['tempSoll'].DpName;   // Pfad für nachfolgendes setState zusammenbauen
                                var idIst   = pfad + raum + "."+raumDatenpunkte['tempIst'].DpName;
                            
                                setState(idSoll, soll);
                                setState(idIst, ist);
                            

                            }

                            // Berechnung
                            function calcAll() {
                            for (var raum in raeume) {
                            calcDelayed(raum,delayRooms); // Räume verzögert nacheinander abarbeiten
                            }
                            }

                            // Anlegen der Datenpunkte --> legt Datenpunkte an mit Raum(name) und den Sub-Dps
                            function createDp() {
                            var name;
                            var init;
                            var forceCreation;
                            var common;
                            for (var raum in raeume) {
                            for (var datenpunktID in raumDatenpunkte) {
                            name = pfad + raum + "." + raumDatenpunkte[datenpunktID].DpName;
                            init = raumDatenpunkte[datenpunktID].init;
                            forceCreation = false; // Init der Datenpunkte wird nur beim ersten Star angelegt. Danach bleiben die Wert auch nach Skritpstart enthalten.
                            common = raumDatenpunkte[datenpunktID].dp;
                            createState(name, init , forceCreation, common);
                            if(debug) log("neuer Datenpunkt: " + name);
                            }
                            }
                            }

                            ! // START
                            createDp(); // Datenpunkte anlegen
                            setTimeout(calcAll, 3000); // Zum Skriptstart ausführen
                            ! ````

                            Leider funktioniert das nicht, es wird nicht auf Änderungen der IST oder Soll Temperatur reagiert. Diese sollten ja eigentlich als Auslöser dienen.

                            D.h. irgendwie muss ich einen (Verständnis-)fehler in den Funktionen findRoom oder valChange (welche ja findRoom nutzt) haben; aber diesen finde ich nicht.

                            Mein Problem besteht sicherlich auch darin, dass ich in Sachen Javascript trotz mehrfachem Lesens des "Eloquent JS" Buchs (bzw Teilen davon), die Funktionen wohl noch nicht zu 100% durchsteige.

                            z.B. oben im "findRoom" steht == sensor <– was ist das "sensor" hier?

                            Danke für deine Hilfe, ich will das unbedingt verstehen! :)

                            <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                            1 Antwort Letzte Antwort
                            0
                            • G Offline
                              G Offline
                              galferiz
                              schrieb am zuletzt editiert von
                              #331

                              Moin Leute,

                              Ich hab Eurer Skript mal bei mir eingesetzt und wunder mich etwas was die Lüftungsempfehlung angeht.

                              Hab die Daten die letzten Tage beobachtet und hab seid gut einer Woche eine dauerhafte Lüftungsempfehlung.

                              alle Datenpunkt werden gelistet und die Min/Maxwerte hab ich eingestellt.

                              Wann emfiehlt er denn nicht zu lüften ??? Irgendwas passt doch da nicht. :D

                              Grüße

                              Thomas

                              Nach Weihnachten ist vor Weihnachten

                              1 Antwort Letzte Antwort
                              0
                              • eric2905E Offline
                                eric2905E Offline
                                eric2905
                                schrieb am zuletzt editiert von
                                #332

                                Solange die absolute Feuchte draußen niedriger ist wie drinnen, wird es wohl eine Lüftungsempfehlung geben.

                                Genauere Infos stehen in den Datenpunkten (unter Objekte nachsehen).

                                Gruß,

                                Eric

                                Von unterwegs getippert

                                Roses are red, violets are blue,

                                if I listen to metal, my neighbours do too

                                1 Antwort Letzte Antwort
                                0
                                • T Offline
                                  T Offline
                                  tempestas
                                  schrieb am zuletzt editiert von
                                  #333

                                  @galferiz:

                                  Moin Leute,

                                  Ich hab Eurer Skript mal bei mir eingesetzt und wunder mich etwas was die Lüftungsempfehlung angeht.

                                  Hab die Daten die letzten Tage beobachtet und hab seid gut einer Woche eine dauerhafte Lüftungsempfehlung.

                                  alle Datenpunkt werden gelistet und die Min/Maxwerte hab ich eingestellt.

                                  Wann emfiehlt er denn nicht zu lüften ??? Irgendwas passt doch da nicht. :D

                                  Grüße

                                  Thomas `

                                  Wie Eric schon sagt: es geht (korrekt) allein um die absolute Feuchte.

                                  Ich habe daher bei mir das Skript so erweitert, dass auch die relative Feuchte berücksichtigt wird und daraus dann vier Stufen abgeleitet:

                                  1. abs. Feuchte draußen > abs F. innen: VERBOT

                                  2. abs. Feuchte draußen < innen und innen rel. Feuchte innen <58%: kann lüften

                                  3. abs. Feuchte draußen < innen und innen rel. Feuchte innen >58% <70%: SOLLTE lüften

                                  4. abs. Feuchte draußen < innen und innen rel. Feuchte innen >= 70%: MUSS LÜFTEN, Schimmelgefahr

                                  nächster Schritt wäre, die Temperatur zu berücksichtigen und quasi einen "trade off" einzubauen im Sinne von "erlaube Erhöhung der rel. Luftfeuchtigkeit innen im Gegenzug zum Lüften bis zum Stand von XX".

                                  Das steht aber noch auf meiner Todo Liste. Meine Frau ist leider nicht sehr offen für "ich muss da mal was testen"; es soll bitte immer einfach alles funktionieren. :lol: :lol:

                                  <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                                  1 Antwort Letzte Antwort
                                  0
                                  • G Offline
                                    G Offline
                                    galferiz
                                    schrieb am zuletzt editiert von
                                    #334

                                    Das klingt nach einer sinnvollen Ergänzung ;-)

                                    Es kann natürlich sein, daß die absoluten Werte sich immer passend verändert haben und so Lüften sinnvoll ist.

                                    Gibt es eigentlich eine gute Alternative zum automatischen Fensteröffnen?

                                    Das HM Fensterkippmodul finde ich etwas zu teuer ehrlich gesagt.

                                    Nach Weihnachten ist vor Weihnachten

                                    1 Antwort Letzte Antwort
                                    0
                                    • eric2905E Offline
                                      eric2905E Offline
                                      eric2905
                                      schrieb am zuletzt editiert von
                                      #335

                                      Hi,

                                      @galferiz:

                                      Gibt es eigentlich eine gute Alternative zum automatischen Fensteröffnen? `
                                      Frau? Kinder? :lol: :lol: (Sorry, ich konnte nicht anders)

                                      Gruß,

                                      Eric

                                      Roses are red, violets are blue,

                                      if I listen to metal, my neighbours do too

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        Solear
                                        schrieb am zuletzt editiert von
                                        #336

                                        @galferiz:

                                        Gibt es eigentlich eine gute Alternative zum automatischen Fensteröffnen?

                                        Das HM Fensterkippmodul finde ich etwas zu teuer ehrlich gesagt. `

                                        Das bringt auch nicht so sehr viel, weil es nur ganz wenig ankippt. Da braucht man dann schon 2 davon für einen Durchzug.

                                        Alternative sind: Entfeuchter (laut und mit 400 - 1000 Watt Verbrauch/h sehr teuer im Unterhalt) oder solche Dachfenstermotoren mit Ketten oder Gewindestange, damit habe ich 2 Kellerfenster ausgestattet und sie werden über HM-Jalousieaktoren angesteuert.

                                        iobroker als LXC unter Proxmox

                                        1 Antwort Letzte Antwort
                                        0
                                        • G Offline
                                          G Offline
                                          galferiz
                                          schrieb am zuletzt editiert von
                                          #337

                                          @ Eric, Ja der war gut ;-)

                                          Die sagen aber leider immer: Mach du mal ;-)

                                          Ja, die Kettenantriebe. Muß ich mir mal genauer anschauen.

                                          Aber ich denke, da braucht man auch 2 Stk für den Durchzug von.

                                          Nach Weihnachten ist vor Weihnachten

                                          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

                                          728

                                          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