Autor Thema: [10_SOMFY.pm] Rolling Code Verlust bei FHEM Neustart ohne aktuelle fhem.save  (Gelesen 8560 mal)

Offline fdfhem

  • New Member
  • *
  • Beiträge: 10
@viegener: Danke, nunmehr scheint es interessanterweise zu funktionieren, genau wie Du es beschreibst. Ich muss es also weiter beobachten. Einstweilen erstmal vielen herzlichen Dank.

Offline LastOne

  • New Member
  • *
  • Beiträge: 40
Hi,

ich klinke mich hier einmal mit ein. Meinen das AutoStoreRolling Code habe ich auf 1 gesetzt. Wenn ich nun aber einen Stromaufall habe, sind die Rollingcodes veraltet. Wenn ich diese über RAW anpasse, geht es direkt wieder. Ansonsten muss ich ein paar mal hoch und runter fahren bis er reagiert. Ursprünglich hat ein Cobee2 im USB Port daneben das Problem scheinbar verschlimmert, den hab ich nun aber erst mal entfernt.

Was kann ich nun tun, um gegen diese Problem bei Stromausfällen gewappnet zu sein? Der weiter oben gepustete Code sicher die Fhem.save ja nach extern / in ein anderes Verzeichnis. Das allein bringt mir ja noch nichts. Oder übersehe ich was? Wann und wo wird die Datei überhaupt im Standart gesichert.

Ich hatte hier schone einen thread eröffnet, dort findet ihre meine Ursprungsbeschreibung und Daten. Ich liefern euch gern mehr, was immer ihr braucht.  https://forum.fhem.de/index.php/topic,114366.0.html

Online viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4205
    • Meine Seite im fhemwiki
Hi,

ich klinke mich hier einmal mit ein. Meinen das AutoStoreRolling Code habe ich auf 1 gesetzt. Wenn ich nun aber einen Stromaufall habe, sind die Rollingcodes veraltet. Wenn ich diese über RAW anpasse, geht es direkt wieder. Ansonsten muss ich ein paar mal hoch und runter fahren bis er reagiert. Ursprünglich hat ein Cobee2 im USB Port daneben das Problem scheinbar verschlimmert, den hab ich nun aber erst mal entfernt.

Was kann ich nun tun, um gegen diese Problem bei Stromausfällen gewappnet zu sein? Der weiter oben gepustete Code sicher die Fhem.save ja nach extern / in ein anderes Verzeichnis. Das allein bringt mir ja noch nichts. Oder übersehe ich was? Wann und wo wird die Datei überhaupt im Standart gesichert.

Ich hatte hier schone einen thread eröffnet, dort findet ihre meine Ursprungsbeschreibung und Daten. Ich liefern euch gern mehr, was immer ihr braucht.  https://forum.fhem.de/index.php/topic,114366.0.html

Ich muss zugeben ich verstehe nicht welches Problem Du hast - im anderen Thread steht etwas von Problemen die ursprünglich da waren jetzt aber nicht und die Beschreibung hier scheint auch nichts mit ROlling Codes zu tun zu haben (sonst hätte ja wohl das Umstecken von Hardware hier keinen Einfluss gehabt).

Ich antworte auch noch im anderen Thread, denn ich vermute es hat nichts mit diesem Thema hier zu tun
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Offline eazy_isi

  • Jr. Member
  • **
  • Beiträge: 54
Hallo zusammen,

stehe auch gerade vor dem Problem mit dem Rolling Code.
Wenn ich versuche das attr TYPE=SOMFY autoStoreRollingCode 1 zu setzen, bekomme ich folgende Fehlermeldung:

Rolladen_BAD_OG: unknown attribute autoStoreRollingCode. Type 'attr Rolladen_BAD_OG ?' for a detailed list.

FHEM ist auf dem aktuellsten Stand und die 10_Somfy.pm ist auch aktuell.

Hier meine Definition eines Rolladens:

defmod Rolladen_BAD_OG SOMFY 54321A AD 000D
attr Rolladen_BAD_OG userattr associated-devices
attr Rolladen_BAD_OG IODev SIGNALduino
attr Rolladen_BAD_OG associated-devices Rolladen_BAD_OG_FB
attr Rolladen_BAD_OG devStateIcon open:fts_shutter_10 10:fts_shutter_10 20:fts_shutter_20 30:fts_shutter_30 40:fts_shutter_40 50:fts_shutter_50 60:fts_shutter_60 70:fts_shutter_70 80:fts_shutter_80 90:fts_shutter_90 down:fts_shutter_100 closed:fts_shutter_100
attr Rolladen_BAD_OG drive-down-time-to-100 19
attr Rolladen_BAD_OG drive-down-time-to-close 23
attr Rolladen_BAD_OG drive-up-time-to-100 5
attr Rolladen_BAD_OG drive-up-time-to-open 23
attr Rolladen_BAD_OG eventMap on:down stop:stop off:up
attr Rolladen_BAD_OG model somfyshutter
attr Rolladen_BAD_OG mqttName Rolladen_BAD_OG
attr Rolladen_BAD_OG mqttRoom OG_Bad
attr Rolladen_BAD_OG room OG_Bad
attr Rolladen_BAD_OG verbose 5
attr Rolladen_BAD_OG webCmd down:stop:up

