Zeit & Astroabhängige Lichtszenenschaltung

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Luemmelpaeppi
Beiträge: 21
Registriert: 20. Mär 2020 09:46
Answers: 0

Zeit & Astroabhängige Lichtszenenschaltung

Beitrag von Luemmelpaeppi »

Hallo,

ich komme leider bei meinem aktuellen Projekt nicht weiter. Vielleicht kann mir einer von euch helfen.

Ich habe einen Hue Bewegungsmelder und 3 Lampen.
Die Idee ich möchte am Tag 4 verschiedene Lichteinstellungen automatisch ändern lassen. Abhängig von der Zeit und vom Sonnenauf/untergang.
Dabei sollen die Lampen nicht angehen sondern nur die "Einstellungen" übernehmen.
Wenn man dann in den Raum kommt, sollen die Lampen in den für den Zeitraum entsprechenden Lichteinstellungen angehen.
Mein Problem ist, das wenn die "Szene" umgeschaltet wird, die Lampen für kurze Zeit angehen, das liegt daran, das in der Lichteinstellung der Dämmergrad eingestellt wird. Meine Frage an euch, wie kann ich das besser machen?

Code: Alles auswählen

rule "Automation Light Ankleide"
when 
     Item MotionSensorPresence_Ankleide changed to ON
then
   if(Automation_Ankleide.state == ON){
        Light02_Toggle.sendCommand(ON)
        Light03_Toggle.sendCommand(ON)
        Light04_Toggle.sendCommand(ON)}
end

rule "Automation Dimming Sunrise Ankleide"
when 
     Channel 'astro:sun:local:rise#event' triggered Start
then
   if(Automation_Ankleide_Dimmer.state == ON){
        Light02_Dimmer.sendCommand(new PercentType(31))
        Light02_ColorTemp.sendCommand(new PercentType(62))
        Light03_Dimmer.sendCommand(new PercentType(31))
        Light04_ColorTemp.sendCommand(new PercentType(62))
        Light03_Dimmer.sendCommand(new PercentType(31))
        Light04_ColorTemp.sendCommand(new PercentType(62))
        Light02_Toggle.sendCommand(OFF)
        Light03_Toggle.sendCommand(OFF)
        Light04_Toggle.sendCommand(OFF)}

end

rule "Automation Dimming Day Ankleide"
when 
      Time cron "1 40 09 * * ?"
then
   if(Automation_Ankleide_Dimmer.state == ON){
        Light02_Dimmer.sendCommand(new PercentType(100))
        Light02_ColorTemp.sendCommand(new PercentType(62))
        Light03_Dimmer.sendCommand(new PercentType(100))
        Light04_ColorTemp.sendCommand(new PercentType(62))
        Light03_Dimmer.sendCommand(new PercentType(100))
        Light04_ColorTemp.sendCommand(new PercentType(62))
        Light02_Toggle.sendCommand(OFF)
        Light03_Toggle.sendCommand(OFF)
        Light04_Toggle.sendCommand(OFF)}
end

rule "Automation Dimming Sunset Ankleide"
when 
     Channel 'astro:sun:local:set#event' triggered Start
then
   if(Automation_Ankleide_Dimmer.state == ON){
        Light02_Dimmer.sendCommand(new PercentType(31))
        Light02_ColorTemp.sendCommand(new PercentType(62))
        Light03_Dimmer.sendCommand(new PercentType(31))
        Light04_ColorTemp.sendCommand(new PercentType(62))
        Light03_Dimmer.sendCommand(new PercentType(31))
        Light04_ColorTemp.sendCommand(new PercentType(62))
        Light02_Toggle.sendCommand(OFF)
        Light03_Toggle.sendCommand(OFF)
        Light04_Toggle.sendCommand(OFF)}
end

rule "Automation Dimming Night Ankleide"
when 
      Time cron "1 0 23 * * ?"
