Homebridge KNX Dimmer Probleme

Begonnen von bails, 20 April 2021, 02:32:19

Vorheriges Thema - Nächstes Thema

bails

Hallo

erstmal vielen Dank für die viele Threads und Entwicklungen zu diesem Thema.

Ich habe einen Dimmer mit dieser Anleitung eigentlich ganz gut realisieren können.
https://forum.fhem.de/index.php/topic,56618.45.html

Ich habe es jetzt geschafft ein Homebridge Mapping für einen KNX Dimmer zu erstellen jedoch habe ich noch ein paar Probleme.

defmod Dali01 KNX 1/1/3:dpt5.001:dimmen-absolut 1/1/1:dpt1:schalten 1/1/5:dpt3:dimmen-relativ 1/1/4:dpt5.001:status-dimmen
attr Dali01 IODev tul
attr Dali01 event-on-change-reading .*
attr Dali01 eventMap /on g2:Ein/off g2:Aus
attr Dali01 group Dali
attr Dali01 slider 0,1,100
attr Dali01 room KNX,Homekit
attr Dali01 genericDeviceType light
attr Dali01 stateCmd {sprintf("%s", ReadingsVal($name,"status-dimmen-get",""))}
attr Dali01 webCmd dimmen-absolut:schalten
attr Dali01 widgetOverride dimmen-absolut:colorpicker,BRI,0,10,100|schalten:uzsuSelect,Ein,Aus
attr Dali01 homebridgeMapping clear Brightness=dimmen-absolut::dimmen-absolut,minValue=0,maxValue=100,minStep=10 On=cmdOn=dummyOn,cmdOff=Aus


Nach wie vor scheint es ein Problem mit einem zusätzlichen On Befehl zu geben der nach jedem Dimstate abgesendet wird und ein flickern beim Dimmer erzeugt. Damit kann ich erstmal leben, da ich das mit dem Dummy Workaround aus dem Link lösen konnte. Leider funktioniert das anschalten so nicht mehr, sondern nur noch per 100% Befehl. Ich werde mir den Vorschlag aus dem Link nochmal anschauen, aber so funktioniert es für mich erstmal.

Das Problem was ich habe ist das wenn der Dim Wert per KNX Taster geändert wird, zwar Fhem den Slider aktualisiert, jedoch die HomeKit App auf dem iPhone diesen neuen State nicht entgegen nimmt. im Homebridge log kommen die Taster Befehle wie folgt an.

[20.4.2021, 01:59:47] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20Dali01%20dummyOn&fwcsrf=csrf_34372114829745&XHR=1
  2021-04-20 01:59:48 caching: Dali01-state: 23 %
[20.4.2021, 01:59:48] [FHEM]     caching: On: true (as boolean; from '23 %')
  2021-04-20 02:00:01 caching: Dali01-state: 28 %
[20.4.2021, 02:00:01] [FHEM]     caching: On: true (as boolean; from '28 %')
  2021-04-20 02:00:02 caching: Dali01-state: 34 %
[20.4.2021, 02:00:02] [FHEM]     caching: On: true (as boolean; from '34 %')
  2021-04-20 02:00:02 caching: Dali01-state: 39 %
[20.4.2021, 02:00:02] [FHEM]     caching: On: true (as boolean; from '39 %')
  2021-04-20 02:00:03 caching: Dali01-state: 44 %
[20.4.2021, 02:00:03] [FHEM]     caching: On: true (as boolean; from '44 %')
  2021-04-20 02:00:03 caching: Dali01-state: 49 %
[20.4.2021, 02:00:03] [FHEM]     caching: On: true (as boolean; from '49 %')
  2021-04-20 02:00:03 caching: Dali01-state: 54 %
[20.4.2021, 02:00:03] [FHEM]     caching: On: true (as boolean; from '54 %')
  2021-04-20 02:00:04 caching: Dali01-state: 59 %
[20.4.2021, 02:00:04] [FHEM]     caching: On: true (as boolean; from '59 %')
  2021-04-20 02:00:04 caching: Dali01-state: 64 %
[20.4.2021, 02:00:04] [FHEM]     caching: On: true (as boolean; from '64 %')
  2021-04-20 02:00:05 caching: Dali01-state: 68 %
[20.4.2021, 02:00:05] [FHEM]     caching: On: true (as boolean; from '68 %')


Es gibt jedoch kein Update beim DimStatus der Lampe im HomeKit. Mache ich hier etwas falsch ???

