NEWS
Hilfe bei Blockly zur Bewässerungssteuerung
-
Guten Abend Zusammen.
Ich habe ein Problem mit eine Blockly Script bei dem ich absolut nicht weiter komme. Es geht dabei um die Steuerung meiner Bew
ä
sserung. Jeder Bew
ä
sserungskreis soll 3x f
ü
r eine bestimmt Zeit eingeschaltet werden. In meinem derzeitigen Stand vom Script ist hier lediglich eine Testzeit von 30 Sek. eingestellt. Mit einem Kreis klappt es aktuell wie es soll, doch nun m
ö
chte ich den n
ä
chsten Kreis mit einbinden und da ist die Problemstelle. Ich bekomme den zweiten Kreis ums verrecken nicht ins Skript vern
ü
nftig eingebunden. Zuerst soll der Kreis "Dusche" starten und nach Ablauf der Zeit soll Dusche wieder ausgeschaltet werden und der n
ä
chste Kreis "Feuerschale" starten. Anschlie
ß
end soll der Durchlaufz
ä
hler "DLF" um 1 erh
ö
ht werden und der n
ä
chste Bew
ä
sserungszyklus startet (Bis 3 Durchl
ä
ufe erreicht sind).Hat hier jemand einen Vorschlag wie sich das schlank l
ö
sen l
ä
sst?
Danke im Vorfeld.

-
Guten Abend Zusammen.
Ich habe ein Problem mit eine Blockly Script bei dem ich absolut nicht weiter komme. Es geht dabei um die Steuerung meiner Bew
ä
sserung. Jeder Bew
ä
sserungskreis soll 3x f
ü
r eine bestimmt Zeit eingeschaltet werden. In meinem derzeitigen Stand vom Script ist hier lediglich eine Testzeit von 30 Sek. eingestellt. Mit einem Kreis klappt es aktuell wie es soll, doch nun m
ö
chte ich den n
ä
chsten Kreis mit einbinden und da ist die Problemstelle. Ich bekomme den zweiten Kreis ums verrecken nicht ins Skript vern
ü
nftig eingebunden. Zuerst soll der Kreis "Dusche" starten und nach Ablauf der Zeit soll Dusche wieder ausgeschaltet werden und der n
ä
chste Kreis "Feuerschale" starten. Anschlie
ß
end soll der Durchlaufz
ä
hler "DLF" um 1 erh
ö
ht werden und der n
ä
chste Bew
ä
sserungszyklus startet (Bis 3 Durchl
ä
ufe erreicht sind).Hat hier jemand einen Vorschlag wie sich das schlank l
ö
sen l
ä
sst?
Danke im Vorfeld.

@estegemann sagte: Jeder Bew
ä
sserungskreis soll 3x f
ü
r eine bestimmt Zeit eingeschaltet werden.Initialisiere einen Count down Z
ä
hler f
ü
r das Intervall mit 3 * Kreis-Anzahl, berechne cnt % 3 als Wert, der den laufenden Kreis aus und den n
ä
chsten Kreis einschaltet. Das funktioniert nat
ü
rlich nur, wenn die Bew
ä
sserungsdauer f
ü
r alle Kreise identisch ist. Es bietet sich ein Array of IDs an.
Besser nicht mit "umschalten" arbeiten. -
@estegemann sagte: Jeder Bew
ä
sserungskreis soll 3x f
ü
r eine bestimmt Zeit eingeschaltet werden.Initialisiere einen Count down Z
ä
hler f
ü
r das Intervall mit 3 * Kreis-Anzahl, berechne cnt % 3 als Wert, der den laufenden Kreis aus und den n
ä
chsten Kreis einschaltet. Das funktioniert nat
ü
rlich nur, wenn die Bew
ä
sserungsdauer f
ü
r alle Kreise identisch ist. Es bietet sich ein Array of IDs an.
Besser nicht mit "umschalten" arbeiten.@paul53
Hi Paul,
Vielen Dank. Leider hat jeder Bew
ä
sserungkreis unterschiedliche Beregnungszeiten die jeweils in einem separaten Datenpunkt hinterlegt sind und sich auch
ä
ndern k
ö
nnen. Zudem verstehe ich leider nicht, was du mit den ID's meinst. Warum nicht mit umschalten arbeiten? -
@paul53
Hi Paul,
Vielen Dank. Leider hat jeder Bew
ä
sserungkreis unterschiedliche Beregnungszeiten die jeweils in einem separaten Datenpunkt hinterlegt sind und sich auch
ä
ndern k
ö
nnen. Zudem verstehe ich leider nicht, was du mit den ID's meinst. Warum nicht mit umschalten arbeiten?Ich gehe davon aus das
- Du f
ü
r jeden Kreis einen State hast in dem hinterlegt wird wie lange der laufen soll. - Diese Zeiten in Sekunden angegeben sind
Dann kann so etwas gehen (ist dann auch erweiterbar auf mehr als 2 Kreise, einfach die beiden Listen erweitern.)

Weggelassen habe ich den Zeitplan um den Durchlaufz
ä
hler initial zu starten. In dem m
ü
sstest Du den Durchlaufz
ä
hler auf die Anzahl der gew
ü
nschten Durchl
ä
ufe setzen.Nebenbei: Ein Intervall mit 1x pro Sekunde laufen lassen nur um per "falls" block einen Z
ä
hler beim Runterz
ä
hlen zu beobachten ist Ressourcenverschwendung. Du kannst die Dauer eines Timeouts vorher berechnen (muss in ms sein).A.
- Du f
-
Ich gehe davon aus das
- Du f
ü
r jeden Kreis einen State hast in dem hinterlegt wird wie lange der laufen soll. - Diese Zeiten in Sekunden angegeben sind
Dann kann so etwas gehen (ist dann auch erweiterbar auf mehr als 2 Kreise, einfach die beiden Listen erweitern.)

