Rollladen 60min nach Sonnenuntergang schliessen

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

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

Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von PeterA »

Hallo zusammen,

vermutlich wurde das schon X und 43 mal durchgekaut aber ich stehe gerade auf dem Schlauch.

Ich möchte an einen meiner Rollladen Shellys 60min nach Sonnenuntergang den Befehl zum Schliessen senden
wenn die Rollläden offen sind. Ansonsten nicht.

Ich nutze schon das Astrobinding um mir z.B. eine Nachricht zu Pushen "Es ist Nacht"

Code: Alles auswählen

rule "Set night time"
when
	Channel 'astro:sun:local:set#event' triggered START
then
    //sendCommand(NightTime, ON)
    NightTime.sendCommand(ON)
    //sendCommand(DayTime, OFF)
    DayTime.sendCommand(OFF)
    sendBroadcastNotification("Es ist Nacht! um: " + now.toString("HH:mm") + " Uhr") //Nachricht es ist Nacht
    logInfo("astro-rules" ," Sunset Start. START")
end
Wie kann ich denn einen zusätzlichen Channel erstellen welcher +60min triggert ?
Das Astrothing ist noch über die PaperUI erstellt worden.
Kann ich hier einen weiteren Channel mit einem Offset erstellen ?
von peter-pan » 6. Nov 2020 12:04
PeterA hat geschrieben: 6. Nov 2020 11:47 Da ich aber gerade so auf "Timer" bin werde ich das erst mal mit nem Timer lösen
...ich hab mir's schon fast gedacht ;) . Aber 60 Minuten sind unter Umständen ganz schön lang. Was kann da so alles passieren..... Leg einfach ein zusätzliches Thing in deinem "astro.things"-Ordnder an:

Code: Alles auswählen

Thing astro:sun:plus60   "Offset +60 Minuten"      [geolocation="xxxxx,yyyyy,zzz", interval=300]{
  Channels:
    Type rangeEvent : set#event [
      offset=60
    ]
    Type start : set#start [
      offset=60
    ]
    Type end : set#end [
      offset=60
    ]
  }
Eigentlich reicht der Event-Channel und schon kannst du deine Rule triggern.

Code: Alles auswählen

rule "Set night time"
when
	Channel 'astro:sun:plus60:set#event' triggered START
then
    //sendCommand(NightTime, ON)
    NightTime.sendCommand(ON)
    //sendCommand(DayTime, OFF)
    DayTime.sendCommand(OFF)
    sendBroadcastNotification("Es ist Nacht! um: " + now.toString("HH:mm") + " Uhr") //Nachricht es ist Nacht
    logInfo("astro-rules" ," Sunset Start. START")
Edit: Hab den Trigger nur in deine Regel eingebaut, da ich deine andern Parameter nicht kenne. Sollte aber kein Problem sein.

if Rolladen offen, dann Rolladen schliessen, sonst nichts machen :)
Gehe zur vollständigen Antwort
- OpenHab 2.4
#PWRUP

violine21
Beiträge: 589
Registriert: 20. Sep 2019 05:49
Answers: 7

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von violine21 »

PeterA hat geschrieben: 5. Nov 2020 20:39 Kann ich hier einen weiteren Channel mit einem Offset erstellen ?
Schau mal in der Doku vom Astro-Binding.
https://www.openhab.org/addons/bindings/astro/
Da steht:
Offsets: Für jede Ereignisgruppe können Sie optional einen Offset in Minuten konfigurieren. Der Offset muss in den Kanaleigenschaften für das entsprechende Objekt konfiguriert werden.

Der minimal zulässige Versatz beträgt -1440 und der maximal zulässige Versatz beträgt 1440.
Von peter-pan schön erklärt:
viewtopic.php?f=15&t=3470

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von PeterA »

Oh Yeah danke für den Link.

Da ich aber gerade so auf "Timer" bin werde ich das erst mal mit nem Timer lösen :)
- OpenHab 2.4
#PWRUP

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von peter-pan »

PeterA hat geschrieben: 6. Nov 2020 11:47 Da ich aber gerade so auf "Timer" bin werde ich das erst mal mit nem Timer lösen
...ich hab mir's schon fast gedacht ;) . Aber 60 Minuten sind unter Umständen ganz schön lang. Was kann da so alles passieren..... Leg einfach ein zusätzliches Thing in deinem "astro.things"-Ordnder an:

Code: Alles auswählen

Thing astro:sun:plus60   "Offset +60 Minuten"      [geolocation="xxxxx,yyyyy,zzz", interval=300]{
  Channels:
    Type rangeEvent : set#event [
      offset=60
    ]
    Type start : set#start [
      offset=60
    ]
    Type end : set#end [
      offset=60
    ]
  }
