Demon qui ne tient pas si utilisé avec une tondeuse désactivée

Bonjour, J’ai la béta d’installée et à jour et mon démon ne démarre pas

0220|[2023-04-14 18:02:22]ERROR : Exception during authentication:
0221|[2023-04-14 18:03:17]ERROR : Exception during authentication:
0222|[2023-04-14 18:04:09]ERROR : Fatal error: 'NoneType' object is not subscriptable
0223|[2023-04-14 18:16:22]ERROR : Fatal error: 'NoneType' object is not subscriptable
0224|[2023-04-14 18:17:10]ERROR : Fatal error: 'NoneType' object is not subscriptable
0225|[2023-04-14 20:28:12]ERROR : Error during execute action: The device is currently offline, no action was sent.
0226|[2023-04-16 12:45:51]ERROR : Task exception was never retrieved
0227|future:  exception=ClientOSError(None, 'Can not write request body for http://127.0.0.1:80/plugins/worxLandroidS/core/php/jeeworxLandroidS.php?apikey=AsKJBYU1uXpueXy27taPqCU4sDsKxc8dDrXWhnZ1ZaNKev8uqtlpxB2q3tQHSkib')>
0228|Traceback (most recent call last):
0229|File "/usr/local/lib/python3.7/dist-packages/aiohttp/client_reqrep.py", line 581, in write_bytes
0230|await self.body.write(writer)
0231|File "/usr/local/lib/python3.7/dist-packages/aiohttp/payload.py", line 247, in write
0232|await writer.write(self._value)
0233|File "/usr/local/lib/python3.7/dist-packages/aiohttp/http_writer.py", line 115, in write
0234|self._write(chunk)
0235|File "/usr/local/lib/python3.7/dist-packages/aiohttp/http_writer.py", line 75, in _write
0236|raise ConnectionResetError("Cannot write to closing transport")
0237|ConnectionResetError: Cannot write to closing transport
0238|The above exception was the direct cause of the following exception:
0239|Traceback (most recent call last):
0240|File "/var/www/html/plugins/worxLandroidS/resources/worxLandroidSd.py", line 179, in __send_async
0241|async with self._jeedom_session.post(self._config.callbackUrl + '?apikey=' + self._config.apiKey, json=payload) as resp:
0242|File "/usr/local/lib/python3.7/dist-packages/aiohttp/client.py", line 1141, in __aenter__
0243|self._resp = await self._coro
0244|File "/usr/local/lib/python3.7/dist-packages/aiohttp/client.py", line 560, in _request
0245|await resp.start(conn)
0246|File "/usr/local/lib/python3.7/dist-packages/aiohttp/client_reqrep.py", line 899, in start
0247|message, payload = await protocol.read()  # type: ignore[union-attr]
0248|File "/usr/local/lib/python3.7/dist-packages/aiohttp/streams.py", line 616, in read
0249|await self._waiter
0250|aiohttp.client_exceptions.ClientOSError: [Errno None] Can not write request body for http://127.0.0.1:80/plugins/worxLandroidS/core/php/jeeworxLandroidS.php?apikey=AsKJBYU1uXpueXy27taPqCU4sDsKxc8dDrXWhnZ1ZaNKev8uqtlpxB2q3tQHSkib
0251|[2023-04-17 20:26:47]ERROR : Fatal error: 'NoneType' object is not subscriptable
0252|[2023-04-17 20:27:36]ERROR : Fatal error: 'NoneType' object is not subscriptable
0253|[2023-04-17 20:33:23]ERROR : Fatal error: 'NoneType' object is not subscriptable
0254|[2023-04-18 15:16:27]ERROR : Fatal error: 'NoneType' object is not subscriptable
0255|[2023-04-18 19:36:03]ERROR : Fatal error: 'NoneType' object is not subscriptable
0256|[2023-04-19 17:52:22]ERROR : Fatal error: 'NoneType' object is not subscriptable

Bonjour,

Il faut un log en debug ainsi que toutes les infos demandées dans la doc et svp copier/coller le log dans un Texte préformaté via outil </> pour avoir ce résultat:

saisissez ou collez du code ici

