[Modul] Husqvarna Automower Connect

@demel42 Da mein Problem anders geartet ist und sich @paresy noch nicht dazu geäußert hat noch eine Idee/Frage. Kann ich die WS-Client-Instanz löschen und wie bekomme ich die dann neu erstellt?

Grundsätzlich ginge das, das IO-Modul wird erzeugt, wenn das Splittermodul instanziiert wird.
Das kannst Du aber nur reproduzieren, wenn das IPS neu gestartet wird oder eventuell von Du im Modulstore bei diesem Modul die Funktion „erneut installieren“ auslöst.

Oder du legst eine neue WS-Client-Instanz an und ordnete diese neue Instanz in der Automower-Splitter-Instanz diese Schnittstelle neu zu („Schnittstelle ändern“).
Dann die Splitter-Instanz speichern (zB „Instanz deaktivieren“ auf „ja“ und dann wieder auf „nein“),

Ob das was bringt … schwer zu sagen, würde ich mir aber nicht zuviel von versprechen.

Was steht denn so im Meldungsfenster wenn das „Permission denied“ im Instanz-Debug auftaucht?

Wie von Dir vermutet, das Löschen hat nichts gebraucht. Instanz wurde neu angelegt, Fehler ist noch da.

Das steht nur:

07.04.2025, 16:35:31 | AutomowerConnectDevice | Instanz hat keinen aktiven Gateway

Schade.
Wobei das ja eine Meldung des Splitter ist und nicht der Websocket-Instanz…
Eine Meldung der Websocket-Instanz müsste weiter vorne (zeitlich) stehe.

Auf welcher Hardware läuft eigentlich dein IPS und (rein interessehalber) was ist eigentlich deine iPS-Version?

Eine andere/weitere Meldung kommt nicht.

Windows 11 in einer VM eines Windows Servers 2023 mit 32 GB RAM

IP-Symcon 8.0, Windows (amd64), 27.02.2025, 1564acf8dddb

Vielleicht ein Problem mit der Windows-Firewall; etwas ins blaue geschossen (ich habe keine Ahnung von Windows), aber Windows verhindert meiner Erinnerung nach unter Umständen auch ausgehende Verbindungen. Der Websocket macht ja eine Verbindung vom IPS zur Automower-Cloud; ist aber Port 443, also ganz normalers HTTPS

Da würden dann auch andere Dienste nicht gehen (BMW, Miele etc.). Ich hoffe @paresy ist so lieb und meldet sich mal dazu.

Kurzes Feedback: mein Reconnect-Skript läuft soweit. Festzustellen ist, dass alle 2 Stunden die Verbindung abbricht. Das Skript braucht dann zwischen 1 und 15 Durchläufe, um selbige wieder aufzubauen.

Dabei macht es zwei Dinge:

  • „Zugriff testen“ (das aktualisiert den Schlüssel bei leerer Tabelle)
  • den WS inaktiv / aktiv setzen

Noch nicht nachvollziehbar für mich, was zuerst passieren muss, daher habe ich beides in der Schleife und diese wird minütlich aufgerufen.

Nicht schön, aber ein funktionierender Work around.

Da ich nun sehe, dass es im 2h Rhythmus passiert, kann man dem sicher gezielter nachgehen.

Welche Informationen soll ich loggen, damit es beim Debugging hilft?

Natürlich ein Debug der IO-Instanz und der Splitter-Instanz in eine Datei. Dann brauche ich noch den Zeitpunkt, wann denn das Problem auftrat, damit ich in den Debugs überhaupt eine Chance habe, die Stell zu finden.

Wobei die Möglichkeiten für mich durchaus eingeschränkt sind.

Bei dem Eintrag im Meldungsfenster (dein Post vom vor 3 Tagen) steht ja, das dein DNS ein Problem hatte. Und da kann das Modul leider wenig gegen machen.
Was ich tun kann ist nur zu prüfen, ob das sonst auch der gleiche Fehler ist oder versuchen zu sehen, welcher Fehler dann auftritt.

Hallo,

Du meinst das Debug-logging? Habe es noch nie benutzt, daher die Rückfrage

echo IPS_EnableDebugFile(32266); //I-O
echo IPS_EnableDebugFile(23330);//Splitter

habe es gestartet…

Ja, das meine ich, wobei man das ja auch im Debug-Fetsner starten kann („An Datei schicken“)

Das ist die einzige Möglichkeit, für längere Zeit Aufzeichnungen zu machen.
Wenn man dein Debug-Fesnter was laufen lässt, ist das mit den Standard-Einstellungen für solchen Zwecke unbrauchbar (nur 100 Zeilen); macht man das Limit deutlich höher, wird der Browser immer langsamen/instabiler.
Und zudem ist das Browserfenster ja weg, wenn die PC in Standby geht.

@demel42 @paresy
Das Zugriffsproblem ist gelöst. Nochmals vielen Dank für eure Unterstützung! Der Husqvarna-Support hat geholfen. Es lag an mehr als 10 offene Verbindungen zur Websocket-API, da ist 10 das Maximum. Husqvarna hat die Verbindungen geschlossen und dann ging es wieder. Wäre die Frage, ob eventuell das Modul die Verbindungen nicht richtig schließt, an anderer Stelle nutze ich diese Verbindung nicht.

LG Tom

prima, das ist gut

ist ja interessant. die API-Dokumentation ist diesbezüglich überarbeitet worden und enthält mehr Details. Da steht auch, das die ein Problem mit der „Life-Time“ haben.

Ein Problem mit einem fehlenden Schliesse sehe ich nicht so unbedingt. Ich kann zwar nicht genau sagen, wie das in dem IPS-WebSocket-Modul gelöst ist, wenn man die Schnittstelle neu öffnet (ob die vorher benutzte Verbindung gelöst wird. Aber da die ja sagen, das die ein ungelöstes Problem damit haben, das eine Verbindung nur 2h gültig ist, gehe ich eher davon aus, das das Problem eher bei Husqvarna liegt; das tote Verbindungen unter umständen nicht abgeräumt werden.
Die Gültigkeit der Verbindung wird über das Ping, das IPS zyklisch schicken muss, laufend geprüft - fehlt das Ping, ist die Verbindung tot. Und umgekehrt, bekommt IPS kein Pong als Antwort, ist die Gegenseite nicht mehr da.

andere Module bzw die Verbindung zu anderen Servern könnten sowieso nichts damit zu tun haben, es geht nur um die Verbindung zu dem Husqvarna-Server

1 „Gefällt mir“

Aha,

da sind sie wieder, die berühmten 2h… Das hatte ich ja geschrieben. Liegt also an Husqvarna.

Naja, zum Glück hat demel42 das Modul dahingehend überarbeitet, dass es sich wieder verbindet…