Verbessere die Initialisierung des BambuClient-Geräteattributs, indem die connect()-Methode umgangen wird und Attribute manuell gesetzt werden; erweitere Fehlerbehandlung bei der Initialisierung.
This commit is contained in:
parent
61c9332f15
commit
92e11cdbf3
@ -451,13 +451,23 @@ class BambuVirtualPrinter:
|
|||||||
auth_token=self._settings.get(["auth_token"]),
|
auth_token=self._settings.get(["auth_token"]),
|
||||||
)
|
)
|
||||||
|
|
||||||
# Initialisiere die device-Eigenschaft manuell, wenn sie nicht vorhanden ist
|
# Initialisiere die device-Eigenschaft manuell, ohne connect() zu benutzen
|
||||||
|
# da die connect()-Methode ein Callback als Parameter erwartet
|
||||||
if not hasattr(bambu_client, 'device'):
|
if not hasattr(bambu_client, 'device'):
|
||||||
self._log.debug("BambuClient has no device attribute, creating it manually")
|
self._log.debug("BambuClient has no device attribute, initializing manually")
|
||||||
# Anstatt die nicht existierende _init_device Methode zu verwenden,
|
# Statt bambu_client.connect() zu verwenden, initialisieren wir die Attribute direkt
|
||||||
# initialisieren wir den Client mit einer Verbindung, die später durch unsere ersetzt wird
|
try:
|
||||||
bambu_client.connect()
|
# Wir prüfen, ob wir auf private Attribute zugreifen können
|
||||||
bambu_client.disconnect() # Trennen Sie die automatische Verbindung sofort wieder
|
if hasattr(bambu_client, '_init_attributes'):
|
||||||
|
bambu_client._init_attributes()
|
||||||
|
self._log.debug("Initialized BambuClient attributes manually via _init_attributes")
|
||||||
|
else:
|
||||||
|
# Wenn keine _init_attributes Methode vorhanden ist, erstellen wir die grundlegenden Attribute manuell
|
||||||
|
from pybambu import BambuDevice
|
||||||
|
bambu_client.device = BambuDevice()
|
||||||
|
self._log.debug("Created device attribute manually")
|
||||||
|
except Exception as e:
|
||||||
|
self._log.error(f"Error initializing BambuClient: {e}", exc_info=True)
|
||||||
|
|
||||||
# Set up our own MQTT client
|
# Set up our own MQTT client
|
||||||
self._mqtt_client = mqtt.Client()
|
self._mqtt_client = mqtt.Client()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user