Regel Sonnenaufgang mit Zeitverzögerung

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von PeterA »

Ggf könntest Du die Rollos, zb. Für eine Seite am Haus, in einer Gruppe zusammen fassen.....
- OpenHab 2.4
#PWRUP

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von Joe »

Ja das wäre eine Idee, da ich leider nicht so fit bin was die Regel betrifft. Habe ich die Frage in Bezug auf das zusammenfassen der 5 einzelnen Regeln ein ein oder zwei (Sonnenauf.- und Sonnenuntergang) hier in das Forum gepostet. Weiterhin habe ich immer noch den Fehler aus Seite 2 den ich mir nicht erklären kann innerhalb der Regel. Wie gesagt heute Morgen hat die Regel zu 0,0% funktioniert. Ich habe in der Role Datei auch noch ein paar andere Regeln drin, die ich allerdings mit /* bzw am Ende mit */ auskommentiert habe... ich denke doch das sollte dann auch innerhalb der aktiven Regeln keine Probleme machen oder?

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

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von udo1toni »

Hast Du andere Timer im Einsatz? Hast Du viele Rules im Einsatz?
Welche exakte Version von openHAB hast Du im Einsatz?
Welche Version von Java (exakt) hast Du im Einsatz?

Es ist denkbar (wenn auch unwahrscheinlich), dass bei der Installation irgendwas schief gegangen ist. Als Test, ob Timer grundsätzlich funktionieren, kannst Du eine Testrule verwenden:

Code: Alles auswählen

// globale Variablen bitte ganz oben im Rules-File definieren, vor der ersten Rule!
var Timer tTest = null

rule "Timer Test"
when
    Time cron "0/30 0-2 12 * * ?" // um 12:00 Uhr bis 12:02:30 Uhr alle 30 Sekunden, kann auch ein beliebiger anderer Trigger sein
then
    logInfo("timertest","Rule gestartet")
    if(tTest !== null)
        logInfo("timertest","Timer existiert bereits")
    else
        tTest = createTimer(now.plusSeconds(45), [ |
            logInfo("timertest","Timer abgelaufen")
            tTest = null
        ])
end
Diese Rule wird täglich sechsmal ausgeführt. Beim 1., 3. und 5. Durchlauf erzeugt sie einen Timer, der 45 Sekunden läuft.
Beim 2., 4. und 6. Durchlauf erkennt die Rule, dass der Timer angelegt wurde und noch nicht beendet wurde.
Um 12:00:45, 12:01:45 und 12:02:45 läuft der Timer ab und verkündet dies.

Alle Logzeilen tauchen in der Datei openhab.log auf.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von Joe »

Hi Udo,
danke für Deine Rule.
Ich habe diese mal ganz an den Anfang gestellt und um 18Uhr gestartet.
Das Ergebnis ist etwas sonderbar bis HILFE.

Code: Alles auswählen

