Hi,
das mit dem Vorzeichen habe ich tatsächlich auch vermutet. Der Wechselrichter am ACout speist ja ein, insofern war ja anzunehmen, dass dort eigentlich negative Werte auftauchen sollten.
Blockzitatleider ist damit immer noch nicht klar, warm dein multi vom gx nicht erkannt wird. ich danke aber, einen fehler beim multi koennen wir ausschliessen.
Den Satz habe ich mal als Anlass genommen, um wieder am vorderen Ende anzufangen. Ich habe eine andere SD-Karte genommen, ein frisches VenusOS der letzten Version draufgespielt und in den Raspi verfrachtet. Erfolg gleich null. Weder in der Remote Console, noch im VRM-Portal wurde der MP2 unter den devices angezeigt.
Auf der Suche nach anderen Tools, um die Verbindung/Erkennung vom MK3/MP2 zu testen, bin ich auf ein ganz ähnliches Projekt wie dein Programm gestossen. Kennst du wahrscheinlich auch https://github.com/martiby/multiplus2 Im Prinzip wirft es auch kontinuierlich die aktuellen Werte aus, aber in der gui-Version kann man zusätzlich sehr einfach den ESS-Sollwert für den MP2 einstellen, also indirekt den Inverter/Charger anwerfen
2025-04-12 17:56:20.410 vebus INFO mk2_version=1170216
2025-04-12 17:56:20.582 vebus INFO init_address 0 successful
2025-04-12 17:56:20.919 vebus INFO found ess assistant at ramid=130
2025-04-12 17:56:22.155 vebus INFO {'device_state_id': 8, 'device_state_name': 'bypass', 'mains_u': 237.73, 'mains_i': -0.8, 'inv_u': 237.73, 'inv_i': -0.83}
2025-04-12 17:56:22.380 vebus INFO read_snapshot: {'inv_p': -132, 'out_p': -137, 'bat_u': 27.86, 'bat_i': 0.0, 'bat_p': 0, 'soc': 197}
2025-04-12 17:56:22.553 vebus INFO led_light=0x01 led_blink=0x00
2025-04-12 17:56:23.788 vebus INFO {'device_state_id': 8, 'device_state_name': 'bypass', 'mains_u': 238.71, 'mains_i': -0.8, 'inv_u': 238.71, 'inv_i': -0.83}
2025-04-12 17:56:24.033 vebus INFO read_snapshot: {'inv_p': -131, 'out_p': -135, 'bat_u': 27.86, 'bat_i': 0.0, 'bat_p': 0, 'soc': 197}
2025-04-12 17:56:24.225 vebus INFO led_light=0x01 led_blink=0x00
2025-04-12 17:56:25.471 vebus INFO {'device_state_id': 8, 'device_state_name': 'bypass', 'mains_u': 238.71, 'mains_i': -0.8, 'inv_u': 238.71, 'inv_i': -0.83}
2025-04-12 17:56:25.705 vebus INFO read_snapshot: {'inv_p': -130, 'out_p': -135, 'bat_u': 27.86, 'bat_i': 0.0, 'bat_p': 0, 'soc': 197}
2025-04-12 17:56:25.887 vebus INFO led_light=0x01 led_blink=0x00
2025-04-12 17:56:27.164 vebus INFO {'device_state_id': 8, 'device_state_name': 'bypass', 'mains_u': 238.71, 'mains_i': -0.64, 'inv_u': 238.71, 'inv_i': -0.99}
2025-04-12 17:56:27.387 vebus INFO read_snapshot: {'inv_p': -128, 'out_p': -132, 'bat_u': 27.86, 'bat_i': 0.0, 'bat_p': 0, 'soc': 197}
Wenn ich den Sollwert beispielsweise auf -100W setze, springt der Inverter samt LED an, und es werden zusätzlich zum BKK auf ACout 100W eingespeist.
2025-04-12 18:12:14.655 vebus INFO set_ess_power to -100W done
2025-04-12 18:12:14.899 vebus INFO {'device_state_id': 9, 'device_state_name': 'charge', 'mains_u': 236.74, 'mains_i': -0.48, 'inv_u': 236.74, 'inv_i': -0.06}
2025-04-12 18:12:15.133 vebus INFO read_snapshot: {'inv_p': -102, 'out_p': -33, 'bat_u': 27.85, 'bat_i': -3.6, 'bat_p': -100, 'soc': 196}
2025-04-12 18:12:15.316 vebus INFO led_light=0x14 led_blink=0x01
2025-04-12 18:12:16.317 mp2 DEBUG set_power -100
2025-04-12 18:12:16.431 vebus INFO set_ess_power to -100W done
2025-04-12 18:12:16.676 vebus INFO {'device_state_id': 9, 'device_state_name': 'charge', 'mains_u': 236.74, 'mains_i': -0.8, 'inv_u': 236.74, 'inv_i': 0.26}
2025-04-12 18:12:16.920 vebus INFO read_snapshot: {'inv_p': -105, 'out_p': -36, 'bat_u': 27.84, 'bat_i': -3.4, 'bat_p': -95, 'soc': 196}
2025-04-12 18:12:17.103 vebus INFO led_light=0x14 led_blink=0x01
2025-04-12 18:12:18.104 mp2 DEBUG set_power -100
2025-04-12 18:12:18.217 vebus INFO set_ess_power to -100W done
2025-04-12 18:12:18.471 vebus INFO {'device_state_id': 9, 'device_state_name': 'charge', 'mains_u': 236.74, 'mains_i': -0.48, 'inv_u': 236.74, 'inv_i': -0.06}
2025-04-12 18:12:18.705 vebus INFO read_snapshot: {'inv_p': -100, 'out_p': -33, 'bat_u': 27.86, 'bat_i': -3.6, 'bat_p': -100, 'soc': 196}
2025-04-12 18:12:18.888 vebus INFO led_light=0x14 led_blink=0x01
2025-04-12 18:12:19.888 mp2 DEBUG set_power -100
2025-04-12 18:12:20.001 vebus INFO set_ess_power to -100W done
2025-04-12 18:12:20.245 vebus INFO {'device_state_id': 9, 'device_state_name': 'charge', 'mains_u': 236.74, 'mains_i': -0.8, 'inv_u': 236.74, 'inv_i': 0.17}
2025-04-12 18:12:20.470 vebus INFO read_snapshot: {'inv_p': -102, 'out_p': -35, 'bat_u': 27.84, 'bat_i': -3.3, 'bat_p': -92, 'soc': 196}
2025-04-12 18:12:20.642 vebus INFO led_light=0x14 led_blink=0x01
2025-04-12 18:12:21.643 mp2 DEBUG set_power -100
2025-04-12 18:12:21.768 vebus INFO set_ess_power to -100W done
2025-04-12 18:12:22.002 vebus INFO {'device_state_id': 9, 'device_state_name': 'charge', 'mains_u': 237.73, 'mains_i': -0.8, 'inv_u': 237.73, 'inv_i': 0.17}
2025-04-12 18:12:22.226 vebus INFO read_snapshot: {'inv_p': -98, 'out_p': -36, 'bat_u': 27.83, 'bat_i': -3.3, 'bat_p': -92, 'soc': 196}
2025-04-12 18:12:22.408 vebus INFO led_light=0x14 led_blink=0x01
2025-04-12 18:12:23.410 mp2 DEBUG set_power -100
2025-04-12 18:12:23.524 vebus INFO set_ess_power to -100W done
2025-04-12 18:12:23.769 vebus INFO {'device_state_id': 9, 'device_state_name': 'charge', 'mains_u': 237.73, 'mains_i': -0.8, 'inv_u': 237.73, 'inv_i': 0.17}
2025-04-12 18:12:23.992 vebus INFO read_snapshot: {'inv_p': -95, 'out_p': -34, 'bat_u': 27.84, 'bat_i': -3.3, 'bat_p': -92, 'soc': 196}
2025-04-12 18:12:24.164 vebus INFO led_light=0x14 led_blink=0x01
Was mir allerdings ins Auge fiel, war die fehlenden Ausgabe der MK2 (eigentlich MK3) Versionsnummer
Im Quelltext wird der Port für das MK3 Interface hardcodiert und nicht wie bei dir durch Scannen der USB-Ports gesucht. Im Original steht dort:
# port = '/dev/ttyUSB0'
port = '/dev/serial/by-id/usb-VictronEnergy_MK3-USB_Interface_HQ2132VK4JK-if00-port0'
Zuerst habe ich stumpf das /dev/ttyUSB0 wieder aktiviert und die /dev/serial/by-id Variante auskommentiert, was sofort funktionierte. Dann fiel mir ein, dass ich in einem anderen Zusammenhang (Festplattentausch bei einem RAID) schon einmal über die verschiedenen Möglichkeiten der Referenzierung von devices über symbolische Links bei Linux gestolpert bin. Im Prinzip ist es egal welches Alias man nimmt, aber by-id, by-name etc. gibt einem zusätzliche Info über den device, der eingebunden wurde. Jedenfalls fiel mir auf, dass das MK3 Interface im Beispielcode als ID-String sowohl seine Funktion (VictronEnergy_MK3-USB_Interface) als auch seine Serien/Gerätenummer übermittelt hat. Also habe ich sofort überprüft, was mein MK3-Interface am Laptop so sagt
Und siehe da, dieser Teil fehlt bei meinem MK3.
> ls -alp /dev/serial/by-id/
insgesamt 0
drwxr-xr-x 2 root root 60 12. Apr 17:53 ./
drwxr-xr-x 4 root root 80 12. Apr 17:53 ../
lrwxrwxrwx 1 root root 13 12. Apr 17:53 usb-FTDI_FT232EX-if00-port0 -> ../../ttyUSB0
Als Gegenprobe habe ich eins der VE.direct USB-Interfaces gescheckt. Dort ist der Hersteller-String enthalten.
usb-VictronEnergy_BV_VE_Direct_cable_VE8BxxxQ-if00-port0 -> ../../ttyUSB0
Dann fiel mir auch wieder ein, dass ich das vor einigen Tagen schon im boot-log seltsam fand
[ 4.471537] hub 1-1.1:1.0: USB hub found
[ 4.475607] hub 1-1.1:1.0: 3 ports detected
[ 4.574678] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
[ 4.737651] usb 1-1.2: New USB device found, idVendor=0403, idProduct=6015, bcdDevice=10.00
[ 4.746044] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4.753361] usb 1-1.2: Product: VE Direct cable
[ 4.757920] usb 1-1.2: Manufacturer: VictronEnergy BV
[ 4.762978] usb 1-1.2: SerialNumber: VExxxAWO
[ 4.804678] usb 1-1.1.2: new full-speed USB device number 5 using dwc_otg
[ 4.967526] usb 1-1.1.2: New USB device found, idVendor=0403, idProduct=6015, bcdDevice=10.00
[ 4.976092] usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4.983582] usb 1-1.1.2: Product: VE Direct cable
[ 4.988312] usb 1-1.1.2: Manufacturer: VictronEnergy BV
[ 4.993544] usb 1-1.1.2: SerialNumber: VExxxPTQ
[ 5.034683] usb 1-1.3: new full-speed USB device number 6 using dwc_otg
[ 5.180027] usb 1-1.3: New USB device found, idVendor=0403, idProduct=6015, bcdDevice=10.00
[ 5.188426] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 5.195775] usb 1-1.3: Product: FT232EX
[ 5.199618] usb 1-1.3: Manufacturer: FTDI
[ 5.264680] usb 1-1.1.3: new full-speed USB device number 7 using dwc_otg
[ 5.427528] usb 1-1.1.3: New USB device found, idVendor=0403, idProduct=6015, bcdDevice=10.00
[ 5.436095] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5.443585] usb 1-1.1.3: Product: VE Direct cable
[ 5.448315] usb 1-1.1.3: Manufacturer: VictronEnergy BV
[ 5.453547] usb 1-1.1.3: SerialNumber: VExxxIR7
Alle drei VE.direct USB-Adapter melden als Hersteller VictronEnergy BV und liefern anschliessend ihre Seriennummer, nur das MK3 Interface bleibt als FTDI stecken.
Entweder bin ich da jetzt auf einer ganz heissen Spur, oder ich fange aus lauter Verzweiflung an, USB-Adapter-Verschwörungen zu sehen 
Vielleicht gibt es ja noch den ein oder anderen stillen Mitleser, der eine Raspi/VenusOS Installation mit MK3-Interface hat und über ssh auf dem Raspi mal schauen kann, was ein MK3 Interface normalerweise mitteilt. Einfach ein
ls -alp /dev/serial/by-id
absetzen. Danke im voraus