Hue Lampen via KNX taster steuern

Hallo,

ich habe jetzt mehrerer Hue Lampen (Stehlampe etc.) im Einsatz welche überwiegend zusätzlich an KNX Schaltaktoren hängen.

Über die Schalter (konfiguriert als Einzeltaster für Dimmen) schalte ich mit kurzem Tastendruck die KNX Aktoren ein und aus, würde aber gerne über den langen Tastendruck hoch bzw. runter dimmen.

Deshalb habe ich mir für das relative Dimmen und für den Dimmwert abs eine GA angelegt. Die Umrechnung des KNX-Dimmwert für die Anzeige am Taster erfolgt via Skript bei Änderung des HUE Dimmwertes.

Dummerweise wird der Hue-Dimmwert beim Ausschalten des KNX Aktors nicht auf 0 gesetzt sondern bleibt bei 100%.
Per Script setze ich diesen nun künstlich auf 0 wenn die Rückmeldung des Aktors „aus“ ankommt. Die Hue Rückmeldung des Hue-Dimmwertes = 0 kommt aber wiederum ordentlich zeitverzögert.

Für das dimmen an sich via knx Taster bei langem Tastendruck habe ich noch gar keine Lösung und auch nichts wirklich hier im Forum gefunden. Hat jemand eine Idee wie das ganze auch das mit der Zeitverzögerung am besten zu lösen ist ?

MfG

Ich habe allgemein in einem Kundenprojekt mit der späten Rückmeldung der Leuchten gekämpft. Habe daher eine Booolean Variable mit dem Profil ~Switch als Hilfsvariable hergenommen und emuliere damit sozusagen den Status der Lampe. Weiß allerdings nicht, ob Dir das hier auch weiterhilft.

Welches Modul setzt du für die HUE Lampen ein?

Grüße,
Kai

Das von Dir :slight_smile:

Ich habe mal versucht das Script aus dem Sonos-KNX Threat für laut und leiser als hue hell dunkel zu verwenden.
Irgendwie tut es aber nicht. Allerdings scheint das ganze auch nur mit der alten EIS2 Instanz zu funktionieren. Ich habe aber mein Projekt komplett auf DPT.
Habe versucht eine Instanz als EIB-Gerät anzulegen, aber beim auswählen von EIS2 springt nach dem speichern das ganze wieder auf eis1 zurück.

Wie hast du das denn eingerichtet?
Ich selbst habe KNX nicht, kannst du mir mal ein Beispiel posten?

Grüße,
Kai

Mach mal Screenshots

Ich versuchs mal :slight_smile:

Objektbaum:

Hue Variablen und Ereignisse

Webfront:

Auf was steht der Intervall in der HUE Bridge Instanz?

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

War bei 10 sekunden. Wie weit kann ich runter ?

Hallo,

ich habe mir aus dem Sonos-KNX Thread mal folgendes Script geklaut und zweckentfremdet.

<?php


        $Hue = 25567;
        $KNX_boolean = GetValue(11584);
        $KNX_integer = GetValueInteger(30145);
 
        $Up='+1';
        $Down='-1';


while ($KNX_integer == (1))

{
    
        if ($KNX_boolean == TRUE)
        {
            PHUE_DimSet($hue,$VolumeUp);
            IPS_Sleep(100);
        }
        
        else
        {
            PHUE_DimSet($Sonos,$VolumeDown);
            IPS_Sleep(100);
        }

}

was mir allerdings nicht ganz klar ist. In der DPT3 Instanz ist ja eine boolean variable mit den beiden Funktionen increase und decrease. Soweit so gut.
In der Integer Variablen ist folgendes Profil:

Kann das stimmen ?

An die Hue wird doch ein absoluter dimwert gesendet, also müsste ich doch erst den Huewert holen und dann immer über $up bzw $down erniedrigen oder ?

Habs noch etwas modifiziert und schreibe den errechneten Wert nochmal in eine Hilfsvariable um zu sehen was passiert

 $Hue = 25567;
        $KNX_boolean = GetValue(11584);
        $KNX_integer = GetValueInteger(30145);
         $Up='+1';
        $Down='-1';
       
while ($KNX_integer == (1))