Jemand eine Idee, warum das attribut unbekannt sein soll ?

Bin über jeden Tipp dankbar.

Grüße
Thomas


Online viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4205
    • Meine Seite im fhemwiki
Hallo zusammen,

stehe auch gerade vor dem Problem mit dem Rolling Code.
Wenn ich versuche das attr TYPE=SOMFY autoStoreRollingCode 1 zu setzen, bekomme ich folgende Fehlermeldung:

Rolladen_BAD_OG: unknown attribute autoStoreRollingCode. Type 'attr Rolladen_BAD_OG ?' for a detailed list.

FHEM ist auf dem aktuellsten Stand und die 10_Somfy.pm ist auch aktuell.

Hier meine Definition eines Rolladens:

defmod Rolladen_BAD_OG SOMFY 54321A AD 000D
attr Rolladen_BAD_OG userattr associated-devices
attr Rolladen_BAD_OG IODev SIGNALduino
attr Rolladen_BAD_OG associated-devices Rolladen_BAD_OG_FB
attr Rolladen_BAD_OG devStateIcon open:fts_shutter_10 10:fts_shutter_10 20:fts_shutter_20 30:fts_shutter_30 40:fts_shutter_40 50:fts_shutter_50 60:fts_shutter_60 70:fts_shutter_70 80:fts_shutter_80 90:fts_shutter_90 down:fts_shutter_100 closed:fts_shutter_100
attr Rolladen_BAD_OG drive-down-time-to-100 19
attr Rolladen_BAD_OG drive-down-time-to-close 23
attr Rolladen_BAD_OG drive-up-time-to-100 5
attr Rolladen_BAD_OG drive-up-time-to-open 23
attr Rolladen_BAD_OG eventMap on:down stop:stop off:up
attr Rolladen_BAD_OG model somfyshutter
attr Rolladen_BAD_OG mqttName Rolladen_BAD_OG
attr Rolladen_BAD_OG mqttRoom OG_Bad
attr Rolladen_BAD_OG room OG_Bad
attr Rolladen_BAD_OG verbose 5
attr Rolladen_BAD_OG webCmd down:stop:up

Jemand eine Idee, warum das attribut unbekannt sein soll ?

Bin über jeden Tipp dankbar.

Grüße
Thomas

Ist das Dein einziger Somfy-Device?
Kannst Du es auch in der Oberflächen nicht ausführen ?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Offline LastOne

  • New Member
  • *
  • Beiträge: 40
