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"]),
|
||||
)
|
||||
|
||||
# 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'):
|
||||
self._log.debug("BambuClient has no device attribute, creating it manually")
|
||||
# Anstatt die nicht existierende _init_device Methode zu verwenden,
|
||||
# initialisieren wir den Client mit einer Verbindung, die später durch unsere ersetzt wird
|
||||
bambu_client.connect()
|
||||
bambu_client.disconnect() # Trennen Sie die automatische Verbindung sofort wieder
|
||||
self._log.debug("BambuClient has no device attribute, initializing manually")
|
||||
# Statt bambu_client.connect() zu verwenden, initialisieren wir die Attribute direkt
|
||||
try:
|
||||
# Wir prüfen, ob wir auf private Attribute zugreifen können
|
||||
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
|
||||
self._mqtt_client = mqtt.Client()
|
||||
|
Loading…
x
Reference in New Issue
Block a user