Samsung EHS Mono HT Quiet (R32) - Modbus (Homeassistant)

Diskutiere Samsung EHS Mono HT Quiet (R32) - Modbus (Homeassistant) im Wärmepumpe, Gebäudekühlung Forum im Bereich Regelungstechnik / Erneuerbare Energien; Mit Sscom5.13.1.exe aufgezeichnet - siehe Anhang. Samsung EHS Mono HT Quiet 8 kW ca. 20:35:02 Anlage abgeschaltet ca. 20:37:01 Anlage wieder...

PeterF

Experte
Mitglied seit
27.02.2022
Beiträge
1.612
Mit Sscom5.13.1.exe aufgezeichnet - siehe Anhang.

Samsung EHS Mono HT Quiet 8 kW
ca. 20:35:02 Anlage abgeschaltet
ca. 20:37:01 Anlage wieder eingeschaltet
ca. 20:38:47 wurde im Display "Komp Betrieb" wieder angezeigt (verzögerte Anzeige .. ?)
real dürfte der Verdichter aber ab ca. 20:38:20 schon wieder angelaufen sein, laut Stromverbrauchskurve

Rohdaten sind im ZIP-File.
 

Anhänge

PeterF

Experte
Mitglied seit
27.02.2022
Beiträge
1.612
Mit Shelly aufgezeichnete Stromverbrauchs-Kurve dazu:

Screenshot (213).png
 

MarcR

Mitglied seit
13.11.2023
Beiträge
82
Ich habe mir das Protokoll auch noch nicht im Detail angeschaut, aber dazu noch dieses Repo gefunden:

Der Entwickler bezieht sie hierbei auf ein NASA Protokoll. Auf den ersten Blick würde ich sagen, haben unsere EHS Mono HT WP das gleiche NASA Protokoll.

@Avamyson Lese ich das richtig, dass du noch weitere (undokumentierte) Register über die normale Modbus Karte auslesen kannst? Kannst du die Register mal auflisten? (Bevor ich jetzt auch das ganze Zeug aus der SNet Software extrahieren muss ;) )

EDIT: OK, du hast die nasa.ptc ja im Repo...
 
Zuletzt bearbeitet:

betaphi

Profi
Mitglied seit
17.10.2023
Beiträge
330
@MarcR Schau mal hier, musst dir nicht auch noch die Arbeit machen :)
Dummerweise kann man hier (soweit ich weiß) kein Markdown posten...

Markdown (GitHub flavored):
### Modbus Hidden Registers

## Indoor Unit

| Register | Description | Signed | Multiplicator | Range | Unit | Additional Info |
| -------- | ----------- | ------ | ------------- | ----- | ---- | --- |
| 0x4087 | Booster Heater | - | - | 0=off; 1=on | - | |
| 0x406C | Backup Heater | - | - | 0=off; 1=on | - | |
| 0x42E9 | Flow Sensor | no | x10 | 0-80 | L/min | |
| 0x4067 | 3-Way Valve | - | - | 0=room; 1=tank | - | |
| 0x40C4 | Water Pump PWM | no | x1 | 0-100 | % | |
| 0x406F | Temperature Reference | - | - | 0=room; 1=water out | |


## Outdoor Unit

