NEWS
Skript zur Bewässerung
-
Liebe Community,
habe eine Einsteigerfrage zur Programmierung einer Bewässerung. Habe einen Gardena 6-fach-Verteiler, der mechanisch durch den Wasserdruck von Kreis 1-6 durchschaltet. Davor einen mit Homematic-Schaltaktor mit Gardena-Ventil. Aktuell programmiere ich ein passendes Skript, welches weitgehend bereits funktioniert.
Allerdings möchte ich mittels Variablen unterschiedliche Dauern für die einzelnen der 6 Kreise festlegen.
Aktuell habe ich selbiges leider recht umständlich mit einer if-Abfrage gelöst:if (getState(actualcircuit).val == 2) { Dauer = Kreis2min*60000; } else if (getState(actualcircuit).val == 3) { Dauer = Kreis3min*60000; } else if (getState(actualcircuit).val == 4) { Dauer = Kreis4min*60000; } else if (getState(actualcircuit).val == 5) { Dauer = Kreis5min*60000; } else if (getState(actualcircuit).val == 6) { Dauer = Kreis6min*60000; } else { Dauer = Kreis1min*60000; }
Um alles zu vereinfachen, würde ich das ungefähr wie folgt lösen:
Dauer = Kreis + Wert von actualcircuit + min (Mit zeitlichen Definitionen gibt es die Variablen Kreis1min bis Kreis6min, je nach Wert von actualcircuit, soll die richtige Variable angesprochen werden)
Mir fehlen leider die Programmierkenntnisse, wie ich das sinnvoll lösen kann.
Kann mir da evtl. jemand einen Tipp geben?
Vielen Dank im Voraus,
LG SebastianWeiss leider nicht, wie man das mit Javascript
-
@sebastian0010 sagte: Variablen Kreis1min bis Kreis6min
Variablenbezeichner lassen sich nicht modifizieren. Alternative: Array mit 6 Werten.
Dauer = 60000 * Kreise[getState(actualcircuit).val - 1]; // Kreise enthält ein Array mit Minutenwerten
-
@paul53 Genial! Genau damit war es lösbar. Vielen Dank für den Input, das war mir nicht bewusst, dass man es in dieser Form realisieren muss.