NEWS
"einfaches" Blockly-Script zur Bewässeungssteuerung
-
Nein, es dürfen nicht beide Ventile gleichzeitig geöffnet sein…
-
Nein, es dürfen nicht beide Ventile gleichzeitig geöffnet sein… `
OK, dann habe ich Deinen Ablaufplan (fast) verstanden.Sollen die denn über einen bestimmten Tagesabschnitt, z.B. 05:45 bis 17:00 Uhr, im Wechsel für eine Laufzeit von x Minuten laufen?
Oder soll einmalig um 05:45 Pumpe-1 x-Minuten laufen und danach Pumpe-2 y-Minuten und dann Bewässerung Ende?
-
OK, dann habe ich Deinen Ablaufplan (fast) verstanden.
Sollen die denn über einen bestimmten Tagesabschnitt, z.B. 05:45 bis 17:00 Uhr, im Wechsel für eine Laufzeit von x Minuten laufen?
Oder soll einmalig um 05:45 Pumpe-1 x-Minuten laufen und danach Pumpe-2 y-Minuten und dann Bewässerung Ende? `
Das soll später mal kommen als Semi-Automatik…
in diesem Fall geht es um das "simple" Einschalten für x-Minuten und das nach meinem Ablaufplan...
darum müsste ich ja irgendwie das "widget" Triggern bzw ein eigens dafür angelegtes Objekt.
-
in diesem Fall geht es um das "simple" Einschalten für x-Minuten und das nach meinem Ablaufplan…
darum müsste ich ja irgendwie das "widget" Triggern bzw ein eigens dafür angelegtes Objekt. `
Also willst Du die Bewässerung manuell über VIS einschalten.
Dann brauchst Du eine boolsche Variable "Bewaesserung" Wahr = Ein / unwahr = Aus.
(Da gibt es etliche Widgets die eine Variable wahr/unwahr schalten)
Diese Variable musst Du dann triggern.
Falls Objekt ID <bewaesserung>gleich wahr
Damit würde Dein Ablauf gestartet, sobald Du über VIS diese Var auf wahr setzt.
Am Ende des Scripts: "steuere Wert von <bewaesserung>= unwahr"
Dann kannst Du auch in VIS sehen ob die Bewässerung aktiv ist oder nicht.
Noch eine Frage. Nach dem Starten sollen BEIDE Pumpen x-Minuten laufen, aber NICHT zusammen.
Und je Pumpe gibt es unterschiedliche Laufzeiten.</bewaesserung></bewaesserung>
-
Also willst Du die Bewässerung manuell über VIS einschalten.
Dann brauchst Du eine boolsche Variable "Bewaesserung" Wahr = Ein / unwahr = Aus.
(Da gibt es etliche Widgets die eine Variable wahr/unwahr schalten)
Diese Variable musst Du dann triggern.
Falls Objekt ID <bewaesserung>gleich wahr</bewaesserung> `
eigendlich schon Aber… Ich würde gern wie bei einem Rolladen Widget festlegen wie Lange die Bewässerung laufen soll (max 60min)...Ich hatte gester etwas gespielt und es wurde ja auch der 0 - 100 in die Variable übergeben aber eben noch nicht false und true...
Noch eine Frage. Nach dem Starten sollen BEIDE Pumpen x-Minuten laufen, aber NICHT zusammen.
Und je Pumpe gibt es unterschiedliche Laufzeiten. `
Eigendlich ist es nur eine Pumpe und zwei Ventile und Ja es dürfen nicht beide Ventile gleichzeitig geöffnet sein. Für die Semi-Automatic später sollen beide nacheinder für unterschiedliche Zeiten angesteuert werden. -
eigendlich schon Aber… Ich würde gern wie bei einem Rolladen Widget festlegen wie Lange die Bewässerung laufen soll (max 60min)...
Ich hatte gester etwas gespielt und es wurde ja auch der 0 - 100 in die Variable übergeben aber eben noch nicht false und true... `
Wir sind noch nicht auf dem gleichen Nenner.Zeiten für "x-Minuten" -> Dein (warum auch immer) Rolladen Widget. -> OK?
True/false kann dieses Widget NICHT.
Hast Du nur dieses eine Widget?
Und Du beantwortest meine Fragen nicht.
1. Sollen beide Ventile über EIN Script, nacheinander x-Minuten geöffnet werden?
2. Willst Du jedes Ventil einzeln für x-Minuten öffnen?
a) Wie soll Dein Script(e) gestartet werden?
aa) Bei einer bestimmten ZEIT?
ab) Wenn Du den Wert einer Laufzeit (x-Minuten) ÄNDERST?
ac) Wenn Du einen "Schalter" (Variable) auf WAHR SETZT?
Für die Semi-Automatic später sollen beide nacheinder für unterschiedliche Zeiten angesteuert werden. `
Lass mal das "später" weg. Das wäre nur doppelte Arbeit.Zuerst muss ich verstehen was Du möchtest.
Mach bitte keinen Ablaufplan, fasse es in Worte.
-
Wir sind noch nicht auf dem gleichen Nenner.
Zeiten für "x-Minuten" -> Dein (warum auch immer) Rolladen Widget. -> OK?
True/false kann dieses Widget NICHT.
Hast Du nur dieses eine Widget? `
ich bin nicht fixiert auf ein bestimmtes Widget. Ich hab's mit dem " jqui-mfd - Custom10 + jqui Dialog" versucht. Ich denke das es true/false kann nur weiß ich nicht wie…Und Du beantwortest meine Fragen nicht.
1. Sollen beide Ventile über EIN Script, nacheinander x-Minuten geöffnet werden?
2. Willst Du jedes Ventil einzeln für x-Minuten öffnen?
a) Wie soll Dein Script(e) gestartet werden?
aa) Bei einer bestimmten ZEIT?
ab) Wenn Du den Wert einer Laufzeit (x-Minuten) ÄNDERST?
ac) Wenn Du einen "Schalter" (Variable) auf WAHR SETZT? `
1.) nein getrennt von einander
2.) ja
a) jedes über ein eigenes Widget + plus eine Zeitsteuerung (Semi-Automatik)
aa) Venite einzeln - NEIN, Semi-Automatik - JA
ab)die beiden einzel Steuerungen - JA
ac) JA
Lass mal das "später" weg. Das wäre nur doppelte Arbeit.
Zuerst muss ich verstehen was Du möchtest.
Mach bitte keinen Ablaufplan, fasse es in Worte. `
okay okay… keine Pläne mehr.
Über ein Widget in der VIS möchte ich gern die dauer der Bewässerung für jedes Ventil einzeln steuern können. Also per knopfdruck für die ausgewähle Zeit starten. Das geht aber nur wenn das andere Ventil geschlossen ist. ansonsten muß die Ausführung hinten angestellt werden.
Des weiteren soll der Zeitpunkt der der Ausführung erfasst werden genauso wie die Dauer, die Dauer soll pro Tag aufaddiert werden. So das man sieht wie lange gesamt Bewässert wurde, daraus lässt ableiten wieviel Wasser aufgebracht wurde...
Zusätzlich möchte ich dann im VIS eine Semi Automatic erstellen können. Also für beide Ventile getrenn von einander die Startzeiten festlegen und auch täglich, jden zweiten Tag usw... Die Dauer sollte auch für beide wieder getrennt regelbar sein. Und natürlich auch wieder die Daten für die Historie liefern...
Ich hoffe so kommen wir langsam auf einen Nenner...
-
Über ein Widget in der VIS möchte ich gern die dauer der Bewässerung für jedes Ventil einzeln steuern können. Also per knopfdruck für die ausgewähle Zeit starten. Das geht aber nur wenn das andere Ventil geschlossen ist. ansonsten muß die Ausführung hinten angestellt werden. `
Sollte gehen.
@sveni_lee:Des weiteren soll der Zeitpunkt der der Ausführung erfasst werden genauso wie die Dauer, die Dauer soll pro Tag aufaddiert werden. So das man sieht wie lange gesamt Bewässert wurde, daraus lässt ableiten wieviel Wasser aufgebracht wurde… `
Da sind die Möglichkeiten von Blockly derzeit noch etwas begrenzt (oder auch meine :roll: )Aber das würde ich sowieso in ein ganz separates Script packen und kann ganz zum Schluss gebaut werden.
@sveni_lee:Zusätzlich möchte ich dann im VIS eine Semi Automatic erstellen können. Also für beide Ventile getrenn von einander die Startzeiten festlegen… `
Das sollte gehen.
@sveni_lee:…und auch täglich, jden zweiten Tag usw... `
Das ist wieder sehr tricky und umfangreich. Würde ich erstmal weglassen. Du sollst ja hinterher auch noch was zu basten haben
@sveni_lee:Ich hoffe so kommen wir langsam auf einen Nenner…
`
Glaube schonIch überlege mir mal wie wir da am besten anfangen.
Grüße
-
sooo…
ich habe mal ein wenig gespielt und doch tatsächlich ein laufendes Skript hinbekommen.
istzwar noch sehr rudimentär aber läuft...
2712_5.jpg -
Du bist auf dem richtigen Weg!
Aber Du hast eine Endlosschleife eingebaut.
Trigger reagiert auf ÄNDERUNG "Testprojekte"
Innerhalb des Triggers ÄNDERST Du "Testprojekte". (*60000)
Da rennt der Trigger natürlich sofort wieder los. (160000 -> 6000060000 -> ….....)
-
Ich dachte ich ändere LaufZeitPump_01 auf Testobjekte*60000 .
Textobjekte selbst wird eigentlich nicht geändert…
Gesendet von iPhone mit Tapatalk Pro
-
Ups, hast recht. :oops: Nur mit halben Auge hingeschaut und ist schon spät….
-
Ich habe gerstern noch ein wenig weiter "gespielt".
Also habe ich auch noch die Pumpenschaltung eingebaut. Bedeutet bevor das Ventil_1 geöffnet wird, wird der
"State" der Pumpe abgefragt und in eine Variable gesetzt.
Ist die Variable "false" wird die Pumpe eingeschaltet und anschließend das Ventil_1 geöffnet.
nach Ablauf des Timeout wird das Ventil_1 wieder geschlossen. Wenn die Variable des "State" der Pumpe
"false" war, wird die Pumpe abgeschaltet, wenn die Variable aber "true" war, bleibt die Pumpe an.
Soweit ist alles wie gewollt, nun wird es aber kompliziert.
Wenn das Ventil_1 manuell, wärend es geöffnet ist, auf null gesetzt wird, wird das auch durch den Trigger erfasst (soll es ja auch) und die Ventil_1 entsprechend abgeschaltet. Allerdings und das ist grad mein Problem wird auch der "State" der Pumpe neu ermittelt und in die Variable neu gesetzt und das ist ja immer "true" (da es sich ja um die manuelle Abschaltung handelt) und somit bleibt die Pumpe immer an…
Ich hoffe ich konnte mein Problem grad verdeutlichen...
Gruß
Sveni_Lee
-
Ich hoffe ich konnte mein Problem grad verdeutlichen…
`
Bilder und/oder Export wären deutlicher.
-
das geht dann erst heute Abend… .)
-
okay…
Ich hatte das "setzte Pumpenstatus" an der falschen Stelle im Skript nun geht auch das...
jetzt werde ich mich mal ans erfassen der Daten machen. mal sehen ob ich das auch hinbekomme...
2712_6.jpg -
Super wenn es klappt!
Viel Spass mit Blockly
Ach, setzt Du noch bitte ein [gelöst] in den Betreff.
Grüße