NEWS
[Skript] Absolute Feuchte berechnen
-
@homoran @paul53
Guten Morgen,
ich hab dann doch noch mal 2 Fragen zu dem Script, aber eines nach dem Anderen. Das Script legt ja den Datenpunkt "0_userdata.0.Raumklima.JSON" an und befüllt diesen mit den Räumen und Außensensoren. Bei mir steht bei allen Räumen bei den DETAILS_Lueftungsempfehlung ein NaN. Woran kann das liegen. Hier mal das Beispiel für die Küche:{ "Raum": "Kueche", "Feuchtegehalt_Absolut": "9.60", "relative_Luftfeuchtigkeit": "53.83", "Taupunkt": "13.40", "Temperatur": "23.26", "DETAILS.Enthalpie": "47.82", "DETAILS.Sättigungsdampfdruck": "28.54", "DETAILS.Dampfdruck": "15.36", "Dampfgewicht": "11.23", "DETAILS.Dampfgewicht_maximal": "20.86", "Lüftungsempfehlung": "false", "DETAILS_Lueftungsempfehlung.Lüften_b1_Entfeuchten": "NaN", "DETAILS_Lueftungsempfehlung.Lüften_b2_Kühlen": "NaN", "DETAILS_Lueftungsempfehlung.Lüften_b3_Auskühlschutz": "NaN", "DETAILS_Lueftungsempfehlung.Lüften_b4_Raumfeuchte": "NaN", "DETAILS_Lueftungsempfehlung.Lüften_Hysterese": "NaN", "DETAILS_Lueftungsempfehlung.Lüftungsempfehlung_Beschreibung": "Fenster zu:<br>Entfeuchten: Außenluft ist zu feucht<br>" }
Gruß Johannes
-
@jojo58 Ich habe dasselbe Problem und noch keine Lösung gefunden. Hoffentlich bekommen wir eine Antwort.
-
Was habt ihr denn im Konfigurationsbereich eingestellt?
-
@ro75 Das sind die Konfigurationszeilen. Die Kommentare und den Rest habe ich hier weggelassen:
// ----------------------------------------------------------------------------- // Einstellungen Skriptverhalten, eigene Parameter - !! bitte anpassen !! // ----------------------------------------------------------------------------- // Wichtig: // betrifft den CONTROL Zweig bei den Raumdatepunkten (Offsets, Raummindestemperatur (Auskühlschutz)) var skriptConf = true; // Anwender kann sich aussuchen, ob er die Werte im Skript oder über die Objekte pflegen möchte // true: Raumwerte werden über das Skript geändert/überschrieben (var raeume) // false: Raumwerte werden über Objekte (z.B. im Admin, Zustände oder VIS) geändert var debug = false; // true: erweitertes Logging einschalten // eigene Parameter: var hunn = 44; // eigene Höhe über nn (normalnull), z.B. über http://de.mygeoposition.com zu ermitteln var defaultTemp = 17.00; // Default TEMP_Minimum, wenn im Raum nicht angegeben (Auskühlschutz, tiefer soll eine Raumtemperatur durchs lüften nicht sinken) var defaultMinFeu = 40.00; // Default Mindest Feuchte wenn nicht angegeben, standard ist 35.00. var defaultMaxFeu = 55.00; // Default Maximal Feuchte wenn nicht angegeben, standard ist 40.00. var cronStr = "*/30 * * * *"; // Zeit, in der alle Räume aktualisiert werden (da auf Änderung der Sensoren aktualisiert wird, kann die Zeit sehr hoch sein) var strDatum = "DD-MM-JJJJ SS:mm:ss";// Format, in dem das Aktualisierungsdatum für das JSON ausgegeben wird // ### Experteneinstellungen ### // Lüftungsengine var hysMinTemp = 0.5; // Default 0.5, Hysterese Mindesttemperatur (Auskühlschutz). Innerhalb dieser Deltatemperatur bleibt die alte Lüftungsempfehlung für den Auskühlschutz bestehen. var hysEntfeuchten = 0.2; // Default 0.3, Hysterese Entfeuhten: Delta g/kG absolute Luftfeuchte. In dem Delta findet keine Änderung der alten Lüftungsempfehlung statt // Skriptverhalten var delayRooms = 500; // Zeit in ms als Verzögerung, wie die Räume abgearbeitet werden // Pfade für die Datenpunkte: var pfad = "0_userdata.0.Raumklima" +"."; // Pfad unter dem die Datenpunkte in der Javascript-Instanz angelegt werden // Unterpfade unterhalb des Hauptpfads var raumPfad = "Raum" +"."; // Pfad unterhalb des Hauptpfads für die Räume var controlPfad = "CONTROL" +"."; // Pfad innerhalb des Raums für Kontrollparameter var detailPfad = "DETAILS" +"."; // Pfad innerhalb des Raums für Detailparameter ("" und ohne ".", wenn kein Detailpfad gewünscht) var detailEnginePfad = "DETAILS_Lueftungsempfehlung" + "."; // Pfad innerhalb des Raums für Detailparameter zur Lüftungsengine var infoPfad = "Skriptinfos" +"."; // Pfad für globale Skriptparameter zur Info // ----------------------------------------------------------------------------- // Räume mit Sensoren, Parametrisierung - !! bitte anpassen !! // ----------------------------------------------------------------------------- // jeder Sensor darf nur einmal verwendet werden! // wird kein Aussensensor angegeben, wird der Sensor als Aussensensor behandelt! var raeume = { // Keine Leerzeichen (Name wird als Datenpunktname verwendet!) // Sensoren Aussen "Nordseite" : { "Sensor_TEMP" : 'hm-rpc.1.000EDF29AF0CB5.1.ACTUAL_TEMPERATURE'/*TS-Nordseite:1 ACTUAL TEMPERATURE*/, "Sensor_HUM" : 'hm-rpc.1.000EDF29AF0CB5.1.HUMIDITY'/*TS-Nordseite:1 HUMIDITY*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0 }, "Suedseite" : { "Sensor_TEMP" : 'hm-rpc.1.000EDF29AF0956.1.ACTUAL_TEMPERATURE'/*TS-Südseite:1 ACTUAL TEMPERATURE*/, "Sensor_HUM" : 'hm-rpc.1.000EDF29AF0956.1.HUMIDITY'/*TS-Südseite:1 HUMIDITY*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0 }, "Das Wetter" : { "Sensor_TEMP" : 'daswetter.0.NextHours.Location_1.Day_1.current.temp_value'/*temperature*/, "Sensor_HUM" : 'daswetter.0.NextHours.Location_1.Day_1.current.humidity_value'/*humidity*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0 }, // Sensoren Innen "Kueche" : { "Sensor_TEMP" : 'zigbee.0.a4c1383c6452cbc7.temperature'/*Temperature*/, "Sensor_HUM" : 'zigbee.0.a4c1383c6452cbc7.humidity'/*Humidity*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0, "TEMP_Minimum" : defaultTemp, // oder Zieltemperatur in Form von: 20.00 angeben "Aussensensor" : "Nordseite" }, "Badezimmer" : { "Sensor_TEMP" : 'hm-rpc.0.SEQ2821109.1.TEMPERATURE'/*WT-Bad:1 TEMPERATURE*/, "Sensor_HUM" : 'hm-rpc.0.SEQ2821109.1.HUMIDITY'/*WT-Bad:1 HUMIDITY*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0, "TEMP_Minimum" : defaultTemp, // oder Zieltemperatur in Form von: 20.00 angeben "Aussensensor" : "Nordseite" }, "Buero" : { "Sensor_TEMP" : 'hm-rpc.0.LEQ1461486.1.TEMPERATURE'/*WT-Büro:1 TEMPERATURE*/, "Sensor_HUM" : 'hm-rpc.0.LEQ1461486.1.HUMIDITY'/*WT-Büro:1 HUMIDITY*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0, "TEMP_Minimum" : defaultTemp, // oder Zieltemperatur in Form von: 20.00 angeben "Aussensensor" : "Nordseite" }, "Wohnzimmer" : { "Sensor_TEMP" : 'hm-rpc.0.LEQ1461588.1.TEMPERATURE'/*WT-Wohnzimmer:1 TEMPERATURE*/, "Sensor_HUM" : 'hm-rpc.0.LEQ1461588.1.HUMIDITY'/*WT-Wohnzimmer:1 HUMIDITY*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0, "TEMP_Minimum" : defaultTemp, // oder Zieltemperatur in Form von: 20.00 angeben "Aussensensor" : "Suedseite" }, // "Schlafzimmer" : { // "Sensor_TEMP" : 'zigbee.0.xxx3.temperature'/* Sensor Badezimmer Temperatur */, // "Sensor_HUM" : 'zigbee.0.xxx3.humidity'/* Sensor Badezimmer Feuchtigkeit */, // "Sensor_TEMP_OFFSET" : 0.0, // "Sensor_HUM_OFFSET" : 0, // "TEMP_Minimum" : 9.00, // oder Zieltemperatur in Form von: 20.00 angeben // "Aussensensor" : "Suedseite" // }, // "Flur" : { // "Sensor_TEMP" : 'zigbee.0.xxx3.temperature'/* Sensor Badezimmer Temperatur */, // "Sensor_HUM" : 'zigbee.0.xxx3.humidity'/* Sensor Badezimmer Feuchtigkeit */, // "Sensor_TEMP_OFFSET" : 0.0, // "Sensor_HUM_OFFSET" : 0, // "TEMP_Minimum" : defaultTemp, // oder Zieltemperatur in Form von: 20.00 angeben // "Aussensensor" : "Nordseite" // }, };
-
@jojo58 sagte in [Skript] Absolute Feuchte berechnen:
"Das Wetter"
Wenn dieser Teil nicht genutzt wird - weg.
EDIT: Liefern "hm-rpc.1.000EDF29AF0CB5.1." und "hm-rpc.1.000EDF29AF0956.1." und "zigbee.0.a4c1383c6452cbc7." auch valide Daten?
-
@ro75 Ja, unter allen Räumen werden die Daten auch angezeigt. Es gibt überall eine Temperatur und eine Luftfeuchtigkeit die logisch ist. Also keine absurde Zahlen oder sowas. Und unter allen Räumen stehen die Datenpunkte zum Lüften auf true. Hier ein Screenshot dazu:
-
@jojo58 sagte in [Skript] Absolute Feuchte berechnen:
unter allen Räumen werden die Daten auch angezeigt.
Nur bei Küche nicht - so zumindest deine Anfrage. Entweder stimmt da was nicht mit den Daten oder wurde da was im Skript und an den Datenpunkten geändert?
-
@ro75 Küche war nur als Beispiel, sorry wenn das falsch rüberkam. Das Problem ist bei allen Räumen.
-
@jojo58 Warum willst du JSON auswerten und nicht die DP direkt? Da steht doch alles korrekt drin.
-
@ro75
Das ist richtig, mir ist es eben aufgefallen das die Werte im JSON nicht enthalten sind. Dachte es liegt eventuell an falschen Einstellungen oder sonst einem Problem..
Werde mir die Werte dann direkt aus den Datenpunkten holen.
Danke schon mal für deine HilfeJohannes
-
@boriswerner Hallo, kannst Du mir bitte ein Beispiel zeigen, wie du die NaN im JSON korrigiert hast. Vielen Dank!
-
Hallo zusammen,
ich benutze das Skript in der Version 0.6.4 seit einiger Zeit.
Mehrfach kommt es nun aber vor, dass das Skript Tagelang nicht ausgeführt wird.
Nach einem Neustart des Skripts läuft dann wieder alles.Kann man die letzte Ausführung irgendwie "beobachten" und per Skript wieder starten lassen?
-
@nu_81 Moin, stell doch mal um auf die Version 0.6.8, vielleicht sind deine Probleme dann behoben.
-
Hallo zusammen,
erstmal danke an alle die dieses Skript mit entwickelt haben.Ich verwenden das Skript in der Version 0.6.8.
Nachdem ich mir das ganze hier durchgelesen habe, hätte ich trotzdem noch ein paar Fragen an die Experten-
Wenn die relative Luftfeuchtigkeit in einem Raum über 60%, oder sogar über 70% steigt. Macht es da Sinn, eine Lüftungsempfehlung erst auszusprechen, wenn alle Kriterien erfüllt sind?
-
Wenn ich CO2 Werte der Räume berücksichtigen will und diese erhöht sind, welche Lüftungskriterien sollten dann erfüllt sein?
-
In der ToDo Listen gibt es einen Punkt "Sommer / Winter (Heizperiode) berücksichtigen", welche Auswirkung hat die Jahreszeit auf die Lüftungsempfehlung?
-
Ein weiterer Punkt auf der ToDo Liste ist "Kellerentlüftung einbauen (Raum markierbar als Keller)", was ist bei der Berechnung der Lüftungsempfehlung im Keller anders?
-
-
Zu 1. In der Regel: Ja. Wenn die Außentemperatur nicht zu hoch ist (Sommer) oder man mal eine geringere Raumtemperatur zulassen kann als vorgegeben, kann man sich über die Empfehlung hinwegsetzen.
Zu 2. Es sollten normalerweise alle Kriterien erfüllt sein, insbesondere sollte bei schwülwarmen Wetter die Außenluft nicht feuchter sein als die Raumluft.
Zu 4. Bei der Kellerlüftung kann man meist auf das Kühlkriterium verzichten.
-
@paul53
Super, danke für die schnelle Antwort -
Hej zusammen,
hab das Skript nun einige Monate am laufen.
Jedoch verstehe ich die Empfehlungen bzw die Berechnung nicht ganz um eine "brauchbare" Lüftungsempfehlung zu bekommen.Beispiel Badezimmer:
defaultMinFeu = 40
defaultMaxFeu = 60
TEMP_Minimum (also Zieltemperatur) ist hier auf 22.00 eingestellt.Wenn ich jetzt Duschen gehe bei einer Raumtemperatur von zb 21° danach die Luftfeuchtigkeit bei 75% liegt, bekomme ich keine Lüftungsempfehlung, weil die Temperatur zu niedrig.
setze ich die Zieltemperatur auf zb 21° runter, bekomme ich immer eine Lüftungsempfehlung, wenn ich über 21° habe, weil ja die Temperatur zu "hoch".
Die Hyserese bei der Temp liegt bei 0,5 jene der Feuchtigkeit bei 0,3 - also beides unberührte Standardeinstellungen.
Gibt es dafür einen Tipp wie ich das ganze optimaler einstellen kann um eine gute Lüftungsempfehlung zu erhalten?
-
@rtwl schau doch einfach auf das "Entfeuchten" Bit des jeweiligen Raumes, wenn es dir um die zu Hohe Luftfeuchtigkeit geht. Kann dann halt sein, dass der Raum auskühlt, aber einen Tod muss ja sterben
-
@rtwl sagte: setze ich die Zieltemperatur auf zb 21° runter, bekomme ich immer eine Lüftungsempfehlung, wenn ich über 21° habe
Das ist richtig, da im Winter die Außenluft immer trockener ist als die Innenluft - auch bei 40 %rH im Raum. Der Grenzwert für den Auskühlschutz muss etwas niedriger sein als die normale Temperatur während der Nutzung. Die bei Erreichen wegfallende Lüftungsempfehlung signalisiert, dass das Fenster geschlossen werden soll, damit der Raum nicht weiter auskühlt.
-
@dodi666 @paul53
danke euch beiden. Auch wenn ich eure Antworten verstehe und logisch sind ist es trotzdem echt schwer (für mich) hier das richtige setup an Einstellungen zu finden.
am liebsten wäre es mir natürlich wenn Sommer und Winter gleich eingestellt werden können. Doch das wird nicht gehen bzw werd ich nicht schaffen