| Register | Description | Signed | Multiplicator | Range | Unit | Additional Info |
| -------- | ----------- | ------ | ------------- | ----- | ---- | --- |
| 0x8001 | Operation Mode | - | - | 0=stop; 1=safety; 2=normal; 3=balance; 4=recovery; 5=deice; 6=compdown; 7=prohibit; 8=linejig; 9=pcbjig; 10=test; 11=charge; 12=pumpdown; 13=pumpout; 14=vacuum; 15=caloryjig; 16=pumpdownstop; 17=substop; 18=checkpipe; 19=checkref; 20=fptjig; 21=nonstop_heat_cool_change; 22=auto_inspect; 23=electric_discharge; 24=split_deice; 25=inverter_check; 26=nonstop_deice; 27=rem_test; 28=rating; 29=pc_test; 30=pumpdown_thermooff; 31=3phase_test; 32=smartinstall_test; 33=device_performance_test; 34=inverter_fan_pba_check; 35=auto_pip_pairing; 36=auto_charge; other=unknown
| 0x8010 | Compressor 1 Status | - | - | 0=off; 1=on | - | |
| 0x8017 | Hot Gas 1 Status | - | - | 0=off; 1=on | - | |
| 0x8019 | Liquid Valuve Status | - | - | 0=off; 1=on | - | |
| 0x8021 | EVI Bypass | - | - | 0=off; 1=on | - | |
| 0x801A | 4-way Valve Status | - | - | 0=off; 1=on | - | |
| 0x80AF | Base Heater | - | - | 0=off; 1=on | - | |
| 0x80D7 | PHE Heater | - | - | 0=off; 1=on | - | |
| 0x8204 | Outdoor temperature | yes | x10 | -41 - 150 | °C | |
| 0x8206 | High Pressure | yes | x10 | - | kgfcm2 | |
| 0x8208 | Low Pressure | yes | x10 | - | kgfcm2 | |
| 0x820A | Discharge 1 Temperature | yes | x10 | -41 - 150 | °C | |
| 0x8217 | Compressor 1 Current | no | x10 | - | A? | Value seems off |
| 0x8218 | Heat exchanger outlet temperature (condout) | yes | x10 | -41 - 150 | °C | |
| 0x821A | Suction Temperature | yes | x10 | -41 - 150 | °C | |
| 0x821E | EVI In Temperature | yes | x10 | -41 - 150 | °C | |
| 0x8220 | EVI Out Temperature | yes | x10 | -41 - 150 | °C | |
| 0x8229 | Main EEV1 | no | x1 | 0 - 10000 | ? | |
| 0x8235 | Error Code | no | - | - | - | See Error Code tables |
| 0x8236 | Compressor 1 Order Frequency | no | x1 | 0 - 1000 | Hz | |
| 0x8237 | Compressor 1 Target Frequency | no | x1 | 0 - 1000 | Hz | |
| 0x8238 | Compressor 1 Current Frequency | no | x1 | 0 - 1000 | Hz | |
| 0x823B | DC Link 1 Voltage | no | x1 | ? | V? | |
| 0x823D | Outdoor Fan1 RPM | no | x1 | - | Hz | not yet confirmed |
| 0x82DE | EVA In Temperature | yes | x10 | -41 - 150 | °C | |
| 0x8254 | IPM1 Temperature | yes | x10 | -41 - 150 | °C | |
| 0x8278 | Compressor OCT1 | no | x10 | ? | ? | |
| 0x8280 | Compressor 1 Top Temperature | yes | x10 | -41 - 150 | °C | |
| 0x829F | High pressure saturation temperature | yes | x10 | -41 - 150 | °C | |
| 0x82A0 | Low pressure saturation temperature | yes | x10 | -41 - 150 | °C | |
 

betaphi

Profi
Mitglied seit
17.10.2023
Beiträge
330
Ich habe mir das Protokoll auch noch nicht im Detail angeschaut, aber dazu noch dieses Repo gefunden:
... da wollte ich jetzt damit glänzen, dass ich rausgefunden habe, dass die Payload-Daten in den Paketen, die ich verstanden habe immer im Format 16bit Adresse (kann man aus der NASA.ptc auslesen) und dann 16bit Value bestehen und dann findest du raus, dass das ganze Protokoll schon von jemandem dekodiert wurde. Top!

Jetzt müsste man nur noch eine ordentliche Dokumentation für das NASA Protokoll schreiben und dann geht's hier richtig vorwärts...
 

Avamyson

Threadstarter
Mitglied seit
25.09.2023
Beiträge
33
Moin,
Ich hab die Nacht auch nochmal einen Log gezogen, start Knopf um 3:25 gedrückt. Leider ist der Log von ZOC nicht so schön Sortiert.
Falls jemand ein gutes Tool kennt das bestenfalls sogar auf Linux läuft wäre ich sehr dankbar. (Wechsel gerade zu Linux, WIN11 geschuldet)

Hab dazu noch mal Shots aus Home Assistant. Keine Ahnung was von 3:37 - 3:55 passiert ist, Vorlauf stand die ganze Zeit auf 35°C.
Ich hatte das Haus vorher etwas Auskühlen lassen, die Messung ist also keine Normaler Fall.
1701244910573.png
1701244988751.png
 

Anhänge

MarcR

