Test openWB 2 auf Debian 12 / RPI OS Bookworm

Fragen zur Nutzung, Features, usw..
Basti
Beiträge: 149
Registriert: Di Feb 21, 2023 3:28 pm
Has thanked: 1 time
Been thanked: 26 times

Re: Test openWB 2 auf Debian 12 / RPI OS Bookworm

Beitrag von Basti »

Habe es gestern erst wieder getestet nach dem ich die neuesten Updates eingefplegt habe und es lief ohne Probleme auf Proxmox.

Code: Alles auswählen

Debian 12
apt install curl sudo
adduser openwb
usermod -aG sudo openwb
reboot
login as openwb
curl -s https://raw.githubusercontent.com/Xerolux/openwb-bookworm/master/openwb-install.sh | sudo bash
Ansonsten bitte mal die main.log posten nach dem Neustart

Code: Alles auswählen

http://192.168.178.70/openWB/ramdisk/main.log
bitte deine IP Eintragen
Danke dir
rleidner
Beiträge: 1538
Registriert: Mo Nov 02, 2020 9:50 am
Has thanked: 103 times
Been thanked: 202 times

Re: Test openWB 2 auf Debian 12 / RPI OS Bookworm

Beitrag von rleidner »

Ich habe es auf debian12 am Laufen, aber es benötigt "kleinere" Anpassungen:
requirements.txt auf aktuelle Versionen setzen:

Code: Alles auswählen

openwb@debian12:~/openWB$ cat requirements.txt 
jq==1.6.0
paho_mqtt==1.6.1
pymodbus==3.6.3
pytest==8.0.0
requests_mock==1.11.0
lxml==5.1.0
aiohttp==3.9.3
schedule==1.2.1
PyJWT==2.8.0
ipparser==1.0.2
bs4==0.0.2
pkce==1.0.3
# skodaconnect==1.3.9
evdev==1.6.1
#telnetlib3==2.0.2
cryptography==42.0.2
msal==1.26.0
python-dateutil==2.8.2
umodbus==1.0.4
pysmb==1.2.9.1
pytz==2024.1
Daraus folgen einige Anpassungen in packages/modules/common/modbus.py:

Code: Alles auswählen

openwb@debian12:~/openWB$ git diff packages/modules/common/modbus.py | cat
diff --git a/packages/modules/common/modbus.py b/packages/modules/common/modbus.py
index a7ef40ed8..f31a3123e 100644
--- a/packages/modules/common/modbus.py
+++ b/packages/modules/common/modbus.py
@@ -10,7 +10,9 @@ from enum import Enum
 from typing import Callable, Iterable, Union, overload, List
 
 import pymodbus
-from pymodbus.client.sync import ModbusTcpClient, ModbusSerialClient
+from pymodbus.client.tcp  import ModbusTcpClient
+from pymodbus.client.serial  import ModbusSerialClient
+# from pymodbus.client.sync import ModbusTcpClient, ModbusSerialClient
 from pymodbus.constants import Endian
 from pymodbus.payload import BinaryPayloadDecoder
 from urllib3.util import parse_url
@@ -72,8 +74,8 @@ class ModbusClient:
     def __read_registers(self, read_register_method: Callable,
                          address: int,
                          types: Union[Iterable[ModbusDataType], ModbusDataType],
-                         byteorder: Endian = Endian.Big,
-                         wordorder: Endian = Endian.Big,
+                         byteorder: Endian = Endian.BIG,
+                         wordorder: Endian = Endian.BIG,
                          **kwargs):
         try:
             multi_request = isinstance(types, Iterable)
@@ -103,45 +105,45 @@ class ModbusClient:
             raise Exception(__name__+" "+str(type(e))+" " + str(e)) from e
 
     @overload
-    def read_holding_registers(self, address: int, types: Iterable[ModbusDataType], byteorder: Endian = Endian.Big,
-                               wordorder: Endian = Endian.Big, **kwargs) -> List[Number]:
+    def read_holding_registers(self, address: int, types: Iterable[ModbusDataType], byteorder: Endian = Endian.BIG,
+                               wordorder: Endian = Endian.BIG, **kwargs) -> List[Number]:
         pass
 
     @overload
