Truma Combi iNet

damit ist es installiert und dann mit truma_service kommt logischerweise:

weil die miqro.yml file nicht gefunden wird, also dann weiter der Anleitung folgen und dann geht es.

Ja die miqro.yml muss noch erstellt werden.
Man muss doch nicht vorher Pakete downloaden und in das site-packages Verzeichnis kopieren, oder?
Die sollten doch vom Github Server direkt geholt werden.

@Vincent Die Installation wie du sie beschrieben hast hat funktioniert.
In derKonfig miqro.yml kommt ja folgendes rein:
broker:

host: localhost

port: 1883

keepalive: 60

log_level: INFO

services:

truma:

serial_device: /dev/ttyAMA1

Damit AMA1 nicht doppelt benützt wird, hatte ich mir folgendes in der alten Version notiert:
AMA1 in Node-Red Flow “Connections” disable selected nodes/appearance

Nun finde ich das in der 2.02 aber nicht mehr. Ignoriere ich das einfach, oder wie hast du das gemacht?

Du kannst mit ls -l /dev/ttyAMA1 sehen ob da irgendwas aktuell verbunden ist oder nicht.
AMA1 wird aber nicht benutzt in der 2.0.1

DIe seriellen Schnittstellen haben sich in BOOKWORM geändert, oder ?

after merging Bookworm changes from current arm64 branch the device enumeration changes and there are UART warnings in the kernel log:

UART GPIO pins kernel device connected to
UART0 14/15 ttyAMA1 tester console
UART2 00/01 ttyAMA2 GPS
UART5 12/13 ttyAMA0 Linux console
UART Bullseye Bookworm
0 ttyAMA0 ttyAMA0
2 ttyAMA1 ttyAMA2
5 ttyAMA2 ttyAMA5

Wie war das in der 1.01 mit AMA1 ?
Wie kann ich mir einen weiteren UART Port /ttyAMA(n) erstellen?

Ich habe in der config.txt uart2 zusätzlich eingetragen, aber leider kommt nach dem reboot untder /dev/ kein AMA

[all]

dtoverlay=w1-gpio
dtoverlay=uart5
enable_uart=1
enable_uart=2

image

Dz kannst theoretisch (!) in der config.txt dtoverlay=uart0 bis uart5 eintragen um UART Ports auf weiteren Pins zu aktivieren.
Dabei musst du aber aufpassen welche Pins verwendet werden, sonst gibts da Probleme.
Die Pins stehen in der /boot/overlays/README Datei

Ich habe mir nun UART2 als /dev/ttyAMA2 konfiguriert.
Wenn ich nun den TrumaService in der console starte, wird mir gemeldet, daß der Port nicht geöffnet werden kann:

pi@pekaway:/dev $ truma_service
2024-09-25 15:40:58,165 truma.main INFO started
2024-09-25 15:40:58,165 truma.main INFO Opening serial device /dev/ttyAMA2 in exclusive mode
Traceback (most recent call last):
File “/home/pi/.local/lib/python3.11/site-packages/serial/serialposix.py”, line 385, in _reconfigure_port
fcntl.flock(self.fd, fcntl.LOCK_EX | fcntl.LOCK_NB)
BlockingIOError: [Errno 11] Resource temporarily unavailable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/pi/.local/bin/truma_service”, line 8, in
sys.exit(truma_service.run())
^^^^^^^^^^^^^^^^^^^
File “/home/pi/.local/lib/python3.11/site-packages/inetbox/truma_service.py”, line 142, in run
miqro.run(TrumaService)
File “/home/pi/.local/lib/python3.11/site-packages/miqro/init.py”, line 578, in run
service(
File “/home/pi/.local/lib/python3.11/site-packages/inetbox/truma_service.py”, line 55, in init
self.serial = Serial(serial_device, baudrate, timeout=timeout, exclusive=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/pi/.local/lib/python3.11/site-packages/serial/serialutil.py”, line 244, in init
self.open()
File “/home/pi/.local/lib/python3.11/site-packages/serial/serialposix.py”, line 332, in open
self._reconfigure_port(force_update=True)
File “/home/pi/.local/lib/python3.11/site-packages/serial/serialposix.py”, line 387, in _reconfigure_port
raise SerialException(msg.errno, “Could not exclusively lock port {}: {}”.format(self._port, msg))
serial.serialutil.SerialException: [Errno 11] Could not exclusively lock port /dev/ttyAMA2: [Errno 11] Resource temporarily unavailable

Resource temporarily unavailable

und was macht der Port?
sudo fuser /dev/ttyAMA2
sudo lsof /dev/ttyAMA2

pi@pekaway:~ $ sudo fuser /dev/ttyAMA2
/dev/ttyAMA2: 681
pi@pekaway:~ $ sudo lsof /dev/ttyAMA2
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python3 681 root 3uW CHR 204,66 0t0 132 /dev/ttyAMA2

Na und jetzt hast du die Process ID (PID) und kannst schauen was da den Port blockiert

Kannst du mir helfen, wie ich das mache?

ps -p <PID>

Zeigt dir den Prozess der PID an

ps aux | grep ttyAMA2

Kannst du auch noch versuchen, das sollte ebenfalls den Prozess anzeigen

dmesg | grep ttyAMA2

fällt mir noch ein, falls ein Kernel-Treiber oder Hardware den Port belegt

Anbei die Ergebnisse:

pi@pekaway:~ $ ps -p 681
PID TTY TIME CMD
681 ? 00:04:18 python3

pi@pekaway:~ $ ps aux | grep ttyAMA2
pi 108020 0.0 0.0 6088 1920 pts/0 S+ 07:41 0:00 grep --color=auto ttyAMA2

pi@pekaway:~ $ dmesg | grep ttyAMA2
[ 1.583162] fe201400.serial: ttyAMA2 at MMIO 0xfe201400 (irq = 36, base_baud = 0) is a PL011 rev2

pi@pekaway:~ $ ps -p 681
PID TTY TIME CMD
681 ? 00:04:18 python3

Also ein Python Script. Bringt ps -fp 681 mehr Aufschluss, welches script genau?
Ansonsten kannst du den Prozess auch einfach stoppen mit sudo kill 681

ähm ja, der Truma-Service selber:

pi@pekaway:~ $ ps -fp 681
UID PID PPID C STIME TTY TIME CMD
root 681 1 0 Sep25 ? 00:05:41 python3 /usr/local/bin/truma_service

Ich baue demnächst alles ein und teste es. Sollte dann eigentlich gehen.

Wie ich gerade im Schaltplan sehe, ist der UART 2 nicht herausgeführt.
Wird der vorn euch für etwas verwendet?
Welcher Uart wird für das NEXTION Display verwendet?
Ich hatte in der alten Konfig UART5 auf J12 für Truma LIN verwendet . Wird der in der aktuellen Software von euch verwendet?

Hallo zusammen, ich habe es hinbekommen, die Truma spricht mit PKW 2.02 über den Multiport UART5:

1 Like

Das ist ja klasse! Würde eine Ähnliche Anwendung/Steuerung auch mit der Aventa Klimaanlage funktionieren?

Grüße Kai

Hallo Kai
Das sollte hiermit gehen.
Wird nicht über UART angeschlossen, sondern über einen ESP32

Bin gerade auch damit am testen, hab leider noch keine Heizung :face_with_raised_eyebrow::neutral_face::smile:

1 Like

Jetzt habe ich wieder mein “connection lost” Problem.
D.h. der PI trennt irgendwie immer wieder das LAN, oder reagiert zu träge.
Das muss mit dem truma_service zusammen hängen.
@Vincent @Karl habt ihr das auch schon gehabt?

image