NEWS
[Vorlage] Gartenbewässerung mit 6 Ventilen
-
@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.
-
@bjoern-kunder die Timer per Cron konnte nicht korrekt erstellt werden.
Dem Skript fehlt warscheinlich noch irgendweine Info
-
@kuddel vielen Dank - der Hinweis hat geholfen. Nun ist nur noch ein Fehler übrig. Ne Idee?
-
@bjoern-kunder hatte ich auch.
Seit ich den javascript Adaptet aktualisiert habe, ist der Fehler auch weg
-
@kuddel danke probier ich aus
-
@bjoern-kunder es läuft nun so wie es soll...musste noch viel in der VIS nachziehen, da ich javascript anstelle von 0_userdata verwende. Stelle das angepasste Skript (Integration Raspberry GPIOS) gerne zur Verfügung.
-
Guten Tag, ich habe soeben den Admin aktualisiert auf Version 6.2.20 und habe nun folgende Fehlermeldung beim Start des Scriptes:
script.js.Bewässerung.Steuerung_4_4_1 Error by subscription: ID of type boolean or number is not supported.
-
@idefix01 jo den Fehler habe ich auch, aber noch überhaupt keine Lösungsansätze
-
habe gerade dein Script in einer neuen Instanz integriert und erhalte folgenden Fehler:
in meiner alten iobroker Instanz lief alles.
Edit: zu spät den letzen Post gesehen.