Homebridge - Dimmer immer erst auf 100%

Begonnen von hive2015, 13 August 2016, 11:05:01

Vorheriges Thema - Nächstes Thema

hive2015

Hallo,

ich habe seit einer Weile Homebridge laufen und es ist soweit immer prima, aber ich habe seit einer der letzten Updates irgendwie das Problem, das Dimmer sich immer erst auf 100% stellen bevor sie dann auf die gewünschte Helligkeit regeln.

Kleines Beispiel:

Ich sage "Schlafzimmer Licht 50%" ... Siri führt es auch brav aus, aber erst geht das Licht zu 100% an und dimmt dann auf 50% runter. Egal wie ich es sage, bei meinen Homematic Dimmern werden sie immer erstmal "ein" bzw. auf 100% geschaltet, bevor dann die gewünschte Helligkeit kommt. Muss ich da irgendwas noch konfigurieren? In der Vergangenheit ging das immer ohne weiteres.

Problem ist, das ich zur gleichen Zeit wie das Homebridge Update auch auf die iOS 10 Public beta gegangen bin. Ich habe nur leider kein iOS 9 Gerät mehr, mit dem ich testen könnte ob es am 10er liegt. Das Problem habe ich jedoch nicht bei meinen Philips Lampen über die HomeBridge (v2).

Für jegliche Hilfe dankbar.

Gruss,
Hive

DJAlex

Hi,

hab das selbe Problem. Ich sage: "Stell die Barbeleuchtung auf 15% "
und raus kommen folgende Befehle:

2016.09.11 11:52:49 3: CUL_HM set BarLicht on
2016.09.11 11:52:50 3: CUL_HM set BarLicht pct 15


lässt sich das über das Attribut homebridgeMapping irgendwie abfangen?


Grüße

Alex

justme1968

ich bin mir ziemlich sicher das es nicht an homebridge liegt sondern das es das ist was homekit sendet. bei den hue lampen sieht man es vermutlich nur nicht weil in nicht auf 100% schaltet.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Markus M.

Zitat von: justme1968 am 11 September 2016, 12:36:28
ich bin mir ziemlich sicher das es nicht an homebridge liegt sondern das es das ist was homekit sendet. bei den hue lampen sieht man es vermutlich nur nicht weil in nicht auf 100% schaltet.

Ist bei Hue genauso (nur eben mit dem letzten Wert), in der finalen iOS 10 Version.
Das bleibt so, muss also irgendwie angepasst werden.

  2016-09-11 18:09:29 caching: HUEDevice3-pct: 0
[9/11/2016, 6:09:29 PM] [FHEM] HUEDevice3-pct valueOn/valueOff: value 0 mapped to 0
[9/11/2016, 6:09:29 PM] [FHEM]     caching: On: false (as boolean; from '0')
[9/11/2016, 6:09:29 PM] [FHEM]     caching: Brightness: 0 (as number; from '0')
[9/11/2016, 6:09:54 PM] [FHEM] HUEDevice3 delaying command [object Object] with value 80
[9/11/2016, 6:09:54 PM] [FHEM] HUEDevice3: executing set cmd for On with value true
[9/11/2016, 6:09:54 PM] [FHEM]   executing: http://127.0.0.1:1080/fhem?cmd=set%20HUEDevice3%20on&XHR=1
[9/11/2016, 6:09:55 PM] [FHEM] HUEDevice3: executing set cmd for Brightness with value 80
[9/11/2016, 6:09:55 PM] [FHEM]   executing: http://127.0.0.1:1080/fhem?cmd=set%20HUEDevice3%20pct%2080&XHR=1
  2016-09-11 18:09:56 caching: HUEDevice3-pct: 80
[9/11/2016, 6:09:56 PM] [FHEM] HUEDevice3-pct valueOn/valueOff: value 80 mapped to 1
[9/11/2016, 6:09:56 PM] [FHEM]     caching: On: true (as boolean; from '80')
[9/11/2016, 6:09:56 PM] [FHEM]     caching: Brightness: 80 (as number; from '80')
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

justme1968

eben.

homekit sendet das on und dann erst dim. auf homebridge seite kann man da nicht wirklich etwas anpassen.

höchstens das on unterdrücken wenn noch auf ein verzögertes dim gewartet wird. mal überlegen ob das immer zuverlässig ist.

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

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

justme1968

probiert mal ob die angehängte version hilft.

das On wird ignoriert wenn noch auf ein anderes kommando gewartet wird.

falls es hilft baue ich es konfigurierbar ein.

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

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

TobiTobiTobsn

#6
Hallo,

ich habe das gleiche Problem seit iOS 10. Die index.js habe ich bereits getauscht. Leider ohne Veränderung.

