Hallo,
seit etwas über einer Woche versuche ich mich ich mich dran durch lesen und ausprobieren das System wieder in gang zu bekommen.
Ich hatte eine unlesbare SD-Karte, weshalb ich mit meiner funktionierend Hardware FHEM neu aufgesetzt habe. Dabei stand mir ein Backup der fhem.cfg zur Verfügung.
Meine Rollläden von Somfy (Oximo 50 RTS) lassen sich mit der Telis RTS Handfernbedienung auf und absteuern. Auch der Programmmodus über die Programmtaste oder das gleichzeitige drücken der AUF-AB Tasten geht. Leider kann ich nicht den nanoCUL (Fw. 1.65) damit anlernen.
mit den Frequenzen, der Bandbreite habe ich gespielt.
Ich habe auch mehrere nanoCUL schon probiert.
Meine Config:
define CUL3 CUL /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9UTHZFB-if00-port0@38400 1000
define rollo_1 SOMFY 000001
attr rollo_1 IODev CUL3
attr rollo_1 devStateIcon .*:shutter_open .*:shutter_closed
attr rollo_1 room Küche
define rollo_2 SOMFY 000001
attr rollo_2 IODev CUL3
attr rollo_2 devStateIcon .*:shutter_open .*:shutter_closed
attr rollo_2 room Wohnzimmer
Die Kommunikation mit dem CUL geht (Versionsnummern auslesen....)
der Befehl ON wird sauber angezeigt im Log:
2015.12.12 14:06:11 3: SOMFY_set: handled command on --> move :on: newState :closed:
Beim Pairing wird das geloggt:
2015.12.12 13:17:28 3: SOMFY_set: handled command prog --> move :prog: newState :open:
Leider passiert dann nichts. Die bestätigende AUF/AB-Bewegung fehlt
Auffällig ist mir nur das :
2015.12.12 13:17:28 1: PERL WARNING: Argument "open" isn't numeric in addition (+) at ./FHEM/10_SOMFY.pm line 956.
Die Datei ist vom 2015-10-28 17:56:43 (aus der Kopfzeile)
List CUL3:
Internals:
CMDS BCFiAZEkGMKUYRTVWXefltx
CUL3_MSGCNT 9
CUL3_TIME 2015-12-12 14:06:12
Clients :FS20:FHT.*:KS300:USF1000:BS:HMS: :CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: :ESA2000:CUL_IR:CUL_TX:Revolt:IT:UNIRoll:SOMFY: :STACKABLE_CC:CUL_RFR::CUL_TCM97001:CUL_REDIRECT:
DEF /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9UTHZFB-if00-port0@38400 1000
DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9UTHZFB-if00-port0@38400
FD 37
FHTID 1000
NAME CUL3
NR 20
PARTIAL
RAWMSG YsAE46009E010000
STATE Initialized
TYPE CUL
VERSION V 1.65 nanoCUL433
initString X21
Matchlist:
1:USF1000 ^81..(04|0c)..0101a001a5ceaa00....
2:BS ^81..(04|0c)..0101a001a5cf
3:FS20 ^81..(04|0c)..0101a001
4:FHT ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
5:KS300 ^810d04..4027a001
6:CUL_WS ^K.....
7:CUL_EM ^E0.................$
8:HMS ^810e04....(1|5|9).a001
9:CUL_FHTTK ^T[A-F0-9]{8}
A:CUL_RFR ^[0-9A-F]{4}U.
B:CUL_HOERMANN ^R..........
C:ESA2000 ^S................................$
D:CUL_IR ^I............
E:CUL_TX ^TX[A-F0-9]{10}
F:Revolt ^r......................$
G:IT ^i......
H:STACKABLE_CC ^\*
I:UNIRoll ^[0-9A-F]{5}(B|D|E)
J:SOMFY ^Y[r|t|s]:?[A-F0-9]+
K:CUL_TCM97001 ^s[A-F0-9]+
L:CUL_REDIRECT ^o+
Readings:
2015-12-12 14:17:13 ccconf freq:433.920MHz bWidth:464KHz rAmpl:42dB sens:4dB
2015-12-12 13:21:14 cmds B C F i A Z E k G M K U Y R T V W X e f l t x
2015-12-12 13:21:11 raw No answer
2015-12-12 14:06:12 state Initialized
2015-12-12 13:21:14 version V 1.65 nanoCUL433
Attributes:
room Kammer
Ich weiß inzwischen gar nicht mehr wo ich ansetzen kann, auch um eine systematische Fehlersuche durchzuführen.
Gruß
Michael
Dein Problem dürfte sein, dass die entsprechenden Adressen in den Rolläden noch angelernt sind.
Also hat der Rolladen eine Vorstellung des letzten Rollingcodes und dieser stand mal in Deiner alten fhem.save-Datei. Ohne die alten ROllingcodes gibt es eigentlich nur die 2 Möglichkeiten:
1) Ausprobieren (u.U. aus alten logfiles ROllingcodes extrahieren) und diese im Somfydevice einsetzen, dann solange Befehle senden aus FHEM bis der ROlladen sich bewegt...
Nachteil: Je nach benutzungsdauer kann das einige Zeit dauern (man kann nur etwa alle 2 sec ein neues Kommando mit dem Cul an Somfy senden)
2) Adressen im SOmfy-Device ändern und diese Adressen neu am Rolladen anlernen.
Nachteil: Die alte Adresse bleibt angelernt
Hinweis. Rollingcodes - Im Somfy-Kommando ist eine Zahl enthalten, die bei jedem Befehl um eins hochgezählt wird und auch in Sender und Empfänger gespeichert ist (pro Adresse). Wenn diese nicht stimm, ignoriert der Rolladen alle Befehle (Es gibt wohl eine gewisse Toleranz grösserer Zahlen aber das ist nicht genauer bekannt)
Tipp: fhem.cfg ist keine Datensicherung, aber das hast Du bestimmt schon festgestellt ;)
Vielen dank!
Ich habe es, dank Deiner Hilfe, hingekriegt.
Mit
define rollo1hoch at +*00:00:05 set rollo_1 on-for-timer 002
hab ich den Rollingcode "durchdrehen" lassen :-)
Die Zeile erzeugte zwar einen Fehler, funktionierte aber...
Vielen Dank nochmal!
Michael
Klingt gut und gern geschehen!
Hallo Viegener,
Super Extra Herzlichen Dank für den Tip: Ich hatte ähnliches Problem: Umzug von Fritzbox auf Linux-Tablet als FHEM-Host und alle Somfy-Rolläden gingen nicht mehr anzulernen... - War am Ende so: Rolling Code Index war zu niedrig und damit geht gar nix mehr, nicht mal anlernen - Ich habe wochenlang gesucht: Nano-CUL als defekt vermutet (aber die Somfy-Markise ging noch - die schert sich nicht um Rollcodes wie mir scheint), Dachfenster für defekt vermutet (aber die Handsender gingen ja noch), ... - am Ende ists mit so lange Codes senden, bis der richtige Rollcode-Index kommt die Lösung gewesen, waren zum Glück < 100 für 3 der vier Rolläden - und der vierte bekommt halt nen ganz neuem Code...
Aber ne blöde Frage: Man kann ja define ... Somfy Kanal Key Rollcode machen - blos wird bei mir weder Key noch Rollcode übernommen! Bleiben einfach die alten Zahlen drin stehen... - Was mach ich falsch?
Grüße
Torsten
@ts: Das musste ich jetzt auch im Code nachschauen. Die Werte beim define werden nur gesprichert, wenn es das Reading nicht schon gibt.
Wenn man manuell den rollingcode setzen will, muss man das Attribut rolling-code auf den Wert setzen UND ausserdem das Attribut enc-key auf einen Wert. Nur wenn beide Attribute gesetzt sind wird das als Reading übernommen und dann verwendet.
Johannes
Hallo Johannes,
(1) allerbesten Dank für die Info!
(2) Dies und der Effekt, dass Anlernen nach Umzug und folglich zu kleinen Rollcodes nicht geht (halte ich für nen Somfy-seitigen Bug) wäre eigentlich dringend einen Doku-Nachtrag wert (etwa im Wiki). - Kann ich da einfach im Wiki rumschreiben oder was ist der (gewolte) Weg?
Torsten
@ts: Wiki kannst Du gerne selber ergämzen, das ist ja eigentlich die Idee des wiki.
Ja vermutlich wäre es auch gut, dass in die Doku für das Somfy-Modul zu übernehmen.
Leider funktioniert das alles bei mir nicht.
Ich bin auch auf einen anderen Raspberry umgezogen.
3 von 5 Somfy Rolladen funktionieren wieder.
Meine beiden Problemfälle, lassen sich neu anlernen, aber reagieren nicht auf Befehle.
Dann hab ich alle angelernten Sender im Rollade gelöscht, die Adresse im Device geändert und den Cul neu angelernt.
Anlernen wir mit rauf/runter vom Antrien quittiert, aber er reagiert nicht auf Befehle.
Nun habe ich den rolling_Code und Sync_Key aus der alten fhem.save herausgesucht und per setreading dem Device geschickt. Danach habe ich den at im 5 sek takt einen Befehl senden lassen. Das mcht er jetzt schon ne halbe Stunde, aber keine Reaktion
Ich werd irrre. Was kann ich denn nun noch tun ?
Per Somfy FB ist alles IO
Zitat von: Skusi am 14 Juni 2016, 18:33:49
Leider funktioniert das alles bei mir nicht.
Ich bin auch auf einen anderen Raspberry umgezogen.
3 von 5 Somfy Rolladen funktionieren wieder.
Meine beiden Problemfälle, lassen sich neu anlernen, aber reagieren nicht auf Befehle.
Dann hab ich alle angelernten Sender im Rollade gelöscht, die Adresse im Device geändert und den Cul neu angelernt.
Anlernen wir mit rauf/runter vom Antrien quittiert, aber er reagiert nicht auf Befehle.
Nun habe ich den rolling_Code und Sync_Key aus der alten fhem.save herausgesucht und per setreading dem Device geschickt. Danach habe ich den at im 5 sek takt einen Befehl senden lassen. Das mcht er jetzt schon ne halbe Stunde, aber keine Reaktion
Ich werd irrre. Was kann ich denn nun noch tun ?
Per Somfy FB ist alles IO
Wie hast Du denn alle angelernten Sender im Rolladen gelöscht?
Anlernen wir mit rauf/runter vom Antrien quittiert --> Soll das heissen er reagiert im Anlernmodus auf einen Prog-Befehl aus dem CUL?
Wenn Du eine neue Adresse angelernt hast und danach den rolling code auf einen höheren Wert gesetzt hast wird auch nach Stunden der rolling code immer noch zu hoch sein.
Lege einen neuen Device (ganz neu) mit einer ganz neuen Adresse an und lerne diesen an.
Wenn das geht kannst Du immer noch alle Daten im anderen Device anpassen.
ZitatWie hast Du denn alle angelernten Sender im Rolladen gelöscht?
Netzspannung des Antriebs für 2 sek. aus / 10 sek. an / 2 sek. aus / und wider an.
Quittierung durch 5 sek Fahrt.
Dann prog Taste an FB und alle bis auf die FB sind gelöscht (Laut Manual)
ZitatAnlernen wir mit rauf/runter vom Antrien quittiert --> Soll das heissen er reagiert im Anlernmodus auf einen Prog-Befehl aus dem CUL?
Ja genau so ist es. Das ist ja das komische. Lernen geht aber, fahren nicht !
ZitatLege einen neuen Device (ganz neu) mit einer ganz neuen Adresse an und lerne diesen an.
Wenn das geht kannst Du immer noch alle Daten im anderen Device anpassen.
Hab ich gemacht, leider keine Änderung
hier mal das List, aber das hilft sicher auch nicht viel.
Internals:
ADDRESS 010101
CFGFN
DEF 010101
IODev TestCUL
LASTInputDev TestCUL
MSGCNT 3
NAME RollKino3
NR 901
STATE open
TYPE SOMFY
TestCUL_MSGCNT 3
TestCUL_RAWMSG YsA2290002010101
TestCUL_TIME 2016-06-19 16:12:35
exact open
move off
position 0
Code:
1 010101
Readings:
2016-06-19 16:12:34 enc_key A3
2016-06-19 16:12:34 exact open
2016-06-19 16:12:35 parsestate off
2016-06-19 16:12:34 position 0
2016-06-19 16:12:34 rolling_code 0003
2016-06-19 16:12:34 state open
Attributes:
IODev TestCUL
Ich bin ratlos. Das schlimme ist, das ich das Problem schon mal hatte und es irgendwie wieder hinbekommen habe. Ich kann m,ich beim besten Willen nur nicht mehr erinnern wie ich das gelöst hatte. Ich meine ich hätte auch nur alle Zuordnungen gelöscht. Das hab ich aber nun schon dreimal gemacht, und wird auch immer als erfolgt quittiert. Aber ich bekomme das Ding nicht gefahren.
Definiere den Rolladen mal mit einer 6-stelligen Addresse ohne Leerzeichen:
define roll SOMFY 030405
Ich bin mir unklar, wie Du die Definition überhaupt mit dem Somfy-Modul hinbekommst, bei mir kommt bei ähnlicher Definition:
ZitatDefine testsomfy: wrong address format: specify a 6 digit hex value
Ähh ich verstehe nicht was an meiner Definition nicht in Ordnung sein soll. Ich habe doch eine 6 Stellige Hex Value ohne Leerzeichen angegeben.
So läuft das hier auch schon seit Jahren einwandfrei.
Aber egal, ich habs mittlerweile wieder zum laufen gebracht !!! :)
Man muß schon genau lesen was Somfy da schreibt.
Also das Problem war sicherlich das ich die max 12 möglichen Pairs überschriten hatte.
Die Prozedur die ich laut Manual zum löschen aller Zuordungen befolgt habe hat aber nicht wirklich das getan was sie sollte, nämlich alle angelernten Sender löschen um wieder platz für eine neue Somfy-Modul Adresse zu schaffen.
Mein Fehler war, das ich beim Anlernen des ersten Sender keinen "unbekannten" Sender genommen habe, sondern die FB die schon gepairt war. Der Antrieb quittiert zwar alles positiv und man glaubt es ist alles so gelaufen wie man es wollte, aber Pustkuchen.
Nun also habe ich erste einen bekannten Wandsender "abgemeldet" um dann diesen nach der Strom an / aus Orgie als ersten "neuen" anzulernen.
Uns siehe da, nun konnte ich auch eine neue Adresse im vorhandenen SOMFY Device anlernen und der Antrieb läuft wieder !!!
Ich habe also einfach dei def mit anderer Hex Nummer nochmal abgefeuert. So habe ich das immer gemacht. Das geht eben auch nur solange Gut, bis man irgendwann wieder die 12 Adressen voll hat.
So, ich hoffe das meine Erfahrungen auch anderen hier bei Problemen mit den Somfy´s weiterhilft.
Ansonsten bin ich immer noch schwer begeistert von dem Modul und seinen Möglichkeiten.
Aber was es mit meiner "falschen" Definition auf sich hat, würde ich schon noch gerne erfahren...
Ich versuchs nochmal am Beispiel zu erklären. Somfy Definition sehen per list z.B. so aus:
Internals:
ADDRESS 010205
DEF 010205 A0 0001
IODev SCC2
LASTInputDev SCC2
MSGCNT 1
NAME Ztest2
NR 253
SCC2_MSGCNT 1
SCC2_RAWMSG YsA04E0060050201
SCC2_TIME 2016-06-19 21:11:33
STATE close
TYPE SOMFY
move on
Code:
1 010205
Readings:
2016-06-19 21:11:31 enc_key A1
2016-06-19 21:11:31 exact 200
2016-06-19 21:11:33 parsestate on
2016-06-19 21:11:31 position 200
2016-06-19 21:11:31 rolling_code 0061
2016-06-19 21:11:31 state closed
Attributes:
IODev SCC2
eventMap on:close off:open stop:halt closed:close
room SOMFY
webCmd open:close:halt
Die Adresse ist hier 010205 (und nicht 01 01 01) also vor allem ohne Leerzeichen.
Das sieht man auch am Internal RAWMSG, der Befehl enthält keine Leerzeichen, bei Dir aber schon.
Wie gesagt ich weiss nicht wie Du eine solche Definition hinbekommst, ist Dein FHEM aktuell?
Mit den Leerzeichen kann es nicht so funktionieren wie erwartet...
Bitte markiere mir mal die angeblichen Leerzeichen in meiner Adresse.
Ich kann beim besten Willen keine entdecken
Mir ist klar das eine Adresse mit Leerzeichen nich funktionieren kas, deshalb habe ich auch keine drin.
Es funktionier ja nun auch, wie oben beschrieben. Wenn beim copy paste was schief gegangen ist und du Leerzeichen siehst, dann entschuldige ich mich. Aber ich lese doch hier dasselbe was du liest.
Hi Skusi,
Sorry, ich muss mich entschuldigen, ich habe die letzten Tage auf meinem Tablet gelesen, da habe ich echt ein Leerzeichen in Deiner Adresse erspäht. Auf dem Laptop sieht es plötzlich korrekt aus.
Also ja die Adresse ist korrekt und es geht ja auch wieder.
Johannes
Und ich dachte schon ich muß zum zum Arzt ... ???