HMCCU mit Jalousieaktor HM_LC_Ja1PBU_FM

Begonnen von daelch, 14 Februar 2018, 22:38:56

Vorheriges Thema - Nächstes Thema

daelch

Hallo,

ich taste mich gerade an HMCCU (via CCU2) heran, nachdem mein HMLAN die Hufe hochgerissen hat.  >:(

Dimmaktoren funktionieren wunderbar. Nun habe ich begonnen, die Jalousieaktoren (gibt es nur als Bausatz) HM LC Ja1PBU FM https://www.elv.de/homematic-jalousiesteuerung.html?refid=SEM_30003&gclid=Cj0KCQiA2Y_UBRCGARIsALglqQ2qchxWhWOADbsqse8gVbZc4x5GkRFx-yqwpNV_Gi24c1Cwb1MbEQEaAkydEALw_wcB einzubinden.

Problem: die Jalousieaktoren werden nur als "Initialized" angezeigt. Bei den Set-Kommandos ist kein "on", "off" dabei, wie ich es erwartet hätte.

Frage: was muss ich einstellen, damit der Aktor via fhem bedienbar ist?  :-[

Vielen Dank vorab für Eure Antworten  :D

zap

#1
Für das Gerät habe ich noch keine Defaults hinterlegt. Als Einstieg:

https://wiki.fhem.de/wiki/HMCCU_Best_Practice#Neue_Ger.C3.A4te_anlernen

Für weitere Tipps brauche ich die Ausgabe von "get deviceinfo"

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

daelch

Hallo zap,

das liefert der Aktor auf "get deviceinfo":

CHN OEQ0334609:0 WohnzimmerJalCouch:0
  DPT {b} BidCos-RF.OEQ0334609:0.UNREACH = false [RE]
  DPT {b} BidCos-RF.OEQ0334609:0.STICKY_UNREACH = false [RWE]
  DPT {b} BidCos-RF.OEQ0334609:0.CONFIG_PENDING = false [RE]
  DPT {b} BidCos-RF.OEQ0334609:0.DUTYCYCLE = false [RE]
  DPT {n} BidCos-RF.OEQ0334609:0.RSSI_DEVICE = 128 [RE]
  DPT {n} BidCos-RF.OEQ0334609:0.RSSI_PEER = 195 [RE]
  DPT {b} BidCos-RF.OEQ0334609:0.DEVICE_IN_BOOTLOADER = false [RE]
  DPT {b} BidCos-RF.OEQ0334609:0.UPDATE_PENDING = false [RE]
  DPT {n} BidCos-RF.OEQ0334609:0.AES_KEY = 0 [R]
CHN OEQ0334609:1 HM-LC-Ja1PBU-FM OEQ0334609:1
  DPT {f} BidCos-RF.OEQ0334609:1.LEVEL = 0.000000 [RWE]
  DPT {b} BidCos-RF.OEQ0334609:1.STOP =  [W]
  DPT {b} BidCos-RF.OEQ0334609:1.INHIBIT = false [RWE]
  DPT {f} BidCos-RF.OEQ0334609:1.LEVEL_SLATS = 0.000000 [RWE]
  DPT {s} BidCos-RF.OEQ0334609:1.LEVEL_COMBINED =  [W]
  DPT {i} BidCos-RF.OEQ0334609:1.DIRECTION = 0 [RE]
  DPT {i} BidCos-RF.OEQ0334609:1.DIRECTION_SLATS = 0 [RE]
  DPT {b} BidCos-RF.OEQ0334609:1.INSTALL_TEST =  [W]
  DPT {b} BidCos-RF.OEQ0334609:1.WORKING = false [RE]
  DPT {b} BidCos-RF.OEQ0334609:1.WORKING_SLATS = false [RE]


Den Link habe ich mir angesehen. Vielen Dank dafür. Ich verstehe einige Sachen nicht. Bei Punkt 5 sagt das Bauchgefühl "HMCCUDEV". Für den folgenden Rest muss ich erstmal Grundlagenwissen aufbauen.

Viele Grüße  :)

zap

#3
Zitat von: daelch am 15 Februar 2018, 21:57:21
Den Link habe ich mir angesehen. Vielen Dank dafür. Ich verstehe einige Sachen nicht. Bei Punkt 5 sagt das Bauchgefühl "HMCCUDEV". Für den folgenden Rest muss ich erstmal Grundlagenwissen aufbauen.

Nein, eigentlich genügt HMCCUCHN, da das Device nur einen Kanal hat (Kanal 0 ist standard und wird auch bei HMCCUCHN immer mit abgebildet).

Mit folgenden Attributen solltest Du schon mal was anfangen können. Ich habe jetzt mal HMCCUCHN verwendet mit Kanal 1 (dem könntest Du noch einen sprechenderen Namen geben in der CCU. Nach dem Umbenennen in der CCU in FHEM "get devicelist" nicht vergessen).


define myBlind HMCCUCHN OEQ0334609:1
attr myBlind ccureadingfilter (LEVEL|DIRECTION)
attr myBlind ccureadingname LEVEL:+pct
attr myBlind ccuscaleval LEVEL:0:1:0:100,LEVEL_SLATS:0:1:0:100
attr myBlind cmdIcon up:fts_shutter_up stop:fts_shutter_manual down:fts_shutter_down
attr myBlind controldatapoint LEVEL
attr myBlind eventMap /datapoint STOP 1:stop/datapoint LEVEL 0:down/datapoint LEVEL 100:up/
attr myBlind statedatapoint LEVEL
attr myBlind stripnumber 1
attr myBlind substexcl control|pct
attr myBlind substitute LEVEL,LEVEL_SLATS!#0-0:closed,#100-100:open
attr myBlind webCmd up:down:stop:control
attr myBlind widgetOverride control:slider,0,10,100


Für den Stellwinkel der Jalousien kannst Du erst mal den Datenpunkt direkt setzen, z.B

set myBlind datapoint LEVEL_SLATS 50


Oder Du baust Dir dafür einen eigenen Befehl/Slider mit eventMap und webCmd/widgetOverride
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

daelch

Hallo zap,

zunächst mal: WOW.

Vielen Dank, dass Du Dir so viel Zeit genommen hast um alles zu erklären und eine Anleitung zu liefern. Dies hat auch wunderbar geklappt.

Ich hänge nun noch an einem Punkt:es gibt bei diesem Aktor einen Befehl, bei dem Behanghöhe und Stellung der Lamellen in einem Kommando übergeben wurden. Über den HMLAN war das Kommando "set myblind pctLvlSlat 0 50" (Jalousien runtergefahren, aber Lamellen um 50% gedreht).
Nach meinen Recherche müsste dies der Datenpunkt "LEVEL_COMBINED" sein. Ich habe nun einiges mit den Attributen probiert und versucht, aus Deinem Beispiel LEVEL und LEVEL_SLATS die richtigen Attribute für LEVEL_COMBINED abzuleiten, was mir aber nicht gelungen ist.
Funktioniert nicht:
ZitateventMap          /datapoint STOP 1:stop/datapoint LEVEL 0:down/datapoint LEVEL 100:up/datapoint LEVEL_COMBINED 0 40:Sichtschutz/
Die Fehlermeldung lautet beim Ausführen: "HMCCUCHN: myblind Usage: set myblind datapoint {datapoint} {value} [...]"
Vielleicht ist auch nur das Format der Values ("0 40") nicht korrekt. In einem anderen Forum zum ioBroker habe ich den LEVEL_COMBINED Befehl in Zusammenhab mit einem Hex Code gesehen. Das ist aber erstmal nur Spekulation.

Mein Ziel ist, bei den webCmd die Kommandos zu haben: Auf, Zu, Sichtschutz (Lamellen 40 Prozent gedrecht), Lichtschutz (Lamellen 100 Prozent gedreht).
Das sah unter HMLAN noch so aus:
eventmap      /on:Auf/off:Zu/pctLvlSlat 0 40:Sichtschutz/pctLvlSlat 0 100:Lamellen offen/

Hast Du einen Tipp für mich, wie ich das Vorhaben umsetzen kann?

Vielen Dank für Deine umfangreiche Hilfe! :)

