Rollladenaktor HM-LC-BL1-FM unzuverlässig

Begonnen von Jojo11, 28 August 2013, 19:30:02

Vorheriges Thema - Nächstes Thema

Jojo11

Hallo zusammen,

ich beschäftige mich seit kurzem auch mit fhem - hauptsächlich für eine Rollladensteuerung. An dieser Stelle möchte ich mich erstmal für den hervorragenden support und das Projekt an sich bedanken! Viele Fragen konnte ich durch die Dokumentation und die zahlreichen Beiträge hier schon klären.
Nun aber zu meinem Problem:
Ich verwende 15 HM-LC-BL1-FM Unterputz-Rollladenaktoren und steuere diese mittels sunset/sunrise automatisch an. FHEM läuft bei mir in der aktuellsten Version auf einem Raspberry Pi mit HMLAN. Soweit funktioniert alles bestens. Ab und zu bleibt dabei ein Rolladen unten bzw. oben. Was ich festgestellt habe:

- Es sind so gut wie alle Rollladen betroffen.
- Es scheint nicht auf einen geringen RSSI-Wert zurückzuführen sein. Selbst Aktoren, die sehr nah am HMLAN stehen, sind betroffen.
- Ist ein Rollladen betroffen, zeigt sich ein seltsames Verhalten, welches ich hier in den diversen threads noch nicht gefunden habe: Wenn ich versuche, den betroffenen Rollladen manuell mittels Taster direkt am Aktor in die gewünschte Position zu fahren (auf oder zu), so fährt er pro Tastendruck nur ein kleines Stück (10% laut logfile).
- Der jeweilige Befehl ist angekommen, es findet sich kein MISSING ACK.

Gerne poste ich hier noch die entsprechenden log-files (vom jeweiligen Aktor oder den globalen?). Allerdings weiß ich nicht, welcher Detaillierungsgrad benötigt wird und wie ich diesen erhalte (verbose=x?).

Hier ein Auszug von heute morgen (Rollladen sollte hochfahren, blieb aber unten):
2013-08-28_06:31:05 az_R2 level: set_100
2013-08-28_06:31:05 az_R2 set_100
2013-08-28_06:31:05 az_R2 level: 0 %
2013-08-28_06:31:05 az_R2 deviceMsg: down (to HMLAN1)
2013-08-28_06:31:05 az_R2 down
2013-08-28_06:31:05 az_R2 motor: stop:down
2013-08-28_06:31:05 az_R2 level: 0 %
2013-08-28_06:31:05 az_R2 deviceMsg: down (to HMLAN1)
2013-08-28_06:31:05 az_R2 down
2013-08-28_06:31:05 az_R2 motor: up:down
2013-08-28_06:31:44 az_R2 level: 100 %
2013-08-28_06:31:44 az_R2 deviceMsg: up (to broadcast)
2013-08-28_06:31:44 az_R2 up
2013-08-28_06:31:44 az_R2 motor: stop:up
2013-08-28_06:31:51 az_R2 level: 100 %
2013-08-28_06:31:51 az_R2 deviceMsg: up (to broadcast)
2013-08-28_06:31:51 az_R2 up
2013-08-28_06:31:51 az_R2 motor: stop:up

schöne Grüße
Jo

martinp876

Hallo Jo,

das mit den 10% - meine Vermutung:

wenn der Aktor an Ende ist (also 0% oder 100%) und man noch einmal "weiter" fahren will schaltet er noch einmal in die Richtung. Dabei rechnet er
0% -10 % = 0%
oder
100% + 10% = 100%

Das ganze macht sinn aus mehreren Gründen.
Scenario 1) man hat einen neuen Aktor, drive-time ist 50sec im Aktor(default) aber der Rollo braucht 70sec. Dann fährt der Rollo runter bis 0% (Aktor) aber beleibt eigentlich bei 30% (physik) stehen. Mit einem weiteren Tastendruck kann der User noch einmal runter fahren.
Scenario 2) Der Rollo steht auf 10% und der Storm fällt aus, kommt wieder. Der Aktor nimmt nach powerUp an, dass er bei 50% steht. Du kannst jetzt also sagen "fahre nach 100%" und der Aktor wird um 50% fahren, bleibt also bei 60% stehen (denkt er sei bei 100%). Jetzt kannst du noch 4-5 mal drücken, dann rechnet der Aktor 100% +4*10%=100%, aber der Rollo ist physikalisch auf 100%.

Hab ichs schön kompliziert erklärt?

Es könnte also sein, dass dein Aktor einen powerOn erhalten hat.
- ist das Scenario möglich?
- kannst du ein powerOn reading sehen?
- geht das fahren um 10% in beide Richtungen oder nur eine?

Gruss Martin

Jojo11

Hallo Martin,

