DPT 3.007 - Philips Hue per Knx Taster dimmen

Begonnen von urli79, 02 Januar 2016, 00:48:14

Vorheriges Thema - Nächstes Thema

urli79

Hallo erstmal an alle!

Ich hätte eine frage zur Steuerung der Philips Hue Devices. Die Grundinstallation von FHEM und Hue bzw. KNX hab ich schon hinbekommen. Kann auch schon die Hue sachen schalten. Würde jetzt aber noch gerne die Hue Devices per Knx Taster dimmen. Dazu verwendet aber mein Taster die DPT 3.007. Sprich der Taster sendet telegramme zum erhöhen des Dimmwertes bzw. Senken.

Gibts dafür in FHEM eine Lösung?

lg
urli

Andi291


chr2k

Hallo Urli,

hast du was raus gefunden?

Gruß
Christian

rubinho

Servus,

da ich genau wie @urli79 mit einem KNX Schalter Hue Leuchten dimmen wollte, habe ich zusammen mit meinem Kumpel (Perl Spezi) uns einige Gedanken drum gemacht.
Nach einigen Bruchlandungen mit while bzw. do until Schleifen unter myutils, haben wir eine Lösung gefunden, mit der zumindest ich leben kann.

Da ja noch andere Interessenten da sind, wollte ich euch die paar Codeschnipsel nicht vorenthalten.
Da es kein DPT3.007 im KNX Modul von Fhem gibt, bin ich auf DPT5 gegangen. Folge, der Taster spuckt bei langem Tastendruck entweder den Wert 1 oder 9 aus. Beim Loslassen, geht der Wert immer auf 0.
D.h. wir haben 3 Werte mit denen wir arbeiten können,  1 (Dim Up),0 (Stop) und 9 (Dim Down).

Für das Hochzählen, haben wir uns für das Modul myUtils entschieden. Dieser Zähler gibt den Wert an einen Dummy weiter, der den Wert speichert.
Dies hat unter anderem den Vorteil, dass man die Hue Lampen beim Einschalten (Vorher Stromlos) mit dem letztgespeicherten Wert starten kann.
define Wohnzimmertisch_Dim notify Bel_Wohnzi_Tisch:on set HUEGroup1 pct [dimstate_HUEGroup1:state]

Der Wert ändert sich alle 0,5 Sekunden in 10% Schritten und ist zwischen 0 und 100 begrenzt.

Jeder Codefeinjustierer ist herzlich eingeladen das Ganze noch zu verschönern.

Ich hoffe einigen Jungs damit helfen zu können.

Gruß
Rubinho


Code (fhem.cfg) Auswählen
define KNX_2_Hue_dim KNX 0/0/11:DPT5
attr KNX_2_Hue_dim IODev KNX

define HueGroup_1_dim notify KNX_2_Hue_dim:. {KNXhuedim($NAME, "HUEGroup1", $EVENT)}

define dimstate_HUEGroup1 dummy

define not_dimstate_HUEGroup1 notify dimstate_HUEGroup1.* set HUEGroup1 pct $EVENT


Code (99_myUtils) Auswählen
sub KNXhuedim($$$){
my ($device, $lamp, $Wert) = @_;
my $lichtdim = ReadingsVal("dimstate_$lamp","state","50");
my $deviceset = ReadingsVal("$device","state","0");
my $setlicht;
if($deviceset ne 0){
if($deviceset == 1){
$setlicht = $lichtdim + 10;
}elsif($deviceset == 9){
$setlicht = $lichtdim - 10;
}
else{
$setlicht = $lichtdim;
}
if($setlicht >= 100){
$setlicht = 100;
$deviceset = 0;
}elsif($setlicht <= 0){
$setlicht = 0;
$deviceset = 0;
}
fhem ("set dimstate_$lamp $setlicht; sleep 0.5; {KNXhuedim('$device', '$lamp', '$Wert');;} ");
}
}
Fhem 5.9@Zotac Zbox Ci327 | HMCCU | Z-Wave@ZMEEUZB1 | HUE Bridge Gen2 | knxd over IP