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
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von peter-pan »

PeterA hat geschrieben: 6. Nov 2020 19:31 Eigentlich dachte ich ich könnte ein weiteres Range Event anlegen mit im Astro Thing.
Das ist ja der eigentliche Sinn des Ganzen. Wenn du ein Astro-Thing anlegst(eigentlich zwei, eins für sun und eins für moon), dann hast du zunächst mal alle deine Channels ohne Offsets. Wenn du nun mit Offsets arbeiten willst, dann legst du ein neues Thing an und definierst die Channels mit dem entsprechenden Offset, da der Channel (besser vielleicht "Channel-Typ") eines bestimmten Things nur einmal vorkommen kann.
D.h. wenn du z.B. deinem Event-Channel für Sunset aus deinem "local"-Thing den Offset 60 zuweisen würdest, dann hat der immer 60. Du kannst also in diesem Thing (local) keinen weiteren Sunset-Event-Channel mit einem anderem Offset definieren. Deshalb brauchst du ein weiteres Thing.

Es gibt zwar viele Channels für ein Astro-Thing, aber in der Regel braucht man ja von diesen, ich nenn sie mal" Offset-Things", nur bestimmte (Range)Event-Channels und die sind eigentlich gleich in openHAB angelegt und man gibt ihnen im Unterschied zu den Standard-Thing-ID's (local, home), und zur besseren Visualisierung, die Bezeichnungen "offset60" oder "minus90" oder, oder. Das passende Item dazu ist mit VSC auch gleich generiert.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von PeterA »

So hab ichs jetzt mal gebaut:

Code: Alles auswählen

rule "Shelly Keller gesamt close +1h Sunset"
when
	Channel 'astro:sun:local:set#event' triggered START
then
    if (Shelly25_03_Sunset_Close.state!=ON) {                                 // Wenn nicht an, Abbruch
    logInfo("shelly-keller-gesamt","nicht Aktiv, Abbruch.")
        return;
    }
    if (Shelly25_03_Proxy.state==OFF) {                                       // Wenn schon/noch geschlossen, Abbruch
    logInfo("shelly-keller-gesamt","noch/schon geschlossen, Abbruch.")
        return;
    }
    Shelly25_03.sendCommand(100)                                              // Schliesse alle Rollläden Keller gesamt
    logInfo("shelly-keller-gesamt","Rollladen werden geschlossen")
end
- OpenHab 2.4
#PWRUP

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von peter-pan »

Das sieht doch gut aus.
Frage:Warum nimmst du eine Proxy-Item um zu prüfen ob der Rollladen geschlossen ist ? Geht das nicht mit dem "normalen" Item (<100).

Zweite Frage: Der Trigger ist mit Offset oder nur mal zum Test ?
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von PeterA »

Stimmt das würde auch mit dem "normalen" Item gehen...

Und der Trigger jetzt nur mal zum Test gewählt.

Funktioniert wunderbar.
- OpenHab 2.4
#PWRUP

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von PeterA »

So nun die nächste Frage:

Nur Freitags und Samstags sollen (im Sommer dann) die Rollläden +1h nach Sonnenuntergang schliessen.
Wie sieht denn die Abfrage auf Freitag und Samstag aus ?
- OpenHab 2.4
#PWRUP

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von peter-pan »

Eigentlich brauchst du nur einen zweiten Trigger, also, den normalen und den versetzten Trigger und dann fragst du noch den Tag der Woche (DayOfWeek) und die Uhrzeit und ggf. die Jahreszeit im Prozedur-Teil ab. So kannst du dann Montag - Donnerstag und Sonntag und Freitag/Samstag steuern.

Das ist jetzt ganz grob ins Unreine skizziert, da ich nicht genau verstanden habe was du für einen Ablauf gestalten willst.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von PeterA »

Ah ok, meine Idee war:

Wenn "Nacht" getriggert wird zu prüfen ob Freitag oder Samstag ist und dann die Rollläden zu schliessen.

Wie sieht denn so ein Vergleich auf Freitag und Samstag z.B. aus ?
- OpenHab 2.4
#PWRUP

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von violine21 »

PeterA hat geschrieben: 8. Nov 2020 13:08 Wenn "Nacht" getriggert wird zu prüfen ob Freitag oder Samstag ist und dann die Rollläden zu schliessen.
Ganau so sähe auch mein Ansatz aus.
Trigger ist das Sonnenuntergang-Offset-Item ODER das Sonnenuntergang-Item.
Der then-Bereich beginnt dann mit der Prüfung auf den Wochentag UND der Sonnenuntergangs-Bedingung
now = Wochentag && Sonnenuntergang-Offset-Item
now = Wochentag && Sonnenuntergang-Item

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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Beitrag von PeterA »

So... hab mal was zusammen gehackt :)

Code: Alles auswählen

rule "Shelly Keller gesamt close Freitag und Samstag +1h Sunset"
when
	Channel 'astro:sun:local:set#event' triggered START
then
    if (Shelly25_03_FrbisSa_Close.state!=ON) {                                 // Wenn nicht an, Abbruch
    logInfo("shelly-keller-gesamt Freitag und Samstag","nicht Aktiv, Abbruch")
        return;
    }
    if (Shelly25_03_Proxy.state==OFF) {                                       // Wenn schon/noch geschlossen, Abbruch
    logInfo("shelly-keller-gesamt Freitag und Samstag","noch/schon geschlossen, Abbruch")
        return;
    }
    if (now.getDayOfWeek==5 || now.getDayOfWeek==6) {                          // Wenn Freitag oder Samstag
    Shelly25_03.sendCommand("DOWN")                                            // Schliesse alle Rollläden Keller gesamt
    logInfo("shelly-keller-gesamt  Freitag und Samstag","Rollladen werden geschlossen")
    }
end
- OpenHab 2.4
#PWRUP

Antworten