Home Easy HE844A + HE800S interpretieren

Begonnen von bjoernh, 17 April 2015, 18:52:53

Vorheriges Thema - Nächstes Thema

bjoernh

Hallo,

da einige gefragt hatten nach den Home Easy Fernbedienung in A-CUL Firmware, habe ich mir diese Woche ein Set HE800S Dosen inkl. Fernbedienung gekauft.
Naja, der Erfolgt ist nicht groß.
Offensichtlich verwenden die Dosen nicht das Standard IT Protokoll, sondern ein neues.
Ich habe nun bei mir die A-CUL FW mal etwas modifiziert und habe dann festgestellt, dass die Fernbedienung (HE855A) drei verschiedene Protokolle sendet.
Das erste Protokoll ist das Unbekannte, das zweite Protokoll das IT V3  und das dritte Protokoll das IT V1.
Da die Steckdosen weder auf IT V3 noch auf IT reagieren, nehme ich an, dass diese das neue Protokoll verwenden.

Nun bin ich aber etwas ratlos, weshalb ich euch um Hilfe bitte.

Folgendes habe ich bis jetzt festgestellt:
Jede Taste hat 4 Codes, welche immer im Kreis laufen. D.H. drücken -> Code1, drücken Code2 -> drücken Code3, drücken Code4, drücken Code1.....
Es ist übrigens egal welche Taste gedrückt wird, es wird immer weiter geloopt.

Das Timing der Bits ist 
h380  L380 interpretiert als 0     
h380 L1000 interpretiert als 1

Im Folgenden sind die von mir empfangenen Werte:
1 On:
D8458490 1101 1000 0100 0101 1000 0100 1001
D81FC5D0 1101 1000 0001 1111 1100 0101 1101
DBE24A90 1101 1011 1110 0010 0100 1010 1001
DAE00A10 1101 1010 1110 0000 0000 1010 0001
2: On:
D8EFCBA0 1101 1000 1110 1111 1100 1011 1010
DBA8AAE0 1101 1011 1010 1000 1010 1010 1110
D8ACD660 1101 1000 1010 1100 1101 0110 0110
DB8D7C60 1101 1011 1000 1101 0111 1100 0110
3: On
1B066260 0001 1011 0000 0110 0110 0010 0110
1A6320E0 0001 1010 0110 0011 0010 0000 1110
19329C60 0001 1001 0011 0010 1001 1100 0110
1B2402E0 0001 1011 0010 0100 0000 0010 1110
4: On
9A57DF90 1001 1010 0101 0111 1101 1111 1001
9A932550 1001 1010 1001 0011 0010 0101 0101
9807AE50 1001 1000 0000 0111 1010 1110 0101
9920CBD0 1001 1001 0010 0000 1100 1011 1101
Master: On
5BBD7570 0101 1011 1011 1101 0111 0101 0111
5ACDB430 0101 1010 1100 1101 1011 0100 0011
58D73BB0 0101 1000 1101 0111 0011 1011 1011
5AC7FF30 0101 1010 1100 0111 1111 1111 0011


1: Off
D92F4050 1101 1001 0010 1111 0100 0000 0101
DA40E650 1101 1010 0100 0000 1110 0110 0101
D82BF710 1101 1000 0010 1011 1111 0111 0001
D9B86790 1101 1001 1011 1000 0110 0111 1001
2: Off
DAA28B20 1101 1010 1010 0010 1000 1011 0010
D91D7960 1101 1001 0001 1101 0111 1001 0110
DB016220 1101 1011 0000 0001 0110 0010 0010
DB75FAA0 1101 1011 0111 0101 1111 1010 1010
3:Off
1BE59CA0 0001 1011 1110 0101 1001 1100 1010
18C422A0 0001 1000 1100 0100 0010 0010 1010
1826A720 0001 1000 0010 0110 1010 0111 0010
1883FA20 0001 1000 1000 0011 1111 1010 0010
4: Off
9A4FE4D0 1001 1010 0100 1111 1110 0100 1101
98F0EB50 1001 1000 1111 0000 1110 1011 0101
9935A490 1001 1001 0011 0101 1010 0100 1001
9A8A6C50 1001 1010 1000 1010 0110 1100 0101
Master Off:
59634630 0101 1001 0110 0011 0100 0110 0011
580B74B0 0101 1000 0000 1011 0111 0100 1011
587750F0 0101 1000 0111 0111 0101 0000 1111
59499530 0101 1001 0100 1001 1001 0101 0011



