NEWS
[Vorlage] Gartenbewässerung mit 6 Ventilen
-
@kuddel said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
@puppet1912 der Fehler weist auf eine Variable, die nicht definiert ist.
Der Fehler ist in Zeile 1542 und verweist auf "AutoTimerOff"
Das Skript findet den DP "shelly.0.NAME-DEINES-AKTORS.Relay0.AutoTimerOff" nicht.
Der DP erwartet auf jeden Fall eine Zahl. Darüber wird die Einschaltdauer des Aktors gesteuert, damit der Aktor eigenständig ausschaltet, wenn der ioBroker mal abstürzt.
Sind die DP beim Shelly 1 Plus evtl. anders als beim Shelly 1 ?
Die Datenpunkte scheinen tatsächlich anders zu sein. Habe eben mal bei einem Shelly 1 geschaut, welchen ich noch verbaut habe. So schauts jetzt beim Shelly 1 Plus aus:
Habe es eben nochmal genauer angeschaut. Die DPs werden tatsächlich nicht vom Script befüllt, auch nicht der OffDelay.
Hast du den heutigen Wochentag (Mittwoch) aktiviert?
Wenn der nicht aktiviert ist, dann startet die Automatik auch nicht
Ja, bei mir sind alle Wochentage aktiviert, ebenso sind die Haken für Morgens und Abends gesetztSo sind meine Einstellungen, aber weder heute Morgen um 05:54 Uhr noch heute Abend um 20:07 Uhr erfolgte eine Aktivierung.
Ich werde jetzt erstmal dein aktuelles Script und VIS einspielen.
Beste Grüße
-
Bzgl des Shelly klingt das wieder nach Arbeit.
Dann muss ich wohl in der nächsten Version eine Prüfung auf Shelly 1 Plus einbauen, damit die OnTime korrekt gesetzt wird.
Wie ist die genau Bezeichnung vom Shelly 1 Plus im DP unter shelly.0 ?
Deine VIS bzgl. der Automatik sieht gut aus. Ich finde da auf die Schnellen keinen Fehler
-
@kuddel said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
Bzgl des Shelly klingt das wieder nach Arbeit.
Tut mir leid! Wenn ich wirklich richtigen Durchblick bei deinem Script hätte, würde ich dir da zu gern unter die Arme greifen. Aber ich bin nach wie vor dabei die ganzen Verschachtelungen zu verstehen.
Dann muss ich wohl in der nächsten Version eine Prüfung auf Shelly 1 Plus einbauen, damit die OnTime korrekt gesetzt wird.
Wie ist die genau Bezeichnung vom Shelly 1 Plus im DP unter shelly.0 ?
Der Pfad lautet "shelly.0.shellyplus1#441793a440fc#1". Alles ab der ersten # ist dann spezifisch zum jeweiligen Device. Theoretisch könntest als nach "shellyplus1" suchen. Alle anderen Plus-Modelle machen für die Ansteuerung von Ventilen imho wenig Sinn. Ich nutze auch nur ein Plus-Modell, zwecks Potentialfreiheit, da ich 24VAC ansteuere.
Deine VIS bzgl. der Automatik sieht gut aus. Ich finde da auf die Schnellen keinen Fehler
Mmh, ich eben auch nicht. Mal sehen ob er morgen früh anspringt.
Grüße
-
@puppet1912 achja stimmt, der Typ steht ja im Pfad.
Ich versuche dann mal die neue Version in der nächsten Woche fertig zu basteln.
Denn danach bin ich erstmal 4 Wochen afk
-
@kuddel said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
@puppet1912 achja stimmt, der Typ steht ja im Pfad.
Ich versuche dann mal die neue Version in der nächsten Woche fertig zu basteln.
Denn danach bin ich erstmal 4 Wochen afk
Das wäre natürlich ganz großes Kino. Erneut Danke für deine ganze Mühe. Kann man dir denn irgendwo eine Spende zukommen lassen?
Beste Grüße
-
@puppet1912 sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
Ich nutze auch nur ein Plus-Modell, zwecks Potentialfreiheit, da ich 24VAC ansteuere.
Die normalen Shelly 1 (ohne plus) können das aber auch.
Nur als Info, nicht als Aufforderung die zu tauschen -
@bigchris said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
@puppet1912 sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
Ich nutze auch nur ein Plus-Modell, zwecks Potentialfreiheit, da ich 24VAC ansteuere.
Die normalen Shelly 1 (ohne plus) können das aber auch.
Nur als Info, nicht als Aufforderung die zu tauschenStimmt, da hast du recht. Ich hatte nurmal irrtümlich gelesen, dass es mit dem 1er nicht erlaubt sei. Für 24VAC wäre es aber gegangen. Da hatte ich die Stücke aber schon bestellt.
Nachteil ist eben nur, dass ich jetzt eine zweite Adapterinstanz laufen lasse und Kuddel wieder mehr Arbeit hat...Sorry nochmal.
Grüße -
@puppet1912
So ganz eindeutig ist die Lage dazu auch nicht...
Ich denke es könnten eher Probleme auftreten beim Betrieb mit 12 V und 230V zu schalten.
Ich versorge mit 230V und schalte 24VAC. Ich denke das sollte keine Probleme geben...Ich habe noch mal drüber nachgedacht, ich denke es gibt ach beim schalten von 230v keine Probleme.
-
@puppet1912 bitte die Version einmal testen, da ich keinen Shelly Plus habe.
BItte vorallem auf die beiden DPs "AutoTimerOff" und "AutoTimerOffDelay" achten.
-
@kuddel said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
@puppet1912 bitte die Version einmal testen, da ich keinen Shelly Plus habe.
BItte vorallem auf die beiden DPs "AutoTimerOff" und "AutoTimerOffDelay" achten.
Habe ich eben getestet: Es kommt keine Fehlermeldung mehr bzgl des Datentyps (bool/number).
Die Datenpunkte AutoTimerOff und AutoTimerOffDelay werden aber nicht durch das Script gesetzt.
Hast du den Pfad zu den beiden DPs hart codiert oder ziehst du dir den ersten Teil des Pfades aus de Variablen, die zu Anfang des Scripts definiert werden?
Bei mir laufen die Shellys nämlich auf Instanz 1 und nicht 0.
Grüße -
@puppet1912 den Pfad hole ich mir aus dem angegebenen Aktornamen.
Daher sollte die Instanz egal sein.
Schaue ich mir morgen noch einmal an.
-
@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 ?