NEWS
[Vorlage] Gartenbewässerung mit 4 Ventilen
-
@Kuddel Guten Morgen. Ich muss mal schauen - ich hab hier leider den Effekt - Geht mal / Geht wieder nicht ...
Funkprobleme kann ich ausschließen, in der Nähe des Außenaktors für die Ventile sitzt ein LAN-Gateway.
Im Log ist mir aufgefallen, das manchmal das ON_TIME zweimal geschickt wird - das wird aber ein Javascript-Adapter/ioBroker-Controller Problem sein. -
hallo zusammen, ich hab das skript gerade erweitert, sodass es für Homematic UND Sonoff funktioniert.
Dazu muss man in den Variablen nur den Aktornamen und den Aktortyp eintragen:
In den Kommentaren zu den Variablen steht eine kurze Beschreibung.
Ich habe es mit Sonoff und HM gestetet.
Bis au der Übergang von Ventil 3 zu Ventil 4, läuft es.
Des Weiteren habe ich den DP "Sonnenuntergang" neu definiert und in die DP-Struktur der Bewässerung mit eingebaut.
Wer Lust und Zeit hat zu testen... gerne gerne Fehler bitte melden
-
@Kuddel
Danke für deine Arbeit!
Das sieht bei mir aktuell so aus, bin mir nicht sicher ob das so stimmt.vars_pfad -> müsste so bleiben, da ja durch dein Script importiert?
vars_aktor_typ = sonoff ?
vars_aktor_name = sonoff.0.DVES_5A1757 ? (müssen power 1-4 nicht mehr definiert werden?
-
vars_pfad -> müsste so bleiben, da ja durch dein Script importiert?
Kann, muss aber nicht. Wenn du deine Struktur anders aufbauen möchtest, kannst du das gerne anpassen.
Dann aber bitte in der Blockly-Variable UND im JavaSkriptvars_aktor_typ = sonoff ?
Ja, passt so
vars_aktor_name = sonoff.0.DVES_5A1757 ? (müssen power 1-4 nicht mehr definiert werden?
Name passt. Power1-4 wird automatisch vom Skript definiert
-
@Kuddel
Danke, dann müsste das jetzt so passen (deine Struktur lasse ich aktuell so)Folgende Beobachtung habe ich gerade gemacht:
Habe jetzt als Test des Sonoff für alle 4 Kreise 1min eingestellt und den an/aus Button (links neben Automatik) aktiviert.Ergebnis:
- Kanal 1 wird aktiviert, nach einer Minute wird Kanal 2 aktiviert, Kanal 1 bleibt aktiv und so weiter, am Ende der Laufzeit werden alle vier Kanäle wieder deaktiviert
- Wenn ich einen Kreis anklicke (wird grün) sollte dann nicht der Kanal aktiviert werden oder welche Funktion hat das aktivieren eines Kreise in der Vis?
--> nach klicken auf einen Kreis passiert im Sonoff nichts.
-
Kanal 1 wird aktiviert, nach einer Minute wird Kanal 2 aktiviert, Kanal 1 bleibt aktiv und so weiter, am Ende der Laufzeit werden alle vier Kanäle wieder deaktiviert
Ist die IP in den Variablen richtig ? Das sieht so aus, als wenn die Einschaltdauer nicht richtig gesetzt wird
Wenn ich einen Kreis anklicke (wird grün) sollte dann nicht der Kanal aktiviert werden oder welche Funktion hat das aktivieren eines Kreise in der Vis?
Die aktvierung der einzelnen Ventile per VIS ist komplett losgelöst vom Skript. Das ist dann ein komplett manueller Eingriff.
Prüfe mal im VIS Editor, ob überall die korrekten DPs zu deinem Sonoff aktor hinterlegt sind
Wennm an die einzelnen Ventile manuell anschaltet per VIS, muss man sie auch wieder manuell abschalten. -
ok, dachte nur das es sinnvoller wäre Kreis 1 an, Kreis 1 aus, dann Kreis 2 an und so weiter. Für Leute die zu wenig Fließdruck haben könnte das ggf Eng werden wenn alle vier Kreise gleichzeitig aktiv sind. Abgesehen davon müsste Kreis 1 doch nach einer Minute (wenn so eingestellt) ausgehen, sonst bleibt Kreis 1 am Ende 4 Minuten an (wenn alle Kreise 1 Minute aktiv sind) oder?
Das scheint in der VIS noch nicht zu stimmen:
Der obere Eintrag endet auf STATE der untere auf WORKING, kannst du mir sagen was dort eingestellt werden bei Sonoff?Das bei manueller Aktivierung eines Kreises der auch wieder deaktiviert werden muss macht Sinn, der timer daneben greift dann nicht?
-
ok, dachte nur das es sinnvoller wäre Kreis 1 an, Kreis 1 aus, dann Kreis 2 an und so weiter. Für Leute die zu wenig Fließdruck haben könnte das ggf Eng werden wenn alle vier Kreise gleichzeitig aktiv sind. Abgesehen davon müsste Kreis 1 doch nach einer Minute (wenn so eingestellt) ausgehen, sonst bleibt Kreis 1 am Ende 4 Minuten an (wenn alle Kreise 1 Minute aktiv sind) oder?
Wenn die Schaltzeit vom Skript korrekt gesetzt wird, werden alle Ventile nacheinander gestartet und wieder gestoppt.
Voraussetzung ist, dass man es über den Button An / Aus in der VIS oder per Automatik startetDie DPs in der VIS musst du ändern.
Das scheint in der VIS noch nicht zu stimmen:
Bei Object ID muss zb. sonoff.0.XYZ.POWER1 rein.
Die andere ID kann auch freibleiben.
Unter Signalbilder musst du das auch noch anpassenDas bei manueller Aktivierung eines Kreises der auch wieder deaktiviert werden muss macht Sinn, der timer daneben greift dann nicht?
Nein. Das Ventil wird nur aktiviert, die Schaltdauer wird aber nicht eingestellt
-
@Kuddel
Verstanden. Das manuelle Schalten eines Kreises klappt jetzt, allerdings bleibt die Farbe rot.
Was meinst du mit Signalbilder?Test mit Automatik: Uhrzeit auf 10:20 gestellt, nichts passiert.
-
Signalbilder:
Bei der Automatik ist noch der tages Top Wert eingebaut.
Ich denke der ist das problem, weil der bei dir nicht existiert:
Unter "Bewässerung autom. starten"
Der Wert muss bei dir raus
-
Habe wegen der Farbe ggf etwas gefunden:
Ist das vllt die Ursache?Signalbilder finde ich nicht.
Bin jetzt an der Stelle im Script, welchen Tages Topwert meinst du?
top_temp? -
@benziman ja stimmt. darüber habe ich den rahmen gemacht,
da muss dann auch dein sonoff POWER wert rein statt eines HM-States
-
@Kuddel
perfekt, das klappt auch gleich!Wo finde ich denn Signalbilder und welchen Wert/Eintrag muss ich im Script "tages top Wert" ? löschen/ändern?
-
@benziman die singanbilder sind einstellungen im widget / schalter womit du das Ventil aktivierst. Screenshot habe ich gepostet.
den Tages Top wert musst du löschen, da der bei dir nicht existiert
-
Habe Signalbilder gefunden...
ich verstehe nicht welchen Wert du mit Tages Topwert meinst... die Variablen heißen ja anders.
Kann ja dann nur der hier sein in gelb -
@Kuddel Könntest du bei dir mal mein Skript zum Überwachen der DPs laufen lassen und mit meinen Log hier vergleichen?
Hier sieht man, das sobald zwei Ventile angesteuert werden, wohl so einiges durcheinander kommt (auch wenn die Schaltvorgänge manchmal funktionieren):
Ventil 1 und 2 An (1): 2020-04-03 10:59:05.211 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.1.ON_TIME | val: 120 | ack: false | ts: 2020.04.03 10:59:05.198 | lc: 2020.04.03 10:37:33.967 | quality: 0 | from: system.adapter.javascript.1 │ 2020-04-03 10:59:06.194 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.1.STATE | val: true | ack: false | ts: 2020.04.03 10:59:06.190 | lc: 2020.04.03 10:59:06.190 | quality: 0 | from: system.adapter.javascript.1 │ 2020-04-03 10:59:06.363 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.1.STATE | val: true | ack: true | ts: 2020.04.03 10:59:06.360 | lc: 2020.04.03 10:59:06.190 | quality: 0 | from: system.adapter.hm-rpc.1 │ │ An (2): 2020-04-03 11:01:07.229 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.2.ON_TIME | val: 120 | ack: false | ts: 2020.04.03 11:01:07.227 | lc: 2020.04.03 10:39:37.682 | quality: 0 | from: system.adapter.javascript.1 │ 2020-04-03 11:01:08.228 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.2.ON_TIME | val: 120 | ack: false | ts: 2020.04.03 11:01:08.225 | lc: 2020.04.03 10:39:37.682 | quality: 0 | from: system.adapter.javascript.1 │ 2020-04-03 11:01:08.234 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.2.STATE | val: true | ack: false | ts: 2020.04.03 11:01:08.229 | lc: 2020.04.03 11:01:08.229 | quality: 0 | from: system.adapter.javascript.1 │ 2020-04-03 11:01:08.407 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.2.STATE | val: true | ack: true | ts: 2020.04.03 11:01:08.404 | lc: 2020.04.03 11:01:08.229 | quality: 0 | from: system.adapter.hm-rpc.1 │ Aus (1): 2020-04-03 11:01:09.116 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.1.STATE | val: false | ack: true | ts: 2020.04.03 11:01:09.113 | lc: 2020.04.03 11:01:09.113 | quality: 0 | from: system.adapter.hm-rpc.1 │ An (2): 2020-04-03 11:01:09.229 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.2.STATE | val: true | ack: false | ts: 2020.04.03 11:01:09.225 | lc: 2020.04.03 11:01:08.229 | quality: 0 | from: system.adapter.javascript.1 │ Aus (2): 2020-04-03 11:03:08.348 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.2.STATE | val: false | ack: false | ts: 2020.04.03 11:03:08.330 | lc: 2020.04.03 11:03:08.330 | quality: 0 | from: system.adapter.javascript.1 │ 2020-04-03 11:03:08.505 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.2.STATE | val: false | ack: true | ts: 2020.04.03 11:03:08.501 | lc: 2020.04.03 11:03:08.330 | quality: 0 | from: system.adapter.hm-rpc.1 Ventil 1 An: 2020-04-03 11:04:29.968 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.1.ON_TIME | val: 120 | ack: false | ts: 2020.04.03 11:04:29.961 | lc: 2020.04.03 10:37:33.967 | quality: 0 | from: system.adapter.javascript.1 │ 2020-04-03 11:04:30.969 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.1.STATE | val: true | ack: false | ts: 2020.04.03 11:04:30.961 | lc: 2020.04.03 11:04:30.961 | quality: 0 | from: system.adapter.javascript.1 │ 2020-04-03 11:04:31.147 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.1.STATE | val: true | ack: true | ts: 2020.04.03 11:04:31.140 | lc: 2020.04.03 11:04:30.961 | quality: 0 | from: system.adapter.hm-rpc.1 │ Aus: 2020-04-03 11:06:32.021 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.1.STATE | val: false | ack: false | ts: 2020.04.03 11:06:31.994 | lc: 2020.04.03 11:06:31.994 | quality: 0 | from: system.adapter.javascript.1 │ 2020-04-03 11:06:32.175 - info: javascript.0 (25860) script.js.PRODUKTIV.02_Debugging_Datenpunkt: oid: hm-rpc.1.OEQ0044740.1.STATE | val: false | ack: true | ts: 2020.04.03 11:06:32.172 | lc: 2020.04.03 11:06:31.994 | quality: 0 | from: system.adapter.hm-rpc.1
-
hat sich erledigt, Frage oben bleibt.
-
@darkiop das sieht für mich so aus, als wenn ioBroker die Rückmeldung von der CCU nicht innerhalb einer Sekunde bekommt, dass der Kanal schon aktiv ist, so dass mein Skript nochmal den Wert true sendet
-
@benziman ja der von dir gelb makierte wert muss raus
-
@Kuddel ok, aber der Wert vars_automatik_regen funktioniert?
habe ich jetzt so korrigiert.ich teste jetzt die Automatik.