2019-05-19 18:00:01.564 [WARN ] [itzboxtr064.internal.SoapValueParser] - Fault received from FritzBox for item :A8-A1-98-60-1D-FA in SOAP response <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
.
.
.
2019-05-19 18:00:43.556 [WARN ] [itzboxtr064.internal.SoapValueParser] - Fault received from FritzBox for item :34-C0-59-AA-45-6C in SOAP response <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
2019-05-19 18:00:46.609 [WARN ] [itzboxtr064.internal.SoapValueParser] - Fault received from FritzBox for item :A8-A1-98-60-1D-FA in SOAP response <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
2019-05-19 18:00:46.656 [WARN ] [itzboxtr064.internal.SoapValueParser] - Fault received from FritzBox for item :E8-B2-AC-CF-44-15 in SOAP response <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
2019-05-19 18:00:46.698 [WARN ] [itzboxtr064.internal.SoapValueParser] - Fault received from FritzBox for item modelName in SOAP response <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
2019-05-19 18:00:46.732 [WARN ] [itzboxtr064.internal.SoapValueParser] - Fault received from FritzBox for item :44-00-10-D5-64-6A in SOAP response <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
2019-05-19 18:00:46.759 [WARN ] [itzboxtr064.internal.SoapValueParser] - Fault received from FritzBox for item :24-24-0E-9C-34-9C in SOAP response <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
2019-05-19 18:00:46.786 [WARN ] [itzboxtr064.internal.SoapValueParser] - Fault received from FritzBox for item :34-C0-59-AA-45-6C in SOAP response <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
2019-05-19 18:00:49.838 [WARN ] [itzboxtr064.internal.SoapValueParser] - Fault received from FritzBox for item :A8-A1-98-60-1D-FA in SOAP response <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
2019-05-19 18:00:49.883 [WARN ] [itzboxtr064.internal.SoapValueParser] - Fault received from FritzBox for item :E8-B2-AC-CF-44-15 in SOAP response <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
2019-05-19 18:00:49.926 [WARN ] [itzboxtr064.internal.SoapValueParser] - Fault received from FritzBox for item modelName in SOAP response <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
2019-05-19 18:00:49.968 [WARN ] [itzboxtr064.internal.SoapValueParser] - Fault received from FritzBox for item :44-00-10-D5-64-6A in SOAP response <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
2

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

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von udo1toni »

Deinstalliere bitte mal das Fritzbox Binding, das müllt Dir ja das log zu. (Alternativ kannst Du auch das Logging für das Fritzbox Binding auf ERROR setzen, um die Meldungen zu unterdrücken)
Die Rule wurde offensichtlich überhaupt nicht ausgeführt. Was steht im log für den Zeitraum, in dem Du die rules Datei speicherst (+ ca. 20 Sekunden)?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von Joe »

Hi Udo,
danke werde ich gleich heute Abend machen.
Kurz noch zur Regel heute von heute Morgen 6:37 Uhr Sonnenaufgang war um 5:37 Uhr 60Min. später hätte der Rollo auf 70% gehen sollen im Lag war folgendes zu sehen:

Code: Alles auswählen

2019-05-20 06:37:00.030 [INFO ] [lipse.smarthome.model.script.shutter] - ********Rollladen fahren********

2019-05-20 06:37:00.032 [ERROR] [org.quartz.core.JobRunShell         ] - Job DEFAULT.2019-05-20T06:37:00.028+02:00: Proxy for org.eclipse.xtext.xbase.lib.Procedures$Procedure0: [ | {

  logInfo(<XStringLiteralImpl>,<XStringLiteralImpl>)

  <XFeatureCallImplCustom>.sendCommand(<XNumberLiteralImpl>)

  sendTelegram(<XStringLiteralImpl>,<XStringLiteralImpl>)

} ] threw an unhandled Exception: 

java.lang.NullPointerException: null

	at org.eclipse.smarthome.model.script.engine.ScriptError.<init>(ScriptError.java:66) ~[?:?]

	at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:140) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:902) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:865) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:224) ~[?:?]

	at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:204) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluateArgumentExpressions(XbaseInterpreter.java:1116) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1046) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:992) ~[?:?]

	at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:151) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:772) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:220) ~[?:?]

	at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:204) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:447) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:228) ~[?:?]

	at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:204) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluate(XbaseInterpreter.java:190) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.ClosureInvocationHandler.doInvoke(ClosureInvocationHandler.java:46) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.AbstractClosureInvocationHandler.invoke(AbstractClosureInvocationHandler.java:29) ~[?:?]

	at com.sun.proxy.$Proxy191.apply(Unknown Source) ~[?:?]

	at org.eclipse.smarthome.model.script.internal.actions.TimerExecutionJob.execute(TimerExecutionJob.java:49) ~[?:?]

	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [107:org.eclipse.smarthome.core.scheduler:0.10.0.oh240]

	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [107:org.eclipse.smarthome.core.scheduler:0.10.0.oh240]

