Fehler gefunden. es lag an den "Anführungszeichen".
Beregnung Timer
-
- Beiträge: 167
- Registriert: 1. Jun 2020 17:29
Re: Beregnung Timer
ich verwende das GPIO Binding und so sehen meine Items aus
Code: Alles auswählen
//Datum
DateTime Date "Date [%1$tA, %1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="ntp:ntp:demo:dateTime" }
//Ventile
Switch channel1 "Channel 1" <lawnmower> { gpio="pin:26 activelow:yes initialValue:high" }
Switch channel2 "Channel 2" <lawnmower> { gpio="pin:19 activelow:yes initialValue:low" }
Switch channel3 "Channel 3" <pump> { gpio="pin:13 activelow:yes"}
Switch channel4 "Channel 4" <garden> { gpio="pin:6 activelow:yes"}
//Regen
Number RainToday "Rain_today [%.2f mm]"
Number RainYesterday "Rain_lastday [%.2f mm]"
//Beregnung
Switch beregnung "Automatische Beregnung" <rain>
-
- Beiträge: 167
- Registriert: 1. Jun 2020 17:29
Re: Beregnung Timer
Problem gelöstPepe1907 hat geschrieben: ↑12. Jun 2020 12:04ich verwende das GPIO Binding und so sehen meine Items ausCode: Alles auswählen
//Datum DateTime Date "Date [%1$tA, %1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="ntp:ntp:demo:dateTime" } //Ventile Switch channel1 "Channel 1" <lawnmower> { gpio="pin:26 activelow:yes initialValue:high" } Switch channel2 "Channel 2" <lawnmower> { gpio="pin:19 activelow:yes initialValue:low" } Switch channel3 "Channel 3" <pump> { gpio="pin:13 activelow:yes"} Switch channel4 "Channel 4" <garden> { gpio="pin:6 activelow:yes"} //Regen Number RainToday "Rain_today [%.2f mm]" Number RainYesterday "Rain_lastday [%.2f mm]" //Beregnung Switch beregnung "Automatische Beregnung" <rain>
Code: Alles auswählen
//Datum
DateTime Date "Date [%1$tA, %1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="ntp:ntp:demo:dateTime" }
//Ventile
Switch channel1 "Channel 1" <lawnmower> { gpio="pin:26 activelow:yes initialValue:high" }
Switch channel2 "Channel 2" <lawnmower> { gpio="pin:19 activelow:yes initialValue:high" }
Switch channel3 "Channel 3" <pump> { gpio="pin:13 activelow:yes initialValue:high" }
Switch channel4 "Channel 4" <garden> { gpio="pin:6 activelow:yes initialValue:high" }
//Regen
Number RainToday "Rain_today [%.2f mm]"
Number RainYesterday "Rain_lastday [%.2f mm]"
//Beregnung
Switch beregnung "Automatische Beregnung" <rain>
-
- Beiträge: 247
- Registriert: 7. Jan 2020 14:45
- Kontaktdaten:
Re: Beregnung Timer
An meinem RaspBerry hängen auch Relais direkt an den GPIOs, beim booten bis die GPIOS initialisiert werden, sind die Ralais angezogen (hängt davon ab, ob man sie gegen vcc oder gnd angeschlossen hat). Wenn das bei ihm auch so ist,ist es normal, dann halt die Anschaltung der Relais ändern.
BYe
Harald
Harald
- udo1toni
- Beiträge: 15241
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Beregnung Timer
Da ich jetzt am PC sitze: Es gibt hier im Forum inzwischen diverse Beispiele, wie man die Beregnung smart gestalten kann.
Grundsätzlich ist weniger dabei mehr, vor allem auf Timer bezogen.
Nimm niemals drei Timer, wenn es auch einer tut.
Wenn einzelne Items in Gruppen gesteuert werden sollen (aber auch einzeln), dann ist es sinnvoll, sie auch als Gruppen zusammenzufassen.
Man kann dann entweder das Group Item direkt steuern, oder die Member der Gruppe ansprechen, je nachdem, was sinnvoller ist.
Bei Beregnungssteuerung ist es ja so, dass der Wasserdruck eine Rolle spielt. Nicht nur kann der Druck zu niedrig sein, um alle Regner parallel laufen zu lassen, es kann auch passieren, dass Regner durch den Druckanstieg beim Schließen eines parallel geöffneten Zweigs plötzlich weiter spritzen als zuvor.
Letztlich muss man selbst heraus finden, was hier sinnvoll ist, denn einen Druckregler pro Zweig einzubauen, ist wohl auch eher unpraktikabel.
Grundsätzlich ist weniger dabei mehr, vor allem auf Timer bezogen.
Nimm niemals drei Timer, wenn es auch einer tut.
Wenn einzelne Items in Gruppen gesteuert werden sollen (aber auch einzeln), dann ist es sinnvoll, sie auch als Gruppen zusammenzufassen.
Man kann dann entweder das Group Item direkt steuern, oder die Member der Gruppe ansprechen, je nachdem, was sinnvoller ist.
Bei Beregnungssteuerung ist es ja so, dass der Wasserdruck eine Rolle spielt. Nicht nur kann der Druck zu niedrig sein, um alle Regner parallel laufen zu lassen, es kann auch passieren, dass Regner durch den Druckanstieg beim Schließen eines parallel geöffneten Zweigs plötzlich weiter spritzen als zuvor.
Letztlich muss man selbst heraus finden, was hier sinnvoll ist, denn einen Druckregler pro Zweig einzubauen, ist wohl auch eher unpraktikabel.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 167
- Registriert: 1. Jun 2020 17:29
Re: Beregnung Timer
Vielen Dank für die wieder einmal schnelle und hilfreiche Antwort.udo1toni hat geschrieben: ↑12. Jun 2020 13:30 Da ich jetzt am PC sitze: Es gibt hier im Forum inzwischen diverse Beispiele, wie man die Beregnung smart gestalten kann.
Grundsätzlich ist weniger dabei mehr, vor allem auf Timer bezogen.
Nimm niemals drei Timer, wenn es auch einer tut.
Wenn einzelne Items in Gruppen gesteuert werden sollen (aber auch einzeln), dann ist es sinnvoll, sie auch als Gruppen zusammenzufassen.
Man kann dann entweder das Group Item direkt steuern, oder die Member der Gruppe ansprechen, je nachdem, was sinnvoller ist.
Bei Beregnungssteuerung ist es ja so, dass der Wasserdruck eine Rolle spielt. Nicht nur kann der Druck zu niedrig sein, um alle Regner parallel laufen zu lassen, es kann auch passieren, dass Regner durch den Druckanstieg beim Schließen eines parallel geöffneten Zweigs plötzlich weiter spritzen als zuvor.
Letztlich muss man selbst heraus finden, was hier sinnvoll ist, denn einen Druckregler pro Zweig einzubauen, ist wohl auch eher unpraktikabel.
Möchte mich gerne revanchieren und das Forum in Form einer kleinen Spende unterstützen, da so ein Engagement belohnt werden muss.(hierzu bitte PayPal link)
Jetzt möchte ich meine funktionierende Rule noch erweitern.
Code: Alles auswählen
]rule "Beregnung"
when Time cron "0 5 21 * * ?"
then if (beregnung.state == ON ){
channel1.sendCommand(ON)
channel2.sendCommand(ON)
channel3.sendCommand(ON)
logInfo("FILE", "Beregnung um gestartet")
createTimer(now.plusMinutes(60)) [| channel1.sendCommand(OFF)
chahnnel3.sendCommand(OFF)]
createTimer(now.plusMinutes(45)) [| channel2.sendCommand(OFF)]
logInfo("FILE", "Beregnung ausgeschaltet")
}
end
Code: Alles auswählen
rule "Beregnung"
when Time cron "0 5 21 * * ?"
then if (beregnung.state == ON && LocalWeatherAndForecast_ForecastHours24_MaximaleTemperatur.state > 15 && LocalWeatherAndForecast_Current_Regen.lastUpdate.before(now.minusDays(1)){
channel1.sendCommand(ON)
channel2.sendCommand(ON)
channel3.sendCommand(ON)
logInfo("FILE", "Beregnung um gestartet")
createTimer(now.plusMinutes(60)) [| channel1.sendCommand(OFF)
chahnnel3.sendCommand(OFF)]
createTimer(now.plusMinutes(45)) [| channel2.sendCommand(OFF)]
logInfo("FILE", "Beregnung ausgeschaltet")
}
end
- udo1toni
- Beiträge: 15241
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Beregnung Timer
Letztlich kannst ja nur Du wissen, wie die Items definiert sind und was Du für ein Verhalten erwartest [emoji846]Pepe1907 hat geschrieben: klappt das denn so?
Was den 2. Ausschalttimer betrifft (und auch den 1.) So wäre es besser, den Timer einer Variablen zuzuweisen. Macht man regelhaft so, Du kannst dann prüfen, ob der Timer existiert und ihn gegebenenfalls entfernen.
Im vorliegenden Fall würde ich aber pragmatisch um 22:05 Uhr prüfen, ob Regner 1 und 2 laufen und sie gegebenenfalls ausschalten, und u. 22:50 das gleiche für Regner 3. Time cron funktioniert sehr zuverlässig, und zwar unabhängig von Neustarts. Ein laufender Timer geht bei einem Neustart unwiederbringlich verloren. Man könnte dann beim Start des Systems alle möglichen Dinge prüfen um gegebenenfalls einen Timer nachzusetzen, oder man schaltet bei fixen Zeiten einfach fix. Anders sieht es natürlich aus, wenn die Beregnungsdauer variabel sein soll.
Gesendet von meinem SM-G973F mit Tapatalk
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 167
- Registriert: 1. Jun 2020 17:29
Re: Beregnung Timer
habe mal die rule probiert allerdings nur mit der Temperatur und ohne die Regendate.udo1toni hat geschrieben: ↑13. Jun 2020 21:31Letztlich kannst ja nur Du wissen, wie die Items definiert sind und was Du für ein Verhalten erwartest [emoji846]Pepe1907 hat geschrieben: klappt das denn so?
Was den 2. Ausschalttimer betrifft (und auch den 1.) So wäre es besser, den Timer einer Variablen zuzuweisen. Macht man regelhaft so, Du kannst dann prüfen, ob der Timer existiert und ihn gegebenenfalls entfernen.
Im vorliegenden Fall würde ich aber pragmatisch um 22:05 Uhr prüfen, ob Regner 1 und 2 laufen und sie gegebenenfalls ausschalten, und u. 22:50 das gleiche für Regner 3. Time cron funktioniert sehr zuverlässig, und zwar unabhängig von Neustarts. Ein laufender Timer geht bei einem Neustart unwiederbringlich verloren. Man könnte dann beim Start des Systems alle möglichen Dinge prüfen um gegebenenfalls einen Timer nachzusetzen, oder man schaltet bei fixen Zeiten einfach fix. Anders sieht es natürlich aus, wenn die Beregnungsdauer variabel sein soll.
Gesendet von meinem SM-G973F mit Tapatalk
Leider schaltet er dann nicht die Regner und Pumpe an.
- udo1toni
- Beiträge: 15241
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Beregnung Timer
Wie gesagt, ohne die genaue Definition des Items kann ich nur raten...
Gesendet von meinem SM-G973F mit Tapatalk
Gesendet von meinem SM-G973F mit Tapatalk
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 167
- Registriert: 1. Jun 2020 17:29
Re: Beregnung Timer
oh Entschuldigung

Code: Alles auswählen
//Datum
DateTime Date "Date [%1$tA, %1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="ntp:ntp:demo:dateTime" }
//Ventile
Switch channel1 "Channel 1" <lawnmower> ["Lighting"] { gpio="pin:26 activelow:yes initialValue:high" }
Switch channel2 "Channel 2" <lawnmower> ["Lighting"] { gpio="pin:19 activelow:yes initialValue:high" }
Switch channel3 "Channel 3" <pump> ["Lighting"] { gpio="pin:13 activelow:yes initialValue:high" }
Switch channel4 "Channel 4" <garden> ["Lighting"] { gpio="pin:6 activelow:yes initialValue:high" }
//Regen
Number RainToday "Rain_today [%.2f mm]"
Number RainYesterday "Rain_lastday [%.2f mm]"
//Beregnung
Switch beregnung "Automatische Beregnung" <rain>
//Dummy Alexa
Switch alexa "Beregnung Sprachbefehl" ["Lighting"]