[Modul] Philips HUE - alte Version

geht leider nicht.

Idee wäre auch die Lampe auf Minimal abzudimmen und dann die Farbe umzuschalten mi HUE_SetBrightness oder so, aber weiß nicht wie ich das schreiben muss.

Dann kannst du es so machen:

RequestAction($VariablenID, 1); //$VariablenID = Helligkeitsvariable, Helligkeit 1
RequestAction($VariablenID, '#0000FF'); //$VariablenID = Farbvariable, Farbe Blau
RequestAction($VariablenID, false); //$VariablenID = Statusvariable, aus

Grüße,
Kai

Bekomme da Fehler "
Warning: Cannot auto-convert value for parameter VariableValue in /var/lib/symcon/scripts/41140.ips.php on line 6"

Zeigst du mir mal deinen Code dazu?

Grüße,
Kai

<?php
$interval = 180; // 180 Sekunden
if($_IPS['SENDER'] == "TimerEvent")
{
    //Aus Befehl
    HUE_SetState(16657, false); // Hue Lampe mit Objekt ID 12345 ausschalten
    IPS_SetScriptTimer($_IPS['SELF'], 0); // Der Timer schaltet sich aus
} else {
    //An Befehl
    HUE_SetState(16657, true); // Hue Lampe mit Objekt ID 12345 ausschalten
   // Kann ich die Variable hier setzten?
   // Hier wird die Lampe eingeschaltet hier kannst Du nun auch weitere Dinge übergeben wie die Farbe
   // oder auch die Zeit die gebraucht wird bis die Lampe volle Helligkeit erreicht hat 
    $colour = hexdec("DF0101"); // Hex Wert ohne #  #c32b2b 
    RequestAction(41891, $colour); // 12345 ist die Objekt ID der Farbvariable
    //Timer anschalten
    IPS_SetScriptTimer($_IPS['SELF'], $interval); // Hier wird der Timer eingeschaltet der dann die Lampe nach dem Intervall wieder ausschaltet
    
    RequestAction(34052, 1); //$VariablenID = Helligkeitsvariable, Helligkeit 1
    RequestAction(41891, '#0000FF'); //$VariablenID = Farbvariable, Farbe Blau
    RequestAction(37132, false); //$VariablenID = Statusvariable, aus


}

Das ist der ursprüngliche Code vom Nachtlicht., den mir Fonzo mal erstellt hat. Ich dachte nun, nach Ablauf des Timers die Helligkeit auf 1 runterzunehmen, dann den Wert der Farbe wieder auf weiß oder gelb umzuschalten, da man die Farbe im ausgeschalteten Zustand nicht ändern kann, ohne das die Lampe angeht. Zu meiner Verteidigung muss ich sagen, ich bin was Scripten angeht nur Laie.

Du nutzt gar nicht mein Modul, kann das sein?
Nutzt du noch das Modul von @traxanos?

Grüße,
Kai

Doch, eigentlich dein Modul

Die Funktion HUE_SetState gibt es bei mir nicht.
Nutze mal überall nur noch RequestAction.

Grüße,
Kai

<?php
$interval = 10; // 180 Sekunden
if($_IPS['SENDER'] == "TimerEvent")
{
    //Aus Befehl

    RequestAction(34052, 1); //$VariablenID = Helligkeitsvariable, Helligkeit 1
    
    $colour = hexdec("FDF4DC"); // Hex Wert ohne #  #c32b2b // Farbe Weiß
    RequestAction(41891, $colour); // 12345 ist die Objekt ID der Farbvariable

    RequestAction(37132, false); // Hue Lampe mit Objekt ID 12345 ausschalten
    IPS_SetScriptTimer($_IPS['SELF'], 0); // Der Timer schaltet sich aus
    
} else {
    //An Befehl
    RequestAction(37132, true); // Hue Lampe mit Objekt ID 12345 einschalten
    RequestAction(34052, 254); //$VariablenID = Helligkeitsvariable, Helligkeit 1 /////
   
    $colour = hexdec("DF0101"); // Hex Wert ohne #  #c32b2b // Farbe Rot
    RequestAction(41891, $colour); // 12345 ist die Objekt ID der Farbvariable
    // Timer anschalten

    IPS_SetScriptTimer($_IPS['SELF'], $interval); // Hier wird der Timer eingeschaltet der dann die Lampe nach dem Intervall wieder ausschaltet

}

