NEWS
Mein erstes Blockly | Schaltung für Zirkulationspumpe
-
Hallo zusammen,
Ich habe es schon in einem anderen Thread probiert, ich hoffe nun hier im Blockly-Unterforum auf konkrete Unterst
ü
tzung. Folgendes Setting existiert:- Shelly 1PM Plus mit Addon und Temperaturf
ü
hler - Brauchwasserw
ä
rmepumpe mit angeschlossener Zirkulation - Der Temperaturf
ü
hler soll nun nach dem Boiler an der WW-Leitung angeschlossen werden und via Shelly die Zirkulationspumpe schalten, sobald (kurz) WW gezapft wird.
Dazu w
ü
rde ich nun gerne ein Blockly erstellen. Konkret w
ü
rde ich gerne Folgendes umsetzen:- Messung der aktuellen Temperatur alle 2 Sekunden
Ü
bernahme dieser Werte in eine Variable mit gleitendem Durchschnittswert der letzten 3 Messungen- Sobald eine Abweichung von diesem Durchschnittswert um 3
°
Celsius vorliegt, soll das Shelly die Zirkulationspumpe schalten - Die Zirkulationspumpe soll anschlie
ß
end f
ü
r eine Minute laufen - Danach soll eine 10-Minuten-Sperre verhindern, dass die Pumpe alle paar Minuten anl
ä
uft.
Disclaimer: Alle konkreten Zahlenwerte hier sind Beispiele, die sich nat
ü
rlich im konkreten Betrieb noch
ä
ndern k
ö
nnen. Sie dienen eher der Veranschaulichung.Wer mag mich dabei unterst
ü
tzen?Vielen Dank im Voraus!
- Shelly 1PM Plus mit Addon und Temperaturf
-
Hallo zusammen,
Ich habe es schon in einem anderen Thread probiert, ich hoffe nun hier im Blockly-Unterforum auf konkrete Unterst
ü
tzung. Folgendes Setting existiert:- Shelly 1PM Plus mit Addon und Temperaturf
ü
hler - Brauchwasserw
ä
rmepumpe mit angeschlossener Zirkulation - Der Temperaturf
ü
hler soll nun nach dem Boiler an der WW-Leitung angeschlossen werden und via Shelly die Zirkulationspumpe schalten, sobald (kurz) WW gezapft wird.
Dazu w
ü
rde ich nun gerne ein Blockly erstellen. Konkret w
ü
rde ich gerne Folgendes umsetzen:- Messung der aktuellen Temperatur alle 2 Sekunden
Ü
bernahme dieser Werte in eine Variable mit gleitendem Durchschnittswert der letzten 3 Messungen- Sobald eine Abweichung von diesem Durchschnittswert um 3
°
Celsius vorliegt, soll das Shelly die Zirkulationspumpe schalten - Die Zirkulationspumpe soll anschlie
ß
end f
ü
r eine Minute laufen - Danach soll eine 10-Minuten-Sperre verhindern, dass die Pumpe alle paar Minuten anl
ä
uft.
Disclaimer: Alle konkreten Zahlenwerte hier sind Beispiele, die sich nat
ü
rlich im konkreten Betrieb noch
ä
ndern k
ö
nnen. Sie dienen eher der Veranschaulichung.Wer mag mich dabei unterst
ü
tzen?Vielen Dank im Voraus!
Nur damit hier keine falsche Erwartenshaltung aufkommt: Es wird Dir wohl kaum jemand nur anhand einer textuellen Beschreibung ein fertiges Blockly vorlegen.
Es w
ä
re also hilfreich, wenn Du zumindest mal beginnst. Du willst es ja sicher auch verstehen und nicht nur nutzen.
Um die Feinheiten kann man sich dann sp
ä
ter k
ü
mmern.Vielleicht hilft Dir das hier weiter:
https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tippsAlso erst mal machen und dann: Zeigen!
https://forum.iobroker.net/topic/51555/hinweise-f
ü
r-gute-forenbeitr
ä
ge - Shelly 1PM Plus mit Addon und Temperaturf
-
Nur damit hier keine falsche Erwartenshaltung aufkommt: Es wird Dir wohl kaum jemand nur anhand einer textuellen Beschreibung ein fertiges Blockly vorlegen.
Es w
ä
re also hilfreich, wenn Du zumindest mal beginnst. Du willst es ja sicher auch verstehen und nicht nur nutzen.
Um die Feinheiten kann man sich dann sp
ä
ter k
ü
mmern.Vielleicht hilft Dir das hier weiter:
https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tippsAlso erst mal machen und dann: Zeigen!
https://forum.iobroker.net/topic/51555/hinweise-f
ü
r-gute-forenbeitr
ä
ge@codierknecht sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Es wird Dir wohl kaum jemand nur anhand einer textuellen Beschreibung ein fertiges Blockly vorlegen.
Die Erwartung scheint zu bestehen... Ist jedenfalls der zweite Thread von ihm zu dem Thema und das steigert zumindest bei mir nicht die Lust zu helfen.
Erstmal bisschen Eigeninitiative zeigen... Hardware verbauen, und dann mit einem Blockly anfangen wenn Temp gr
ö
ß
er X Pumpe einschalten. Nicht gleich um 5 Ecken denken und erwarten, dass einem andere das programmieren abnehmen. -
@codierknecht sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Es wird Dir wohl kaum jemand nur anhand einer textuellen Beschreibung ein fertiges Blockly vorlegen.
Die Erwartung scheint zu bestehen... Ist jedenfalls der zweite Thread von ihm zu dem Thema und das steigert zumindest bei mir nicht die Lust zu helfen.
Erstmal bisschen Eigeninitiative zeigen... Hardware verbauen, und dann mit einem Blockly anfangen wenn Temp gr
ö
ß
er X Pumpe einschalten. Nicht gleich um 5 Ecken denken und erwarten, dass einem andere das programmieren abnehmen.Hier mein erster Versuch:

Ich habe derzeit noch keine L
ö
sung daf
ü
r gefunden, die Liste nach drei Werten wieder einzuk
ü
rzen. Habe ich die Objekte richtig verwendet? Und kann ich die Berechnung des Durchschnittswertes mit dem aktuellen Wert so vornehmen?Vielen Dank f
ü
r eure Unterst
ü
tzung! -
Hier mein erster Versuch:

Ich habe derzeit noch keine L
ö
sung daf
ü
r gefunden, die Liste nach drei Werten wieder einzuk
ü
rzen. Habe ich die Objekte richtig verwendet? Und kann ich die Berechnung des Durchschnittswertes mit dem aktuellen Wert so vornehmen?Vielen Dank f
ü
r eure Unterst
ü
tzung!@scrub
Du machst es Dir unn
ö
tig schwer.
-
@scrub
Du machst es Dir unn
ö
tig schwer.
@codierknecht sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:@scrub
Du machst es Dir unn
ö
tig schwer.Das glaube ich sofort...
Ich finde die Funktion zum Entfernen des Listenelements nicht. Bei mir spuckt die Funktion nur die Werte "setze f
ü
r" und "f
ü
ge als" aus. Verwende ich die Falsche? -
@codierknecht sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:@scrub
Du machst es Dir unn
ö
tig schwer.Das glaube ich sofort...
Ich finde die Funktion zum Entfernen des Listenelements nicht. Bei mir spuckt die Funktion nur die Werte "setze f
ü
r" und "f
ü
ge als" aus. Verwende ich die Falsche?@scrub sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Ich finde die Funktion zum Entfernen des Listenelements nicht

-
@scrub sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Ich finde die Funktion zum Entfernen des Listenelements nicht

-
Okay, danke. Mich hat verwirrt, dass man es erst dann andocken kann, wenn alle Variablen bef
ü
llt sind, vorher scheint es nicht zu klappen.Die neue Version sieht so aus:

@scrub
Im Zeitplan f
ü
gst Du nur ein neues Element ein.
Alles andere hast Du au
ß
erhalb platziert. Das wird dann genau 1x ausgef
ü
hrt - beim Start des Script.
Das ist dann auch der Grund, warum unten das "Wert" angemeckert wird. Au
ß
erhalb eine Triggers ist das Quatsch.Willst Du das wirklich alle x Sekunden ausf
ü
hren?
Vielleicht ist eine Ausf
ü
hrung bei Temperatur
ä
nderungen sinnvoller. -
@scrub
Im Zeitplan f
ü
gst Du nur ein neues Element ein.
Alles andere hast Du au
ß
erhalb platziert. Das wird dann genau 1x ausgef
ü
hrt - beim Start des Script.
Das ist dann auch der Grund, warum unten das "Wert" angemeckert wird. Au
ß
erhalb eine Triggers ist das Quatsch.Willst Du das wirklich alle x Sekunden ausf
ü
hren?
Vielleicht ist eine Ausf
ü
hrung bei Temperatur
ä
nderungen sinnvoller.@codierknecht sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Vielleicht ist eine Ausf
ü
hrung bei Temperatur
ä
nderungen sinnvoller.Hab ich weiter oben ja schon angemerkt. Temp > 30
°
und fertig. -
@codierknecht sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Vielleicht ist eine Ausf
ü
hrung bei Temperatur
ä
nderungen sinnvoller.Hab ich weiter oben ja schon angemerkt. Temp > 30
°
und fertig.Okay, ich habe nun auch die anderen Teile in den Zeitplan eingef
ü
gt. Das Skript sieht nun so aus:
Ich schaue mir das mit der reinen Temperatursteigerung noch einmal an. Ich habe ein wenig "Angst" vor Fehlausl
ö
sungen wegen Temperaturspr
ü
ngen am Sensor. Einerseits m
ö
chte ich, dass die Zirkulation m
ö
glichst zeitnah anspringt (daher geringe Temperaturdifferenzen), andererseits sollen Fehler durch den gleitenden Wert ausgegliche werden... Vielleicht ist meine Sorge unbegr
ü
ndet und eine reine Abfrage anhand der feststellten Temperatur anhand eines bestimmten Schwellenwertes vollkommen ausreichend. Ich bastle gleich nochmal eine zweite Version.Weitere Fragen habe ich aber zur einer Einschaltverz
ö
gerung. Bin ich mit folgendem Versuch total auf dem Holzweg?