Hat von Euch jemand eine Idee wie diese Codes zu interpretieren sind?
Ein Schema habe ich noch nicht erkennen können.


sslneve

Moin,

ich hatte dazu ja auch schon mal kurz geschrieben im aculfw Thread.

Ich habe ein HE805S Set bestehend aus einem Wandschalter HE842 und einem Relais HE886. Auch hier ist es so,
dass der Aktor nicht auf IT V1 reagiert. Der Sender sendet - zumindest was ich sehe - IT V1 und noch ein anderes Protokoll. Auf IT V1 reagiert aber der Aktor nicht, also suche ich nach einer Möglichkeit, das andere zu verstehen und zu senden.

Kann ich Dir irgendwas liefern bzw. protokollieren, testen, etc?


bjoernh

Zitat von: sslneve am 24 April 2015, 12:18:36
Moin,

ich hatte dazu ja auch schon mal kurz geschrieben im aculfw Thread.

Ich habe ein HE805S Set bestehend aus einem Wandschalter HE842 und einem Relais HE886. Auch hier ist es so,
dass der Aktor nicht auf IT V1 reagiert. Der Sender sendet - zumindest was ich sehe - IT V1 und noch ein anderes Protokoll. Auf IT V1 reagiert aber der Aktor nicht, also suche ich nach einer Möglichkeit, das andere zu verstehen und zu senden.

Kann ich Dir irgendwas liefern bzw. protokollieren, testen, etc?

Gerne, wenn ich etwas habe....
Die Fernbedinungen senden übrigens 4 verschiedene Codes.
Empfangen kann ich diese eigentlich zuverlässig.
Folgende Protokolle werden übertragen (1 zuerst)
1. Rolling Code (siehe eingangs Post)
2. IT V3
3. Unbekannt (sieht aber wie ein IT V3 ableger mit kürzerer Bitfolge aus)
4. IT V1

Nachdem die Dosen nicht mit IT V1 und IT V1 funktionieren, kann ja nur noch 1. und 3. funktionieren.

Wenn ich nun eine Dose auf die Fernbedienung anlerne und die Codes live während des drückens der Taste beobachte sieht man klar, dass die Dose bei dem Rolling Code schaltet.
Dies ist aber mit Abstand die doofste Variante, da ich die Codes irgendwie nicht logisch dekodieren kann.

Bis jetzt habe ich es aber noch nicht geschafft die Dose zum Schalten zu bewegen.

Die genauen Zeiten habe ich nun dank LogicAnalyser.
Mal sehen ob die Teile mit dem richtigen Timing schalten.

bjoernh

#3
Sie schaltet  ;D
Das coole ist, dass der Code nicht mal im Kreis gesendet werden muss. Es gehen also quasi 4 Codes für an und 4 für aus.
Jetzt wäre es nur noch toll, wenn man die Codes verstehen würde. Dann kann man das IT Modul dafür anpassen.
Ansonsten würde ich eine manuelle Definition vorschlagen.
AutoCreate geht ja dann leider nicht.

sslneve

... da ich eh kein FHEM nutze, sondern die CCU2/CuxD, fände ich es schon super, wenn ich wüsste, wie ich aus dem Empfangenen einen "manuellen" Sendebefehl machen kann (und mit welchem Log-Level (X..) ich am besten den betreffenden Code mitschneide)...

bjoernh

#5
Zitat von: sslneve am 25 April 2015, 20:53:27
... da ich eh kein FHEM nutze, sondern die CCU2/CuxD, fände ich es schon super, wenn ich wüsste, wie ich aus dem Empfangenen einen "manuellen" Sendebefehl machen kann (und mit welchem Log-Level (X..) ich am besten den betreffenden Code mitschneide)...
Zum Mitschneiden muss erst mal die Firmware angepasst werden.  Das klappt ja bei mir auch schon prima.
Das Blöde ist halt,  dass die empfangenen Codes ohne Decodierung des Codes keine eindeutige ID haben.
Ich hab bloß keine Idee wie das aussehen können.
Rein von der Theorie müssten ja alle vier Codes einer Taste nach dem entschlüsseln den selben Code haben.
Das senden ist dann das kleinere Problem.

sslneve

... bei "keine eindeutige In haben." hat's mich gedanklich rausgehauen :)