FHEM Logging:
2016-09-22 22:21:37 CUL_HM DimmerSchlafzimmer CMDs_pending
2016-09-22 22:21:37 CUL_HM DimmerSchlafzimmer_Sw set_on
2016-09-22 22:21:37 CUL_HM DimmerSchlafzimmer CMDs_done
2016-09-22 22:21:37 CUL_HM DimmerSchlafzimmer_Sw deviceMsg: on (to HMLAN1)
2016-09-22 22:21:37 CUL_HM DimmerSchlafzimmer_Sw dim: stop:on
2016-09-22 22:21:37 CUL_HM DimmerSchlafzimmer_Sw level: 100
2016-09-22 22:21:37 CUL_HM DimmerSchlafzimmer_Sw overheat: off
2016-09-22 22:21:37 CUL_HM DimmerSchlafzimmer_Sw overload: off
2016-09-22 22:21:37 CUL_HM DimmerSchlafzimmer_Sw pct: 100
2016-09-22 22:21:37 CUL_HM DimmerSchlafzimmer_Sw reduced: off
2016-09-22 22:21:37 CUL_HM DimmerSchlafzimmer_Sw chn:on phys:30
2016-09-22 22:21:37 CUL_HM DimmerSchlafzimmer_Sw timedOn: off
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer CMDs_pending
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer_Sw level: set_20
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer_Sw set_20
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer CMDs_done
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer_Sw deviceMsg: 99.5 (to HMLAN1)
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer_Sw dim: down:99.5
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer_Sw level: 99.5
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer_Sw overheat: off
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer_Sw overload: off
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer_Sw pct: 99.5
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer_Sw reduced: off
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer_Sw chn:99.5 phys:30
2016-09-22 22:21:38 CUL_HM DimmerSchlafzimmer_Sw timedOn: off
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer CMDs_done
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw deviceMsg: 20 (to HMLAN1)
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw dim: stop:20
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw level: 20
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw overheat: off
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw overload: off
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw pct: 20
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw phyLevel: 20
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw reduced: off
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw 20
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw timedOn: off
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw1_V_01 phyLevel: 20
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw1_V_01 chn:off  phys:20
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw1_V_02 phyLevel: 20
2016-09-22 22:21:43 CUL_HM DimmerSchlafzimmer_Sw1_V_02 chn:off  phys:20



Homebridge Logging (anderer Dimmer aber natürlich gleiches Verhalten):

