Regeln <-> Scripte

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Re: Regeln <-> Scripte

Beitrag von udo1toni »

Ich verstehe nicht, was Du tun willst.

Natürlich kannst Du mit callscript() ein DSL Script aufrufen, welches im scripts Verzeichnis gespeichert ist, allerdings versichere ich Dir, dass Du zu umständlich denkst.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

manes
Beiträge: 173
Registriert: 23. Jul 2020 17:49
Wohnort: Kreis Wesel

Re: Regeln <-> Scripte

Beitrag von manes »

hi,
falsch rübergekommen. Ich meinte kein Script, was als Datei vorhanden ist, ich meinte ein Script, was ich über die Gui unter Einstellungen Scripte geschrieben habe.
Im Moment sieht es so aus. Ich habe eine Rule geschrieben, die morgens zu einer bestimmten Zeit ausgeführt wird. Diese Rule ruft ein Script auf (welches über Scripte erstellt wurde), in dem die Prüfung stattfindet ob es auch schon hell genug ist, die Rolladen hoch zu fahren. Wenn nein, dann wird ein ITEM gesetzt, das die Zeit erreicht wurde. Irgendwann feuert dann der Helligkeitssensor und der steuert eine andere Rule, die dann wieder ein andere Sript aufruft, was umgekehrt prüft.
Wenn nun eines der beiden Scripte Erfolg hat, dann würde ich aus diesem Script ein anderes Script aufrufen, das dann die entsprechenden Signale an die Jalousieaktoren schickt und die Rolladen hoch fährt.
Ob das jetzt der richtige Weg so ist, bleibt mal dahin gestellt. Ich kam nur darauf, weil ich erst noch dabei bin die ganzen Wege zu beschreiten und zu prüfen. Damit nun nichts blödes passiert, habe ich bisher als Reaktion auf irgendein Ergebnis immer nur ein Telegram verschickt um dann zu vergleichen, ob die Sache klappt. Dabei ist mir dann halt die idee gekommen, auch direkt das weitere Script aufzurufen, was auch die Rolladen hoch fahren soll.
---------------------
liebe Grüße Manfred

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

Re: Regeln <-> Scripte

Beitrag von udo1toni »

Na ja, richtig, falsch... Wenn es am Ende funktioniert, hast Du Dein Ziel erreicht, dann kann es ja gar nicht falsch sein. Umständlich schon eher...

Grundsätzlich würde ich es vorziehen, ein Script zu machen, welches prüft ob die Zeit erreicht wurde und die Helligkeit stimmt. Dieses Script wird dann von beiden Rules aus aufgerufen.

Die einfachste Variante kommt allerdings etwas schlanker daher und heißt Astro Addon.
Dort suchst Du Dir einen passenden Channel (in diesem Fall vermutlich civilDawn#event, das ist die bürgerliche Morgendämmerung) und ergänzt die Konfiguration des Channels um die Werte offset, earliest und latest, womit Du über offset den Zeitpunkt verschieben kannst. earliest und latest geben hingegen die Grenzen an, zu denen frühestens/spätestens das Ereignis auftreten soll.

Nun reicht eine einfache Rule, welche auf den Event Channel triggert. Wird die Rule ausgelöst, fahren die Läden auf.
Ja, Astro liefert keine echte Helligket. Dafür ist diese Variante super simpel umsetzbar.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

manes
Beiträge: 173
Registriert: 23. Jul 2020 17:49
Wohnort: Kreis Wesel

Re: Regeln <-> Scripte

Beitrag von manes »

Hi,
das hattest Du mir schonmal in einem anderen Thread erklärt, aber ich bin mir nicht sicher, ob das meine Probleme löst. Was ist, wenn das Astro Binding sagt:" Ok, jetzt müßte es hell sein, weil die Jahreszeit es so vor sieht". Aber es ist noch nicht hell, weil wir bewölkten Himmel haben? Ist gerade heute morgen hier passiert. Meine Tests in den letzten Tagen hatten um 5:00 Uhr gesagt, das es hell genug wäre, aber noch nicht Zeit. Heute morgen war es noch so dunkel, das der Sensor erst um 5:30 Uhr genug Licht gemeldet hat. So was kann doch immer wieder passiern. Ich möchte die Rollos hoch fahren, wenn das Licht günstig ist und nicht wenn es günstig sein sollte, weil rein astronomisch die Sonne theoretisch da sein müßte. Oder geht sowas mit dem Astro Binding? Ich habe das nicht wirklich verstanden.
Das gleiche ist umgekehrt. Abends kann es bei entsprechender Wetterlage auch um bis zu 30 Minuten schwanken.
---------------------
liebe Grüße Manfred

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

Re: Regeln <-> Scripte

Beitrag von udo1toni »

Ja, das ist richtig. Wenn Du die Wolken berücksichtigen willst, brauchst Du einen Helligkeitssensor. Was die Uhrzeit betrifft, hatte ich ja schon angedeutet, dass das im Channel konfiguriert werden kann, aber das löst ja dann trotzdem Dein Bewölkungsproblem nicht.
Dann musst Du halt eine Rule definieren, welche auf Helligkeitsänderungen reagiert. Wenn der Senor ein Update bekommt, prüfst Du in der Rule, ob die Uhrzeit errreicht ist (now.getHour*60+now.geMinute>330). Da der Sensor ständig Helligkeitsänderungen liefert, wird die Rule auch entsprechend getriggert. Eine eigene Rule für die Zeit macht die Sache nur unnötig kompliziert. Natürlich solltest Du auch eine Obergrenze definieren, damit die Rule nicht den Laden wieder auffährt, nachdem eine andere Rule die Läden zu gefahren hat.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten