FHEM Forum

FHEM => Frontends => Thema gestartet von: mapovi am 03 April 2014, 09:28:32

Titel: [Gelöst] HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: mapovi am 03 April 2014, 09:28:32
Hallo,
ich habe das Problem, dass es nicht möglich ist, die Farbe meiner Living Colors (LLC001) Lampe zu ändern. Per HUE App ist die Lampe (meistens) steuerbar.

Ich habe gelesen, das die Steuerung der älteren Modelle nicht über xy sondern nur mit bri sat und hue funktionieren.
Ist das 31_HUEDevice Modul in der Lage das zu berücksichtigen? Ich habe im Quelltext das Wort LLC001 nur einmal gefunden.

Vom Frontend wird im Falle einer Farbauswahl ja "set HUEDevice12 rgb 00ff00" gesendet?  Ich vermute, dass in HUEDevice_SetParam noch eine Weiche für die LLC001 eingebaut werden muß, oder kann man einfach zusätzlich "hue" setzen?

31_HUEDevice.pm:310

$obj->{'on'}  = JSON::true;
    $obj->{'xy'}  = [0+$x, 0+$y];
$obj->{'hue'}  = ???;

    $obj->{'bri'}  = int(254*$bri);


Hier das Device:

define HUEDevice12 HUEDevice 12
attr HUEDevice12 IODev HUE
attr HUEDevice12 alias Büro Living Colors
attr HUEDevice12 devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
attr HUEDevice12 fp_wohnung 85,380,2,Büro Living Colors
attr HUEDevice12 room Raum_Buero
attr HUEDevice12 model LLC001
attr HUEDevice12 color-icons 1
attr HUEDevice12 subType colordimmer
attr HUEDevice12 webCmd rgb:rgb ff0000:rgb DEFF26:rgb 0000ff:toggle:on:off


Grüße und Danke,
mapovi
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: justme1968 am 03 April 2014, 09:37:14
im modul wird zur zeit die ansteuerung nicht nach modell unterschieden sondern davon ausgegangen das sie bridge das richtige tut.

wenn es mit der hue app nicht wirklich zuverlässig funktioniert ist deine lc vielleicht wirklich zu alt.

man kann hue nicht zusätzlich setzen bzw parameter aus den unterschiedlichen farbräumen in einem set mischen.

aber du kannst sie direkt benutzen. funktioniert es denn wenn du bri,hue und sat über das fhem modul verwendest? das geht direkt 1:1 an die bridge.

gruss
  andre
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: mapovi am 03 April 2014, 09:42:26
Zitatfunktioniert es denn wenn du bri,hue und sat über das fhem modul verwendest?
Ja, das funktioniert. Deswegen dachte ich ja, dass man in das Modul evtl. noch eine Modelweiche einbauen muß?


    $obj->{'on'}  = JSON::true;
   
    if( AttrVal($name, "model", "") eq "LLC001" ) {
    $obj->{'hue'}  = ???;
    } else {
    $obj->{'xy'}  = [0+$x, 0+$y];
    }
    $obj->{'bri'}  = int(254*$bri);
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: justme1968 am 03 April 2014, 09:46:57
ok.

dir weiche ist aber nicht so einfach. zum einen ist sie nodellbezeichnung bei den neuen modellen die gleiche und die funktionieren ohne änderung und zum anderen müssen  hue und co  ja erst mal aus rgb berechnet werden.

ich schau mit das mal an.

gruss
  andre
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: mapovi am 03 April 2014, 09:50:56
Danke!
Hue ist doch das h in HSV/HSL?
use Graphics::ColorObject;
  # rgb to hsv
  $color = Graphics::ColorObject->new_RGB([$r, $g, $b]);
  ($h, $s, $v) = @{ $color->as_HSV() };

http://search.cpan.org/~aizvorski/Graphics-ColorObject-0.5.0/ColorObject.pm

PS: Die "hue, bri, sat" Variante sollte doch in allen LLC001 funktionieren? Ich sehe, dass Du auch eine davon hast - seltsam, dass es damit mit xy geht. Auf meiner LC steht unten "Gen2", jedoch war eine ovale Fernbedienung dabei.