DimmerKinderzimmer_Sw: executing set cmd for On with value true
[9/22/2016, 10:39:36 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20DimmerKinderzimmer_Sw%20on&XHR=1
[9/22/2016, 10:39:36 PM] [FHEM] DimmerKinderzimmer_Sw delaying command Brightness with value 20
  2016-09-22 22:39:37 caching: DimmerKinderzimmer_Sw-pct: 100
[9/22/2016, 10:39:37 PM] [FHEM]     caching: On: true (as boolean; from '100')
[9/22/2016, 10:39:37 PM] [FHEM]     caching: Brightness: 100 (as number; from '100')
[9/22/2016, 10:39:37 PM] [FHEM] DimmerKinderzimmer_Sw: executing set cmd for Brightness with value 20
[9/22/2016, 10:39:37 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20DimmerKinderzimmer_Sw%20pct%2020&XHR=1
  2016-09-22 22:39:38 caching: DimmerKinderzimmer_Sw-pct: 99.5
[9/22/2016, 10:39:38 PM] [FHEM]     caching: On: true (as boolean; from '99.5')
[9/22/2016, 10:39:38 PM] [FHEM]     caching: Brightness: 100 (as number; from '99.5')
  2016-09-22 22:39:43 caching: DimmerKinderzimmer_Sw-pct: 20
[9/22/2016, 10:39:43 PM] [FHEM]     caching: On: true (as boolean; from '20')
[9/22/2016, 10:39:43 PM] [FHEM]     caching: Brightness: 20 (as number; from '20')


Würde mich über eine Antwort sehr freuen.

justme1968

scheinbar sendet homebridge immer on zuerst und dein device setz bei on die helligkeit auf 100.

die einzige idee die ich gerade habe: mit einem FILTER im set nur einschalten wenn die lampe noch aus ist. entweder ins homebridge mapping einbauen oder mit cmdalias generell für dein device einbauen.

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

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

TobiTobiTobsn

Besten Dank für deine Antwort!!!

Ich bin neu was FHEM / Homebridge angeht. Habe schon nach "homebridge mapping" gesucht aber leider nichts gefunden, was mir weiterhilft. Hättest du einen Link für mich. Würde mich gerne einlesen. Oder einen Link zum ersten Vorschlag (FILTER).


Besten Dank!

justme1968

zu FILTER findest du etwas in der commandref bei devspec.

zum homebridgeMapping findest du etwas im readme zu homebridge-fhem und im ersten post im homebridge thread.

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

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

TobiTobiTobsn

Ich habe deinen Eintrag im Forum entdeckt und gelesen. Jetzt habe ich aber das Problem, dass ja "immer" ein "on" geschickt wird. Sei es ein dimmen auf 20% als auch beim "einschalten" des Lichts.

"on" muss der Dimmer demnach weiterhin zulassen. Jetzt stehe ich ehrlich gesagt auf dem Schlauch. Ich denke der Ansatz zu warten, ob nach dem "on" noch ein weiterer Befehl kommt und dann "on" zu ignorieren, finde ich gut. Die index.js von homebridge-fhem habe ich ersetzt aber leider klappt es nicht. Muss ich etwas beachten?

hive2015

Hi,

es freut mich das mein Post mittlerweile einige Leidensgenossen gefunden hat. :)

Habe die index.js ausprobiert, dafür vielen Danke, aber funktioniert leider bei mir nicht.

Habe sie in /usr/lib/node_modules/homebridge-fhem ausgetauscht, homebridge neu gestartet, aber leider war das Ergebnis unverändert.

Viele Grüße,
hive

hive2015


TobiTobiTobsn

Eine Lösung hat für das Problem leider noch keiner ?! :'(

justme1968

wenn es um das erste on geht falls das device on aus ist:

- ich habe noch keine idee wie man das on vor dem pct herausfiltern kann ohne das on global zu verzögern
- wenn das on nach dem pct kommt: per FILTER entfernen falls das device schon an ist.

es gibt leider noch keine vernünftige lösung.

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

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

hive2015

Habe hierzu bei Apple mal einen Bug Report eingereicht in der Hoffnung das ich nicht der Einzige bin und somit das Problem etwas weiter nach vorne rutscht in der Prio-Liste.

heilerich

Ich habe diese Woche zumindest für meinen Homematic Dimmer eine Lösung gefunden.
Mir fiel auf, dass seit dem Update nicht nur mit jedem Brightness-Kommando ein On-Kommando gesendet wird, sondern dass dies auch umgekehrt gilt. Es wird also bei jedem Einschalten die Helligkeit noch separat auf 100% gestellt.
Da zumindest der Homematic-Dimmer mit dem setzen der Helligkeit auch automatisch eingeschaltet wird, wird das On-Kommando quasi unnötig.

Ich habe daher über die Homebridge Mappings das cmdOn für den Dimmer auf einen nicht existenten Befehl (z.B. dummy_on) gesetzt und das On-Kommando somit quasi wirkungslos gemacht. Der Dimmer lässt sich immer noch problemlos an- und ausstellen, da das dem "On" folgende "Brightness 100%" die Lampe normal anschaltet. Und wenn ich nun auf dem iPhone das Licht auf beispielsweise 30% stelle, wird schön auf 30% aufgedimmt und der durch das (nun wirkungslose) On ausgelöste Umweg über 100% entfällt.

Damit ist das Problem für mich zumindest für den Moment gelöst. Ob dies auch mit anderen Dimmern funktioniert oder wenn man auch noch Geräte mit iOS < 10 betreibt kann ich leider nicht sagen.

Dave90

#17
@heilerich: Ich habe bisher noch nie mit Homebridge Mappings gearbeitet und würde das Problem gerne genauso wie du lösen. Soweit ich die Erklärungen im Homebridge Fred verstehe, müsste ich ja eigentlich nur folgendes setzen:
attr <meindevice> homebridgeMapping cmdOn=noCmd
wobei noCmd ein "Phantasiekommando" ist, welches nicht existiert. Leider funktioniert das nicht und im event-manger sieht es beim dimmen weiterhin so aus:
2016-11-07 19:49:45 WifiLight sz_Stehlampe hue: 0
2016-11-07 19:49:45 WifiLight sz_Stehlampe saturation: 0
2016-11-07 19:49:45 WifiLight sz_Stehlampe brightness: 100
2016-11-07 19:49:45 WifiLight sz_Stehlampe RGB: FFFFFF
2016-11-07 19:49:45 WifiLight sz_Stehlampe on
2016-11-07 19:49:46 WifiLight sz_Stehlampe hue: 0
2016-11-07 19:49:46 WifiLight sz_Stehlampe saturation: 0
2016-11-07 19:49:46 WifiLight sz_Stehlampe brightness: 30
2016-11-07 19:49:46 WifiLight sz_Stehlampe RGB: 4D4D4D
2016-11-07 19:49:46 WifiLight sz_Stehlampe on


Jemand eine Idee?  :)
Hardware:  FHEM-& LMS-Server + NAS: Banana Pi; Hyperion Ambilight Server + anderer Kleinkram: RPI Model B; Lampen: Philips Hue + Milight; Homematic Heizungssteuerung; Entertainment: Harmony Hub
sonstiges: Funksteckdosen

heilerich

Leider habe ich gerade keinen Zugriff auf meine FHEM-Installation, aber wenn ich mich richtig erinnere müsste das Kommando eher lauten

attr <device> homebridgeMapping On=<reading>,valueOff=<value>,cmdOn=<dummy_on>,cmdOff=<cmd_off>

wobei
<device> = der Name deiner Lampe (sz_Stehlampe?)

<reading> = die Eigenschaft deiner Lampe an der zu sehen ist ob sie an oder aus ist. In Fall meines Homematic Dimmers ist das der Helligkeits-Wert "pct". Andere Namen die ich bei anderen Modellen schon gesehen habe waren z.B. state oder brightness

<value> = der Wert der Eigenschaft der anzeigt, dass die Lampe aus ist. In meinem Fall ist dies "0". Eine andere Möglichkeit wäre z.B. "off"

<dummy_on> = ein Fantasiebefehl

<cmd_off> = der korrekte Befehl um die Lampe auszuschalten, da diese Funktion ja noch benötigt wird. In meinem Fall "off"

Alle diese Dinge müsstest du im Web-Interface deiner FHEM-Installation finden können. Den On/Off Wert findest du unten in der Tabelle. Die verfügbaren Befehle (und damit auch der zum ausschalten) müssten oben in der "set" Zeile auswählbar sein.

Mein vollständiger Befehl:
attr <device> homebridgeMapping On=pct,valueOff=0,cmdOn=dummyOn,cmdOff=off

justme1968

wobei man auch nur das überschreiben kann was man ändern möchte. d.h. attr <device> homebridgeMapping On=cmdOn=dummyOnsollte schon reichen.

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

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

heilerich

Oh Danke. Das war mir nicht bewusst. Das vereinfacht die Sache natürlich dramatisch ;)

Dave90

Ah jetzt verstehe ich die Syntax auch :) Vielen Dank, es klappt einwandfrei!

Habe gerade noch eine Frage, wenn auch etwas offtopic: Gibt es eine Möglichkeit den Delay zwischen mehreren Schaltkommandos zu verkürzen bzw. mehrere Schaltkommandos komplett gleichzeitig auszuführen? Wenn ich z.B. zwei Lampen gleichzeitig hochdienen will, egal ob über lightscene, structure oder direkt per Set Befehl, geschieht dies immer mit einer leichten Verzögerung. Habe festgestellt, dass wenn ich sie über eine Rampe dimmen lassen, also mit Zeitangabe, dass dann die Befehle zwar nacheinander starten, aber nach der ersten Dimmstufe simultan weiter laufen. Sieht zwar etwas schöner aus, ist aber trotzdem noch nicht so richtig das gelbe vom Ei.
Hardware:  FHEM-& LMS-Server + NAS: Banana Pi; Hyperion Ambilight Server + anderer Kleinkram: RPI Model B; Lampen: Philips Hue + Milight; Homematic Heizungssteuerung; Entertainment: Harmony Hub
sonstiges: Funksteckdosen

justme1968

prinzipiell geht das nur in dem du kommandos gleichzeitig an alle geräte schickst.
ob und wie das geht hängt hängt vom device ab. beim homematic geht das über passendes peering, bei hue über hue gruppen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Dave90

Ok, ich habe die Milight Geräte. Die kann man auch in Gruppen zusammenfassen, allerdings leider maximal 4 Gruppen pro Bridge. Aber gut, dann muss ich mich entscheiden wie wichtig mir das ist und evtl. noch ein zwei Bridges kaufen ;) Danke für die schnelle Antwort!  ;)
Hardware:  FHEM-& LMS-Server + NAS: Banana Pi; Hyperion Ambilight Server + anderer Kleinkram: RPI Model B; Lampen: Philips Hue + Milight; Homematic Heizungssteuerung; Entertainment: Harmony Hub
sonstiges: Funksteckdosen

guiseppe

#24
Hallo zusammen,
ich habe mir heute Homebridge eingerichtet und damit erstmals meinen Eltako EnOcean Dimmer mit Siri bedienbar gemacht.
Leider habe auch ich das Problem mit dem Dimmen auf 100% und dann dem eigentlichen Sollwert.

Die vorgeschlagene Lösung hab ich leider nicht zum Laufen bekommen.
Evtl. setze ich aber das attribut falsch?
Das homebridgeMapping sieht bei mir folgendermaßen aus:
attr LichtWohnz Brightness=dim::dim,minValue=0,maxValue=100,minStep=1
Damit kann ich wie gesagt zwar den Dimmer bedienen aber leider immer erst mit 100% Helligkeit und dann dem korrekten Wert.
Hat jemand einen Tip für mich.

Viele Grüße Josef

justme1968

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

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

guiseppe

