NEWS
[Vorlage] Gartenbewässerung mit 6 Ventilen
-
@idefix01 lösche mal bitte alle DPs.
Wenn du dann das Skript startest, muss man erst alle Cronjobs neu bauen.
Dann nur die fest Zeit 17:30 Uhr konfigurieren.
Es sollten dann keine Fehler im Log auftauchen
-
Ich habe folgendes gemacht:
- Alle DP´s gelöscht
- Script V4.3.0 gestartet
- die Cronjobs eingestellt auf eine feste Zeit (Testweise 19:25)
- die Ventile eingestellt
als es 19:25 Uhr war kam das
2022-05-11 19:23:23.829 error script.js.Bewässerung.Steuerung_4_3_0: schedule(cron=25 19 * * 0,1,2,3,4,5,6): cannot create schedule
Node JS: 14.19.2
NPM: 6.14.17
-
@idefix01 hab mal fix meine Testumgebubg (Klon von heute morgen) gestartet und alle DPs gelöscht.
Habe die gleiche Fehlermeldung bzgl. Cron.
Einfach die Startzeit einmal ändern und dann zurück auf die gewüschte Zeit stellen, dann geht alles, also bei mir.
2022-05-11 19:35:51.587 error script.js.smarthome.sontiges.bewaesserung_v430: schedule(cron=40 19 * * ): cannot create schedule
Danach
2022-05-11 19:37:02.027 info script.js.smarthome.sontiges.bewaesserung_v430: Bewaesserung: Ventil 2 - Rasen aktiv 2022-05-11 19:37:02.027 info script.js.smarthome.sontiges.bewaesserung_v430: Bewaesserung: Ventil 1 - Hecke aktiv 2022-05-11 19:37:02.027 info script.js.smarthome.sontiges.bewaesserung_v430: Bewaesserung: Dauer: 15:03 Min, Ende: 19:52:04 2022-05-11 19:37:01.027 info script.js.smarthome.sontiges.bewaesserung_v430: Bewaesserung: Automatischer Start
-
Problem gelöst, die Javascript Instanz hatte Problem, ich weis nur nicht warum da nicht verändert wurde, nach einem Neustart der Javascript Instanz und danach alles nochmal neu einrichten hat alles geklappt und es funktioniert wieder automatisch
nach dem Instanz Neustart kann man hin und her wechseln mit der festen Zeit ohne Fehlermeldung
-
Moin Moin
@Kuddel
Ich hatte es dir ja schon mal beschrieben, dass beim Intervall interessanterweise immer 23:55 Uhr der DP "Intervall_Anzahl=0" gesetzt wird. Klang für mich erstmal nach der Übernahme der Wetterwerte vom aktuellen Tag nach "gestern". Habe es im Script jetzt auch gefunden, kann mir aber denn Sinn nicht ganz erklären.Sollte hier evtl ein anderer DP auf 0 gesetzt werden?
Beste Grüße
-
@puppet1912 ja das ist falsch.
Eigentlich soll da der Intervall Counter auf 0 gesetzt werden und nicht die Anzahl.
Das Ganze um 23:55 Uhr machen ist auch unglücklich, falls das Intervall über den Tageswechsel läuft.
Nehme den Punkt mit und wird in der nächsten Version gefixt.
-
@kuddel said in [Vorlage] Gartenbewässerung mit 6 Ventilen:
@puppet1912 ja das ist falsch.
Eigentlich soll da der Intervall Counter auf 0 gesetzt werden und nicht die Anzahl.
Das Ganze um 23:55 Uhr machen ist auch unglücklich, falls das Intervall über den Tageswechsel läuft.
Nehme den Punkt mit und wird in der nächsten Version gefixt.
Alles klar, dann haben wir da ja schon mal die Ursache gefunden. Würde das bei mir erstmal ändern und den Intervall_Counter eintragen, sofern ich die Variable finde. Müsste ja dann "intervall_aktuell" sein. Richtig?
Intervalle über den Tageswechsel hatte ich persönlich jetzt nicht vor, aber wer weiß was vll jemand anders benötigt.Grüße
-
Abend zusammen
@kuddel wie bereits im Chat kurz angesprochen, hier nochmal meine Feststellung bzgl der Telegrambenachrichtigungen. Diese kamen bei mir nicht.
Zum einen fehlte im Block 14 die Abfrage, ob die Variable für die Telegrambenachrichtigung aktiv ist. Diese habe ich einfach mal mit einer oder-Bedingung angefügt. Des Weiteren kam bei mir keine Benachrichtigung über das Ende der Bewässerung. Hier war ebenfalls eine Variable nicht gesetzt. Das Ganze unter Block 14.3.3. Hier fehlte die Variable der Instanz.Ebenso hatte ich heute das Problem, dass die Intervallschaltung trotz abschalten in der VIS und somit DP=false dennoch weiterlief. Scheinbar wurde hier der Cron-Job nicht gelöscht. Ich bin aktuell auf der Suche woran es liegt.
Edit: Evtl habe ich die Ursache: Im Block 9 (Bewässerung autom. starten) triggert das Script auf eine Änderung von "vars_intervall_startzeit_uhrzeit_start". Im Block 9.6 (Intervall Start ) wird dann geprüft, ob "vars_intervall_startzeit_aktiv" = true ist. Ich finde aber nirgends einen Trigger, der bei "vars_intervall_startzeit_aktiv" = false das Intervall wieder stoppt.
Wäre hier es hier vll sinnvoll auf diese Variable mit zu Triggern und dann über ein "sonst-falls" das Intervall zu stoppen?Beste Grüße
-
@Kuddel
deine Bewässerung läuft ja bei mir schon die zweite Saison sehr zuverlässig, hast du bei dir schon einen Bodenfeuchtesensor mit eingebunden?
Das wäre aus meiner Sicht die Krönung des ganzen.sowas zB https://www.growland.net/Ecowitt-Gateway-WLAN-Bodenmessgeraet-mit-Sensor
der ist von der Bauart aber ungünstigDa gibt es auch bereits einen Thread hier im Forum, könntest du das in deinem Script theoretisch integrieren?
Ich weiß es gibt bereits Bauanleitung für kapzitive Sensoren, allerdings möchte ich sowas ungerne selber bauen. Der Sensor von Gardena ist aus meiner Sicht von der Bauart am besten für Rasen geeignet, ich weiß aber nicht ob man den ohne weiteres mit dem Gardena Adapter einbinden und die Daten vernünftig in deinen Script integrieren kann.
VG
-
habe deine aktuelle VIS 4.3.0 jetzt importiert, was mache ich falsch?
im Editor werden Autoamtik und Wetter korrekt angezeigt in der Ansicht.
da stimmt so einiges nicht, hat bei früheren Änderungen in der VIS und am Script immer funktioniert
-
@benziman prinzipiell spricht nichts dagegen Feuchtigkeitssensoren im Skript zu berücksichtigen.
Ich müsste nur wissen, was für einen DP die Sensoren haben ( true / false oder Feuchtigkeit in % oder so).
Bzgl deiner VIS sieht es so aus, als wenn in der VIS falsche Objekte hinterlegt sind
-
ok, ich schaue mir das mal genauer an und melde mich erneut (die Gardena Sensoren sind echt Teuer und das GW erst recht, die Ecowitt sind günstiger aber nicht so schön flach. Ich melde mich wenn ich die DPs in iobroker habe.
Bezüglich der VIS, ich habe die komplette VIS gelöscht sowie alle DPs, dann die Views importiert und danach das neue Script gestartet.
sieht im Editor gut aus, ohne FehlerEDIT: habe mal mit den Elemten verlgichen die angezeigt werden
auch bei der Werteberechnung scheint sich wieder ein Fehler eingeshclichen zu haben (hatte ich bei der lezten VIS auch!)
zeigt immer noch auf java nicht userdat! dadurch kann man deine View nicht Fehlerfrei importieren (nur zur Info)
habe ich per suchen und ersetzen und alles neu importieren gelöst, das passiert dann bei jeder neuen Version die du hochlädst
Bei Steuerung Ende und Dauer sind zwei Schreibfehler drin deswegen sind die null
kannst du gerne hochladen wenn du magst (läuft jetzt ohne Probleme)
1650736468947-bewaesserung_vis_v1.1.1_fixed.zip -
@kuddel
Der Gardena Sensor hat als DP Feuchtigkeit in Prozent und Temperatur -
Hallo liebes Forum und besonders @kuddel,
vielen, vielen Dank für die Mühe, so ein Skript (inkl. Vis) zu erstellen, und noch zu supporten.
Ich stehe gerade vor einem Problem. Erstens bin ich kein JAVA (Blockly) Experte, habe aber alles importiert bekommen und es läuft. Jetzt weicht mein Aufbau aber vom "Standard" ab. Ich habe einen SONOFF POW R3 für die Pumpe und einen 4CH Pro für 4 Ventile. Beide mit Tasmota (11.1.0). Der POW schaltet aber den CH4 erst ein. Daher benötige ich eine Pause, von ca. 10-15 Sekunden, nach dem Einschalten der Pumpe. Dann erst ist der CH4 hochgefahren und die PulseTime1-4 kann übertragen werden bzw. die POWER-States1-4 können geschaltet werden.
Leider kenne ich mich noch nicht so gut mit Blockly aus um den richtigen Ort für einen Pausenblock in Deinem Hammerskript zu finden. Kann mir da irgendwer nen Tipp geben?Ich hoffe, ich habe mich halbwegs verständlich ausgedrückt.?
Nochmals vielen Dank für Deine bzw. Eure Arbeit. -
@wama73 da dein Problem ein absoluter Sonderfall ist, sehe ich die Lösung nicht bei mir im Skript, sondern in einem extra Skript.
Der Ansatz wäre: Das extra Skript löst 20 Sekunden vor der Bewässerung aus und aktiviert somit deinen POW.
Im Anschluss startet mein Skript dann ganz normal.Kann mir nächste Woche mal Gedanken dazu machen, wie das in Blockly aussehen würde.
-
@kuddel
Danke für die schnelle Antwort.
Eigentlich müsste ich dann nur Dein Skript aus einem anderen aufrufen.?
Doch dafür fehlt mir das KnowHow.Nachtrag: Werde einen DP anlegen, diesen durch ein neues Skript ändern bzw. den POW einschalten, 15 Sekunden Pause und dann Deinen DP "bewaesserung_aktiv" setzen. So wie ich Dein Skript verstehe, wird der Aktor_Pumpe, wenn "true", ignoriert bzw. nicht geschaltet.?
-
@wama73 so wie du das vorhast, würde das natürlich funktionieren.
Du startet die Bewässung dann ja quasi manuell.
Somit hebelst du dann aber die Schwellwerte aus und deine Bewässerung würde immer starten, auch wenn es bei dir seit 2 Wochen regnet und es nur 5 Grad sind.
Was genau meinst du mit der Pumpe ?
-
@kuddel
Ich setze in "meinem" Skript den "Aktor_Pumpe" auf TRUE, warte 15 Sekunden und setze dann den DP "bewaesserung_aktiv" auf TRUE. Dann sollte Dein Skript doch so ablaufen als hätte ich es über die VIS gestartet. Mit allem PiPaPo.?
Dann noch in der VIS einen zusätzlichen Button "Start" der "mein Skript triggert.
Kann es leider zur Zeit nicht umsetzen, da ich auf der Arbeit bin. -
@wama73 die Bewässerung startet auf jeden Fall, aber ignoriert dabei halt alle Schwellwerte bzgl. Temperatur, Regen und Wind.
-
@kuddel
Aber ist es nicht egal, ob ich den Button in der VIS drücke oder den DP via Skript setze.
Ah, gerade kommt die Erinnerung... Wenn die Schwellwerte nicht passen, schaltest Du den Pumpen_Aktor erst gar nicht.?Ok, ich hab da noch nen Sonoff mini in der Steuerung. Nutze aber nur den Switch (Taster am Pumpenhaus). Dessen "POWER" könnte ich nutzen um den 4CH zu aktivieren und dann Deinen DP "bewaesserung_aktiv" setzen.
Das ist echt blöd, so etwas zu bescheiben, wenn man es nicht vor sich hat. Sorry.