Was spricht denn gegen ein Mitschneiden und aus einem der 4 Codes einen Sendebefehl basteln?
Fehlende Abstraktion bzw. mögliche programmatische Abbildung?
Du suchst also nach einer Binäroperation, die angewandt auf die 4 Codes jeweils das gleiche Ergebnis hat? Könnte schwierig werden, zumal es mehrere solcher Ergebnisse geben könnte...

bjoernh

Zitat von: sslneve am 26 April 2015, 00:17:57
... bei "keine eindeutige In haben." hat's mich gedanklich rausgehauen :)

Was spricht denn gegen ein Mitschneiden und aus einem der 4 Codes einen Sendebefehl basteln?
Fehlende Abstraktion bzw. mögliche programmatische Abbildung?
Du suchst also nach einer Binäroperation, die angewandt auf die 4 Codes jeweils das gleiche Ergebnis hat? Könnte schwierig werden, zumal es mehrere solcher Ergebnisse geben könnte...

In sollte ID heißen.
Eben,  genau das ist dass Problem.  Es wäre schön gewesen wenn man den Code einfach entschlüsseln könnte.  Dann würde auch ein autocreate sowie ein sauberer Empfang der Codes von der Fernbedienung möglich sein.
So bleibt wahrscheinlich nur ein manuelles anlegen der Schalter in Fhem.
Außerdem benötigen wir dann immer so eine Fernbedienung zum einlesen der Codes.  Danach ist diese dann eigentlich nicht mehr nötig.

sslneve

... besser als nichts :)

Kannst Du das - bitte bitte bitte - in die a-culfw einbauen?

Wie macht es denn der rfxtrx, der Homeeasy angeblich kann?
Handelt es sich bei dem unbekannten Protokoll um HE EU? IT ist ja m.W. ARC (also hier irrelevant)

sslneve

btw: Ich habe hier z.B. für jeweils On diese Rolling Codes


p 7  256  944  912  320  1  3 4 19 2608E1D0
p 7  224 1008  864  352  1  3 4 19 2605DCD0
p 7  256  976  848  368  1  3 4 22 266F7950
p 7  224  992  864  352  1  3 4 26 266A7990

.. oder ist das hier was anderes? Wenn nein, wie bastele ich mir denn daraus einen Raw Befehl?

G0134F6... funktioniert bei mir einfach nicht

bjoernh

Hallo,

so, ich habe nun eine Lösung.

Ihr braucht die aktuelle a-culfw und das neue IT Modul in Fhem (in kürze via update verfügbar)

Was Ihr tun müsst:

  • Eine Taste an der Fernbedienung drücken. Es wird ein neues IT-Device angelegt.
  • Codes anlernen.
  • Bei dem neuen IT-Device set learn_on_codes aufrufen
  • Die On Taste nun mit einer Pause 4 mal drücken. (init_count in den Readings wird hochgezählt)
  • Bei dem neuen IT-Device set learn_off_codes aufrufen
  • Die Off Taste nun mit einer Pause 4 mal drücken. (init_count in den Readings wird hochgezählt)
  • Nun ist kann die Steckdose über Fhem bedient werden.

Viele Grüße
Björn

sslneve

Hi,

wow, super!

Ich sehe jetzt im Terminal sowas wie

ihD99086A017

Wie mache ich daraus jetzt einen send-Befehl für's Terminal (in Ermangelung des Automatismus von FHEM)?
Ich habe versucht, das aus der intertechno.c und der neuen IT.pm herzuleiten, was mir zumindest auf Anhieb nicht gelingt.

sslneve

... ich habe doch kein FHEM, sondern Homematic CCU2 und CUxD, daher muss ich alles in Terminal-Befehlen haben...

hyper2910

Super danke, das fehlte noch, damit kann ich jetzt wirklich alles schalten was sich über Jahre so angesammelt hat!  Funktioniert einwandfrei!    Danke
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

sslneve

Hi,

habe ich versucht, klappt aber nicht:

1. folgendes beim Einschalten mitgelogt: ihDBD1F3A017
2. davon interessant: BD1F3A
3. nach binär gewandelt: 101111010001111100111010
4. "bintotristateHE" und ish davor: ish1220D022D211

--> nichts passiert, im Terminal steht folgendes:

17:10:55 [ttyACM0] <-T ish1220D022D211
17:10:55 [ttyACM0] --> ish1220022211

--> er scheint also das "D" nicht zu mögen...

Was mache ich falsch?