HueDevice: Ramptime wird ignoriert

Begonnen von Hans-Ulrich Tag, 13 Oktober 2017, 10:41:00

Vorheriges Thema - Nächstes Thema

Hans-Ulrich Tag

Hallo,

wenn ich über den Befehl
set HUEDevice1 pct 100 30
das Device einschalte, wird innerhalb der 30 Sekunden auf 100% hochgefahren.

Aber bei
set HUEDevice1 pct 0 30
wird das entsprechende Device sofort ausgeschaltet.
Ist das bei Euch auch so?

Laut commandref ist der Befehl richtig.

ComputerZOO

Moin,
Ich mache das mit
set HUEDevice off 30

justme1968

pct 0 wird intern auf off umgesetzt. dabei ist die ramp time verloren gegangen. hab es repariert. ab morgen im update.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Hans-Ulrich Tag

Zitat von: justme1968 am 13 Oktober 2017, 21:19:16
pct 0 wird intern auf off umgesetzt. dabei ist die ramp time verloren gegangen. hab es repariert. ab morgen im update.

Danke, funktioniert wie gewünscht 😉.

SoT2079

Moin zusammen,

wenn ich da nochmal einsteigen darf, dieses Thema kommt meinem doch sehr nah.

Bei mir geht es nur um die Farbe und nicht um die Helligkeit.

Ich wollte gerne so einen Farbverlauf bauen, geht ja mit
set HUEDevice6 effect colorloop
Das war mir aber viel zu schnell,
da kam mir dann die Idee mit der ramptime.

Gleich getestet mit

set HUEDevice6 hue 0
set HUEDevice6 hue 65535 0 60

das hatte ich noch von meinen HM Dimmern so im Kopf, klar ging nicht.

Dann mal fix die commandref befragt, da stand
hue <value> [<ramp-time>]
set hue to <value>; range is 0-65535


meine Version sah dann so testweise so aus

set HUEDevice6 hue 0
set HUEDevice6 hue 65535 60

Die Farbe springt aber sofort von 0 auf 65535 und nicht über die Zeit von 60 Sekunden.
Habe ich da was fasch verstanden bzw falsch eingegeben oder geht das einfach nicht mit der ramptime und Farbe?

Könnte das bitte mal jemand testen?

Danke schon mal

justme1968

woran siehst du das die farbe sofort von 0 auf 65535 springt?

0 und 65535 ist beides rot. an der lampe solltest du gar nichts sehen egal wie lange die ramptime ist. die lampen gehen so viel ich weiss nicht über den kompletten wertebereich sondern nehmen den kürzesten weg zwischen zwei werten.

ich denke du brauchst mindestens zwei set kommandos: set HUEDevice6 hue 32768 30; sleep 30; set HUEDevice6 hue 65535 30 eventuell sogar drei damit das zweite nicht rückwärts läuft.

ansonsten: hast du mal set HUEDevice6 effect colorloop : transitiontime 600 probiert?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

SoT2079

Also ich habe das fhem auf zwei Monitoren an gehabt.
Auf dem einen hatte ich die Hue Lampe auf wo man den Schieberegler sehen kann und die readings,
Auf dem anderen habe ich die Befehle dann per Hand eingegeben zum testen.
Da die Lampe direkt neben mir ist sehe ich ja auch gleich was die macht und kann das mit den readings vergleichen.

Ich bin immer vom hue Wert 0 ausgegangen und dann den neuen Befehl wieder von Hand eingetragen.
Es macht bei mir aber keinen Unterschied ob ich von 0 auf 10000, 20000, 30000, 40000 oder 50000gehe.
Sobald ich auf Enter gedrückt habe wechselt die Farbe und dementsprechend auch das reading und der Schieberegler.

set HUEDevice6 effect colorloop : transitiontime 600
habe ich grade noch getestet, das sollte dann ja auch eine Minuten dauern da es ja 1/10s sind.
Laut meiner Stopuhr von Grün über Blau und Rot wieder zu Grün dauert es recht genau 20 Sekunden.

set HUEDevice6 effect colorloop : transitiontime 6000
bringt auch keine Veränderung in der Laufzeit vom Farbwechsel.

Um sicher zu sein das es nicht an der Lampe liegt habe ich jetzt Osram GU10, Osram LED Streifen und Philips LED Streifen getestet.
Die Osram GU10 flackern bei bestimmten Farbwechseln, das wird aber bestimmt daran liegen das die beiden Hersteller nicht exakt die selben Parameter für die Farben nutzen.

Heute Morgen hatte ich mir das hier gebastelt

