Werte vergleichen und variable setzten

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
Stigkester
Beiträge: 9
Registriert: 02.01.2021, 21:33
System: CCU
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Werte vergleichen und variable setzten

Beitrag von Stigkester » 14.09.2022, 12:14

Hallo,

ich versuche eine sehr vereinfachte Lüfterempfehlung bei mir zu programmieren.
Mir reicht es da wenn eine Variable Lüften auf true gesetzt wird wenn die Absolute Luftfeuchtigkeit außen geringer ist wie Innen und auf false feils es nicht der fall ist.

Dafür habe ich bereits mit CUxD für beide Messtellen ein Gerät erstellt und mit dem Script werden die Daten reingeschrieben:

Code: Alles auswählen

dom.GetObject("CUxD.CUX9002001:1.SET_TEMPERATURE").State(dom.GetObject("OG-AZ-Wandthermostat:1").DPByHssDP("ACTUAL_TEMPERATURE").Value());
dom.GetObject("CUxD.CUX9002001:1.SET_HUMIDITY").State(dom.GetObject("OG-AZ-Wandthermostat:1").DPByHssDP("HUMIDITY").Value());
und

Code: Alles auswählen

dom.GetObject("CUxD.CUX9002002:1.SET_TEMPERATURE").State(dom.GetObject("DR-XX-Temp/Luftfeuchtigkeitsensor:1").DPByHssDP("ACTUAL_TEMPERATURE").Value());
dom.GetObject("CUxD.CUX9002002:1.SET_HUMIDITY").State(dom.GetObject("DR-XX-Temp/Luftfeuchtigkeitsensor:1").DPByHssDP("HUMIDITY").Value());

Über die normale CCU kann ich jetzt nur sagen ist der Wert geringer als XX dann XX aber ich kann die zwei Werte nicht Vergleichen.
Realisierbar ist das über ein script was alle 5min ausgelöst wird ... aber wie? Komme nicht drauf.

Tyfys
Beiträge: 544
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 123 Mal

Re: Werte vergleichen und variable setzten

Beitrag von Tyfys » 14.09.2022, 12:38

zum Setzen der Systemvariablen kannst du nach diesem Schema gehen:

Code: Alles auswählen

!Schreiben über Variablen für Systemvariablennamen und neuem Wert
string SysVarName = "Lueften";
real Absolute_Luftfeuchtigkeit_aussen = 50.000;
real Absolute_Luftfeuchtigkeit_innen = 75.000;

boolean SVNewVal = Absolute_Luftfeuchtigkeit_aussen < Absolute_Luftfeuchtigkeit_innen;
WriteLine(SVNewVal);
object SVObj = dom.GetObject(ID_SYSTEM_VARIABLES).Get(SysVarName);
if (SVObj) {
    SVObj.State(SVNewVal);
} else {
    WriteLine("SystemVariable " # SysVarName # " nicht angelegt")
}
Gruß
Harry

MichaelN
Beiträge: 9650
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: Werte vergleichen und variable setzten

Beitrag von MichaelN » 14.09.2022, 12:39

Du triggert nicht alle 5 Minuten, sondern auf die Veränderung eines der Messwerte.
Siehe viewtopic.php?f=31&t=68342&p=668294#p668294
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Benutzeravatar
Baxxy
Beiträge: 10779
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2205 Mal

Re: Werte vergleichen und variable setzten

Beitrag von Baxxy » 14.09.2022, 12:39

2 Variablen kann die WebUi leider nicht vergleichen (auch wenn es dazu schon Ansätze gibt).

Also Script.
Vereinfacht:
beide Abs. Luftfeuchte einlesen
WENN Abs.A < Abs.I DANN "Lüften"
SONST "nicht Lüften"

Stigkester
Beiträge: 9
Registriert: 02.01.2021, 21:33
System: CCU
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: Werte vergleichen und variable setzten

Beitrag von Stigkester » 14.09.2022, 15:54

Super und Danke.

Jetzt läuft es wie ichs gerne hätte.

Antworten

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