sinon c’est illisible (j’ai corrigé votre post précédent)

Merci Mips,

2023-04-20 13:10:06]ERROR : Fatal error: 'NoneType' object is not subscriptable
[2023-04-20 13:14:24]INFO : Starting daemon
[2023-04-20 13:14:24]INFO : Log level: debug
[2023-04-20 13:14:24]DEBUG : Socket port : 55073
[2023-04-20 13:14:24]DEBUG : PID file : /tmp/jeedom/worxLandroidS/daemon.pid
[2023-04-20 13:14:24]DEBUG : Initializing connector...
[2023-04-20 13:14:24]DEBUG : Initializing the API connector ...
[2023-04-20 13:14:24]DEBUG : Getting logger ...
[2023-04-20 13:14:24]DEBUG : Initializing EventHandler ...
[2023-04-20 13:14:24]DEBUG : Authenticating joseph.strehl@gmail.com
[2023-04-20 13:14:24]DEBUG : get token:{'token_type': 'Bearer', 'expires_in': 3600, 'access_token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxNTBkYTRkMi1iYjQ0LTQzM2ItOTQyOS0zNzczYWRjNzBhMmEiLCJqdGkiOiI5ODk2Y2QxYjMwYmI4NmExM2U0ZWUwNjQ1OTMyNzUwNjNkNjIyMWQyOThlNTRlODZmMWNiZDcwYWQ2N2MwZjVkZmUzODZkZGQyZWIyZWEyMyIsImlhdCI6MTY4MTk4OTI2NC42MTcxMTYsIm5iZiI6MTY4MTk4OTI2NC42MTcxMTgsImV4cCI6MTY4MTk5Mjg2NCwic3ViIjoiMTc4NTkiLCJzY29wZXMiOlsiZGF0YTpwcm9kdWN0cyIsInVzZXI6cHJvZmlsZSIsInVzZXI6bWFuYWdlIiwidXNlcjpjZXJ0aWZpY2F0ZSIsIm1vYmlsZTpub3RpZmljYXRpb25zIiwibW93ZXI6dmlldyIsIm1vd2VyOnVwZGF0ZSIsIm1vd2VyOmFjdGl2aXR5X2xvZyIsIm1vd2VyOmxhd24iLCJtb3dlcjptYXAiLCJtb3dlcjp3YXJyYW50eSIsIm1vd2VyOmZpcm13YXJlIiwibW93ZXI6cGFpciIsIm1vd2VyOnVucGFpciJdfQ.G0qHHNhWgac9FK7mkLk0uSsJd_AvQKpqHLG08KN5K9k7N7hmORLO4N1ZtM7AETCY6rNS_nciC2Cv3DTT3hVrvRbJP-vs5u2hr-w4Ve12PW_u_bVK-KNrAxHxu2v24vWZswflIuEROKn2qdheOx8ichkYFw77p67VDGsPjl0QisVY2FEEMlsbOizEVhrJUN02GKiqmkOBKQgTiqIHgdjOp9-sFf88ULu5eZZ947GWVowwCH7iNreeEu3479tixo0zHJ_-5PtNYDfXIN2K8M5dp-NKK6iNDuPDqrPs8QOZfhpnAzjAjm1z4YboyeWEvsgnzMUnLins35NkIkTC0uoDlDWE0Urj27hIr_EyxVmlOy3PqEFUbPdRUz0pCluRI411qUSi5IZNzS465rMBJLXgsbtp5kdTMNP53MXFNTps2QATKq97k-ApDRULfhZGeMFjFIg8GNkmNaQOhV95Jvkkf3nSkng6mhqpUgTGeaI0gzVVgPu2CbJRHiNOSU8i4MF7wwRIQINHQ5g4fs3Fj9kYJv9UsLN_Vs_BUzTxlVouH7pTUn1b9fyI7OnaFqlVA7ULhzkebKbqNKTvAsX2eddaxQ5kYesm7I9HP57bUuAiB8tQuZBNY7L4QEnl_oP_HciEZHC4y8JK61TwBAza4CCDaOJ7svNmbYpjuwk6VkIi7yI', 'refresh_token': 'def50200e267a07f884456927f01a9fd0ef8124b640697eb40f71e0169460586abe51015335e34ccee6288d87d28fab09007eb18d64236bb24555d67d3d69c6f93831df3106ef4e89dc41bf968b876befc7885eccf0db3d8e1e35d9744ef9f0729e3870ad8f4a026d1ab929e8dffc1ed1374262c7293a2b6e9688e5aaa208470698182ac205c1584b3100a98154fe2e1f48cf7d9ff65c01d64e087df27847177bfca9dbe66d52404cd0937445e39e444528493aae5596d96be8de5ec97b886a1a91205a519d5502ac99fe7cb83e5888a9ff0c6e5ffd8f9d39ba51397888403efcabd74ab139941cc99d16d96499e812cd53507f51adf65876bcdf4ded6d15bbdd09556d32536f1099bd963323f83af3ce66f699e746ddb35ba638361437dca7cec0f99473c43d3dbb6b350efe033a7a3bc800e160de80b8af8a3158fbe8d11c86bd64ec41743aa9246511c49337aa8e20e5ff126bd22abba56df32deab79fabc698e9498d84069df3c3cb923336308bd17e81cf8a01097fd381e2eaf928ac94290c38908826f1efa883b60f3dd1992bb867acba43a42f1bf2bd9353fc32cb823ccf751ad4466a5ce3ed269dedf97190f4dd7351a5927f77a0a75a6931d38b20d54ba0e352503a3e2ead18b81955551e36653c4bc43f205cea4e9e7e49c7c1b587414dc51bb1de712e4518f106727afb71d7ba2991bacf8fdd7a4b7021e4ba531a19ab29c7875413c44c6140795934f511dec011c4970993a81f56ec34456dff1ec90415b0dc0b345a4a3d929ce667514e2db5ff15aec0d8edf48620b8de790b474c33090cc876a837fcb75ba68297b2a2939fe4c93acaf97f5ba08f97a6746c8c23485bd204f'}
[2023-04-20 13:14:24]INFO : Authentication successful
[2023-04-20 13:14:24]DEBUG : Fetching basic API data
[2023-04-20 13:14:25]ERROR : Fatal error: 'NoneType' object is not subscriptable
[2023-04-20 13:14:25]INFO : Shuting down
[2023-04-20 13:14:25]DEBUG : Removing PID file /tmp/jeedom/worxLandroidS/daemon.pid
[2023-04-20 13:14:25]DEBUG : Exit 0
[2023-04-20 13:15:22]INFO : Starting daemon
[2023-04-20 13:15:22]INFO : Log level: debug
[2023-04-20 13:15:22]DEBUG : Socket port : 55073
[2023-04-20 13:15:22]DEBUG : PID file : /tmp/jeedom/worxLandroidS/daemon.pid
[2023-04-20 13:15:22]DEBUG : Initializing connector...
[2023-04-20 13:15:22]DEBUG : Initializing the API connector ...
[2023-04-20 13:15:22]DEBUG : Getting logger ...
[2023-04-20 13:15:22]DEBUG : Initializing EventHandler ...
[2023-04-20 13:15:22]DEBUG : Authenticating joseph.strehl@gmail.com
[2023-04-20 13:15:22]DEBUG : get token:{'token_type': 'Bearer', 'expires_in': 3600, 'access_token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxNTBkYTRkMi1iYjQ0LTQzM2ItOTQyOS0zNzczYWRjNzBhMmEiLCJqdGkiOiI4YmY0NzM5NDIwOTI3OGRmZDliYTYzYTM2NDdlNjM4ZDVhY2MxOWYwMWUxODRiYWVhMjk1MzQ3YTY3NGFkMzQ0MTkzOTRiYzAyOGMyZjAxYyIsImlhdCI6MTY4MTk4OTMyMi41Mjk1MzksIm5iZiI6MTY4MTk4OTMyMi41Mjk1NDEsImV4cCI6MTY4MTk5MjkyMiwic3ViIjoiMTc4NTkiLCJzY29wZXMiOlsiZGF0YTpwcm9kdWN0cyIsInVzZXI6cHJvZmlsZSIsInVzZXI6bWFuYWdlIiwidXNlcjpjZXJ0aWZpY2F0ZSIsIm1vYmlsZTpub3RpZmljYXRpb25zIiwibW93ZXI6dmlldyIsIm1vd2VyOnVwZGF0ZSIsIm1vd2VyOmFjdGl2aXR5X2xvZyIsIm1vd2VyOmxhd24iLCJtb3dlcjptYXAiLCJtb3dlcjp3YXJyYW50eSIsIm1vd2VyOmZpcm13YXJlIiwibW93ZXI6cGFpciIsIm1vd2VyOnVucGFpciJdfQ.gpNd2U8ap50bRtEymBTmfj46Yu6o3yG7TybGrW2Zv5Dt8Nw28q0s-53-k-6yN5O4bvlcI9qIAxk4g1vdTXyp7DQsk6_KrBXUzvFLmiPUXJIfGKcHE73R_Y3tED0RxqLvHqhNm7WKtyNM1VjVSc67ADO70__udjlfiwIoSSwbmgvc8FLrQOTlWF9wL9Mki8njB-qDJkHZYsJpq9u6BbML1wl_aHw5SCcB16KZxShtzzlr6h4dQG1YB8M-Ms_v-QzUd98IhfMvZh11jjVSH-ZzGuE6hE8z-B3fjrBHykSP89EGxAaYb5F724BNUr7IQSMkoLOpMPCZbs4_I8uiI6ZpNp0pIWzpKz-OeryzaKPScGX9-cmELbJcxw_MowNiegUsJghJLku-6-cOLkQfJMBhqGoBsxNYwgSmzmT5WS5QgJkMse8CQ7XIb9GFqls2xS5owhIRKBx7_mtn9VmpZP9fM2bsISZuHHhP16rIFZ0wFI7covbtC6a4nAzBh9DJ-WndA23Xx9kd3kkDAeCnBTyFCAv35Gdtz1fBziyFgCYpOwQLF0ueCoY8UZLEWq2ego3QZC3Li750r1jRhZkKg2WH_3M3ULFhGjXWUi45CUcVQfGjypzNBKMhguBth06mjm4TanFaLkr3h_329TW5e4XvxTHlzrPBtTmFR-uYxtW5Gs0', 'refresh_token': 'def5020094c116b3e9446e5c7b8fdeb33f2261301777873f2a976ff2b6ab149a026e9ced98a6457140fe1b53a19f75f4ef2286f1518c8496a4d5eeedbe6e0a5689b70cf210c967799b0b01590ffbeeeb495961bc3dde099a40b4725a65f2961d4f2cb708dc7db41de9f5e9c3738e045e57b1604941eb8a9c75e69efbda8a846d850cccde227857304643514dbf9757bcff45aaf4311d1de97859f4d289b35a8dc9752bbac58909eb225d4b705f618cf03515f9d50dc2ab443832952c54c6b8c1ff2fa46cd9e97ca3c40e9d221cfb29487572db701133c821fe8efe33aeadcdaaae44ef6a3753f3f0ceb4e08f0b5398bbea60fdd7f66206abf55844ff94c7f739d242b897e237e622467c81a83acc5a13ef30d3bdc56d237df611c8bedd28fc5a954fbb3eeb26829adcfc21b9c0f6498dccf18776b327b1b673cd5f7a043f7d7a2c4a76a3c194a5f01fea6bc419bedde2377d9e92e55ffb425f6f2955e4b41e1afdc198ed97db733c916b4c30164d5892841779f83419bc5cae31492de1e5983d92e313f2f0c9bed1bb8839c30ac9362ef89083c4ffbbd73a2b89b2d68181814c5eee463182aa0951d64594b3cf1d28246cbae7c07786ec07f18f3b037698d8419925d6c1561331a5f8853a76acb68e2e49adedb2683a1609a065829611c333354429871222408c50426abeaede64cea6e80d5af4f3bd521308c523af332afb021cb8cbf3d8ae53a47f88249e776dd5bf14ca372e833affc69f0ca07da5cce5276236f60e2ef07b4629dc7b9d3cf6a2f0e2f58338c7c37786a465a485c5fed7e6605f990ecbb53e681814bd8c92dfc5921b34c829752a79518b91eabe110f5d235095b252deb8'}
[2023-04-20 13:15:22]INFO : Authentication successful
[2023-04-20 13:15:22]DEBUG : Fetching basic API data
[2023-04-20 13:15:23]ERROR : Fatal error: 'NoneType' object is not subscriptable
[2023-04-20 13:15:23]INFO : Shuting down
[2023-04-20 13:15:23]DEBUG : Removing PID file /tmp/jeedom/worxLandroidS/daemon.pid
[2023-04-20 13:15:23]DEBUG : Exit 0