{    
        if ($KNX_boolean == TRUE)
        {   $updown = getvalueinteger($hue)+ $up;
            PHUE_DimSet($hue,$updown);SetValueInteger(32810, $updown);
            IPS_Sleep(500);
        }
        
        else
        {   $updown = getvalueinteger($hue)+ $Down; SetValueInteger(32180, $updown);
            PHUE_DimSet($hue,$updown);
            IPS_Sleep(500);
        }

}

leider geht das ganze immer noch nicht

Ich weiß nicht wie das genau bei KNX läuft.
Aber das hört sich richtig an.
Ich würde aber die Variable erst senden, wenn der Taster nicht mehr gedruckt wird, sonst sendest du ja durchgehend Befehle an die HUE Bridge, ich weiß nicht ob das funktioniert. Du kannst es aber einfach testen.

Edit: Sehe gerade, du hast den Beitrag nochmal geändert. Schaue ich mir nachher nochmal an.

Grüße,
Kai

Kann am Handy die Screenshots schlecht erkennen … schaue es mir später an.

Hallo,

ich möchte das Thema nochmal aufgreifen.

Ich bin nochmal zurück zum Anfang und habe zunächst das Script rein in eine IPS Variabel geschrieben.
Hier funktioniert es einwandfrei. Dann habe ich es erweitert um auf den KNX Bus als Zustandsvariabel in % um am MDT Glastaster angezeigt zu werden. Hat auch ganz gut geklappt.

Als drittes dann die Erweiterung in die HUE Variabel zu schreiben. Dies funktioniert nicht richtig. Ich denke es liegt daran dass die Hue Verbindung zu langsam ist. Flüssiges Dimmen sieht anders aus. Habe dann die Schrittweite auf 10 erhöht und die Verzögerungszeit im Script erhöht. Hat aber auch noch nicht so viel gebracht. Im Hue Konfigurator habe ich die Aktualisierungszeit auf 2 sec verringert. Aber auch hier allenfalls eine nur leichte Verbesserung.

Ich bin momentan mit meinem Latein etwas am Ende, da ich dachte das dimmen über MDT Taster flüssiger hin zu bekommen um auf den Kauf des ISE Hue knx Moduls zu verzichten. Falls es an meinem Script liegt oder jemand noch ne Idee hat, bitte melden. Beim ISE Modul scheint es ja flüssig zu gehen, ich frage mich nur was bei deren Verbindung zur Bridge anders ist :frowning:

Hier nochmal mein Script:


        $Hue = 25567; // hue instanz
        $Huehell = 29601; // hue helligkeitswert
        $KNX_boolean = GetValueBoolean(11584); // knx Taster Richtung
        $KNX_integer = GetValueInteger(30145); // knx taster rel Änderung
        $Dim = 58650; // Hilfsvariabel Dimmwert
        $Up='+10'; // Schrittweite +
        $Down='-10'; // Schrittweite -
    


while ($KNX_integer == (1)) // Bei Tasterbetätigung

{   $Huedim= GetValueInteger($Huehell); $Dimmwert=($Huedim/2.54) ; //HueHelligkeit setzen
    
    
        if ($KNX_boolean == TRUE) // Hochdimmen
        {   $Helligkeit = ($Dimmwert + $Up); // Neuer Wert = Dimmwert + Schrittweite
          PHUE_DimSet ($Hue, $Helligkeit*2.54); 
          RequestAction ($Dim, $Helligkeit); 
                       IPS_Sleep(500); //0,5 sec Warten
        }
        
        else // Runterdimmen
        {   $Helligkeit = ($Dimmwert + $Down); // Neuerwert = Dimmwert - Schrittweite
            PHUE_DimSet ($Hue, $Helligkeit*2.54);
             RequestAction ($Dim, $Helligkeit); 

            IPS_Sleep(500); //0,5 sec Warten
        }

         $KNX_integer = GetValueInteger(30145);

} ;




 

Moin… also ich kann das ISE hue nur empfehlen. Das läuft top… kein Skripten etc. Vom BAB-Tech AppModule mit Hue App würde ich die Finger lassen.