Hallo Danke!
Ich dachte ich hab gestern schon alles probiert ...delimiter leerzeichen semikolon etc. ... aber jetzt klappt es.  :-[
attr LichtWohnz homebridgeMapping Brightness=dim::dim,minValue=0,maxValue=100,minStep=1 On=cmdOn=dummyOn


Vielen Dank für die tolle Funktion!!

hive2015

Vielen Dank für den Hotfix via HomebridgeMapping. Es funktioniert prima und ich bin wirklich happy. :D

Eine Frage hätte ich jedoch noch: ist darüber auch möglich das "off" umzumappen auf ein "pct 0", damit er nicht nur geschmeidig an sondern auch aus-dimmt? Das wäre noch so quasi das i-Tüpfelchen. :)

Danke nochmals!

justme1968

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

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

hive2015


oberlon

Hallo,

bei mir verhält es sich genau anders herum. Ich habe an einem LED Strip ein ESP8266 hängen, sollte bei WifiLight aber genauso sein.
Es gibt ein Attribut defaultColor und wird das Device auf on geschalten, stellt sich die Farbe ein. In meinem Fall:

Jan 17 20:37:22 homebridge[32736]: [2017-01-17 20:37:22] [FHEM] K.LED1: executing set cmd for On with value 1
Jan 17 20:37:22 homebridge[32736]: [2017-01-17 20:37:22] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20K.LED1%20on&XHR=1
Jan 17 20:37:22 homebridge[32736]: [2017-01-17 20:37:22] [FHEM] K.LED1 delaying command Brightness with value 100
Jan 17 20:37:22 homebridge[32736]: 2017-01-17 20:37:22 caching: K.LED1-rgb: 59170A
Jan 17 20:37:22 homebridge[32736]: [2017-01-17 20:37:22] [FHEM]     caching: Hue: 9 (as number; from '59170A')
Jan 17 20:37:22 homebridge[32736]: [2017-01-17 20:37:22] [FHEM]     caching: Saturation: 88 (as number; from '59170A')
Jan 17 20:37:22 homebridge[32736]: [2017-01-17 20:37:22] [FHEM]     caching: Brightness: 34 (as number; from '59170A')
Jan 17 20:37:22 homebridge[32736]: 2017-01-17 20:37:22 caching: K.LED1-state: on
Jan 17 20:37:22 homebridge[32736]: [2017-01-17 20:37:22] [FHEM]     caching: On: true (as boolean; from 'on')
Jan 17 20:37:23 homebridge[32736]: [2017-01-17 20:37:23] [FHEM] K.LED1: executing set cmd for Brightness with value 100
Jan 17 20:37:23 homebridge[32736]: 2017-01-17 20:37:23 caching: K.LED1-rgb: ff421d
Jan 17 20:37:23 homebridge[32736]: [2017-01-17 20:37:23] [FHEM]     caching: Hue: 9 (as number; from 'ff421d')
Jan 17 20:37:23 homebridge[32736]: [2017-01-17 20:37:23] [FHEM]     caching: Saturation: 88 (as number; from 'ff421d')
Jan 17 20:37:23 homebridge[32736]: [2017-01-17 20:37:23] [FHEM]     caching: Brightness: 100 (as number; from 'ff421d')
Jan 17 20:37:23 homebridge[32736]: [2017-01-17 20:37:23] [FHEM]   value converted to ff421d
Jan 17 20:37:23 homebridge[32736]: [2017-01-17 20:37:23] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20K.LED1%20rgb%20ff421d&XHR=1

Bei mir kommt ein "delaying command Brightness with value 100" was aber unerwünscht ist.
Gibt es dafür eine Lösung? Also nur das On auszuführen und das Delayed zu unterdrücken?

justme1968

du musst zwei dinge unterscheiden.

den delay. der ist normalerweise sehr wohl erwünscht weil sonst beim interaktiven einstellen in einer homekit app so viele events an fhem erzeugt werden als alles lahm gelegt wird. der delay ist in homebridge-fhem implementiert und du kannst den ihm über das homebridge mapping ändern.

das senden von on und dimm auf ein mal. das ist in den letzen versionen von homekit dazu gekommen und lässt sich nicht abschalten sondern nur mehr oder weniger gut auf fhem seite anfangen. z.b. über cmdalias.

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

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

oberlon

Ja, bei mir ist es die zweite Variante. Homekit schickt on und brightness 100% zur "gleichen" Zeit.
Mit cmdalias meinst du https://wiki.fhem.de/wiki/Cmdalias?
Das muss ich mir mehrfach durchlesen. Wüsste jetzt nicht wie ich damit das delay in dem Fall unterdrücken kann (also nur wenn kurze zeit vorher ein on kam).

justme1968

du willst nicht das delay unterdrücken sondern das dim kommando wenn kurz vorher ein on gekommen ist.

