Forum: Mikrocontroller und Digitale Elektronik unbekanntes Bus-Protokoll Klimaanlage


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Mathias S. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich möchte eine Split-Klimaanlage steuern und habe deshalb die 
Kommunikation zwischen Innen- und Aussengerät mitgelesen. Gesendet 
werden folgende Befehle:

FB 23 E0 23 23 FB E0 E3 3B E0 F8 38 F8 E3 3B E3 38 FB FB FB FB FB F8 3B

FB 23 E0 23 23 FB E0 E3 3B E0 F8 38 F8 FB 3B E3 38 FB FB FB FB 23 FB 3B

FB 23 E0 23 23 E3 38 E3 3B E0 F8 38 F8 FB 3B E3 38 FB FB FB FB FB E0 3B

FB 23 E0 23 23 E3 38 E3 38 E0 F8 38 F8 FB 3B E3 38 FB FB FB FB E3 E0 3B

FB 23 E0 23 23 E3 38 E3 23 E0 F8 38 F8 FB 3B E3 38 FB FB FB FB 3B E0 3B

FB 23 E0 23 23 3B F8 E3 23 E0 F8 38 F8 FB 3B E3 38 FB FB FB FB 23 20 E0

FB 23 E0 23 23 3B F8 E3 20 E0 F8 38 F8 FB 3B E3 38 FB FB FB FB FB FB 3B

Es werden nur diese 9 Codes 0xFB 0x23 0xE0 0x38 0x3B 0xF8 0xE3 0x20 0xFF 
benutzt. Kommt das vielleicht jemand bekannt vor?

Danke MfG

von Thomas O. (kosmos)


Bewertung
0 lesenswert
nicht lesenswert
könnte ein Mitsubishi Inverter sein der kennt nämlich 8 Stufen

Stufe 0 = 0%
.....
.....
.....
.....
Stufe 7 = 100%

1 Byte könnte für Heizen oder Kühlen stehen.

Aber nun genug geraten. Warum verräts du uns den nicht die Marke und das 
Modell der beiden Teile?