(([1OG_Bad_Thermostat_Climate:desired-temp] > 21) and ([1OG_Bad_Thermostat_Weather:humidity] > 60))
(set HUEDevice19 rgb FF0000)
(set HUEDevice10 rgb 00FF00)
(set HUEDevice4 rgb 0000FF)
(set HUEDevice19 effect colorloop)
(set HUEDevice10 effect colorloop)
(set HUEDevice4 effect colorloop)
DOELSEIF
(([1OG_Bad_Thermostat_Climate:desired-temp] < 21.1) or ([1OG_Bad_Thermostat_Weather:humidity] < 60))
(set HUEDevice19 effect none)
(set HUEDevice10 effect none)
(set HUEDevice4 effect none)
(set HUEDevice19 ct 160)
(set HUEDevice10 ct 160)
(set HUEDevice4 ct 160)
(set HUEDevice19 pct 100)
(set HUEDevice10 pct 100)
(set HUEDevice4 pct 100)


Da ist mir der Farbwechsel aber zu hektisch um gemütlich in der Wanne zu liegen.
OK man könnte jede Sekunde neue Farbwerte setzen, das sind dann aber bei 5 Minuten schon 900 Zeilen.

Man kann bestimmt auch eine Perl Funktion (wo ich keine Ahnung von habe) schreiben:
Farbwert Anfang und Ende / Sekunden und dann jede Sekunde das Ergebnis addieren und den Wert setzen.
Dabei bin ich mir aber unsicher was das Huesystem zu der Funklast sagt bei entsprechend vielen Lampen.

justme1968

du musst auf jeden fall die lampe anschauen. die readings spiegeln während der transition nicht die echte farbe wieder sondern das ziel.

ich kann bei mir problemlos den unterschied zwischenset HUEDevice1 hue 0   
set HUEDevice1 hue 32768 1; sleep 1; set HUEDevice1 hue  65535 1

undset HUEDevice1 hue 0   
set HUEDevice1 hue 32768 10 ; sleep 10; set HUEDevice1 hue  65535 10

ersteres dauert etwa 2 sekunden, letzteres etwa 20.

aber der verlauf ist vermutlich nicht so wie du möchtest weil es fast durch weiss geht. trotzdem muss es zu sehen sein.

wenn du mehr als eine lampe gleichzeitig steuern willst solltest du das über hue gruppen machen. das ist weniger code und weniger funk. oder wenn die lampen zwar zusammen aber unterschiedlich gestreut werden sollen die hue szenen. oder lightscene.

und nein. du brauchst nicht jede sekunde steuern. 10 oder 15 Stützstellen alle 10 oder 20 sekunden mit einer ebenso langen übergangszeit  angesteuert sollten machen was du willst.

es gibt auch zwei oder drei threads für ein wakeuplight, feuer und andere effekte. die kannst du dir anpassen.

du kannst auch mal schauen ob du in der hue app oder einer anderen app eine dynamische szene anlegen kannst du dir gefällt und diese dann aus fhem heraus aufrufen.


hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

SoT2079

Als erstes mal Danke für die super schnellen Antworten.

set HUEDevice1 hue 0   
set HUEDevice1 hue 32768 10 ; sleep 10; set HUEDevice1 hue  65535 10

hört bei 32768 auf, keine Ahnung warum der zweite Befehl nicht genommen wird.

Aber immerhin hat er jetzt die ramptime genommen, warum das vorher nicht geklappt hat verstehe ich auch nicht, vielleicht hat mein Hue System keine Lust gehabt oder ich hatte soviel getestet und einfach was übersehen oder nicht richtig eingegeben.

Wie auch immer, heute noch mal alles getestet, auch mit deinen Beispielen, läuft.

Mit den hue Werten die fast durch Weiß gehen stimmt.

Für die Nachwelt bleibt mir da zu sagen, nicht hue Werte nehmen sondern die xy.

Als Beispiele wo die Werte für xy liegen:
Weiß: 0.3333,0.3333
Blau: 0.1321,0.0284
Rot: 0.7291,0.2783
Grün: 0.172,0.7446
Gelb: 0.5,0.5

Wer mehr Farben braucht kann das auf Wikipedia nachlesen.
https://en.wikipedia.org/wiki/CIE_1931_color_space

Man muss aber sehr drauf achten welche Leuchtmittel man hat.
Den LED Streifen von Philips kann man mit xy 0,1 auf Grün stellen, die Osram GU10 verstehen das nicht und behalten ihre Farbe.
Ich habe ewig an meinem DOIF gebastelt weil ich dachte ich habe einen Fehler drin, dabei wurde alles richtig gesetzt nur meine Lampe hat es nicht verstanden.
Hatte auch noch auf rgb gewechselt, aber rgb 00FF00 für Grün wollen meine Osram auch nicht.

