Seite 3 von 4
Re: Zeit & Astroabhängige Lichtszenenschaltung
Verfasst: 21. Mär 2020 18:14
von Luemmelpaeppi
Hab es gefunden, habe den Eintrag nicht als Item deklariert.
Aber noch was, wie kann ich mir den Wert vom Counter_Switch01 im Log anzeigen lassen? Damit ich weiß auf welchem wert er steht.
Re: Zeit & Astroabhängige Lichtszenenschaltung
Verfasst: 21. Mär 2020 18:15
von Darkwin101
Bin mir nicht sicher ob mann eine Variable zum Triggern einer Rule nehmen kann ich würde das in einer Rule Machen
Code: Alles auswählen
rule "HmIP Schalter Terasse Taster 1 (Zählwerk)"
when
Channel 'homematic:HmIP-WRC6:3014F711A0001F5A4993FBA7:000B5A49A07A4E:1#BUTTON' triggered DOUBLE_PRESSED
then
Counter_Switch01 = Counter_Switch01 + 1
switch(Counter_Switch01){
case 1 : {//Hier rein alle Befehle die Bei 1 Ausgeführt werden sollen}
case 2 : {//Hier alles rein was bei 2 ausgeführt werden soll}
//Das ganze beliebig erweitern
}
end
Re: Zeit & Astroabhängige Lichtszenenschaltung
Verfasst: 21. Mär 2020 18:18
von Luemmelpaeppi
Danke Darkwin101, habe mich auch gerade mit der Case Geschichte befasst, kann da Quasi so viele Szenen setzten wir ich möchte? Dann probier ich das mal aus.
Danke sehr!
Re: Zeit & Astroabhängige Lichtszenenschaltung
Verfasst: 21. Mär 2020 18:24
von peter-pan
...ganz einfach mit "logInfo" z.B.
Code: Alles auswählen
logInfo("myRule","Wert von Switch ist: " + Counter_Switch01)
nach der Veränderung des Wertes
Re: Zeit & Astroabhängige Lichtszenenschaltung
Verfasst: 21. Mär 2020 18:38
von Luemmelpaeppi
Okay, danke dir! Das Zählen funktioniert. Habe aber das Problem, das er nicht umschaltet auf die erwartete Lichteinstellung, weder bei der Zeit/Astro gesteuerten Steuerung, noch bei den mit den Tastern. Wo könnte da der Wurm drin sein?
Automation.rules
Code: Alles auswählen
var Number Dimmer_Global = 100
var Number ColorTemp_Global = 63
var String Color_Global = "30,64,100"
var Number Dimmer_Gedimmt = 31 // Variablen an Anfang der Datei setzen
var Number ColorTemp_Gedimmt = 62
var String Color_Gedimmt = "30,64,31"
var Number Dimmer_Hell = 100
var Number ColorTemp_Hell = 62
var String Color_Hell = "30,64,100"
var Number Dimmer_Nachtlicht = 1
var Number ColorTemp_Nachtlicht = 85
var String Color_Nachtlicht = "27,100,1"
// Automation Lichtsteuerung mit Bewegungsmelder
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
Color_Global = Color_Gedimmt
end
rule "Automation Dimming Day"
when
Time cron "1 0 10 * * ?"
then
Dimmer_Global = Dimmer_Hell
ColorTemp_Global = ColorTemp_Hell
Color_Global = Color_Hell
end
rule "Automation Dimming Sunset"
when
Channel 'astro:sun:local:set#event' triggered START
then
Dimmer_Global = Dimmer_Gedimmt
ColorTemp_Global = ColorTemp_Gedimmt
Color_Global = Color_Gedimmt
end
rule "Automation Dimming Night"
when
Time cron "1 0 23 * * ?"
then
Dimmer_Global = Dimmer_Nachtlicht
ColorTemp_Global = ColorTemp_Nachtlicht
Color_Global = Color_Nachtlicht
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 Bad"
when
Item MotionSensorPresence_Bad changed to ON
then
if(Automation_Bad.state == ON)
{
GLight_ColorTemp_Bad.sendCommand(ColorTemp_Global)
GLight_Color_Bad.sendCommand(Color_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
Homematic.rules
Code: Alles auswählen
var Number Dimmer_HmIP_Global = 100
var Number ColorTemp_HmIP_Global = 64
var String Color_HmIP_Global = "30,64,100"
var Number Counter_Switch01 = 0
// Homematic IP Schaltersteuerung
// HmIP Schalter Terrasse Taster 1
rule "HmIP Schalter Terrasse Taster 1 (EIN)"
when
Channel 'homematic:HmIP-WRC6:3014F711A0001F5A4993FBA7:000B5A49A07A4E:1#BUTTON' triggered SHORT_PRESSED
then
Light11_ColorTemp.sendCommand(ColorTemp_HmIP_Global)
Light11_Color.sendCommand(Color_HmIP_Global)
logInfo("Homematic.rules","Wert von Switch ist: " + Counter_Switch01)
end
rule "HmIP Schalter Terrasse Taster 1 (AUS)"
when
Channel 'homematic:HmIP-WRC6:3014F711A0001F5A4993FBA7:000B5A49A07A4E:1#BUTTON' triggered LONG_PRESSED
then
Light11_Toggle.sendCommand(OFF)
Counter_Switch01 = 0
logInfo("Homematic.rules","Wert von Switch ist: " + Counter_Switch01)
end
rule "HmIP Schalter Terasse Taster 1 (Zählwerk)"
when
Channel 'homematic:HmIP-WRC6:3014F711A0001F5A4993FBA7:000B5A49A07A4E:1#BUTTON' triggered DOUBLE_PRESSED
then
Counter_Switch01 = Counter_Switch01 + 1
logInfo("Homematic.rules","Wert von Switch ist: " + Counter_Switch01)
switch(Counter_Switch01){
case 1 : { Light11_ColorTemp.sendCommand(67)
Light11_Color.sendCommand(11,87,78)}
case 2 : {}
//Das ganze beliebig erweitern
}
end
Danke für eure Zeit und Hilfe!
Re: Zeit & Astroabhängige Lichtszenenschaltung
Verfasst: 21. Mär 2020 18:49
von peter-pan
... wenn "Counter_Switch01"ein Iem ist geht natürlich auch
Code: Alles auswählen
logInfo("Homematic.rules","Wert von Counter_Switch01 ist: " + Counter_Switch01.state)
Re: Zeit & Astroabhängige Lichtszenenschaltung
Verfasst: 21. Mär 2020 19:02
von Darkwin101
Bitte nehme mal in der Homatic.rules folgende Änderung vor
var Integer Counter_Switch01 = 0
Ich schaue mal ob ich die anderen testen kann
Re: Zeit & Astroabhängige Lichtszenenschaltung
Verfasst: 21. Mär 2020 19:05
von Luemmelpaeppi
Okay, ich probier es mal =)
Ich glaube in der Automation.rules gibt es einen Syntaxfehler mit den Astrodaten, denn nach Zeit funktioniert es doch.Habe jetzt triggered Start in START geändert und schau mal was passiert. Muss dazu halt bis morgen früh warten ^^
Re: Zeit & Astroabhängige Lichtszenenschaltung
Verfasst: 21. Mär 2020 19:06
von peter-pan
Ohne jetzt zu tief in die Materie einzudringen, könntest du ja mal beginnen deine Regeln folgendermaßen zu prüfen.
Lege ein Test-Item an:
und erweitere deine Regeln, z.B. so:
Code: Alles auswählen
rule "Automation Light Ankleide"
when
Item MotionSensorPresence_Ankleide changed to ON or
Item Dummy1 changed to ON
then
logInfo("Ankleide","Rule triggert auf {}", triggerinItem.label)
if(Automation_Ankleide.state == ON || Dummy1.state == ON)
{
GLight_Dimmer_Ankleide.sendCommand(Dimmer_Global)
GLight_ColorTemp_Ankleide.sendCommand(ColorTemp_Global)
logInfo(("Ankleide","If wurde ausgeführt Status "Ankleide" ist {} - Dummy1 Status ist {}",Automation_Ankleide.state, Dummy1.state)
}
end
über den Dummy-Schalter kannst du dann die Regel auslösen und sehen, ob dein Ablaufteil überhaupt funktioniert. Du kannst natürlich auch ins Bad gehen und den Bewegungsmelder aktivieren

Re: Zeit & Astroabhängige Lichtszenenschaltung
Verfasst: 21. Mär 2020 19:08
von Darkwin101
Ja und bedenke bei jeder Änderung der Datei nimmt er wieder die Start Daten die du oben am Anfang deklariert hast