then
   if(Automation_Ankleide_Dimmer.state == ON){
        Light02_Dimmer.sendCommand(new PercentType(1))
        Light02_ColorTemp.sendCommand(new PercentType(85))
        Light03_Dimmer.sendCommand(new PercentType(1))
        Light04_ColorTemp.sendCommand(new PercentType(85))
        Light03_Dimmer.sendCommand(new PercentType(1))
        Light04_ColorTemp.sendCommand(new PercentType(85))
        Light02_Toggle.sendCommand(OFF)
        Light03_Toggle.sendCommand(OFF)
        Light04_Toggle.sendCommand(OFF)}
end

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Zeit & Astroabhängige Lichtszenenschaltung

Beitrag von Darkwin101 »

Ich würde mit dummy Dimmer arbeiten also 5 ungebundene items 4 zum einstellen der Werte und zu den entsprechenden Zeiten per rule die gewünschten Wert in das fünfte item übertragen in den rules anstatt die prozentwerte direkt anzugeben immer den Wert aus Dimmer 5 in etwa so huelampe.sendCommand(dimmer5.state as Number)
Bei meiner Variante Ist es dann möglich die 4 anderen Dimmer immer über die Sitemap anzupassen oder Mann benutzt nur einen Dimmer und schreibt die Werte fest in den Dimmer bzw.Variable


Gesendet von iPhone mit Tapatalk

Luemmelpaeppi
Beiträge: 21
Registriert: 20. Mär 2020 09:46
Answers: 0

Re: Zeit & Astroabhängige Lichtszenenschaltung

Beitrag von Luemmelpaeppi »

Verstehe ich das richtig, ich erstelle Quasi Dummy Dimmer Items den ich direkt die Werte für Helligkeit und Farbe zuweise und rufe die dann entsprechend der Abhängigkeit auf? Ist das technisch möglich?

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Zeit & Astroabhängige Lichtszenenschaltung

Beitrag von Darkwin101 »

Du erstellst für jeden Zeitraum eine Variable für Helligkeit und eine für farbwert und jeweils eine globale Variable für Farbe und Helligkeit zu den Zeitpunkten schreibst du die entsprechenden Variablen Werte in die globale Variablen und Startest die Lampe mit mit den globalen Variablen ich schaue gleich mal ob ich am Laptop mal ein bespiel schreibe


Gesendet von iPhone mit Tapatalk

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Zeit & Astroabhängige Lichtszenenschaltung

Beitrag von Darkwin101 »

Code: Alles auswählen

var Number Helligkeit1 = 85  // Variablen an Anfang der Datei setzen
var Number Farbtemp1 = 63
var Number Helligkeit_Global = 100
var Number Farbtemp_Global = 63

rule "Zeitpunkt 1" // erster Zeitpunkt jeder Zeitpunkt bekommt eigene Rule mit entsprechenden Helligkeitswerten
when
Time cron "Zeitpunkt"
Then
Helligkeit_Global = Helligkeit1
Fartemp_Global = Farbtemperatur1
end

rule "Bewegungsnmelder"
when
 Item Bewegungmelder changed to ON
then
Light02_Dimmer.sendCommand(new PercentType(Helligkeit_Global))
Light02_ColorTemp.sendCommand(new PercentType(Farbtemp_Global))
end

Ich hoffe so wird die Syntax Klar wie ich das meine, die Werte oben Helligkeit1-X und Farbtemperatur1-X setzt du auf Werte die du haben möchtest.
Die Werte die Global stehen sind dort nur für den Start nach einem Neustart aktiv bzw. nachdem neu Einlesen der Datei durch z.B. Änderungsspeichern.

Luemmelpaeppi
Beiträge: 21
Registriert: 20. Mär 2020 09:46
Answers: 0

Re: Zeit & Astroabhängige Lichtszenenschaltung

Beitrag von Luemmelpaeppi »

Hab die Regel soweit geschrieben.

Habe jetzt nur folgende Fehler, wenn ich den Bewegungsmelder auslöse bekomme ich folgende Fehlermeldung:

[ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Automation Light Ankleide': An error occurred during the script execution: Could not invoke constructor: org.eclipse.smarthome.core.library.types.PercentType.PercentType(java.lang.String)

Luemmelpaeppi
Beiträge: 21
Registriert: 20. Mär 2020 09:46
Answers: 0

Re: Zeit & Astroabhängige Lichtszenenschaltung

Beitrag von Luemmelpaeppi »

Hier meine Regel für den Bewegungsmelder

Code: Alles auswählen

rule "Automation Light Ankleide"
when 
        Item MotionSensorPresence_Ankleide changed to ON
then
        if(Automation_Ankleide.state == ON)
        {
        GLight_Dimmer_Ankleide.sendCommand(new PercentType(Dimmer_Global))
        GLight_ColorTemp_Ankleide.sendCommand(new PercentType(ColorTemp_Global))
        }
end

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Zeit & Astroabhängige Lichtszenenschaltung

Beitrag von Darkwin101 »

Wenn das Hue Lampen sind lass mal bitte das new PercentType weg also
GLight_Dimmer_Ankleide.sendCommand(Dimmer_Global)
eventuell auch
GLight_Dimmer_Ankleide.sendCommand(Dimmer_Global as Number)

Luemmelpaeppi
Beiträge: 21
Registriert: 20. Mär 2020 09:46
Answers: 0

Re: Zeit & Astroabhängige Lichtszenenschaltung

Beitrag von Luemmelpaeppi »

Ist der Ausdruck so rum korrekt?

Code: Alles auswählen

Dimmer_Global = Dimmer_Gedimmt
        ColorTemp_Global = ColorTemp_Gedimmt
Er nimmt leider die Änderung nicht vor.

Mein Code ist jetzt:

Code: Alles auswählen

var Number Dimmer_Global = 100
var Number ColorTemp_Global = 63
var Number Dimmer_Gedimmt = 31  // Variablen an Anfang der Datei setzen
var Number ColorTemp_Gedimmt = 62
var Number Dimmer_Hell = 100
var Number ColorTemp_Hell = 62
var Number Dimmer_Nachtlicht = 1
var Number ColorTemp_Nachtlicht = 85

rule "Automation Dimming Sunrise" // erster Zeitpunkt jeder Zeitpunkt bekommt eigene Rule mit entsprechenden Helligkeitswerten
when
        Channel 'astro:sun:local:rise#event' triggered Start
then
        Dimmer_Global = Dimmer_Gedimmt
        ColorTemp_Global = ColorTemp_Gedimmt
        
end

rule "Automation Dimming Day"
when 
        Time cron "1 0 10 * * ?"
then
        Dimmer_Global = Dimmer_Hell
        ColorTemp_Global = ColorTemp_Hell
end

rule "Automation Dimming Sunset"
when 
        Channel 'astro:sun:local:set#event' triggered Start
then
        Dimmer_Global = Dimmer_Gedimmt
        ColorTemp_Global = ColorTemp_Gedimmt
end

rule "Automation Dimming Night"
when 
        Time cron "1 0 23 * * ?"
then
        Dimmer_Global = Dimmer_Hell
        ColorTemp_Global = ColorTemp_Hell
end

rule "Automation Light Ankleide"
when 
        Item MotionSensorPresence_Ankleide changed to ON
then
        if(Automation_Ankleide.state == ON)
        {
        GLight_Dimmer_Ankleide.sendCommand(Dimmer_Global)
        GLight_ColorTemp_Ankleide.sendCommand(ColorTemp_Global)
        }
end

rule "Automation Light Flur"
when 
        Item MotionSensorPresence_Flur changed to ON
then
        if(Automation_Flur.state == ON)
        {
        GLight_Dimmer_Flur.sendCommand(Dimmer_Global)
        GLight_ColorTemp_Flur.sendCommand(ColorTemp_Global)
        }
end

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Zeit & Astroabhängige Lichtszenenschaltung

Beitrag von Darkwin101 »

Bekommst du denn irgendeinen Fehler gemeldet ich habe das ganze gerade mal ausprobiert und bei mir funktioniert das ganze was sagt denn das Log

Antworten