Seite 2 von 2

Re: Rollladen 60min nach Sonnenuntergang schliessen

Verfasst: 6. Nov 2020 22:47
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.

Re: Rollladen 60min nach Sonnenuntergang schliessen

Verfasst: 7. Nov 2020 08:20
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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Verfasst: 7. Nov 2020 10:46
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 ?

Re: Rollladen 60min nach Sonnenuntergang schliessen

Verfasst: 7. Nov 2020 21:09
von PeterA
Stimmt das würde auch mit dem "normalen" Item gehen...

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

Funktioniert wunderbar.

Re: Rollladen 60min nach Sonnenuntergang schliessen

Verfasst: 8. Nov 2020 11:06
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 ?

Re: Rollladen 60min nach Sonnenuntergang schliessen

Verfasst: 8. Nov 2020 12:11
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.

Re: Rollladen 60min nach Sonnenuntergang schliessen

Verfasst: 8. Nov 2020 13:08
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 ?

Re: Rollladen 60min nach Sonnenuntergang schliessen

Verfasst: 8. Nov 2020 14:21
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

Re: Rollladen 60min nach Sonnenuntergang schliessen

Verfasst: 8. Nov 2020 20:12
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