Sonoff über Sonnenwinkel steuern

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Sonoff über Sonnenwinkel steuern

Beitrag von Joe »

hat jemand einen Idee, wir die Rule aussehen muss, um eine Aktion über die °-Angabe des Sonnenwinkels zu steuern.

Code: Alles auswählen

rule "test"
 when 
 Item Sun_Elevation changed 
 then
 licht.sendCommand(ON)
 end
 
Somit bekomme ich es nur hin das sich das Licht anschaltet, wenn der Wert sich ändert.
Müsste ich nicht aber den channel="astro:sun:local:position#elevation" entsprechend ansprechen?
Beispiel:
Wenn der Winkel von 2,4° erreicht ist, soll das Licht das Kommando (ON) erhalten.

Caddy
Beiträge: 117
Registriert: 16. Nov 2018 08:21
Answers: 0

Re: Sonoff über Sonnenwinkel steuern

Beitrag von Caddy »

das sollte mit
if (triggeringItem.state == "2.4") logInfo("Rule.Testrule","Test {} ",triggeringItem.state)

gehen wenn ich nicht falsch liege ....

caddy

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

Re: Sonoff über Sonnenwinkel steuern

Beitrag von udo1toni »

Nein, da liegst Du knapp daneben :)

Eine Möglichkeit:

Code: Alles auswählen

rule "test"
when 
    Item Sun_Elevation changed 
then
    if(!(Sun_Elevation.state instanceof Number)) return;
    var Switch mySwitch = OFF
    if((Sun_Elevation.state as Number) < 2) mySwitch = ON
    if(licht.state != mySwitch) licht.sendCommand(mySwitch)
end
Falls das Item Sun_Elevation keinen gültigen (numerischen) Wert hat, wird die Rule abgebrochen.
Eine Variable wird als Switch mit OFF initialisiert.
Der Status wird als Zahlenwert verglichen, ist er kleiner 2, wird die Variable auf ON gesetzt.
Abschließend wird geprüft, ob das Soll vom Ist abweicht und gegebenenfalls der passende Befehl gesendet.

Die Rule triggert bei jeder Änderung (abhängig von der Konfiguration der astro:sun Bridge), was nicht so schön ist.

Eine bessere Variante ist, die Rule auf ein astro Event triggern zu lassen, z.B. civilDusk#event oder civilDawn#event. Damit wird die Rule nur einmal täglich getriggert. Allerdings braucht man dann zwei Rules, eine zum Ein- und eine zum Ausschalten (der Aufwand, innerhalb der Rule herauszufinden, welcher Trigger die Rule gestartet hat, steht in keinem Verhältnis). Sieht dann so aus:

Code: Alles auswählen

rule "sonnenaufgang"
when 
    Channel 'astro:sun:home:civilDawn#event' triggered START
then
    licht.sendCommand(OFF)
end

rule "sonnenuntergang"
when 
    Channel 'astro:sun:home:civilDusk#event' triggered START
then
    licht.sendCommand(OFF)
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

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

Re: Sonoff über Sonnenwinkel steuern

Beitrag von Joe »

Danke Euch beiden, ich werde das ganze gleich mal testen

Antworten