Truma Combi iNet

@Ashburner
Die Beschreibung könntest du gerne Posten.
das ist Linbus.
Ich habe die Domatic Frechwell 2000 in meinem Hobby Wohnwagen, einfach mit dem CI Bus verbunden, und kann sie jetzt über das Display steuern. Also kann der CI Bus nicht weit weg vom Linbus liegen.
Vielleicht bekommt man ja dann den dämlichen Hobby “Bordcomputer” auch aus dem Wohnwagen :wink: :rofl:
Gruß Arno

wie kann ich denn Dateien posten? Beim Upload sind nur recht wenige Formate möglich… Keine Zip oder PDFs


Edit: wer es haben möchte, ich schicke es gerne per Email.

Hallo zusammen, ich bin gerade dabei eine Truma Combi4e mit der inetbox.py und der LIN/seriell Platine die dort empfohlen wurde zu installieren.
Kann ich dazu die UART Schnittstelle TX5/RX5 auf dem Relais Board verwenden, die über den Molex Stecker herausgeführt ist verwenden?

in der /boot/config.txt ist UART5 von euch bereits aktiviert:

[all]
#dtoverlay=vc4-fkms-v3d
dtoverlay=w1-gpio
enable_uart=1
dtoverlay=uart5

Wie ich festgestellt habe wird für jeden UART ein /dev/ttyAMAx erzeugt.

Dann ist der UART5 in diesem Fall der /dev/ttyAMA1

Es kommt kommt dieser Fehler, da der UART5 im Flow “config” definiert wurde:
serial.serialutil.SerialException: [Errno 11] Could not exclusively lock port /dev/ttyAMA1: [Errno 11] Resource temporarily unavailable

OK, habe nun noch einen dtoverlay=uart4 hinzugefügt und somit 3 x AMAx bekommen:
pi@pekaway:/var/log/truma$ ls -la /dev/ttyAMA*
crw-rw---- 1 root dialout 204, 64 Mar 15 14:08 /dev/ttyAMA0
crw-rw---- 1 root dialout 204, 65 Mar 15 14:08 /dev/ttyAMA1 (UART3)
crw-rw---- 1 root dialout 204, 66 Mar 15 15:08 /dev/ttyAMA2 (UART5)

Nun kann ich den /dev/ttyAMA2 verwenden um damit den UART am Molex Stecker an zu sprechen.

Ich habe die Truma Combi4e somit zum laufen bekommen!!!

So sieht die LIN Kommunikation aus:

So sieht ein MQTT Befehl aus “heizen, Raumtemperatur 23C, elektrisch, 900W”:

mosquitto_pub -t ‘service/truma/set/target_temp_room’ -m ‘23’; mosquitto_pub -t ‘service/truma/set/heating_mode’ -m ‘eco’; mosquitto_pub -t ‘service/truma/set/energy_mix’ -m ‘electricity’; mosquitto_pub -t ‘service/truma/set/el_power_level’ -m ‘900’

CPPlus hat den Befehl verstanden:

Nun muss das ganze über NodeRED eingebunden werden.

1 Like

@Ashburner Der Speicherplatz auf dem Server ist begrenzt :smiley: Du könntest es aber woanders hochladen und dann hier verlinken.

@range4200t Nicht schlecht, sieht gut aus!

@Vincent Ich bin nicht ganz so der node-RED programmierer.

Kommst du dazu wenn ich die die MQTT Topics gebe diese in Pekaway zu einem Truma Flow ein zu binden ?

Gruß, Stefan

Topics:

Abfragen Display:

service/truma/display_status/voltage : msg.payload : number
13.1

service/truma/display_status/target_temp_room : msg.payload : number
23

service/truma/display_status/vent_mode : msg.payload : string[3]
“Off”
1
service/truma/display_status/cp_plus_display_status : msg.payload : string[13]
“standby ac on”

service/truma/display_status/vent_or_something_status : msg.payload : string[3]
“off”

