Shop-Wechsel

Der Warenkorb wird nicht übernommen.

Zum Privatkunden Shop

Zentralen

2 Variablen vergleichen

Beiträge zu diesem Thema: 4
Für Aktionen im ELV-Technik-Netzwerk müssen Sie sich ein Profil erstellen
2 Variablen vergleichen
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
02.02.2023, 23:56
Ich möchte gerne zwei Variablen vergleichen. Ist die Isttemperatur (tempsi) kleiner als die Solltemperatur (tempss) will ich die Variable Betriebsmodus auf den Zustand "Heizen" setzten. Ist die Isttemperatur (tempsi) größer als die Solltemperatur (tempss) will ich die Variable Betriebsmodus auf den Zustand "Kühlen" setzten. Ich habe es mit dem nachfolgenden Script probiert, aber es funktioniert leider nicht.

Kann jemand helfen? Vielen Dank schon mal!



if (tempsitempss)
{}
else{dom.GetObject("Kühlen").State(Betriebsmodus)}
Aw: 2 Variablen vergleichen
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
03.02.2023, 05:08
Sofern es sich um Homematicaktoren handelt:
integer istTemp=dom.GetObject("BidCos-RF.xxxxx:4.ACTUAL_TEMPERATURE").Value();
integer sollTemp=dom.GetObject("BidCos-RF.xxxxx:4.SET_TEMPERATURE").Value();
if(istTemp < sollTemp)
{
dom.GetObject("Betriebsmodus").State("heizen");
}
else
{
dom.GetObject("Betriebsmodus").State("kühlen");
}
Für IP-Aktoren
integer istTemp=dom.GetObject("HmIP-RF.xxxxx:1.ACTUAL_TEMPERATURE").Value();
integer sollTemp=dom.GetObject("HmIP-RF.xxxxx:1.SET_POINT_TEMPERATURE").Value();
xxxxx=Seriennummer deines Aktors
Christian
Aw: 2 Variablen vergleichen
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
12.03.2023, 15:14
Hallo Christian,

danke erstmal für deine Hilfe. Ich habe es jetzt mehrfach mit dem nachfolgenden Skript ausprobiert. Die Variable Betriebsmodus2 ändert leider nicht ihren Zustand. Hast du noch eine Idee?

integer istTemp=dom.GetObject("HmIP-RF.000C9A498FF9xx:1.ACTUAL_TEMPERATURE").Value();
integer sollTemp=dom.GetObject("HmIP-RF.000C9A498FF9xx:1.SET_POINT_TEMPERATURE").Value();
if(istTemp < sollTemp)
{
dom.GetObject("Betriebsmodus2").State("Heizen");
}
else
{
dom.GetObject("Betriebsmodus2").State("Kuehlen");
}
Aw: 2 Variablen vergleichen
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
12.03.2023, 15:30
Was steht var/log/messages
Fehler im Script werden dort dokumentiert.
Teste mit in "Script testen"
integer istTemp=dom.GetObject("HmIP-RF.000C9A498FF9xx:1.ACTUAL_TEMPERATURE").Value();
integer sollTemp=dom.GetObject("HmIP-RF.000C9A498FF9xx:1.SET_POINT_TEMPERATURE").Value();
if(istTemp < sollTemp)
{
WriteLine("1");
}
else
{
WriteLine("2");
}
Eins von beiden solltest du sehen


Teste dann extra
WriteLine(dom.GetObject("Betriebsmodus2").State());
Irgendwas sollte angezeigt werden


Teste weiter
dom.GetObject("Betriebsmodus2").State("abc");
WriteLine(dom.GetObject("Betriebsmodus2").State());
abc sollte angezeigt werden
Christian
Profil erstellen