Die Lampe selbst, gibt übrigens gar keine modelid preis - das steht nur in meiner Config...
{
"state": {
"on": true,
"bri": 254,
"hue": 12264,
"sat": 0,
"xy": [
0.1535,
0.0853
],
"alert": "none",
"effect": "none",
"colormode": "hs",
"reachable": false
},
"type": "Color light",
"name": "Büro",
"modelid": "",
"swversion": "",
"pointsymbol": {
"1": "none",
"2": "none",
"3": "none",
"4": "none",
"5": "none",
"6": "none",
"7": "none",
"8": "none"
}
}

Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: justme1968 am 03 April 2014, 10:29:33
die ersten lc lampen die offiziell unterstütz werden von der bridge sind die 'echten' LLC001. das sind gen2 mit runder fernbedienung. davon gibt es mindestens zwei modelle und danach die mit 'light link' auf der liste.

ich habe eine gen2 mit runder fernbedienung und eine light link. die gehen beide mit xy.

wenn keine modellbezeichung von der lampe kommt wäre das ein passendes untercheidungskriterium.

nicht das eigentliche berechnen ist das problem sonder es rückwärts und zu allen fhem systemen kompatibel hin zu bekommen. einfach irgendeine perl lib einzubauen würde bei mehreren dutzend Anwendern dazu führen das erst mal gar nichts mehr geht.

gruss
  andre
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: mapovi am 03 April 2014, 11:02:33
Zitatnicht das eigentliche berechnen ist das problem sonder es rückwärts und zu allen fhem systemen kompatibel hin zu bekommen. einfach irgendeine perl lib einzubauen würde bei mehreren dutzend Anwendern dazu führen das erst mal gar nichts mehr geht.