service/truma/display_status/current_temp_water : msg.payload : number
21.5

service/truma/display_status/target_temp_water : msg.payload : number
0

service/truma/display_status/energy_mix : msg.payload : string[11]
“electricity”
1
service/truma/display_status/energy_mode : msg.payload : string[17]
“mix/electricity 1”

service/truma/display_status/energy_mode_2 : msg.payload : string[11]
“Electricity”

service/truma/display_status/heating_status : msg.payload : string[15]
“boiler eco done”

service/truma/display_status/heating_status_2 : msg.payload : string[6]
“normal”

service/truma/display_status/current_temp_room : msg.payload : number
20

Abfrage update-status:
service/truma/update_status : msg.payload : string[4]
“idle/waiting_for_cp_plus/waiting_commit/waiting_truma”

waiting_for_cp_plus means that there is no connection yet to CP Plus and settings will only be applied after a connection has been established. In normal circumstances, this can take up to a minute.
waiting_commit means that the service waits for more changes (see above) before applying them.
waiting_truma means that the service waits for the CP Plus to ask for a settings update before the service can send the changed settings. This should not take more than about 10 seconds.
idle means that there are no pending setting changes.

Abfrage cp_plus_status:
service/truma/cp_plus_status : msg.payload : string[6]
“online/waiting”
online means that the service is connected to CP Plus and is receiving status updates.
waiting means that the service is not connected to CP Plus and is not receiving status updates.
This can happen after a restart of the service. When you send a settings change command,
the update_status will be waiting_for_cp_plus until the service is connected.

Befehle:

service/truma/set/target_temp_room ‘0=off 5-30’ and service/truma/set/heating_mode ‘off, eco, high’ together
service/truma/set/target_temp_water ‘0=off 40=eco 60=high, 200= boost’
service/truma/set/energy_mix ‘none/gas/electricity/mix’ and service/truma/set/el_power_level ‘0/900/1800’ together

Ich denke schon, dass wir das eingebunden bekommen, wird aber noch etwas dauern, muss ja dann auch ausführlich getestet sein.

Hallo Vincent, anbei mein Flow indem die Truma über euren Flow “Heater Control” gestartet und gestoppt wird und die Temperatur geändert wird . Auch kann die Temperatur nach dem Start nachträglich noch geändert werden.


Heater Truma.json (7.5 KB)
Heater Controls.json (47.0 KB)

Das sieht doch schon sehr gut aus! Will das bei mir auch umsetzen…
Schon mal vielen Dank für deinen Ensatz bis hier hin.
Wie genau hast Du den LIN bus an das VanPi angebunden und hast du die möglichkeit das CP Plus oder die I-net X Parallel dazu zu betreiben? Oder gibt evtl. sogar bereits fertige LINbus splitter dafür?

bis hier auf jenden fall schon mal top Arbeit, ich warte auch schon sehr lange auf die Truma integration.
Und freue mich jetzt schon auf mehr zu diesem Thema

Hallo,
ich habe das von Daniel Fett von Womolin:

Anschluss RX/TX vertauscht am UART5 ( rückseitig herausgeführt auf Relaiboard ) mit Molex Stecker.


Standardmässig ist dieser für Eventualitäten in dem Config Flow von Pekaway eingebunden. Ich denke, wenn man den da herauskonfiguriert, geht es direkt, ohne die Umwege in der config.txt im Raspi.
Wichtig ist, das manche Befehle kombiniert zur Teuma gesendet werden müssen ( siehe in meiner Befehl Tabelle „together“)

Was ich nich testen werde, ist ob man den LIN Adapeter wie beschrieben mit einem Y-Kabel direkt am CP-Plus Panel anschluessen kann. Wäre bei mir von der Verkabelung günstiger.

@Vincent, auf welchen Flow geht denn die IoT bridge, wenn man dort die Heizung einschaltet ?
Kann man in der IoT bridge die Temperatur der Heizung nicht einstellen ?
Gruss, Stefan