-    def read_holding_registers(self, address: int, types: ModbusDataType, byteorder: Endian = Endian.Big,
-                               wordorder: Endian = Endian.Big, **kwargs) -> Number:
+    def read_holding_registers(self, address: int, types: ModbusDataType, byteorder: Endian = Endian.BIG,
+                               wordorder: Endian = Endian.BIG, **kwargs) -> Number:
         pass
 
     def read_holding_registers(self, address: int,
                                types: Union[Iterable[ModbusDataType], ModbusDataType],
-                               byteorder: Endian = Endian.Big,
-                               wordorder: Endian = Endian.Big,
+                               byteorder: Endian = Endian.BIG,
+                               wordorder: Endian = Endian.BIG,
                                **kwargs):
         return self.__read_registers(
             self.delegate.read_holding_registers, address, types, byteorder, wordorder, **kwargs
         )
 
     @overload
-    def read_input_registers(self, address: int, types: Iterable[ModbusDataType], byteorder: Endian = Endian.Big,
-                             wordorder: Endian = Endian.Big,
+    def read_input_registers(self, address: int, types: Iterable[ModbusDataType], byteorder: Endian = Endian.BIG,
+                             wordorder: Endian = Endian.BIG,
                              **kwargs) -> List[Number]:
         pass
 
     @overload
-    def read_input_registers(self, address: int, types: ModbusDataType, byteorder: Endian = Endian.Big,
-                             wordorder: Endian = Endian.Big, **kwargs) -> Number:
+    def read_input_registers(self, address: int, types: ModbusDataType, byteorder: Endian = Endian.BIG,
+                             wordorder: Endian = Endian.BIG, **kwargs) -> Number:
         pass
 
     def read_input_registers(self, address: int,
                              types: Union[Iterable[ModbusDataType], ModbusDataType],
-                             byteorder: Endian = Endian.Big,
-                             wordorder: Endian = Endian.Big,
+                             byteorder: Endian = Endian.BIG,
+                             wordorder: Endian = Endian.BIG,
                              **kwargs):
         return self.__read_registers(self.delegate.read_input_registers, address, types, byteorder, wordorder, **kwargs)
 
     @overload
-    def read_coils(self, address: int, types: Iterable[ModbusDataType], byteorder: Endian = Endian.Big,
-                   wordorder: Endian = Endian.Big,
+    def read_coils(self, address: int, types: Iterable[ModbusDataType], byteorder: Endian = Endian.BIG,
+                   wordorder: Endian = Endian.BIG,
                    **kwargs) -> List[bool]:
         pass
 
Ich empfehle ausserdem in der service definition der openwb2 das restart=always zu kommentieren, da sonst ständig das atreboot.sh neu ausgeführt wird.

Code: Alles auswählen

openwb@debian12:~/openWB$ cat data/config/openwb2.service
# openwb-version:2
[Unit]
Description="Regelung openWB 2.0"

[Service]
User=openwb
WorkingDirectory=/var/www/html/openWB
ExecStartPre=-/var/www/html/openWB/runs/atreboot.sh
ExecStart=/var/www/html/openWB/packages/main.py
# Restart=always
# extend timeout to 15min for long running atreboot
TimeoutStartSec=900

[Install]
WantedBy=multi-user.target
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | Zendure Solarflow 2400 AC+ 8,2kWh | VW ID.3, Kia EV6, Smart EQ forfour
Basti
Beiträge: 149
Registriert: Di Feb 21, 2023 3:28 pm
Has thanked: 1 time
Been thanked: 26 times

Re: Test openWB 2 auf Debian 12 / RPI OS Bookworm

Beitrag von Basti »

Hast du den pymodbus im Betrieb gändert oder bei Neuinstallation? Ich kriege es nicht zum laufen, es startet nicht.

Code: Alles auswählen

https://raw.githubusercontent.com/Xerolux/openwb-bookworm/pymodbus3.6.3/packages/modules/common/modbus.py

Code: Alles auswählen

pymodbus==3.6.3
Fehler:

Code: Alles auswählen

NameError: name 'event_jobs_running' is not defined
2024-02-11 13:00:26,970 - {root:270} - {ERROR:MainThread} - Fehler im Main-Modul
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/main.py", line 263, in <module>
    if event_jobs_running.is_set() and len(schedule.get_jobs("algorithm")) == 0:
       ^^^^^^^^^^^^^^^^^^
NameError: name 'event_jobs_running' is not defined
2024-02-11 13:00:26,970 - {root:270} - {ERROR:MainThread} - Fehler im Main-Modul
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/main.py", line 263, in <module>
    if event_jobs_running.is_set() and len(schedule.get_jobs("algorithm")) == 0:

Code: Alles auswählen

https://github.com/Xerolux/openwb-bookworm/tree/pymodbus3.6.3
rleidner
Beiträge: 1538
Registriert: Mo Nov 02, 2020 9:50 am
Has thanked: 103 times
Been thanked: 202 times

Re: Test openWB 2 auf Debian 12 / RPI OS Bookworm

Beitrag von rleidner »

Die in requirements.txt enthaltenen Python-Module werden bei Systemstart (runs/atreboot.sh) installiert.

Die Änderung an packages/modules/common/modbus.py habe ich manuell gemacht und dann openwb2 neu gestartet.

Code: Alles auswählen

sudo systemctl restart openwb2
Zum Testen kann man atreboot bzw. main.py auch aus der Shell starten - zumindest main.py zeigt meistens detailliertere Fehlermeldungen.
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | Zendure Solarflow 2400 AC+ 8,2kWh | VW ID.3, Kia EV6, Smart EQ forfour
SMCinc
Beiträge: 4
Registriert: Di Nov 08, 2022 8:15 pm

Re: Test openWB 2 auf Debian 12 / RPI OS Bookworm

Beitrag von SMCinc »

Bei mir läft seit heue openWB Version 2025-08-01 15:06:29 +0200 [cc53d66a4]
im Pi 3b mit BOOKWORM und Python 3.9.18 (Debian 12 kommt mit Python 3.11)
Ich habe Beschreibung 3 verwendet und hatte Probleme wegen Python 3.11
Hier meine Lösung:
Wenn man ~/openwb-venv schon angelegt hatte vorher löschen....

Code: Alles auswählen

sudo apt update
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev \
  libnss3-dev libssl-dev libreadline-dev libffi-dev curl libsqlite3-dev wget
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tgz
sudo tar xzf Python-3.9.18.tgz
cd Python-3.9.18
sudo ./configure --enable-optimizations
sudo make -j$(nproc)
sudo make altinstall
sudo rm /usr/src/Python-3.9.18.tgz
python3.9 -m venv ~/openwb-venv
source ~/openwb-venv/bin/activate

... und schon konnte auch jq==1.1.3 installiert werden:

Code: Alles auswählen

cd /var/www/html/openWB
pip install -r requirements.txt
pip install -r requirements2.txt
Ansonsten der Beschreibung folgen.
Es läuft bisher Fehlerfrei
Zuletzt geändert von SMCinc am So Aug 03, 2025 6:24 pm, insgesamt 1-mal geändert.
Basti
Beiträge: 149
Registriert: Di Feb 21, 2023 3:28 pm
Has thanked: 1 time
Been thanked: 26 times

Re: Test openWB 2 auf Debian 12 / RPI OS Bookworm

Beitrag von Basti »

Du kannst auch auf Trixie , läuft bei mir seit Wochen 😉. Aber freut mich das es läuft .

Habe da auch mal was gemacht vor Wochen 😁

https://github.com/Xerolux/openwb-trixie
ZOE-Fahrer
Beiträge: 27
Registriert: So Mär 20, 2022 5:41 pm

Re: Test openWB 2 auf Debian 12 / RPI OS Bookworm

Beitrag von ZOE-Fahrer »

War neugierig...
Beim One-liner wurd in jedem Versuch abgebrochen:

Code: Alles auswählen

[2026-04-17 22:42:50] ✓ Debian Trixie erkannt
bash: line 103: cho: command not found
Die Anleitung ist ein wenig unübersichtlich. Erst beim 3. mal Trixie aufspielen, hab ich dann geschafft alles nach Anleitung zu befolgen, openwb als user benutzt und die manuellen Schritte, aber auch da:

Code: Alles auswählen

restarting apache...done
installing python requirements...
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    For more information visit http://rptl.io/venv

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
installing openwb2 system service...
Created symlink '/etc/systemd/system/multi-user.target.wants/openwb2.service' → '/var/www/html/openWB/data/config/openwb2.service'.
installing openwb2-simpleAPI service...
Created symlink '/etc/systemd/system/multi-user.target.wants/openwb-simpleAPI.service' → '/var/www/html/openWB/data/config/openwb-simpleAPI.service'.
installing openwb2 remote support service...
Created symlink '/etc/systemd/system/multi-user.target.wants/openwbRemoteSupport.service' → '/etc/systemd/system/openwbRemoteSupport.service'.
installation finished, now starting openwb services...
Job for openwb2.service canceled.
all done
if you want to use this installation for development, add a password for user 'openwb'
Bis zum Übersichtsschirm "Der Systemstart ist noch nicht abgeschlossen." funktionierts. Dann wird der nterne Display dunkel und startet wieder neu.

Fehlermeldung auf /openWB/web/settings/#/
"Daten konnten nicht abonniert werden.
Topic: openWB/system/messages/+
ErrorWithSubackPacket: Connection closed"

und in der Schleife auf /openWB/web/display/

Code: Alles auswählen

Topic: openWB/system/current_commit Payload: "2026-04-16 08:52:52 +0200 [b6108c58c]"
Topic: openWB/system/current_branch Payload: "master"
Topic: openWB/system/update_in_progress Payload: false
Topic: openWB/system/ip_address Payload: "192.xxx.xxx.xxx"
Topic: openWB/system/current_commit Payload: "2026-04-16 08:52:52 +0200 [b6108c58c]"
Topic: openWB/system/current_branch Payload: "master"
Topic: openWB/system/update_in_progress Payload: false

Code: Alles auswählen

openwb@raspberrypi:~ $ python3 --version
Python 3.13.5
openwb@raspberrypi:~ $ python --version
Python 3.13.5
openwb@raspberrypi:~ $ pip3 --version
pip 25.1.1 from /usr/lib/python3/dist-packages/pip (python 3.13)
openwb@raspberrypi:~ $
wurde mit dem Skript nicht downgraded. -Denke, da liegt der Fehler.
und

Code: Alles auswählen

(openwb-venv) openwb@raspberrypi:~/openwb-trixie $ sudo systemctl status openwb
Unit openwb.service could not be found.
openwb@raspberrypi:~/openwb-trixie $ sudo systemctl status openwb
Unit openwb.service could not be found.
Schritte befolgen ist kein Problem, aber bei den ganzen Fehlermeldungen bin ich raus(
openWB DUO 22kW, Display + z.Z. nicht aktiver ESP zur Kostenanzeige
Ich hab einen Computer. Mit dem kann ich Probleme lösen, die ich ohne nicht habe...
Basti
Beiträge: 149
Registriert: Di Feb 21, 2023 3:28 pm
Has thanked: 1 time
Been thanked: 26 times

Re: Test openWB 2 auf Debian 12 / RPI OS Bookworm

Beitrag von Basti »

das sollte dein problem lösen, verbessere gerade das script..

Code: Alles auswählen

# 1) venv sicherstellen
cd ~/openwb-trixie
OPENWB_VENV_NONINTERACTIVE=1 ./install_python3.9.sh --venv-only

# 2) openWB auf venv umstellen
sudo sed -i 's#^ExecStart=.*#ExecStart=/opt/openwb-venv/bin/python3 /var/www/html/openWB/packages/main.py#' /var/www/html/openWB/data/config/openwb2.service
sudo sed -i 's#\([^[:alnum:]_/.-]\|^\)pip3 install -r#\1/opt/openwb-venv/bin/pip3 install -r#g' /var/www/html/openWB/runs/atreboot.sh
sudo sed -i 's#^ExecStart=.*#ExecStart=/opt/openwb-venv/bin/python3 /var/www/html/openWB/runs/remoteSupport/remoteSupport.py#' /etc/systemd/system/openwbRemoteSupport.service

# 3) Dienste neu laden/starten
sudo systemctl daemon-reload
sudo systemctl restart mosquitto
sudo systemctl restart openwb2
sudo systemctl restart openwb-simpleAPI
ZOE-Fahrer
Beiträge: 27
Registriert: So Mär 20, 2022 5:41 pm

Re: Test openWB 2 auf Debian 12 / RPI OS Bookworm

Beitrag von ZOE-Fahrer »

Jetzt fand ich Zeit dazu, hat aber leider nichts geändert:

Es ist die gleiche Fehlermeldung bei den Alarmen /openWB/web/settings/#/
"Bei der Installation der benötigten Python-Bibliotheken ist ein Fehler aufgetreten! Bitte die Logdateien prüfen."
Das geht nur nicht, da nur
"openWB ist noch nicht bereit
Der Systemstart ist noch nicht abgeschlossen." ohne etwas aktiv anwählen zu können angezeigt wird.

Das mit Pyton 3.13.5 in venv passt?
Habe jetzt mal stumpf den ganzen Durchlauf bei

Code: Alles auswählen

OPENWB_VENV_NONINTERACTIVE=1 ./install_python3.9.sh --venv-only
zur Info kopiert:

Code: Alles auswählen

openwb@raspberrypi:~/openwb-trixie $ chmod +x install_python3.9.sh
openwb@raspberrypi:~/openwb-trixie $
OPENWB_VENV_NONINTERACTIVE=1 ./install_python3.9.sh --venv-only
=====================================================================
   OpenWB Python Installation
=====================================================================
Modus: Virtual Environment Setup (nutzt System-Python)
✓ Keine Python-Kompilierung
✓ Schnelle Installation


=====================================================================
   Virtual Environment Setup
=====================================================================
Führe venv-Setup aus...
=====================================================================
   OpenWB Virtual Environment Setup
=====================================================================

[2026-04-30 21:43:14] Prüfe Python-Installation...
[2026-04-30 21:43:14] ✓ Python 3.13.5 gefunden
[2026-04-30 21:43:14] ⚠ OpenWB empfiehlt Python 3.9.x, gefunden: 3.13.5
[2026-04-30 21:43:14] ⚠ Nicht-interaktiver Modus aktiv – fahre mit System-Python fort
[2026-04-30 21:43:14] === Virtual Environment wird erstellt ===
[2026-04-30 21:43:14] ⚠ venv existiert bereits: /opt/openwb-venv
[2026-04-30 21:43:14] Existierende venv-Version: 1.0.0
[2026-04-30 21:43:14] Nicht-interaktiver Modus: Überspringe Neuaufbau und aktualisiere bestehendes venv
[2026-04-30 21:43:14] === Update Virtual Environment ===
[2026-04-30 21:43:14] Stelle Systempaket python3-rpi-lgpio bereit...
[2026-04-30 21:43:14] python3-rpi-lgpio bereits installiert
[2026-04-30 21:43:14] Upgrade pip...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pip in /opt/openwb-venv/lib/python3.13/site-packages (26.1)
[2026-04-30 21:43:17] Überspringe rpi-lgpio in pip (wird als Systempaket installiert)
[2026-04-30 21:43:17] requirements.txt unverändert, upgrade existierende Pakete...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: paho-mqtt>=1.6.0 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.JFlhp42HPN (line 10)) (2.1.0)
Requirement already satisfied: requests>=2.31.0 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.JFlhp42HPN (line 13)) (2.33.1)
Requirement already satisfied: pyserial>=3.5 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.JFlhp42HPN (line 16)) (3.5)
Requirement already satisfied: jsonschema>=4.17.0 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.JFlhp42HPN (line 19)) (4.26.0)
Requirement already satisfied: pytz>=2023.3 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.JFlhp42HPN (line 22)) (2026.1.post1)
Requirement already satisfied: pyyaml>=6.0 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.JFlhp42HPN (line 25)) (6.0.3)
Requirement already satisfied: python-dateutil>=2.8.0 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.JFlhp42HPN (line 26)) (2.9.0.post0)
Requirement already satisfied: charset_normalizer<4,>=2 in /usr/lib/python3/dist-packages (from requests>=2.31.0->-r /tmp/tmp.JFlhp42HPN (line 13)) (3.4.2)
Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3/dist-packages (from requests>=2.31.0->-r /tmp/tmp.JFlhp42HPN (line 13)) (3.10)
Requirement already satisfied: urllib3<3,>=1.26 in /usr/lib/python3/dist-packages (from requests>=2.31.0->-r /tmp/tmp.JFlhp42HPN (line 13)) (2.3.0)
Requirement already satisfied: certifi>=2023.5.7 in /usr/lib/python3/dist-packages (from requests>=2.31.0->-r /tmp/tmp.JFlhp42HPN (line 13)) (2025.1.31)
Requirement already satisfied: attrs>=22.2.0 in /usr/lib/python3/dist-packages (from jsonschema>=4.17.0->-r /tmp/tmp.JFlhp42HPN (line 19)) (25.3.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/lib/python3/dist-packages (from jsonschema>=4.17.0->-r /tmp/tmp.JFlhp42HPN (line 19)) (2023.12.1)
Requirement already satisfied: referencing>=0.28.4 in /usr/lib/python3/dist-packages (from jsonschema>=4.17.0->-r /tmp/tmp.JFlhp42HPN (line 19)) (0.36.2)
Requirement already satisfied: rpds-py>=0.25.0 in /opt/openwb-venv/lib/python3.13/site-packages (from jsonschema>=4.17.0->-r /tmp/tmp.JFlhp42HPN (line 19)) (0.30.0)
Requirement already satisfied: six>=1.5 in /opt/openwb-venv/lib/python3.13/site-packages (from python-dateutil>=2.8.0->-r /tmp/tmp.JFlhp42HPN (line 26)) (1.17.0)
[2026-04-30 21:43:25] ✓ venv erfolgreich aktualisiert
[2026-04-30 21:43:25] === Installiere Python-Abhängigkeiten ===
[2026-04-30 21:43:25] Stelle Systempaket python3-rpi-lgpio bereit...
[2026-04-30 21:43:25] python3-rpi-lgpio bereits installiert
[2026-04-30 21:43:25] Upgrade pip...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pip in /opt/openwb-venv/lib/python3.13/site-packages (26.1)
[2026-04-30 21:43:28] Überspringe rpi-lgpio in pip (wird als Systempaket installiert)
[2026-04-30 21:43:28] Installiere Pakete aus requirements.txt...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: paho-mqtt>=1.6.0 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.hTmedQK2Qh (line 10)) (2.1.0)
Requirement already satisfied: requests>=2.31.0 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.hTmedQK2Qh (line 13)) (2.33.1)
Requirement already satisfied: pyserial>=3.5 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.hTmedQK2Qh (line 16)) (3.5)
Requirement already satisfied: jsonschema>=4.17.0 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.hTmedQK2Qh (line 19)) (4.26.0)
Requirement already satisfied: pytz>=2023.3 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.hTmedQK2Qh (line 22)) (2026.1.post1)
Requirement already satisfied: pyyaml>=6.0 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.hTmedQK2Qh (line 25)) (6.0.3)
Requirement already satisfied: python-dateutil>=2.8.0 in /opt/openwb-venv/lib/python3.13/site-packages (from -r /tmp/tmp.hTmedQK2Qh (line 26)) (2.9.0.post0)
Requirement already satisfied: charset_normalizer<4,>=2 in /usr/lib/python3/dist-packages (from requests>=2.31.0->-r /tmp/tmp.hTmedQK2Qh (line 13)) (3.4.2)
Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3/dist-packages (from requests>=2.31.0->-r /tmp/tmp.hTmedQK2Qh (line 13)) (3.10)
Requirement already satisfied: urllib3<3,>=1.26 in /usr/lib/python3/dist-packages (from requests>=2.31.0->-r /tmp/tmp.hTmedQK2Qh (line 13)) (2.3.0)
Requirement already satisfied: certifi>=2023.5.7 in /usr/lib/python3/dist-packages (from requests>=2.31.0->-r /tmp/tmp.hTmedQK2Qh (line 13)) (2025.1.31)
Requirement already satisfied: attrs>=22.2.0 in /usr/lib/python3/dist-packages (from jsonschema>=4.17.0->-r /tmp/tmp.hTmedQK2Qh (line 19)) (25.3.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/lib/python3/dist-packages (from jsonschema>=4.17.0->-r /tmp/tmp.hTmedQK2Qh (line 19)) (2023.12.1)
Requirement already satisfied: referencing>=0.28.4 in /usr/lib/python3/dist-packages (from jsonschema>=4.17.0->-r /tmp/tmp.hTmedQK2Qh (line 19)) (0.36.2)
Requirement already satisfied: rpds-py>=0.25.0 in /opt/openwb-venv/lib/python3.13/site-packages (from jsonschema>=4.17.0->-r /tmp/tmp.hTmedQK2Qh (line 19)) (0.30.0)
Requirement already satisfied: six>=1.5 in /opt/openwb-venv/lib/python3.13/site-packages (from python-dateutil>=2.8.0->-r /tmp/tmp.hTmedQK2Qh (line 26)) (1.17.0)
[2026-04-30 21:43:29] Speichere installierte Pakete...
[2026-04-30 21:43:31] ✓ Abhängigkeiten erfolgreich installiert
[2026-04-30 21:43:31] Erstelle venv-Konfiguration...
[2026-04-30 21:43:31] ✓ Konfiguration erstellt: /opt/openwb-venv/.openwb-venv-config
[2026-04-30 21:43:31] === Erstelle Wrapper-Skript ===
[2026-04-30 21:43:31] ✓ Wrapper erstellt: /usr/local/bin/openwb-activate
[2026-04-30 21:43:31] Verwendung: openwb-activate [command]
[2026-04-30 21:43:31] === Erstelle systemd Service-Helper ===
[2026-04-30 21:43:31] ✓ systemd Helper erstellt: /opt/openwb-venv/systemd-environment
[2026-04-30 21:43:31] Füge 'EnvironmentFile=/opt/openwb-venv/systemd-environment' zu deinen OpenWB systemd Services hinzu

=====================================================================
   OpenWB Virtual Environment erfolgreich eingerichtet!
=====================================================================

venv-Verzeichnis: /opt/openwb-venv
Python-Version: Python 3.13.5

Verwendung:
  1. Manuell aktivieren:
     source /opt/openwb-venv/bin/activate

  2. Mit Wrapper-Skript:
     openwb-activate python script.py

  3. In systemd Services:
     EnvironmentFile=/opt/openwb-venv/systemd-environment

  4. venv aktualisieren:
     ./setup_venv.sh --update

Installierte Pakete:
Package                      Version
---------------------------- ------------
apt-listchanges              4.8
arrow                        1.3.0
attrs                        25.3.0
babel                        2.17.0
bcrypt                       4.2.0
blinker                      1.9.0
certifi                      2025.1.31
chardet                      5.2.0
charset-normalizer           3.4.2
cloud-init                   25.2
colorzero                    2.0
configobj                    5.0.9
cryptography                 43.0.0
distro                       1.9.0
fqdn                         1.5.1
gpiod                        2.2.0
gpiozero                     2.0.1
idna                         3.10
isoduration                  20.11.0
Jinja2                       3.1.6
jsonpatch                    1.32
jsonpointer                  2.4
jsonschema                   4.26.0
jsonschema-specifications    2023.12.1
lgpio                        0.2.2.0
linkify-it-py                2.0.3
markdown-it-py               3.0.0
MarkupSafe                   2.1.5
mdurl                        0.1.2
oauthlib                     3.2.2
packaging                    25.0
paho-mqtt                    2.1.0
pip                          26.1
pycryptodomex                3.20.0
Pygments                     2.18.0
PyGObject                    3.50.0
PyJWT                        2.10.1
pyserial                     3.5
python-apt                   3.0.0
python-dateutil              2.9.0.post0
pytz                         2026.1.post1
PyYAML                       6.0.3
referencing                  0.36.2
requests                     2.33.1
rfc3339-validator            0.1.4
rfc3986-validator            0.1.1
rfc3987                      1.3.8
rich                         13.9.4
rpds-py                      0.30.0
rpi-keyboard-config          1.0
rpi-lgpio                    0.6
six                          1.17.0
smbus2                       0.4.3
spidev                       3.6
ssh-import-id                5.10
types-aiofiles               24.1
types-antlr4-python3-runtime 4.13
types-assertpy               1.1
types-atheris                2.3
types-aws-xray-sdk           2.14
types-beautifulsoup4         4.12
types-bleach                 6.2
types-boltons                24.1
types-braintree              4.31
types-cachetools             5.5
types-caldav                 1.3
types-capturer               3.0
types-cffi                   1.16
types-chevron                0.14
types-click-default-group    1.2
types-click-spinner          0.1
types-colorama               0.4
types-commonmark             0.9
types-console-menu           0.8
types-corus                  0.10
types-croniter               5.0.1
types-dateparser             1.2
types-decorator              5.1
types-defusedxml             0.7
types-Deprecated             1.2.15
types-docker                 7.1
types-dockerfile-parse       2.0
types-docutils               0.21
types-editdistance           0.8
types-entrypoints            0.4
types-ExifRead               3.0
types-fanstatic              1.4
types-first                  2.0
types-flake8                 7.1
types-flake8-bugbear         24.12.12
types-flake8-builtins        2.5
types-flake8-docstrings      1.7
types-flake8-rst-docstrings  0.3
types-flake8-simplify        0.21
types-flake8-typing-imports  1.16
types-Flask-Cors             5.0
types-Flask-Migrate          4.0
types-Flask-SocketIO         5.4
types-fpdf2                  2.8.2
types-gdb                    15.0
types-gevent                 24.11
types-google-cloud-ndb       2.3
types-greenlet               3.1
types-hdbcli                 2.23
types-html5lib               1.1
types-httplib2               0.22
types-humanfriendly          10.0
types-hvac                   2.3
types-ibm-db                 3.2.4
types-icalendar              6.1
types-influxdb-client        1.45
types-inifile                0.4
types-JACK-Client            0.5
types-Jetson.GPIO            2.1
types-jmespath               1.0
types-jsonschema             4.23
types-jwcrypto               1.5
types-keyboard               0.13
types-ldap3                  2.9
types-libsass                0.23
types-lupa                   2.2
types-lzstring               1.0
types-m3u8                   6.0
types-Markdown               3.7
types-mock                   5.1
types-mypy-extensions        1.0
types-mysqlclient            2.2
types-nanoid                 2.0.0
types-netaddr                1.3
types-netifaces              0.11
types-networkx               3.4.2
types-oauthlib               3.2
types-objgraph               3.6
types-olefile                0.47
types-openpyxl               3.1.5
types-opentracing            2.4
types-paramiko               3.5
types-parsimonious           0.10
types-passlib                1.7
types-passpy                 1.0
types-peewee                 3.17.8
types-pep8-naming            0.14
types-pexpect                4.9
types-pika-ts                1.3
types-polib                  1.2
types-portpicker             1.6
types-protobuf               5.29.1
types-psutil                 6.1
types-psycopg2               2.9.10
types-pyasn1                 0.6
types-pyaudio                0.2
types-PyAutoGUI              0.9
types-pycocotools            2.0
types-pycurl                 7.45.4
types-pyfarmhash             0.4
types-pyflakes               3.2
types-pygit2                 1.15
types-Pygments               2.18
types-pyinstaller            6.11
types-pyjks                  20.0
types-PyMySQL                1.1
types-pynput                 1.7.7
types-pyOpenSSL              24.1
types-pyRFC3339              2.0.1
types-PyScreeze              1.0.1
types-pyserial               3.5
types-pysftp                 0.2
types-pytest-lazy-fixture    0.6
types-python-crontab         3.2
types-python-datemath        3.0.1
types-python-dateutil        2.9
types-python-http-client     3.3.7
types-python-jenkins         1.8
types-python-jose            3.3
types-python-nmap            0.7
types-python-xlib            0.33
types-pytz                   2024.2
types-pywin32                308
types-pyxdg                  0.28
types-PyYAML                 6.0
types-qrbill                 1.1
types-qrcode                 8.0
types-regex                  2024.11.6
types-reportlab              4.2.5
types-requests               2.32
types-requests-oauthlib      2.0
types-retry                  0.9
types-RPi.GPIO               0.7
types-s2clientprotocol       5
types-seaborn                0.13.2
types-Send2Trash             1.8
types-setuptools             75.6
types-shapely                2.0
types-simplejson             3.19
types-singledispatch         4.1
types-six                    1.17
types-slumber                0.7
types-str2bool               1.1
types-tabulate               0.9
types-tensorflow             2.18.0
types-TgCrypto               1.2
types-toml                   0.10
types-toposort               1.10
types-tqdm                   4.67
types-translationstring      1.4
types-tree-sitter-languages  1.10
types-ttkthemes              3.2
types-ujson                  5.10
types-unidiff                0.7
types-untangle               1.2
types-usersettings           1.1
types-uWSGI                  2.0
types-vobject                0.9.9
types-waitress               3.0.1
types-WebOb                  1.8
types-whatthepatch           1.0
types-workalendar            17.0
types-WTForms                3.2.1
types-wurlitzer              3.1
types-xdgenvpy               3.0
types-xmltodict              0.14
types-zstd                   1.5
types-zxcvbn                 4.4
uc-micro-py                  1.0.3
uritemplate                  4.1.1
urllib3                      2.3.0
webcolors                    1.13
wheel                        0.46.1

=====================================================================
[2026-04-30 21:43:33] ✓ === Installation abgeschlossen! ===
✓ Virtual Environment erfolgreich eingerichtet

=== Post-Update Hook Installation ===
OpenWB gefunden in: /var/www/html/openWB
✓ Post-Update Hook installiert: /var/www/html/openWB/data/config/post-update.sh

=====================================================================
   Installation abgeschlossen!
=====================================================================

Python-Version im venv:
Python 3.13.5

Verwendung:
  1. Aktivieren: source /opt/openwb-venv/bin/activate
  2. Wrapper: openwb-activate python script.py
  3. Update: ./install_python3.9.sh --venv-only

Vorteile:
  ✓ Keine Python-Kompilierung (30-60 Min gespart!)
  ✓ Nutzt modernes System-Python
  ✓ Überlebt OpenWB-Updates automatisch
  ✓ Post-Update Hook installiert (automatische Updates)


=== Script beendet ===

Nächste Schritte:
  1. Installiere OpenWB (falls noch nicht geschehen)
  2. Nutze 'openwb-activate' für Python-Skripte
  3. Das venv wird automatisch nach OpenWB-Updates aktualisiert
openwb@raspberrypi:~/openwb-trixie $
oder sollte ich trixie nochmal komplet darüber bügeln?
openWB DUO 22kW, Display + z.Z. nicht aktiver ESP zur Kostenanzeige
Ich hab einen Computer. Mit dem kann ich Probleme lösen, die ich ohne nicht habe...
Basti
Beiträge: 149
Registriert: Di Feb 21, 2023 3:28 pm
Has thanked: 1 time
Been thanked: 26 times

Re: Test openWB 2 auf Debian 12 / RPI OS Bookworm

Beitrag von Basti »

Ich schau mir das heute nochmal an , melde mich wird aber erst Abend werden .
Antworten