Wie l
ö
se ich die Abfrage des angelegten Zeitstempels und dessen L
ö
schung nach einer definierten Zeit? -
Okay, ich habe nun auch die anderen Teile in den Zeitplan eingef
ü
gt. Das Skript sieht nun so aus:
Ich schaue mir das mit der reinen Temperatursteigerung noch einmal an. Ich habe ein wenig "Angst" vor Fehlausl
ö
sungen wegen Temperaturspr
ü
ngen am Sensor. Einerseits m
ö
chte ich, dass die Zirkulation m
ö
glichst zeitnah anspringt (daher geringe Temperaturdifferenzen), andererseits sollen Fehler durch den gleitenden Wert ausgegliche werden... Vielleicht ist meine Sorge unbegr
ü
ndet und eine reine Abfrage anhand der feststellten Temperatur anhand eines bestimmten Schwellenwertes vollkommen ausreichend. Ich bastle gleich nochmal eine zweite Version.Weitere Fragen habe ich aber zur einer Einschaltverz
ö
gerung. Bin ich mit folgendem Versuch total auf dem Holzweg?

Wie l
ö
se ich die Abfrage des angelegten Zeitstempels und dessen L
ö
schung nach einer definierten Zeit?@scrub sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Weitere Fragen habe ich aber zur einer Einschaltverz
ö
gerungSchau Dir im Starthilfe-Thread das Thema "timeout" an.
-
Okay, ich habe nun auch die anderen Teile in den Zeitplan eingef
ü
gt. Das Skript sieht nun so aus:
Ich schaue mir das mit der reinen Temperatursteigerung noch einmal an. Ich habe ein wenig "Angst" vor Fehlausl
ö
sungen wegen Temperaturspr
ü
ngen am Sensor. Einerseits m
ö
chte ich, dass die Zirkulation m
ö
glichst zeitnah anspringt (daher geringe Temperaturdifferenzen), andererseits sollen Fehler durch den gleitenden Wert ausgegliche werden... Vielleicht ist meine Sorge unbegr
ü
ndet und eine reine Abfrage anhand der feststellten Temperatur anhand eines bestimmten Schwellenwertes vollkommen ausreichend. Ich bastle gleich nochmal eine zweite Version.Weitere Fragen habe ich aber zur einer Einschaltverz
ö
gerung. Bin ich mit folgendem Versuch total auf dem Holzweg?

Wie l
ö
se ich die Abfrage des angelegten Zeitstempels und dessen L
ö
schung nach einer definierten Zeit? -
@scrub
So kannst Du mit "Wert" noch immer nicht arbeiten.
Das funktioniert nur in einem Trigger auf einen DP.
-
@scrub
So kannst Du mit "Wert" noch immer nicht arbeiten.
Das funktioniert nur in einem Trigger auf einen DP.
@codierknecht
Danke f
ü
r deine Hilfe. Ich steige zwar noch nicht ganz dahinter, lese mich aber noch einmal ein. Du hast als Wert SwitchState eingetragen, den finde ich aber bei mir nicht. Ich finde nur Switch?
-
@scrub sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Weitere Fragen habe ich aber zur einer Einschaltverz
ö
gerungSchau Dir im Starthilfe-Thread das Thema "timeout" an.
@codierknecht sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Schau Dir im Starthilfe-Thread das Thema "timeout" an.

So?
-
@codierknecht
Danke f
ü
r deine Hilfe. Ich steige zwar noch nicht ganz dahinter, lese mich aber noch einmal ein. Du hast als Wert SwitchState eingetragen, den finde ich aber bei mir nicht. Ich finde nur Switch?
@scrub sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Du hast als Wert SwitchState eingetragen, den finde ich aber bei mir nicht. Ich finde nur Switch?
Wie der Kram bei Dir hei
ß
t, wei
ß
t nur Du 
Es sollte das Prinzip klar werden.So?
Nein. Nimm nicht "Pause" sondern "Timeout" - wie oben gezeigt.
Da passiert folgendes:
Wenn die Temperatur
ü
ber 30
°
C steigt, wird gepr
ü
ft, ob der letzte Wert darunter lag.
Nur dann wird die Pumpe (sofort) eingeschaltet.
Nach der gew
ü
nschten Zeit wird die Pumpe wieder ausgeschaltet.Die Zeit bestimmst Du selbst. Keine Ahnung was da sinnvoll ist.
Das sollte prinzipiell erstmal funktionieren.
Im n
ä
chsten Schritt muss man mal schauen wie oft das so anspringt und sich ggf. Gegenma
ß
nahmen
ü
berlegen wenn das zu oft passiert.Es k
ö
nnte auch passieren, dass die Temp.
ü
ber 30
°
steigt und das Anwerfen der Pumpe sie nicht unter 30
°
kriegt.
Wie gesagt: Ich habe von dem Anwendungsfall keinen blassen Schimmer. Versuch macht klug! -
@scrub sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Du hast als Wert SwitchState eingetragen, den finde ich aber bei mir nicht. Ich finde nur Switch?
Wie der Kram bei Dir hei
ß
t, wei
ß
t nur Du 
Es sollte das Prinzip klar werden.So?
Nein. Nimm nicht "Pause" sondern "Timeout" - wie oben gezeigt.
Da passiert folgendes:
Wenn die Temperatur
ü
ber 30
°
C steigt, wird gepr
ü
ft, ob der letzte Wert darunter lag.
Nur dann wird die Pumpe (sofort) eingeschaltet.
Nach der gew
ü
nschten Zeit wird die Pumpe wieder ausgeschaltet.Die Zeit bestimmst Du selbst. Keine Ahnung was da sinnvoll ist.
Das sollte prinzipiell erstmal funktionieren.
Im n
ä
chsten Schritt muss man mal schauen wie oft das so anspringt und sich ggf. Gegenma
ß
nahmen
ü
berlegen wenn das zu oft passiert.Es k
ö
nnte auch passieren, dass die Temp.
ü
ber 30
°
steigt und das Anwerfen der Pumpe sie nicht unter 30
°
kriegt.
Wie gesagt: Ich habe von dem Anwendungsfall keinen blassen Schimmer. Versuch macht klug!@codierknecht sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Wie gesagt: Ich habe von dem Anwendungsfall keinen blassen Schimmer. Versuch macht klug!
Das ist klar. Die eigentlichen Werte kann ich im Selbstversuch dann noch anpassen.
Nun habe ich das Skript f
ü
r den Timeout entsprechend der Beschreibung angepasst. Passt das?
Und wenn ich mich nicht total vertue, baue ich das ebenso in den Zeitplan-Block mit ein, da es ja ebenfalls laufend abgefragt werden soll?!
-
@codierknecht sagte in Mein erstes Blockly | Schaltung f
ü
r Zirkulationspumpe:Wie gesagt: Ich habe von dem Anwendungsfall keinen blassen Schimmer. Versuch macht klug!
Das ist klar. Die eigentlichen Werte kann ich im Selbstversuch dann noch anpassen.
Nun habe ich das Skript f
ü
r den Timeout entsprechend der Beschreibung angepasst. Passt das?
Und wenn ich mich nicht total vertue, baue ich das ebenso in den Zeitplan-Block mit ein, da es ja ebenfalls laufend abgefragt werden soll?!
@scrub
Warum wird da jetzt pl
ö
tzlich der Schalter
ü
berwacht?
Das k
ö
nnte knallen, da ja der Schalter hier auch per Code geschaltet wird.
K
ö
nnte 'ne wunderbare Endlosschleife werden.Ich dachte, es geht um die Temperatur?
Was
ü
brigens nicht funktioniert ist "Trigger in Trigger" oder "Trigger in Zeitplan".

Wieso Zeitplan?
Ich hatte Dir doch oben gezeigt: Einen Trigger auf die Temperatur
ä
nderungen setzen.
Wie oft
ä
ndert die sich bzw. wie oft sendet der Sensor seine Daten an ioB?
Vermutlich deutlich seltener als alle 2 Sekunden. Derart h
ä
ufig abzufragen w
ä
re also sinnbefreit und w
ü
rde das System unn
ö
tig belasten.
Wiederkehrendes Abfragen von Werten
ü
ber derart kurze Zeitpl
ä
ne ist eigentlich eher ein Notnagel.
Wesentlich effektiver ist es, auf die
Ä
nderungen von Werten direkt zu reagieren.
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