die 10% finde ich leider nicht mehr in den log-files. Könnten auch andere Werte sein. Für einen kompletten Weg sind es aber ca. 10 Betätigungen.
Folgendes passiert: Das Rollo ist komplett geschlossen und soll öffnen (morgens). Leider bleibt es unten. Wenn ich nun manuell am Taster öffnen möchte, fährt er pro Tastendruck immer nur ein kleines Stück. Dies ist abends genauso, also Rollo ist oben und soll runter fahren, bleibt aber oben.
Leider tritt der Fehler natürlich nicht auf, wenn man ihn braucht. Gerade eben sind alle Rollladen ordnungsgemäß runtergefahren.
Die Fahrzeiten der Rollladen habe ich übrigens eingestellt. Das Relais fällt also ab, wenn der Rolladen in der jeweiligen Endposition angekommen ist (bzw. kurz danach).

Wenn Der Rollladen in einer Endposition ist, kann ich ihn ja auch nicht dazu bewegen, noch weiter zu fahren. Wenn er komplett oben ist und ich dann den Rauf-Taster betätige, dann passiert gar nichts. Das interne Relais zieht dann auch nicht an.

Scenario 1 kann ich eigentlich ausschließen, wegen der angegebenen Fahrzeiten. Scenario 2 ebenfalls, weil definitiv nicht der Strom ausgefallen ist.

>Hab ichs schön kompliziert erklärt?
Ja :)

Wenn ich drüber nachdenke geht das Fahren in "10%"-Schritten in beide Richtungen. Wenn ich also versuche, das Teil doch zu überreden und 3-4x drücke, mir es dann aber anders überlege und zurück will, geht es auch nur in kleinen Schritten.

>- kannst du ein powerOn reading sehen?
Wo/wie genau sehe ich das?

Beim nächsten Mal werde ich es mal genau notieren.

schöne Grüße
Jo

martinp876

ZitatWenn Der Rollladen in einer Endposition ist, kann ich ihn ja auch nicht dazu bewegen, noch weiter zu fahren. Wenn er komplett oben ist und ich dann den Rauf-Taster betätige, dann passiert gar nichts. Das interne Relais zieht dann auch nicht an.

ist bei meinem definitiv nicht so. Zum einen "weiss" der Aktor nicht, ob ein Rollo am Endanschlag ist, sondern nimmt es nur an, zum anderen kann ich mein Rollo zum Endanschlag fahren und, wenn ich noch einmal drücke klackt der Aktor noch einmal (wieviel % weiss ich nicht)

hast du einmal statusRequest im Fehlerfall gemacht? Dann solltest du erfahren wo er Aktor glaubt zu stehen. Wäre ein wichtiger Hinweis

zum powerOn sollte es ein Reading geben, das auch so heisst

Gruss Martin

Jojo11

Hallo Martin,

ich habe jetzt nochmal ganz genau gehorcht und kann bestätigen, dass der Aktor auch in "Endposition" weiter anzieht, wenn ich den Taster drücke. Die Zeit, nach der er wieder abfällt, müßte ungefähr mit derjenigen zusammenpassen, die im Fehlerfall auftritt. Leider tritt der Fehler nach wie vor nicht wieder auf. Die beiden Infos bekommst Du, sobald wieder ein Rolladen stehen bleibt.

schöne Grüße
Jo

Jojo11

Hallo,

heute morgen sind wieder zwei Rollladen unten geblieben. Das log-file sieht dabei immer so aus:

2013-08-30_06:31:05 az_R2 level: set_100
2013-08-30_06:31:05 az_R2 set_100
2013-08-30_06:31:05 az_R2 level: 0 %
2013-08-30_06:31:05 az_R2 deviceMsg: down (to HMLAN1)
2013-08-30_06:31:05 az_R2 down
2013-08-30_06:31:05 az_R2 motor: stop:down
2013-08-30_06:31:06 az_R2 level: 0 %
2013-08-30_06:31:06 az_R2 deviceMsg: down (to HMLAN1)
2013-08-30_06:31:06 az_R2 down
2013-08-30_06:31:06 az_R2 motor: up:down
2013-08-30_06:31:51 az_R2 level: 100 %
2013-08-30_06:31:51 az_R2 deviceMsg: up (to broadcast)
2013-08-30_06:31:51 az_R2 up
2013-08-30_06:31:51 az_R2 motor: stop:up

Allerdings sehen die log-Einträge (zumindest in diesem Detaillierungsgrad) genau so aus, wie bei einem Rolladen, der tatsächlich gefahren ist.

Der Aktor scheint davon auszugehen, dass er wirklich gefahren sei. Die kleinen "10%"-Schritte beim Druck auf die hardware-Tasten treten nur in der Fahrtrichtung auf, die zuvor hätte gefahren werden sollen. Wenn er also hätte aufgehen sollen (morgens), dann kann ich in kleinen Schritten auffahren. Schließen benötigt jedoch nur einen Tastendruck. Abends ist es dann andersrum.
statusRequest versuche ich heute abend nachzuliefern.

schöne Grüße
Jo

martinp876

Hi Jo,

