EleroDrive: tilt_posiion wird nicht erkannt

Begonnen von pschlaeppi, 23 Juli 2018, 13:02:15

Vorheriges Thema - Nächstes Thema

pschlaeppi

Hallo zusammen,

Ich verwende Elero Revio 868 Bidirectional Empfänger und habe jeweils die Endlagen sowie die Lüftungs- und Intermediate Positionen eingelernt. Ich nutze die aktuellsten Module (letztes update gestern) und habe ein Intervall von 5 Miinuten eingestellt.

Über Nacht fahre ich die Rolladen jeweils mittels moveTilt in die Lüftungs Position und am Morgen möchte ich Sie dann gezielt aus dieser Position
in die top_position fahren. Ich checke dabei jeweils zuerst den State, um unnötige Fahrten zu vermeiden.

Wenn der Rolladen iin der Lüftungsposition steht (angefahren mit moveTilt) erkennt der zyklische Kanal Check diese Position aber nicht als tilt_position wie in der Doku festgehalten, vielmehr wird jeweils sofort "top_position" erkannt und ausgegeben. Auch alle weiteren Checks im 5 Minuten Intervall geben immer wieder "top_position" aus obwohl der Rolladen noch in der Lüftungsposition steht.
Alle anderen Positionen (moveDown=bottom_position;moveUp=top_position;moveIntermediate=intermediate_position) werden problemlos erkannt und in stae und postition korrekt ausgegeben..

Fragestellnugen:
-  Ist die Erkennung der Lüftungs Position  allenfalls von der HW/SW Version des Revio 868 abhängig?
-  Falls ja, wie findet man dieses zweifelsfrei raus?
-  allenfalls ein Bug iin der Positionserkennung des Moduls?

Hat da jemand nen Tipp?

Grüsse
Philipp

HCS

Das funktioniert bei mir.

top_position
bottom_position
intermediate_position
tilt_position

werden alle korrekt angezeigt, egal ob manuell oder per FHEM angefahren.

Allerdings habe ich keinen Revio 868 sondern Antriebe mir integriertem Empfänger.

pschlaeppi

Hallo,

Danke für den schnellen Feedback. 3 meiner 7 Rollos (Ost) sind mit Revio 868 und 4 andere sind mit RolTop 868 Motoren mit eingebauten Empfängern ausgerüstet. Da ich nur auf der Ost Seite in die Lüftungsposition fahre, und hier nur die Revio 868 habe, habe ich das selber gar noch nicht getestet gehabt. Auf deinen Feedback hin habe ich das nun mit 2 anderen Rollos mt eingebauten Empfängern (RolTop) getestet.
Diese funktionieren in der Tat klaglos und geben die tilt_position retour.

Ich habe nun auf 2 der Revio 868 Rollos und dem EleroStick Verbose 5 eingestellt. Bei der Durchsicht der Log Messages tauchen bei Elero die im attachten Log enthaltenen Fehlermeldungen auf.

Die beiden fraglichen Rollos sind auf den Channels 1 und 2.

-  können die geloggten "current buffer is not long enough" Meldungen auf die Ursache hinweisen?
-  wie kann die Buffer Grösse erhöht werden um den Fehler zu umgehen?
-  gibt es eine Möglichkeit die dispatchten Messages zu decodieren um rauszufinden welche Kanäle sie betreffen?
-  wie können allenfalls die Antworten der Revio 868 decodiert werden um zu sehen ob sie die "tilt_position" eventuell doch melden,
   aber nicht durch das EleroStick Modul erkannt werden?
-  Könnte allenfalls die CeneteroStick HW oder SW Version das Problem verursachen (Der Stick ist von Sept. 2015)?
-  andere Möglichkeiten dem Problem auf die Schliche zu kommen? (was wäre allenfalls an zusätzlichen Infos nötig?)

Freundliche Grüsse

Philipp





HCS

Die "current buffer is not long enough" bei verbose 5 sind nicht die Ursache, muss ich mir mal anschauen, wie das kommt.

Dir Nachrichten sind so aufgebaut:

2018.07.23 21:03:32 5: Elero01: dispatch aa054d00010df6
aa: fix aa
05: 5 byte folgen
4d: Antwort auf eine Statusanfrage
00: upper channel bits
01: lower channel bits  -> Kanal 1
0d: Status -> 01=top, 02=bottom, 03=intermediate, 04=tilt, 0d=undefined position
f6: crc


2018.07.23 21:03:34 5: Elero01: dispatch aa054d00020200
-> Kanal 2: bottom position


