Rel Feuchtigkeit innen aus absoluter Feuchtigket aussen ableiten

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Hobyist
Beiträge: 139
Registriert: 23.10.2019, 09:31
System: CCU
Hat sich bedankt: 39 Mal
Danksagung erhalten: 1 Mal

Re: Rel Feuchtigkeit innen aus absoluter Feuchtigket aussen ableiten

Beitrag von Hobyist » 05.06.2023, 18:11

Henke hat geschrieben:
05.06.2023, 10:42

Code: Alles auswählen

boolean lueften = false;
if ( feuchteinnenabs < feuchteaussenabs ) {lueften = true; }
var dose = "2SchDos:3";

Nur eine schüchterne Frage, ich bin ja wirklich noch ein Greenhorn!
Bei dem Vergleich

Code: Alles auswählen

if ( feuchteinnenabs < feuchteaussenabs ) {lueften = true; }
müsste da nicht stehen:

Code: Alles auswählen

if ( feuchteinnenabs [b]>[/b] feuchteaussenabs ) {lueften = true; }
Also, es soll nur lüften, wenn die absolute Feuchte aussen kleiner ist als die absolute Feuchte innen?
CCU3 Start Up, Wohnort Schweiz


Hobyist
Beiträge: 139
Registriert: 23.10.2019, 09:31
System: CCU
Hat sich bedankt: 39 Mal
Danksagung erhalten: 1 Mal

Re: Rel Feuchtigkeit innen aus absoluter Feuchtigket aussen ableiten

Beitrag von Hobyist » 05.06.2023, 19:39

Baxxy hat geschrieben:
05.06.2023, 16:20

Klar soweit? :mrgreen:
Ok das habe ich verstanden.
Stell beide auf "bei Aktualisierung" um, das macht es einfacher.
Das habe ich gemacht.

Ich habe eine falsche Annahme getroffen, ich dachte, dass wenn in dem Bereich die Temperatur ändert, er das Programm abarbeiten soll. Aber meine Annahme ist einfach aus der Luft gegriffen. :roll:
"Abfangen" tust du die Aktualisierung dann im weiteren Verlauf indem du entweder im Script oder im Programm den Aktorstatus vor der Aktion prüfst und nur "schaltest" wenn SOLL-Status != IST-Status.

Wenn beides HM-Sensoren sind dann würde es auch reichen nur einen in das Programm aufzunehmen. Die senden i.d.R im ~3Min Takt was völlig ausreichend ist. Den Vergleich macht ja dein Script.
Das verstehe ich nun gar nicht. Es sind alles HM-IP Aktoren.

Könnte ich aber für den Keller nicht einfach fragen, wenn die rel. Luftfeuchte im Keller grösser z.B. 60% ist, dann das Script abarbeiten mit der Absicht, dass wenn es traussen weniger absolute Luftfeuchte hat, es lüften soll. Das wäre machbar und und verständlich.

Das würde dann in etwas so aussehen:
3 05-06-2023_19-34-27.png
Ich hoffe, dass das funktioniert.
CCU3 Start Up, Wohnort Schweiz

Xel66
Beiträge: 14149
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: Rel Feuchtigkeit innen aus absoluter Feuchtigket aussen ableiten

Beitrag von Xel66 » 05.06.2023, 19:50

Klar kannst Du bei größer 60% rF triggern. Dann brauchst Du immer noch eine "Waage" für die beiden Absolutwerte der Außen- und Innenluft. Es bringt Dir nichts, wenn Du dann feuchte Luft von außen ins Haus ziehst. Ich habe mir eine Luftfeuchtewaage zusammengscriptet, die einen boolschen Wert als Systemvariable (innen höher/ außen höher) hinterlegt und arbeite dann in Programmen nur mit den aufbereiteten Werten.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Hobyist
Beiträge: 139
Registriert: 23.10.2019, 09:31
System: CCU
Hat sich bedankt: 39 Mal
Danksagung erhalten: 1 Mal

Re: Rel Feuchtigkeit innen aus absoluter Feuchtigket aussen ableiten

Beitrag von Hobyist » 05.06.2023, 20:24

Xel66 hat geschrieben:
05.06.2023, 19:50
Klar kannst Du bei größer 60% rF triggern. Dann brauchst Du immer noch eine "Waage" für die beiden Absolutwerte der Außen- und Innenluft. Es bringt Dir nichts, wenn Du dann feuchte Luft von außen ins Haus ziehst. Ich habe mir eine Luftfeuchtewaage zusammengscriptet, die einen boolschen Wert als Systemvariable (innen höher/ außen höher) hinterlegt und arbeite dann in Programmen nur mit den aufbereiteten Werten.
Gruß Xel66
Das ist nun ein Missverständnis. Im Script das ja folgt, wird dann die ganze "Waage" abgearbeitet und sichergestellt, dass der Lüfter nur läuft wenn eben die Bedinungen es erlauben. :D
Das Script ist ein wenig weiter oben im Detail zu sehen.
CCU3 Start Up, Wohnort Schweiz

Xel66
Beiträge: 14149
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: Rel Feuchtigkeit innen aus absoluter Feuchtigket aussen ableiten

Beitrag von Xel66 » 05.06.2023, 20:29

Ich arbeite keine Scripte durch. Das überlasse ich anderen. Ich habe nur auf die Frage nach dem Trigger durch die relative Innenraumluftfeuchte reagiert (weil ich es äjnlich mache) und dargelegt, dass ich statische Variablen generiere und dann ausschließlich mit Programmen arbeite. Gibt dann wenigstens keine Überraschungen. Ferner wird auf Basis dieser Variablen bei mir sowohl ein Ablüfter und ein Raumlufttrockengerät alternativ gesteuert. Bei mir ist auch nur die Waage ein Script (Vergleich variabler Werte). Die absoluten Luftfeuchten werden durch CUxD-Geräte ermittelt.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Benutzeravatar
Henke
Beiträge: 1521
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 140 Mal
Danksagung erhalten: 306 Mal