das geht z.b. in dem du dir mit cmdalias ein neues kommando dimX definierst das schaut ob die lampe kurz vorher eingeschaltete wurde (z.b. state on und nicht älter als eine sekunde) und dann nichts tut und ansonsten das normale dim kommando aufruft.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

oberlon

Muss da nochmal nachhaken. Auf fhem Seite sieht es so aus:

2017-01-17 21:16:32.318 EspRgbw K.LED1 mode: color
2017-01-17 21:16:32.318 EspRgbw K.LED1 rgb: 59170A
2017-01-17 21:16:32.453 EspRgbw K.LED1 on
2017-01-17 21:16:33.382 EspRgbw K.LED1 rgb: ff421d

Muss ich somit den rgb aufruf überschreiben bzw. durch ein cmdalias ersetzen? Und dann per homebridgeMapping dem Device das neue rgbX beibringen?

oberlon

Also das schalten funktioniert mit dem cmdalias

set .* rgb .* AS {if(ReadingsAge($EVTPART0, "state", 0) > 1) {fhem("set $EVTPART0 rgb $EVTPART2")}}

Leider sieht es auf dem Telefon nicht so schön aus. Nach dem einschalten ist die Helligkeit bei 34%, sobald ich das CC ausblende und wieder einblende steht es bei 100%. Hast du da noch eine Idee oder kann man da nichts machen?

peterk_de

#36
Kann es sein, dass sich da etwas geändert hat?

Ich hatte bislang den Hack hier ...

attr <device> homebridgeMapping On=cmdOn=dummyOn

... mit allen Homematic-Dimmern erfolgreich genutzt. Jetzt habe ich Homebridge und zwischenzeitlich auch mal iOS geupdatet, und nun ist das leider nicht mehr die eierlegende Wollmilchsau:

Ohne Mapping:

Siri Dimmen von aus auf 10%: NEIN - Mit Aufblitzen
Siri ,,Schalte an": OK

Eve Dimmen von aus auf 10%: NEIN - geht direkt auf 100% und bleibt dort
Eve ,,Schalte an": OK

Home-App Dimmen von aus auf 10%: NEIN - Mit Aufblitzen
Home-App ,,Schalte an": OK


Mit Mapping:

Siri Dimmen von aus auf 10%: OK
Siri ,,Schalte an": NEIN - Nichts passiert

Eve Dimmen von aus auf 10%: OK
Eve ,,Schalte an": NEIN - Nichts passiert

Home-App Dimmen von aus auf 10%: OK
Home-App ,,Schalte an": OK


Hat jemand ggf. einen noch funktionierenden Workaround bzw. hab ich was übersehen? Denn ohne Mapping ist es nach wie vor der gleiche Mist mit dem Aufblitzen, aber mit Mapping geht es nur mit der Home-App richtig ...
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

FunkOdyssey

Hat eigentlich auch jemand einen Tipp, wie man die Favoriten-Icons so einstellt, dass diesen bei 0% nicht gelb hervorgehoben werden?
Es sieht immer aus, als wären die Lampen eingeschaltet. Und nur am "0%"-Wert erkennt man, dass das Icon eigentlich grau sein sollte.

FunkOdyssey

Zitat von: FunkOdyssey am 23 Februar 2017, 13:42:40
Hat eigentlich auch jemand einen Tipp, wie man die Favoriten-Icons so einstellt, dass diesen bei 0% nicht gelb hervorgehoben werden?
Es sieht immer aus, als wären die Lampen eingeschaltet. Und nur am "0%"-Wert erkennt man, dass das Icon eigentlich grau sein sollte.

Hat dazu niemand eine Idee?
Ist das bei euch denn auch so?

peterk_de

Funkodyssee, nein das kann ich nicht nachvollziehen. Bei mir (verschiedene Homematic-Dimmer) gehen die bei 0% aus, also werden grau ... aber mein Problem von oben besteht dafür nach wie vor und nervt mich ;)
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

FunkOdyssey

Mit folgendem homebridgeMapping sind meine Probleme gelöst:

Brightness=state,part=1,cmd=dim On=state,valueOff=off,cmdOn=on,cmdOff=off


Mein valueOff war scheinbar falsch bei meinem Z-Wave Fibaro Dimmer habe.

dauma

Hallo zusammen,

ich versuche gerade über Siri zu dimmen. das habe ich bei FHEM eingetragen:
define LichtBuero KNX 1/2/10:dpt1.001
attr LichtBuero IODev KNX
attr LichtBuero eventMap on:EIN off:AUS
attr LichtBuero genericDeviceType light
attr LichtBuero homebridgeMapping Brightness=state
attr LichtBuero room Homebridge