Mitglied seit
13.11.2023
Beiträge
82
@betaphi vielen Dank! Logischerweise habe ich genau diese Register gesucht ;)

Da die SNET Software in .Net programmiert wurde, hilft einem ein Decompiler wahrscheinlich auch schon etwas weiter, um das Protokoll zu analysieren. (Wobei meine .Net Zeiten nun schon 10 Jahre her sind und ich mich gerade nicht mehr erinnern kann, ob das auch so brauchbar wie z.B. bei Java war/ist...)
 

PeterF

Experte
Mitglied seit
27.02.2022
Beiträge
1.612
Ich hab die Nacht auch nochmal einen Log gezogen, start Knopf um 3:25 gedrückt. Leider ist der Log von ZOC nicht so schön Sortiert.
Ich habe das Signal an F1/F2 abgegriffen ..

Ich hatte in meinen Daten das hier identifiziert:
-- 00 0E = dez 14 Bytes Daten
32 00 0E 20 01 00 80 FF 00 C0 16 A1 00 41 40 34 FD 5D FD FB

Byte 2 +3 = Anzahl der Datenbytes zwischen Start [32] und End [34]
Irgendwie paßt das nicht zu dem, was ich bei Dir im File sehe ..

z.B. 32 5E 40 ...

1701255637196.png
 

betaphi

Profi
Mitglied seit
17.10.2023
Beiträge
330
@MarcR Immer gern.

Das Rätselraten ist ja prinzipiell vorbei, wenn man sich das Repo anschaut, das @MarcR gefunden hat. Jetzt bin ich nicht täglich am C-Programmieren, deswegen kann ich es zwar lesen aber es dauert etwas. Ist da jemand von euch fitter und kann aus dem Quellcode die Protokollstruktur zügig erkennen?

Der Autor hat es wohl tatsächlich über eine Rekompilierung der .NET Bytecodes gemacht...
 

MarcR

Mitglied seit
13.11.2023
Beiträge
82
Ich habe mich heute etwas mit der SNET Software beschäftigt. Es gibt neben der nasa.ptc noch eine Mapping Datei für die UI. Damit konnte ich zumindest sicherstellen, dass alle Register soweit korrekt gemappt wurden.

Ich habe zurzeit noch etwas Chaos im Python Code, somit hier nur die Register. Das sind fast alle Register die im SNET auch angezeigt werden (Die statischen Werte wie Seriennummer, Modell, KW Leistung und die DHW Werte habe ich weggelassen. Ich habe kein DHW):

Python:
# 0x42E9 Flow rate in L/min
# 0x42F1 Compressor Frequency Rate control
# 0x40C4 Water Pump PWM
# 0x427F Water Law Set Temp
# 0x4205 Eva In
# 0x4089 Water punp state
# 0x4124 SG Ready
instrument.write_registers(7005,[0x42E9, 0x42F1, 0x40C4, 0x427F, 0x4205, 0x4089, 0x4124])

# 0x8238 Running Compressor Frequenncy
# 0x8204 Outdoor Temp
# 0x8010 Compressor 1 Status
# 0x801A 4-way Valve Status
# 0x8017 Hot Gas Status
# 0x8019 Liquid Valuve Status
# 0x8021 EVI Bypass
# 0x8001 Operation Mode
# 0x8237 Compressor 1 Target Frequency
# 0x8236 Compressor 1 Order Frequency
# 0x8206 High Pressure
# 0x8208 Low Pressure
# 0x829F High pressure saturation temperature
# 0x82A0 Low pressure saturation temperature
# 0x820A Discharge 1 Temperature
# 0x8280 Compressor 1 Top Temperature
# 0x8217 Compressor 1 Current
# 0x8278 Compressor OCT1
# 0x823B DC Link 1 Voltage
# 0x8254 IPM1 Temperature
# 0x8218 Heat exchanger outlet temperature (condout)
# 0x821A Suction Temperature
# 0x82DE EVA In Temperature
# 0x8229 Main EEV1
# 0x821E EVI In Temperature
# 0x8220 EVI Out Temperature
# 0x823D Outdoor Fan1 RPM
# 0x80AF Base Heater
# 0x80D7 PHE Heater
# 0x822E EVI EEV
# 0x82FC EVI SOL EEV
instrument.write_registers(6000, [0x8238, 0x8204, 0x8010, 0x801A, 0x8017, 0x8019, 0x8021, 0x8001, 0x8237, 0x8236, 0x8206, 0x8208, 0x829F, 0x82A0, 0x820A, 0x8280, 0x8217, 0x8278, 0x823B, 0x8254, 0x8218, 0x821A, 0x82DE, 0x8229, 0x821E, 0x8220, 0x823D, 0x80AF, 0x80D7, 0x822E, 0x82FC])
In der UI gibt es noch zwei Felder:
- satured T_ps
- satured T_pd
Diese werden wohl irgendwie berechnet anhand von Temperatur und Druck. Hier muss ich mir mal die genaue Formel raus suchen.