Hey Stefan die IOT-Bridge geht auf Start und Stop im FLow Heater Controller. Dort kannst du die Truma dran hängen.

Beste Grüße

@Karl @Vincent War mein Fehler, ich hatte den Truma Service erst nur in einer SSH Shell laufen. Dieser war beendet, darum hat die Truma nicht reagiert.
Um den truma_servide als Dienst zu installieren bitte wie folgt:
Service Installation:
sudo pip3 install inetbox_py[truma_service]
sudo truma_service --install
sudo pip3 install --upgrade inetbox_py[truma_service]
sudo systemctl enable miqro_truma
sudo systemctl start miqro_truma

In welchem Flow könnte ich den Truma Status, die Truma Temperatur an die IoT übermitteln ?

Such mal mit STRG+F nach

global.set(“heatstatus”

dort werden die Variablen geschrieben Die anderen Variablen sind “heaterror” und “heattemp”, alles globale Variablen. Die Bridge fragt die Daten per HTTP-Request ab, holt sich also alles über die HTTP-API.

Hallo Vincent, die ganzen globalset finde ich nur in Heater China Diesel:
grafik

Sonst nirgendwo. Kann das sein?

OK, ein Teil geht nun, aber irgendwie müssen die Flächen angepasst werden:


Kann ich das auch selber machen ?

Ich hab mal alle möglichen Meldungen anzeigen lassen:

Anbei der jetzige Flow dazu:
Heater Truma.json (25.3 KB)

Jetzt muss natürlich noch die Selektion welche Energieart, Boiler, Heizen usw. als Auswahl eingebaut werden.

Die globalen Variablen werden genau so im Autotherm Flow geschrieben. Du musst sie an irgendeiner Stelle überschreiben in deinem Flow, dann werden sie in der App angezeigt. im HTTP-Flow siehst du welche Variablen genau abgefragt werden, die Bridge holt sich die Daten wie gesagt von dort.

Der Anzeigefehler in der App bei “Fan” ist bekannt, da kannst du aber selber nichts machen, dafür muss der Code der App bearbeitet werden.

Muss mal sehen dass wir an die ganzen Truma Geräte rankommen zum Testen.

@Vincent ich möchte den LIN Adapter in das Relay Gehäuse verlegen.
Dazu würde es sich aber anbeiten den UART 4 zu verwenden.
Ich bekomme von dem Port keine Werte immer nur von UART5.
Wenn ich beide Ports in der /dev/config.txt eintrage bekomme ich den ttyAMA1 + ttyAMA2 angelegt.
ttyAMA1 habe ich im Config Flow deaktiviert, da er ansonsten belegt ist.
Geht aber trotzdem nicht.
nicht einmal mit dem minicom Terminal.
grafik

Hast du noch eine Idee?

UART4 ist nur auf der Platine direkt (neuere, schwarze Platine) zugänglich bei J11.
Auf dem Port den du meinst (J3) ist nur UART5 vorhanden.

siehe siehe Relayboard - Pekaway VanPi

Also ich bekomme nur den internen J12 hierzu als ttyAMA1 zum Laufen:

config.txt:
[all]
#dtoverlay=vc4-fkms-v3d
dtoverlay=w1-gpio
enable_uart=1
#dtoverlay=uart2
#dtoverlay=uart3
#dtoverlay=uart4
dtoverlay=uart5

pi@pekaway:~$ dmesg | grep “tty”
[ 0.001828] printk: console [tty0] enabled
[ 1.654284] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 36, base_baud = 0) is a PL011 rev2
[ 1.657534] fe201a00.serial: ttyAMA1 at MMIO 0xfe201a00 (irq = 36, base_baud = 0) is a PL011 rev2
[ 1.669118] fe215040.serial: ttyS0 at MMIO 0xfe215040 (irq = 37, base_baud = 62500000) is a 16550
[ 3.726272] systemd[1]: Created slice system-getty.slice.
[ 6.270552] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB0

Aber so geht es!