Osram geht beim Farbwechsel trotzdem noch leicht durch Weiß finde ich, Philips nicht so.

Die Lösung für mich war dann, die gewünschte Farbe einstellen, egal ob über FHEM oder App, dann einige Zeit warten bis FHEM die Werte zurück gelesen hat, dann den xy Wert aus dem reading kopieren.
Da ich die Grundfarbe bestimmt noch öfter brauche, gleich in einen Dummy geschoben.

Jetzt muss ich die neuen Erkenntnisse nur noch gut verpacken, Feintuning an Farben und Zeiten, aber das DOIF läuft so wenigstens schon mal

(([1OG_Bad_Thermostat_Climate:desired-temp] > 21) and ([1OG_Bad_Thermostat_Weather:humidity] > 50))
(set HUEDevice19 xy [d_xy_blau])
(set HUEDevice10 xy [d_xy_gruen])
(set HUEDevice4 xy [d_xy_rot])
(set HUEDevice19 xy [d_xy_gruen] 30)
(set HUEDevice10 xy [d_xy_rot] 30)
(set HUEDevice4 xy [d_xy_blau] 30)
(set HUEDevice19 xy [d_xy_rot] 30)
(set HUEDevice10 xy [d_xy_blau] 30)
(set HUEDevice4 xy [d_xy_gruen] 30)
(set HUEDevice19 xy [d_xy_blau] 30)
(set HUEDevice10 xy [d_xy_gruen] 30)
(set HUEDevice4 xy [d_xy_rot] 30)

attr do always
attr wait 0,0,0,30,0,0,30,0,0,30,0,0

Hintergrund der ganzen Spielerei ist, wenn ich ein Bad nehmen will, stelle ich die Temperatur ja höher als normal und sobald Wasser in der Wanne ist steigt auch die Luftfeuchtigkeit.
Dann startet automatisch mein Farbwechsel.
Falls das dann über die Zeit nicht richtig läuft wird die Bedingung halt durch einen Dummy ersetzt der über Alexa läuft.

gitarero

#9
Hallo zusammen,
ich muss den Thread leider nochmal ausgraben.

Ich habe Tradfri Lampen mit deCONZ in FHEM eingebunden.

set HueDevice1 pct 100 20
set HueDevice1 pct 1 20

funktionieren...

set HUEDevice1 pct 0 20
funktioniert nicht... - genau wie beim Ersteller des Threads.

Genausowenig funktionieren:
set HUEDevice1 off 20
set HUEDevice1 on 20


Was ich noch versucht habe:
set HUEDevice1 bri 0 : transitiontime 100
Funktioniert nur halb - HUEDevice1 bleibt bei pct = 1 stehen und geht nicht ganz aus.

Zitat von: justme1968 am 13 Oktober 2017, 21:19:16
pct 0 wird intern auf off umgesetzt. dabei ist die ramp time verloren gegangen. hab es repariert. ab morgen im update.
Fhem ist aktuell - ist da vielleicht was durch die deCONZ Anbindung durcheinander?

Viele Grüße,
Ingo

Edit:
P.S.: Ist das hier nicht vielleicht sogar der falsche Bereich und es gehört eher in die Zigbee Abteilung?

noom0815

Hallo,

gleiches Problem bei mir - hat in der Vergangenheit aber einwandfrei funktioniert.
Da meine spezifische Anwendung längere Zeit inaktiv war (Weckerfunktion), ist mir nicht klar, was sich zu welchem genauen Zeitpunkt geändert hat, muss aber in den letzten Monaten passiert sein.
Hat irgendjemand nähere Infos?


Grüße,
Ian

noom0815

Hallo @justme1968,

habe bemerkt, dass die Ramptime auf bri 0 bei original Philips HUE Birnen funktioniert, bei IKEA Birnen hingegen nicht: Tradfri bleiben auf 1% "hängen".
Gibt es hierfür eine logische Erklärung?

justme1968

achtung: bri 0 ist nicht aus sondern laut api die minimale helligkeit. ob das dann doch aus ist oder nur sehr dunkel hängt von der firmware von lampe und eventuell bridge ab. zum wirklichen ausschalten pct 0 oder off verwenden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

noom0815

Hallo justme1968,

danke für die Info - aber bei pct Befehlen wird keine ramptime angenommen. Damit schließt sich leider wieder der Kreis... :o
Da die Bridge ja bei beiden Lampen die identische ist, wird es dann wohl an den Lampen selbst liegen.
Tradfri sind somit offenbar nicht per ramptime abschaltbar...