@betaphi funktioniert bei dir Register "0x823D Outdoor Fan1 RPM"? Bei mir kommt da immer nur 291 zurück?
 

betaphi

Profi
Mitglied seit
17.10.2023
Beiträge
330
@betaphi funktioniert bei dir Register "0x823D Outdoor Fan1 RPM"? Bei mir kommt da immer nur 291 zurück?
Nein, Outdoor Fan1 RPM kommt bei mir auch nicht an. Ich weiß aber sicher, dass das eigentlich richtig ist. Ich denke, dass da bei der Modbus Übersetzung etwas schief läuft.

Ich war heute fleissig und habe einen Parser für die Logs geschrieben... Der liefert dann solche Outputs:

Code:
SourceAddress: Address(class: NASADecoder.Address.Class.outdoor, channel: 0, address: 0)
DestinationAddress: Address(class: NASADecoder.Address.Class.broadcastSelfLayer, channel: 0, address: 255)
Information: true
ProtocolVersion: 2
RetryCount: 0
PacketType: normal
DataType: notification
PacketNumber: 216
Capacity: 12
Messages:
    829F [VAR_out_sensor_sat_temp_high_pressure] -> variable(350)
    82A0 [VAR_out_sensor_sat_temp_low_pressure] -> variable(65477)
    82B2 [] -> variable(277)
    82B5 [] -> variable(0)
    82B8 [VAR_out_sensor_midpress] -> variable(0)
    82BC [VAR_OUT_PROJECT_CODE] -> variable(0)
    82D1 [] -> variable(65535)
    82DE [VAR_OUT_SENSOR_EVAIN] -> variable(335)
    82DF [VAR_OUT_SENSOR_TW1] -> variable(320)
    82E0 [VAR_OUT_SENSOR_TW2] -> variable(357)
    82E3 [VAR_OUT_PRODUCT_OPTION_CAPA] -> variable(80)
    82E8 [VAR_OUT_LOAD_MCU_HR_BYPASS_EEV] -> variable(0)
Da geht noch mehr... Aber es lässt schon die ersten Gedanken zu...
 

betaphi

Profi
Mitglied seit
17.10.2023
Beiträge
330
Ich war gestern mal ein bisschen fleissig und habe einen Parser für die NASA-Mitschnitte geschrieben.
Der macht daraus für Menschen (einigermaßen) verständliches HTML. Dargestellt habe ich das ganze dann als "Unterhaltung" im Chat-Stil.
Ich denke so kann man besser verstehen, was, wie und wann übertragen wird.

Bildschirmfoto 2023-12-01 um 08.00.37.png


Danke an @PeterF für das Mitschneiden.
Und danke an @MarcR für das Finden des Repos, das mir das Verstehen des NASA-Protokolls ermöglicht hat.

Die Daten, die hier angehängt sind, sind die, die mir Peter oben angehängt hatte. Seine Beschreibungen zu den "Vorgängen" lässt sich auch in den Daten recht gut nachvollziehen.

