[Modul] OSRAM Lightify

Also in meinen Modul ist definitiv wo der Fisch drinnen.
Heute Abend gibts aber einen funktionierenden Update!

neue Version Online

unbedingt vor der Installation:
a) Instanz löschen b) die Geräte löschen c) neue Version drüberbügeln d) symcon neu starten

Hallo Whitesheep,

tolle Arbeit - jetzt sind alle Elemente drin:

Danke

Ich bekomme folgende Meldung:

lightify Fehler.JPG

Kannst du auch die Leuchten und Gruppen im Webfront schalten? Bei mir geht es zumindest nicht.

Hallo,

nein, das geht erst (so hatte ich die initiale Angabe von Whitesheep verstanden)
wenn Du eigene Skripts hinzufügst als Aktionen für die Variable.

Dafür gibt es die Funktionen:


if($_IPS["SENDER"] == "WebFront") 
 { 
	$value = $_IPS["VALUE"];
	OSR_SetValue(34889, "BRIGHTNESS", $value);
	OSR_SyncDevice(34889);
 } 

was steht im Log ?
werden alle deine Lampen synchronisiert. Wäre interessant, nachdem Du doch einige hast :wink:

Hi,
eine Lampe wurde nicht korrekt angelegt. Und bei den Switches sind vier zu finden, habe aber nur 3 in Betrieb. Es kann sein das da noch Reste im Gateway übrig sind von einem anlern Vorgang. Muss mal schauen wie ich den raus bekomme.

In den Meldungen habe ich diese:

21.04.2017 22:52:52*| TimerPool*| Lightify Gateway (gatewayTimer): <br />
<b>Warning</b>:  JSON parse error in <b>C:\IP-Symcon\modules\SymconLightify-master\lightifyGateway\module.php</b> on line <b>339</b><br />

Edit: Habe gerade bemerkt das die Gruppe „Flur“ auch einen Fehler hat.

Hallo Whitesheep,

könntest Du für die Steuerung der Funktionen mal ein paar Beispiele zur Verfügung stellen?
Ich habe damit herumexperimentiert, bekomme aber nicht alle Funktionen zum Laufen, speziell
bei den Lampen die Farbe zu setzen, habe ich Schwierigkeiten:

Hier zwei Beispiele, was ich bereits habe…


// set Brightness
if($_IPS["SENDER"] == "WebFront") 
 { 
	$value = $_IPS["VALUE"];
	OSR_SetValue(34889, "BRIGHTNESS", $value);
 } 

// switch light 
if($_IPS["SENDER"] == "WebFront") 
 { 
    SetValue($_IPS["VARIABLE"], $_IPS["VALUE"]);
	
	if($_IPS["VALUE"]) OSR_SetValue(34889, "STATE", 1);
	else OSR_SetValue(34889 , "STATE", 0);
 } 

Vielen Dank im Voraus.

anbei ein paar Beispiele:

//Schaltet 51938 ein
OSR_SetValue(51938, ‚STATE‘, true);

//Schaltet alle Geräte die Online sind aus
OSR_SetValue(51938, ‚ALL_DEVICES‘, false);

//Setzt die Helligkeit von 51938 auf 36%
OSR_SetValue(51938, ‚BRIGHTNESS‘, 36);

//Setzt die Farbtemperatur von 51938 auf 2862 (Kelvin)
OSR_SetValue(51938, ‚COLOR_TEMPERATURE‘, 2862);

//Setzt die Farbsättigung von 51938 auf 78%
OSR_SetValue(51938, ‚SATURATION‘, 78);

//Setzt die Farbe von 51938 auf
OSR_SetValue(51938, ‚COLOR‘, 16711680); //Rot
OSR_SetValue(51938, ‚COLOR‘, 65280); //Grün
OSR_SetValue(51938, ‚COLOR‘, 255); //Blau

//Schalte alle Geräte in Gruppe 35405 ein
OSR_SetValue(35405,‚STATE‘, true);

//Schalte alle Lampen in Gruppe 35405 auf Blau
OSR_SetValue(35405, ‚COLOR‘, 255);

Hallo Whitesheep,

vielen Dank erstmal - kannst Du mir ggf. einen Skriptauszug geben wie ich aus dem HEXColor
die Farbe an die Lampe senden kann - stehe hier völlig auf dem Schlauch :confused:

Danke und Grüsse

möchtest Du den Farbwert als HEX setzen ? habe ich dich da korrekt verstanden, oder meinst Du etwas anderes ?
Die Color Variable selbst verwendet das HexColor Profil von Symcon und stellt somit den Interner Wert automatisch als HEX dar.

konkret geht es mir darum wie ich die Farbe übergeben kann, also in der Form wie z.B.



if($_IPS["SENDER"] == "WebFront") 
 { 
	// Übernahme HEX-Wert aus HEXCOLOR
        $value = $_IPS["VALUE"];

        [b]// Umrechnung HEX zu Int
        $hexIntValue = ["hier stehe ich auf dem Schlauch"]($value);[/b]


	OSR_SetValue(34889, "COLOR", $hexIntValue);
 }



Ich gehe davon aus, dass HEXCOLOR eine Hex-Variable zurückgibt, die Funktion
übergibt aber Integer-Werte an die Lampe - da stehe ich auf dem Schlauch…

PS: Würde die Examples dann auch gleich in die Doku überführen :wink:

Grüsse,

Mike

hexdec(„HEXCOLOR“);

Gruß
Michael

Ich hatte noch einen BUG im utf8 encode/decode.
Kannst Du bitte die aktuelle Version installieren und noch einmal testen.

Gruß
Michael

Musst dich etwas gedulden, bei mir geht im Moment gar nichts mehr. Werde es testen sobald ich eine Lösung gefunden habe. Melde mich dann.

Hallo, ich habe nun versucht, alles nach Vorschrift zu machen, aber bei mir wird meine eine Testlampe trotz erfolgreichem Gateway-Sync nicht als Instanz angelegt. Ich habe Max ping timeout auf 1, wenn ich es auf 0 setze kommt die Meldung: Receive Buffer has wrong size!

Ich habe mir mal den Spaß gemacht und eine nicht vorhandene IP-Adresse eingetragen. Sync Gateway meckert nicht, wenn ich Max ping timeout auf 1 setze, auf 0 kommt schon eine Fehlermeldung (unable to connect).

Danke für jede Form der Unterstützung :slight_smile:

Vielen Dank für den Hinweis, der hat mir gefehlt. Leider geht mein Script immer auf Fehler
und ich habe keinen Ansatz warum:


if($_IPS["SENDER"] == "WebFront") 
{ 
    SetValue($_IPS["VARIABLE"], $_IPS["VALUE"]);
	$color = hexdec($_IPS["VALUE"]);
	OSR_SetValue(34889, 'COLOR', $color);
} 

Irgendeine offensichtliche Idee?

Hallo Klaus,

hast Du in der Gateway-Konfig die Pfade zu den Orten angegeben an welcher die Instanzen angelegt werden sollen
UND den Haken bei SYNC gesetzt?

Grüsse,

Mike

Ja, soweit ich das verstanden habe, ist es korrekt konfiguriert:

Lightify.JPG