Weggelassen habe ich den Zeitplan um den Durchlaufz
ä
hler initial zu starten. In dem m
ü
sstest Du den Durchlaufz
ä
hler auf die Anzahl der gew
ü
nschten Durchl
ä
ufe setzen.Nebenbei: Ein Intervall mit 1x pro Sekunde laufen lassen nur um per "falls" block einen Z
ä
hler beim Runterz
ä
hlen zu beobachten ist Ressourcenverschwendung. Du kannst die Dauer eines Timeouts vorher berechnen (muss in ms sein).A.
@asgothian absolut klasse!
Deine beiden genannten Punkte sind vorhanden.
Sobald die Regenmassen sich bei uns hier verzogen haben, werde ich das Script testen.
Hab vielen Dank f
ü
r deine Zeit.Besten Gru
ß
,
Eric - Du f
-
Ich gehe davon aus das
- Du f
ü
r jeden Kreis einen State hast in dem hinterlegt wird wie lange der laufen soll. - Diese Zeiten in Sekunden angegeben sind
Dann kann so etwas gehen (ist dann auch erweiterbar auf mehr als 2 Kreise, einfach die beiden Listen erweitern.)

Weggelassen habe ich den Zeitplan um den Durchlaufz
ä
hler initial zu starten. In dem m
ü
sstest Du den Durchlaufz
ä
hler auf die Anzahl der gew
ü
nschten Durchl
ä
ufe setzen.Nebenbei: Ein Intervall mit 1x pro Sekunde laufen lassen nur um per "falls" block einen Z
ä
hler beim Runterz
ä
hlen zu beobachten ist Ressourcenverschwendung. Du kannst die Dauer eines Timeouts vorher berechnen (muss in ms sein).A.
@asgothian Mich w
ü
rde dennoch interessieren, wie das Script aussehen m
ü
sste, wenn man nach Zeitplan steuern w
ü
rde. Gibt es da evtl. auch die M
ö
glichkeit den Wochentag sowie die Startzeit variabel zugestalten? Ich w
ü
rde das dann gern in meine VIS einbauen und per checkbox die Wochentage ausw
ä
hlen, an denen bew
ä
ssert werden soll sowie die Uhrzeit.Hast du vlt. Zeit das Script nochmal dahingehend anzupassen? Das w
ä
re klasse.Mit besten Gr
ü
ß
en,
Eric - Du f
-
@asgothian Mich w
ü
rde dennoch interessieren, wie das Script aussehen m
ü
sste, wenn man nach Zeitplan steuern w
ü
rde. Gibt es da evtl. auch die M
ö
glichkeit den Wochentag sowie die Startzeit variabel zugestalten? Ich w
ü
rde das dann gern in meine VIS einbauen und per checkbox die Wochentage ausw
ä
hlen, an denen bew
ä
ssert werden soll sowie die Uhrzeit.Hast du vlt. Zeit das Script nochmal dahingehend anzupassen? Das w
ä
re klasse.Mit besten Gr
ü
ß
en,
EricDu brauchst:
- Diese 3 Bausteine, am besten in einer Funktion:

- Je nach dem was du
ü
ber die Vis ansteuern willst ersetzt du die "*" Bausteine durch ein "wert von ...". Dabei darauf achten das die Werte zu den Cron Regeln passen - im Schedule setzt du wie gehabt einfach deinen Durchlaufz
ä
hler auf die Anzahl an Durchl
ä
ufen die du haben willst. - einen Trigger auf alle States mit denen du den Zeitplan ansteuern willst, in dem du die 3 obigen Bausteine nutzt.

- Die Funktion solltest du dann auch bei Skriptstart aufrufen.
A.
- Diese 3 Bausteine, am besten in einer Funktion:
-
Guten Abend Zusammen.
Ich habe ein Problem mit eine Blockly Script bei dem ich absolut nicht weiter komme. Es geht dabei um die Steuerung meiner Bew
ä
sserung. Jeder Bew
ä
sserungskreis soll 3x f
ü
r eine bestimmt Zeit eingeschaltet werden. In meinem derzeitigen Stand vom Script ist hier lediglich eine Testzeit von 30 Sek. eingestellt. Mit einem Kreis klappt es aktuell wie es soll, doch nun m
ö
chte ich den n
ä
chsten Kreis mit einbinden und da ist die Problemstelle. Ich bekomme den zweiten Kreis ums verrecken nicht ins Skript vern
ü
nftig eingebunden. Zuerst soll der Kreis "Dusche" starten und nach Ablauf der Zeit soll Dusche wieder ausgeschaltet werden und der n
ä
chste Kreis "Feuerschale" starten. Anschlie
ß
end soll der Durchlaufz
ä
hler "DLF" um 1 erh
ö
ht werden und der n
ä
chste Bew
ä
sserungszyklus startet (Bis 3 Durchl
ä
ufe erreicht sind).Hat hier jemand einen Vorschlag wie sich das schlank l
ö
sen l
ä
sst?
Danke im Vorfeld.

@estegemann Du kannst dir auch mal das Skript von Kuddel anschauen: https://forum.iobroker.net/topic/33573/vorlage-gartenbew
ä
sserung-mit-6-ventilen falls du es noch nicht kennst.
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