Samsung EHS Mono HT Quiet 8 kW
ca. 20:35:02 Anlage abgeschaltet
ca. 20:37:01 Anlage wieder eingeschaltet
ca. 20:38:47 wurde im Display "Komp Betrieb" wieder angezeigt (verzögerte Anzeige .. ?)
real dürfte der Verdichter aber ab ca. 20:38:20 schon wieder angelaufen sein, laut Stromverbrauchskurve
Meine ersten Interpretationen (ohne Anspruch auf endgültige Richtigkeit):
  • Die Außen- und Inneneinheit sprechen gar nicht direkt miteinander, sondern broadcasten jeweils nur regelmäßig ihren jeweiligen Status.
  • Entgegen meiner letzten Aussage steuert die Inneneinheit die Kompressorfrequenz eben doch nicht direkt (obwohl es technisch möglich ist). Der Ansatz, dass die Inneneinheit eine VLT_soll broadcastet und diese dann von der Außeneinheit selbständig hergestellt wird ist natürlich auch der sinnvollere und auch so, wie ich es ganz ursprünglich angenommen habe (bevor ich bemerkte, dass sich die Kompressorfreuqenz per Modbus - und erst recht auch NASA - steuern lässt).
  • Das wiederum führt zu der Annahme, dass die Upgrades der Inneneinheit nicht zu einer wirklichen Verbesserung der Kompressorsteuerung beitragen können. Es sei denn Samsung entschließt sich dazu die Steuerung der Kompressorfrequenz auf die Inneneinheit zu verlegen. Technisch besser wäre aber aus meiner Sicht ein Firmware Update für die Außeneinheit. Aber da man ja offensichtlich den Installateueren nicht mal ein Update der Inneneinheit zutraut scheut man wahrscheinlich das Risiko. (Das ist jedoch Spekulation, muss ich fairerweise sagen).
  • Leider sind bei weitem nicht alle Parameter in der NASA.ptc Datei dokumentiert. Deshalb steht bei einigen leider keine Bezeichnung. Aber auch die Werte dieser Parameter sehen nicht so aus, als ob sie einen wichtigen Einfluss auf die Kompressorfrequenz hätten.
  • Besonders viele Nachrichten der Inneneinheit waren "kaputt" (zu kurz/CRC Fehler). Ich habe sie trotzdem drinnen gelassen und in der aktuellen Version sind diese leider nicht markiert. Das könnte ich aber noch leicht nachreichen.
Jetzt haben wir alle über das Wochenende schön was zum Rätseln.
Gerne kann ich auch noch mehr Daten in HTML konvertieren. Wenn also noch jemand Daten im Format, wie Peter es gepostet hat einstellen will, dann mache ich das gerne. Schaden kann es nicht.

EDIT: Wenn jemand fit in CSS ist und Lust hat, dann gerne ran. Ein bisschen mehr Übersicht könnte nicht schaden. Vielleicht auch gerne direkt bei mir melden, dann könnten wir noch mehr Werte zu den Nachrichten anzeigen (z.B. CRC check und mehr, beispielsweise bei Klick auf die Nachricht). Aber da ich Native-Developer bin ist Web für mich immer ein Graus und deswegen ist es so hemdsärmelig in der Darstellung.
 

Anhänge

Zuletzt bearbeitet:

PeterF

Experte
Mitglied seit
27.02.2022
Beiträge
1.612
Finde ich super daß Du schon so weit gekommen bist ! :thumbup:
  • Besonders viele Nachrichten der Inneneinheit waren "kaputt" (zu kurz/CRC Fehler). Ich habe sie trotzdem drinnen gelassen und in der aktuellen Version sind diese leider nicht markiert. Das könnte ich aber noch leicht nachreichen.
Es ist natürlich schlampig von mir, daß ich mich einfach auf die Inneneinheit aufgeklemmt habe.
An denselben Klemmen hängt ja auch die Kabel-Fernbedienung.

Aus elektrischer Sicht ist das keine Bus- (= Reihen-) Verkabelung sondern eine
sternförmige Verkabelung. Vielleicht ist das die Ursache für die "kaputten" Datenpakete .. :unsure:
 

betaphi

Profi
Mitglied seit
17.10.2023
Beiträge
330
Merci.

Ja, keine Sorge wegen dem „Stern“. Auch im Bus muss ja irgendwo abgegriffen werden. Wenn also deine Leitung von der Inneneinheit zum USB-Dongle jetzt nicht zu weit ist, dann hast du tatsächlich keinen Stern gebaut.

Nichts desto trotz hoffe ich heute noch Daten aus einer anderen Quelle zu bekommen und morgen Abend kommt mein eigener zweiter Stick mit dem ich dann die NASA Daten dauerhaft parallel zu meinen Modbus Aufzeichnungen archivieren kann. Dann haben wir Daten „satt“ :)
 

PeterF

