Hi,
ich hab mich an dem Thema fest gebissen, komme aber nur langsam voran... Ich möchte gerne mit FHEM und dem Selbstbau-Cul meine Funktsteckdosen vom Typ Mumbi m-FS300 schalten. Diese sind selbstlernend, wohl ähnlich intertechno - nutzen auch eine AB440R-Fernbedienung die wohl IT spricht - allerdings reagieren die Dosen nicht auf das IT-Protokoll.
Aktuell kann ich diese über pilight-raw schalten (was aber nicht so zuverlässig ist und der Kabelsalat etwas nervt) - zukünftig möchte ich dies gerne mit dem Cul erledigen.
Ein Beispiel für die Pilight RAWs der Taste B einer Fernbedienung:
(Zeile B off / on jeweils Millisekunden zwischen High-To-Low bzw. umgekehrt - beginnend mit High)
(Zeile beginnend mit BIN: Die "Übersetzung" der High-Low-Werte ins Binärformat)
B off |
174 |
4988 |
203 |
1102 |
174 |
1073 |
841 |
435 |
261 |
1073 |
174 |
1102 |
841 |
435 |
899 |
377 |
232 |
1044 |
232 |
1073 |
203 |
1102 |
812 |
406 |
261 |
1044 |
203 |
1073 |
870 |
406 |
870 |
406 |
232 |
1044 |
957 |
406 |
145 |
1073 |
870 |
406 |
870 |
464 |
841 |
406 |
899 |
406 |
870 |
406 |
232 |
1044 |
870 |
464 |
174 |
1073 |
232 |
1073 |
870 |
406 |
1101100111011001010000010110 |
28 |
|
1 |
|
1 |
|
0 |
|
1 |
|
1 |
|
0 |
|
0 |
|
1 |
|
1 |
|
1 |
|
0 |
|
1 |
|
1 |
|
0 |
|
0 |
|
1 |
|
0 |
|
1 |
|
0 |
|
0 |
|
0 |
|
0 |
|
0 |
|
1 |
|
0 |
|
1 |
|
1 |
|
0 |
|
B on |
238 |
4945 |
243 |
1033 |
236 |
1033 |
897 |
379 |
253 |
1031 |
257 |
1045 |
875 |
412 |
231 |
1031 |
914 |
383 |
894 |
382 |
254 |
1022 |
893 |
384 |
256 |
1022 |
266 |
1021 |
904 |
381 |
919 |
365 |
287 |
1040 |
855 |
389 |
894 |
380 |
905 |
382 |
275 |
1003 |
905 |
381 |
905 |
373 |
950 |
349 |
912 |
364 |
897 |
387 |
254 |
1031 |
272 |
1022 |
904 |
371 |
1101101001011001000100000110 |
28 |
|
1 |
|
1 |
|
0 |
|
1 |
|
1 |
|
0 |
|
1 |
|
0 |
|
0 |
|
1 |
|
0 |
|
1 |
|
1 |
|
0 |
|
0 |
|
1 |
|
0 |
|
0 |
|
0 |
|
1 |
|
0 |
|
0 |
|
0 |
|
0 |
|
0 |
|
1 |
|
1 |
|
0 |
|
für Sync werden wohl ca. 4900 ms LOW erwartet...
Eine 1 wird repräsentiert durch ca 230 ms HIGH gefolgt von 1050 ms LOW
Eine 0 wird repräsentiert durch ca 885 ms HIGH gefolgt von 400 ms LOW
Ein Befehl besteht dann aus genau 28 Bit
Ok, mit dem CUL mal gegen gechekct - bisschen mit dem X-Befehl probiert und siehe da...:
B off
p10 |
272 |
992 |
928 |
352 |
288 |
960 |
28 |
1 |
3 |
4 |
416 |
4880 |
0 |
44 |
D9D94160 |
|
B on
p10 |
256 |
1008 |
928 |
352 |
256 |
992 |
28 |
1 |
3 |
4 |
272 |
4880 |
0 |
30 |
DA591060 |
|
Okay, also kann der CUL es auch empfangen - perfekt.
Dann machen wir uns mal ans senden - hab mir in Excel etwas gebaut, was mir den G Befehl "berechnet":
GssNnprHHLLhhllDDDD... |
|
|
|
|
|
Send raw data, only if
HAS_RAWSEND is enabled. |
Wert in ms |
|
Wert Dez. |
Auf Syntax angepasster HEX |
HEX |
Everything after the command G
is hex. |
|
|
|
|
|
ss Number of sync bits. Sync
is always 0, followed by exactly one 1-bit. |
4900 |
4 |
|
4 |
04 |
N Number of data bytes
(exclusive the last byte if it is not complete) |
|
3 |
|
3 |
03 |
n Number of bits in the last
byte |
|
4 |
|
4 |
04 |
p Number of ms pause between
repeats |
|
5 |
|
5 |
05 |
r Number of repeats (e.g.
FS20: 3) |
|
1 |
|
1 |
01 |
HH High-Time for the 0-bit,
Unit is 16us (!) |
885 |
55 |
|
37 |
37 |
LL Low- Time for the 0-bit,
Unit is 16us (!) |
400 |
25 |
|
19 |
19 |
hh High-Time for the 1-bit,
Unit is 16us (!) |
230 |
14 |
|
E |
0E |
ll Low- Time for the 1-bit,
Unit is 16us (!) |
1050 |
66 |
|
42 |
42 |
DDDDD... Databytes |
|
DA591060 |
|
|
|
See also X04 |
|
|
|
|
|
daraus resultiert dann der Folgende Befehl:
G04345137190E42DA591060
=> Geht aber nicht. Hat einer eine Idee warum? |