[gelöst] HM-LC-Bl1PBU-FM bei langem Tastendruck bestimmte Position anfahren

Begonnen von dbox2user, 12 Oktober 2016, 20:43:23

Vorheriges Thema - Nächstes Thema

dbox2user

Hi Leute!
Was das Thema Homematic angeht bin ich gerade noch am Anfang beim Lernen ... ;)
Bisher habe ich einen Max Cube zum Cuno/CUL umgeflasht. Darüber "funke" ich nun zu Homematic.
Das ganze läuft auch über eine virtuelle CCU  (VCCU).

Den Rolladenaktor HM-LC-Bl1PBU-FM mit integrierten Tastern habe ich mit der VCCU gepairt und kann ihn problemlos aus Fhem ansteuern bzw bekomme alle Rückmeldungen. Per Fhem kann ich auch vorgeben " Fahre auf die Position 60%".
Nun würde ich das gerne per Tastendruck am Gerät selbst auch machen....
...um die Sonneneintrahlung und damit das Aufheizen des Raumes zu verhindern, soll das Rollo bei einem langen Tastendruck des HM-LC-Bl1PBU-FM auf 60% fahren.
Bei einem kurzen Tastendruck soll ganz normal die jeweilige Endlage angefahren werden.

Kann ich das irgendwie einstellen???

Über das Attribut "expert    1_allReg" sehe ich bereits eine lange Liste mit den den Registerinhalten.
Über deren Funktionen kann ich leider nur spekulieren. :o

Im Forum habe ich leider nur die Info gefunden, wie man die Unterscheidung von langen und kurzen Tastendruck vertauschen kann.
https://forum.fhem.de/index.php?topic=34575.0

Wäre super wenn jemand helfen kann!
Danke schonmal!

Gruß,
Christian
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

dbox2user

Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

martinp876


dbox2user

Hallo Martin!
Ich habe mal testweise:set HM_29CFE2 regSet lgOnLevel 60 self01
und
set HM_29CFE2 regSet lgOnLevel 60 self02

eingegeben, in der Hoffnung dass beim langen drücken der Rollo auf 60% fährt und dann stoppt.

In den Readings hat das Gerät die 60% übernommen.
Die Funktion hat sich leider nicht geändert.... das Rollo fährt solange, wie ich die Taste gedrückt halte und stoppt sobald ich loslasse. :-[

Noch eine Idee??? ::)
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

dbox2user

Anbei noch eine Liste mit den vorhandenen Readings.
Vielleicht bekommt einer eine Idee wenn er die Readings sieht.
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

dbox2user

Hallo Ihr HomeMatic´ler!

Ich möchte dieses Thema nochmal hochholen, in der Hoffnung dass vielleicht mittlerweile jemand eine Idee hat.  :)
Wie geschrieben, ich möchte eigentlich "nur", dass mein Rollo bei kurzem Tastendruck in Endlage fährt (das tut er bereits standartmäßig) und bei langem Tastendruck soll er die Position 60% anfahren.

Ist das wirklich nicht möglich?  :o

Gruß,
Christian
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

MasterCom

Hallo,
ich habe genau das gleiche Problem und würde mich um eine Lösung freuen.

Otto123

Zitat von: dbox2user am 13 Mai 2017, 22:05:33
Ist das wirklich nicht möglich?  :o
Hi Christian,

meine erste antwort wäre: das ist mit dem Standard ( also ohne Modifikation des Gerätes) nicht möglich.
Mit einem separaten Taster ginge das einfach.

Allerdings bin ich über die Registerprogrammierung zu unwissend, kann sein, dass damit doch was geht. Dazu müsste dann nach  meiner Überlegung nicht nur lgOnLevel gesetzt werden sondern auch die Standardreaktion (langer Tastendruck fährt solange wie gedrückt) abgeschaltet und auf lgOnLevel "umgelenkt" werden - Stichwort Statemachine.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

dbox2user

Hallo Otto,

danke schonmal dass Du überhaupt eine Antwort geschrieben hast!  :)
Bisher hatten nicht sehr viele eine Idee , wie man das Problem lösen kann.
Achja ... und noch ein großes Lob für Deine tollen Blog mit den ganzen Anleitungen!  :)

Dass die Grundfunktion (Taster fährt so lange wie gedrückt) erstmal raus muss klingt einleuchtend.
Da werde ich noch etwas herumprobieren.

Leider habe ich mit Homematic und dessen Registern noch nicht viel Ahnung... habe produktiv bisher gar kein Homematic im Einsatz.
Habe bisher nur zum "Herumspielen" einen umgeflashten Cube als CUL, einen Heizkörperthermostat und diesen Rolladenschalter.
Wobei der Rolladenschalter sofort eingebaut werden würde, wenn ich das mit dem Zielposition anfahren hinbekommen würde.  :)

@ MasterCom: "Schön" , dass es noch weitere Leidensgenossen gibt.  ;)


Gruß,
Christian
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

rvideobaer

Hallo,

und wenn Du mal versuchst "lgOnDly" auf eine größere Zeit als 0 s einzustellen. Ich weis ja jetzt nicht wie lange dein Rollo läuft aber bei mir sind es etwas über 30 s  also denke ich müssten es vielleicht 20 s sein?

Gruß Rolf
Raspberry Pi 2, HM-Uart,1x HM-LC-Sw1PBU-FM, 1x HM-RC-2-PBU-FM,1x HM-LC-SW4-DR,1x HM-LC-Sw1-Pl-DN-R1,1x HM-TC-IT-WM-W-EU, 5x HM-CC-RT-DN und noch mehr

Pfriemler