Et vous avez bien une tondeuse worx connectée? c’est quel modèle?
je peux avoir les autres infos demandées? la version exacte du plugin et la page santé jeedom principalement

Mips tu peux me tutoyer.
Le plugin fonctionnais très bien l’année dernière.
A la première installation de la béta il m’a trouvé mes deux tondeuses.
C’est une WR147E.1, l’autre est désactivée et je vais la supprimer sur le site Worx.
J’avais donné une piste à SSC il y à longtemps.
Je t’ai envoyé par message privé le lien pour le Deskapp des Allemands qui fonctionne actuellement avec ma tondeuse. Bien sur que je ne laisse pas l’app en service continuellement pour ne pas être sur le serveur Worx!
Je suis en VM.
Merci pour ton dévouement.

La plupart de ce qui fonctionnait l’année dernière ne fonctionne plus ajd, il y a eu des changements en octobre/novembre.

Le plugin fonctionne très bien chez moi et manifestement beaucoup d’autres donc je ne comprends pas ce que tu entends par « donner une piste » et je n’ai pas connaissance des discussion que tu as eu avec ssc;

l’app ne me sert à rien je sais me connecter sur l’api de worx et je ne comprend pas l’allemand, j’ai vu quelques fichiers du code que tu m’as envoyé mais le plugin est déjà bien plus avancée en terme de code et fonctionnalité, tout ce qui s’y trouve, c’est déjà là ou presque (p-e avec des bug, je ne nie pas, c’est encore en beta)

