Signalduino + Somfy

Begonnen von pataya, 05 Januar 2017, 17:31:56

Vorheriges Thema - Nächstes Thema

Ralf9

Zitatund jetzt wird Somfy wieder nicht erkannt.
Somfy wird nur erkannt, wenn MC enabled ist (set  SD1 enableMessagetype  MC).
Somfy Nachrichten sehen ungefähr so aus:
2017.06.01 19:20:39 4: SD1/msg READ: MC;LL=-1405;LH=1269;SL=-723;SH=620;D=98DBD153D631BB;C=669;L=56;R=229;

ZitatRSSI = -83.5
Bitte mal schauen ob sich was ändert, wenn der Handsender etwas näher dran ist (RSSI ca -75 bis -60)

@viegener
Lässt sich bei den 0-Bit am Anfang zuviel ein System erkennen? z.B. immer bei mehreren 0 am Anfang ist eine 0 zuviel.
Lässt sich erkennen ob bei den ersten 4 Bit alle 16 Werte vorkommen können? Oder  z.B. nur A, 4 oder 1?

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

habeIchVergessen

Zitat von: Elektrolurch am 02 Juni 2017, 09:31:29
und dann die Stopp-Taste gedrückt:
2017.06.02 09:08:49 4: SD1/msg READ: MU;P0=-176;P1=1724;P2=-725;P3=616;P4=-1408;P5=1288;D=012323454325452323232345452323234323232325234323232325232343254543232323232545432325432323;CP=3;R=239;


MU;P0=-176;P1=1724;P2=-725;P3=616;P4=-1408;P5=1288;D=012323454325452323232345452323234323232325234323232325232343254543232323232545432325432323;CP=3;R=239;

012323454325452323232345452323234323232325234323232325232343254543232323232545432325432323

  sSsSlLlSsLlLsSsSsSsSlLlLsSsSsSlSsSsSsSsLsSlSsSsSsSsLsSsSlSsLlLlSsSsSsSsSsLlLlSsSsLlSsSsS
   1 1010 0101 1 1 1 10101 1 1 10 0 0 0 01 10 0 0 0 01 1 10 01010 0 0 0 0 01010 0 010 0 0
   
   11010010 11111010 11110000 01100000 11100101 00000010 10001000

   D2FAF060E50288 D2200A908AE785

habe die eine Nachricht händisch als Manchester decodiert und komme auf die Somfy-ID 8AE785.
Rolling-Code ist 0x0A90. Kommando 20 und 1. Byte D2

Die Mechanik des 1. Bytes muss durch mehr Daten erarbeitet werden.

Elektrolurch

Ok. Wie kann ich zuliefern?
Frage: Was soll ich nun in  disableMessagetype enableMessagetype  hinterlegen?
Somfy ist wohl ein MC mit der ID 43. Was ist der Unterschied zwischen MU und MC?

Elektrolurch
configDB und Windows befreite Zone!

habeIchVergessen

Zitat von: Elektrolurch am 02 Juni 2017, 10:24:03



MU;P0=-9144;P1=2404;P2=-2660;P3=4776;P4=-1413;P5=610;P6=-732;P7=1260;D=012123456745656567456765656565654567654747654747654565656747456765654567656545674565674565;CP=5;R=235;

012123456745656567456765656565654567654747654747654565656747456765654567656545674565674565

      lSsLlSsSsSsLlSsLsSsSsSsSsSlSsLsSlLlLsSlLlLsSlSsSsSsLlLlSsLsSsSlSsLsSsSlSsLlSsSsLlSsS
 
  0 010 0 0 010 01 1 1 1 1 10 01 10101 10101 10 0 0 01010 01 1 10 01 1 10 010 0 010 0

  00100001 00111111 00110101 10101100 00101001 11001110 01000100

  213F35AC29CE44 21100A998AE785


MU;P0=-92;P1=2318;P2=-2656;P3=4784;P4=-747;P5=599;P6=-1418;P7=1289;D=0121234565454547454545654767454545654745456765454545474567654545454745674565476547454567454565;CP=5;R=234;

0121234565454547454545654767454545654745456765454545474567654545454745674565476547454567454565

      sSlSsSsSsLsSsSsSlSsLlLsSsSsSlSsLsSsSlLlSsSsSsSsLsSlLlSsSsSsSsLsSlLsSlSsLlSsLsSsSlLsSsSlS
 
   10 0 0 01 1 1 10 0101 1 1 10 01 1 1010 0 0 0 01 1010 0 0 0 01 101 10 010 01 1 101 1 10
   
   10000111 10010111 10011101 00000110 10000011 01100100 11101110
   
   87979D068364EE 87100A9B8AE785


