NEWS
Hilfe beim Skript erweiterung
-
LIebe Community. Darf ich Euch um Hilfe bitten. Zurzeit steuere ich mein Umwalzpumpe Schaltung anhand der Ventilwerte alle Thermostaten.
Da ich nun ein Kacheloffen in EG installiert habe, verfälscht der neuen Heizung die duchschnitliche Ventilwerte über der gesamten Haus. Daher schaltet der Umwalzpumpe frühseitig aus.
Meine Idee ist folgendes:
ein Filter in diese Skript einbauen, wo die Heizkörper pro Stockwerk gelistet werden, und in mein Blockly ein "OR" einbauen.zB - Wenn die EG Ventilwert < 20% OR Wenn die OG1 Ventilwert < 20% or Wenn die OG2 Ventilwert < 20%, dann der Umwalzpumpe einschalten.
Hier der bestehenden Skript - der bis jetzt sehr gut funktioniert hat.
Vielen Dank für eure Hilfe !
############
string itemID;
object i = (dom.GetObject(ID_FUNCTIONS)).Get("Heating");integer test = 0; !Berrechnung der ges. Ventilöffnung string s_device; object o_device; integer i_devices = 0; integer i_cdevices = 0; string s_channel; object o_channel; integer i_channels = 0; integer i_cchannels = 0; string s_typelist = ""; string s_temp; foreach(itemID, i.EnumUsedIDs()) { var ch = dom.GetObject(ID_CHANNELS).Get(itemID); if (ch.TypeName() == "CHANNEL") { ! Sicherheitsabfrage, verhindert Absturz, falls ein falsches Gerät im Gewerk ist ! Datenpunkt für Ventilstellung ermitteln var dp = ch.DPByHssDP("LEVEL"); if (dp) { ! Sicherheitsabfrage, verhindert Absturz, falls ein falsches Gerät im Gewerk "Heizung" ist var name = ch.Name(); WriteLine(name); ! Ventilstellung ermitteln var vent = dp.Value(); var conv = vent*100; WriteLine(conv); test = test + conv; i_channels = i_channels + 1; } } } WriteLine("****************************************************"); WriteLine(name); WriteLine(conv); WriteLine(i_channels); WriteLine(test); var diff = test / i_channels; WriteLine(diff); dom.GetObject("Ventilwert").State(diff); if(diff > 20.0){WriteLine("Bedingung erfüllt"); dom.GetObject("Heizungspumpe").State(1);} else {WriteLine("Bedingung nicht erfüllt"); dom.GetObject("Heizungspumpe").State(0);} -
LIebe Community. Darf ich Euch um Hilfe bitten. Zurzeit steuere ich mein Umwalzpumpe Schaltung anhand der Ventilwerte alle Thermostaten.
Da ich nun ein Kacheloffen in EG installiert habe, verfälscht der neuen Heizung die duchschnitliche Ventilwerte über der gesamten Haus. Daher schaltet der Umwalzpumpe frühseitig aus.
Meine Idee ist folgendes:
ein Filter in diese Skript einbauen, wo die Heizkörper pro Stockwerk gelistet werden, und in mein Blockly ein "OR" einbauen.zB - Wenn die EG Ventilwert < 20% OR Wenn die OG1 Ventilwert < 20% or Wenn die OG2 Ventilwert < 20%, dann der Umwalzpumpe einschalten.
Hier der bestehenden Skript - der bis jetzt sehr gut funktioniert hat.
Vielen Dank für eure Hilfe !
############
string itemID;
object i = (dom.GetObject(ID_FUNCTIONS)).Get("Heating");integer test = 0; !Berrechnung der ges. Ventilöffnung string s_device; object o_device; integer i_devices = 0; integer i_cdevices = 0; string s_channel; object o_channel; integer i_channels = 0; integer i_cchannels = 0; string s_typelist = ""; string s_temp; foreach(itemID, i.EnumUsedIDs()) { var ch = dom.GetObject(ID_CHANNELS).Get(itemID); if (ch.TypeName() == "CHANNEL") { ! Sicherheitsabfrage, verhindert Absturz, falls ein falsches Gerät im Gewerk ist ! Datenpunkt für Ventilstellung ermitteln var dp = ch.DPByHssDP("LEVEL"); if (dp) { ! Sicherheitsabfrage, verhindert Absturz, falls ein falsches Gerät im Gewerk "Heizung" ist var name = ch.Name(); WriteLine(name); ! Ventilstellung ermitteln var vent = dp.Value(); var conv = vent*100; WriteLine(conv); test = test + conv; i_channels = i_channels + 1; } } } WriteLine("****************************************************"); WriteLine(name); WriteLine(conv); WriteLine(i_channels); WriteLine(test); var diff = test / i_channels; WriteLine(diff); dom.GetObject("Ventilwert").State(diff); if(diff > 20.0){WriteLine("Bedingung erfüllt"); dom.GetObject("Heizungspumpe").State(1);} else {WriteLine("Bedingung nicht erfüllt"); dom.GetObject("Heizungspumpe").State(0);}
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden