NEWS
HM HKT nach Boost auf gewisse Termperatur bringen
-
Hallo Leute,
Ich versuche gerade folgendes zu lösen.
Ich möchte meinen HKT Thermostat wenn er einen Boost gemacht hat 6 Minuten später auf z.B. 17 Grad bringen.
Der Boost wird bei mir durch einen Fensterkontakt ausgelöst und die Temperatur z.B. auf 5 Grad abgesenkt.
Aktuell hab ich das Problem das die Temperatur zwar abgesenkt wird und der Boost erfolgt jedoch die Temperatur nicht mehr auf die Wohlfühltemperatur von z.b. 17 Grad hochgeregelt wurde.
Deshalb würde ich das gerne über ein Blockly realisieren.
Hab mir das so in etwas vorgestellt.
IRgendwie funktioniert das aber nicht so richtig.
Hat jemand eine Ahnung woran es liegen könnte bzw. was ich übersehen habe ?
Danke schon mal für eure Tipps.
lg
mandragora
https://i.imgur.com/Z8znoR3.jpg" /> -
Wenn du den Wert einfach wieder zurückschreibst?
5779_fenster.jpg -
-
Hallo Chaot
ich hab da mal meine Wohlfühltemperatur hergenommen.
Aber stimmt.. gibt sicher noch die eine oder andere Diskussion mit meiner Frau
Ich kanns im Moment gerade nicht ausprobieren da ich wieder mal meinen Duty Cycle beim rumprobieren ausgereizt habe aber ich denke so sollte es passen.
~~https://i.imgur.com/MPuWxvS.jpg" />
Hier würde ich die Temperatur meines HKT mit dem Wert den ich im manuelle Mode habe (17 Grad ;-)) wieder überschreiben lassen.
Bin ich da auf dem richtigen Weg denke ich
LG
mandragora~~
-
Warum liest du den BoostMode aus?
Ich kenne die Thermostate nicht, aber hast du nicht die Möglichkeit direkt den Fensterkontakt auszuwerten?
Dann kannst du doch ganz einfach schalten.
In einer ersten Version meines Scripts habe ich die Werte direkt als Zahl geschrieben. Das hat auch funktioniert.
-
Ich habe gerade ein Verständnisproblem: Bei einem Boost wird normalerweise die Heizung kurzzeitig auf "volle Pulle" gestellt.
Du schreibst, dass dies durch einen Fensterkontakt getriggert wird und dann (wieder ?) auf normale Temepratur geregelt werden soll.
Das passt für mich nicht zusammen. Vielleicht kannst du mir den Knoten lösen helfen.
Zum Verhalten meiner HKT (Homematic): Diese stellen nach dem Boost den vorherigen Status wieder ein. Damit müsste eigentlich (auch bei einer Senkung beim Boost) nichts gemacht werden, da dann die normale Regelung des HKT greift.
Es könnte natürlich sein, dass nach einer Senkung die Regelung etwas langsam für's Wohlgefühl ist.
Hier kann dann ein (echter) Boost Abhilfe schaffen: Kurze Zeit den Heizkörper aufdrehen und dann wieder die Regelung arbeiten lassen.
Was "kurze Zeit" konkret bedeutet, hängt von den Anlagen- und Heizungsparametern ab (Temp. VL, Durchflussmenge, HK-Leistung, Raumgröße, …)
-
Hallo
Also mein Grundsätzliches Problem ist dieses das zwar der Boost nach schließen der Fenster anläuft aber die Wohlfühltemperatur dann nicht mehr von z.b. 5 Grad (Fenster Auf Temperatur) auf 17 Grad (Wohlfühltemperatur) hinaufgeregelt wird.
Hab mich da ein wenig unklar ausgedrückt.
Grundlegend ist mein Ziel das ich alle meine Programme die ich in der CCU gestrickt habe irgendwann mal durch Blockly s ablöse.
Sprich auch das HKT Problem das ich aktuell habe.
Mein aktueller Fall ist so das ich 2 HKT im Vorraum betreibe.
Diese möchte ich unabhängig von Wandthermostaten betreiben.
Die HKT sollten beide immer die gleiche Temperatur haben egal ob ich HKT1 oder HKT2 regle.
Dies habe ich schon über ein Blockly realisiert und das funktioniert auch.
Jetzt möchte ich das
-
Wenn Fester aufgemacht wird (Fenstersensor) –> HKT1 und HKT2 auf 5 Grad absenken.
-
Wenn Fenster geschlossen wird (Fenstersensor) --> dann soll die Boost Funktion für HKT1 und HKT2 für 5 Minuten eingeschalten werden und danach wieder auf die Wohlfühltemperatur von 17 Grad auf HKT1 und HKT2 hochgeregelt werden.
-
Die Wohlfühltemperatur von 17 Grad soll für HKT1 und HKT 2permanent rund um die Uhr immer gleich bleiben und halt nur beim öffnen des Fensters bis zum schließen des Fensters auf 5 Grad absenken.
Und das werde ich versuchen mit Blockly nachzubauen.
Denke sollte doch recht einfach möglich sein.
Ich denke da meistens noch immer ein wenig zu kompliziert.
Vorschläge eurerseits sind natürlich herzlich Willkommen
Ach ja... verwende die Standard Homematic Komponenten (nicht IP)
Vielen herzlichen Dank schon mal für alle Tipps und HIlfen.
LG
mandragora
-
-
Ok,
jetzt stellt sich die Frage woran der Fenstersensor angeschlossenist oder was das für ein Sensor ist.
Kannst du nicht den Sensor direkt im ioBoker auswerten? Das würde die Sache wesentlich vereinfachen.
Beispiel:
Das von mir gepostete Script liest den Fenstersensor (bei mir über Sonoff im WLan) und steuert dann die Thermostate im Wohnzimmer (in dem Fall) auf Absenktemperatur. Alternativ kann ich sie auch auf einen festen Wert absenken.
Wenn der Sensor wieder geschlossen wird steuere ich den Thermostat wieder auf Komforttemperatur hoch.
In deinem Fall würde ich dann so vorgehen:
Fenster auf - 5°C (wie in meinem Blockly)
Fenster zu - Boost über Timer 5 Minuten (wie dein Timer aber auf "Boost")
Timer Ende - Komfortemperatur (wie in meinem Blockly)
-
Man kann auch etwas mit den verschiedenen Betriebsarten spielen; diese kennen unterschiedliche Temperaturen.
Normal: Betriebsart AUTO (mit fester Temperatur 17°C)
Bei Start Ereignis Fenster auf: Umstellen auf MANU mit Temperatur 5°C
Bei Start Ereignis Fenster zu: Umstellen auf AUTO (Temp muss nicht mehr gesetzt werden) und dann mit kurzer Verzögerung (z.B. 1-2 Sekunden) auf BOOST. Boost stellt sich automatisch nach der voreingestellten Zeit ab und geht dann wieder in AUTO.
Ich frage bei mir übrigens ab, ob AUTO eingestellt ist. Nur dann werden solche Sequenzen gestartet. Das erlaubt z.B. Abwesenheit mit anderen Programmen oder den besonderen Betrieb eines einzelnen HKT.
-
Hallo
Erstmal vielen Dank für den Input.
Ich habs mal versuch mit Blockly nachzubauen.
Kanns aktuell gerade nicht testen.
Aber würde das so in der Art funktionieren ?
Vielen Dank und gute Nacht
mandragora
https://i.imgur.com/rpg9BHy.jpg" /> -
Der erste Teil stimmt
Falls Objekt Fensterkontakt…
Dann solltest du aber (wie bei mir zu sehen) eine "falls" Funktion einfügen.
Falls "Wert"
steuere Thermostat.SetTemperature mit Wert (Zahl) 5
sonst
steuere Thermostat.SetTemperature mit ControlMode
steuere Boost mode
5779_fenster_offen4.jpg -
Hallo nochmals
Bitte um Nachsicht mit mir
Wenn ich alles richtig verstehe sollte das so funktionieren.
Tut es aber irgendwie nicht.
Bekomme auch eine Fehlermeldung im Log.
Irgendwie hängt ich da fest und checks gerade nicht
~~https://i.imgur.com/nYOSDh8.jpg" />
14:40:19.984 [info] javascript.0 Stop script script.js.Thermostatsteuerung.Heizungssteuerung_HKT_EG_nach_Boost_Normal
14:40:19.992 [info] javascript.0 Start javascript script.js.Thermostatsteuerung.Heizungssteuerung_HKT_EG_nach_Boost_Normal
14:40:19.992 [error] javascript.0 script.js.Thermostatsteuerung.Heizungssteuerung_HKT_EG_nach_Boost_Normal compile failed: at script.js.Thermostatsteuerung.Heizungssteuerung_HKT_EG_nach_Boost_Normal:21
javascript.0 2018-10-07 14:40:19.991 error at Object.createScript (vm.js:56:10)
javascript.0 2018-10-07 14:40:19.991 error SyntaxError: Unexpected token ,
javascript.0 2018-10-07 14:40:19.991 error ^
javascript.0 2018-10-07 14:40:19.991 error setStateDelayed("hm-rpc.0.OEQ1713375.4.BOOST_MODE"/HK Thermostat Vorraum EG.BOOST_MODE/, , 300000, false);
javascript.0 2018-10-07 14:40:19.991 error at script.js.Thermostatsteuerung.Heizungssteuerung_HKT_EG_nach_Boost_Normal:21
javascript.0 2018-10-07 14:40:19.991 error script.js.Thermostatsteuerung.Heizungssteuerung_HKT_EG_nach_Boost_Normal compile failed:
javascript.0 2018-10-07 14:40:19.989 info Start javascript script.js.Thermostatsteuerung.Heizungssteuerung_HKT_EG_nach_Boost_Normal
javascript.0 2018-10-07 14:40:19.983 info Stop script script.js.Thermostatsteuerung.Heizungssteuerung_HKT_EG_nach_Boost_Normal
javascript.0 2018-10-07 14:39:46.314 error at Object.createScript (vm.js:56:10)
javascript.0 2018-10-07 14:39:46.314 error SyntaxError: Unexpected token ,
javascript.0 2018-10-07 14:39:46.314 error ^
javascript.0 2018-10-07 14:39:46.314 error setStateDelayed("hm-rpc.0.OEQ1713375.4.BOOST_MODE"/HK Thermostat Vorraum EG.BOOST_MODE/, , 300000, false);
javascript.0 2018-10-07 14:39:46.314 error at script.js.Thermostatsteuerung.Heizungssteuerung_HKT_EG_nach_Boost_Normal:21
javascript.0 2018-10-07 14:39:46.314 error script.js.Thermostatsteuerung.Heizungssteuerung_HKT_EG_nach_Boost_Normal compile failed:
javascript.0 2018-10-07 14:39:46.311 info Start javascript script.js.Thermostatsteuerung.Heizungssteuerung_HKT_EG_nach_Boost_Normal
javascript.0 2018-10-07 14:39:46.306 info Stop script script.js.Thermostatsteuerung.Heizungssteuerung_HKT_EG_nach_Boost_Normal
Kann mir jemand nochmals sagen wo ich hier meinen Denkfehler habe.
Danke euch vielmals
lg
mandragora~~
-
Mach mal im unteren Abschnitt den Block mit dem zweiten Trigger raus. Den hast du ja schon oben und brauchst den also kein zweites mal
Im Grunde läuft die Abfage so:
Wenn Fensterkontakt wird "true", dann
Aktion 1 (5°C)
sonst (logischerweise nicht "true")
Aktion 2 (17°C)
Ich würde auch behaupten das du den BOOST Mode gar nicht benötigst.
Normalerweise werden die Thermostate zu 100% aufgemacht bis die Solltemperatur erreicht ist. Von daher dürfte der Boost nichts bringen.
Also versuche doch zunächst mal den Block so wie ich ihn geschrieben habe ohne den Schnickschnak dazu und schaue ob das dann so wie gewünscht läuft. Wenn du dann immer noch Boost benötigst kann man den ja noch einbauen. Aber der zweite Trigger muss raus.
5779_muster1.jpg -
Hallo Chaot
Danke erstmals für deine Bemühungen.
Ich hoffe ich bin jetzt ein wenig mehr auf dem richtigen Weg.
Ich habs jetzt mal so gemacht.
~~https://i.imgur.com/x80zMbU.jpg" />
Alles entfernt so wie du gesagt hast
Wenn ich jetzt das Fenster öffne wir der HKT nicht auf 5 sondern gleich auf 17 Grad eingestellt.
Wenn ich das Fenster schließe passiert nichts.
Irgendwie überspringt er die 5 Grad.
Ändert auch nichts wenn ich es auf geändert oder true stelle
Ich bin glaub ich zu doof dafür
lg
mandragora~~
-
Stell mal anstatt "ist wahr" auf "wurde geändert"
-
Oh,
was steht eigentlich in dem Wert drin den der Fensterkontakt ausgibt?
-
Hallo
Beim Fensterkontakt hab ich keine Werte
Da habe ich nur true oder false
~~https://i.imgur.com/wmZE7iC.jpg" />
lg
mandragora~~
-
Hast du mal den Wert vom Thermostat angeschaut was da direkt eingetragen wird wenn du das Fenster öffnest?
Ich kenne die HM Thermostate nicht, aber bei meinen Dect wird die Übertragung 5 Minuten verzögert.
-
Wenn ich jetzt das Fenster öffne wir der HKT nicht auf 5 sondern gleich auf 17 Grad eingestellt. `
Ich vermute mal, dass Wert eine Variable ist und nicht - wie erforderlich - die Eigenschaft Wert des Triggerdatenpunktes ? Haben beide leider die gleiche Farbe in Blockly. -
Ich würde auch behaupten das du den BOOST Mode gar nicht benötigst.
Normalerweise werden die Thermostate zu 100% aufgemacht bis die Solltemperatur erreicht ist. Von daher dürfte der Boost nichts bringen. `
Wir haben hier einen PID-Regler und keinen Zwei-Punktregler. Ein PID-Regler kennt auch die Zwischenwerte zwischen zu und auf.Und genau deswegen gibt es die Boost-Fuktion.
Das lässt sich nachprüfen, wenn man die Solltemperatur erhöht: Dann springt die Ventilöffnung nicht auf 100%.
@mandragora: Hast du schon einmal versucht, diese Funktion manuell über die HM-Variablen (Objekte) zu steuern? Sonst wird es sehr schwierig, Programmfehler und "falsches" Verhalten des HKT auseinanderzuhalten.
Mein Vorschlag wäre daher
1. Manuell über die HM-Variablen (Objekte) das gewünschte Verhalten zu testen:
-
Umschalten auf "Fenster-Auf-Modus
-
Umschalten auf BOOST
-
Umschalten auf AUTO
2. dieses Programm in kleine Stücke mit Teilverhalten aufzudröseln
Ich bin weder Freund noch Kenner von Blockly; das ist für mich ähnlich der HM-Skripte schwer nachvollziehbar mit häßlichen Seiteneffekten. Daher hört hier konkrete Unterstützung meinerseits auf. Ich empfehle jedoch, möglichst viele Debug-/Info-Ausgaben zu schreiben, damit die Abläufe nachvollziehbar werden: Also in jede Verzweigung.
Sollte es in Richtung JS gehen, kann ich gerne konkret weiterhelfen.
-