Lidl Silvercrest BAT Funksteckdosen-Set AAA3680-A

Begonnen von olli84, 15 Oktober 2014, 09:55:17

Vorheriges Thema - Nächstes Thema

olli84

Hallo,

diese Woche gabs beim Lidl Funksteckdosen im Angebot. Diese funktionieren leider nicht out-of-the-box mit meinem RFXTRX.

Kurze Beschreibung: 4 Steckdosen, einen Funkdrücker auf dem A bis D geschalten werden kann sowie einen Master (alle an oder aus). Keine DIP-Schalter sondern Anlerntaste an den Steckdosen.

Wenn ich in FHEM A an drücke kommt folgendes:

2014-10-15 00:43:11 TRX_LIGHT TRX_PT2262 100313111300
2014-10-15 00:43:12 TRX_LIGHT TRX_PT2262 102303312300
2014-10-15 00:43:14 TRX_LIGHT TRX_PT2262 100020300300
2014-10-15 00:43:15 TRX_LIGHT TRX_PT2262 103300021000
2014-10-15 00:43:16 TRX_LIGHT TRX_PT2262 100313111300
2014-10-15 00:43:17 TRX_LIGHT TRX_PT2262 102303312300
2014-10-15 00:43:19 TRX_LIGHT TRX_PT2262 103300021000
2014-10-15 00:43:20 TRX_LIGHT TRX_PT2262 100313111300
2014-10-15 00:43:21 TRX_LIGHT TRX_PT2262 102303312300
2014-10-15 00:43:25 TRX_LIGHT TRX_PT2262 100313111300


A aus macht folgendes:

2014-10-15 00:44:13 TRX_LIGHT TRX_PT2262 103230000100
2014-10-15 00:44:18 TRX_LIGHT TRX_PT2262 103230000100
2014-10-15 00:44:19 TRX_LIGHT TRX_PT2262 100101232200
2014-10-15 00:44:21 TRX_LIGHT TRX_PT2262 100101232200
2014-10-15 00:44:21 TRX_LIGHT TRX_PT2262 102111100200
2014-10-15 00:44:22 TRX_LIGHT TRX_PT2262 102221332100
2014-10-15 00:44:23 TRX_LIGHT TRX_PT2262 102111100200
2014-10-15 00:44:24 TRX_LIGHT TRX_PT2262 103230000100
2014-10-15 00:44:25 TRX_LIGHT TRX_PT2262 100101232200
2014-10-15 00:44:26 TRX_LIGHT TRX_PT2262 103230000100
2014-10-15 00:44:27 TRX_LIGHT TRX_PT2262 100101232200


Es scheint einen Pool von 4 verschiedenen AN- und Ausschaltern zu geben. Bei jedem Drücken kommt der nächste dran. Die Steckdose reagiert aber auf jedes Drücken, scheint also auf alle 4 zu hören.

Nun habe ich meinen RFXTRX an meinen Rechner angeschlossen und mit dem RFXmngr folgendes ausgelesen:

================================================
Reset receiver/transceiver:0D 00 00 02 00 00 00 00 00 00 00 00 00 00
================================================
Get Status:0D 00 00 03 02 00 00 00 00 00 00 00 00 00
------------------------------------------------
0D01000302534E080C2501010000
Packettype        = Interface Message
subtype           = Interface Response
Sequence nbr      = 3
response on cmnd  = Get Status
Transceiver type  = 433.92MHz
Firmware version  = 78
Hardware version  = 1.1
Undec             off
X10               enabled
ARC               disabled
AC                enabled
HomeEasy EU       disabled
Meiantech         disabled
Oregon Scientific enabled
ATI               disabled
Visonic           disabled
Mertik            disabled
AD                disabled
Hideki            enabled
La Crosse         enabled
FS20              disabled
ProGuard          disabled
BlindsT0          disabled
BlindsT1          disabled
AE                disabled
RUBiCSON          disabled
FineOffset        disabled
Lighting4         enabled
RSL               disabled
Byron SX          disabled
RFU               disabled


