Regel Sonnenaufgang mit Zeitverzögerung

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von Joe »

Hi zusammen,
mein Plan ist eigentlich, dass sich der Rollo 90 Min. nach Sonnenaufgang öffnet.

Hierzu habe habe ich nachfolgende Regel im Einsatz, die jedoch nicht funktioniert.

Code: Alles auswählen

rule "Rollladen0815" 
  when 
    Channel 'astro:sun:local:rise#event' triggered START //Sonnenaufgang ca. 06:00 Uhr
  then
      createTimer(now.plusMinutes(90)) //Sonnenaufgang plus 90 Minuten = 7:30 Uhr
      [| Studio_1.sendCommand(100) ] //0=runter 100=hoch
end
Hat jemand eine Idee warum meine Regeln nicht funktioniert.
Mit einer einfachen Cron-Regel öffne um 7:30 Uhr geht alles wie es soll....was aber aktuell nicht das Ziel ist.

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

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von PeterA »

Das brauchst du nicht.
Das kannst das direkt in der PaperUi einstellen.
Du musst das Range Event nehmen.
Screenshot_20190512-094314.png
Screenshot_20190512-094233.png
- 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 Peter,
danke ja das ist auch eine Lösung. Ich habe jedoch eine besser Übersicht, wenn ich die Regeln alle in VS zusammen in einer Übersicht habe.
Hast Du in Paper UI Deine "Item Linking" auf "Simple Mode" stehen?

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

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von PeterA »

Nein, kein Simple Mode Aktiv.
Das Range Event hat kein Item, das kann so Verwendet werden
- OpenHab 2.4
#PWRUP

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

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von udo1toni »

Die Frage ist ja, was nicht funktioniert.

Also als erstes mal ein logInfo() in die Rule einbauen, um zu sehen, ob die Rule überhaupt getriggert wird.
Es wäre grundsätzlich auch eine gute Idee, timer nicht einfach zu erstellen, sondern auch einem Pointer zuzuweisen, also so:

Code: Alles auswählen

var Timer tRollladen = null

rule "Rollladen0815" 
when 
    Channel 'astro:sun:local:rise#event' triggered START  //Sonnenaufgang ca. 06:00 Uhr
then
    logInfo("shutter","Rule getriggert")
    tRollladen?.cancel
    tRollladen=createTimer(now.plusMinutes(90), [|      //Sonnenaufgang plus 90 Minuten = 7:30 Uhr
        logInfo("shutter","Rollladen fahren")
        Studio_1.sendCommand(100)                       //0=runter 100=hoch (eigentlich sollte das genau umgekehrt sein)
    ])
end
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.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,
naja der Rollo reagiert einfach überhaupt nicht auf die Regel... so als wäre sie nicht vorhanden.
super Idee mit der loginfo, werde das heute Abend mal testen.
In Bezug auf das drehen der rauf runter gebe ich Dir Recht, habe nur aufgrund des Rolloitems dem Shelly einfach gesagt das die Werte umgedreht sind.
Das war auf die Schnelle der einfachere Weg :-)
Danke

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

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von udo1toni »

Ja, das ist in der Originalfirmware wohl bisher nicht gut gelöst.
Ich nutze einen Tasmota Fork mit den SonoffT1-2CH und Stefan Bode (der Besitzer des Forks) hatte ein Einsehen und einen passenden Parameter zur Konfiguration eingebaut, mit dem dann offen = 0 definiert werden kann.
Der Fork kann auch auf dem Shelly2 genutzt werden.

Vielleicht kann Teracomunications aber auch einen entsprechenden Parameter einbauen, so wie ich es verfolgt habe, scheinen die ganz motiviert zu sein, ihr Produkt zu verbessern. Du müsstest dazu halt mal beim Support anfragen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.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,
perfekt hat funktioniert.
Gibt es ein spezielles Kommando welches ich in der Regel einbauen kann um den Rollo auf eine bestimmte Position zu fahren?
Sprich 90 Min nach Sonnenaufgang auf 80% und 150 Min nach Sonnenaufgang auf 40%?
Mit dem Befehl "Studio_1.sendCommand(100)" kann ich das ganze nur entweder rauf oder runter fahren.
Danke
Joe

Benutzeravatar
peter-pan
Beiträge: 2573
Registriert: 28. Nov 2018 12:03
Answers: 25
Wohnort: Schwäbisch Gmünd

Re: Regel Sonnenaufgang mit Zeitverzögerung

Beitrag von peter-pan »

Ja das geht. Mit dem Astro-Binding und mit Offset. Dazu brauchst du nur ein extra Thing mit dem entsprechenden Offset.

EDIT:
Um eine bestimmte Position anzufahren, z.B. 40%, schickst du den Befehl "Studio_1.sendCommand(60)". Udo hat ja oben beschrieben, dass das bei dem Shelly umgekehrt geht.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian

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 Peter,
ich habe das mit der Position über einen anderen Schalter "Studio_1_Pro" hinbekommen.

Code: Alles auswählen

rule "Rollladen_Sonnenuntergang"
when
Channel 'astro:sun:local:set#start' triggered START //ca. 20:59 Uhr
then
Studio_1_Pro.sendCommand(41) //41%=runter
sendTelegram("bot1", "Studio auf 41% runter")
end
Der Schalter "Studio_1" reagiert nur auf 100 oder 0.

Das ganze geht leider immer nur wenn ich mich exakt auf die "set" oder "rise"-Zeit des Astros beziehe.
Sobald ich anfange den Timer mit ins Spiel zu bringen geht das ganze nicht mehr.

Code: Alles auswählen

var Timer tRollladen = null

rule "Rollladen0815" 
when 
    Channel 'astro:sun:local:rise#event' triggered START  //Sonnenaufgang ca. 06:00 Uhr
then
    logInfo("shutter","Rule getriggert")
    tRollladen?.cancel
    tRollladen=createTimer(now.plusMinutes(90), [|      //Sonnenaufgang plus 90 Minuten = 7:30 Uhr
        logInfo("shutter","Rollladen fahren")
       Studio_1_Pro.sendCommand(41) //auf 41%
    ])
end
Es muss doch möglich sein, den Rollo nicht über die CRON-Geschichte sondern zu 100% über das Astro zu steuern.
z.B. Sonnenaufgang um 6 Uhr plus 90 Min. dann Rollo zu 41% fahren, Sonnenaufgang plus 240 Min. Rollo auf 80% fahren, Sonnenaufgang plus 300 Min. Rollo auf 100% fahren.
Das ganze Abends umgedreht Sonnenuntergang 20:59 Uhr minus 60 Min. dann Rollo zu 80% fahren, Sonnenuntergang plus / minus 0 Min. Rollo auf 41%, Sonnenuntergang plus 60 Min. Rollo auf 0% fahren.
Stimmt etwas mit meiner Einstellung in OH nicht oder warum spinnen die Regeln mit "TIMER"?

Antworten