NEWS
HM HKT nach Boost auf gewisse Termperatur bringen
-
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.
-
-
Danke,
das kannte ich tatsächlich nicht.
Aber wie regelt der dann auf eine bestimmte Temperatur?
Macht der nur 30% auf oder wie wird das dann erfasst?
Im Normalfall würde ich denken das der voll aufmacht und dann beim Erreichen der Temperatur langsam zurückfährt um dann mit kleinen Regelbewegungen die Temperatur zu halten.
Anders kann ich mir das nicht so richtig vorstellen.
Andererseits wäre es dann möglich die Stellwerte des Thermostat direkt anzusteuern anstatt dem BoostModus?
Du könntest ja mal einen Entwurf in JS schreiben. Vielleicht kann das der TE ja umsetzen. So sehr schwierig ist JS nicht zu verstehen wenn er das mal als Alternative zum Blockly sieht.
-
Hallo nochmals
Leute der Fehler lag bei mir
> 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.
Genau das war auch das Problem. Ich hab nun den Wert der Triggerdatenpunktes genommen und nun regeln meine HKT wie sie sollen.
DANKE @ Chaot für den Hinweis
Nachdem das jetzt funktioniert werde ich nun versuchen den Boost einzubauen und das Ganze zu erweitern.
Denke jetzt in der Herbstzeit ist es noch nicht so heikel aber im Winter wenn es wirklich kalt ist und beim lüften mein Vorraum doch recht schnell auskühlen wird. Deshalb finde ich das die Boostfunktion da schon recht praktisch ist.
LG
mandragora
-
Danke,
das kannte ich tatsächlich nicht.
Aber wie regelt der dann auf eine bestimmte Temperatur? `
Das Stichwort heißt PID-Regler https://de.wikipedia.org/wiki/Regler#PID-ReglerVereinfacht besteht der aus 3 Regleranteilen:
1. Proportional: Der Abstand zwischen Ist und Soll ergibt die Stellgröße
2. Integralanteil: Je länger der Abstand zwischen Soll und Ist erhalten bleibt, desto größer wird der Stellausgang
3. Differentialanteil: Anfanglich gibt es seine überproportionale Öffnung, die dann differentiell abnimmt (das entspricht einem kurzen Boost)
Ein Zweipunktregler https://de.wikipedia.org/wiki/Regler#Zweipunktregler kennt nur die Zustände 100% und 0% (also zu und auf).
Wenn man davon ausgeht, dass ich zur Haltung einer bestimmten Temperatur eine bestimmte Leistung benötige, so kann ich dies auf zwei Arten erreichen:
1. Kontinuierlicher Strom an Warmwasser mit genau dieser Leistung
2. Gepulster Betrieb (an/aus) der ebenfalls diese (Durchschnitts-)Leistung bringt
Da die Pulsdauer nicht beliebig klein sein kann, führt eine solche Betriebsart zu einem Schwingen um die Solltemperatur.
-
Danke für die Info. Sehr interessant.
Aber dann regelt er trotzdem so wie ich mir das gedacht habe.
wenn er von 5 auf 17 Grad soll geht er voll auf bis er sich an die 17 annähert um dann langsam in den Regelbereich zu fahren und dort eben nur mit ein paar Prozent Öffnung pendelt.
Logischerweise wird mit der Boost Funktion der Regelbereich aufgehoben. Aber im Grunde sehe ich das doch so das gerade bei einer relativ trägen Wasserheizung der Temperaturanstieg mit der Boost Funktion nicht signifikannt schneller sein dürfte.
Der Regler spielt doch seine Vorteile nur im Regelbereich aus weil er dort dann wesentlich feinfühliger und präziser arbeiten kann. Aber bis zum Erreichen des Bereichs sehe ich jetzt direkt keinen Unterschied.
Oder habe ich da grundlegend was falsch verstanden?