A an:
------------------------------------------------
091300004B3DB0015E70
Packettype    = Lighting4
subtype       = PT2262
Sequence nbr  = 0
Code          = 4B3DB0
S1- S24  = 0100 1011 0011 1101 1011 0000
Pulse         = 350 usec
Signal level  = 7
------------------------------------------------
09130001408C30015E70
Packettype    = Lighting4
subtype       = PT2262
Sequence nbr  = 1
Code          = 408C30
S1- S24  = 0100 0000 1000 1100 0011 0000
Pulse         = 350 usec
Signal level  = 7
------------------------------------------------
091300024F0240015E70
Packettype    = Lighting4
subtype       = PT2262
Sequence nbr  = 2
Code          = 4F0240
S1- S24  = 0100 1111 0000 0010 0100 0000
Pulse         = 350 usec
Signal level  = 7
------------------------------------------------
09130003437570015E70
Packettype    = Lighting4
subtype       = PT2262
Sequence nbr  = 3
Code          = 437570
S1- S24  = 0100 0011 0111 0101 0111 0000
Pulse         = 350 usec
Signal level  = 7
------------------------------------------------
091300044B3DB0015E70
Packettype    = Lighting4
subtype       = PT2262
Sequence nbr  = 4
Code          = 4B3DB0
S1- S24  = 0100 1011 0011 1101 1011 0000
Pulse         = 350 usec
Signal level  = 7
------------------------------------------------
09130005408C30015E70
Packettype    = Lighting4
subtype       = PT2262
Sequence nbr  = 5
Code          = 408C30
S1- S24  = 0100 0000 1000 1100 0011 0000
Pulse         = 350 usec
Signal level  = 7
------------------------------------------------
091300064F0240015E70
Packettype    = Lighting4
subtype       = PT2262
Sequence nbr  = 6
Code          = 4F0240
S1- S24  = 0100 1111 0000 0010 0100 0000
Pulse         = 350 usec
Signal level  = 7
------------------------------------------------
09130007437570015E70
Packettype    = Lighting4
subtype       = PT2262
Sequence nbr  = 7
Code          = 437570
S1- S24  = 0100 0011 0111 0101 0111 0000
Pulse         = 350 usec
Signal level  = 7



Wie bekomme ich den code nun in FHEM, um damit die Dosen zu schalten? Reicht es einfach den farbig markierten in das define zu schreiben? Oder muss hier noch was am Modul gemacht werden?

Vielen Dank für eure Hilfe,
Olli

olli84

#1
Ich habe jetzt herausgefunden, das der RFXmngr alle Codes gleich darstellt.

Also A AN ist das gleiche wie B AN usw. Das würde ja aber nichts machen, da das Gerät ja 4 verschiedene ON-Codes schickt. Das könnte ich ja selber definieren, welche Steckdose welchen Code bekommt. Oder?

Natürlich hat ein define über diese 24 Stellen von weiter oben nicht funktioniert. Das, was mir FHEM ausliest funktioniert aber leider auch nicht...

Was nun?

olli84

haben in einem arduino Forum folgenden Thread entdeckt:

http://forum.arduino.cc/index.php?topic=202556.0

Vielleicht mag es sich noch jemand anschauen... Wäre schade wenn ich die Dinger umsonst gekauft habe.

Viele Grüße und Danke!

Dirk_H

#3
Hallo,

ich habe die Teile letztes Jahr gekauft und muss sagen das die ziemlich Trickreich sind.

Ich habe damals bei Mikrocontroller gepostet: http://www.mikrocontroller.net/topic/312742

Ich habe die Teile schließlich mit dem Pollin AVR-Netio und angepasster Ethersex Firmware ans laufen gebracht.
Richtig durchschaut habe ich das Protokoll aber nie; sondern nur das gesendet was die Fernbedienung auch sendet.

Du kannst auch noch mal bei Peter vorbei schauen, das habe ich noch nicht gesehen (Antwort vom 14.11. bei Mikrocontroller.net ).

Kann man diesen "RFXTRX" eigentlich selber bauen oder muss man den kaufen. Hab da irgendwo was für 100Eur gesehen, das wäre mir ehrlich gesagt viel zu teuer.

Nachtrag:
Ich habe jetzt nochmal nachgesehen. Wie in dem Mikrocontroller Thread beschrieben sende ich nur den ersten TEil der Übertragung, bei meinen Lidl Steckdosen aus 2013 funktioniert das. (Sehen genau so aus wie die die gerade in der Werbung waren).

