Hallo,
ich habe meine Markise mit dem Rollladen-Aktor HM-LC-Bl1PBU-FM angesteuert.
(Rollladen-Aktor mit Taster)
Funktioniert alles soweit.
Ich habe noch die Laufzeiten angepasst mit
set SW_Markise regSet driveDown 35
set SW_Markise regSet driveUp 36
set SW_Markise regSet driveTurn 2
jetzt das Problem:
Die Markise ist 25% ausgefahren und ich gebe über das Webinteface den Befehl 0% anzusteuern, läuft der Motor wie gewünscht los.
Ich will (warum auch immer) den Motor vom Schalter aus stoppen und betätige den Schalter Richtung 100%.
Jetzt stoppt der Motor wie gewünscht. Nach 2 Sekunden läüft der Motor auf 100% - stoppt für einige Sekunden - und läuft wieder auch 0%. Das ist jetzt nicht mehr was ich will...
Gibt es da einen Trick/Workaround ?
Die Logs für den Aktor:
2014-03-31 20:07:45.040 CUL_HM SW_Markise set_0%
2014-03-31 20:07:45.310 CUL_HM SW_Markise level: 25 %
2014-03-31 20:07:45.310 CUL_HM SW_Markise pct: 25
2014-03-31 20:07:45.310 CUL_HM SW_Markise deviceMsg: 25 % (to HMLAN1)
2014-03-31 20:07:45.310 CUL_HM SW_Markise 25 %
2014-03-31 20:07:45.310 CUL_HM SW_Markise timedOn: 0%
2014-03-31 20:07:45.310 CUL_HM SW_Markise motor: down:25 %
2014-03-31 20:07:58.053 CUL_HM SW_Markise level: 40 %
2014-03-31 20:07:58.053 CUL_HM SW_Markise pct: 40
2014-03-31 20:07:58.053 CUL_HM SW_Markise deviceMsg: 40 % (to HMLAN1)
2014-03-31 20:07:58.053 CUL_HM SW_Markise 40 %
2014-03-31 20:07:58.053 CUL_HM SW_Markise timedOn: 0%
2014-03-31 20:07:58.053 CUL_HM SW_Markise motor: up:40 %
2014-03-31 20:08:33.819 CUL_HM SW_Markise level: 100 %
2014-03-31 20:08:33.819 CUL_HM SW_Markise pct: 100
2014-03-31 20:08:33.819 CUL_HM SW_Markise deviceMsg: 100% (to HMLAN1)
2014-03-31 20:08:33.819 CUL_HM SW_Markise 100%
2014-03-31 20:08:33.819 CUL_HM SW_Markise timedOn: 0%
2014-03-31 20:08:33.819 CUL_HM SW_Markise motor: stop:100%
2014-03-31 20:08:34.247 CUL_HM SW_Markise level: 100 %
2014-03-31 20:08:34.247 CUL_HM SW_Markise pct: 100
2014-03-31 20:08:34.247 CUL_HM SW_Markise deviceMsg: 100% (to HMLAN1)
2014-03-31 20:08:34.247 CUL_HM SW_Markise 100%
2014-03-31 20:08:34.247 CUL_HM SW_Markise timedOn: 0%
2014-03-31 20:08:34.247 CUL_HM SW_Markise motor: down:100%
2014-03-31 20:09:23.357 CUL_HM SW_Markise level: 0 %
2014-03-31 20:09:23.357 CUL_HM SW_Markise pct: 0
2014-03-31 20:09:23.357 CUL_HM SW_Markise deviceMsg: 0% (to HMLAN1)
2014-03-31 20:09:23.357 CUL_HM SW_Markise 0%
2014-03-31 20:09:23.357 CUL_HM SW_Markise timedOn: 0%
2014-03-31 20:09:23.357 CUL_HM SW_Markise motor: stop:0%
FHEM-Log:
2014.03.31 20:07:45.052 2: CUL_HM set SW_Markise off
2014.03.31 20:07:45.055 0: HMLAN_Send: HMLAN1 S:S19535EE3 stat: 00 t:00000000 d:01 r:19535EE3 m:16 A011 706958 20B10D 0201000000
2014.03.31 20:07:45.213 0: HMLAN_Parse: HMLAN1 R:R19535EE3 stat:0001 t:F21B4EA3 d:FF r:FFC4 m:16 8002 20B10D 706958 010132203E
2014.03.31 20:07:57.958 0: HMLAN_Parse: HMLAN1 R:E20B10D stat:0000 t:F21B8068 d:FF r:FFC3 m:18 A410 20B10D 706958 06015010
2014.03.31 20:08:26.591 0: HMLAN_Parse: HMLAN1 R:E24AF20 stat:0000 t:F21BF045 d:FF r:FFA2 m:1E 845E 24AF20 000000 80FF4C000006001208F8FE
2014.03.31 20:08:33.634 0: HMLAN_Parse: HMLAN1 R:E20B10D stat:0000 t:F21C0BCA d:FF r:FFC3 m:19 A410 20B10D 706958 0601C800
2014.03.31 20:08:33.643 3: CUL_HM SW_Markise repeat, level C8 instead of 00
2014.03.31 20:08:33.730 0: HMLAN_Send: HMLAN1 S:S19541CB2 stat: 00 t:00000000 d:01 r:19541CB2 m:17 A011 706958 20B10D 0201000000
2014.03.31 20:08:34.152 0: HMLAN_Parse: HMLAN1 R:R19541CB2 stat:0001 t:F21C0DD5 d:FF r:FFC3 m:17 8002 20B10D 706958 0101C8203E
2014.03.31 20:09:23.262 0: HMLAN_Parse: HMLAN1 R:E20B10D stat:0000 t:F21CCDAD d:FF r:FFC3 m:18 A410 20B10D 706958 06010000
2014.03.31 20:11:02.090 0: HMLAN_Parse: HMLAN1 R:E24AF20 stat:0000 t:F21E4FC7 d:FF r:FFA1 m:1F 845E 24AF20 000000 80FF4C000005001308FDFD
2014.03.31 20:12:15.282 0: HMLAN_Parse: HMLAN1 R:E20FEFE stat:0000 t:F21F6DB9 d:FF r:FFCF m:15 8410 20FEFE 000000 06010000
2014.03.31 20:13:23.091 0: HMLAN_Parse: HMLAN1 R:E24AF20 stat:0000 t:F22076A4 d:FF r:FFA3 m:20 845E 24AF20 000000 80FF4C000005001308F6FE
hm... - Problem ist mir klar.
ich muss einmal darüber nachdenken.
Grund ist, dass manchmal ein Rollo nach einem Kommando 0% nicht fährt. Es meldet "ok, 30%". Daher wiederholt FHEM.
Sollt ein Trigger kommen, der die Fahrt stoppt passiert dies nicht (kein Wiederholer).
Nun gibt es von eingebauten Schalter aber keinen "sichtbaren" Triggern, auf den FHEM reagieren könnte.... leider.
Gruss Martin
probiere einmal Version 5385 - sollte funktioniren, ausser du drückst sehr schnell auf Stop
Version 5385 von was ?
"schnell" ist relativ - ich benötige ca 5 Sekunden zw Kommando auf dem Webinterface und drücken des Schalters.
Wenn ich den Taster bediene kommt nach dem Stop des Modors mit einigen Sekunden Verzögerung sowas:
2014-04-01 17:24:43 CUL_HM SW_Markise level: 32 %
2014-04-01 17:24:43 CUL_HM SW_Markise pct: 32
2014-04-01 17:24:43 CUL_HM SW_Markise deviceMsg: 32 % (to HMLAN1)
2014-04-01 17:24:43 CUL_HM SW_Markise 32 %
2014-04-01 17:24:43 CUL_HM SW_Markise timedOn: 0%
2014-04-01 17:24:43 CUL_HM SW_Markise motor: stop:32 %
vielleicht verwirrt das den FHEM
Sollte morgen im Update sein.
mit "version " kannst du die Versionen sehen.
5sec sollten reichen. Ich sehe, dass das Device so nach 0.5s reagiert.
Zitat von: martinp876 am 01 April 2014, 17:50:04
mit "version " kannst du die Versionen sehen.
schon klar - ich nehme an "10_CUL_HM.pm"
ich probiere es morgen auf jeden Fall aus
ist zwar etwas anders - aber noch nicht OK
was auffällt ist: Der Aktor schick ca 12 Sekunden nachdem der Motor stoppt einen Status. Egal ob über web oder Taster gesteuert wurde.
z.B.:
CUL_HM SW_Markise level: 100
CUL_HM SW_Markise pct: 100
CUL_HM SW_Markise deviceMsg: 100% (to HMLAN1)
CUL_HM SW_Markise 100%
CUL_HM SW_Markise timedOn: 0%
CUL_HM SW_Markise motor: stop:100%
ich habe etwas abweichendes Verhalten je nach Laufrichtung, die ich stoppen will.
Test1:
Markise steht bei 75%, ich gebe über Web den Befehl 100%
CUL_HM SW_Markise set_100%
CUL_HM SW_Markise level: 75.5
CUL_HM SW_Markise pct: 75.5
CUL_HM SW_Markise deviceMsg: 75.5 (to HMLAN1)
CUL_HM SW_Markise 75.5
CUL_HM SW_Markise timedOn: 0%
CUL_HM SW_Markise motor: up:75.5
nach 3 Sekunden stoppe mit dem Taster und der Motor stoppt
nach die 12 Sek läuft der Motor bis 100% und ich sehe:
CUL_HM SW_Markise level: 84.5
CUL_HM SW_Markise pct: 84.5
CUL_HM SW_Markise deviceMsg: 84.5 (to HMLAN1)
CUL_HM SW_Markise 84.5
CUL_HM SW_Markise timedOn: 0%
CUL_HM SW_Markise motor: stop:84.5
CUL_HM SW_Markise level: 84.5
CUL_HM SW_Markise pct: 84.5
CUL_HM SW_Markise deviceMsg: 84.5 (to HMLAN1)
CUL_HM SW_Markise 84.5
CUL_HM SW_Markise timedOn: 0%
CUL_HM SW_Markise motor: up:84.5
nach meinem Verständnis sagt ihm aber keiner was von 100%
Test 2:
Markise steht bei 66%, ich gebe über Web den Befehl 75%:
CUL_HM SW_Markise level: set_75
CUL_HM SW_Markise set_75
CUL_HM SW_Markise level: 66
CUL_HM SW_Markise pct: 66
CUL_HM SW_Markise deviceMsg: 66 (to HMLAN1)
CUL_HM SW_Markise 66
CUL_HM SW_Markise timedOn: 0%
CUL_HM SW_Markise motor: up:66
ich stoppe mit Taster, der Motor stoppt und nach 12 Sek sehe ich
CUL_HM SW_Markise level: 73
CUL_HM SW_Markise pct: 73
CUL_HM SW_Markise deviceMsg: 73 (to HMLAN1)
CUL_HM SW_Markise 73
CUL_HM SW_Markise timedOn: 0%
CUL_HM SW_Markise motor: stop:73
aber der Motor bleibt stehen - keine weiteren Meldungen
Test 3:
Markise steht bei 75%, ich gebe über Web den Befehl 25%: (Markise soll also diemal hoch fahren)
CUL_HM SW_Markise level: set_25
CUL_HM SW_Markise set_25
CUL_HM SW_Markise level: 75
CUL_HM SW_Markise pct: 75
CUL_HM SW_Markise deviceMsg: 75 (to HMLAN1)
CUL_HM SW_Markise 75
CUL_HM SW_Markise timedOn: 0%
CUL_HM SW_Markise motor: down:75
nach stoppen über Taster fährt der Motor SOFORT Richtung 100%
gibt nach 12 Sek einen Zwischenstatus:
CUL_HM SW_Markise level: 60.5
CUL_HM SW_Markise pct: 60.5
CUL_HM SW_Markise deviceMsg: 60.5 (to HMLAN1)
CUL_HM SW_Markise 60.5
CUL_HM SW_Markise timedOn: 0%
CUL_HM SW_Markise motor: up:60.5
12 Sek nach stopp bei 100%:
CUL_HM SW_Markise level: 100
CUL_HM SW_Markise pct: 100
CUL_HM SW_Markise deviceMsg: 100% (to HMLAN1)
CUL_HM SW_Markise 100%
CUL_HM SW_Markise timedOn: 0%
CUL_HM SW_Markise motor: stop:100%
ich hatte schon die Idee ein NOTIFY auf "SW_Markise motor: stop:" zu setzen und damit noch mal ein "stop" zu schicken.
leider schickt der Aktor nach dem stop-Befehl eine Bestätigung:
CUL_HM SW_Markise set_stop
CUL_HM SW_Markise level: 100
CUL_HM SW_Markise pct: 100
CUL_HM SW_Markise deviceMsg: 100% (to HMLAN1)
CUL_HM SW_Markise 100%
CUL_HM SW_Markise timedOn: 0%
CUL_HM SW_Markise motor: stop:100%
damit hätte ich eine Endlosschleife....
hi,
ich habe es gerade einmal probiert... und kann es nicht nachvollziehen.
Natürlich kannst du so ein Verhalten in deinem Rollo intern programmiert haben....
Also mache doch einmal einen deine teste und zeichne die Rohmessages auf - damit ich sehen kann, wer was sendet.
Gruss Martin
Hallo Martin,
bin erst jetzt wieder dazu gekommen zu testen.....
Ich glaube das Problem ist an anderer Stelle zu suchen.
Da ich zu faul war zwischen PC und Markisenschalter hin und her zu rennen und mein Tablet leer war, habe ich "set SW_Markise 100%" auf meinen 12-Tasten-Sender gelegt.
Damit tritt das Problem NICHT auf !
Auf meinem Webinterface habe ich diese Einstellungen für den Markisenschalter:
attr SW_Markise webCmd stop:0%:25%:50%:75%:100%:stop
und dabei tritt das Problem nur auf, wenn ich 100% klicke. Bei 50 u 75% ist alles OK.
Dass der Motor bei Laufrichtung x% > 0% sofort die Laufrichung ändert, scheint am Aktor zu liegen.
Ich habe mal zw. Starten des Motors via Web und stoppen via Taster mein HMLAN abgeschaltet und das Phenomen tritt trotzdem auf. Ebenfalls beim Starten des Motors über 12-Tasten-Sender.
Wenn Du willst, ziehe ich Dir trotzdem die Logs
Ulf
Also, dass ich es verstanden habe:
wenn du vom Web 100% setzt, die Markise fährt, HMLAN wird abgetrennt, RC12 sendet stop => Rollo stoppt, Rollo fährt weiter
korrekt verstanden?
Dann scheint es an der Programmierung IM BL-Aktor zu liegen...
kannst du
- intKeysVisib = visib setzen
- alle Register posten (z.B. mit set hm -f SW_Markise Register)
Mal sehen, ob was zu sehen ist.
Gruss Martin
Zitat von: martinp876 am 06 April 2014, 09:44:42
korrekt verstanden?
ich glaube nicht...
- Wenn ich vom RC12 aus 100% setze, am Taster des Aktors stoppe, dann ist alles OK
- Wenn ich vom Web 100% setze, am Taster des Aktors stoppe, dann Fährt die Markise nach einiger Zeit weiter
- Wenn ich vom Web 100% setze, HMLAN trenne, dann am Taster des Aktors stoppe, dann ist alles OK
sobald ich den HMLAN wieder Stecke fährt die Markise wieder an, ohne dass irgendwas gedrückt wurde.
den Rest liefere ich nach
Zitat- alle Register posten (z.B. mit set hm -f SW_Markise Register)
den Befehl verstehe ich nicht
Hier die Register:
fhem> get SW_Markise reg all
SW_Markise type:blindActuator -
list:peer register :value
0: confBtnTime :255 min
0: intKeyVisib :visib
0: localResDis :off
0: localResDis :off
0: pairCentral :0x706958
1: driveDown :35 s
1: driveTurn :2 s
1: driveUp :36 s
1: refRunCounter :0
1: sign :off
1: statusInfoMinDly :3 s
1: statusInfoMinDly :3 s
1: statusInfoRandom :0 s
1: statusInfoRandom :0 s
1: transmitTryMax :6
1: transmitTryMax :6
3:self01 lgActionType :jmpToTarget
3:self01 lgBlJtDlyOff :refOff
3:self01 lgBlJtDlyOn :dlyOff
3:self01 lgBlJtOff :dlyOff
3:self01 lgBlJtOn :dlyOff
3:self01 lgBlJtRampOff :rampOff
3:self01 lgBlJtRampOn :on
3:self01 lgBlJtRefOff :rampOff
3:self01 lgBlJtRefOn :on
3:self01 lgCtDlyOff :geLo
3:self01 lgCtDlyOn :geLo
3:self01 lgCtOff :geLo
3:self01 lgCtOn :geLo
3:self01 lgCtRampOff :geLo
3:self01 lgCtRampOn :geLo
3:self01 lgCtRefOff :geLo
3:self01 lgCtRefOn :geLo
3:self01 lgCtValHi :100
3:self01 lgCtValLo :50
3:self01 lgDriveMode :direct
3:self01 lgMaxTimeF :0.4 s
3:self01 lgMultiExec :on
3:self01 lgOffDly :0 s
3:self01 lgOffLevel :0 %
3:self01 lgOffTime :111600 s
3:self01 lgOffTimeMode :absolut
3:self01 lgOnDly :0 s
3:self01 lgOnLevel :100 %
3:self01 lgOnTime :111600 s
3:self01 lgOnTimeMode :absolut
3:self01 shActionType :jmpToTarget
3:self01 shBlJtDlyOff :refOff
3:self01 shBlJtDlyOn :dlyOff
3:self01 shBlJtOff :dlyOff
3:self01 shBlJtOn :dlyOff
3:self01 shBlJtRampOff :rampOff
3:self01 shBlJtRampOn :on
3:self01 shBlJtRefOff :rampOff
3:self01 shBlJtRefOn :on
3:self01 shCtDlyOff :geLo
3:self01 shCtDlyOn :geLo
3:self01 shCtOff :geLo
3:self01 shCtOn :geLo
3:self01 shCtRampOff :geLo
3:self01 shCtRampOn :geLo
3:self01 shCtRefOff :geLo
3:self01 shCtRefOn :geLo
3:self01 shCtValHi :100
3:self01 shCtValLo :50
3:self01 shDriveMode :direct
3:self01 shMaxTimeF :25.5 s
3:self01 shOffDly :0 s
3:self01 shOffLevel :0 %
3:self01 shOffTime :111600 s
3:self01 shOffTimeMode :absolut
3:self01 shOnDly :0 s
3:self01 shOnLevel :100 %
3:self01 shOnTime :111600 s
3:self01 shOnTimeMode :absolut
3:self02 lgActionType :jmpToTarget
3:self02 lgBlJtDlyOff :dlyOn
3:self02 lgBlJtDlyOn :refOn
3:self02 lgBlJtOff :dlyOn
3:self02 lgBlJtOn :dlyOn
3:self02 lgBlJtRampOff :off
3:self02 lgBlJtRampOn :rampOn
3:self02 lgBlJtRefOff :off
3:self02 lgBlJtRefOn :rampOn
3:self02 lgCtDlyOff :geLo
3:self02 lgCtDlyOn :geLo
3:self02 lgCtOff :geLo
3:self02 lgCtOn :geLo
3:self02 lgCtRampOff :geLo
3:self02 lgCtRampOn :geLo
3:self02 lgCtRefOff :geLo
3:self02 lgCtRefOn :geLo
3:self02 lgCtValHi :100
3:self02 lgCtValLo :50
3:self02 lgDriveMode :direct
3:self02 lgMaxTimeF :0.4 s
3:self02 lgMultiExec :on
3:self02 lgOffDly :0 s
3:self02 lgOffLevel :0 %
3:self02 lgOffTime :111600 s
3:self02 lgOffTimeMode :absolut
3:self02 lgOnDly :0 s
3:self02 lgOnLevel :100 %
3:self02 lgOnTime :111600 s
3:self02 lgOnTimeMode :absolut
3:self02 shActionType :jmpToTarget
3:self02 shBlJtDlyOff :dlyOn
3:self02 shBlJtDlyOn :refOn
3:self02 shBlJtOff :dlyOn
3:self02 shBlJtOn :dlyOn
3:self02 shBlJtRampOff :off
3:self02 shBlJtRampOn :rampOn
3:self02 shBlJtRefOff :off
3:self02 shBlJtRefOn :rampOn
3:self02 shCtDlyOff :geLo
3:self02 shCtDlyOn :geLo
3:self02 shCtOff :geLo
3:self02 shCtOn :geLo
3:self02 shCtRampOff :geLo
3:self02 shCtRampOn :geLo
3:self02 shCtRefOff :geLo
3:self02 shCtRefOn :geLo
3:self02 shCtValHi :100
3:self02 shCtValLo :50
3:self02 shDriveMode :direct
3:self02 shMaxTimeF :25.5 s
3:self02 shOffDly :0 s
3:self02 shOffLevel :0 %
3:self02 shOffTime :111600 s
3:self02 shOffTimeMode :absolut
3:self02 shOnDly :0 s
3:self02 shOnLevel :100 %
3:self02 shOnTime :111600 s
3:self02 shOnTimeMode :absolut
fhem>
ok, dann hört es sich doch nach einem Problem aus FHEM an.
also zeichne einmal die Rohmessages auf, von dem Fall mit dem Problem
http://www.fhemwiki.de/wiki/Homematic_Nachrichten_sniffen
Gruss Martin
der Fehler ist weg.... :o
das habe ich in der Zwischenzeit gemacht:
1.: Reboot des RPI (ist nicht das erste mal während der Tests - Fehler blieb bisher unverändert)
2.: alle Logs in eine Datei (z.B.: define FileLog_SW_Markise FileLog ./log/fhem-%Y-%m.log SW_Markise)
vorher hatte ich 3 Log-Files (z.B.: ...log/aktoren-%Y...)
testweise wieder auf mehrere Logfile verteilt - Fehler immer noch weg
un' nu' ?
Ich warte bis der Fehler wieder auftritt und melde mich wieder