klar is damit (wie du gesagt hast) - der Aktor ist der meinung gefahren zu sein. Er vermeldet nach 45sec ein 100%, also komplett offen. Wenn du also jetzt weiter nach oben willst, tritt in Kraft, was ich erklärt habe.
Sicher ist also, dass die message "fahre hoch" angekommen ist und - teilweise_ ausgeführt wird.

Die Frage ist also: Warum fährt der Aktor nicht, obwohl er es meldet. Es konnte ein Problem des Relais sein (hoffentlich nicht) oder ein SW bug im Aktor.

Das erste, was ich in Verdacht habe, den Aktor verwirren zu können ist das Zwangs-stop, das vor jedem fahren kommt. Da ich vermute, dass es eigentlich nicht gebraucht wird kannst  du es einmal ohen probieren.
Datei im Anhang.

Jojo11

Hallo Martin,

vielen Dank für Deine Hilfe, die Datei werde ich gleich mal testen.
Ich habe mal mit

attr global verbose 5

versucht, ein paar mehr Details zu erhalten. Den relevanten Ausschnitt habe ich mal angehängt. Diesmal ist der Aktor "gz2_R" nicht hochgefahren.

schöne Grüße
Jo

martinp876

Hi Jo,

dein Rollo gz2_R vermeldet, dass er nach 29sec seine 100% erreicht hat.
- das war nicht mit der neuen Datei? Das stop kommt immer noch
- deine Rollos sind nicht mit FHEM gepairt? Da könnten statusmessages verloren gehen.

Martin

Jojo11

Hallo Martin,

angegeben hatte ich für diesen etwas weniger:
set gz2_R regSet driveUp 24

Richtig, das war noch bevor ich die neue Datei eingebaut habe. Mit der neuen Datei sind heute Morgen alle Rollladen wie gewünscht hochgefahren. Mal sehen, was heute Abend passiert.
Eigentlich hatte ich alle Aktoren mit fhem gepairt:
set HMLAN1 hmPairForSec 600
und dann jeweils >4s den entsprechenden Taster gedrückt. Das hat eigentlich für alle geklappt.
Kann ich das bedenkenlos wiederholen oder zerschießt mir das die fhem.cfg wieder?

schöne Grüße
Jo

Jojo11

Nachtrag: Auch heute Abend sind alle Aktoren zuverlässig heruntergefahren. Die modifizierte Datei scheint die Situation in der Tat zu verbessern.

schöne Grüße
Jo

martinp876

Hi Jo,

ich habe eine "erweiterte" version in
http://forum.fhem.de/index.php?t=msg&goto=93257&rid=251#msg_93257

bereitgestellt. vielleicht kannst du diese auch probieren? Ich wünsche mir einen breiteren test vor der "breiten" einführung - die Änderungen sind zu komplex....

Gruss Martin

Jojo11

Hallo Martin,

danke, werde ich gleich einspielen und testen.

schöne Grüße
Jo

Jojo11

Hallo,

nachdem meine Rollladen jetzt sehr zuverlässig gelaufen sind, habe ich vorgestern ein update gemacht (26.10.2013). Heute Morgen sind zum ersten Mal seit Langem mal wieder zwei Rolladen unten geblieben  :-\
Ich weiß natürlich nicht, ob das auf das Update zurückzuführen ist, wollte es aber dennoch mal melden. Davor hatte ich die Version vom 20.10.2013. Typischer Auszug aus dem log-file:

2013-10-28_06:36:36 wz_R1 level: set_100
2013-10-28_06:36:36 wz_R1 set_100
2013-10-28_06:36:36 wz_R1 level: 0 %
2013-10-28_06:36:36 wz_R1 deviceMsg: down (to HMLAN1)
2013-10-28_06:36:36 wz_R1 down
2013-10-28_06:36:36 wz_R1 running: -
2013-10-28_06:36:36 wz_R1 motor: up:down
2013-10-28_06:37:13 wz_R1 level: 100 %
2013-10-28_06:37:13 wz_R1 deviceMsg: up (to broadcast)
2013-10-28_06:37:13 wz_R1 up
2013-10-28_06:37:13 wz_R1 running: -
2013-10-28_06:37:13 wz_R1 motor: stop:up
2013-10-28_06:38:36 wz_R1 level: 100 %
2013-10-28_06:38:36 wz_R1 deviceMsg: up (to HMLAN1)
2013-10-28_06:38:36 wz_R1 up
2013-10-28_06:38:36 wz_R1 running: -
2013-10-28_06:38:36 wz_R1 motor: stop:up


Ergebnis ist wie immer: Das Gerät meint, in Endposition zu sein. Man muss dann halt mehrmals den Taster drücken, um das Teil wirklich hoch zu fahren.

schöne Grüße
Jo

martinp876

Hallo Jo,

einen Zusammenhang mit einem der updates sehe ich nicht, da am Blind nichts geaendert wurde.

Es sieht so aus:
Rollo war 0% um 36:36
Rollo meldet 100% um 37:13, also nach 37 sec.
=> wie lange dauert das hoch fahren normal?

Gruss Martin