Der erste Teil (s. Mikrocontroller.net) besteht aus 24Bit. Es wird zunächst ein Synczeichen gesendet. Dann die Daten. Die Daten sind wie folgt codiert:

SyncHiTime: 520us
SyncLoTime: 2140us
1 Hi Time: 1240 us
1 Lo Time: 300us
0 Hi Time: 440us
0 Lo Time: 1040us

Die Zeiten passen evtl. nicht 100% - einige Codes funktionieren bei mir nicht, die meisten (90%) gehen aber. Das einige nicht funktionieren ist auch nicht so schlimm weil ja pro taste (also z.B. Steckdose 1, An) immer 4 Codes existieren.

Das Hier sind die Codes, die meine FB sendet, alle für Kanal A/1, die Zahlen 1-4 sind einfach nur die 4 unterschiedlichen wiederholungen und haben selbst keine Bedeutung:

FD 58 6C    a-an1
FC D3 1C    a-an2
F6 60 5C    a-an3
FF B2 AC    a-an4
F5 E9 7C    a-aus1
F2 CB 2C    a-aus2
F8 05 8C    a-aus3
F9 1C BC    a-aus 4


Gruß
Dirk_H

olli84

Hallo Dirk!

Danke für deine Antwort. Leider bringt mich das kaum weiter, da ich mit deinen Infos zu wenig anfangen kann. Ich hoffe ja noch auf Willi, vielleicht möchte er sich ja noch äußern.

Grüße,
Olli

FT-8

#5
Hallo Olli ,
der Code der Fernbedienung RCS AAA3680-A ist noch nicht entschlüsselt .
Also geht das nicht .

@ Dirk ,
Hex Daten sind von der kurzen Sync ?

Meine Daten  :

Gesamt Protokoll :
SL = Sync Lang
SK = Sync Kurz
D = Data
SK-D-SK-D-SK-D-SK-D-SL-D-SL-D-SL-D-SL-D wieder von vorn
Bei 24 Bit sind die ersten 4 Bits der Fernbedienungscode ,
die letzten 4 Bit der Unit Code ,
Bit 6 scheint on / off zu sein ,
Data Timing Sync Lang ( Sync : High 3 ms ,  7,2 ms Low ) :
Lang High  1000 us
Kurz High 480 us
Kurz Low 560 us
Lang Low 1080 us
Data Timing Sync Kurz : ( Sync : High 0,34 ms , 2,3 ms )
Lang High  1100 us
Kurz High 340 us
Kurz Low 420 us
Lang Low 1170 us

Die 4 Datenpakete der Sync Lang wie die der Sync Kurz scheinen gleich zu sein .

Fast vergessen , Takt sollte 12 Khz sein , Clock ist 83,33 us

Gruß
Ralf

Dirk_H

Hallo FT-8,

ja die Daten sind vom kurzen Sync. Den langen lasse ich ganz außen vor, bei mir funktioniert das bisher.

SK-D-SK-D-SK-D-SK-D-SL-D-SL-D-SL-D-SL-D kann ich bestätigen. Unsere Zeiten sind auch in einem ähnlichen Bereich.

"sind die ersten 4 Bits der Fernbedienungscode ,
die letzten 4 Bit der Unit Code , "
Habe ich schon mal irgendwo gelesen und sehe ich auch so.

Bit 6 von vorn oder von Hinten? -> Bei mir würde es bei beidem leider nicht passen.

Grüße
Dirk_H

olli84

Na, hier scheint ja noch richtig leben reinzukommen. Super! :)

Schaut euch mal den von mir weiter oben verlinkten, englischsprachigen, Thread an. Dort wurde auch über die Sync-Zeiten usw. gesprochen.

Grüßle und bleibt bitte dran,
Olli

FT-8

Nabend ,

@ Olli , leider ist das sehr schwer da es keine Auswertprogramme gibt .
Die Auswertung geht erst einmal nur mit dem Oszi oder Scananalyser oder so.
Eben viel Handarbeit . Schwierig ist hier , das es zu wenig verschiedene Datensätze gibt .