Mich würde auch interessieren ob es ein Update zu diesem doppeltem On Befehl gibt oder geben wird. Ich bekomme es einfach nicht sauber hin :( Würde mich über jede Hilfe freuen. Kann nicht jemand mal seine Definition hier Posten mit der es bei ihm geklappt hat. Das Forum ist echt super voll mit Einträgen dazu. Es wäre Klasse wenn ein sauberes Sample mal in der Dokumentation landen würde. Ich wühle hier schon seit Tagen im Forum. Muss aber auch zugeben das ich eher ein Neuling bin und mich hier oft nur mit dem ausprobieren von Codeschnipseln durchschlage.

Vielen Dank an alle Entwickler und Bastler hier. Eure Dokumentationen haben sehr geholfen wenigstens zu einer ungefähren Device Definition zu kommen. Aber ich denke man bekommt es bestimmt noch wesentlich besser hin.

Beste Grüße
Philipp


EinEinfach

Hallo Philipp,

ich vermute dein Brightness=dimmen-absolut in dem Mapping ist nicht korrekt.

Vielmehr sollte es so aussehen:
homebridgeMapping clear Brightness=status-dimmen,cmd=dimmen-absolut,minValue=0,maxValue=100,minStep=10 On=cmdOn=dummyOn,cmdOff=Aus

Gruß
Alexander
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

EinEinfach

Es muss eine number gecached werden und nicht boolean

[4/20/2021, 3:15:08 PM] [FHEM]     caching: Brightness: 1 (as number; from '1 %')
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

bails

#3
Danke Alexander ich habe es jetzt hinbekommen Danke nochmal für die genaue Erklärung des Mappings das macht jetzt Sinn für mich, das Problem war allerdings (wie du gerade schon meinst) das Prozentzeichen hinter dem dimmen-status mit dem Homebridge nicht umgehen konnte. Ich habe es jetzt über ein UserReadings wie folgt gelöst. hier nochma das Warning aus dem Homebridge Log.

[20.4.2021, 14:31:46] [FHEM] Dali01-status-dimmen not a number:
[20.4.2021, 14:31:46] [homebridge-fhem] This plugin generated a warning from the                                                             characteristic 'Brightness': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.


Hier das UserReadings mit dem ich es jetzt gelöst habe.
attr Dali01 userReadings Value {ReadingsNum("Dali01","state","0")}

und zur Übersicht nochmal die komplette Definition. Das hilft mir immer am meisten um das zu durchsteigen.


define Dali01 KNX 1/1/3:dpt5.001:dimmen-absolut 1/1/1:dpt1:schalten 1/1/5:dpt3:dimmen-relativ 1/1/4:dpt5.001:status-dimmen
setuuid Dali01 607ec99b-f33f-dec0-43b6-05334f0278f8f214
attr Dali01 userattr room_map structexclude
attr Dali01 IODev tul
attr Dali01 event-on-change-reading .*
attr Dali01 eventMap /on g2:Ein/off g2:Aus
attr Dali01 genericDeviceType light
attr Dali01 group Dali
attr Dali01 homebridgeMapping clear Brightness=Value,cmd=dimmen-absolut,minValue=0,maxValue=100,minStep=10 On=cmdOn=dummyOn,cmdOff=Aus
attr Dali01 room KNX,Homekit
attr Dali01 slider 0,1,100
attr Dali01 stateCmd {sprintf("%s", ReadingsVal($name,"status-dimmen-get",""))}
attr Dali01 userReadings Value {ReadingsNum("Dali01","state","0")}
attr Dali01 webCmd dimmen-absolut:schalten
attr Dali01 widgetOverride dimmen-absolut:colorpicker,BRI,0,10,100|schalten:uzsuSelect,Ein,Aus


falls jemand noch eine Lösung zum doppeltem On befehl über homebridge hat immer her damit.

Beste Grüße Philipp




EinEinfach

Zitatdas Problem war allerdings das Prozentzeichen hinter dem dimmen-status

Habe ich auch und funktioniert bei mir ohne Warnings  :o
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

bails

Ja ist wirklich komisch bei mir hatte das früher (so vor drei Jahren) auch alles mal funktioniert. Aber ich habe vor zwei Wochen mal alles neu aufgesetzt auf einem Raspi 4 und auch alle Module mal komplett neu installiert, seitdem hatte ich massive Probleme mit homebridge. Da scheint sich einiges getan zu haben mit den mappings. Es wäre super wenn sich das mit dem On Befehl noch klärt. Ich hatte da auch extern mal was von Andre zu gelesen.

https://github.com/justme-1968/homebridge-fhem/issues/32

Aber irgendwie scheint es da noch keine saubere Lösung zu geben. Bei Rolladen soll es wohl schon funktionieren. Aber an die setz ich mich jetzt erst ran. mal schauen was da noch alles kommt. An sich funktioniert es ja super wenn man weiß wie mans machen muss. Die Mappings scheinen wesentlich komplexer in der neuen Version.

Man kann diesen doppelten On Befehl nach dem dimmen wohl filtern bzw. das per Script umgehen aber da hab ich mich noch nicht rangetraut. Wäre super wenn das Modul das automatisch checken würde. Vlt liest Andre das ja, aber wahrscheinlich ist die Problematik hier zu klein. Über updates dazu würde ich mich sehr freuen. Hier nochmal der Link in dem das auch hier im Forum diskutiert wird.

https://forum.fhem.de/index.php/topic,56618.45.html

Und danke nochmal für deine Hilfe Alexander !!!