Nachricht mit Rolling-Code 0x0A99 beginnt mit 0x21
Rolling-Code 0x0A9B beginnt mit 0x87

könnte ((RollingCode << 1) + 1) & 0xFF) sein.

Bitte wieder die MC-Decodierung einschalten. Gut wäre ein grep auf das Log, um die die Zeilen mit MC rauszuholen. und dann ein tail, um zwischen den Taschendrücken einige Leerzeilen erzeugen zu können (z.B. nach der ersten Taste 2 Zeilen, nach der 2. 3 Zeilen).

Elektrolurch

Hallo,

ok. 3 x verschiedene FBs an drei unterschiedlichen Standorten. Je ca. 10 x mal im Abstand von ca. 1 Minute gedrückt.
Hänge das als File hier an.

Gruß

Elektrolurch
configDB und Windows befreite Zone!

viegener

@viegener
Lässt sich bei den 0-Bit am Anfang zuviel ein System erkennen? z.B. immer bei mehreren 0 am Anfang ist eine 0 zuviel.
Lässt sich erkennen ob bei den ersten 4 Bit alle 16 Werte vorkommen können? Oder  z.B. nur A, 4 oder 1?

Gruß Ralf
[/quote]


Konnte bisher kein System erkennen lasse ja fhemduino und signalduino parallel laufen.
Gefühlt jeder 10. Befehle wird vom Signalduino richtig interpretiert ohne führende Null

Bei mir kommen wohl alle Werte im ersten Nibble vor (vom fhemduino) - ich habe jetzt nach 10 Versuchen A, B, 5, 2, 9 --> klare Häufung bei A (daher wohll auch die ursprüngliche Annahme von pushstack (er hat ja auch keine protokollbeschreibung sondern reverse engineered)

beispiele für Fehlererkennungen (Achtung der fhemduino entfernt die checksum frühzeitig deshalb immer 0)


2017.06.02 18:21:39 4: SomfyR: Ys 54 40 3858 33858a
2017.06.02 18:21:39 1: DEBUG>res :2A0C103C25E722

2017.06.02 18:21:39 4: SomfyR: Ys 54 40 3858 33858a
2017.06.02 18:21:39 1: DEBUG>res :2A0C103C25E722

2017.06.02 18:21:37 4: SomfyR: Ys 29 20 3eab d5878a
2017.06.02 18:21:37 1: DEBUG>res :14849BCE24E722

2017.06.02 18:21:35 4: SomfyR: Ys 2a 10 3857 33858a
2017.06.02 18:21:35 1: DEBUG>res :151A86AD34F633

2017.06.02 18:21:34 4: SomfyR: Ys 4a 10 3ea9 d5878a
2017.06.02 18:21:34 1: DEBUG>res :252F30648E4D888

2017.06.02 18:17:45 4: SomfyR: Ys a5 20 3ea8 d5878a
2017.06.02 18:17:46 1: DEBUG>res :52C15E0A60A366

2017.06.02 18:17:41 4: SomfyR: Ys b9 20 2a20 0ceb8a
2017.06.02 18:17:41 1: DEBUG>res :5CCC59494F3AFF8



Korrekt so:


2017.06.02 18:17:41 4: SomfyR: Ys b9 20 2a20 0ceb8a
2017.06.02 18:17:41 1: DEBUG>res :B998B2929E75FF

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Ralf9

Ich hab mirs mal angeschaut.

Es sind ein paar Anpassungen in der 00_SIGNALduino.pm notwendig.
Beim log von Elektrolurch ist mir aufgefallen, daß es auch eine clock von 677 gibt. Ich werde die clockrange max auf 680 erhöhen.
Viele Nachrichten sind zu kurz Länge (L) kleiner 56.
Bei Nachrichten mit L=57 werde ich mal die 0 am Anfang entfernen.

@viegener
In der 10_SOMFY.pm wird noch in der sub define auf A am Anfang getestet
# check encryption key (2 hex digits, first must be "A")
https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/10_SOMFY.pm

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

viegener

Zitat von: Ralf9 am 02 Juni 2017, 19:44:14

@viegener
In der 10_SOMFY.pm wird noch in der sub define auf A am Anfang getestet
# check encryption key (2 hex digits, first must be "A")
https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/10_SOMFY.pm

Gruß Ralf

ja - ich weiss - seit geraumer Zeit läuft bei mir eine neuere Version, mit Umstellungen für den Signalduino, die ich aber wg. der Problem mit dem Empfang nicht wirklich testen konnte.

Beim Autocreate habe ich das momentan wieder eingebaut, sonst hätte ich inzwischen hunderte Somfy-Devices, die über den Signalduino angelegt wurden ;)
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Ralf9