@ Dirk , Hex ist FD 58 6C , Bin 1111 1101 1011 0000 0110 1100
Das 6 Bit von links , oben im Beispiel Arduino ist Bit 6 bei C Off angeblich falsch .
Bei dir müßte das A sein .

@All

Nach Tristate gibt es ja drei Zustände :
0 = KLKL
1 = LKLK
F = KLLK
( K steht für Puls kurz / L steht für Puls lang ).
In diesem Protokoll gibt es noch einen 4ten Zustand
X = LKKL
Das Data Protokoll angelehnt nach Tristate besteht dann aus :
12 Bit a 4 Zustände ( Pulse )
( 12 * 4 Real Bit Gesamt 48 Real Bit )

Das Timing bei 12 Khz sollte ungefähr passen , hier mal gerechnet :
Data Timing Sync Lang ( Sync : High 3 ms ,  7,2 ms Low ) :
Lang High  1000 us    12* Clk  = 999 us
Kurz High 480 us        6 * Clk  = 499 us
Kurz Low 560 us         7 * Clk =  583 us
Lang Low 1080 us      13 *Clk = 1089 us
Data Timing Sync Kurz : ( Sync : High 0,34 ms , 2,3 ms Low ) :
Lang High  1100 us     13 *Clk = 1083 us
Kurz High 340 us          4 *Clk =  333 us
Kurz Low 420 us           5 *Clk =  416 us
Lang Low 1170 us       14 *Clk = 1162 us

Der Chip HS 1527 wertet das aus mit 20 Bit Preamble und 4 Bit Data .
Übertragen auf das Tristate Protokoll wäre das Bit 1 bis 10 Gerätecode ,
Bit 11 und 12 Unitcode .
Merkwürdig ist der Unitcode , der ist bei mir :
A :           0000 Dec  0
B :           0100 Dec  2
C :           1100 Dec  3
D:            0010 Dec  4
Master :  1010 Dec   5
fehlt Dec 1

Wo ist das Schaltbit ON / OFF ( 0 , 1 ) versteckt ?
Bit 6 paßt bis auf ein Bit .

Gruß
Ralf

FT-8

Hex nach 12 Bit :

Hex ist FD 58 6C

BIN 1111 1101  1011 0000  0110 1100

wenn 1 = LK ist und 0 = KL ist :

LKLK  LKLK  LKLK  KLLK  LKKL  LKLK  KLKL  KLKL  KLLK  LKKL   LKLK   KLKL
Bit1    Bit2   Bit3    Bit4    Bit5   Bit6   Bit7    Bit8    Bit9   Bit10  Bit11  Bit12

Soweit passt die Umrechnung .
Frage ist eher , wie wurden die Hex Werte generiert ?

FT-8

Arduino von oben mal anders ausgewertet :

A bis M vom 1ten Paket

A on codes:  1000   0001110101100111  0000 
A off codes:  1000   1110000011001001  0000 
B on codes:   1000  1000101011010001  0100 
B off codes:  1000   1100011000001011  0100 
C on codes:  1000   0001110101100111  1100 
C off codes:  1000   1010010110101010  1100 
D on codes:  1000   1000101011010001  0010 
D off codes:  1000   1100011000001011  0010 
M on codes:  1000   1010010110101010  1010 
M off codes:  1000   0111001100110100  1010 

A off  kopiert nach C off :

A on codes:  1000   0001110101100111  0000 
A off codes:  1000   1110000011001001  0000 
B on codes:   1000  1000101011010001  0100 
B off codes:  1000   1100011000001011  0100 
C on codes:  1000   0001110101100111  1100 
C off codes:  1000   1110000011001001  0000
D on codes:  1000   1000101011010001  0010 
D off codes:  1000   1100011000001011  0010 
M on codes:  1000   1010010110101010  1010 
M off codes:  1000   0111001100110100  1010 

Jetzt passt das Bit 6  , 0 ist ON , 1 ist OFF

Ohne Fernbedienungscode und Unit bleibt :

A on codes:      0001110101100111 
A off codes:      1110000011001001 
B on codes:      1000101011010001   
B off codes:      1100011000001011 

C on codes:      0001110101100111   
C off codes:     1110000011001001 
D on codes:     1000101011010001 
D off codes:     1100011000001011   