Für Kanal 1 hat der Stick "undefined position" und für Kanal 2 hat er "bottom" gemeldet

Wenn einer der Revio auf tilt war, dann hat der Stick es schlicht falsch zurückgemeldet.


HCS

Die "Current buffer is not long enough " sind etwas irreführend.
Das ist keine Fehlermeldung.
Wenn der Stick Daten an FHEM sendet, dann kann es sein, dass ein Datenpaket in zwei Portionen ankommt.
Immer dann, wenn noch etwas aussteht, wird diese Meldung ausgegeben.
Es kommt dann erst der "Current buffer is not long enough " und danach ein dispatch, wenn der Rest eingetroffen ist.

Nun zu den tausend Fragen:

Zitat von: pschlaeppi am 23 Juli 2018, 21:54:06
-  können die geloggten "current buffer is not long enough" Meldungen auf die Ursache hinweisen?
-  wie kann die Buffer Grösse erhöht werden um den Fehler zu umgehen?
Nein / nicht erforderlich
Siehe oben

Zitat von: pschlaeppi am 23 Juli 2018, 21:54:06
-  gibt es eine Möglichkeit die dispatchten Messages zu decodieren um rauszufinden welche Kanäle sie betreffen?
siehe vorhergehender Post

Zitat von: pschlaeppi am 23 Juli 2018, 21:54:06
-  Könnte allenfalls die CeneteroStick HW oder SW Version das Problem verursachen (Der Stick ist von Sept. 2015)?
Denkbar.
Frag doch mal bei Elero an, ob denen ein derartiges Problem bekannt ist.

Zitat von: pschlaeppi am 23 Juli 2018, 21:54:06
-  andere Möglichkeiten dem Problem auf die Schliche zu kommen? (was wäre allenfalls an zusätzlichen Infos nötig?)
Kristallkugel mit USB-Port  ;D ;D

pschlaeppi

Guten Abend,

Besagte Kugel suche ich auch schon ziemlich lange  :)

Schon mal ganz herzlichen Dank für die hilfreichen und schnellen Angaben.
Ich werde mal versuchen mit diesen dem Problem näher zu kommen. Eventuell liegt es auch an der Programmierung der Tilt Position.
Ich hatte Sie mit dem Centero Stick und dem Programm Button programmiert und nicht mit Strom Unterbruch, ist ein bisschen mühsam da ich 4 Rollos in 2 Räumen an der Phase habe und es da ein bisschen schwierig ist den richtigen zu erwischen. Das Rollo hatte nur kurz gestoppt und ist nicht stehen geblieben. Wenn ich dann aber moveTilt gesendet habe ist er mehrmals korrekt in diese Position gefahren. Drum nahm ich an das sei so ok.
Ebenfalls habe ich letztes Jahr noch einen SpareCentero Sick beschafft und bisher nicht eingesetzt. Eventuell ist dieser sogar neuer.

Ich werde den Post updaten sobald ich die Ursache gefunden habe.

Grüsse Philipp

pschlaeppi

Hallo,

Die Adressierung habe ich noch nicht ganz gepackt.
Kanal 1 und 2 sind aus den vorigen Posts ersichtlich. Wie werden die 15 Kanäle in die beiden Bytes gepackt?
- z.B. Kanal 5:
- z.B. Kanal 9:
- z.B. Kanal 15:


Meine Centero Sticks:
- Produktion:  22 125.0101 08.15  (Nehme an Produktionsdatum 08.15)
- Produktion:  22 125.0101 04.17  (Nehme an Produktionsdatum 04.17)
- Angaben zu HW/SW Versionen sind am Stick keine zu finden

Vorgenommene Tests:
- alle 3 Revio 868 Storen stroomlos gemacht und neu eingelernt
- den Spare Stick eingelernt
- Positionen Tilt und Intermediate zuerst geloescht und neu programmiert

Meine 3 Revio 868 stammen alle aus dem Jahre 2013.

