NEWS
Wie kann ich FS20 Makros in iobroker einfügen
-
@Altersrentner Baustein "und" auf "oder" umschalten, dann rechte Maustaste auf den Baustein und "externe Eingänge"
-
@TTBerlin Danke !!prima
Gruß Michael -
Ich komme beim Makro T_Vorlauf Speicher nicht weiter.
Ist der Ansatz richtig. -
Drei Stunden später,
Könnte bitte jemand prüfen ob die Makros so richtig umgesetzt sind?
Danke Gruß Michael -
Ein Trigger innerhalb einer Funktion ist keine gute Idee. Mache es besser so:
-
@paul53 Guten Morgen,
Danke für Deine Verbesserung. Werde ich ändern.
Nun bin ich mit dem ersten Part (Makro HeizkreisSteuerung)so weit durch.
Im Grunde genommen wurden hier nur Variablen verwendet.
Es gibt in der Beschreibung (siehe 1. Beitrag) folgenden Teil:WohnzimmerIS := "Soll: " + T__WZSoll + " Ist: " + T__WZ
Wohnzimmer := T__WZSoll
Vorbau := "Soll: " + T__VorbauSoll + " Ist: " + T__Vorbau
Bad := "Soll: " + T__BadSoll + " Ist: " + T__Bad
Schlafzimmer := "Soll: " + T__SchlafzSoll + " Ist: " + T__Schlafz
Flur := "Soll: " + T__FlurSoll + " Ist: " + T__Flur
Gaestezimmer := "Soll: " + T__GaestezSoll + " Ist: " + T__GaestezMuss das auch noch als Blockly umgesetzt werden?
Gruß Michael -
@paul53 habe deinen Vorschlag realisiert.
Unter "Steuerung Heizventile" Ist mir folgendes aufgefallen;
Bei den Makros tauche gleiche Variablen z.B. "T__WZ"
in verschiedenen Blöcken z.B. "Heizkreissteuerung_EG u.u.u." auf.
Im Makro wird dann:wenn T__WZ > 0 und T__WZ < HeizkreisSteuerung.T__WZSoll dann HeizungsPumpeEG einschalten endewennde_text
auf den Block verwiesen wo sich die Variable befindet.
Wie kann ich das realisieren.
Danke
Gruß Michael -
Mit FS20 und den Makros kenne ich mich nicht aus.
Irgendwoher müssen die Variablen (Messwert, Sollwert) ihren Wert erhalten. In ioBroker sind das Datenpunkte. Ebenso müssen die Schaltaktoren (Pumpe) Datenpunkte sein.
Wie sehen die Datenpunkte aus und woher kommen sie ?
Sind die Sollwerte auch Datenpunkte oder feste Werte ? -
@paul53 Hallo,
Danke für deine Nachricht.
Mir ist klar, das es schwierig sein wird meine Vorstellungen zu verwirklichen.
Pumen sind Datenpunkte, ebenso T_WZ =Temperatur Wohnzimmer.
T_WZSoll = Solltemperatur ist eine feste Vorgabe.** Variablen ** T__WZSoll Typ Zahl, Startwert 22,5 ** T__VorbauSoll Typ Zahl, Startwert 21,0 ** PumpeEinschalten Typ Zahl, Startwert 0 ** Probelauf Typ Zahl, Startwert 0 ** T__Bad Typ Zahl, Startwert 22,5 ** T__Schlafz Typ Zahl, Startwert 10,0 ** T__Flur Typ Zahl, Startwert 22,0 ** T__Gaestez Typ Zahl, Startwert 20,0
Da ich jetzt dafür Variablen eingesetzt habe,
muss ich diese doch dem Datenpunkt zuweisen oder?
Eine Andere Frage ist, Die Variable T_WZ wird es in unterschiedlichen Skripten geben. Funktioniert das?
Gruß Michael -
@Altersrentner sagte:
Die Variable T_WZ wird es in unterschiedlichen Skripten geben. Funktioniert das?
Mit Variablen funktioniert es nicht, Datenpunkte können in beliebig vielen Skripten verarbeitet werden.
T_WZSoll = Solltemperatur ist eine feste Vorgabe. Da ich jetzt dafür Variablen eingesetzt habe, muss ich diese doch dem Datenpunkt zuweisen oder?
Wenn die Sollwerte immer gleichbleiben können (sollen), kann man den Wert im Skript fest vorgeben. Will man Sollwerte auch mal verändern (z.B. bei Anwesenheit / Abwesenheit) muss man Datenpunkte dafür verwenden.
-
@paul53
"Mit Variablen funktioniert es nicht, Datenpunkte können in beliebig vielen Skripten verarbeitet werden."
Das habe ich mir fast gedacht. Dann ist meine ganze Arbeit für die Katze gewesen.
"Wenn die Sollwerte immer gleichbleiben können (sollen), kann man den Wert im Skript fest vorgeben. Will man Sollwerte auch mal verändern (z.B. bei Anwesenheit / Abwesenheit) muss man Datenpunkte dafür verwenden."
Kannst Du mir das bitte an einem Beispiel erklären?
Ich werde dann morgen versuchen die Blocklys mit Datenpunkten abzuändern. -
Jetzt mit Datenpunkten ; 22,5 ist der Sollwert .
Schaltet die Pumpe >22,5 aus?
Gute Nacht
Gruß Michael -
@Altersrentner sagte:
Schaltet die Pumpe >22,5 aus?
Ja, aber das funktioniert nur, wenn die Pumpe ausschließlich für einen Raum zuständig ist. Wie ich dem Makro entnehme, muss die Pumpe einschalten, wenn mind. ein Raumregler die Pumpe anfordert. Dazu benötigt man eine Oder-Verknüpfung.
Beispiel (Trigger nur für einen Raum aufgeführt):
Die Abfrage Temperatur > 0 ist bei ioBroker nicht erforderlich, da sich ioBroker die Werte aller Datenpunkte merkt (auch über einen Reboot).
-
@paul53 Guten Morgen,
Mein Blockly war nur rein informativ für mich.
Meine Heizungsseuerung unterscheidet sich grundlegend von anderen, heißt ist nicht zu vergleichen.
Ich habe keine Raumregler im Einsatz sondern die Temperatursteuerung wird über Makros realisiert.
Jeder Heizkreis hat ein Ventil (auf/zu),
Jede Etage hat eine Heizkreispumpe,
Und es gibt eine Hauptpumpe 1A7 - nur wenn die auf ein geht werden die anderen Pumpen bei Bedarf zugeschaltet.
In jedem Wandheizkreis bzw in jedem Fußbodenheizkreis gibt es einen Tempfühler der mir die entsprechende Heizfläche genau in einem bestimmten Tembereich hält. Desweiteren gibt es für jeden Raum ein Tempraumfühler. Dieser regelt die Raumtemperatur. Für diese Temeraturfühler wird ein
IST_Wert abgefragt und bei erreichen eines SOLL_Wertes schaltet das zugehörige Ventil. Erst wenn in einer Etage alle Ventile geschlossen sind, schaltet die Etagenpumpe aus. Die Hauptpumpe dagegen schaltet erst ab wenn alle Pumpen auf aus stehen.
Es gibt noch weitere Schaltbedingungen, die aber jetzt zu erklären ist zu verwirrend.
Hört sich sicherlich sehr kompliziert an, ist aber sehr effizient.
Danke für Deine Beispiele,
Hier tauche natürlich für mich einige Fragen auf.
Grundlegende Frage:
Variable "WZ_heizen" was verbirgt sich dahinter oder wie wird sie definiert.
Das bezieht sich natürlich auf alle Variablen.
Ein schönes Wochenende wünscht
Michael
ps, jetzt muss ich überlegen womit ich anfange, -
@Altersrentner sagte:
Jeder Heizkreis hat ein Ventil (auf/zu),
Dann gibt es auch einen Datenpunkt zu dem Ventil, also würde ich zu jedem Raum ein Skript erstellen, das in Abhängigkeit von der Differenz Ist- / Sollwert das Ventil (die Ventile) des Raumes ansteuert (2-Punkt-Regler).
Jede Etage hat eine Heizkreispumpe,
Pro Etage ein Skript, das die Ventile auswertet (Oder-Verknüpfung auf offen) und die Etagenpumpe ansteuert.
Die Hauptpumpe dagegen schaltet erst ab wenn alle Pumpen auf aus stehen.
Ein Skript für die Ansteuerung der Hauptpumpe (Oder-Vernüpfung der Etagenpumpen ein).
Variable "WZ_heizen" was verbirgt sich dahinter oder wie wird sie definiert.
WZ_heizen ist die Heizanforderung des Wohnzimmers. Bei wahr werden die Heizkreisventile für das Wohnzimmer geöffnet.
-
@paul53 Danke für Deine Nachricht. Habe sie erst jetzt gesehen aber vorher
schon an der Heizkreissteuerung gewerkelt.
Ich hoffe, das ich den Hintergrund geschnallt habe.
Will hoffen, das etwas zu erkennen ist, denn das Blockly ist sehr lang.
Gruß Michael -
@Altersrentner Nein nichts zu sehen.
Werde es teilen. -
Jetzt sollte es klappen;
Gruß Michael -
Hallo
Könnte bitte mal jemand schauen ob das so OK ist?
Im Log wird nur der Start angezeigt, danach nichts mehr.
Danke
Gruß Michael -
@paul53 Hallo,
Ich hänge immer noch in der Luft und komme nicht so richtig weiter.
Frage zu Deinen Beispielen:
Variable WZ_heizen - ist womit verknüpft sprich was verbirgt sich dahinter.
Kann eigentlich nur Heizungspumpe EG sein.
Variable Wert - bezieht sich auf Wert von Objekt.ID auswählen?
Ich habe es jetzt so gelöst.
Ist das OK?
Danke Gruß Michael