Ankündigung

Einklappen

Hinweis

Die Forenregeln wurden überarbeitet (Stand 7.11.22). Sie sind ab sofort verbindlich. Wir bitten um Beachtung.
Mehr anzeigen
Weniger anzeigen

LBS19000935 - Husqvarna Automower Connect API

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • beauty
    antwortet
    Also nach dem mein Automower nun ein paar Tage wegen der Hitze in seiner Garage geblieben ist, läuft der LBS zwar noch aber aktualisert sich nicht mehr, auch nach einem neuen Trigger kommen keine aktuellen Daten.

    2022-07-21 10:02:10 225145 2668 debug EXE19000935 [v0.4.1]: WebSocket\ConnectionException::__set_state(array([LF] 'data' => [LF] array ([LF] ),[LF] 'message' => 'Bad opcode in websocket frame: 3',[LF] 'string' => '',[LF] 'code' => 1026,[LF] 'file' => '/usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php',[LF] 'line' => 299,[LF] 'trace' => [LF] array ([LF] 0 => [LF] array ([LF] 'file' => '/usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php',[LF] 'line' => 235,[LF] 'function' => 'receiveFragment',[LF] 'class' => 'WebSocket\\Base',[LF] 'type' => '->',[LF] 'args' => [LF] array ([LF] ),[LF] ),[LF] 1 => [LF] array ([LF] 'file' => '/usr/local/edomi/www/data/liveproject/lbs/EXE19000935.php',[LF] 'line' => 124,[LF] 'function' => 'receive',[LF] 'class' => 'WebSocket\\Base',[LF] 'type' => '->',[LF] 'args' => [LF] array ([LF] ),[LF] ),[LF] ),[LF] 'previous' => NULL,[LF]))
    2022-07-21 10:02:10 225312 2668 debug EXE19000935 [v0.4.1]: ================ ARRAY/OBJECT END ================
    2022-07-21 10:02:10 514583 2668 debug EXE19000935 [v0.4.1]: relogin husqvarna api successful
    2022-07-21 10:02:10 567728 2668 debug EXE19000935 [v0.4.1]: Websocket: Error - trying to reconnect in 5 minutes
    2022-07-21 10:02:10 567991 2668 debug EXE19000935 [v0.4.1]: ================ ARRAY/OBJECT START ================
    2022-07-21 10:02:10 568182 2668 debug EXE19000935 [v0.4.1]: WebSocket\ConnectionException::__set_state(array([LF] 'data' => [LF] array ([LF] ),[LF] 'message' => 'Bad opcode in websocket frame: 15',[LF] 'string' => '',[LF] 'code' => 1026,[LF] 'file' => '/usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php',[LF] 'line' => 299,[LF] 'trace' => [LF] array ([LF] 0 => [LF] array ([LF] 'file' => '/usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php',[LF] 'line' => 235,[LF] 'function' => 'receiveFragment',[LF] 'class' => 'WebSocket\\Base',[LF] 'type' => '->',[LF] 'args' => [LF] array ([LF] ),[LF] ),[LF] 1 => [LF] array ([LF] 'file' => '/usr/local/edomi/www/data/liveproject/lbs/EXE19000935.php',[LF] 'line' => 124,[LF] 'function' => 'receive',[LF] 'class' => 'WebSocket\\Base',[LF] 'type' => '->',[LF] 'args' => [LF] array ([LF] ),[LF] ),[LF] ),[LF] 'previous' => NULL,[LF]))
    2022-07-21 10:02:10 568383 2668 debug EXE19000935 [v0.4.1]: ================ ARRAY/OBJECT END ================
    2022-07-21 10:02:10 832128 2668 debug EXE19000935 [v0.4.1]: relogin husqvarna api successful
    2022-07-21 10:02:10 884624 2668 debug EXE19000935 [v0.4.1]: Websocket: Error - trying to reconnect in 5 minutes
    2022-07-21 10:02:10 884906 2668 debug EXE19000935 [v0.4.1]: ================ ARRAY/OBJECT START ================
    2022-07-21 10:02:10 885092 2668 debug EXE19000935 [v0.4.1]: WebSocket\ConnectionException::__set_state(array([LF] 'data' => [LF] array ([LF] ),[LF] 'message' => 'Bad opcode in websocket frame: 13',[LF] 'string' => '',[LF] 'code' => 1026,[LF] 'file' => '/usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php',[LF] 'line' => 299,[LF] 'trace' => [LF] array ([LF] 0 => [LF] array ([LF] 'file' => '/usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php',[LF] 'line' => 235,[LF] 'function' => 'receiveFragment',[LF] 'class' => 'WebSocket\\Base',[LF] 'type' => '->',[LF] 'args' => [LF] array ([LF] ),[LF] ),[LF] 1 => [LF] array ([LF] 'file' => '/usr/local/edomi/www/data/liveproject/lbs/EXE19000935.php',[LF] 'line' => 124,[LF] 'function' => 'receive',[LF] 'class' => 'WebSocket\\Base',[LF] 'type' => '->',[LF] 'args' => [LF] array ([LF] ),[LF] ),[LF] ),[LF] 'previous' => NULL,[LF]))
    2022-07-21 10:02:10 885261 2668 debug EXE19000935 [v0.4.1]: ================ ARRAY/OBJECT END ================
    2022-07-21 10:02:11 108006 2668 debug EXE19000935 [v0.4.1]: relogin husqvarna api successful
    2022-07-21 10:02:11 160222 2668 debug EXE19000935 [v0.4.1]: Websocket: Error - trying to reconnect in 5 minutes
    2022-07-21 10:02:11 160438 2668 debug EXE19000935 [v0.4.1]: ================ ARRAY/OBJECT START ================
    2022-07-21 10:02:11 160614 2668 debug EXE19000935 [v0.4.1]: WebSocket\ConnectionException::__set_state(array([LF] 'data' => [LF] array ([LF] ),[LF] 'message' => 'Bad opcode in websocket frame: 12',[LF] 'string' => '',[LF] 'code' => 1026,[LF] 'file' => '/usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php',[LF] 'line' => 299,[LF] 'trace' => [LF] array ([LF] 0 => [LF] array ([LF] 'file' => '/usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php',[LF] 'line' => 235,[LF] 'function' => 'receiveFragment',[LF] 'class' => 'WebSocket\\Base',[LF] 'type' => '->',[LF] 'args' => [LF] array ([LF] ),[LF] ),[LF] 1 => [LF] array ([LF] 'file' => '/usr/local/edomi/www/data/liveproject/lbs/EXE19000935.php',[LF] 'line' => 124,[LF] 'function' => 'receive',[LF] 'class' => 'WebSocket\\Base',[LF] 'type' => '->',[LF] 'args' => [LF] array ([LF] ),[LF] ),[LF] ),[LF] 'previous' => NULL,[LF]))
    2022-07-21 10:02:11 160783 2668 debug EXE19000935 [v0.4.1]: ================ ARRAY/OBJECT END ================
    2022-07-21 10:02:11 445357 2668 debug EXE19000935 [v0.4.1]: relogin husqvarna api successful

    Einen Kommentar schreiben:


  • MrIcemanLE
    antwortet
    Zitat von beauty Beitrag anzeigen

    MrIcemanLE kannst du hierzu was sagen ?
    Nein, noch nicht. War übers WE unterwegs. Ich schau mal, was da passiert und versuche den Fehler abzufangen, damit der LBS durchläuft.

    Einen Kommentar schreiben:


  • beauty
    antwortet
    Zitat von beauty Beitrag anzeigen
    Also ich bekomme seit 2 Tagen regelmässig diese Einträge im Fehler-Log und der LBS bleibt "stehen".....
    Wenn ich den LBS dann manuell neu triggere dann läuft er wieder paar Stunden und dann wieder das gleiche....
    Kann das was mit dem LBS zu tun haben?

    2022-06-18 21:56:14 449947 ? 23960 Datei: /usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php | Fehlercode: 2 | Zeile: 444 | fread(): SSL: Connection timed out ERROR
    2022-06-18 21:56:14 450735 ? 23960 Datei: /usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php | Fehlercode: 2 | Zeile: 430 | fwrite(): SSL: Broken pipe ERROR
    2022-06-18 21:56:14 454610 ? 23960 Datei: /usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php | Fehlercode: 1024 | Zeile: 478 | Could only write 0 out of 6 bytes.
    MrIcemanLE kannst du hierzu was sagen ?

    Einen Kommentar schreiben:


  • Kirbsi
    antwortet
    Das ging ja schnell. Ja bin noch bei CentOS6.5. Danke für die rasche Antwort.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Ist oft ein Zeichen, dass PHP5.x installiert ist, aber PHP7.x benötigt wird.
    Biste noch CentOS 6.5?

    Einen Kommentar schreiben:


  • Kirbsi
    antwortet
    Ich kann den aktuellen Baustein nicht auf Edomi laden. Was ist da los?
    Angehängte Dateien

    Einen Kommentar schreiben:


  • beauty
    antwortet
    Also ich bekomme seit 2 Tagen regelmässig diese Einträge im Fehler-Log und der LBS bleibt "stehen".....
    Wenn ich den LBS dann manuell neu triggere dann läuft er wieder paar Stunden und dann wieder das gleiche....
    Kann das was mit dem LBS zu tun haben?

    2022-06-18 21:56:14 449947 ? 23960 Datei: /usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php | Fehlercode: 2 | Zeile: 444 | fread(): SSL: Connection timed out ERROR
    2022-06-18 21:56:14 450735 ? 23960 Datei: /usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php | Fehlercode: 2 | Zeile: 430 | fwrite(): SSL: Broken pipe ERROR
    2022-06-18 21:56:14 454610 ? 23960 Datei: /usr/local/edomi/main/include/php/vendor/textalk/websocket/lib/Base.php | Fehlercode: 1024 | Zeile: 478 | Could only write 0 out of 6 bytes.

    Einen Kommentar schreiben:


  • MrIcemanLE
    antwortet
    Das waren auch meine Gedanken, wobei der LBS seine "normale" Arbeit aufnehmen würde, sobald die ID per Live-View gesetzt wurde. (theoretisch) 🙃

    Einen Kommentar schreiben:


  • beauty
    antwortet
    Also ich finde die 1. Lösung am idealsten.
    Denke die Anleitung zur Ermittlung der Mower-ID ist plausibel, diese dann in die Beschreibung des LBS gepackt...
    dann seh ich da keine Probleme
    Beim 2. Lösungsansatz gefällt mir nicht das der LBS dann in einer 15 min. Schleife fest hängt.

    Einen Kommentar schreiben:


  • MrIcemanLE
    antwortet
    Zitat von panzaeron Beitrag anzeigen
    E5 habe ich beim ersten Test leer gelassen und der LBS hat dann in kürzester Zeit viele API-Calls ausgeführt und das Limit war überschritten.
    Stimmt, das ist ein Problem der "schnellen" while-Schleife, welches ich nicht bedacht habe. Ich sehe hier spontan zwei kurzfristige Lösungsmöglichkeiten:
    wenn keine Mower-ID angegeben ist, macht der LBS einen Request, gibt das Ergebnis aus und
    1. beendet dann den EXEC teil. Nach dem die ID dann eingetragen wurde, kann man mit einer 1 über die Live-Ansicht den LBS wieder starten oder ein Edomi-Restart mit Mower-ID führt dann zum "normalen" verhalten
    2. wartet 15 Minuten und fragt dann die Daten erneut ab, das würde in den 15 Minuten den Exec-Teil blockieren und dennoch nur Daten an A15 liefern.
    Mittelfristig könnte man versuchen die MowerID zu ermitteln, wenn es nur einen Mäher gibt. Das braucht aber wieder etwas Zeit und Testaufwand.

    Einen Kommentar schreiben:


  • panzaeron
    antwortet
    Ich habe gerade die 0.4.1 eingespielt, jetzt bekam ich beim Start drei Fehler, konnte diese aber eingrenzen. Es lag daran, dass mein API-Limit überschritten war. Hintergrund: E5 habe ich beim ersten Test leer gelassen und der LBS hat dann in kürzester Zeit viele API-Calls ausgeführt und das Limit war überschritten. Jetzt habe ich die ID wieder an E5 angegeben und einen anderen API-Key verwendet, dadurch läuft es und es kommt auch kein Fehler beim Start.

    Der vollständigkeitshalber die Logs mit dem Fehler beim Start:
    {EDOMI,ERRLOG_2022-06.htm,11.06.2022,10:40:18,080324,11793}
    Zeitstempel ms Prozess PID Meldung Status
    2022-06-11 10:40:18 080285 ? 11793 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000935.php | Fehlercode: 8 | Zeile: 42 | Undefined property: stdClass::$data ERROR
    2022-06-11 10:40:18 080703 ? 11793 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000935.php | Fehlercode: 2 | Zeile: 42 | First parameter must either be an object or the name of an existing class ERROR
    2022-06-11 10:40:18 080852 ? 11793 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000935.php | Fehlercode: 8 | Zeile: 43 | Undefined property: stdClass::$data ERROR

    Der zugehörige Log:
    {EDOMI,CUSTOMLOG_Huqvarna Automower API --- LBS19000935.htm,11.06.2022,10:40:17,019984,11793}
    Zeitstempel ms PID LogLevel Meldung
    2022-06-11 10:40:17 019637 11793 err EXE19000935 [v0.4.1]: Husqvarna Automower Connect Daemon started
    2022-06-11 10:40:17 021780 11793 debug EXE19000935 [v0.4.1]: new husqvarna_api
    2022-06-11 10:40:17 907145 11793 debug EXE19000935 [v0.4.1]: login husqvarna api successful
    2022-06-11 10:40:17 909452 11793 debug EXE19000935 [v0.4.1]: connecting websocket client to server
    2022-06-11 10:40:18 079788 11793 crit EXE19000935 [v0.4.1]: Fehlerhafter Inhalt
    2022-06-11 10:40:18 079978 11793 crit EXE19000935 [v0.4.1]: ================ ARRAY/OBJECT START ================
    2022-06-11 10:40:18 080097 11793 crit EXE19000935 [v0.4.1]: stdClass::__set_state(array([LF] 'message' => 'Limit Exceeded',[LF]))
    2022-06-11 10:40:18 080177 11793 crit EXE19000935 [v0.4.1]: ================ ARRAY/OBJECT END ================
    2022-06-11 10:40:18 082552 11793 crit EXE19000935 [v0.4.1]: Property 'attributes' not found
    2022-06-11 10:40:18 091979 11793 debug EXE19000935 [v0.4.1]: E2 refresh --> update username
    2022-06-11 10:40:18 095339 11793 debug EXE19000935 [v0.4.1]: E3 refresh --> update password
    2022-06-11 10:40:18 096309 11793 debug EXE19000935 [v0.4.1]: E4 refresh --> update apikey
    2022-06-11 10:40:18 098016 11793 debug EXE19000935 [v0.4.1]: E5 refresh --> update mowerid
    2022-06-11 10:40:18 100847 11793 debug EXE19000935 [v0.4.1]: E10 refresh --> update LogLevel
    2022-06-11 10:40:18 494667 11793 debug EXE19000935 [v0.4.1]: Websocket-Message: {"ready":true,"connectionId":"TjI14cJuDoECI8s=" }
    2022-06-11 10:40:18 497687 11793 debug EXE19000935 [v0.4.1]: String to be decoded:
    2022-06-11 10:40:18 497891 11793 debug EXE19000935 [v0.4.1]: value of var => {"ready":true,"connectionId":"TjI14cJuDoECI8s=" }
    2022-06-11 10:40:18 499650 11793 debug EXE19000935 [v0.4.1]: begin websocket => setting output
    2022-06-11 10:40:18 500752 11793 notice EXE19000935 [v0.4.1]: Skipping data - property id not found
    2022-06-11 10:40:18 500894 11793 notice EXE19000935 [v0.4.1]: ================ ARRAY/OBJECT START ================
    2022-06-11 10:40:18 500988 11793 notice EXE19000935 [v0.4.1]: stdClass::__set_state(array([LF] 'ready' => true,[LF] 'connectionId' => 'TjI14cJuDoECI8s=',[LF]))
    2022-06-11 10:40:18 501072 11793 notice EXE19000935 [v0.4.1]: ================ ARRAY/OBJECT END ================

    Einen Kommentar schreiben:


  • MrIcemanLE
    antwortet
    Version 0.4.1 sollte den Fehler beim ersten Start des LBS jetzt sauber im LBS-Log statt im System-Log dokumentieren. Vielleicht kannst du aber mal den Log-Ausschnitt davon posten, damit ich sehen kann, warum der Fehler entstanden ist? Das kann ich gerade nicht so ganz nachvollziehen.

    Außerdem läuft die 0.4.1 jetzt komplett mit logic_setOutputQueued()

    Ich weiß nicht genau, ob ich schon darauf hingewiesen habe, aber der Eingang A1 darf jetzt nicht mehr extern getriggert werden. Auch nicht über das System-KO "Systemstart". Die vordefinierte "1" genügt für den Autostart.

    Einen Kommentar schreiben:


  • panzaeron
    antwortet
    Zitat von MrIcemanLE Beitrag anzeigen
    Ich habe jetzt nochmal genauer in den Logs geschaut. Es vergehen schon ein paar Minuten, bis die erste Message über den Websocket kommt.
    Bei mir funktioniert es auch, vielen Dank

    Allerdings kommt beim Neustart von EDOMI durch den LBS ein Fehler, hervorgerufen durch das EXE-Skript:
    Fehlercode: 8 | Zeile: 41 | Undefined property: stdClass::$data ERROR (Zeile 41: $data = $obj->data; )
    Fehlercode: 2 | Zeile: 43 | First parameter must either be an object or the name of an existing class ERROR (Zeile 43: if(!property_exists($data, 'attributes')){ )

    Den Status-LBS habe ich angepasst und in Version 0.5 hochgeladen. Hab ihn aber noch nicht aufgeräumt, es sind noch doppelte Informationen enthalten.

    Einen Kommentar schreiben:


  • MrIcemanLE
    antwortet
    Ich habe jetzt nochmal genauer in den Logs geschaut. Es vergehen schon ein paar Minuten, bis die erste Message über den Websocket kommt.
    2022-06-10 10:48:02 948734 3744 err LBS19000935 [v0.4.1]: Husqvarna Automower Connect Daemon started
    2022-06-10 10:48:02 975284 3744 debug LBS19000935 [v0.4.1]: new husqvarna_api
    2022-06-10 10:48:09 519610 3744 debug LBS19000935 [v0.4.1]: login husqvarna api successful
    2022-06-10 10:48:09 523272 3744 debug LBS19000935 [v0.4.1]: connecting websocket client to server
    2022-06-10 10:48:10 289490 3744 debug LBS19000935 [v0.4.1]: E2 refresh --> update username
    2022-06-10 10:48:10 309051 3744 debug LBS19000935 [v0.4.1]: E3 refresh --> update password
    2022-06-10 10:48:10 316756 3744 debug LBS19000935 [v0.4.1]: E4 refresh --> update apikey
    2022-06-10 10:48:10 317626 3744 debug LBS19000935 [v0.4.1]: E5 refresh --> update mowerid
    2022-06-10 10:48:10 318372 3744 debug LBS19000935 [v0.4.1]: E10 refresh --> update LogLevel
    2022-06-10 10:48:10 745249 3744 debug LBS19000935 [v0.4.1]: Websocket-Message: {"ready":true,"connectionId":"Tf3DrfLZjoECGvw=" }
    2022-06-10 10:48:10 747205 3744 debug LBS19000935 [v0.4.1]: String to be decoded:
    2022-06-10 10:48:10 747356 3744 debug LBS19000935 [v0.4.1]: value of var => {"ready":true,"connectionId":"Tf3DrfLZjoECGvw=" }
    2022-06-10 10:48:10 748172 3744 debug LBS19000935 [v0.4.1]: begin websocket => setting output
    2022-06-10 10:48:10 749145 3744 notice LBS19000935 [v0.4.1]: Skipping data - property id not found
    2022-06-10 10:48:10 750471 3744 notice LBS19000935 [v0.4.1]: ================ ARRAY/OBJECT START ================
    2022-06-10 10:48:10 750632 3744 notice LBS19000935 [v0.4.1]: stdClass::__set_state(array([LF] 'ready' => true,[LF] 'connectionId' => 'Tf3DrfLZjoECGvw=',[LF]))
    2022-06-10 10:48:10 750693 3744 notice LBS19000935 [v0.4.1]: ================ ARRAY/OBJECT END ================
    2022-06-10 10:50:40 917382 3744 debug LBS19000935 [v0.4.1]: Websocket: Sent ping to stay connected!
    2022-06-10 10:53:11 088941 3744 debug LBS19000935 [v0.4.1]: Websocket: Sent ping to stay connected!
    2022-06-10 10:55:41 245220 3744 debug LBS19000935 [v0.4.1]: Websocket: Sent ping to stay connected!
    2022-06-10 10:58:11 408946 3744 debug LBS19000935 [v0.4.1]: Websocket: Sent ping to stay connected!
    2022-06-10 11:00:41 569622 3744 debug LBS19000935 [v0.4.1]: Websocket: Sent ping to stay connected!
    2022-06-10 11:00:46 474386 3744 debug LBS19000935 [v0.4.1]: Websocket-Message: {"id":"b622a7fa-c485-453d-9059-ea242ab3d222","type":"status-event","attributes":{"battery":{"batteryPercent":2 4},"mower":{"mode":"MAIN_AREA","activity":"MOWING " ,"state":"IN_OPERATION","errorCode":0,"errorCod eTi mestamp":0},"planner":{"nextStartTimestamp":0,"ove rride":{"action":null},"restrictedReason":"NOT_APP LICABLE"},"metadata":{"connected":true,"statusTime stamp":1654851646372}}}
    2022-06-10 11:00:46 481421 3744 debug LBS19000935 [v0.4.1]: String to be decoded:
    2022-06-10 11:00:46 481911 3744 debug LBS19000935 [v0.4.1]: value of var => {"id":"b622a7fa-c485-453d-9059-ea242ab3d222","type":"status-event","attributes":{"battery":{"batteryPercent":2 4},"mower":{"mode":"MAIN_AREA","activity":"MOWING " ,"state":"IN_OPERATION","errorCode":0,"errorCod eTi mestamp":0},"planner":{"nextStartTimestamp":0,"ove rride":{"action":null},"restrictedReason":"NOT_APP LICABLE"},"metadata":{"connected":true,"statusTime stamp":1654851646372}}}
    2022-06-10 11:00:46 485658 3744 debug LBS19000935 [v0.4.1]: begin websocket => setting output
    2022-06-10 11:00:46 502401 3744 debug LBS19000935 [v0.4.1]: processing finished

    Einen Kommentar schreiben:


  • MrIcemanLE
    antwortet
    Zitat von panzaeron Beitrag anzeigen
    OK, ich musste bei mir noch composer nachinstallieren
    Das werde ich noch in der Hilfe ergänzen

    Zitat von panzaeron Beitrag anzeigen
    aber an A14 kommt nur eine Meldung
    Die Meldung kommt immer mal. Das "Problem" am Websocket ist jetzt, dass die Meldungen von Husqvarna kommen und immer mal anders sein können. Ich habe in meinen Logs jetzt immer mal einen fehlerhafte JSON-String. Dem muss ich mal noch auf die Schliche kommen.

    Vielleicht kannst du mal einen Level 8 Log mitlaufen lassen, dann sehen wir besser, wo das Problem liegen könnte.

    Einen Kommentar schreiben:

Lädt...
X