Java Webinterface

Java Webinterface

Die Luxtronik 2 hat vor Firmware Version 3.81 ein Java Applet als Webinterface ausgeliefert, diese hat via Port 8888 bzw. 8889 daten gelesen und geschrieben.

Ab Version 3.81 wurde auf ein Websockets basierendes Protokoll gewechselt.

Das Protokoll das davor vom Java Applet verwendet wurde ist aber weiterhin aktiv! und wird z.B. von der Smartphone App verwendet.

Webinterface

Das Webinterface an sich ist ungeeignet um mittels MS angesprochen zu werden, allerdings muss auch dieses irgendwie an die Daten der Heizung kommen was wir für unsere Zwecke nutzen können.

Das Webinterface ist unter der IP Adresse der Wärmepumpe, z.B. 192.168.178.10 erreichbar. Sieht man sich die Ethernet Pakete an, die von und zur Wärmepumpe gehen nach dem das Webinterface aufgerufen wurde (mitteles Wireshark), sieht man das das Webinterface eine neue Verbindung auf Port 8889 zur WP öffnet (8888 auf Luxtronik 2 Modulen mit SW Versionen < 1.76). Dabei sendet das Java Applet bestimmte Byte Sequenzen an die WP und bekommt darauf hin eine ganze Reihe an Bytes zurück. Dieses Verhalten lässt sich mit der PicoC Funktionalität des MS nachbilden und man kommt an die gewünschten Informationen.

Verbindung aufbauen und Daten anfragen

Um eine Verbindung aufzubauen connected man auf die IP der Luxtronik unter Verwendung des Ports 8889.

Es gibt 4 mögliche Kommandos die an die Luxtronik gesendet werden können.

Die Übersetzungen der Bezeichnungen sind möglicherweise nicht korrekt!

3002 - Parameter schreiben

Man sendet 4 Bytes mit dem Kommando, Big Endian formatiert, gefolgt von 4 Bytes mit der Parameter Nummer und 4 Bytes mit dem neuen Wert:

0x00 0x00 0x0b 0xba 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

Die Luxtronik antwortet mit dem Kommando (4 Bytes) und dem Parameterwert (4 Bytes) , ebenfalls Big Endian formatiert.

3003 - Parameter lesen

Man sendet 4 Bytes mit dem Kommando, Big Endian formatiert, gefolgt von 4 Null Bytes:

0x00 0x00 0x0b 0xbb 0x00 0x00 0x00 0x00

Die Luxtronik antwortet mit dem Kommando (4 Bytes) und der Anzahl an Parametern die folgen (4 Bytes) , ebenfalls Big Endian formatiert.

Sobald man die Anzahl weiss, liest man diese Anzahl an Integern (jeweils 4 Bytes) 

Beschreibung: 

3004 - Berechnungen lesen

Man sendet 4 Bytes mit dem Kommando, Big Endian formatiert, gefolgt von 4 Null Bytes:

0x00 0x00 0x0b 0xbc 0x00 0x00 0x00 0x00

Die Luxtronik antwortet mit dem Kommando (4 Bytes), dem Status (4 Bytes) und der Anzahl an Berechnungen die folgen (4 Bytes) , ebenfalls Big Endian formatiert.

Sobald man die Anzahl weiss, liest man diese Anzahl an Integern (jeweils 4 Bytes) 

Nachfolgend ist eine Tabelle die (fast) alle Parameter Beschreibt und zeigt wie man die Werte interpretieren muss.

  • Rot hinterlegte Felder sind unklar

  • Die Parameter 0 - 10 sind auch unklar, im Java Code werden erst die Parameter ab 10 behandelt

  • Die Parameter 6 + 7 ergeben bei mir einen Unix Zeitstempel der sich in den "01.01.2007 01:00:00" umrechnen lässt, aber die Bedeutung erschliesst sich nicht

  • Viele Parameter sind bei mir mit 0, Ich vermute das nicht verbaute Hardware trotzdem in den Daten abgebildet ist um alle Modelle mit einer Software zu erschlagen.

ID

Identifier

Beschreibung

Umrechnung

Einheit

ID

Identifier

Beschreibung

Umrechnung

Einheit

10

ID_WEB_Temperatur_TVL

Vorlauftemperatur Heizkreis

Wert / 10

°C

11

ID_WEB_Temperatur_TRL 

Rücklauftemperatur Heizkreis

Wert / 10

°C

12

ID_WEB_Sollwert_TRL_HZ

Rücklauf-Soll Heizkreis

Wert / 10

°C

13

ID_WEB_Temperatur_TRL_ext

Rücklauftemperatur im Trennspeicher.

Wert / 10

°C

14

ID_WEB_Temperatur_THG

Heisgastemperatur

Wert / 10

°C

15

ID_WEB_Temperatur_TA

Aussentemperatur

Wert / 10

°C

16

ID_WEB_Mitteltemperatur

Durchschnittstemperatur Aussen über 24 h (Funktion Heizgrenze)

Wert / 10

°C

17

ID_WEB_Temperatur_TBW

Warmwasser Ist-Temperatur

Wert / 10

°C

18

ID_WEB_Einst_BWS_akt

Warmwasser Soll-Temperatur

Wert / 10

°C

19

ID_WEB_Temperatur_TWE

Wärmequellen-Eintrittstemperatur

Wert / 10

°C

20

ID_WEB_Temperatur_TWA