Zitatsonst hätte ich inzwischen hunderte Somfy-Devices

Hast Du es schon mal mit dem autocreateThreshold versucht?

$hash->{AutoCreate}=
        { "SOMFY.*" => { GPLOT => "", FILTER => "%NAME",  autocreateThreshold => "2:30"} };
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

habeIchVergessen

Zitat von: Elektrolurch am 02 Juni 2017, 18:16:55
Hänge das als File hier an.

Danke.

Der Empfang sieht aus meiner Sicht richtig schlecht aus. Es werden pro Tastendruck 6 oder 7 identische Nachrichten versendet (s. Beispiel).

2017.06.02 17:39:04 4: SD1/msg READ: MC;LL=-1395;LH=1269;SL=-725;SH=621;D=2005095F82F633;C=668;L=56;R=10;
2017.06.02 17:39:04 4: SD1/msg READ: MC;LL=-1395;LH=1269;SL=-725;SH=621;D=2005095F82F633;C=668;L=56;R=10;

Davon sollten mindestens 4 ordentlich empfangbar sein.

für die weiterführenden Analyse kommt später.

habeIchVergessen

#70
FB2

2017.06.02 17:30:03 1D80 8865 C56772 A2
2017.06.02 17:33:04 6E80 0866 C567F2 D5
2017.06.02 17:34:05 5D00 0867 C56772 >> 1
2017.06.02 17:37:07 6880 8868 C567F2

Die Adressen sehen ja fast gut aus C567(F|7)2. Die Rolling-Codes ebenso (0|8)86x.
Leider passt das Aufsteigen des Rolling-Codes (pro Minute +1) nicht zum Zeitverlauf. die führende 8 ignorieren wir mal großzügig.

FB3

2005095F82F633 20200C56C574DD
81C5DD73C920AA >> 1
40A00C57C5745D
01262A7DA0D411 01200C57C574DD
05A1ADF5285C998 05A00C58C574DD.91
1631BDE4394D888 16208C59C574DD.80
2C0985DF82F633 2C208C5AC5745D
B1FCE451EB0288 >> 1
58A08C5AC574DD
8E978F378D64EE >> 1
47008C5CC5745D

Adresse und Rolling-Code passen auch nicht recht.

Ralf9

#71
Ich habe in der 00_SIGNALduino.pm die Prüfung auf A am Anfang entfernt.
Bei Somfy Nachrichten mit einer Länge von 57 Bit wird jetzt das erste Bit entfernt.
Bitte mal testen ob damit die Erkennung des Handsenders besser ist.

Nachtrag:
mir ist aufgefallen, daß wenn die Somfy Nachricht um ein Bit verschoben ist, die Checksumme anscheinend trotzdem passt.
Passt da evtl was nicht bei der Checksummenprüfung?

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

habeIchVergessen

Zitat von: Ralf9 am 03 Juni 2017, 19:27:07
Passt da evtl was nicht bei der Checksummenprüfung?
ist nicht wirklich komplex. Glaube ein einfaches XOR.

Ich bin der Meinung, dass es eher Bitfehler beim Empfang sind. Ist schon auffällig, wie sich Device-ID und Rolling-Code sporadisch ändern. Und die fehlenden Nachrichten stören mich auch.

Elektrolurch

Guten Morgen,

habe das Update vom Repository gemacht.
# $Id: 00_SIGNALduino.pm 10485 2017-06-03 14:00:00Z v3.3.1-dev $
Und so ist der SD eingestellt:
     2017-06-04 10:01:07   ccconf          freq:433.420MHz bWidth:325KHz rAmpl:42dB sens:4dB 

Auch wenn ich direkt vor dem SD stehe und die FB drücke, wird diese zwar erkannt, aber der parsestate wird in Folge nicht gesetzt.
Das sieht man auch im angehängten log.
Ich hoffe, dass das weiter hilft.
Es scheint wohl kein eEichweitenproblem zu sein....


Gruß

Elektrolurch
P.S.: Bin ab Morgen ca. 10 Tage nicht in Reichweite der FBs...
configDB und Windows befreite Zone!

RaspiLED

Hi Elektrolurch,
Stell die sens mal auf 16!
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...