zap

#5
Leider ist der Aktor bei EQ-3 nicht dokumentiert. Aber ich schau mal nach, wie das in CUL_HM umgesetzt ist.

Aber versuche es doch mal ohne LEVEL_COMBINED:


set myBlind datapoint LEVEL 0 LEVEL_SLATS 50


Du kannst bei set datapoint mehrere Paare von Datenpunkten/Werte angeben.

Der Eventmap Teil wäre dann

/datapoint LEVEL 0 LEVEL_SLATS 40:sichtschutz/

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

zap

#6
Das was ich oben geschrieben habe mit der Kombination der Datenpunkte wird vermutlich nicht funktionieren, da der Aktor den Slat Befehl erst akzeptiert, wenn die Jalousie ihre Zielposition erriecht hat, also der level Befehl ausgeführt wurde.

Bei LEVEL_COMBINED müssen 2 Hex Werte übergeben werden. Der erste Wert ist Level in % multipliziert mit 2, der zweite Wert ist LevelSlats ebenfalls multipliziert mit 2. nur das Format ist mir noch nicht klar, da musst du mal ein bisschen rumprobieren, für 0 40 zB

40*2 = 80 = hex 50

0050
00,50
0x000x50
0x00,0x50

Am besten schließt du den Parameter in doppelte Hochkomma ein, wegen dem Komma. Also zB