Experte
Mitglied seit
27.02.2022
Beiträge
1.612
Es ist natürlich schlampig von mir, daß ich mich einfach auf die Inneneinheit aufgeklemmt habe.
An denselben Klemmen hängt ja auch die Kabel-Fernbedienung.
Falsch, falsch .. aus der Erinnerung heraus geschrieben .. das ist Quatsch.
Die Wired Remote Control hängt doch separat an F3/F4 .. :rolleyes:

Dann muß ich mal woanders schauen, wo die kaputten Datenpakete herkommen.
Vielleicht RS485 <=> TCP Adapter, vielleicht Kabel .. :unsure:
 
Zuletzt bearbeitet:

betaphi

Profi
Mitglied seit
17.10.2023
Beiträge
330
@PeterF
Also, das Rätsel ist gelöst. Ein genauerer Blick in die vermeintlich defekten Pakete verriet, dass es sich um Pakete handelte, die auf zwei Zeilen gesplittet waren und mein Parser konnte das zu dem Zeitpunkt (noch) nicht. Es lag also an der Software mit der aufgezeichnet wurde und nicht an der Elektrik oder an Samsung.

Hier ist die aktualisierte Version. Jetzt konnten tatsächlich sämtliche Daten erfolgreich gelesen werden und wir haben eine lückenlose Aufzeichnung...
 

Anhänge

PeterF

Experte
Mitglied seit
27.02.2022
Beiträge
1.612
@PeterF
Also, das Rätsel ist gelöst. Ein genauerer Blick in die vermeintlich defekten Pakete verriet, dass es sich um Pakete handelte, die auf zwei Zeilen gesplittet waren und mein Parser konnte das zu dem Zeitpunkt (noch) nicht. Es lag also an der Software mit der aufgezeichnet wurde und nicht an der Elektrik oder an Samsung.
Das beruhigt mich ungemein - dann scheint meine Verkabelung ja in Ordnung zu sein.
Danke !
 

betaphi

Profi
Mitglied seit
17.10.2023
Beiträge
330
Kein Ding. Es war wirklich kein einziges kaputtes Paket dabei. Das ist schon fast erstaunlich ;-)
 

PeterF

Experte
Mitglied seit
27.02.2022
Beiträge
1.612
Dann verrate mir doch bitte, was der CRC Wert ist.
8 Bit ? 16 Bit ?
Das letzte Byte oder Word vor [34] ?
 

betaphi

Profi
Mitglied seit
17.10.2023
Beiträge
330
Hier mal eine Dokumentation zu NASA :)

Die kann @Avamyson auch gerne ins Git übernehmen.

Markdown (GitHub flavored):
# Samsung NASA Protocol

This document describes the structure of Samsung NASA messages as used in various Samsung HVAC systems.

## Physical layer

Messages are transmitted via a RS-485 link with 9600 baud, even parity.

## Packet structure

