Beregnung Timer

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Beregnung Timer

Beitrag von Pepe1907 »

Pepe1907 hat geschrieben: 12. Jun 2020 11:50
desidia hat geschrieben: 11. Jun 2020 22:59 Was sagt das log? Bzw mach mal einen timer rein für 20 Sekunden oder so, ggf sind die Kanäle einfach noch nicht "online" um geschaltet werden zu können
2020-06-12 11:48:46.945 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'Stromausfall.rules' has errors, therefore ignoring it: [1,6]: no viable alternative at input '“'
Fehler gefunden. es lag an den "Anführungszeichen".

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Beregnung Timer

Beitrag von Pepe1907 »

udo1toni hat geschrieben: 12. Jun 2020 11:31 Die Rule wird schon funktionieren, aber sie wird an Deinem Problem nichts ändern. Suche lieber den Grund, warum der Pi beim Starten die Relais schaltet, das darf nicht sein!

Gesendet von meinem SM-G973F mit Tapatalk
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>

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Beregnung Timer

Beitrag von Pepe1907 »

Pepe1907 hat geschrieben: 12. Jun 2020 12:04
udo1toni hat geschrieben: 12. Jun 2020 11:31 Die Rule wird schon funktionieren, aber sie wird an Deinem Problem nichts ändern. Suche lieber den Grund, warum der Pi beim Starten die Relais schaltet, das darf nicht sein!

Gesendet von meinem SM-G973F mit Tapatalk
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>
Problem gelöst

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>

EmptySoft
Beiträge: 247
Registriert: 7. Jan 2020 14:45
Answers: 2
Kontaktdaten:

Re: Beregnung Timer

Beitrag von EmptySoft »

udo1toni hat geschrieben: 12. Jun 2020 11:31 Die Rule wird schon funktionieren, aber sie wird an Deinem Problem nichts ändern. Suche lieber den Grund, warum der Pi beim Starten die Relais schaltet, das darf nicht sein!
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

Benutzeravatar
udo1toni
Beiträge: 15241
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Beregnung Timer

Beitrag von udo1toni »

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.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Beregnung Timer

Beitrag von Pepe1907 »

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.
Vielen Dank für die wieder einmal schnelle und hilfreiche Antwort.
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
in

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
klappt das denn so?

Benutzeravatar
udo1toni
Beiträge: 15241
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Beregnung Timer

Beitrag von udo1toni »


Pepe1907 hat geschrieben: klappt das denn so?
Letztlich kannst ja nur Du wissen, wie die Items definiert sind und was Du für ein Verhalten erwartest [emoji846]

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

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Beregnung Timer

Beitrag von Pepe1907 »

udo1toni hat geschrieben: 13. Jun 2020 21:31
Pepe1907 hat geschrieben: klappt das denn so?
Letztlich kannst ja nur Du wissen, wie die Items definiert sind und was Du für ein Verhalten erwartest [emoji846]

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
habe mal die rule probiert allerdings nur mit der Temperatur und ohne die Regendate.
Leider schaltet er dann nicht die Regner und Pumpe an.

Benutzeravatar
udo1toni
Beiträge: 15241
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Beregnung Timer

Beitrag von udo1toni »

Wie gesagt, ohne die genaue Definition des Items kann ich nur raten...

Gesendet von meinem SM-G973F mit Tapatalk

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Beregnung Timer

Beitrag von Pepe1907 »

udo1toni hat geschrieben: 13. Jun 2020 21:45 Wie gesagt, ohne die genaue Definition des Items kann ich nur raten...

Gesendet von meinem SM-G973F mit Tapatalk
oh Entschuldigung
Bild

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"]

Antworten