Wärmequellen-Austrittstemperatur

Wert / 10

°C

21

ID_WEB_Temperatur_TFB1 

Mischkreis 1 Vorlauftemperatur

Wert / 10

°C

22

ID_WEB_Sollwert_TVL_MK1

Mischkreis 1 Vorlauf-Soll-Temperatur

Wert / 10

°C

23

ID_WEB_Temperatur_RFV  

Raumtemperatur Raumstation 1

Wert / 10

°C

24

ID_WEB_Temperatur_TFB2

Mischkreis 2 Vorlauftemperatur

Wert / 10

°C

25

ID_WEB_Sollwert_TVL_MK2

Mischkreis 2 Vorlauf-Soll-Temperatur

Wert / 10

°C

26

ID_WEB_Temperatur_TSK

Fühler Solarkollektor

Wert / 10

°C

27

ID_WEB_Temperatur_TSS

Fühler Solarspeicher

Wert / 10

°C

28

ID_WEB_Temperatur_TEE

Fühler externe Energiequelle

Wert / 10

°C

29

ID_WEB_ASDin

Eingang "Abtauende, Soledruck, Durchfluss"

Keine

Boolean

30

ID_WEB_BWTin

Eingang "Brauchwarmwasserthermostat"

Keine

Boolean

31

ID_WEB_EVUin

Eingang "EVU Sperre"

Keine

Boolean

32

ID_WEB_HDin

Eingang "Hochdruck Kältekreis"

Keine

Boolean

33

ID_WEB_MOTin

Eingang "Motorschutz OK"

Keine

Boolean

34

ID_WEB_NDin

Eingang "Niederdruck"

Keine

Boolean

35

ID_WEB_PEXin

Eingang "Überwachungskontakt für Potentiostat"

Keine

Boolean

36

ID_WEB_SWTin

Eingang "Schwimmbadthermostat"

Keine

Boolean

37

ID_WEB_AVout

Ausgang "Abtauventil"

Keine

Boolean

38

ID_WEB_BUPout

Ausgang "Brauchwasserpumpe/Umstellventil"

Keine

Boolean

39

ID_WEB_HUPout

Ausgang "Heizungsumwälzpumpe"

Keine

Boolean

40

ID_WEB_MA1out

Ausgang "Mischkreis 1 Auf"

Keine

Boolean

41

ID_WEB_MZ1out

Ausgang "Mischkreis 1 Zu"

Keine

Boolean

42

ID_WEB_VENout

Ausgang "Ventilation (Lüftung)"

Keine

Boolean

43

ID_WEB_VBOout

Ausgang "Solepumpe/Ventilator"

Keine

Boolean

44

ID_WEB_VD1out

Ausgang "Verdichter 1"

Keine

Boolean

45

ID_WEB_VD2out

Ausgang "Verdichter 2"

Keine

Boolean

46

ID_WEB_ZIPout

Ausgang "Zirkulationspumpe"

Keine

Boolean

47

ID_WEB_ZUPout

Ausgang "Zusatzumwälzpumpe"

Keine

Boolean

48

ID_WEB_ZW1out

Ausgang "Steuersignal Zusatzheizung v. Heizung"

Keine

Boolean

49

ID_WEB_ZW2SSTout

Ausgang "Steuersignal Zusatzheizung/Störsignal"

Keine

Boolean

50

ID_WEB_ZW3SSTout

Ausgang "Zusatzheizung 3"

Keine

Boolean

51

ID_WEB_FP2out

Ausgang "Pumpe Mischkreis 2"

Keine

Boolean

52

ID_WEB_SLPout

Ausgang "Solarladepumpe"

Keine

Boolean

53

ID_WEB_SUPout

Ausgang "Schwimmbadpumpe"

Keine

Boolean

54

ID_WEB_MZ2out

Ausgang "Mischkreis 2 Zu"

Keine

Boolean

55

ID_WEB_MA2out

Ausgang "Mischkreis 2 Auf"

Keine

Boolean

56

ID_WEB_Zaehler_BetrZeitVD1

Betriebsstunden Verdichter 1

Keine

Sekunden

57

ID_WEB_Zaehler_BetrZeitImpVD1

Impulse Verdichter 1

Keine

Impulse

58

ID_WEB_Zaehler_BetrZeitVD2

Betriebsstunden Verdichter 2

Keine

Sekunden

59

ID_WEB_Zaehler_BetrZeitImpVD2

Impulse Verdichter 2

Keine

Impulse

60

ID_WEB_Zaehler_BetrZeitZWE1

Betriebsstunden Zweiter Wärmeerzeuger 1

Keine

Sekunden

61

ID_WEB_Zaehler_BetrZeitZWE2

Betriebsstunden Zweiter Wärmeerzeuger 2

Keine

Sekunden

62

ID_WEB_Zaehler_BetrZeitZWE3

Betriebsstunden Zweiter Wärmeerzeuger 3

?? (Wert / 7200 = Stunden)

??

63

ID_WEB_Zaehler_BetrZeitWP

Betriebsstunden Wärmepumpe

Keine

Sekunden

64

ID_WEB_Zaehler_BetrZeitHz

Betriebsstunden Heizung

Keine

Sekunden

65

ID_WEB_Zaehler_BetrZeitBW

Betriebsstunden Warmwasser

Keine

Sekunden

66

ID_WEB_Zaehler_BetrZeitKue

Betriebsstunden Kühlung

Keine