2019-05-20 06:37:00.132 [ERROR] [org.quartz.core.ErrorLogger         ] - Job (DEFAULT.2019-05-20T06:37:00.028+02:00: Proxy for org.eclipse.xtext.xbase.lib.Procedures$Procedure0: [ | {

  logInfo(<XStringLiteralImpl>,<XStringLiteralImpl>)

  <XFeatureCallImplCustom>.sendCommand(<XNumberLiteralImpl>)

  sendTelegram(<XStringLiteralImpl>,<XStringLiteralImpl>)

} ] threw an exception.

org.quartz.SchedulerException: Job threw an unhandled exception.

	at org.quartz.core.JobRunShell.run(JobRunShell.java:213) [107:org.eclipse.smarthome.core.scheduler:0.10.0.oh240]

	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [107:org.eclipse.smarthome.core.scheduler:0.10.0.oh240]

Caused by: java.lang.NullPointerException

	at org.eclipse.smarthome.model.script.engine.ScriptError.<init>(ScriptError.java:66) ~[?:?]

	at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:140) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:902) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:865) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:224) ~[?:?]

	at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:204) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluateArgumentExpressions(XbaseInterpreter.java:1116) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1046) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:992) ~[?:?]

	at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:151) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:772) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:220) ~[?:?]

	at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:204) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:447) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:228) ~[?:?]

	at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:204) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluate(XbaseInterpreter.java:190) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.ClosureInvocationHandler.doInvoke(ClosureInvocationHandler.java:46) ~[?:?]

	at org.eclipse.xtext.xbase.interpreter.impl.AbstractClosureInvocationHandler.invoke(AbstractClosureInvocationHandler.java:29) ~[?:?]

	at com.sun.proxy.$Proxy191.apply(Unknown Source) ~[?:?]

	at org.eclipse.smarthome.model.script.internal.actions.TimerExecutionJob.execute(TimerExecutionJob.java:49) ~[?:?]

	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[?:?]

	... 1 more
	
die Regel war wie folgt:

Code: Alles auswählen

var Timer tRollo = null                                 //Timer zurückgesetzt

rule "Studio_Sonnenaufgang_80" 
  when
    //Item Dummy1 changed to ON or        
    Channel 'astro:sun:local:rise#event' triggered START      //Sonnenaufgang ca. 5:40 Uhr
  then
        logInfo("shutter","********Rule getriggert********")  //schreibe Log Info
      tRollo?.cancel
      tRollo=createTimer(now.plusMinutes(60), [|        //Sonnenaufgang plus 60-Minuten (ca. 6:40 Uhr)
        logInfo("shutter","********Rollladen fahren********") //schreibe Log Info
        Studio_1_Pro.sendCommand(70) 		                      //Rollladen auf 70% geschlossen
        sendTelegram("bot1", "Studio Rollo 70% geschlossen")  //sende Info via Telegram
      ]) 
end
PS: ich habe vor ca. 1 Woche ein volles Update vom PI mit dem Befehl sudo apt update && sudo apt -y full-upgrade gefahren.
im Nachgang hatte ich das "FritzboxTR064 Binding fritzboxtr064" gelöscht und neu installiert.

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von PeterA »

Also ich hatte so etwas Ähnliches auch mal, Update über die Console gemacht.
Danach war mein Wlan IF weg (gibt auch ein Thread hier) und meine ModBus Konfig ging auch nicht mehr.
Ich hab dann alles "Platt" gemacht und OpenHabian noch mal neu auf die SD-Card geflashed und ein Backup eingespielt.
Dann ging alles wieder.
- OpenHab 2.4
#PWRUP

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von Joe »

Hi zusammen,
anbei mal ein kurzes Update von meiner Geschichte in Bezug auf Regeln mit Fehlern.

Übung 1)
Ich habe aus allen 5 Regeln pro Rollo (2 x Sonnenaufgang und 3x Sonnenuntergang) einen neuen File.rules erstellt und nur einen Rollo dort inkludiert.
Die vorhandene Regeln auf das minimalste gekürzt sprich aus:

Code: Alles auswählen

var Timer tRollo = null                                 