set myBlind datapoint LEVEL_COMBINED ,,0050"

Sag Bescheid welche Variante funktioniert, dann überlege ich mir eine komfortablere Eingabemöglichkeit
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

daelch

#7
Juhuuu. Vielen Dank, zap. :) :) :)

Mit folgenden Attributen klappt es nun:

define myBlind HMCCUCHN OEQ0334609:1
attr myBlind ccureadingfilter (LEVEL|DIRECTION)
attr myBlind ccureadingname LEVEL:+pct
attr myBlind ccuscaleval LEVEL:0:1:0:100,LEVEL_SLATS:0:1:0:100
attr myBlind cmdIcon up:fts_shutter_up stop:fts_shutter_manual down:fts_shutter_down
attr myBlind controldatapoint LEVEL
attr myBlind eventMap /datapoint STOP 1:stop/datapoint LEVEL 0:down/datapoint LEVEL 100:up/datapoint LEVEL_COMBINED "0x00,0x50":Sichtschutz/datapoint LEVEL_COMBINED "0x00,0xC8":Lichtschutz/
attr myBlind statedatapoint LEVEL
attr myBlind stripnumber 1
attr myBlind substexcl control|pct
attr myBlind substitute LEVEL,LEVEL_SLATS!#0-0:closed,#100-100:open
attr myBlind webCmd up:down:stop:Sichtschutz:Lichtschutz
attr myBlind widgetOverride control:slider,0,10,100


Der Datentyp für LEVEL_COMBINED ist String und muss - wie Du gesagt hast - in Anführungszeichen gesetzt werden (dabei darauf achten, dass das erste Anführungszeichen nicht tiefgestellt ist).

Hier einige Hex-Werte:

Behanghöhe oder Lamellenstellung in % vs. Hex:

0%  --- 0x00
10% --- 0x14
20% --- 0x28
30% --- 0x3C
40% --- 0x50
50% --- 0x64
60% --- 0x78
70% --- 0x8C
80% --- 0xA0
90% --- 0xB4
100% --- 0xC8

Somit funktioniert der direkte Befehl für Jalousien unten (0%) und Lamellen zu 40% gekippt:
set myBlind datapoint LEVEL_COMBINED "0x00,0x50"

