KNX Dimmaktor steuern von fhem aus

Begonnen von gadget, 22 Januar 2017, 15:46:01

Vorheriges Thema - Nächstes Thema

gadget

Hallo,

Ich bitte schon mal voarb um Entschuldigung falls das hier eine dumme Frage ist.
Folgende Aufgabenstellung: Vorhandene KNX Installation, die nicht verändert werden soll.
Diese enthält neben Schaltaktoren für Licht und Rollos auch einen 2-fach Dimmaktor.
fhem mit knxd läuft. Schaltaktoren für Licht lassen sich steuern. Wie steuert man aber jetzt einen Dimmer ? Das Besipiel im Wiki https://wiki.fhem.de/wiki/Dimmer_f%C3%BCr_EIB/KNX bezieht sich noch auf EIB und das ist ja deprecated.

In der ETS5 schaut der Dimmaktor wie im angehängten PDF aus (und soll bzw. kann auch nicht geändert werden mangels ETS5 Lizenz - ich hatte nur mal einen Leih-Dongle um Screenshots zu machen)

- Licht schalten geht mit Gruppenadresse 2/0/3 (Esszimmer) bzw. 2/0/1 (Wohnzimmer), der Datentyp ist dpt1
- Für das Dimmen gibt es eine weitere Gruppenadressen 2/0/4 (Esszimmer) und 2/0/2 (Wohnzimmer). Die Länge ist 4 Bit.  Im Zweiten Screenshot ist von "255 Dimmstufen" die Rede. Was ist das dann für ein dpt ?

Wie müßte ein fhem KNX Device aussehen, mit dem man die Beleuchtung sowohl schalten als auch dimmen kann ? Oder muss man zwei Devices in fhem anlegen (eines pro Gruppenadresse schalten / dimmen) und sich da selbst eine übergordnete Logik mit notifys und dummys zusammenstricken ?

Der Dimmaktor ist offenbar so eingestellt dass er selbst keine Rückmeldungen liefert. Ist es realistisch in fhem trotzdem eine korrekte Visualisierung zu bekommen wenn man den Dimmer über einen Wandschalter bedient ?

Vielen Dank schonmal vorab.

Grüße,

gadget

cfs

Moin,

meine Dimmer haben mich auch fast um den Verstand gebracht...... Aber eigentlich ganz einfach.

Du hast vermutlich fünf Adressen für den Dimmer

  • Schalten
  • Status an/aus
  • Dimmen
  • Dimmwert setzten
  • Status Dimmwert

Da ich meine in einem Tablet UI verwenden will und auch hier schalten und status auf einer Adresse brauche (slider z.B.) habe ich schalten und dimmen in einem Wert zusammengefasst:
#G1=Schalten, G2=Schalten Rückmeldung
define KNX_0101001_SET KNX 1/1/1:dpt1 1/4/1:dpt1
  attr KNX_0101001_SET userattr room_map structexclude
  attr KNX_0101001_SET IODev KNX
  attr KNX_0101001_SET alias 0EG_Esszimmer_Licht_Schalten
  attr KNX_0101001_SET room 0EG_Esszimmer,KNX_LICHT

define KNX_0102001_DIMMEN KNX 1/2/1:dpt3
  attr KNX_0102001_DIMMEN IODev KNX
  attr KNX_0102001_DIMMEN alias 0EG_Esszimmer_Licht_Dimmen
  attr KNX_0102001_DIMMEN room 0EG_Esszimmer,KNX_LICHT

#G1=Dimwert Setzten, G2=Dimwert Rückmeldung
define KNX_0103001_DIM KNX 1/3/1:dpt5 1/5/1:dpt5
  attr KNX_0103001_DIM IODev KNX
  attr KNX_0103001_DIM alias 0EG_Esszimmer_Licht_Dimmwert_Set
  attr KNX_0103001_DIM room 0EG_Esszimmer,KNX_LICHT


Dann kannst Du die im Visu gut als G2 abfragen, z.B.:

<div data-device='KNX_0101001_SET' data-get="getG2" data-type="switch" style="font-size:20px" data-on-background-color="#fbfcc2" data-get-on="on" data-set-on="on" data-icon="fa-lightbulb-o">

Hier ist dann dann getG2 der Status ob an oder aus und im Slider nachfolgende der Status des Dimmwertes:
<div data-type="slider" data-device="KNX_0103000_DIM" data-get="getG2" data-set="value" data-min="0" data-max="255" data-get-off="0" data-get-on="255" class="horizontal" data-color="#f9f77c">

gadget

Hi,