Aber nun zu deinem Problem…
Nimm einfach den ersten Dimmwert und arbeite damit. Warum willst du die Hue-Werte aktuell haben beim dimmen?
Am Ende bekommst doch den richtigen Wert angezeigt.
Gruß,
Peter

Gesendet von iPhone mit Tapatalk

Naja,

in der Praxis dimmt man auf eine Helligkeit der Lampe und nicht auf einen Dimmwert.
Ich zumindest halte den schalter so lange gedrückt bis ich die gewünschte Helligkeit habe. Ob das jetzt 50% oder 60% sind ist mir unterm Strich egal. bzw. umgekehrt ich dann z.b 50% einstellen, warte bis die Helligkeit an der Lampe eingeregelt ist. Vermutlich stimmt meine geschätzter Dimmwert dann mit meiner Wunschhelligkeit nicht überein, und fang dann erneut an zu korrigieren.

Letztendlich wäre das vorgehen konträr zu allen anderen LED Stripes und Panels (Dali-KNX) im Haus.

Läuft die Kommunikation zum Hue-KNX Modul anders als IpSymcon Hue Modul ?
Warum geht das so fließend beim ISE HUE-KNX (zumindest wars in den gesehenen youtube video so) und bei IPSymcon nicht ?
Habe ich bei meinen Script evtl. noch was falsch ?

Hallo Kai,

ich möchte das Thema hier nochmal aufgreifen.

Gerne würde ich wie in diesem Video den Dimup, Dimdown und Dimstop Befehl ausführen.
Das ist zwar ein HomeMatic Taster, aber das gleiche könnte ich so oder ähnlich mit meinen KNX Tastern erreichen.

Ich weiss nun leider nicht, wie und ob das mit deinem HUE Modul funktioniert.

Letztlich geht es darum mit KNX Tastern einen Dimup und Dimdown Befehl anzusteuern und wenn man löslässt den Dimstop Befehl abzugeben. Mit den entsprechenden KNX Profilen von KNX DPT3 (Decrease/Increase und Stepcode) kann man die Trigger absetzen.

Hier die Website, wo ich das Video gefunden habe. Ist diese Funktion in Deinem Modul möglich?

Danke und Gruß,
Nico.

So liebe Community und Leser dieses Threads,

ich habe es hinbekommen, dass ich nun per Tastendruck (in meinem Fall KNX) die HUE Leuchten flüssig dimmen und den Dimmvorgang auch unmittelbar nach Loslassen der Taste stoppen kann.

Wie habe ich das gemacht?

Ich habe nachgelesen, was die HUE API für ein fluid dimming verlangt und bin so auf den parameter bri_inc gestossen.
bri_inc.jpg

Also habe ich das einfach mit der Funktion PHUE_Request aus Kais HUE Modul ausprobiert.

Mit folgendem Skript kann ich das Hochdimmen starten, dabei habe ich die Transitiontime 50 benutzt, welche 5 Sekunden entspricht.
Das bri_inc => 254 bedeutet, dass die HUE Lampe auf die höchste Helligkeit (in den o.g. 5 Sek) gedimmt wird.

$array = ['on' => true, 'bri_inc' => 254,  'transitiontime' => 50];
PHUE_Request($instanzID,$array);

Dasselbe gilt fürs Runterdimmen mit dem negativen Wert bri_inc => -254.

$array = ['on' => true, 'bri_inc' => -254,  'transitiontime' => 50];
PHUE_Request($instanzID,$array);

Um das Dimmen zu stoppen reicht es aus den Wert 0 an bri_inc abzugeben.

$array = ['on' => true, 'bri_inc' => 0];
PHUE_Request($instanzID,$array); 

Die einzelnen Skripte bzw. Skriptbausteine triggere ich über die KNX DPT3 Profile für Increase/Decrease und der Schrittunterteilung

Ich hoffe, damit konnte ich hier denjenigen helfen, die wie ich, die ganze Zeit versucht haben, das Dimmen von HUE per Tasten auf Umwegen zu erreichen. Das ganze sollte analog auch mit anderen Tastern möglich sein.

Cheers, Nico.

2 „Gefällt mir“

Hallo Nico,

super Idee!
Könntest du einmal deine Scripts posten?

Ich bin leider noch ein Anfänger mit IPS.

Vielen Dank!
Gruß Marius