Also für mich alles bestens. Siehe Anhang.

Frage: Ich habe noch 18 Jalousieaktoren einzubinden. Kann ich diese Attribute irgendwie als Default-Werte für alle zukünftigen Jalousieaktoren hinterlegen? EDIT2: Hier scheint es die Lösung auf meine Frage zu geben: https://wiki.fhem.de/wiki/HMCCU#Verwaltung_von_Default_Attributen
Ich werde mir das ansehen und dann Feedback geben. :)

EDIT: noch eine Frage zu einem anderen Aktor mit einer ähnlichen Problematik: der Allerweltsaktor HM-LC-Sw1-FM (Funkschaltaktor) zeigt auch nur "Initialized". Der dürfte doch bei nahezu jedem User im Bestand vorkommen? Be dem hätte ich gedacht, dass hier schon defaults gesetzt sind (es gibt ja nur an/aus). Oder habe ich beim Einbinden etwas falsch gemacht?

Vielen Dank für Deine Unterstützung! :)

zap

#8
Sorry für die Anführungszeichen unten. Macht mein iPad seit dem letzten IOS Update. Muss ich mal deaktiviren.

Für die anderen Jalousienaktoren:

Einfach das erste Device per FHEM copy Befehl klonen. Dann im Klon modify anklicken und die Kanaladresse beim DEF auf die des neuen Aktors ändern. Das ist viel einfacher als mit den Default Attributen.

Von den HM-Sw1 hab ich jede Menge in der HMCCUConf.pm drin, nur nicht deinen. Nehm ich mal noch auf.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

daelch

#9
Vielen Dank für Deine schnelle Antwort.

Der Copy Befehl funktioniert bestens, Danke.

Noch eine Sache: der Status der Jalousien ändert sich nicht, egal in welcher Stellung die Jalousien sind (unten/mittendrin/oben). Es steht "closed" oder "Initialized" bei der kopierten Device.

EDIT: ich sehe gerade, dass alle HMCCUCHN und HMCCUDEV Geräte keinen Status kriegen. Ich kann zwar alles bedienen, aber es kommt keine Rückmeldung. Ein Dimmer steht ist aus, steht aber im Slider auf 100 Prozent. Wenn ich ihn auf 0 schiebe und den Fully Browser neu starte, steht der Dimmer wieder auf 100 (Licht ist aus). Nach Neustart von CCU2 und FHEM wieder alles gut. Schluckauf! :)

Viele Grüße

zap

Wenn Du HMCCUCHN verwendest, müssten die Defaults für HM-LC-Sw1-FM eigentlich vorhanden sein. Bei den n-Fach Schaltern macht HMCCUDEV eigentlich keinen Sinn, da HMCCU nicht weiß. welchen der n identischen Kanäle es ansprechen soll.
Ausnahme sind die 1-fach Schalter. Beim nächsten Update werde ich HM-LC-Sw1-FM auch für HMCCUDEV berücksichtigen. Bis dahin musst Du Dir mit HMCCUCHN behelfen.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

daelch

Hallo zap,

nochmals: vielen Dank für Deine große Hilfe! :)

Viele Grüße
Christoph

daelch

Hallo zap,

gab es zwischenzeitlich schon ein Update? Falls ja, was muss ich tun, um den Aktoren die Defaultwerte zuzuweisen?

Vielen Dank und viele Grüße  :)

zap

Ich habe das Update von HMCCUConf.pm gerade eingecheckt. Enthält jetzt die Defaults für HM-LC-Sw1-FM (HMCCUDEV).

Nach dem FHEM Update (morgen) kannst Du die Default Attribute mit "set defaults" übernehmen.

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

daelch

Das hat wunderbar funktioniert. Vielen Dank.

Für Deine nächstest Update: die Attribute habe ich auch beim Hutschienenaktor HM-LC-Sw1-DR manuell gesetzt. Hat ebenfalls gut funktioniert.