Grüße,
Ian

justme1968

natürlich kann man bei pct eine zeit angeben. entweder direkt in sekunden oder über transitiontime in 10tel sekunden. mit verbose 4 oder 5 kannst du auch sehen was an die bridge geschickt wird. also:

set <name> pct <wert> <zeit in sekunden>

oder

set <name> pct <wert> : transitiontime <zeit in 10tel sekunden>

was die bridge und/oder die lampen dann draus machen hängt dann wie oben geschrieben davon ab.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

noom0815

#15
Okay, sorry - ich muss meine Aussage präzisieren:
Bei pct 0 wird keine ramptime und keine transitiontime angenommen, die Lampen werden unabhängig von angegebenen Zeiten innerhalb von 1-2 sek auf AUS gerampt.
Für Werte ungleich "pct 0" dagegen können ramptime/transitiontime angegeben werden.

Mir geht es aber um das Abschalten der Lampen... ;)

bigtruite

Bei mir ist es auch so... Beim Ausdimmen funktionieren weder Transitiontime noch Ramptime.... Das Langsam hochdimmen funktioniert jedoch.... folgendes Ergebnis:

Hochfahren auf pct 100 in 30 Sek. --> funktioniert
set HUEDevice6 pct 100 30

Herunterfahren auf pct 0 in 30 Sek. --> funktioniert nicht
set HUEDevice6 pct 0 30

Herunterfahren mit "off" in 30 Sek. --> funktioniert nicht
set HUEDevice6 off 30

Herunterfahren auf pct 0 in 30 Sek. über Transitiontime --> funktioniert nicht
set HUEDevice6 pct 0 : transitiontime 300

Kann man das fixen?

Raven

Zitat von: bigtruite am 04 Oktober 2020, 16:07:32

Herunterfahren mit "off" in 30 Sek. --> funktioniert nicht
set HUEDevice6 off 30


Ich hab auch das Problem, daß bei Verwendung von set Lampe off 180 die E27-Lampe nicht komplett ausgeht, sondern bei 6% Dimmung an bleibt.
UND dann erst nach ca. 15min komplett ausgeht.

Allerdings hab ich festgestellt, daß die ältere Lampen Version aus 2012 sehr wohl mit diesem Befehl wie angegeben nach 180sek ausgeht.

Lampen-SW-Versionen sind auf jeweils auf dem neuesten Stand.
   
Modell   LCT010   SW 1.50.2_r30933      3.Version   2016      geht nach 15min komplett aus   Einschaltverhaltn letzte Einstellung
Modell   LCT001   SW 5.127.1.26581      1.Version   2012      geht aus                    Einschaltverhaltn letzte Einstellung

Ist doch komisch.  :-\ Gibt es eine Lösung? Danke vorab.
Cubietruck-Prod: HM-LAN, Heizung, Rolläden, Schalter, Viessmann (optolink)
Cubietruck-DEV:
Fritzbox 7490

bigtruite

Zwischenzeitlich hab ich mir einen at gebaut der alle 36 Sekunden den Dimmerwert -1 nimmt und als set Befehl raus steuert. Solange der Wert über 1 ist. Dann brauchst aber noch 2 zusätzliche at. Einen zum Aktivieren den anderen zum deaktivieren des ersten at. Sonst lässt sich das Licht ja nicht mehr richtig händeln, weil er jedesmal herunterfahren würde sobald das Licht eingeschaltet wird. Geht nur wenn du eine Zeitsteuerung hast... Und ist nicht schön.....😖😖

Wolle02

Aus der CommandRef

ZitatSet

    on [<ramp-time>]

Set HueDevice1 on 300 funktioniert leider auch nicht. Es wird sofort komplett hochgedimmt.

Set HueDevice1 pct 100 300 hingegen funktioniert.


noom0815

Zitat von: noom0815 am 27 September 2020, 19:34:08
Okay, sorry - ich muss meine Aussage präzisieren:
Bei pct 0 wird keine ramptime und keine transitiontime angenommen, die Lampen werden unabhängig von angegebenen Zeiten innerhalb von 1-2 sek auf AUS gerampt.
Für Werte ungleich "pct 0" dagegen können ramptime/transitiontime angegeben werden.

Mir geht es aber um das Abschalten der Lampen... ;)

Hallo @justme1968,

gibt es eine Möglichkeit, die Lampen mit einer ramptime/transitiontime AUSzuschalten?


Danke und Grüße,
Ian

justme1968

bitte mit verbose 5 im log schauen was gesendet wird und ob die time dabei ist.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968