Re: Rel Feuchtigkeit innen aus absoluter Feuchtigket aussen ableiten

Beitrag von Henke » 06.06.2023, 04:52

Das ganze mal rein logisch und so wie ich es mal gemacht habe.
Das Script berechnet die abs. Luftfeuchte. Dafür braucht es die Temperatur und die relative Luftfeuchte. Da die abs. Feuchte für den Raum und Außen berechnet wird, sollte es bei Aktualisierung der folgenden Werte gestartet werden:
Temperatur Raum
Rel. Feuchte Raum
Temperatur Außen
Rel. Feuchte Außen

Die Entscheidung, wann gelüftet werden soll sollten im Script getroffen werden.
Abgesehen von der Differenz abs. Feuchte (bei mir muss Außen 0.8 g/m^3 keiner sein, sonst lohne es nicht) gehört auch die rel. Feuchte innen dazu.

Die Ausgabe des Scriptes sollte den aktuellen Zustand berücksichtigen, egal ob es eine Variable oder Aktor ist.

1 Problem, 1 CCU Programm, 1 Script

Selbst wenn es nachher für mehrere Räume laufen soll, sind dafür nicht mehrere Programme nötig.

Hobyist
Beiträge: 139
Registriert: 23.10.2019, 09:31
System: CCU
Hat sich bedankt: 39 Mal
Danksagung erhalten: 1 Mal

Re: Rel Feuchtigkeit innen aus absoluter Feuchtigket aussen ableiten

Beitrag von Hobyist » 14.07.2023, 10:51

Ich habe die Belüftung mal beobachtet. Soweit läuft es wie gewünscht, jedoch stelle ich fest, dass wenn die Bedinung zum Lüften erfüllt ist, dann schaltet es ein, aber nach 1-2 Min. Zeit schaltet es wieder aus, um wieder in kurzer Zeit nach 2-3 Min wieder einzuschalten.

Nun mir ist das Verhalten erklärbar, weil da ein Vergleich für die Auslösung "Lüften" gegeben ist wie:

Code: Alles auswählen

boolean lueften = false;
 if ( feuchteinnenabs > feuchteaussenabs ) {lueften = true; }
 
var dose = "1SchDos:3";

if ( dom.GetObject( dose ).DPByHssDP ("STATE").Value() != lueften  )
 {
  dom.GetObject( dose ).DPByHssDP ("STATE").State ( lueften );
 }  
Durchs Lüften kann die Inneraumtemperatur und oder die relative Feuchte verändert werden, was wieder zum sofotigen Ausschalten führen könnte.

Ich habe mir überlegt, wenn ich über das Ausschalten eine Hysteres legen könnte, wäre damit in meinem Fall das Problem gelöst. Wenn die Differenz zwischen aussen und innen nur z.B. 0.001 in die Richtung von nicht lüften geht, wird ausgeschaltet. Das macht im Grunde keinen Sinn. In der Praxis sind doch die Luftschichten nicht so homogen aufgestellt, dass man mit solchen Werten arbeiten kann. Ich hoffe sehr, dass man meine Ausführungen versteht.

Kurz: Wie stelle ich in einem Script sicher, dass wenn ein Status ausgelöst wurde, also die Dose eingeschaltet, diese dann unabhängig von Berechnungen für min. 15 Min. eingeschaltet bleibt?

Danke für einen Tipp!
CCU3 Start Up, Wohnort Schweiz

Benutzeravatar
Henke
Beiträge: 1521
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 140 Mal
Danksagung erhalten: 306 Mal

Re: Rel Feuchtigkeit innen aus absoluter Feuchtigket aussen ableiten

Beitrag von Henke » 15.07.2023, 05:20

Teste das mal. Bin mir nicht sicher, ob ich bei der Hysterese noch einen Denkfehler habe.

Code: Alles auswählen

var oDoseState = dom.GetObject( "1SchDos:3" ).DPByHssDP ("STATE");

boolean lueften = oDoseState.Value();

if ( feuchteinnenabs < feuchteaussenabs -0.2) {lueften = false; }
elseif ( feuchteinnenabs > feuchteaussenabs + 0.8) {lueften = true; }

if ( oDoseState.Value() != lueften  )
 {
  oDoseState.State ( lueften );
 }

Hobyist
Beiträge: 139
Registriert: 23.10.2019, 09:31
System: CCU
Hat sich bedankt: 39 Mal
Danksagung erhalten: 1 Mal

Re: Rel Feuchtigkeit innen aus absoluter Feuchtigket aussen ableiten

Beitrag von Hobyist » 15.07.2023, 11:59

Danke für den Vorschlag.

Wenn ich richtig verstehe, machst du die Hysteres über die Werte -0.2 und +0.8. Also über die Differenz von absoluter Feuchte innen zu aussen. Das muss ich, wie du sagst auch mal erst testen, wie dieser Wertebereich von -0.2 bis +0.8 sich auswirkt.

Beim Scipten in der CCU kann man ja einen Zeitwert eingeben:
Einschaltdauer.png
Einschaltdauer.png (22.59 KiB) 132 mal betrachtet
Ich dachte es gibt einen entsprechenden Befehl "Einschaltdauer" auch in der Programmierung. Das wäre super, dass ich eben den Befehl geben könnte, "lüften" und dann die Dauer angeben wie lange gelüftet werden sollte.

Aber noch einmal, Danke für den Ansatz, mal schauen, wie sich das bewährt.
CCU3 Start Up, Wohnort Schweiz

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“