Habe mal etwas ohne Lib zusammen gestellt (ist wahrscheinlich nicht sehr präzise, tut aber seinen Dienst):
sub max {
    splice(@_, ($_[0] > $_[1]) ? 1 : 0, 1);
    return ($#_ == 0) ? $_[0] : max(@_);
}

sub min {
    splice(@_, ($_[0] > $_[1]) ? 0 : 1, 1);
    return ($#_ == 0) ? $_[0] : min(@_);
}

sub rgbToHsv($@) {
my ($r, $g, $b) = @_;
    $min = min($r, $g, $b);
    $max = max($r, $g, $b);
       
    $delta = $max - $min;
    $h = $max;
    $s = $max;
    $v = int($max / 255 * 100);
    if ( $max != 0 ) {
        $s = int($delta / $max * 100);
}  else {
return (0, 0, 0);
    }
    if( $r == $max ) {
        $h = ( $g - $b ) / $delta;         
} elsif( $g == $max ) {
        $h = 2 + ( $b - $r ) / $delta;     
} else {
        $h = 4 + ( $r - $g ) / $delta;     
}
    $h = int($h * 60);           
    if( $h < 0 ) {$h += 360};
    $h = int($h * 182.0417); # Konvertierung für den HUE Wertebereich (0-65535)
    return ($h, $s, $v);
}
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: justme1968 am 04 April 2014, 18:12:42
ich habe eben eine version eingecheckt die hsv statt xy verwendet wenn keine modelid gesetzt ist.

schau mal ob das bei dir so funktioniert.

gruss
  andre
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: mapovi am 05 April 2014, 10:55:01
Zitatich habe eben eine version eingecheckt die hsv statt xy verwendet wenn keine modelid gesetzt ist.

Danke!
Ich habe die Datei ausgetauscht und fhem neu gestartet.
Wenn ich die Farbe über "set HUEDevice12 hue 20000" ändere, wird diese jetzt auch im Frontend korrekt angezeigt - das war vorher nicht so.
Wenn ich auf eine der voreingestellten Farben im Frontend klicke, verändert sich auch die Farbe des Feldes (war vorher nicht so)
Die Lichtfarbe der Lampe ändert sich allerdings noch nicht.
Grüße,
matthias
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: justme1968 am 05 April 2014, 10:58:48
die farbe die im frontend angezeigt wird ist das was die bridge zurück meldet.

ändert sich die farbe der lampe wenn du von Hand hue,sat und bri im frontend verstellst?

gruss
  andre
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: mapovi am 05 April 2014, 11:03:59
Du meinst die Befehle, die man oben eingeben kann? Ja, das funktioniert
set HUEDevice12 hue 20000 macht das Licht grün. (sat und bri gehen auch)
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: justme1968 am 05 April 2014, 11:05:42
auch wenn du mehrere set kombinierst?

bitte schalte mal verbose auf 5 und schau ob du einen Unterschied siehst zwischen einem kommando das geht und einem das nicht geht. auch ob sich die readings unterscheiden.

gruss
  andre
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: mapovi am 05 April 2014, 11:08:57
Bei der nicht funktionierenden:
/fhem?XHR=1&cmd=set%20HUEDevice12%20rgb%20ff0000&room=Raum_Buero / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
Bei der funktionierenden:
/fhem?XHR=1&cmd=set%20HUEDevice4%20rgb%20ff0000&room=Raum_Wohnzimmer / RL:20 / text/plain; charset=UTF-8 / Content-                                          Encoding: gzip


Hier nochmal ausführlicher funktionierend:
2014.04.05 11:09:30 4: HTTP FHEMWEB:192.168.1.69:59270 GET /fhem?XHR=1&cmd=set%20HUEDevice4%20rgb%20DEFF26&room=Raum_Wohnzimmer
2014.04.05 11:09:30 5: Cmd: >set HUEDevice4 rgb DEFF26<
2014.04.05 11:09:30 5: Url: http://192.168.1.40/api/d183a24bb194f14a9cc81e229868f0ee/lights/4/state
2014.04.05 11:09:30 5: HUEBridge_HTTP_Request http://192.168.1.40/api/d183a24bb194f14a9cc81e229868f0ee/lights/4/state: Got data, length: 132
2014.04.05 11:09:30 5: $VAR1 = '[{"success":{"/lights/4/state/on":true}},{"success":{"/lights/4/state/xy":[0.4086,0.5181]}},{"success":{"/lights/4/state/bri":254}}]';

2014.04.05 11:09:30 5: Url: http://192.168.1.40/api/d183a24bb194f14a9cc81e229868f0ee/lights/4
2014.04.05 11:09:30 5: HUEBridge_HTTP_Request http://192.168.1.40/api/d183a24bb194f14a9cc81e229868f0ee/lights/4: Got data, length: 363
2014.04.05 11:09:30 5: $VAR1 = '{"state": {"on":true,"bri":254,"hue":64306,"sat":254,"xy":[0.4086,0.5181],"ct":500,"alert":"none","effect":"none","colormode":"xy","reachable":true}, "type": "Extended color light", "name": "Stehlampe", "modelid": "LCT001", "swversion": "66009663", "pointsymbol": { "1":"none", "2":"none", "3":"none", "4":"none", "5":"none", "6":"none", "7":"none", "8":"none" }}';

2014.04.05 11:09:30 4: parse status message for HUEDevice4
2014.04.05 11:09:30 5: Triggering HUEDevice4 (1 changes)
2014.04.05 11:09:30 5: Notify loop for HUEDevice4 xy: 0.4086,0.5181
2014.04.05 11:09:30 4: eventTypes: HUEDevice HUEDevice4 xy: 0.4086,0.5181 -> xy: .*,.*
2014.04.05 11:09:30 5: Triggering HUEDevice4 (1 changes)
2014.04.05 11:09:30 5: Notify loop for HUEDevice4 RGB: deff26
2014.04.05 11:09:30 4: eventTypes: HUEDevice HUEDevice4 RGB: deff26 -> RGB: deff26
2014.04.05 11:09:30 4: /fhem?XHR=1&cmd=set%20HUEDevice4%20rgb%20DEFF26&room=Raum_Wohnzimmer / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/



Nicht funkionierend:
HTTP FHEMWEB:192.168.1.69:59338 GET /fhem?XHR=1&cmd=set%20HUEDevice12%20rgb%200000ff&room=Raum_Buero
2014.04.05 11:10:26 5: Cmd: >set HUEDevice12 rgb 0000ff<
2014.04.05 11:10:26 5: Url: http://192.168.1.40/api/d183a24bb194f14a9cc81e229868f0ee/lights/12/state
2014.04.05 11:10:26 5: HUEBridge_HTTP_Request http://192.168.1.40/api/d183a24bb194f14a9cc81e229868f0ee/lights/12/state: Got data, length: 135
2014.04.05 11:10:26 5: $VAR1 = '[{"success":{"/lights/12/state/on":true}},{"success":{"/lights/12/state/xy":[0.1321,0.0284]}},{"success":{"/lights/12/state/bri":254}}]';

2014.04.05 11:10:26 5: Url: http://192.168.1.40/api/d183a24bb194f14a9cc81e229868f0ee/lights/12
2014.04.05 11:10:26 5: HUEBridge_HTTP_Request http://192.168.1.40/api/d183a24bb194f14a9cc81e229868f0ee/lights/12: Got data, length: 326
2014.04.05 11:10:26 5: $VAR1 = '{"state": {"on":true,"bri":254,"hue":40000,"sat":0,"xy":[0.1321,0.0284],"alert":"none","effect":"none","colormode":"xy","reachable":false}, "type": "Color light", "name": "Büro", "modelid": "", "swversion": "", "pointsymbol": { "1":"none", "2":"none", "3":"none", "4":"none", "5":"none", "6":"none", "7":"none", "8":"none" }}';

2014.04.05 11:10:26 4: parse status message for HUEDevice12
2014.04.05 11:10:26 5: Triggering HUEDevice12 (1 changes)
2014.04.05 11:10:26 5: Notify loop for HUEDevice12 xy: 0.1321,0.0284
2014.04.05 11:10:26 4: eventTypes: HUEDevice HUEDevice12 xy: 0.1321,0.0284 -> xy: .*,.*
2014.04.05 11:10:26 5: Triggering HUEDevice12 (1 changes)
2014.04.05 11:10:26 5: Notify loop for HUEDevice12 RGB: 0000f9
2014.04.05 11:10:26 4: eventTypes: HUEDevice HUEDevice12 RGB: 0000f9 -> RGB: 0000f9
2014.04.05 11:10:26 4: /fhem?XHR=1&cmd=set%20HUEDevice12%20rgb%200000ff&room=Raum_Buero / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip



Da wird immer noch xy gesetzt? {"success":{"/lights/12/state/xy":[0.1321,0.0284]}}
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: justme1968 am 05 April 2014, 11:15:48
hast du das attribut model gelöscht?
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: mapovi am 05 April 2014, 11:16:21
ja, habe ich.

define HUEDevice12 HUEDevice 12
attr HUEDevice12 IODev HUE
attr HUEDevice12 alias Büro Living Colors
attr HUEDevice12 comment {"preset1":{"colormode":"xy","bri":"0","xy":"0.4864,0.3865"}}
attr HUEDevice12 devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
attr HUEDevice12 fp_roonstrasse 85,380,2,Büro Living Colors
attr HUEDevice12 room Raum_Buero
#attr HUEDevice12 model LLC001
attr HUEDevice12 color-icons 0
attr HUEDevice12 subType colordimmer
attr HUEDevice12 webCmd rgb:rgb ff0000:rgb DEFF26:rgb 0000ff:toggle:on:off
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: justme1968 am 05 April 2014, 11:20:03
mach mal bitte ein list auf das device. was steht bei den attributen?
Titel: Antw:HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: mapovi am 05 April 2014, 11:21:20
Internals:
   CHANGED   
   DEF        12
   ID         12
   INTERVAL   60
   IODev      HUE
   NAME       HUEDevice12
   NR         155
   STATE      off
   TYPE       HUEDevice
   modelid   
   name       Büro
   swversion 
   type       Color light
   Readings:
     2014-04-05 11:07:03   alert           none
     2014-04-05 11:07:08   bri             254
     2014-04-05 11:07:08   colormode       xy
     2014-04-05 11:07:03   effect          none
     2014-04-05 11:07:03   hue             40000
     2014-04-05 11:07:08   level           100 %
     2014-04-05 11:07:03   onoff           1
     2014-04-05 11:07:08   pct             100
     2014-04-05 11:07:03   reachable       0
     2014-04-05 11:07:03   sat             0
     2014-04-05 11:07:03   state           off
     2014-04-05 11:10:26   xy              0.1321,0.0284
   Helper:
     RGB        0000f9
     alert      none
     bri        254
     colormode  xy
     ct         
     effect     none
     group     
     hue        40000
     interfaces dimmer
     percent    100
     sat        0
     update_timeout 0
     xy         0.1321,0.0284
Attributes:
   IODev      HUE
   alias      Büro Living Colors
   color-icons 0
   comment    {"preset1":{"colormode":"xy","bri":"0","xy":"0.4864,0.3865"}}
   devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
   fp_roonstrasse 85,380,2,Büro Living Colors
   model      LLC001
   room       Raum_Buero
   subType    colordimmer
   webCmd     rgb:rgb ff0000:rgb DEFF26:rgb 0000ff:toggle:on:off


Edit:
Da steht immer noch as model - ich muß das mal prüfen...

Edit:
Es funktioniert! Das Problem war in der Tat die modelid. Ich hatte meinen SFTP-Client über Nacht an und der hatte die Änderungen an der cfg aufgrund einer verloren Verbindung nicht gespeichert.

Danke für Deine Hilfe und ein schönes Wochenende!
Titel: Antw:[Gelöst] HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: justme1968 am 05 April 2014, 11:39:44
das heisst es geht jetzt alles?

sehr schön.

gruss
  andre
Titel: Antw:[Gelöst] HUE - Bei Living Color lässt sich die Farbe nicht ändern
Beitrag von: mapovi am 05 April 2014, 11:43:04
Ja, es geht alles (Farbfeld, voreingestellte Werte, im Floorplan).
Grüße,
Matthias