So funktioniert es erstmal, außer das er mit dem Befehl runterdimmen und Farbe auf weiß wechseln zu schnell ist. Kann man das verlangsamen oder eine Pause einfügen? Weiß leuchtet vorm Abschalten kurz auf.

Dann versuch es mal so:

$InstanzID= 12345;
$color = '#0000FF';
$opt = ['on' => true, 'bri' => 1,  'transitiontime' => 5];
PHUE_ColorSetOpt($InstanzID, $color, $opt);
RequestAction(37132, false);

Grüße,
Kai

Bekomme es leider nicht hin. Instand-ID ist die ID für die Farbe der Lampe?

Das ist die ID der Instanz. Was bekommst du denn für einen Fehler?

Grüße,
Kai

Zustand bleibt auf „An“, Helligkeit geht auf 0% runter. Fehler so bekomme ich keinen.

<?php
$interval = 10; // 180 Sekunden
if($_IPS['SENDER'] == "TimerEvent")
{
    //Aus Befehl

    RequestAction(34052, 1); //$VariablenID = Helligkeitsvariable, Helligkeit 1
    
   // $colour = hexdec("FDF4DC"); // Hex Wert ohne #  #c32b2b // Farbe Weiß
   //RequestAction(41891, $colour); // 12345 ist die Objekt ID der Farbvariable
    
    $InstanzID= 41891;
    $color = '#0000FF';
    $opt = ['on' => true, 'bri' => 1,  'transitiontime' => 5];
    PHUE_ColorSetOpt($InstanzID, $color, $opt);
    RequestAction(37132, false); // Hue Lampe mit Objekt ID 12345 ausschalten
    
    IPS_SetScriptTimer($_IPS['SELF'], 0); // Der Timer schaltet sich aus
    
} else {
    //An Befehl
    RequestAction(37132, true); // Hue Lampe mit Objekt ID 12345 einschalten
    RequestAction(34052, 254); //$VariablenID = Helligkeitsvariable, Helligkeit 1 /////
   
    $colour = hexdec("DF0101"); // Hex Wert ohne #  #c32b2b // Farbe Rot
    RequestAction(41891, $colour); // 12345 ist die Objekt ID der Farbvariable
    // Timer anschalten

    IPS_SetScriptTimer($_IPS['SELF'], $interval); // Hier wird der Timer eingeschaltet der dann die Lampe nach dem Intervall wieder ausschaltet

}

Hier wäre die Lampe

Du nutzt nicht mein Modul. Das ist das Modul von @traxanos.

Grüße,
Kai

Ich hab doch das Modul von dir installiert. Autor Kai Schnittcher

Aber du musst das alte auch noch installiert haben.
Die Instanz HUELight gibt es bei meinem Modul nicht.

Grüße,
Kai

Eigenartig, warum zeigt er mir im ModulStore dann an, dass dein Modul installiert wäre? Unter den Lampen bei Objekt bearbeiten steht dann Marco Scholl :grinning_face_with_smiling_eyes:

Muss ich die Bridge jetzt komplett löschen im Symcon, um dein Modul neu zu installieren?

Ich lösche jetzt alles und fang neu mit deinem Modul an.

Du wirst das über den alten Weg noch installiert haben.

Grüße,
Kai

Hab nun dein Modul drauf. Sorry für die Umstände.

Helligkeit gebe ich im Script in Prozent an oder 0-254?

Alles gut, helfe gerne wenn ich kann. :slight_smile:
Bei RequestAction kannst du es in % angeben.

Grüße,
Kai