M on codes:      1010010110101010
D off codes:      0111001100110100

bleiben drei 32 Bit codes aus dem 1 Paket über :

on   0001110101100111 
off   1110000011001001 

on   1000101011010001 
off   1100011000001011   

on   1010010110101010
off   0111001100110100

Diese drei Codes sind dann wahrscheinlich verwürfelt mit einem Master und/oder Device Code.

Der Chip in der Fernbedienung hat die Bezeichnung S007V0 ist ein 14 Pin .

Gruß

Ralf

Dirk_H

Hallo,

so ganz komme ich leider nicht mit FT-8.

Also erstmal was ich gemacht habe:
Ich habe beobachtet (s. Post Mikrocontroller), das es abgesehen vom Sync nur 2 pulsformen gibt:
Bei der ersten pulsform ist lange hi, dann kurz lo. -> dies werte ich als 1
Bei der zweiten pulsform ist kurz hi, dann lang lo. -> dies werte ich als 0
Für eine eins muss der träger demnach (ca.) 1240us ein und dann 300 us aus sein. Bei null habe ich (ca.) gemessen Träger ein 440us, Träger aus 1040us.

Daraus ergibt sich für A-An(1):
1111 1101 0101 1000 0110 1100 -> FD586C ->

Das gibt für die ersten 12 Bit:

____ ____ ____ ____ ____ ____ _    ____ _    ____ _    ____
    _    _    _    _    _    _ ____    _ ____    _ ____    _
  1    1    1    1    1    1    0    1    0    1    0    1


Um das zu messen habe ich eine Steckdose auseinander genommen und das HF Modul an einen Logicanalyzer gehangen.

Wie bist du  /seid ihr denn auf die gesendeten Sequenzen gekommen? Auch Logikanalyzer oder irgendwas programmiertes / Arduino?

Das mit dem 6. Bit kann ich immer noch nicht ganz glauben, denn ich habe:
B-An:  1111 1110111111010011 0101
B-Aus: 1111 1010001010100100 0101

Hier noch mal meine Codes von 2FB.

1111 1101010110000110 1100      a-an1
1111 1100110100110001 1100      a-an2
1111 0110011000000101 1100      a-an3
1111 1111101100101010 1100      a-an4
1111 0101111010010111 1100      a-aus1
1111 0010110010110010 1100      a-aus2
1111 1000000001011000 1100      a-aus3
1111 1001000111001011 1100      a-aus 4
1111 1110111111010011 0101      b-an1
1111 0001101001001111 0101      b-an2
1111 0100100101111110 0101      b-an3
1111 0111100001100000 0101      b-an 4
1111 1010001010100100 0101      b-aus1
1111 1011010011111101 0101      b-aus2
1111 0000001100011100 0101      b-aus3
1111 0011011111101001 0101      b-aus4
1111 1000000001011000 1110      c-an1
1111 1001000111001011 1110      c-an2
1111 0101111010010111 1110      c-an3
1111 0010110010110010 1110      c-an4
1111 1101010110000110 1110      c-aus1
1111 1100110100110001 1110      c-aus2
1111 0110011000000101 1110      c-aus3
1111 1111101100101010 1110      c-aus4
1111 0011011111101001 0111      d-an1
1111 1011010011111101 0111      d-an2
1111 1010001010100100 0111      d-an3
1111 0000001100011100 0111      d-an4
1111 1110111111010011 0111      d-aus1
1111 0001101001001111 0111      d-aus2
1111 0100100101111110 0111      d-aus3
1111 0111100001100000 0111      d-aus4
1111 0010110010110010 0010      master on 1
1111 0101111010010111 0010      master-an2
1111 1001000111001011 0010      master-an3
1111 1000000001011000 0010      master-an4
1111 1100110100110001 0010      master-aus1
1111 1101010110000110 0010      master-aus2
1111 1111101100101010 0010      master-aus3
1111 0110011000000101 0010      master-aus4
       
