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 (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
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">
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
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
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.
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 (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.
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.
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.....
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
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
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
welche alexa-fhem version verwendest du?
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
zeig mal ein jsonlist2 vom device
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
(https://forum.fhem.de/index.php/topic,60244.1635.html)
Gruß
Thomas
das problem besteht aus drei teilen:
- es gibt aktuell einen fehler im alexa-fhem. die FHEM_hsv2rgb habe ich vergessen hinzuzufügen.
- das ganze betrifft aber eigentlich nur geräte mit einer bestimmten kombination aus hue, sat, bri und rgb kommandos
- scheinbar bietet das knx device ein rgb kommando an obwohl es dieses eigentlich nicht unterstützt und unnötig ist
alles zusammen erzeugt dein problem. in der nächsten alexa-fhem version wird die routine enthalten sein. bis dahin: schau mal ob es hilft wenn du am anfang deines homebridgeMapping noch ein clear einbaust.
du hast übrigens zwei mal ,value zu viel in deinem homebridge mapping.
das rgb kommando sollte aber trozdem nicht angezeigt werden.
gruss
andre
Hallo,
vielen, vDank für Deine Antwort :)
Endlich weiß ich woran es liegt...
Ja 2 Mal value, habe ich wiel ich sehr viele Verschiedene Kombinationen ausprobiert hatte...
Und das Beste :) "clear" hat gebracht:
[2017-02-05 21:40:50] [FHEM] homebridgeMapping: clear Brightness=state::value,cmd=value On=state,cmdOn=on,cmdOff=off
[2017-02-05 21:40:50] [FHEM] EG.Licht.WZ.Esstisch is light
[2017-02-05 21:40:50] [FHEM] EG.Licht.WZ.Esstisch has
[2017-02-05 21:40:50] [FHEM] Brightness [value]
[2017-02-05 21:40:50] [FHEM] On [state;on,off]
Danke noch mal, Grüße
Thomas
Änder mal den DPT von 5.001 auf 5. Der geht dann zwar von 0-255 und hat keine Einheit mehr, aber ein Versuch ist es Wert.
Hi,
danke Dir, werde ich ausprobieren, mit dem "clear" läuft aber alles ohne Probleme.
Gruß
Thomas
@andre:
Das RGB krieg ich nicht weg. Sonst hauen mich die Kollegen, die Ihre LED's steuern wollen. Das muss ich anbieten...
mfG andi
aber doch nur wenn der dimmer tatsächlich rgb kann. oder nicht?
Nein.
Das Modul bietet grundsätzlich alle set-Varianten immer an. Erst zur Laufzeit wird in Abhängigkeit der konfigurierten DPT entschieden, ob "value", "string", "rgb", oder was anderes gültig ist.
Die Struktur hab ich so aus dem Modul EIB übernommen. Irgendeinen Haken gab es, warum das nicht zur Laufzeit einzuschränken ging. Kann mich aber nicht mehr erinnern, welchen.
Aktuell wird angeboten:
my $OFF = "off";
my $ON = "on";
my $ONFORTIMER = "on-for-timer";
my $ONUNTIL = "on-until";
my $VALUE = "value";
my $STRING = "string";
my $RAW = "raw";
my $RGB = "rgb";
Grüße, Andi
FUNZT!!!DANKE DANKE!! ENDLICH.....
[2017-02-05 21:40:50] [FHEM] homebridgeMapping: clear Brightness=state::value,cmd=value On=state,cmdOn=on,cmdOff=off
Das hier ist mit nem MDT Dimmer, wollte das nur schreiben, falls das jemand sucht :-)
Hi,
@Andi291, komisch mit dem 10_EIB hat es ohne clear funktioniert, da hatte ich keine "hue, saturation, .. usw"
@krizztus, ja ich habe auch den MDT Dimmer, nach dem Tipp mit "clear" ging es dann sofort :-)
Gruß
Thomas
Jo, 10_EIB bietet auch kein RGB...