Hallo zusammen,
Dies ist mein erster Kontakt mit FHEM, und gleich mein erstes Vorhaben funktioniert leider nicht, wie gewollt.
Ich habe ein RENSON Lamellendach, welches ich gerne mit dem iPhone über HomeKit steuern möchte. Im ersten Schritt soll dazu die Verbindung FHEM <-> SIGNALduino <-> Dach funktionieren.
Der Monteur hat mir gesagt, das Dach verwende das Somfy RTS Protokoll auf 868MHz. Hier ging die Verwirrung bereits los, denn laut Internet funkt Somfy RTS auf 433MHz, genauer gesagt 433.42MHz. Ebenso funkt die mitgelieferte Fernbedienung Somfy Situo 5 RTS Pure II laut Datenblatt auf 433.42MMHz. Folglich habe ich die 868MHz als Fehlerhaft angesehen und Hardware für 433MHz gekauft.
Dabei handelt es sich um den "Klassiker" Arduino Nano mit CC1101 Sender (https://www.ebay.de/itm/252742123829 und https://www.ebay.de/itm/253638030755). Zusammengebaut habe ich die Hardware auf Lochrasterplatine nach dem Schaltplan aus dem FHEM Wiki (https://wiki.fhem.de/w/images/3/3f/Selbstbau_cul_Schaltplan_1.png). Mittlerweile habe ich verschiedene Versionen der SIGNALduino Firmware ausprobiert, derzeit ist Version 3.4.0 installiert.
Innerhalb von FHEM habe die die Geräte wie im Wiki beschrieben angelegt. Nach einigen Versuchen habe ich die Umbenennung gelassen, daher heißen die Geräte in den Listings "sduino" und "RolloOben", den 6-Stelligen Hexcode habe ich natürlich jedes Mal angepasst.
Nun zu meinem Problem: Beim Anlernen des Dachs reagiert mit einer kurzen Auf- und Abbewegung auf die prog-Taste der Fernbedienung. Führe ich dann "set RolloOben prog" aus, zeigt das Dach keinerlei Reaktion. Auch folgende Kommandos aus FHEM zeigen keine Reaktion.
Mir ist aufgefallen, dass mein SIGNALduino in der Versionsangabe "SIGNALduino cc1101 (868 Mhz )" stehen hat. Bei Listings aus dem Forum steht dort meistens hingegen "SIGNALduino cc1101 (chip CC1101)". Warum sagt meiner hier 868MHz? Auf der CC1101 Platine ist "433" aufgedruckt.
Ich habe leider keinen Tipp im Forum gefunden, der mich weiter gebracht hat. Mache ich etwas falsch? Ist die Hardware defekt? Daher bin ich für jeden Hinweis dankbar.
FHEM läuft derzeit für die Tests auf einem Deskmini A300 unter Ubuntu 21.04.
Listings:
SIGNALduino:
Internals:
Clients :IT:CUL_TCM97001:SD_RSL:OREGON:CUL_TX:SD_AS:Hideki:SD_WS07:SD_WS09: :SD_WS:RFXX10REC:Dooya:SOMFY:SD_BELL:SD_UT:SD_WS_Maverick:FLAMINGO:CUL_WS:Revolt: :FS10:CUL_FHTTK:Siro:FHT:FS20:CUL_EM:Fernotron:SD_Keeloq:SD_GT:SIGNALduino_un:
DEF /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
DMSG nothing
DevState initialized
DeviceName /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0@57600
FD 7
FUUID 608ecc6d-f33f-8b56-7d65-a2ec64ea7109538f
IDsNoDispatch 2,72.1,82
LASTDMSG nothing
LASTDMSGID nothing
NAME sduino
NR 14
NR_CMD_LAST_H 1
PARTIAL
STATE opened
TIME 1622718349
TYPE SIGNALduino
cc1101_available 1
sendworking 0
version V 3.4.0 SIGNALduino cc1101 (868 Mhz ) - compiled at May 30 2021 11:43:04
versionProtocols 1.21
versionmodul v3.4.4
MatchList:
10:SD_WS07 ^P7#[A-Fa-f0-9]{6}[AFaf][A-Fa-f0-9]{2,3}
11:SD_WS09 ^P9#F[A-Fa-f0-9]+
12:SD_WS ^W\d+x{0,1}#.*
13:RFXX10REC ^(20|29)[A-Fa-f0-9]+
14:Dooya ^P16#[A-Fa-f0-9]+
15:SOMFY ^Ys[0-9A-F]+
16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
17:SD_UT ^P(?:14|20|26|29|30|34|46|68|69|76|81|83|86|90|91|91.1|92|93|95|97|99|104)#.*
18:FLAMINGO ^P13\.?1?#[A-Fa-f0-9]+
19:CUL_WS ^K[A-Fa-f0-9]{5,}
1:IT ^i......
20:Revolt ^r[A-Fa-f0-9]{22}
21:FS10 ^P61#[A-F0-9]+
22:Siro ^P72#[A-Fa-f0-9]+
23:FHT ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
24:FS20 ^81..(04|0c)..0101a001
25:CUL_EM ^E0.................
26:Fernotron ^P82#.*
27:SD_BELL ^P(?:15|32|41|42|57|79|96|98)#.*
28:SD_Keeloq ^P(?:87|88)#.*
29:SD_GT ^P49#[A-Fa-f0-9]+
2:CUL_TCM97001 ^s[A-Fa-f0-9]+
3:SD_RSL ^P1#[A-Fa-f0-9]{8}
4:OREGON ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
5:CUL_TX ^TX..........
6:SD_AS ^P2#[A-Fa-f0-9]{7,8}
7:Hideki ^P12#75[A-F0-9]+
9:CUL_FHTTK ^T[A-F0-9]{8}
X:SIGNALduino_un ^[u]\d+#.*
QUEUE:
READINGS:
2021-06-03 13:12:22 cc1101_config Freq: 433.420 MHz, Bandwidth: 325 KHz, rAmpl: 42 dB, sens: 8 dB, DataRate: 5603.79 Baud
2021-06-03 13:12:22 cc1101_config_ext Modulation: ASK/OOK, Syncmod: No preamble/sync
2021-06-03 13:12:11 cc1101_patable C3E = 00 C0 00 00 00 00 00 00 => 10_dBm
2021-06-03 13:12:19 cmds V R t X S P C r W s x e
2021-05-30 01:41:31 config MS=1;MU=1;MC=1;Mred=1
2021-05-30 12:27:31 freeram 1004
2021-06-03 15:24:51 ping OK
2021-06-03 13:05:51 state opened
2021-06-03 13:12:28 uptime 0 00:06:37
XMIT_TIME:
1622725543
additionalSets:
keepalive:
ok 1
retry 0
mcIdList:
10
11
12
18
43
47
52
57
58
96
msIdList:
0
0.1
0.2
0.3
0.4
0.5
1
3
3.1
4
6
7
13
13.2
14
15
17
20
23
25
33
33.1
33.2
35
41
49
51
53
54.1
55
65
68
74.1
87
88
90
91.1
93
muIdList:
8
9
13.1
16
17.1
19
21
22
24
26
27
28
29
30
31
32
34
36
37
38
39
40
42
44
44.1
45
46
48
49.1
49.2
50
54
56
59
60
61
62
64
66
67
69
70
71
72
73
74
76
79
80
81
83
84
85
86
89
91
92
94
95
97
98
99
104
105
Attributes:
cc1101_frequency 433.420
event-on-change-reading state
eventlogging 1
hardware nanoCC1101
rawmsgEvent 1
verbose 5
Dach:
Internals:
ADDRESS 528462
CFGFN
DEF 528462
FUUID 60b8bd67-f33f-8b56-cf5b-7adaa78b75c4f4d5
IODev sduino
NAME RolloOben
NR 43
STATE closed
TYPE SOMFY
move prog
CODE:
1 528462
READINGS:
2021-06-03 13:30:59 IODev sduino
2021-06-03 15:05:43 enc_key A9
2021-06-03 15:05:43 exact 200
2021-06-03 15:05:43 position 200
2021-06-03 15:05:43 rolling_code 0009
2021-06-03 15:05:43 state closed
Attributes:
IODev sduino
model somfyshutter
Log bei "set RolloOben prog":
2021.06.03 15:05:43 5: sduino: Write, sending via Set sendMsg P43#A924242D4FCB99#R6
2021.06.03 15:05:43 5: sduino: Set_sendMsg, msg=P43#A924242D4FCB99#R6
2021.06.03 15:05:43 5: sduino: Set_sendMsg, Preparing manchester protocol=43, repeats=0, clock=645 data=A924242D4FCB99
2021.06.03 15:05:43 5: sduino: AddSendQueue, sduino: SC;R=6;SR;P0=-2560;P1=2560;P3=-640;D=10101010101010113;SM;C=645;D=A924242D4FCB99;F=10AB85550A; (1)
2021.06.03 15:05:43 4: sduino: Set_sendMsg, sending : SC;R=6;SR;P0=-2560;P1=2560;P3=-640;D=10101010101010113;SM;C=645;D=A924242D4FCB99;F=10AB85550A;
2021.06.03 15:05:43 4: sduino: HandleWriteQueue, called
2021.06.03 15:05:43 4: sduino: SendFromQueue, called
2021.06.03 15:05:43 5: sduino: SimpleWrite, SC;R=6;SR;P0=-2560;P1=2560;P3=-640;D=10101010101010113;SM;C=645;D=A924242D4FCB99;F=10AB85550A;
2021.06.03 15:05:43 4: sduino: SendFromQueue, msg=SC;R=6;SR;P0=-2560;P1=2560;P3=-640;D=10101010101010113;SM;C=645;D=A924242D4FCB99;F=10AB85550A;
2021.06.03 15:05:44 4: sduino: Read, msg: SC;R=6;SR;P0=-2560;P1=2560;P3=-640;D=10101010101010113;SM;C=645;D=A924242D4FCB99;F=10AB85550A;
2021.06.03 15:05:44 5: sduino: Parse, noMsg: SC;R=6;SR;P0=-2560;P1=2560;P3=-640;D=10101010101010113;SM;C=645;D=A924242D4FCB99;F=10AB85550A;
2021.06.03 15:05:44 5: sduino: Read, msg: regexp=.* cmd=sendraw msg=SC;R=6;SR;P0=-2560;P1=2560;P3=-640;D=10101010101010113;SM;C=645;D=A924242D4FCB99;F=10AB85550A;
2021.06.03 15:05:44 4: sduino: CheckSendrawResponse, sendraw answer: SC;R=6;SR;P0=-2560;P1=2560;P3=-640;D=10101010101010113;SM;C=645;D=A924242D4FCB99;F=10AB85550A;
2021.06.03 15:05:44 4: sduino: Read, msg:
2021.06.03 15:05:45 4: sduino: HandleWriteQueue, called
2021.06.03 15:05:45 4: sduino: HandleWriteQueue, nothing to send, stopping timer
2021.06.03 15:05:51 4: sduino: KeepAlive, ok, retry = 0
Einen schönen Feiertag wünscht
DerJKM
Du hast wahrscheinlich beim compilieren die falschen Optionen in der compile_config.h ausgewählt, entweder für MINICUL oder RADINO. Für den Nano mit CC101 muss dort nur #define CMP_CC1101 auskommentiert werden.
Besser ist es natürlich gleich die vorgefertigten Firmware-Dateien zu flashen.
mach mal
get sduino availableFirmware
Dang! Ich hatte tatsächlich die falsche DEFINE-Option aktiviert, nämlich den ARDUINO_ATMEGA328P_MINICUL, und das obwohl ich extra die definierten Pins überprüft hatte. Zahlendreher gehabt... Vielen Dank!
Die fertigen Firmwaredateien hatte ich zu Beginn auch probiert, die gingen damals nicht, aber zwischendrin hatte ich auch noch einen Kurzen zwischen GDO0 und GDO2 auf der Platine. Lesson learned: nach sowas wieder bei 0 anfangen mit dem testen.
get sduino availableFirmware ergibt "Fetching stable firmware versions for nanoCC1101 from GitHub", danach passiert nichts mehr (avrdude ist installiert und die Berechtigungen passen). Aber jetzt weiß ich ja wie man die Firmware korrekt kompiliert :)
So geht es auch in der FHEM-Oberfläche:
Device SIGNALduino auswählen, dann:
1. Attribut Hardware setzen
2. Attribut updateChannelFW setzen
3. get availableFirmware
4. set flash
5. Reading Version kontrollieren