nein, ich hab leider nur die zwei Gruppenadressen (siehe ETS5 Screenshots im PDF). Ein hübsches UI steht auf der Wunschliste noch ganz weit hinten, erst mal geht es mir darum das prinzipiell von fhemweb aus richtig steuern und angezeigt zu bekommen, sprich ich müßte die beiden Gruppenadressen erst mal auf dieser Ebene unter einen Hut bekommen, nicht erst später in einer aufgesetzten Visualisierung.

Wie bist Du drauf gekommen dass dimmen bei Dir dpt3 ist und die Rückmeldung dpt5 ? In der ETS5 steht bei mir leider in der Spalte Datentyp gar nichts, der einzige Anhaltspunkt sind die 4 Bit.

Grüße, gadget

cfs

Ich hab es im Monitor geschaut und dann die Definition von Hager durchgeschaut. Hast Du autocreate an? Ich wuerde mich wundern, wenn Du nur zwei Gruppenadressen hast, denn an/aus, Status und dimwert, dimwert Status sollten sicher kommen. Wenn Du die ETS hast, sonst einfach mal am bus mitschauen

cfs

Sorry hatte den Screenshot nicht gesehen. Du kannst in den Zusatzoptionen bei den Ausgängen die Rückmeldung aktivieren. Dann solltest Du jeweils weitere Kommunikationsobjekte bekommen. Denen wuerde ich jeweils dann Adressen zuweisen und Du solltest dann eigentlich alles haben denke ich. Dann kannst Du mein Beispiel von oben nehmen. Ob nun in der Visu oder direkt im fhem web. Dann kannst Du schalten, dimmen und den Dimmwert setzen.

gadget

Hi,

An das Umprogrammieren des Aktors traue ich mich noch nicht ran (das ist eine Altinstallation, die fast ein Jahrzehnt auf dem Buckel hat). Ich will zunächst erst mal nur das Steuern mit der gegebenen Konfiguration schaffen. Aber das Dimmen will einfach nicht klappen, ich finde keinen passenden dpt dafür. Der Aktor ist übrigens ein Berker Dimmeraktor 2fach 75312007. In der Doku dazu https://www.hager.de/files/download/0/117805_1/0/75312007__UNIVERSAL-DIMMAKTOR-2FACH-REG__DE__2001-11__APP-DESCRIPTION.PDF steht bezüglich Dimmen leider auch nur "4 Bit Objekt zur relativen Helligkeitsänderung zwischen 0 und 100 %" wobei die Tabelle auf Seite 3 unten des PDFs wohl auch noch verschoben ist.

Grüße, gadget.

cfs

Hi,

wird ziemlich sicher ein dpt3 sein. Das ist eigentlich der einzige 4Bit den ich gefunden habe und auch relativ klar als Dimmer definiert.
siehe bei Loxone z.B. https://www.loxone.com/dede/kb/eibknx-datentypen/

Sollte ganz gleich sein wie bei meinem (auch ein Hager, allerdings 3er):
define KNX_0102001_DIMMEN KNX 1/2/1:dpt3
  attr KNX_0102001_DIMMEN IODev KNX
  attr KNX_0102001_DIMMEN alias 0EG_Esszimmer_Licht_Dimmen
  attr KNX_0102001_DIMMEN room 0EG_Esszimmer,KNX_LICHT


Du kannst dann damit relativ zur aktuellen Wert dimmen indem Du z.B.
set KNX_0102001_DIMMEN value +10 setzt und Du dann +10% bekommst. Alternativ halt auch -10 (oder anderer Wert)

Finde ich persönlich relativ blöd, da ich ganz gerne direkt den Wert setzte. Dazu müsstest Du dann nur noch eine weitere Adresse anlegen und auf den Ausgang1 Helligkeitswert legen. Da könntest Du dann
set KNX_0103001_DIM value 35
geben um auf 35% zu dimmen. Fand ich irgendwie logischer.

Aber auch voll verständlich, wenn Du nicht gleich die Config ändern willst.


krizztus

Hallo,

Ich habe es mit 4 KNX Adressen:

{
  "Arg":"KNX_0001001",
  "Results": [
  {
    "Name":"KNX_0001001",
    "PossibleSets":"AN:noArg AUS:noArg value:slider,0,1,100 helligkeit-get on-for-timer on on-until rgb:colorpicker raw string off",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev do_not_notify:1,0 listenonly:1,0 readonly:1,0 showtime:1,0 answerReading:1,0 stateRegex stateCmd stateCopy format slider event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading  cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "DEF": "0/1/201:dpt5.001:dimmwert 0/1/1:dpt1:schalter 0/2/201:dpt5.001:helligkeit 0/2/1:dpt1:schalter_ret",
      "DEVNAME": "KNX_0001001",
      "KNX_MSGCNT": "208",
      "KNX_RAWMSG": "C1101w02c9a8",
      "KNX_TIME": "2017-02-03 00:26:52",
      "LASTInputDev": "KNX",
      "MSGCNT": "208",
      "NAME": "KNX_0001001",
      "NR": "46",
      "NTFY_ORDER": "50-KNX_0001001",
      "STATE": "66 %",
      "TYPE": "KNX"
    },
    "Readings": {
      "dimmwert-get": { "Value":"66 %", "Time":"2017-02-03 00:26:50" },
      "dimmwert-set": { "Value":"66 %", "Time":"2017-02-03 00:26:50" },
      "helligkeit-get": { "Value":"66 %", "Time":"2017-02-03 00:26:52" },
      "last-sender": { "Value":"1/1/1", "Time":"2017-02-03 00:26:52" },
      "schalter-get": { "Value":"off", "Time":"2017-02-03 00:26:44" },
      "schalter-set": { "Value":"off", "Time":"2017-02-03 00:26:44" },
      "schalter_ret-get": { "Value":"on", "Time":"2017-02-03 00:26:50" },
      "state": { "Value":"66 %", "Time":"2017-02-03 00:26:52" }
    },
    "Attributes": {
      "IODev": "KNX",
      "alias": "Gästezimmer Deckenlicht",
      "event-on-change-reading": "*.",
      "eventMap": "/on g2:AN/off g2:AUS/",
      "genericDeviceType": "light",
      "group": "Beleuchtung",
      "homebridgeMapping": "On=schalter_ret-get,cmdOn=AN,cmdOff=AUS\u000aBrightness=state,part=1,minValue=0,maxValue=100,cmd=value",
      "icon": "light_ceiling_light",
      "room": "Gäste,Homekit,KNX",
      "slider": "0,1,100 helligkeit-get",
      "webCmd": "value::AN:AUS"
    }
  }  ],
  "totalResultsReturned":1
}


Es funktioniert tadellos in FHEM. Mein Problem ist eher das blöde Homebridgemapping....
Es wird der State nicht übergeben an Homebridge und ich kann ihn auch nicht setzen in der Home App
ON/OFF funktioniert, aber in beide Richtungen.

Mich wundert grad das merkwürdige Zeichen dort
"homebridgeMapping": "On=schalter_ret-get,cmdOn=AN,cmdOff=AUS\u000aBrightness=state,part=1,minValue=0,maxValue=100,cmd=value",
Dort ist eigentlich ein Leerzeichen? Ignoriert das "part=1". Ich habe es auch ohne versucht und hin und her ...

Warum ich dort part=1 stehen habe, erkläre ich nun...
Dies ist was Homebridge wohl zu FHEM sendet, wenn ich den Regler in der Home App bewege.

[2017-02-03 00:30:41] [FHEM] KNX_0001001: executing set cmd for Brightness with value 68
  2017-02-03 00:30:41 caching: KNX_0001001-state: aN
[2017-02-03 00:30:41] [FHEM] KNX_0001001-state not a number: aN
[2017-02-03 00:30:41] [FHEM]   value converted to aN
[2017-02-03 00:30:41] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=set%20KNX_0001001%20value%20aN&XHR=1

Aufgrund dieser Fehlermeldung "not a number: aN" hab ich gedacht es läge am % Zeichen irgendwie. ("state": { "Value":"66 %", "Time":"2017-02-03 00:26:52" })
Das ist aber nicht.