So, nachdem lange alles gut lief hat meine SD Karte gestern bei nem Stromaufall was abbekommen. Homebridge will nicht mehr, FHEM läuft aber noch. Ich hab vor Wochen ein BackUp der Karte gemacht. Nun passen aber leider auf dem Backup die Rolling Codes nicht. Da ich lang nichts in FHEM gemacht habe, weiß ich leider nicht mehr wie ich die Rolling Codes überschreiben kann   :-[

Habe daher nun erstmal die Fhem.save von einer auf die andere sd kopiert. Leider hat Fhem immer noch die alten Codes drin. Kann ich die Fhem.save irgendwie einlesen? Oder was tu ich nun? Ich bekomm es grad nicht hin weil hinlangst her.

Offline KölnSolar

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5787
Zitat
Kann ich die Fhem.save irgendwie einlesen?
Kannst Du Dir mit jedem editor ansehen, nach der entsprechenden Zeile suchen und im laufenden FHEM sollte ein setreading für dieses reading mit dem Wert aus der fhem.save zum Ziel führen.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Offline andies

  • Tester
  • Hero Member
  • ****
  • Beiträge: 3452
Drücke doch ständig auf die Öffnen-Befehle. Dann werde die erhöht (wenn du das alte backup zurückgespielt hast, sind sie ja zu niedrig) und irgendwann klappt es wieder.

Ich habe das bei mir so gemacht (alle devices mit Somfy heißen bei mir Rolladen_irgendwas):
defmod Rolladen_Code_Sicherung notify Rolladen.* {WriteStatefile()}; {fhemsaveInMediaKopieren()}und der Befehle selber ist in 99_myUtils.pm definiert
sub fhemsaveInMediaKopieren(){
  my $neuer_zeitpunkt = POSIX::strftime("%Y-%m-%dT%H:%M:%S",localtime(time+5));
    fhem("defmod fhemsaveSichern at ".$neuer_zeitpunkt." {system('cp /opt/fhem/log/fhem.save /media')} ");
}
 
5 Sekunden nach dem Sendebefehl an Somfy wird dann die Datei "/opt/fhem/log/fhem.save" in das Verzeichnis "/media" kopiert und dort ist meine Synology gemounted. Also wird das Ding extern gesichert.
« Letzte Änderung: 30 November 2022, 07:05:45 von andies »
FHEM 6.1 auf RaspPi3 (Raspbian:  5.15.32-v7+); Perl: v5.28.1
SIGNALduino (433 MHz) und HM-UART (868 MHz)
wenige Brennenstuhl-IT, Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 26068
Zitat
defmod Rolladen_Code_Sicherung Rolladen.* {WriteStatefile()}; {fhemsaveInMediaKopieren()}
Da fehlt sowas wie notify. Verzoegern geht auch einfacher. Vorschlag:

define Rolladen_Code_Sicherung notify Rolladen.* { WriteStatefile()} ;; sleep 5;; "cp /opt/fhem/log/fhem.save /media"
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline LastOne

  • New Member
  • *
  • Beiträge: 40
Kannst Du Dir mit jedem editor ansehen, nach der entsprechenden Zeile suchen und im laufenden FHEM sollte ein setreading für dieses reading mit dem Wert aus der fhem.save zum Ziel führen.

Ja, öffnen der Datei hab ich hinbekommen. Das setreading hab ich gesucht. Könntest du ein Beispiel nennen. Bin noch unsicher was ichveingeben muss genau.

@andies hab ich probiert mit drücken mehrfach. Keine Reaktion. War dann unsicher wie weit es auseinander gelaufen sein kann und hab ne bessere Lösung gesucht.

Offline andies

  • Tester
  • Hero Member
  • ****
  • Beiträge: 3452
Nenn mal den Namen eines Rolladens, dann kann ich das hineinschreiben. Die Codes werden hexadezimal gezählt, also auf 9 kommt A bis F.
FHEM 6.1 auf RaspPi3 (Raspbian:  5.15.32-v7+); Perl: v5.28.1
SIGNALduino (433 MHz) und HM-UART (868 MHz)
wenige Brennenstuhl-IT, Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Offline KölnSolar

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5787
Ich hab und kenn Somfy rolling code ja nicht. Folglich auch nicht das/die reading(s). Für ein blind gewähltes Beispiel-reading steht in der fhem.savesetstate zaehler 2022-11-30 09:17:06 Leistung_W1 83.7Für dieses würde der Befehl dann setreading zaehler Leistung_W1 83.7lauten.

Ich hab aber das Gefühl, dass andies Vorschlag der bessere Weg ist....
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Offline LastOne

  • New Member
  • *
  • Beiträge: 40
Nenn mal den Namen eines Rolladens, dann kann ich das hineinschreiben. Die Codes werden hexadezimal gezählt, also auf 9 kommt A bis F.

defmod Rollo_Schlafzimmer SOMFY FF4A05
attr Rollo_Schlafzimmer IODev dunio
attr Rollo_Schlafzimmer alias Schlafzimmer
attr Rollo_Schlafzimmer autoStoreRollingCode 1
attr Rollo_Schlafzimmer devStateIcon closed:fts_shutter_100 open:fts_shutter_10 my:fts_shutter_50
attr Rollo_Schlafzimmer eventMap on:ab off:auf go-my:my on:close off:open
attr Rollo_Schlafzimmer genericDeviceType blind
attr Rollo_Schlafzimmer group Rolladen,
attr Rollo_Schlafzimmer homebridgeMapping clear CurrentPosition=userposition,minValue=0,maxValue=100,minStep=50 TargetPosition=userposition,minValue=0,maxValue=100,minStep=50,cmds=0:close;;;;50:my;;;;100:open
attr Rollo_Schlafzimmer model somfyshutter
attr Rollo_Schlafzimmer positionInverse 1
attr Rollo_Schlafzimmer room Alexa,Homekit,Schlafzimmer,Somfy
attr Rollo_Schlafzimmer userReadings userposition {(ReadingsVal($NAME,"state","open") eq "open")?100:(ReadingsVal($NAME,"state","open") eq "go-my")?50:0}
attr Rollo_Schlafzimmer webCmd auf:my:ab

setstate Rollo_Schlafzimmer open
setstate Rollo_Schlafzimmer 2022-11-29 17:02:03 IODev dunio
setstate Rollo_Schlafzimmer 2022-11-30 06:07:05 enc_key A3
setstate Rollo_Schlafzimmer 2022-11-30 06:07:05 exact 0
setstate Rollo_Schlafzimmer 2022-11-30 06:07:05 position 0
setstate Rollo_Schlafzimmer 2022-11-30 06:07:05 rolling_code 0D0A
setstate Rollo_Schlafzimmer 2022-11-30 06:07:05 state open
setstate Rollo_Schlafzimmer 2022-11-30 06:07:05 userposition 100


Anbei einmal der Code. Falls du mehr als den Namen brauchst.

Offline andies

  • Tester
  • Hero Member
  • ****
  • Beiträge: 3452
setreading Rollo_Schlafzimmer rolling_code 0D0Aund der Code wäre dann in absteigender Reihenfolge
Zitat
0D09
0D08
...
0D01
0D00
0CFF
0CFE
...
« Letzte Änderung: 30 November 2022, 21:46:51 von andies »
FHEM 6.1 auf RaspPi3 (Raspbian:  5.15.32-v7+); Perl: v5.28.1
SIGNALduino (433 MHz) und HM-UART (868 MHz)
wenige Brennenstuhl-IT, Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Offline LastOne

  • New Member
  • *
  • Beiträge: 40
Es hat funktioniert. Vielen Dank dir/euch!