| Byte | Description | Value | Note |
| ---- | ----------- | ----- | ---- |
| 0    | Packet Start | 0x32 | |
| 1, 2 | Packet Size | 16bit | `int size = (int)data[1] << 8 \| (int)data[2];` `size + 2 == data.size();` |
| 3 | Source Adress Class | Address Class Enum | Outdoor = 0x10, HTU = 0x11, Indoor = 0x20, ERV = 0x30, Diffuser = 0x35, MCU = 0x38, RMC = 0x40, WiredRemote = 0x50, PIM = 0x58, SIM = 0x59, Peak = 0x5A, PowerDivider = 0x5B, OnOffController = 0x60, WiFiKit = 0x62, CentralController = 0x65, DMS = 0x6A, JIGTester = 0x80, BroadcastSelfLayer = 0xB0, BroadcastControlLayer = 0xB1, BroadcastSetLayer = 0xB2, BoradcastCS = 0xB3, BroadcastControlAndSetLayer = 0xB3, BroadcastModuleLayer = 0xB4, BoradcastCSM = 0xB7, BroadcastLocalLayer = 0xB8, BroadcastCSML = 0xBF, Undefiend = 0xFF |
| 4 | Source Channel | 8bit | |
| 5 | Source Address | 8bit | |
| 6 | Destination Address Class | Address Class Enum | See source Address class |
| 7 | Destination Channel | 8bit | |
| 8 | Destination Address | 8bit | |
| 9 | Packet Information | `packetInformation = ((int)data[index] & 128) >> 7 == 1` | |
| 9 | Protocol Version | `protocolVersion = (uint8_t)(((int)data[index] & 96) >> 5);` | |
| 9 | Retry Count | `retryCount = (uint8_t)(((int)data[index] & 24) >> 3);` | |
| 10 | Packet Type | `packetType = (PacketType)(((int)data[index + 1] & 240) >> 4);` |  StandBy = 0 Normal = 1, Gathering = 2, Install = 3, Download = 4 |
| 10 | Data Type | `dataType = (DataType)((int)data[index + 1] & 15);` | Undefined = 0, Read = 1, Write = 2, Request = 3, Notification = 4, Response = 5, Ack = 6, Nack = 7 |
| 11 | Packet Number | 8bit | Increasing packet number |
| 12 | Capacity (Number of Messages) | 8bit | |
| 13, 14 | Message Number | `messageNumber = (uint32_t)data[index] * 256U + (uint32_t)data[index + 1]; type = (MessageSetType)(((uint32_t)messageNumber & 1536) >> 9);` | `messageNumber` as seen in the S-NET NASA.ptc file; type: Enum = 0 (1 byte payload), Variable = 1 (2 bytes payload), LongVariable = 2 (4 bytes payload), Structure = 3 (all following bytes until the end of the packet, minus 3 end bytes; when a packet contains a structure, it does not contain any other messages. Therefore the capacity will be 1.) |
| 14 + 1, 14 + 2, ... | Message Payload | (size as derived from the Message Number) |
| ... | Iterate over Capacity to retrieve all messages | |
| -3, -2 | CRC 16 | 16bit | `uint16_t crc_actual = crc16(data, 3, size - 4); uint16_t crc_expected = (int)data[data.size() - 3] << 8 \| (int)data[data.size() - 2];` |
| -1 | Packet End | 0x34 | |

## Credits

Thank you to lanwin, who implemented [esphome_samsung_ac](https://github.com/lanwin/esphome_samsung_ac/tree/main) and was the first to understand the structure of the NASA Messages.
 
Thema:

Samsung EHS Mono HT Quiet (R32) - Modbus (Homeassistant)

Samsung EHS Mono HT Quiet (R32) - Modbus (Homeassistant) - Ähnliche Themen

  • Samsung EHS Mono HT Quiet (R32) - erstes Firmware-Update - Parameterliste

    Samsung EHS Mono HT Quiet (R32) - erstes Firmware-Update - Parameterliste: Die Parameter-Liste für die Samsung EHS Mono HT Quiet (R32) habe ich heute ergänzt mit den neuen FSV Parametern. Damit das ganze im Riesen-Thread...
  • Samsung Mono 14,4 Kw Ht quiet läuft 24 Stunden am Tag

    Samsung Mono 14,4 Kw Ht quiet läuft 24 Stunden am Tag: Hallo Ich stelle mich mal vor. Wir haben seit Sebtember die Wärmepumpe Samsung Mono Block HT QT 14 KW 3 -PH incl. Regeleinheit mit Touch...
  • Samsung EHS Mono HT Quiet (R32) - Erfahrungen Austausch

    Samsung EHS Mono HT Quiet (R32) - Erfahrungen Austausch: Hier mein Start-Beitrag zur Samsung EHS Mono HT Quiet :) Erfahrungsaustausch in Sachen - FSV-Werte - Options-Einstellungen -...
  • Biegeradius Monoblock (Samsung Mono HT)

    Biegeradius Monoblock (Samsung Mono HT): Moin Moin, wir bekommen demnächst eine Luftwasser Wärmepumpe und der Monoblock sollte eigentlich so dicht wie möglich an die Hauswand (mit dem...
  • Samsung WPLW Mono HT Quiet 12 RE 3 400V läuft seit 8 Wochen mit COP=1,9 bis maximal 2,6

    Samsung WPLW Mono HT Quiet 12 RE 3 400V läuft seit 8 Wochen mit COP=1,9 bis maximal 2,6: Bei wem läuft diese Wärmepumpe mit COP über 4,5? Installationsfirma und Samsung haben es in 3 Versuchen nicht geschafft, über die Veränderung von...
  • Ähnliche Themen

    Oben