ca par contre c’est p-e une piste; puisqu’après la connexion je tente le subscribe sur les tondeuses, si elle n’existe pas ca ne provoque p-e cette erreur;
si tu n’es pas trop pressé, attend un peu je vais tenter de gérer ce cas et on pourra refaire un test car si tu supprimes la tondeuse le problème risque de disparaitre mais je ne pourrai pas reproduire :wink:

Pas de problèmes Mips, je ne touche à rien.
Sur la première connexion avec l’app Allemande (qui est en français aussi et avec plein de code que je ne comprend pas) elle m’a demandé quelle tondeuse je voulais connecter car elle à découvert que j’en avais deux.
Il y a un onglet MQTT qui dit ça;

{
  "cfg":{"id":1,"lg":"fr",
    "tm":"14:08:11","dt":"20/04/2023",
    "sc":{"m":1,"distm":0,"ots":{"bc":0,"wtm":0},"p":20,
      "d":[["00:00",0,0],["12:00",330,0],["12:00",330,1],["12:00",330,0],["12:00",330,1],["12:00",330,0],["12:00",330,1]],
      "dd":[["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0]]},
    "cmd":0,
    "mz":[1,37,49,0],"mzv":[0,1,2,0,1,2,0,1,2,2],
    "rd":60,
    "sn":"20213026731000010144",
    "al":{"lvl":0,"t":60},"tq":0,
    "modules":{"US":{"enabled":1}
}},
  "dat":{
    "mac":"A848FA98AD28",
    "fw":3.28,"fwb":1,
    "bt":{"t":17.0,"v":17.45,"p":20,"nr":375,"c":0,"m":0},
    "dmp":[0.3,-0.6,30.6],
    "st":{"b":46454,"d":766187,"wt":50359,"bl":144},
    "ls":7,"le":0,"lz":8,
    "rsi":-56,"lk":0,"act":1,"tr":0,"conn":"wifi",
    "rain":{"s":0,"cnt":0},"time":{"r":131,"l":131},
    "modules":{"US":{"stat":"ok"}
}}
}

Je surveille le sujet et tu peux me contacter directement aussi.

J’ai poussé une nouvelle beta, cela devrait être ok

Nickel le démon a démarré à la fin de l’installation des dépendances.
Je vérifie le reste et je te tiens au courant

Bon ça à l’air d’avancer.
Les onglets horaires et zones sont vide. (je suppose que c’est normal)
Il pleut, ça aide pas.
Je me sert des zones pour mes scénarios, je dois prendre quoi comme commande?


un petit tour sur les autres sujets? (sans oublier celui-ci Version beta avril 2023) la question des zones a déjà été adressée :wink:

=> Il faut choisir la zone de travail avant de démarrer la tondeuse

Super travail.
Avant c’est la tondeuse qui décidait sur quelle zone aller.
Par exemple tonte devant la maison elle ouvrait le portail, se rendait sur zone, tondais, fermais le portail et pour le retour l’inverse.
Donc il faut que je trouve prochaine zone de tonte?
#[Jardin][Robocop][Départ zone 1]# devient ma condition?
J’avais code statuts 33; recherche de zone de tonte
Il y a aussi 34 pause, arrêtée

Je ne comprend pas du tout la question :sweat_smile:

il y a une commande « zone de travail » comme je disais juste au dessus:
image

  • suffit de choisir la zone x (possible via scénario évidemment)
  • et ensuite « Démarrer » (elle va tondre jusqu’à plus de batterie ou contre ordre)
  • ou « Horaire unique » et elle va tondre le temps donné en paramètre

tout ca était déjà expliqué dans le sujet que j’ai donné dans ma réponse précédente et j’ai l’impression que tu n’as même pas cliqué sur le lien…

Si Si, j’ai lus et relus
Je cherche l’ancienne commande « curentZone »
Maintenant c’est « zone prochain départ », non?
Mais il faut retrancher 1 à la zone?
Zone1 = zone prochain départ zéro
Zone 2 = zone prochain départ 1
C’est ça?
La elle me dit zone prochain départ = 0 donc elle devrait partir sur la zone 1?
Tu ne pourrais pas simplifier et enlever le zéro?

c’est ça

qu’est-ce que tu veux dire par là? c’est random? comment est-ce que la tondeuse choisissait?
dans la prochaine beta je vais rétablir (p-e temporairement) la commande « Zone actuelle » => il faudrait comparer les valeurs et vérifiez si ca représente quelque chose de « correcte »; il y a p-e qlq que j’ai mal compris dans le système de zone
je serais intéressé d’avoir des logs à différent moment, lorsque la tondeuse part travailler ou travaille dans les différentes zone pour comparer ce qu’on recoit

Effectivement la tondeuse viens de démarrer et sur l’appli du téléphone j’ai « recherche de zone 3 ».
Sur le widget prochaine zone de départ = 0

Ce n’est pas aléatoire comme travail pour elle.
Dans l’application de la tondeuse tu définis jusqu’à 4 zones, OK?
Ensuite dans multi-zone tu définis le pourcentage de travail dans ces différentes zones, le total doit être 100%
Donc elle calcule pour effectuer son travail et sait ou aller.
Par exemple si je dis 10% zone 1,
10% zone 2,
et 80% zone 3 , elle va tondre plusieurs jours la zone 3 (en la laissant que travailler 5h par jour)
Puis une fois la zone 1 et une fois la zone 2.
Quand elle va sur une zone elle vide sa batterie dessus et rentre.

Tu veux que je te sorte les logs de la tondeuse sur USB?

Ah, et j’ai eu une coupure complète de l’internet pendant quelques minutes et j’ai du relancer la démon.

Je t’admire, le temps que tu passe là dessus doit être énorme.
Envoie moi ton PayPal que je te fasse un don.
C’est un truc qui a disparu, ou je suis trop vieux pour le retrouver.

Prend ton temps, tu vas y arriver.

Bonjour, depuis la dernière MàJ le daemon du plugin ne veut plus démarrer. Dois je passer en beta pour résoudre le souci? merci!

Et comment puis je deviner sans aucune info?

C’est hors sujet et de plus cela donne l’impression que vous n’avez pas lu mes posts précédents.