NEWS
[Vorlage] Gartenbewässerung mit 6 Ventilen
-
@kuddel said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
@puppet1912 den Pfad hole ich mir aus dem angegebenen Aktornamen.
Daher sollte die Instanz egal sein.
Schaue ich mir morgen noch einmal an.
Okay, war nur eine Vermutung, wenn auch eine unwahrscheinliche.
Meine Aussage war allerdings nicht ganz korrekt: Ich habe beobachtet, wenn alle meine 5 Ventile AutoTimerOff = false, dann schreibt das Script kurz vor Ende des Gesamtdurchlaufs in den AutoTimerOffDelay des ersten Ventils den entsprechenden Wert. Aber auch nur in den DP des ersten Ventils, alle anderen bleibe unberührt.
Da der Shelly-Adapter mit den Plus-Modellen anders kommuniziert, habe ich mir ein kleines Testscript gebaut um zu checken, ob die Datenpunkte geschrieben werden. Funktioniert alles soweit. Nur um auszuschließen, dass hier der Fehler woanders liegt.
Edit: Eins ist mir eben aufgefallen: Die Automatik hat eben für Abends die Bewässerung gestartet, ohne Schwellwertcheck. Im Log steht aber dennoch "manueller Start". Ist dies so gewollt?
Beste Grüße
-
zum Thema autom. Start und Schwellwerte. So sah es heute morgen bei mir aus:
Heute 04:51 Automatischer Start
Habe das Skript eben noch einmal angeschaut und den fehler bzgl. Shelly Plus gefunden.
Bitte noch einmal testen. Danke
-
@kuddel said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
zum Thema autom. Start und Schwellwerte. So sah es heute morgen bei mir aus:
Die automatischen Starts morgens und abends funktionieren bei mir nun auch. Witzigerweise einmal automatisch und kurz darauf nochmal manuell. Den zweiten kann ich mir nicht erklären. Es läuft genau ein Script.
Heute 06:04 Vorgang beendet Heute 06:03 Ventil 5 - Hecke aktiv Heute 06:02 Ventil 4 - Terrasse aktiv Heute 06:01 Ventil 3 - Südseite aktiv Heute 06:00 Ventil 2 - Küche aktiv Heute 05:59 Ventil 1 - Einfahrt aktiv Heute 05:59 Dauer: 05:05 Min, Ende: 06:04:06 Heute 05:59 Manueller Start Heute 05:55 Vorgang beendet Heute 05:54 Ventil 5 - Hecke aktiv Heute 05:53 Ventil 4 - Terrasse aktiv Heute 05:52 Ventil 3 - Südseite aktiv Heute 05:51 Ventil 2 - Küche aktiv Heute 05:50 Ventil 1 - Einfahrt aktiv Heute 05:50 Dauer: 05:05 Min, Ende: 05:55:06 Heute 05:50 Automatischer Start
Auch die Einstellungen geben keinen neuen Start vor. Das gleiche Phänomen hatte ich gestern gegen 17:00 Uhr auch schon mal...ohne das ich etwas ausgelöst habe, gab es einen manuellen Start. Da wird wohl noch ein Cronjob aktiv sein. Auch die Datenpunkte passen zu dem was in der View eingestellt ist.
Habe das Skript eben noch einmal angeschaut und den fehler bzgl. Shelly Plus gefunden.
Bitte noch einmal testen. Danke
Werde ich nachher gleich machen. Danke dir.
Ich bin bei Änderungen jetzt immer so vorgegangen, dass ich den kompletten Objektbaum gelöscht habe, das Script gestoppt und komplett gelöscht habe und dann die neue Version eingefügt habe. Sinnvoll, oder gibt es einen besseren Weg?Beste Grüße
-
@puppet1912 der Weg ist auf jeden Fall sauber.
Ich würde noch einmal den kompletten ioBroker neustarten, falls da doch noch ein Cronjob oder so läuft.
-
@puppet1912 habe gerade noch einen Fehler im Skript gefunden, der Fehler bei der Verwendung von Shelly (nicht Plus) verursachen könnte.
-
@kuddel said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
@puppet1912 habe gerade noch einen Fehler im Skript gefunden, der Fehler bei der Verwendung von Shelly (nicht Plus) verursachen könnte.
Ich werde dann mal durchstarten, nachdem ich die letzte Version jetzt gleich testen werden. Geb gleich bescheid.
Edit: Ich habe die zweite Version 4.2.0. getestet. Die gute Nachricht: Das Script schreibt Werte in "AutoTimerOffDelay", allerdings nicht die eingestellte Laufzeit von bpsw 60 Sekunden, sondern scheinbar immer die Restlaufzeit. Und dies auch ab dem zweiten Ventil auch zweimal direkt hintereinander. Ich habe aktuell 4 Ventile aktiv, mit je 1min Laufzeit. Ergibt eine Gesamtlaufzeit von 244 Sekunden. Beim Ventil 1 schreibt er 243s. Bei Ventil2 dann erst 182s und gleich darauf 182s. Und so weiter....
Den Datenpunkt "AutoTimerOFF" schreibt er nicht. Laut Log findet er ihn nicht. Wird aber daran liegen, dass im Pfad vor "AutoTimerOFF" noch "Switch.Relay0" steht.
2022-04-22 15:46:46.127 - warn: javascript.0 (341209) State "shelly.1.shellyplus1#441793a44118#1.Relay0.Switch.Relay0.AutoTimerOff" not found 2022-04-22 15:46:46.129 - warn: javascript.0 (341209) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20) 2022-04-22 15:46:46.129 - warn: javascript.0 (341209) at setStateDelayed (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1481:25) 2022-04-22 15:46:46.129 - warn: javascript.0 (341209) at Object. (script.js.common.Gartenbewässerung.SteuerungKuddel_420:1553:13) 2022-04-22 15:46:46.129 - warn: javascript.0 (341209) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1082:38) 2022-04-22 15:46:46.129 - warn: javascript.0 (341209) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29) 2022-04-22 15:46:46.130 - warn: javascript.0 (341209) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56) 2022-04-22 15:46:46.130 - warn: javascript.0 (341209) at processImmediate (internal/timers.js:464:21)
Der Pfad müsste lauten:
shelly.1.shellyplus1#441793a44118#1.Relay0.AutoTimerOff
Grüße
-
@puppet1912 oh ja das mit dem Pfad war ein schöner Denkfehler meinerseits ^^
Das mit er Laufzeit schaue ich mir auch an.
Sorry für das testen, aber wenn man selber keiner entsprechenden Aktor hat, ist das immer ein wenig schwierig.
-
Kannst dumir noch ein Tip mit dem Logparser geben? Der Doppelpunkt hinter Bewaesserung bei Whitlist Und hat nichts gebracht
-
@idefix01 die Einträge tauchen aber im ioBroker Log auf oder ?
-
@kuddel
schau ich mir nachher gleich nochmal an momentan zeigt er nur das: -
@Kuddel
So die Bewaesserung hat soeben gestartet aber die Logparser Einträge bleiben leer -
@idefix01 gibt es denn Einträge im normalen iobroker log ?
Die arbeitet der Logparser ja nur auf
-
so wie es aussieht macht er das nicht obwohl im Script auf true steht
-
@idefix01 das ist ja sehr komisch. Kannst du mal ein neues Blockly Skript erstellen und prüfen ob der Output Block bei dir überhaupt funzt.
Er ist unter System zu finden.
-
@kuddel said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
@puppet1912 oh ja das mit dem Pfad war ein schöner Denkfehler meinerseits ^^
Das mit er Laufzeit schaue ich mir auch an.
Sorry für das testen, aber wenn man selber keiner entsprechenden Aktor hat, ist das immer ein wenig schwierig.
Absolut kein Problem. Ich teste gerne und es soll ja auch was bei rum kommen.
Grüße
-
So ich habe es erst mal anders gemacht, ich habe das alte Script gestoppt (V4.0.2), habe die DP´s gelöscht und das neue Script eingerichtet (V4.2.0).
Mal schauen was er morgen macht
-
@puppet1912 sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
Absolut kein Problem. Ich teste gerne und es soll ja auch was bei rum kommen.
Grüße
Auf ein Neues...
-
@kuddel said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
@puppet1912 sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
Absolut kein Problem. Ich teste gerne und es soll ja auch was bei rum kommen.
Grüße
Auf ein Neues...
Das schaut sehr gut aus. Beide DPs werden geschrieben. Beim ersten Ventil wird im Delay die Zeit in Sekunden plus 1 Sekunde geschrieben, in meinem Fall also 61 Sekunden. In allen darauf folgenden DPs wird erst 61, direkt darauf dann 60 Sekunden geschrieben.
Denke aber das ist zu vernachlässigen und sollte völlig ausreichend. Herzlichen Dank!Bezüglich des Intervalls. Ich weiß du bist da noch dran. Daher nur folgende Beobachtung als Hinweis.
Wenn ich bspw den Haken in der ViS setze und dann die Zeit beginne einzugeben. Zu diesem Zeitpunkt wirft das Log bereits Fehler und zwar so lange, bis ich alles bis hin zum Punkt "Alle" eingegeben habe. Danach läuft dann nichts automatisch an.Beste Grüße
-
@puppet1912 das klingt ja super.
Dann kann ich. Version 4.2.0 ja freigeben.
Das Intervall fixe ich dann hoffentlich mir Version 4.2.1
Was mir bei deinem Log auffällt:
"Alle" darf nicht 0 sein.
Das Intervall kann leider immer nur genau zur vollen Stunde gestartet werden und läuft dann alle X Minuten.
Wenn "Alle" 0 ist, dann wird ein Cronjob mit */0 gebaut, was nicht funktioniert
-
@kuddel said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
@puppet1912 das klingt ja super.
Was mir bei deinem Log auffällt:
"Alle" darf nicht 0 sein.
Das Intervall kann leider immer nur genau zur vollen Stunde gestartet werden und läuft dann alle X Minuten.
Wenn "Alle" 0 ist, dann wird ein Cronjob mit */0 gebaut, was nicht funktioniert
Okay, dann muss ich das in der VIS mal anpassen, dass nur "volle" Stunden ausgewählt werden können. Die 0 im DP "Alle" resultiert denk ich daraus, dass das Script bereits beginnt den Cron anzulegen, während noch Stunde und Anzahl eingetragen werden. Wenn man das zum ersten mal befüllt steht in "Alle" ja noch eine 0. Auch das werd ich in der VIS mal anpassen und schauen. Am Ende ist es nur ein Problem des befüllens der DPs.
Grüße