Taupunktsteuerung

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Taupunktsteuerung

Beitrag von paul53 » 01.10.2013, 18:00

Das ist so richtig, wenn
- das Programm "Garagenlüftung" bei Aktualisierung ausgelöst wird
- das Programm "Aktor" bei Änderung ausgelöst wird
- hinter Dann... das Häkchen für "Vor dem Ausführen alle laufenden Verzögerungen für diese Aktivitäten beenden (z.B. Retriggern)." gesetzt ist
- hinter Sonst... das Häkchen für "Vor dem Ausführen alle laufenden Verzögerungen für diese Aktivitäten beenden (z.B. Retriggern)." gesetzt ist
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Taupunktsteuerung

Beitrag von paul53 » 01.10.2013, 18:09

Anmerkung: Das Programm sollte nicht den Namen "Garagenlüftung" tragen, wenn eine Systemvariable den Namen "Garagenlueftung" hat. Das kann zur Verwirrung führen, obwohl sich beide Namen unterscheiden (Wichtig !!!).
Besserer Name für das Programm z.B. "Steuerung_Garagenluefter".
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

mario@
Beiträge: 63
Registriert: 07.05.2015, 14:08
Wohnort: Am Harz

Re: Taupunktsteuerung

Beitrag von mario@ » 07.10.2016, 13:02

Hallo an alle.. Vielleicht kann mir auch jemand helfen. Habe das obige script kopiert und angepasst aber irgendwas stimmt wohl nicht. Das Ergebnis sieht aus wie ein Zeitstempel :shock: Kann wer sagen was da falsch läuft ?

! Badlüftung

! Lokale Variablen
object lueftDP; ! Systemvariable "BadLueftung"
real ti; ! Innentemperatur in °C
integer rfi; ! rel. Feuchte innen in %
real tpa; ! Taupunkttemperatur aussen in °C
real tpi; ! Taupunkttemperatur innen in °C

! Werte einlesen
lueftDP = dom.GetObject("Badlueftung");
rfi = dom.GetObject("CUxD.CUX9002001:1.HUMIDITY").Value();
ti = dom.GetObject("CUxD.CUX9002001:1.TEMPERATURE").Value();
tpi = dom.GetObject("CUxD.CUX9002001:1.DEW_POINT").Value();
tpa = dom.GetObject("CUxD.CUX9002002:1.DEW_POINT").Value();

! Lüftung steuern mit Hysterese von 5 % rH und 1,0 Grad
if ((tpa <= (tpi - 1.5)) && (rfi >= 60) && (ti >= 4.0))
{lueftDP.State(true);}
else
{ if ((tpa >= (tpi - 0.5)) || (rfi <= 55) || (ti <= 3.0))
{lueftDP.State(false);}
}
WriteLine("ti=");
WriteLine(("ti").Value());

WriteLine("rfi=");
WriteLine(("rfi").Value());

WriteLine("tpa=");
WriteLine(("tpa").Value());

WriteLine("tpi=");
WriteLine(("tpi").Value());



Als Ergebnis der WriteLine:

ti=
1970-01-01 00:59:59
rfi=
1970-01-01 01:00:00
tpa=
1970-01-01 01:00:00
tpi=
1970-01-01 01:00:00

Die Systemvariable ist erstellt und heisst "BadLueftung" als Logikvar. Der CuxD Aussenfühler ist bei mir CUxD9002002, der im Bad CuxD9002001.

Dank schon mal für die Mühe.

BadenPower

Re: Taupunktsteuerung

Beitrag von BadenPower » 07.10.2016, 14:36

Bitte Code in die dafür vergesehenen Code-Tags betten.

Was soll das werden?

Code: Alles auswählen

WriteLine(("ti").Value());
Du versuchst auf einen String, hier "ti", die Methode .Value(), welche es für Strings nicht gibt, anzuwenden.

Hätte man einen Blick in das Fehlerlog gewagt, dann hätte man gesehen, dass dort ein ungültiger Zugriff 11622 hinterlegt wurde.
In etwa wie dieser:

Code: Alles auswählen

homematic-ccu2 local0.err ReGaHss: Error: IseESP::ExecError= Execution failed: [-1] 0 0x00 [0] 97 0x61 [1] 0 0x00 [2] 99 0x63 [3] 0 0x00 [4] 100 0x64  [../Platform/DOM/iseESPexec.cpp (11622)]
ti ist ein real und enthält bereits den Temperatur-Wert.
Daher reicht für eine Ausgabe dieses:

Code: Alles auswählen

WriteLine(ti.ToString());
oder aufgrund der automatischen Typumwandlung zur Not auch dieses

Code: Alles auswählen

WriteLine(ti);
oder falls Du noch die auszugebenden Nachkommastellen berücksichtigen möchtest:

Code: Alles auswählen

WriteLine(ti.ToString(2));
Und dies verhält sich bei allen anderen Werten in Deinem Skript genauso.
.

mario@
Beiträge: 63
Registriert: 07.05.2015, 14:08
Wohnort: Am Harz

Re: Taupunktsteuerung

Beitrag von mario@ » 07.10.2016, 15:30

Hallo BadenPower,
danke für deine Tips und Hinweise. Ich versuch mich gerade in die Script-Programmierung einzuarbeiten und bin noch ziemlich am Anfang..
Das mit dem Fehlerlog ist eine gute Idee, aber ich glaube ausser Error hätte ich da nichts weiter interpretieren können :roll:
Aber schön das die erfahrenen hier so schnell und hilfreich reagieren.
Danke dafür.
Gruss Mario

Antworten

Zurück zu „CUxD“