rule "Studio_Sonnenaufgang_80" 
  when       
    Channel 'astro:sun:local:rise#event' triggered START      
  then
        logInfo("shutter","********Rule getriggert********")  
      tRollo?.cancel
      tRollo=createTimer(now.plusMinutes(60), [|       
        logInfo("shutter","********Rollladen fahren********") 
        Studio_1_Pro.sendCommand(80) 		                     
        sendTelegram("bot1", "Studio Rollo 80% geschlossen")  
      ]) 
end
...das gemacht....

Code: Alles auswählen


rule "Studio_Sonnenaufgang_80" 
  when       
    Channel 'astro:sun:local:rise#event' triggered START      
  then
	createTimer(now.plusMinutes(60), [ |       
        Studio_1_Pro.sendCommand(80) 		                      
      ]) 
end
Ergebnis alle 5 Regeln liefen zu 100%

Übung 2)
in den beiden Regeln für den Sonnenuntergang steuern die Zeile mit dem Telegramm eingefügt

Code: Alles auswählen

rule "Studio_Sonnenuntergang_100"
when
//Item Dummy1 changed to ON or
Channel 'astro:sun:local:set#event' triggered START 
then
createTimer(now.plusMinutes(50), [ | 
Studio_1_Pro.sendCommand(99)         
sendTelegram("bot1", "Studio Rollo zu 100% geschlossen") 
])
end
Ergebnis alle 5 Regeln liefen zu 100% und die beiden Telegramme sind angekommen

Übung 3)
in den drei Regeln für den Sonnenaufgang steuern die Zeile mit dem Telegramm eingefügt

Code: Alles auswählen

rule "Studio_Sonnenaufgang_70"
when
Channel 'astro:sun:local:rise#event' triggered START 
then
createTimer(now.plusMinutes(60), [ | 
Studio_1_Pro.sendCommand(70)         
sendTelegram("bot1", "Studio Rollo zu 70% geschlossen") 
])
end
Ergebnis es funktioniert nichts mehr... ich werde mir heute Abend nochmals die Logs ansehen... sollte jemand eine Idee haben.. ich bin für alles Dankbar was hilft.

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

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von udo1toni »

Was meinst Du mit 3 Regeln? haben die alle den gleichen Trigger?

Ich meine eigentlich schon ausgeführt zu haben, dass es keine gute Idee ist, massenhaft Timer anzulegen, ohne dafür Kontrollpunkte vorzusehen und diese auch abzufragen.
Wie hast Du die Rules getestet? Hast Du original den Trigger genutzt, der im Code steht, sprich, jedesmal einen ganzen Tag zwischen zwei Testdurchläufen gewartet? Hast Du openHAB jedesmal neu gestartet?

Ohne Logging bringen Deine Tests genau null, denn Du kannst nicht nachvollziehen, warum eine Rule nicht funktioniert hat (außer sie bleibt wegen eines schweren Fehlers hängen oder wird erst gar nicht als Rule akzeptiert).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von Joe »

Hi Udo,
ja da ich zu unterschiedlichen Zeiten, unterschiedliche Position des Rollos benötige und ich keine mir bekannte Lösung habe (siehe:Beitrag Seite 2 von Joe » 19. Mai 2019 08:48) um diese 3 Positionen morgens und 2 Positionen abends mit einer Regel anzufahren habe ich 3x Regeln mit dem Trigger astro:sun:local:rise#event und 2 Regeln mit dem Trigger astro:sun:local:set#event erstellt. Da ich im Haus ca. 10 Rollos habe werde ich am Ende nur mit Gruppen arbeiten können.
Das Erfolgserlebnis ist jedoch das gestern und heute alle 5 Regeln von oben zu 100% funktioniert haben. Ich hatte im Log einige Java-Fehler in Bezug auf die Handypositionen, nach der Deaktivierung dieser Abfragen läuft jetzt wenigstens die Rollogeschichte. Wenn Du jedoch eine Lösung hast um die Regeln zu den unterschiedlichen Rollopositionen zu optimieren wäre ich Dir sehr Dankbar.
VG
Joe

Antworten