und dies erscheint wenn ich auf 50% dimmen möchte:
[7/31/2017, 2:03:49 PM] [FHEM] LichtBuero: executing set cmd for On with value true
[7/31/2017, 2:03:49 PM] [FHEM]   executing: http://127.0.0.1:8089/fhem?cmd=set%20LichtBuero%20on&fwcsrf=csrf_803211935177034&XHR=1
[7/31/2017, 2:03:49 PM] [FHEM] LichtBuero delaying command Brightness with value 50
  2017-07-31 14:03:49 caching: LichtBuero-state: on
[7/31/2017, 2:03:49 PM] [FHEM] LichtBuero-state not a number: on
[7/31/2017, 2:03:49 PM] [FHEM]     caching: On: true (as boolean; from 'on')
[7/31/2017, 2:03:50 PM] [FHEM] LichtBuero: executing set cmd for Brightness with value 50
  2017-07-31 14:03:50 caching: LichtBuero-state: aN
[7/31/2017, 2:03:50 PM] [FHEM] LichtBuero-state not a number: aN
[7/31/2017, 2:03:50 PM] [FHEM]     caching: On: true (as boolean; from 'aN')
[7/31/2017, 2:03:50 PM] [FHEM]   value converted to aN
[7/31/2017, 2:03:50 PM] [FHEM]   executing: http://127.0.0.1:8089/fhem?cmd=set%20LichtBuero%20rgb%20aN&fwcsrf=csrf_803211935177034&XHR=1

Sobald ein Dimmwert gesendet wird geht das Licht auf 100% an. Hat jemand eine Idee was ich umstellen muss?

VG und Danke im voraus!

dauma

Ich habe gerade noch einmal folgendes Probiert:
FHEM:
define LichtBuero KNX 1/2/10:dpt1.001
attr LichtBuero IODev KNX
attr LichtBuero eventMap on:EIN off:AUS
attr LichtBuero genericDeviceType light
attr LichtBuero homebridgeMapping Brightness=dim::dim,minValue=0,maxValue=100,minStep=1 On=cmdOn=dummyOn
attr LichtBuero room Homebridge
Terminal:
2017-07-31 14:14:41 caching: LichtBuero-state: off
[7/31/2017, 2:14:41 PM] [FHEM]     caching: On: false (as boolean; from 'off')
[7/31/2017, 2:14:51 PM] [FHEM] LichtBuero: executing set cmd for On with value true
[7/31/2017, 2:14:51 PM] [FHEM]   executing: http://127.0.0.1:8089/fhem?cmd=set%20LichtBuero%20dummyOn&fwcsrf=csrf_803211935177034&XHR=1
[7/31/2017, 2:14:51 PM] [FHEM] LichtBuero delaying command Brightness with value 50
[7/31/2017, 2:14:52 PM] [FHEM] LichtBuero: executing set cmd for Brightness with value 50
[7/31/2017, 2:14:52 PM] [FHEM]   converted value is unchanged
[7/31/2017, 2:20:25 PM] [FHEM] LichtBuero: executing set cmd for On with value true
[7/31/2017, 2:20:25 PM] [FHEM]   executing: http://127.0.0.1:8089/fhem?cmd=set%20LichtBuero%20dummyOn&fwcsrf=csrf_803211935177034&XHR=1
[7/31/2017, 2:20:25 PM] [FHEM] LichtBuero delaying command Brightness with value 50
[7/31/2017, 2:20:26 PM] [FHEM] LichtBuero: executing set cmd for Brightness with value 50
[7/31/2017, 2:20:26 PM] [FHEM]   converted value is unchanged

Event Monitor:
hier kommt nichts an!


FunkOdyssey

Zitat von: justme1968 am 07 November 2016, 21:02:50
wobei man auch nur das überschreiben kann was man ändern möchte. d.h. attr <device> homebridgeMapping On=cmdOn=dummyOnsollte schon reichen.

Scheinbar müssen wir ja echt das Einschaltkommando lahm legen, wenn wir nicht zuerst auf 100% gehen wollen. Das ist schade, da man die Leuchten dann aber auch nicht mehr per einfachen Klick voll einschalten kann. Man ist also nun zum Dimmen gezwungen.

Es hat doch sonst noch niemand eine Lösung für diese (ich nenne es mal) Apple-Inkompatibilität gefunden, oder? Doofes HomeKit. 😄

peterk_de

Ja das Problem besteht immernoch ... ich habe mich jetzt für die Variante "Anschalten geht, aber Dimmen auf kleinen Wert nur mit vorherigem Aufblitzen" entschieden, da ich "Siri, Licht an" tatsächlich häufiger mal nutze ...

Für sanftes Licht nutze ich jetzt nur noch vorgefertigte Szenen (Lightscenes in FHEM, per Siri oder Home-App schalte ich dann nur einen Dummy) und nicht mehr "Siri, stelle das Licht auf 10%". Ist zwar ein ziemlich umständliches Gefrickel das für alle Räume einzurichten, aber dann eigentlich ganz nett.
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

