[10_SOMFY.pm] Rolling Code Verlust bei FHEM Neustart ohne aktuelle fhem.save

Begonnen von Ellert, 12 Juli 2018, 16:13:42

Vorheriges Thema - Nächstes Thema

BergMuel

Hallo Forum,

Ich vermute/hoffe, dass ich ein Problem habe, das genau in dieses Forum passen könnte...
Alles Durchlesen hat mir allerdings bislang nicht weiter geholfen.

Situation: Ich habe seit rund 2 Jahren eine SOMFY Markise die über einen CUL einwandfrei funktioniert hat. Nun ist aber offenbar der CUL gestorben und ich habe einen neuen besorgt. Der Handsender funktioniert (immer noch). Und auch den neuen CUL konnte ich konfigurieren und über "prog" neu anlernen. die Markise hat jedenfalls als Bestätigung gezuckt. Aus meiner Sicht alles bestens.
Nun aber nimmt die Markise trotzdem keinen Befehl von FHEM entgegen. Nach einer Woche erfolglosen Versuchen bin ich ziemlich überzeugt, dass ich ein Problem habe mit enc_key und rolling_code. Ich müsste wissen welche Werte meine Markise erwartet. Da hilft mir auch kein Backup und aktuell gespeicherter Code aus FHEM. Ich müsste den Code aus der Markise wissen.

Deshalb meine Frage: gibt es eine einfache Anleitung dazu, wie ich in diesem Fall die Werte in meinem FHEM wieder mit den erwarteten Werten der Markise angleichen kann, so dass meine FHEM Ansteuerung wieder funktioniert?

Vielen Dank bereits im Voraus für Eure Hilfestellung!

viegener

Möglicherweise geht Deine Frage hier unter, ein eigener Thread würde vermutlich Sinn machen.

Ein paar Hinweise:

Wenn Du nur den CUL wechselst muss dieser nicht neu angelernt werden, denn die Adresse steckt im FHEM device nicht im CUL.

Ich habe zwei Vermutungen:
1) In der Zeit in der Dein CUL kaputt war hat sicher der ROllingcode zu weit von dem in der Markise entfernt und damit reagiert die Markise nicht mehr
2) Durch die Versuche bei der "Programmierung" wurde der bisherige Device aus der Kopplung mit der Markise entfernt

In beiden Fällen wäre mein Ratschlag: Lege in FHEM einen neuen Somfy Device mit einer neuen Adresse an und lerne diesen zusätzlich an der Markise an. Wenn das gut funktioniert, kannst Du die Daten aus dem neuen Device (also rolling code / Adresse etc) in den alten Device übertragen. Danach den neuen Device löschen.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

diver

Hallo zusammen,

Eur Hilfe wird noch einmal benötigt. Ich verstehe nicht was ich falsch mache, bzw. habe jetzt lange nachgelesen und bin irgendwie verwirrt.

Ich steuere meine Somfy RTS über FHEM. Kürzlich ist das System wegen Unterspannug abgestürzt. Nun funktionieren die Rollos nicht mehr. Also ein Problem mit den Rolling Codes.

Einen Rolladen habe ich komplett neu angelernt. Funktioniert.
Also müsste ich bei den anderen Rollos nur den gültigen Rolling Code zum Zeitpunkt des Absturzes wiederfinden.
So weit die Theorie.
Bloß wo steht der letzte gültige? Die AutoSave Funktion über das Modul habe ich leider nicht aktiv.

Was ich verstanden habe, ist das in der /opt/fhem/log/fhem.save die letzten Rolling Codes stehen.
Diesen würde ich als Ausgangspunkt nehmen.

Wenn dort also steht:
setstate Rollo.EG.Schlafen 2023-10-13 11:09:23 rolling_code 008C
dann ziehe ich da mal Hexadezimal 10 ab. Lande also bei hex 82. Weil seit dem Absturz FHEM vermutlich 10 mal einen Befehl gesendet hat.
Das setze ich mit setreading Rollo.EG.Schlafen rolling_code 0082 neu.
Nun sende ich 10x mit FHEM einen Befehl an das Rollo und würde erwarten dass es sich dann bewegt.

Tut es aber nicht. Wo ist der Gedankenfehler?

In den Rollodevices weichen die aktuellen Readings des Rollos und der Wert in der RAW DEF voneinander ab.
In der RAW DEF z.B. 0035 und im reading 008C.
Der Wert 008C steht auch in der fhem.save

Bei dem neu angelegten Rollo sind die Werte in Sync.
Oder müsste ich den Wert aus der RAW DEF als Ausgangswert für den letzt gültigen Rolling Code nehmen?

Danke!

Gruß Andre

Ellert

Wenn ich mich recht erinnere muss der zu sendende RC über dem zuletzt Empfangenen liegen.

Diese Probleme lassen sich mit dem Attribut autoStoreRollingCode vermeiden.