Die beiden Rollos an der Ost Fassade werden in die Lüftungsposition gefahren aus Position bottom_position (0x02) mit moveTilt.
Zuerst wird noch die bottom_position angegeben beim Start aber dann auch gleich schon die top_position um 14:48:26 und 14:48:33:
2018-07-29 14:47:57 EleroStick Elero01 SendType: easy_send
2018-07-29 14:47:57 EleroStick Elero01 SendType: easy_send
2018-07-29 14:47:57 EleroStick Elero01 SendMsg: aa054c000124e0
2018-07-29 14:47:57 EleroDrive eg.wz.RO.TuereTerasse Lueftung
2018-07-29 14:47:57 EleroStick Elero01 AnswerMsg: aa054d00010201
2018-07-29 14:47:57 EleroStick Elero01 AnswerType: easy_ack
2018-07-29 14:48:04 EleroStick Elero01 SendType: easy_send
2018-07-29 14:48:04 EleroStick Elero01 SendMsg: aa054c000224df
2018-07-29 14:48:04 EleroDrive eg.wz.RO.FensterTerasse Lueftung
2018-07-29 14:48:04 EleroStick Elero01 AnswerMsg: aa054d00020200
2018-07-29 14:48:04 EleroStick Elero01 AnswerType: easy_ack
2018-07-29 14:48:26 EleroStick Elero01 SendType: easy_info
2018-07-29 14:48:26 EleroStick Elero01 SendMsg: aa044e000103
2018-07-29 14:48:26 EleroStick Elero01 AnswerMsg: aa054d00010102
2018-07-29 14:48:26 EleroDrive eg.wz.RO.TuereTerasse top_position
2018-07-29 14:48:26 EleroDrive eg.wz.RO.TuereTerasse position: top_position
2018-07-29 14:48:26 EleroDrive eg.wz.RO.TuereTerasse percentClosed: 0
2018-07-29 14:48:26 EleroDrive eg.wz.RO.TuereTerasse stateChangedTo: top_position
2018-07-29 14:48:26 EleroStick Elero01 AnswerType: easy_ack
2018-07-29 14:48:33 EleroStick Elero01 SendType: easy_info
2018-07-29 14:48:33 EleroStick Elero01 SendMsg: aa044e000202
2018-07-29 14:48:33 EleroStick Elero01 AnswerMsg: aa054d00020101
2018-07-29 14:48:33 EleroDrive eg.wz.RO.FensterTerasse top_position
2018-07-29 14:48:33 EleroDrive eg.wz.RO.FensterTerasse position: top_position
2018-07-29 14:48:33 EleroDrive eg.wz.RO.FensterTerasse percentClosed: 0
2018-07-29 14:48:33 EleroDrive eg.wz.RO.FensterTerasse stateChangedTo: top_position
2018-07-29 14:48:33 EleroStick Elero01 AnswerType: easy_ack


Nach 5 Minuten (eingestelltes Intervall) werden die beiden Rollos erneut abgefragt und geben nach wie vor top_position zurück.
2018-07-29 14:54:07 EleroStick Elero01 SendType: easy_info
2018-07-29 14:54:07 EleroStick Elero01 SendMsg: aa044e000103
2018-07-29 14:54:07 EleroStick Elero01 AnswerMsg: aa054d00010102
2018-07-29 14:54:07 EleroStick Elero01 AnswerType: easy_ack
2018-07-29 14:54:09 EleroStick Elero01 SendType: easy_info
2018-07-29 14:54:09 EleroStick Elero01 SendMsg: aa044e000202
2018-07-29 14:54:09 EleroStick Elero01 AnswerMsg: aa054d00020101
2018-07-29 14:54:09 EleroStick Elero01 AnswerType: easy_ack


Es spielt dabei keine Rolle welchen der beiden Sticks ich verwende. Das Resultat ist identisch.
Ich habe ebenfalls mehrfach die tilt_position neu gelöscht und neu programmiert. Sie wird immer sauber angefahren, ich erhalte aber immer top_position zurück. Das Problem habe ich so nur mit den Revio 868.

Ich werde noch versuchen das per Elero Support abzuklären zu lassen.
Letztendlich bleibt aber vermutlich nur meine Steuerung so zu tweaken das die 3 Revio Rollos für  5 Sekunden retour fahren und dann auf stopped_in_undefined_position stehen bleiben. Das fängt die Steuerung dann ab.

Grüsse Philipp

HCS

Zitat von: pschlaeppi am 29 Juli 2018, 16:36:22
Hallo,

Die Adressierung habe ich noch nicht ganz gepackt.
Kanal 1 und 2 sind aus den vorigen Posts ersichtlich. Wie werden die 15 Kanäle in die beiden Bytes gepackt?
- z.B. Kanal 5:
- z.B. Kanal 9:
- z.B. Kanal 15:
Die Bits repräsentieren die Kanäle.
Man legt "upper channel bits" und "lower channel bits" nebeneinander.
Die Position, an der ein Bit gesetzt ist, ist der Kanal. Ganz rechts ist Kanal 1.
Die Angaben in den MSGs sind hex.

Kanal 5 ist also 0010 weil 5tes Bit = 16 = 0x10