Eigentlich reicht der Event-Channel und schon kannst du deine Rule triggern.

Code: Alles auswählen

rule "Set night time"
when
	Channel 'astro:sun:plus60:set#event' triggered START
then
    //sendCommand(NightTime, ON)
    NightTime.sendCommand(ON)
    //sendCommand(DayTime, OFF)
    DayTime.sendCommand(OFF)
    sendBroadcastNotification("Es ist Nacht! um: " + now.toString("HH:mm") + " Uhr") //Nachricht es ist Nacht
    logInfo("astro-rules" ," Sunset Start. START")
Edit: Hab den Trigger nur in deine Regel eingebaut, da ich deine andern Parameter nicht kenne. Sollte aber kein Problem sein.

if Rolladen offen, dann Rolladen schliessen, sonst nichts machen :)
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von PeterA »

Dann hab ich noch eine Frage:

Kann das Textuell erstellte Astro.thing neben dem über die PaperUI erstellten existieren?
- OpenHab 2.4
#PWRUP

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von peter-pan »

Meine Things sind ja alle textbasiert. Also ich hab mir mal so eins in der PaperUI angelegt und das ist gleich online gegangen. Und noch eine Rule dazu

Code: Alles auswählen

rule "Sunset_60 Start"
    when
            Channel 'astro:sun:test:set#event' triggered START
    then
        logInfo("astro-rules" + '_03', " Sunset_60 Start. START")
        //EG_EG_Kind2_Licht.sendCommand(ON)
end
Logging:

Code: Alles auswählen

2020-11-06 17:50:03.344 [INFO ] [marthome.model.script.astro-rules_03] -  Sunset_60 Start. START
Sunset war bei mir um 16:50 Uhr, mit Offset 60 Min, also 17:50 Uhr . Und das hat auch so funktioniert, wie du siehst.

Daraus kann man also folgern, dass eine gemischte Nutzung möglich wäre. Ich würde aber nicht mischen. Das Anlegen über PaperUI war eigentlich auch in 2 Minuten erledigt.

Neues Thing anlegen und benennen. Ich hab's halt "test" benannt und in den Channel für den Sonnenuntergang-Event 60 eintragen. Das war's.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von udo1toni »

Grundsätzlich kann man Things beliebig über Text und PaperUI erstellen. Da man aber die jeweils andere Definition nicht bearbeiten kann (PaperUI Things tauchen nicht in den *.things auf und *.things Things sind in PaperUI readonly), sollte man das - außer zum schnellen testen - tunlichst vermeiden. Man stellt sich einfach selbst ein Bein, mindestens in der Form, dass man gerne mal doppelte Arbeit hat.
Das gleiche gilt sinngemäß auch für Items ;)
Beide Definitionen können parallel existieren (solange man die UID jeweils eindeutig wählt!)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von PeterA »

Achso ? Ich kann auch ein weiteres Astro Thing mit anderen Offsets anlegen ?
Eigentlich dachte ich ich könnte ein weiteres Range Event anlegen mit im Astro Thing.
Aber wenns auch so geht.....
Wieder etwas gelernt.
Und da ich nunmal das Ursprüngliche Astro Thing über die PaperUI angelegt habe bleibe ich auch dabei.
- OpenHab 2.4
#PWRUP

violine21
Beiträge: 589
Registriert: 20. Sep 2019 05:49
Answers: 7

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von violine21 »

peter-pan hat geschrieben: 6. Nov 2020 12:04

Code: Alles auswählen

Thing astro:sun:plus60   "Offset +60 Minuten"      [geolocation="xxxxx,yyyyy,zzz", interval=300]{
  Channels:
    Type rangeEvent : set#event [
      offset=60
    ]
    Type start : set#start [
      offset=60
    ]
    Type end : set#end [
      offset=60
    ]
  }

Code: Alles auswählen

rule "Set night time"
when
	Channel 'astro:sun:plus60:set#event' triggered START
Ich habe zu dem Konstrukt noch eine Frage:
Ohne es jetzt zu testen, verträgt sich das, das im Channel start klein geschrieben wird und im Trigger START groß?

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von udo1toni »

Ja, das ist schon richtig so. START als Trigger ist das, was auf dem openHAB Event Bus auftaucht. Das kannst Du im log nachschauen.
start hingegen ist der Name des Parameters in der Konfiguration. openHAB nutzt gewöhnlich CamelCase, aber mit kleinem ersten Buchstaben, also camelCase...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten