Derzeit funktioniert meine Gartenbewässerung zu fixen Zeiten recht gut.
Ich möchte aber Wetter abhängig - vorerst mittels einem Dummy Schieberegler eben von 1 bis 100 min einstellen können, wie lange die jeweiligen Kreise bewässern. Mein Problem ist, dass das Ende des 1. Kreises der Beginn des 2. Kreises sein soll.
Da genau habe ich das Problem, dass ich da keine Idee habe wie ich das realisieren kann.
1. Idee war: on for timer für 1. Kreis --> ist aber das Problem wie bekomme ich dann den 2. Kreis an?
2. Idee war: die Zeiten intern zu berechnen und dann abarbeiten --> ist mir aber auch nicht gelungen.
Wäre für Hilfe sehr dankbar.
wie wäre es mit einem notify das nach dem on-for-timer auf das aus vom 1. kreis reagiert und dann den zweiten startet?
gruss
andre
Das müsste doch mit set wasser1 on-for-timmer und einem at + ........ gehen
Wenn du ein bisschen genauer beschreibst, wie du den 1. Kreis exakt steuern willst, fällt und bestimmt das genaueres ein. Sonst müssen wir rumraten und können nicht mehr sagen als "das müsste doch mit einem at + gehen".
Sorry, aber dann will ich es mal meinen Wunsch genauer beschreiben.
Ziel ist:
Ich möchte gerne mit einer Auswahlliste oder Slider Gießzeiten für die Kreise festlegen. Dann entweder mittels händischem anleiern durch Taster.
Dann soll zunächst Kreis1 die Gießzeit bewässern; nach Ablauf soll automatisch auf Kreis2 umgeschaltet werden und ebenfalls die Gießzeit bewässern.
Zum Schluss noch alles abdrehen.
Hoffe, nun ist es klarer?
Hm.
Ich nahem irgendwie an, dass
Zitat1. Idee war: on for timer für 1. Kreis --> ist aber das Problem wie bekomme ich dann den 2. Kreis an?
so zu interpretieren ist, als hättest du das Problem "slider-> on for timer" schon gelöst. Ist das so?
Wenn nicht: Ich habe dazu im Moment auch keine Idee und würde eher fragen, ob eine Slider von 1-100 Minuten erfoderlich bzw den Aufwand wert ist.
Wenn du dir einfach 4 Buttons anlegst, mit 25. 50, 75 und 100 Minuten Bewässerungszeit. wäre die Sache recht einfach.
Von meinem eigenen Garten kann ich sagen, das Bewässern unter 40 Minuten sowieso keinen Zweck hat und eine Minutenauflösung wäre mir viel zu fein.
also der slider an sich ist kein problem:define dauer dummy
attr dauer setList time:slider,25,25,200
attr dauer webCmd time
das gibt z.b. einen slider mit 8 schritten (im abstand von jeweils 25) zwischen 25 bis 200.
die einzelnen kreise kannst du dann entweder aneinander hängen in dem jeder kreis per notify an das aus des kreises davor gehöngt wird oder in dem für jeden kreis das at jeweils um die dauer des kreises davor verschoben anlegst.
gruss
andre
Wenn man sich auf z.b. 4 Werte einschränkt sind 4 Buttons leichter zu bedienen als ein Slider und 1 Button. Daher meine Frage, wie notwendig das in der Praxis tatsächlich ist mit dem Slide bzw seiner Auflösung.
Vielen Dank für die vielen Tipps.
Grundsätzlich muss es kein Slider sein, scheint ja zu kompliziert zu sein. Klar, ein paar vordefinierte Zeiten (ob auf Buttons, oder aus einer Liste) würden genügen. Es soll ja nicht ständig umgestellt werden.
Sinn ist es, wenn es ein paar "heiße Tage" gibt, dann soll mehr bewässert werden, wenn Regen, dann entweder gar nicht oder entsprechend weniger.
Zu einer Meldung, wie genau müsste das 2.beginnende at an das 1. gehängt werden.
Bei automatischer Bewässerung ist es ok, denn da kenne ich die Startzeit 1. Kreis;
Geht das auch bei Start Bewässerung per Taster dann auch?
Per Taster meint: per Fernbedienung?
Klar, geht.
(ich denke mir gerade mal paar Zeilen aus, kommt gleich.)i
Also. Angenommen, du willst das mit eine FS20 Fernbedienung anmachen.
1. Anlegen von z.b. 4 FS20 Adressen.
Grob so:
define Sprengen30 FS20 22224444 02 #22224444 = dein hypotetischer Hauscode 02 Adresse des Kanals der Fernbedienung
attr Sprengen30 room Garten
define Sprengen60 FS20 22224444 03 #22224444 = dein hypotetischer Hauscode 03 Adresse des Kanals der Fernbedienung
attr Sprengen60 room Garten
Und so weiter.
2. Angenommen diie Sprengung würde ausgelöst durch Aktoren, die hypotetisch "Ventil1" und "Ventil2" heissen. Was du da genau hast weiss ich ja nicht. Dann sieht der Code so aus:
define act_on_sprengen30 notify Sprengen30:on set Ventil1 on ; define Wechsel30 at +00:30:00 set Ventil1 off ;; set Ventil2 on ;; define aus30 at +00:30:00 set Ventil2 off
define act_on_sprengen60 notify Sprengen60:on set Ventil1 on ; define Wechsel60 at +01:00:00 set Ventil1 off ;; set Ventil2 on ;; define aus60 at +01:00:00 set Ventil2 off
Und so weiter.
(Das hier ist ein define im define im define. Machen rollen sich hier schon die Fussnägel, wen sie das sehen, das geht aber. Es gibt mehrere andere Methoden)
Wenn die Aktoren "on-for-timer" können (also per FS20 oder HomeMatic angesteuert werden) kannst du etwas vereinfachen:
define act_on_sprengen30 notify Sprengen30:on set Ventil1 on-for Timer 1792 ; define Wechsel30 at +00:30:00 set Ventil1 on-for Timer 1792
define act_on_sprengen60 notify Sprengen60:on set Ventil1 on-for Timer 3584 ; define Wechsel60 at +01:00:00 set Ventil2 on-for Timer 3584
Und so weiter.
Die krummen Sekundenwerte bei on-for-timer kommen daher, dass zumindest bei FS20 nicht alle Werte codiert werden können, sondern nur:
0,25 0,5 0,75 1 1,25 1,5 1,75 2 2,25 2,5 2,75 3 3,25 3,5 3,75
4 4,5 5 5,5 6 6,5 7 7,5 8 9 10 11 12 13 14 15 16 18 20 22
24 26 28 30 32 36 40 44 48 52 56 60 64 72 80 88 96 104 112
120 128 144 160 176 192 208 224 240 256 288 320 352 384 416
448 480 512 576 640 704 768 832 896 960 1024 1152 1280 1408
1536 1664 1792 1920 2048 2304 2560 2816 3072 3328 3584 3840 4096
4608 5120 5632 6144 6656 7168 7680 8192 9216 10240 11264 12288
13312 14336 15360
Andere Werte rundet FHEM automatisch.
Jetzt kannst du sowohl am Webinterface im Raum "Garten" das Sprengen einschalten, also auch mit einer Fernbedienung die auf die entsprechende FS20 Adresse programiert ist.
Ausserdem kannst du dir jederzeit Automatiken anlegen:
define AutomatischBewässern at *20:00:00 set Sprengen30 on
So, dies ist eine von rund 3 Wegen wie man das machen kann die mir gerade einfallen. Und dann gibts noch 5 weitere, die mir gerade nicht einfallen. Alles aus dem Kopf und ungeprüft.
Noch nicht berücksichtigt ist, dass auch was passiert wenn einer auf OFF drückt, z.b.: dass das Sprengen vorzeitig beendet wird. Ist aber alles kein Problem. Probier das erstmal aus und dann können wir weiter gehen und sehen was du noch haben willst.
Vielen Dank für die ausführlichen Lösungsansätze. Ich werde diese sicher ausprobieren.
Wünschenswert wäre noch dass die "30min" Geschichte aus einer Variablen kommt. Da wird man wohl oder übel echten Pearl-Code schreiben müssen.
Sollte aber, glaube ich, machbar sein.
Ich werde mich mal dort einlesen, nachdem ich die hartcodierten Zeiten ausprobiert habe.
Ja, das mit der Variablen wäre genau der Ansatz den viele hier auch machen würden. Ich verstehe das auch, weil das irgendwie "eleganter" ist.
Aber bei Licht betrachtet: Welche Vorteile bietet das? Der Code wird in jedem Falle komplexer, schwerer zu lesen und zu debuggen, die Logfile Einträge sind schwerer nach zu verfolgen etc, man sieht nicht sofort welche "Abschaltdefines" aktiv sind, wenn man mal in die "at" - Liste sieht, da der Wert der Variabel dort nicht gelistet würde (der erklärende Name meiner Lösung aber wohl) und so weiter und so focht.
Kurzum: Ich weiss dass das irgendiwe unelegantist, aber in vielen solcher Fälle finde ich den Vorteil einer "richtigen" Lösung mit Variabelen einfach nicht, ausser das der Code vielleicht etwas kürzer wird.
Der Hartcoded Vorschlag von mir kostet par Minuten und geht (also mal mögliche Flüchtigkeitsfehler unberücksichtigt). Und Änderungen kosten so viel wie fhem.cfg aufmachen 2 Werte ändern, sichern.
Das ist natürlich nix, wenn du jeden Tag eine individuelle Bewässerungszeit einstellen willst, nur wie gesagt: Macht man das beim Bewässern?
Klar, genau da hat es bei mir geklemmt.
Ich glaube, dass ich zu viel gedacht habe und entsprechend zu komplexe Strukturen hätte wollen.
Gut, den Wert einmal in die .cfg Datei zu schreiben und abspeichern geht sogar mittlerweile auch vom Smartphone.
Wenn das alles ist, damit kann ich ganz entspannt und und gut leben.
Vielen Dank für den Hinweis, dass ich mich wohl "verlaufen" habe.
Die Werte einzutragen ist ja wirklich kein großes Unterfangen, anders sähe es aus, wenn ich 27 Kreise zu bedienen habe. Aber dann würde ich mich auch wirklich in die Pearl Programmierung tief einlesen wollen.
Super TIPP!!!!! - DANKE!!!!!
Klar, es würden vielleicht 3 oder 4 Werte reichen.
Habe mir nur gedacht, die Oberfläche könnte einfach mit einem Slider und Button einfach gestaltet werden. Es ist sicherlich unerheblich ob man statt 30min nur 28 oder 35 wässert - schließlich lässt sich ein Rasen (zum Glück habe ich einen fast Unkrautfreien) nicht überwässern; also selbst einigermassen besoffen kann man einen vernünftigen Wert einstellen.
Aber die Idee auf relativ grobe Auswahl definierte anzuklicken ist natürlich einfacher zu bedienen.
a pro pos Flüchtigkeitsfehler:
Anstatt
set Ventil1 on-for Timer 1792
natürlich
set Ventil1 on-for-timer 1792