Spannende Sache ...
Klar: Extra Taster, Notify/Doif, pct setzen, fertich. Aber Register?
Also ich habe jetzt mal die Register durchsucht zur Frage "Betriebsmodus bei langem Tastendruck" ... ich habe das Teil seit drei Tagen im Produktiveinsatz für eine Markise und kann daher nicht wirklich mitreden. Trotzdem nur als Idee ...
lgMultiExec von "on" auf "off" - möglich dass das die Statemachine beeinflusst und so ein langer Tastendruck nur als einmaliger Trigger interpretiert wird, wie bei Schaltern. Allerdings ist das bei denen auch "on".
"lgOnDelay" würde ich als Verzögerung bezüglich einer Reaktion auf langen Trigger interpretieren, d.h. der Rolladen fährt erst nach x Wartezeit tatsächlich los. Bei Rolläden macht das irgendwie wenig Sinn ...
Manipulationen bezüglich "driveUp" und driveDown" beziehen sich ja auf den Aktor als ganzes.
Aber die Idee mit lgOnLevel klingt dennoch plausibel. Beim internen Taster sind die Richtungen ja bereits "entzerrt".
Aber die Idee insgesamt interessiert mich auch, stay tuned :-)
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

martinp876

Klar. Multiexec Off. Long soll nur als ein Kommando erkannt werden.
Dann über die statemachine festlegen, was gemacht werden soll. Auf oder zu. Und die Endstellung. Eigentlich kannst du die Register des short kopieren und den Endwert einstellen.
Tip (auch wenn ich nerve) erstellen aus den short ein template. Setze den Endwert als Parameter und los geht's. Wende das template auf short mit 100% an und auf Long mit 50%. Sollte bedienerfreundlich sein.

pwlr

Moin,

ich habe etwas Ähnliches mit einem externen Device als Taster in Betrieb, allerdings mit einem HM-LC-BL1-FM. Ich glaube aber, dass der Unterschied zum HM-LC-Bl1PBU-FM nur in Bezug auf die eingebauten Tasten besteht.

Also, für den Taster den Du nutzen willlst (self01 oder self02) :

lgMultiExec off
lgOnLevel 60  (für 60% -> Fahrtrichtung 1)
lgOffLevel 60 (für 60% -> Fahrtrichtung 2)

Das mit der Fahrtrichtung (hoch oder runter) und den Schaltern self01 und self02 ist tricki, weil es von Deiner Verkabelung und der Einbaulage des Schalters abhängt. Eventuell musst Du den Level auch auf 40% setzen. Ist alles sehr individuell !

Und dann gibt es noch ein kleines Problem, die Level lassen sich nicht wieder auf 100 setzen, sondern nur max auf 99. Da scheint mir ein Fehler im fhem zu sein. Ein Rücksetzen ist dann nur noch über ein Reset des Devices möglich (vielleicht ist dieser Fehler inzwischen auch weg, habe ich lange nicht mehr probiert...)

Viel Erfolg !

Bernd

dbox2user

#13
Hey,
Danke für die vielen Antworten!  :)

Ich habe jetzt mal vieles herum probiert und grundsätzlich funktioniert das schonmal!  ;D
Mein Testaufbau ist so, dass die Endlagen jeweils nach 10 Sekunden anfahren sind.
(Also driveDown & Up jeweils 10 Sekunden)


Taster 1:
set HM_29CFE2 regSet lgMultiExec off self01 Damit grundsätzlich die Unterscheidung zwischen lang und kurz funktioniert;
set HM_29CFE2 regSet lgMaxTimeF 8 self01 Bei langem Tastendruck fährt der Motor MAXIMAL für 8 Sekunden
set HM_29CFE2 regSet lgOnTime unused self01
set HM_29CFE2 regSet lgOnLevel 50 self01 Motor fährt auf Position 50% --geht aber nicht--


Taster 2:
set HM_29CFE2 regSet lgMultiExec off self02 Damit grundsätzlich die Unterscheidung zwischen lang und kurz funktioniert;
set HM_29CFE2 regSet lgMaxTimeF 8 self02 Bei langem Tastendruck fährt der Motor MAXIMAL für 8 Sekunden
set HM_29CFE2 regSet lgOnTime unused self02
set HM_29CFE2 regSet lgOnLevel 60 self02 Motor fährt auf Position 60% --> fährt aber 40% an. (100%-60% = 40%)



Komisch ist nur, dass beim Taster "self01"  nicht die 50% angefahren werden, sondern der Motor erst nach den 8 Sekunden anhält.  :o
Notfalls kann ich damit leben und setze einfach die maximale Fahrzeit auf die Fahrzeit zu dem gewünschten Punkt... aber merkwürdig ist das schon, da es beim "self02" sauber funktioniert.

Gruß,
Christian

:D  :D  :D
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

Pfriemler

1. zu den Prozenten: Hast Du evtl. "attr ... param levelInverse" in FHEM gesetzt? Dann interpretiert FHEM den Aktor stets mit 100%= ausgefahren und 0% = eingefahren - default ist es umgekehrt.  Ich habe das z.B. bei mir gesetzt, damit es kompatibel zu den Rademacher-Rolläden ist (und vielen anderen). Mit meiner Displayfernbedienung (HM-RC-Dis-H-x-EU) sehe ich die Pegel dann auch "verkehrtrum" (rsp. original). Das könnte auch eine mögliche Erklärung für die Differenz 60-40 sein.

2. self01 ist doch unten, resp. normalerweise aus. Probiere doch mal stattdessen lgOffLevel:
set HM_29CFE2 regSet lgOffLevel 50 self01
Das ist auch genau das was User pwlr alias Bernd meint.

MaxTimeF kannte ich noch nicht, danke für den Tipp.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."