NEWS
[Vorlage] Gartenbewässerung mit 6 Ventilen
-
@mameier1234 schaue ich in deiner Version mal besonders drauf. Sollte ja bei die gefixt sein.
Hast du sonst noch Groß etwas geändert, worauf ich besonders achten muss?
-
@kuddel ... ganz ehrlich ? Ich bin den ganzen Tag drann gehängt, bis ich durchgestiegen bin und es bei mir lief.. ich weiss es nicht mehr genau...
Lass es doch durch notepad ++ laufen und schau dir die Diffs an..?
-
@mameier1234 ich vergleiche einfach die blocklys und gut.
Was macht denn die neue Variable "vars_ventil_x_aktor_activity" ?
Die gab's bei mir ja noch nicht
-
@kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
Was macht denn die neue Variable "vars_ventil_x_aktor_activity" ?
Die gab's bei mir ja noch nicht
Bei Gardena wird nicht ein Aktor von false auf True gesetzt, sondern es wird ein "duration_Value" mit der Laufzeit gesteuert ... oder mit Stop until next Task ... zum beenden...
In dem DP Activity steht dann der Zustand (Closed, opened usw..). Zum Bewässern prüfe ich jetzt, ob der Aktor auf True steht ODER Activity Closed ist, wenn das entsprechende Ventil gestartet werden soll...
-
Guten Abend, mir ist aufgefallen das bei der neuen Version Ventil 5 und 6 noch immer den selben Namen erhalten. Ventil 5 hat den Namen von Ventil 6
-
@idefix01 Ja.. das ist mir heute auch aufgefallen... ich dachte schon ich habe nen Fehler gemacht..
-
@idefix01 @mameier1234 , hmm ich dachte eigentlich, dass der Fehler weg ist
Dann muss ich morgen wohl wieder testen. Verdammt ^^
-
hab ihn gefunden...
Linke Seite .. im Block Ventile ganz unten.. Ventil 6 , da wird der Variable Ventil5-Name zugewiesen...
-
@mameier1234 ah super, danke.
Das ist der große Nachteil von Blockly, man verklickt sich sehr schnell, wenn man mit Variablen arbeitet, nur in Javascript hätte ich das nicht hinbekommen ^^
-
@kuddel
Ich klicke in der VIS immer mal wieder "intuitiv" auf ein einzelnes Ventil... Das wird brav "grün", ich würde jetzt aber erwarten, dass ich dieses Ventil hiermit mal kurz "manuel" (und zwar nur dieses eine) anschalten kann...
Ist warhscheinlich so nicht vorgesehen, müsste aber doch leicht möglich sein ?Auch... Wenn ein Bewässerungslauf über Alle Ventile läuft.. würde ich mir manchmal wünschen, dass ich jetzt doch einfach das erste (das gerade grün ist) anlicke und dieses damit beendet wird und direkt zum nächsten Ventil gesprungen wird..
Wurde darüber schonmal diskutiert / Wünsche geäußert ?
-
@mameier1234 das Umbauen der VIS bekomme ich relativ leicht hin.
Nehme ich mal mit für die nächste Version.
Den Sprung von z.B Ventil 1 auf Ventil 2, wenn man Ventil 1 ausschaltet ist dann doch mehr als kompliziert.
Ich wüsste jetzt auch gerade gar nicht, wie man das umsetzen könnte, da ja alles neu berechnet werden muss wie Dauer, Rest etc. -
@mameier1234 ich habe gerade auf Seite 1 Version 4.4.0 hochgeladen.
Jetzt werden die Namen / Pfade zu den Ventil Aktoren in DPs geschrieben, die dann in der VIS angesteuert werden können.
Auch die VIS hat jetzt eine neue Version und muss einmal neu importiert werden, bzw. der in den Ventil Icons hinterlegte Aktor / Schalter muss aktualisiert werden.
-
@Kuddel etwas OT:
Ich passe mir dein Skript immer auf meine Aktoren an (Relais an einem RPI) , wenn ich es mal aktualisiere.
Da das Skript aber sehr groß ist "kämpfe" ich immer mit einem sich aufhängenden Browser um die passenden Blöcke hinzuzufügen bzw. zu ändern.Wie machst du das denn, wenn du in dem Blockly etwas bearbeitest?
Danke & Gruß
-
@kuddel mir ist noch was eingefallen, was im Script an Fehlern war..
Im Bereich Datenpunkt erstellen...
////////////////// // Ventil Namen // ////////////////// if(basic_vars_anzahl_ventile > 0) { // Name Ventil 1 if(basic_vars_anzahl_ventile > 0) { let name_ventil_1 = [[basic_vars_pfad+'.ventile.ventil_1.ventil_1_name', {'name':'ventil_1_name','type':'string','read':true,'write':true,'role':'text','def':basic_vars_kreis1_name}],]; await createUserStates(basic_vars_speicherort, name_ventil_1) aktueller_wert = getState(basic_vars_speicherort + '.' + basic_vars_pfad +'.ventile.ventil_1.ventil_1_name').val; if(aktueller_wert != basic_vars_kreis1_name) {setState(basic_vars_speicherort + '.' + basic_vars_pfad +'.ventile.ventil_1.ventil_1_name', basic_vars_kreis1_name);}; };
so läuft es bei mir auf einen Bug und erstellt die Ventile nicht..
da fehlt das "let" bei "aktueller wert" ...
////////////////// // Ventil Namen // ////////////////// if(basic_vars_anzahl_ventile > 0) { // Name Ventil 1 if(basic_vars_anzahl_ventile > 0) { let name_ventil_1 = [[basic_vars_pfad+'.ventile.ventil_1.ventil_1_name', {'name':'ventil_1_name','type':'string','read':true,'write':true,'role':'text','def':basic_vars_kreis1_name}],]; await createUserStates(basic_vars_speicherort, name_ventil_1) let aktueller_wert = getState(basic_vars_speicherort + '.' + basic_vars_pfad +'.ventile.ventil_1.ventil_1_name').val; if(aktueller_wert != basic_vars_kreis1_name) {setState(basic_vars_speicherort + '.' + basic_vars_pfad +'.ventile.ventil_1.ventil_1_name', basic_vars_kreis1_name);}; };
-
@pasakel ich bearbeite das Skript im Firefox und ja auch bei mir braucht der Brwoser immer ein wenig Bedenkzeit.
@mameier1234 vielen Dank für den Hinweis.
Neue Version kommt sofort
-
Hallo Kuddel, erstmal vielen Dank für dieses umfangreiche und tolle Skript. Ich erweitere es gerade um die Nutzung für die GPIOs eines Raspi, da ich diesen zur Steuerung meiner Ventile verwenden will. Soweit klappt das auch, nur habe ich den Fehler, dass wenn ich Ventil 2 aktiviere (unabhängig von parallelem Betrieb), wird die Zeit dort immer um minus 1 Minute berechnet/gesetzt. Ich verwende noch die Version 4.3.4. Ist das in der aktuellsten Version gefixt oder tritt das bei Dir gar nicht auf? Ich habe schon viel Zeit mit dem Finden des Fehler verbracht, komme aber nicht dahinter. Eventuell hast Du eine Idee woher das kommen kann?
Sobald ich alles sauber am Laufen habe, teile ich meine Version gern. Ergänze das Ganze noch um die Funktion eines sequentiellen Ablaufs, da ich jeden Kanal gerne direkt nacheinander ablaufen lassen möchte.
Danke Dir und Gruß
-
@bjoern-kunder wann genau ist die Berechnung nicht korrekt ?
Wenn man die Bewässerung startet und Ventil 1 nicht aktiviert ist und der Durchlauf direkt mit Ventil 2 anfängt ?
-
@kuddel Es hängt nur an Ventil 2 - alle anderen Ventile funktionieren alleine und in Kombi hinsichtlich der Zeit Berechnung tadellos. Lediglich V2 wird immer mit negativem Vorzeichen berechnet. Die Darstellung in VIS habe ich angehängt.
-
@bjoern-kunder hmm ich kann dein Problem leider nicht nachstellen:
-
@kuddel habe auf die aktuellste Version 4-4-1 umgestellt und nun klappt es mit den Berechnungen. Dafür bekomme ich im Log folgende Meldungen. Eventuell hattest Du das auch schonmal? Ich habe es noch nicht gefunden, wo es hier klemmt.