script: vergleich außen- und innen-temperatur und luftfeuchte
04.11.2012, 09:44
hallo,
ich habe mir ein kleines script erstellt, welches
temperatur und luftfeuchte meiner außen- und innensensoren miteinander vergleicht. es kann z.b. zum lüften von räumen genutzt werden.
es sind 4 kleine programme und 2 systemvariablen nötig
variablen - typ: zahl - werte: 0 und 1
außen_feuchter_innen
außen_waermer_innen
--------------------------------
programm 1: zyklische abfrage der feuchte
bedingung wenn:
geräteauswahl - sensor innen - im wertebereich -20°C bis + 80°C - auslösen auf aktualisieren
aktivität dann:
skript:
var dp_feuchte_aussen = dom.GetObject("BidCos-RF.SN-sensor-innen:1.HUMIDITY");
var feuchte_aussen = dp_feuchte_aussen.State();
var dp_feuchte_innen = dom.GetObject("BidCos-RF.SN-sensor-aussen:1.HUMIDITY");
var feuchte_innen = dp_feuchte_innen.State();
<---- die wenn-bedingung kann eigentlich eine beliebige sein (z.b. auch ein zeitmodul) das programm muss halt einfach nur zyklisch ausgelöst werden. da sich die wettersensoren etwa alle 3 minuten melden, wird das programm auch in diesem zyklus ausgelöst
<---- bei "SN-sensor-innen" bzw. "SN-sensor-aussen" müsst ihr bitte die seriennummer eures jeweiligen sensors eintragen. die steht immer direkt auf dem gerät!
--------------------------------
programm 2: zyklische abfrage der temperatur
bedingung wenn:
geräteauswahl - sensor innen - im wertebereich -20°C bis + 80°C - auslösen auf aktualisieren
aktivität dann:
skript:
var dp_temperatur_aussen = dom.GetObject("BidCos-RF.SN-sensor-aussen:1.TEMPERATURE");
var temperatur_aussen = dp_temperatur_aussen.State();
var dp_temperatur_innen = dom.GetObject("BidCos-RF.SN-sensor-innen:1.TEMPERATURE");
var temperatur_innen = dp_temperatur_innen.State();
--------------------------------
programm 3: ermittelte feuchtewerte in systemvariable übertragen
bedingung wenn:
geräteauswahl - sensor innen - im wertebereich -20°C bis + 80°C - auslösen auf aktualisieren
aktivität dann:
skript:
var obk = dom.GetObject("außen_feuchter_innen");
if (feuchte_aussen > feuchte_innen)
{
var x = obk.State(1);
}
else
{
var x = obk.State(0);
}
--------------------------------
programm 4: ermittelte temperaturwerte in systemvariable übertragen
bedingung wenn:
geräteauswahl - sensor innen - im wertebereich -20°C bis + 80°C - auslösen auf aktualisieren
aktivität dann:
skript:
var obj = dom.GetObject("außen_waermer_innen");
if (temperatur_aussen > temperatur_innen)
{
var x = obj.State(1);
}
else
{
var x = obj.State(0);
}
Viel Spaß damit! ;)
HomeMatic CCU2 + 2 CFG-LAN-Adapter mit 96 Geräten und 278 Kanälen // FeWo mit ELV MAX Cube und 11 Geräten
ich habe mir ein kleines script erstellt, welches
temperatur und luftfeuchte meiner außen- und innensensoren miteinander vergleicht. es kann z.b. zum lüften von räumen genutzt werden.
es sind 4 kleine programme und 2 systemvariablen nötig
variablen - typ: zahl - werte: 0 und 1
außen_feuchter_innen
außen_waermer_innen
--------------------------------
programm 1: zyklische abfrage der feuchte
bedingung wenn:
geräteauswahl - sensor innen - im wertebereich -20°C bis + 80°C - auslösen auf aktualisieren
aktivität dann:
skript:
var dp_feuchte_aussen = dom.GetObject("BidCos-RF.SN-sensor-innen:1.HUMIDITY");
var feuchte_aussen = dp_feuchte_aussen.State();
var dp_feuchte_innen = dom.GetObject("BidCos-RF.SN-sensor-aussen:1.HUMIDITY");
var feuchte_innen = dp_feuchte_innen.State();
<---- die wenn-bedingung kann eigentlich eine beliebige sein (z.b. auch ein zeitmodul) das programm muss halt einfach nur zyklisch ausgelöst werden. da sich die wettersensoren etwa alle 3 minuten melden, wird das programm auch in diesem zyklus ausgelöst
<---- bei "SN-sensor-innen" bzw. "SN-sensor-aussen" müsst ihr bitte die seriennummer eures jeweiligen sensors eintragen. die steht immer direkt auf dem gerät!
--------------------------------
programm 2: zyklische abfrage der temperatur
bedingung wenn:
geräteauswahl - sensor innen - im wertebereich -20°C bis + 80°C - auslösen auf aktualisieren
aktivität dann:
skript:
var dp_temperatur_aussen = dom.GetObject("BidCos-RF.SN-sensor-aussen:1.TEMPERATURE");
var temperatur_aussen = dp_temperatur_aussen.State();
var dp_temperatur_innen = dom.GetObject("BidCos-RF.SN-sensor-innen:1.TEMPERATURE");
var temperatur_innen = dp_temperatur_innen.State();
--------------------------------
programm 3: ermittelte feuchtewerte in systemvariable übertragen
bedingung wenn:
geräteauswahl - sensor innen - im wertebereich -20°C bis + 80°C - auslösen auf aktualisieren
aktivität dann:
skript:
var obk = dom.GetObject("außen_feuchter_innen");
if (feuchte_aussen > feuchte_innen)
{
var x = obk.State(1);
}
else
{
var x = obk.State(0);
}
--------------------------------
programm 4: ermittelte temperaturwerte in systemvariable übertragen
bedingung wenn:
geräteauswahl - sensor innen - im wertebereich -20°C bis + 80°C - auslösen auf aktualisieren
aktivität dann:
skript:
var obj = dom.GetObject("außen_waermer_innen");
if (temperatur_aussen > temperatur_innen)
{
var x = obj.State(1);
}
else
{
var x = obj.State(0);
}
Viel Spaß damit! ;)