stzerre

#45
Hallo zusammen,

dieser Thread ist schon ziemlich alt, jedoch glaube ich eine funktionierende Lösung gefunden zu haben.
Vielleicht gibt's hier irgendwo im Forum auch eine bessere Variante, allerdings funktioniert diese für mich recht zuverlässig.
Dimmen, an- und ausschalten funktioniert.

Ich habe über folgenden cmdAlias (siehe Post von Oberlon 17.01.2017) und diesem Homebridgemapping meine Enocean Opus Bridge LED-Dimmer erfolgreich einbinden können:

cmdalias:
define c_sirion cmdalias set .* dim .* AS {if(ReadingsAge($EVTPART0, "state", 0) > 1) {fhem("set $EVTPART0 dim $EVTPART2")}}

homebridgeMapping:
clear
Brightness=dim,minValue=1,maxValue=99,minStep=1,cmd=dim
On=state,cmdOn=dim+100,cmdOff=dim+0


soweit ich das überblicken kann verursachen die zwei Homebridge Kommandos beim Dimmen (Dimmwert und zusätzliches ON) immernoch dieses Problem, dass die Dimmer immer zwischendrin auf 100% schalten oder sich entweder dimmen oder ein- und ausschalten lassen.
Dadurch hab' ich versucht, dass sich das On-Kommando der Homebridge beim dimmen herauszufiltern und gleichzeitig aber ein simples Einschalten zu ermöglichen.
Am besten ist es gelungen, wenn sich die beiden Wertebereiche nicht überlappen.
DimValue von 1 bis 99 und ON entspricht dim+100 und Off dim+0.
Vielleicht könnte da jemand, der damit mehr Erfahrung hat nochmal nen Blick drauf werfen. Ich denke, dass es so zufriedenstellend funktionieren könnte. Gibt es mittlerweile vielleicht sogar bessere Möglichkeiten?

Vielen Dank und schöne Grüße

jsChris

#46
Hi,

ja, dieses Thema ist alt. Aber so sehr ich auch im Forum gesucht habe, ich habe nichts besseres gefunden. Wie stzerre schon geschrieben hat, ist die einfachste Variante, einen default Wert für den dim Wert (bei mir pct) anzugeben und bei Brightness den min/maxValue anzupassen.

Für mich war das bei meinem Homematic Dimmer HmIP-FDT etwas angenehmer gelöst mit:


clear
Brightness=pct,minValue=1,maxValue=99,minStep=1,cmd=pct,delay=true
On=state,cmdOn=pct+20,cmdOff=pct+0


Damit wollte ich mich aber nicht zufrieden geben, weshalb ich die vorherigen Antworten aufgegriffen und etwas erweitert habe, da ich gerne den zuletzt verwendeten Dim-Wert benutzen wollte.

Zuerst einmal mit einem Userreading, das mir den letzten Dim-Wert speichert, da es dafür kein Reading gibt.


pctCache {(ReadingsNum($NAME,"pct",0) > 0 && ReadingsNum($NAME,"pct",0) < 100) ? ReadingsNum($NAME,"pct",20) : ReadingsNum($NAME,"pctCache",20)}


Nun verwende ich pctCache im homebridgemapping:


clear
Brightness=pct,minValue=1,maxValue=99,minStep=1,cmd=pct,delay=true
On=state,cmdOn=pctCache,cmdOff=pct+0


Nun kann man pctCache aber noch nicht benutzen, da es kein set Befehl ist, die Lösung geht über den cmdalias :


define c_pctCache cmdalias set <device> pctCache AS { setPCTCache($EVENT);  }


ODER direkt für alle devices:


define c_pctCacheAll cmdalias set .* pctCache .* AS { setPCTCache($EVENT);  }


Ich benutze hier aus Faulheit eine function in MyUtils, da ich gerne meine Funktionen alle beisammen habe.


sub setPCTCache($) {
my ($event) = @_;
my ($device,$reading)=split(/\s/,$event);
my $pct = ReadingsNum($device,'pct',0);
my $cache = ReadingsNum($device,$reading,20);
if($pct == 0) { fhem("set $device pct $cache"); }
}


Wahrscheinlich kann man das auch eleganter lösen...

Viele Grüße
Chris

wires.io

Bei meinem Homematic Dimmer funktioniert das ganz gut:

homebridgemapping clear \ On=state,valueOff=off,cmdOff=off,cmdOn=cmdOn_ \ Brightness=pct,minValue=0,maxValue=100,minStep=1,cmd=pct,delay=true

und

userReadings cmdOn_ {if(ReadingsVal($name,"state","") eq "off") {return "on"} elsif(ReadingsVal($name,"state","") eq "on") {return ""}}