von temp (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Thomas O. schrieb:
> Aber nun genug geraten. Warum verräts du uns den nicht die Marke und das
> Modell der beiden Teile?

Das würde mich auch interessieren. In der "Vorinverter"-Zeit wurden 
diese Split-Geräte oft zweckentfremdet um mit einem zusätzlichen 
Wärmetauscher Wasser warm zu machen. Das wäre wieder möglich wenn man 
dem Außenteil über das Protokoll sagen kann was es machen soll. Wer 
sendet denn in deinem Trace? Das Außen oder das Innenteil? Gibt es nur 
eine Richtung der Kommunikation? Welche Baudrate? Normale TTL-Pegel oder 
irgendwas mit nur einem Draht? Hilf uns auf die Sprünge dann versuchen 
wir auch zu helfen.

von Mathias S. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
danke für die schnelle Antwort.
Also genau das habe ich gemacht, ich habe das Innengerät durch einen 
Plattenwärmetauscher ersetzt und möchte jetzt das Aussengerät steuern.
Aussengerät ist ein Heiko JZ035-C1 laut Datenblatt mit Hitachi 
Kompressor und das Innengerät JS035-C1. Es gibt eine Datenleitung mit 
Optokoppler als serielle Schnittstelle bei der ich einen Optokoppler in 
Reihe zum mitlesen habe. Bei einer Baudrate von 300 bekomme ich 
verwertbare Signale siehe Mitschnitt oben. Mich wundert nur diese 9 
Codes 0xFB 0x23 0xE0 0x38 0x3B 0xF8 0xE3 0x20 0xFF die verwendet werden. 
Wenn es 10 wären dann würde ich folgern Ziffern 0-9 aber da fehlt eine. 
Direkt nach dem einschalten sendet er auch noch 0x00 aber nur dann?

von temp (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ist das nur ein Optokoppler auf einer einzigen Leitung? Also 
Kommunikation nur in eine Richtung? Irgendwie fehlt auch noch eine 
zeitliche Zuordnung. Wie viel der Bytes werden immer am Stück gesendet?

von H.Joachim S. (crazyhorse)


Bewertung
-1 lesenswert
nicht lesenswert
Verwendete Baudrate/Stopbits/Parität ist dir bekannt? Bei falschen 
Einstellungen kann man da ganz schön genarrt werden.

von Mathias S. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Es sind zwei Optokoppler in Reihe verbaut. Einer sendet und einer liest 
mit. Die Inneneinheit sendet z. B.
FB 23 E0 23 23 FB FB FB 3B E0 F8 20 FB 3B 3B E3 FB FB FB FB FB FB E3 F8 
danach antwortet das Aussengerät mit FF F8 FB FB 23 FB FB FB E3 FB FB FB 
FB FB FB FB FB E3 FB
das passiert ca. alle 10-15 Sekunden. Derzeit habe ich mich erst einmal 
auf das lesen des Innengerätes konzentriert um das ganze zu verstehen. 
Wenn ich den Temperaturfühler erwärme, ändern sich zwei oder drei Werte. 
Wenn ich die Solltemperatur an der Fernbedienung verstelle ändern sich 
auch Werte an anderer Stelle, aber immer nur mit diesen 9 Zahlen!

von Mathias S. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
H.Joachim S. schrieb:
> Verwendete Baudrate/Stopbits/Parität ist dir bekannt? Bei falschen
> Einstellungen kann man da ganz schön genarrt werden.

Leider habe ich keinerlei Informationen, ich habe mit der Software 
Saleae Logic alle Möglichkeiten durchprobiert und bei Baudrate 300/1 
Stopbit/keine Parität ein Fehlerloses Ergebnis bekommen. Aber sicher 
kann ich natürlich nicht sein!

von temp (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mathias S. schrieb:
> ich habe mit der Software
> Saleae Logic alle Möglichkeiten durchprobiert

Dann stell doch die Daten so wie du sie aufgezeichnet hast mit "save 
cupture" hier rein. Eventuell sehen andere mehr als du. Wäre auf alle 
Fälle besses als Prosa.

von Mathias S. (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
temp schrieb:
> Mathias S. schrieb:
>> ich habe mit der Software
>> Saleae Logic alle Möglichkeiten durchprobiert
>
> Dann stell doch die Daten so wie du sie aufgezeichnet hast mit "save
> cupture" hier rein. Eventuell sehen andere mehr als du. Wäre auf alle
> Fälle besses als Prosa.

Hier also die Daten, würde mich freuen wenns klappt!

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mathias S. schrieb:
> Es werden nur diese 9 Codes 0xFB 0x23 0xE0 0x38 0x3B 0xF8 0xE3 0x20 0xFF
> benutzt. Kommt das vielleicht jemand bekannt vor?

Das spricht dafür, dass deine Interpretation des Bitstromes nicht dem 
Dateninhalt entspricht, sondern die "0"en und "1"en nicht direkt binär 
übertragen werden.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mathias S. schrieb:
> Hier also die Daten,...

IMHO hat dort ein Symbol die Länge von 10.93ms, d.h. jedes Bit fängt mit 
einer fallenden Flanke an und hört mit einer fallenden Flanke auf. Je 
nach Tastverhältnis des Pulses (2.06ms low bzw. 9.02ms low) handelt es 
sich um die Übertragung von einer "0" oder einer "1". In jedem Paket 
werden damit 72 Bit übertragen.

von Mathias S. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> IMHO hat dort ein Symbol die Länge von 10.93ms, d.h. jedes Bit fängt mit
> einer fallenden Flanke an und hört mit einer fallenden Flanke auf. Je
> nach Tastverhältnis des Pulses (2.06ms low bzw. 9.02ms low) handelt es
> sich um die Übertragung von einer "0" oder einer "1". In jedem Paket
> werden damit 72 Bit übertragen.

Interessante Theorie, gibt es für so ein Protokoll einen Namen oder 
einen Standart, damit ich mich darüber belesen kann?

von Gabriel M. (gabse)


Bewertung
0 lesenswert
nicht lesenswert
An Welcher Schnittstelle hängt dein LA genau? Es scheint 3 separate 
Schnittstellen am Innengerät zu geben:
https://rednux.com/mediafiles/Hersteller/heiko/Serviceanleitung-Heiko-SingleSplit-Klimaanlage.pdf 
Seite 43
Wobei eine anscheinend auf die Netzspannung auf-moduliert wird.

Könnte auch interessant sein:
https://rednux.com/mediafiles/Hersteller/heiko/Serviceanleitung-Heiko-Multisplit-Klimaanlage.pdf

von Mathias S. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Gabriel M. schrieb:
> An Welcher Schnittstelle hängt dein LA genau? Es scheint 3
> separate
> Schnittstellen am Innengerät zu geben:
> 
https://rednux.com/mediafiles/Hersteller/heiko/Serviceanleitung-Heiko-SingleSplit-Klimaanlage.pdf
> Seite 43
> Wobei eine anscheinend auf die Netzspannung auf-moduliert wird.
>
> Könnte auch interessant sein:
> 
https://rednux.com/mediafiles/Hersteller/heiko/Serviceanleitung-Heiko-Multisplit-Klimaanlage.pdf

die oben genannten Links sind leider der Schaltplan des Vorgängermodels 
JS035-B1 und ich habe JS035-C1! Leider haben die den Schaltplan 
geändert. Die Datenleitung ist eine Stromschnittstelle wo alle 
Optokoppler in Reihe hängen und geht mit Niedergleichspannung.

von Jefe (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mathias S. schrieb:
> Interessante Theorie, gibt es für so ein Protokoll einen Namen oder
> einen Standart, damit ich mich darüber belesen kann?

Standart mit 't' gibt es nicht!

Standards mit 'd' bitte, gibt es fast nirgends!

von Mathias S. (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Jefe schrieb:
> Standart mit 't' gibt es nicht!
>
> Standards mit 'd' bitte, gibt es fast nirgends!

Gut das es Menschen wie dich gibt, sie tragen zwar nichts hilfreiches 
zum Thema bei aber sind ständig auf der Suche nach Fehlern von anderen. 
Wegen dir bin ich jetzt keinen Schritt im Projekt weiter aber dafür ist 
mein Deutsch jetzt besse! Vielen Dank

von s.c.n.r. (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Mathias S. schrieb:
> Wegen dir bin ich jetzt keinen Schritt im Projekt weiter aber dafür ist
> mein Deutsch jetzt besse!

Da ist noch Potential. Kommst du aus Hesse?

von Wolfgang (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mathias S. schrieb:
> Interessante Theorie,

Mathias S. schrieb:
> 2_MHz__60_M_Samples__1_.logicdata (29,6 KB, 30 Downloads)

Dein Datenstrom würde mit meiner Interpretation wie folgt aussehen, 
wobei die Sache am Ende jeden Blocks noch etwas Spielraum bietet (vorne 
immer der Timestamp der ersten fallenden Flanke).
Es werden immer abwechselnd zwei verschiedene Datensätze übertragen und 
in dem "00001111"er wird bei 13.62s, 18.68s und 25.41s einmal das 33ste 
Bit gesetzt (Zeile mit "*").

von Wolfgang (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
2.ter Versuch (In Bytes gegliedert wird es besser lesbar)

von Mathias S. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> 2.ter Versuch (In Bytes gegliedert wird es besser lesbar)

Danke nochmal, du hast mich auf den richtigen Weg gebracht! Ich bin 
gerade dabei ein kleine Programm zu schreiben, das die Daten mitliest 
und aufbereitet. Dann kann ich sehen welche Werte sich ändern z. B. beim 
erwärmen des Temperaturfühlers.
Was kann diese 1 am Ende bedeuten, ist das eine Art Schlusszeichen?

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mathias S. schrieb:
> Was kann diese 1 am Ende bedeuten, ist das eine Art Schlusszeichen?

Am Ende sieht das etwas merkwürdig aus, i.e. nach dem 72sten Bit fallen 
die Zeiten aus dem Rahmen. Ich würde genau die 72 Bit auswerden, das 
restliche "Gestümper" ignorieren und wieder auf die fallende Flanke nach 
der längeren Pause warten.

von Jefe (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mathias S. schrieb:
> Wegen dir bin ich jetzt keinen Schritt im Projekt

Deinetwegen bitte schön.

von Martin R. (mme)


Bewertung
0 lesenswert
nicht lesenswert
Von Intesis gibt es entsprechende Schnittstellen für diverse 
Klimaanlagen. Zum Ansteuern gibt es z.B. KNX, aber auch RS232, ...

von Heinz R. (heijz)


Bewertung
0 lesenswert
nicht lesenswert
Kann zwar nix zum Thema Protokoll beitragen - aber mich interessiert das 
Thema - Split Klimaanlage zur Heizungsunterstützung

Macht man das wirklich so das man Kommandos der Inneneinheit emuliert?

Dachte eher da steuert man Kompressor und Umschaltventil direkt an?

von Forist (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Heinz R. schrieb:
> Kann zwar nix zum Thema Protokoll beitragen - aber mich interessiert ...

Und warum machst du dann zu deinem Thema keinen eigenen Thread auf, 
sondern kaperst einen anderen?

von Peter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Die Daten können sonst was sein.
Du brauchst Daten die dir was sagen wie :
18 grad  kühlen Lüfter max
Wenn du das aufgenommen hast dann änderst du auf 19 Grad. Dann wieder 
zurück.
Wenn du zu quasi zu jeder Einstellung verifizierte Daten hast kann es 
weiter gehen.

Dann sollte man erkennen welche bits sich ändern.

Das Protokoll kann sogar ein ir Fernbedienungscode sein oder ein 
komplett eigenes bit-Feld was nichts  mit normalen Datenübertragungen zu 
tun hat.

von Heinz R. (heijz)


Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> Du brauchst Daten die dir was sagen wie :
> 18 grad  kühlen Lüfter max
> Wenn du das aufgenommen hast dann änderst du auf 19 Grad. Dann wieder
> zurück.

Vermutlich wird die Inneneinheit der Ausseneinheit das gar nicht 
mitteilen, da ja die Intelligenz im Innenteil sitzt

Es gibt nur
- Kompressor-Leistung in Prozent - vermutlich nur paar wenige Stufen
- Kühlen oder Heizen
- Evtl. noch Gebläsedrehzahl, vielleicht wird die auch aus der 
Kompressorleistung oder Temperatur abgeleitet?

Forist schrieb:
> Und warum machst du dann zu deinem Thema keinen eigenen Thread auf,
> sondern kaperst einen anderen?

Deshalb meine Frage ob die Versuche das zu hacken überhaupt Sinn machen 
-  wäre es nicht einfacher das direkt anzusteuern?

Und Dein Kommentar - gelesen und gelacht...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.