0010 0101110110111010 1100      a-an
0010 0011010001110110 1100      a-an
0010 1111100011100001 1100      a-an
0010 0001100111110101 1100      a-an
0010 0101110110111010 1100      a-an
0010 0011010001110110 1100      a-an
0010 1111100011100001 1100      a-an
0010 0001100111110101 1100      a-an
0010 0101110110111010 1100      a-an
0010 0000000011011011 1100      a-aus
0010 1010000101000111 1100      a-aus
0010 1001001000100010 1100      a-aus
0010 1011011101101000 1100      a-aus
0010 0000000011011011 1100      a-aus
0010 1000001110011111 0101      b-an 1
0010 0100101011000011 0101      b-an 2
0010 0010111101010000 0101      b-an 3
0010 1101011010001110 0101      b an 4
0010 0111101110101100 0101      b-aus 1
0010 1110110000111001 0101      b-aus2
0010 0110010100001101 0101      b-aus3
0010 1100111000010100 0101      b-aus 4
0010 1010000101000111 1110      c-an 1
0010 1001001000100010 1110      c-an2
0010 1011011101101000 1110      c-an3
0010 0000000011011011 1110      c-an4
0010 0001100111110101 1110      c-aus1
0010 0101110110111010 1110      c-aus2
0010 0011010001110110 1110      c-aus3
0010 1111100011100001 1110      c-aus4
0010 0110010100001101 0111      d-an1
0010 1100111000010100 0111      d-an2
0010 0111101110101100 0111      d-an3
0010 1110110000111001 0111      d-an4
0010 1000001110011111 0111      d-aus1
0010 1101011010001110 0111      d-aus2
0010 0010111101010000 0111      d-aus3
0010 0100101011000011 0111      d-aus4
0010 1010000101000111 0010      master-an1
0010 0000000011011011 0010      master-an2
0010 1011011101101000 0010      master-an3
0010 1001001000100010 0010      master-an4
0010 0011010001110110 0010      master-aus1
0010 0101110110111010 0010      master-aus2
0010 0001100111110101 0010      master-aus3
0010 1111100011100001 0010      master-aus4 

Viele Grüße
Dirk_H

FT-8

Hallo ,

im Rahmen unserer selbstgebauten Haussteuerung sind Funksteckdosen natürlich auch ein Thema .
Wobei unser System auf dem Canbus aufgebaut ist .
Für diesen Part habe ich mir ein RX Modul MX-05V gekauft . Ausgewertet sind die Daten mit dem Oszi
sowie Scanalogic 2  Logicanalyser . Leider sehr mühselig per Hand .
Ob die in 2013 verkauften mit denen in 2014 noch gleich sind ist eine Frage für sich .
Bei Dir stand ja keine Ident auf dem Chip.
Unsere Auswertung ist der Unterschied. Gesamte Data ohne Sync sind 48 Low / High Zustände ( Pulse ) .
Haben wir beide .
Für zwei Pulse setzt du 0 der 1 , hast dann 24 Bit die in Hex umgerechnet werden .

Meine Auswertung ist 4 Pulse gleich 1 Bit ( Gesamt 12 Bit a 4 Pulse = 48 Pulse ).
z.B : Sync Kuz ,
Lang High  1100 us     13 *Clk = 1083 us
Kurz High 340 us          4 *Clk =  333 us
Kurz Low 420 us           5 *Clk =  416 us
Lang Low 1170 us       14 *Clk = 1162 us

Das ergibt 4 Zustände pro Bit , also LKKL oder LKLK oder KLLK oder KLKL .

Der Unterschied liegt dann schwer im Timing .
Das alte System hat nur gleiche Kurze Lange Pulse , da geht das .

Bei deinen Daten ist nur a-aus 1 Merkwürdig

FD 58 6C    a-an1       1111 1101   0101 1000   0110 1100
FC D3 1C    a-an2       1111 1100   1101 0011   0001 1100
F6 60 5C    a-an3       1111 0110    0110 0000   0101 1100
FF B2 AC    a-an4       1111 1111    1011 0010   1010 1100
F5 E9 7C    a-aus1      1111 0101   1110 1001   0111 1100
F2 CB 2C    a-aus2     1111 0010    1100 1011  0010 1110
F8 05 8C    a-aus3     1111 1000    0000 0101  1000 1100
F9 1C BC    a-aus4     1111 1001    0001 1100  1011  1100

Gruß
Ralf