FHEM Forum

FHEM - Hausautomations-Systeme => Zigbee => Thema gestartet von: cb2sela am 16 Februar 2021, 10:27:11

Titel: [gelöst] Diverse kleine Problemchen mit Tradfri
Beitrag von: cb2sela am 16 Februar 2021, 10:27:11
Guten Morgen,

ich hätte da gerne mal ein paar kleinere Problemchen mit Tradfri und freue mich auf Eure Hilfe.

Es geht um die Kombo Tradfri Remote Conrol (mit den 5 Tastern) und der 1000 lumen Birne. Ich fahre die neuste Conbee Stable Version 2.07.01 / 8.12.2020 und habe eine relativ neue Tradfri mit der Beschriftung Type E1810.

1. Leider ist es in Phoscon nicht möglich, auf die Pfeiltasten eine Änderung der Farbtemperatur zu legen. Ich kann nur durch Szenen toggeln, aber dadurch ändert sich auch jeweils die Helligkeit und das will ich nicht. Telefonisch konnte man mir bei Dresden Elektronik nicht weiterhelfen, außer, dass es schon ähnliche Anfragen gibt und man das in der Pipeline hätte. Diverse Threads auf github habe ich durch und alle erfolglos ausprobiert außer dem Ansatz direkt in der REST-Api was zu fummeln. Hat jemand noch sachdienliche Hinweise, wie man das ggf. direkt in Phoscon hinbekommt?

2. Die dazugehörige 1000lm Birne von IKEA welche man nicht nur dimmen sondern auch im Weißspektrum ändern kann sieht bei mir in FHEM so aus wie im beigefügten Bild. D.h. es gibt für die Birne nur einen Slider für die Farbtemperatur und keinen für die Helligkeit. Ist das normal so und kann man das irgendwie anpassen?

3. Ich würde die Änderung der Farbtemperatur dann alternativ über FHEM fahren, aber habe noch ein Syntaxproblem bei einem potentiellen notify. Ggf. gibt es auch eine viel einfachere Lösung und wenn ja: Her damit! Ansonsten wäre mein Ansatz, dass er bis zu einer bestimmten Grenze einfach die Farbtemperatur nach Tastendruck um 50 erhöht.

{ReadingsVal("HUEDevice1", "ct", "")} liefert etwas in dieser Art: 454 (2202K)
d.h. ich muss erstmal den ersten Wert rausparsen:
Das mache ich mit:
{(split " ", ReadingsVal("HUEDevice1","ct",0))[0]} und bekomme dann 454

Das hier funktioniert schonmal soweit. Allerdings macht er dabei den Zielwert ja noch fest:
IF ({(split " ", ReadingsVal("HUEDevice1","ct",0))[0] <= 300}) (set HUEDevice1 ct 200)


Wenn ich das dann allerdings dynamisch machen will klappts nicht:
IF ({(split " ", ReadingsVal("HUEDevice1","ct",0))[0] <= 300}) (set HUEDevice1 ct {(split " ", ReadingsVal("HUEDevice1","ct",0))[0] + 50})
=> IF: no right bracket: {(split " "





Titel: Antw:Diverse kleine Problemchen mit Tradfri
Beitrag von: Otto123 am 16 Februar 2021, 11:34:45
Hi,

ich fange hinten an: Bei set magic muss der Perlausdruck in zusätzliche Klammern ()
(set HUEDevice1 ct {((split " ", ReadingsVal("HUEDevice1","ct",0))[0] + 50)})

Gruß Otto
Titel: Antw:Diverse kleine Problemchen mit Tradfri
Beitrag von: cb2sela am 16 Februar 2021, 11:57:13
Danke Otto,

Punkt 3 ist damit schonmal hiermit gelöst:

IF ({(split " ", ReadingsVal("HUEDevice1","ct",0))[0] <= 300}) ((set HUEDevice1 ct {((split " ", ReadingsVal("HUEDevice1","ct",0))[0] + 50)}))


Ist es state of the art, das so zu lösen oder gibt es da noch bessere Lösungsansätze die sich eher wie ein Dimmer verhalten?

Für die anderen beiden Punkte bin ich gerne noch an Rückmeldungen / Erfahrungen interessiert.

Titel: Antw:Diverse kleine Problemchen mit Tradfri
Beitrag von: Otto123 am 16 Februar 2021, 12:11:56
Naja ich habe einen einfache Hue Taster für Zigbee der kann theoretisch auf und ab im toggle Modus dimmen.
Dieser liefern bei gedrückt laufenden Events 1001 - die könnte man fortlaufend auch im notify auswerten.
Ich weiß nicht welchen Event Du im notify auswertest.
Der Taster muss es halt können. Ich habe einen zweiten Taster der liefert nur bei press und release - keine fortlaufenden. Am Ende kann man die sogar umprogrammieren? Soweit bin ich aber noch nicht vorgedrungen, ich kratze da nur an der Oberfläche.

Mit Deinem Slider: ich meine das geht so simpel nicht mit webcmd. Du kannst webcmd natürlich auf bri ändern.  Mit anderen Konstrukten bekommt man sicher mehrere Slider übereinander hin.
Titel: Antw:Diverse kleine Problemchen mit Tradfri
Beitrag von: cb2sela am 17 Februar 2021, 10:58:15
Falls sich nochmal jemand auf diesen Thread hier hin verirrt: Es funktionierte doch noch nicht ganz so, wie es sollte.

Umsetzung war:
DEF        Tradfri_WZ:5002 IF ({(split " ", ReadingsVal("HUEDevice1","ct",0))[0] < 450}) ((set HUEDevice1 ct {((split " ", ReadingsVal("HUEDevice1","ct",0))[0] + 50)}))

Zwar hat er höher geschaltet, aber
a) die Grenzen nicht respektiert, d.h. ging auch über 450, 500 etc. hinaus und 
b) das log hiermit vollgeschrieben:

2021.02.17 10:19:57 1: PERL WARNING: Odd number of elements in anonymous hash at (eval 409102) line 1.
2021.02.17 10:19:57 3: eval: my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $NAME=   $evalSpecials->{'%NAME'};my $SELF=   $evalSpecials->{'%SELF'};my $TYPE=   $evalSpecials->{'%TYPE'};{if({(split " ", ReadingsVal("HUEDevice1","ct",0))[0] < 450}){fhem('set HUEDevice1 ct 504')}}


Ich habe es dann mit reiner Perl-Syntax in einem Notify so gelöst und bin damit nun glücklich.
Tradfri_WZ:5002 { my $currentVal = (split " ", ReadingsVal("HUEDevice1","ct",0))[0]; if ($currentVal <= 400) { fhem "set HUEDevice1 ct " . ($currentVal + 50 ) ; } }

Zur Sicherheit frage ich nochmal nach:
Es ist ECHT nicht ohne Klimmzüge möglich über die GUI eine Birne sowohl in der Helligkeit als auch der Farbe zu ändern? Das geht also bei dem ganzen HUE-Kram auch nicht in FHEM per GUI?
Titel: Antw:Diverse kleine Problemchen mit Tradfri
Beitrag von: Otto123 am 17 Februar 2021, 11:18:27
Du hattest gesagt es funktioniert: mir kamen diese Klammern "komisch" vor:

({(split " ", ReadingsVal("HUEDevice1","ct",0))[0] < 450})

ich hätte sei einfach weggelassen :)