Ich habe soviele andere Dimmer , Zwave und alles, nur KNX will einfach nicht dimmen :( Ich hocke da schon 5 Tage dran, nun hab ich mich entschlossen hier Hilfe zu suchen.....

Vielen Dank ich freue mich ein Teil dieser Community zu sein und finde es einfach megageil, was hier auf die Beine gestellt wurde als Gesamtpaket.....


kobza

#8
Hi,

ähnliches Problem habe ich mit alexa-fhem

mit dem 10_KNX funktioniert das Dimmer nicht..., das Problem scheiont hier das RGB Parameter...

Ich kriege immer diesen Fehler:


[2017-02-04 17:34:50] [FHEM] EG.Licht.WZ.Esstisch: executing set cmd for Brightness with value 20
[2017-02-04 17:34:50] [FHEM] EG.Licht.WZ.Esstisch-state homekit2reading: ReferenceError: FHEM_hsv2rgb is not defined


Jetzt habe ich Probeweise 10_EIB einbenuden, ich schaue ob ich hier wieterkommme..

Trotzdem würde ich natürliche genrne weiterhin 10_KNX nutzen.

Gruß
Thomas

Andi291

Hallo,

was genau tut Ihr denn mit RGB? Bei einem "normalen" Dimmer brauchts das nicht...

Ich würd mal mit Hello world anfangen:

define myDimmer KNX 1/2/3:dpt5
set myDimmer value 75


Grüße, Andi

kobza

Hi Andi,

ja, mit KNX und FHEM funktioniert es natürlich.
Was nicht geht ist alexa-fhem Intergration da will alexa (oder fhem?) immer RGB als Dimmwert senden.

Mittlerweile habe ich alles von 10_KNX auf 10_EIB demit funktioniert alles, alexa mit dem homeberidgebinding...

Ich will trotzdem zurück auf das 10_KNX Modul, ich schaue weiter...

Gruß
Thomas

justme1968

welche alexa-fhem version verwendest du?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

kobza

V0.1.9 ich denke das ist die neuste.
Habe eben wieder auf 10_KNX umgestellt, wieder das Problem mit dem:
[2017-02-04 17:34:50] [FHEM] EG.Licht.WZ.Esstisch-state homekit2reading: ReferenceError: FHEM_hsv2rgb is not defined

Gruß
Thomas

justme1968

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

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

kobza

hier die jsonlist2:

Zitat
  "Arg":"EG.Licht.WZ.Esstisch",
  "Results": [
  {
    "Name":"EG.Licht.WZ.Esstisch",
    "PossibleSets":"on:noArg off:noArg value:slider,0,1,100 on-for-timer string off on-until on rgb:colorpicker raw",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev do_not_notify:1,0 listenonly:1,0 readonly:1,0 showtime:1,0 answerReading:1,0 stateRegex stateCmd stateCopy format slider event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading  cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "DEF": "0/1/60:dpt5.001:dimmen-absolut 0/1/6:dpt1:schalten 10/1/60:dpt5.001:status-dimmen 10/1/6:dpt1:status-schalten",
      "DEVNAME": "EG.Licht.WZ.Esstisch",
      "KNX_MSGCNT": "34",
      "KNX_RAWMSG": "C1018pa13c00",
      "KNX_TIME": "2017-02-05 20:05:01",
      "LASTInputDev": "KNX",
      "MSGCNT": "34",
      "NAME": "EG.Licht.WZ.Esstisch",
      "NR": "56",
      "NTFY_ORDER": "50-EG.Licht.WZ.Esstisch",
      "STATE": "0 %",
      "TYPE": "KNX"
    },
    "Readings": {
      "dimmen-absolut-get": { "Value":"40 %", "Time":"2017-02-05 20:04:12" },
      "dimmen-absolut-set": { "Value":"40 %", "Time":"2017-02-05 20:04:12" },
      "last-sender": { "Value":"1/0/24", "Time":"2017-02-05 20:05:01" },
      "schalten-get": { "Value":"off", "Time":"2017-02-05 20:05:00" },
      "schalten-set": { "Value":"off", "Time":"2017-02-05 20:05:00" },
      "state": { "Value":"0 %", "Time":"2017-02-05 20:05:01" },
      "status-dimmen-get": { "Value":"0 %", "Time":"2017-02-05 20:05:01" },
      "status-schalten-get": { "Value":"off", "Time":"2017-02-05 20:05:00" }
    },
    "Attributes": {
      "IODev": "KNX",
      "alias": "Esstisch",
      "event-on-change-reading": ".*",
      "eventMap": "/on g2:on/off g2:off",
      "genericDeviceType": "light",
      "homebridgeMapping": "Brightness=state::value,value,value,part=1,cmd=raw",
      "room": "EG,Wohnzimmer,Licht,alexa",
      "slider": "0,1,100",
      "stateCmd": "{sprintf(\u0022%s\u0022, ReadingsVal($name,\u0022status-dimmen-get\u0022,\u0022\u0022))}",
      "webCmd": "on::off::value"
    }
  }  ],
  "totalResultsReturned":1
-_

und hier in dem Betrag alle anderen Infos, ich sehe alle KNX Devices, egal welche habe die Hue,  Saturation usw. wenn ich auf 10_EIB umstelle ist alles so weot ok.
Es sieht ganz danach aus als ob 10_KNX und alexa-fhema Kompatbilitätsporbleme habe...

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


Gruß
Thomas