2 robots de même serial number alors que je n’en ai qu’un

Hello @Mips, je n’avais pas vu ta réponse, merci !

L’installation s’est bien passée merci bcp. Un truc bizarre : à la synchronisation il m’a fait remonter 2 robots de même serial number alors que je n’en ai qu’un. Comme je l’ai acheté d’occasion, je me demande si les serveur Gardena n’ont pas gardé une trace de l’ancienne config.
image

Je ne sais pas encore comment le supprimer proprement.

Ensuite j’ai eu une perte de données ce matin jusqu’à un redémarrage manuel de ma part du daemon.
Je joins le log :

1265|[2022-06-13 11:47:51]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1266|[2022-06-13 11:47:51]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1267|[2022-06-13 11:47:51]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1268|[2022-06-13 11:47:51]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1269|[2022-06-13 11:55:56]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1270|[2022-06-13 11:55:56]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1271|[2022-06-13 11:55:56]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1272|[2022-06-13 11:55:56]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1273|[2022-06-13 11:55:56]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1274|[2022-06-13 11:55:56]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1275|[2022-06-13 11:55:56]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1276|[2022-06-13 11:55:56]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1277|[2022-06-13 11:56:00]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1278|[2022-06-13 11:56:00]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1279|[2022-06-13 11:56:00]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1280|[2022-06-13 11:56:00]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1281|[2022-06-13 11:56:00]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1282|[2022-06-13 11:56:00]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1283|[2022-06-13 11:56:00]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1284|[2022-06-13 11:56:00]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1285|[2022-06-13 14:33:10]DEBUG : params to send to daemon:{"action":"updateDevices"}
1286|[2022-06-13 14:57:32]INFO : Lancement démon
1287|[2022-06-13 14:57:32]DEBUG : test from gardena daemon
1288|[2022-06-13 14:57:34]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1289|[2022-06-13 14:57:34]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1290|[2022-06-13 14:57:34]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1291|[2022-06-13 14:57:34]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1292|[2022-06-13 15:04:16]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1293|[2022-06-13 15:04:16]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1294|[2022-06-13 15:12:20]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1295|[2022-06-13 15:12:20]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1296|[2022-06-13 15:19:20]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1297|[2022-06-13 15:19:20]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1298|[2022-06-13 15:20:22]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1299|[2022-06-13 15:20:22]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1300|[2022-06-13 15:25:25]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1301|[2022-06-13 15:25:25]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1302|[2022-06-13 15:29:21]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1303|[2022-06-13 15:29:21]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1304|[2022-06-13 15:29:21]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'
1305|[2022-06-13 15:29:21]DEBUG : Updating info commands of 'Robert' - Type:'MOWER'

Déso, j’ai vu qu’après que tu préférais qu’on soit en INFO sur les logs.

Le Daemon :

Je le mets dans un autre post car message trop long

Bizarrement les deux logs ne sont pas sur le même fuseau horaire : le premier est en heure française, le second semble être en GMT.

Autre question : L’appli mobile Gardena Smart Connect fait remonter le temps de charge restante, cette commande ne semble pas exister dans ton plugin. Serait-elle dispo pour une version ultérieure ?

Idée d’ajout de fonctionnalité : enregistrer le dernier temps de tonte entre deux recharges (sauf si interruption par fin de programme ou manuel. En historisant cette donnée on pourrait suivre l’évolution du vieillissement de la batterie.

Merci bcp et désolé de mettre tout ça sur ce fil, il faudrait sans doute que je le déplace dans une discussion adéquate.

Daemon log 1/2

1153|[2022-06-13 09:56:00]DEBUG : Send to jeedom :  {'smartsystem_device': {'id': '**', 'type': 'MOWER', 'battery_level': 50, 'battery_state': 'CHARGING', 'name': 'Robert', 'rf_link_level': 80, 'rf_link_state': 'ONLINE', 'serial': '**', 'model_type': 'GARDENA smart Mower', 'location_id': '**', 'activity': 'OK_CHARGING', 'operating_hours': 199, 'state': 'OK', 'duration': 0, 'last_error': 'N/A', 'battery_type': 'Rechargeable'}}
1154|[2022-06-13 09:56:00]DEBUG : new message received in Websocket: {"id":"**","type":"COMMON","attributes":{"name":{"value":"Robert"},"batteryLevel":{"value":50,"timestamp":"2022-06-13T09:55:56.414+00:00"},"batteryState":{"value":"CHARGING","timestamp":"2022-06-13T09:44:46.523+00:00"},"rfLinkLevel":{"value":80,"timestamp":"2022-06-13T09:55:59.865+00:00"},"serial":{"value":"**"},"modelType":{"value":"GARDENA smart Mower"},"rfLinkState":{"value":"ONLINE"}}}
1155|[2022-06-13 09:56:00]DEBUG : Received message COMMON
1156|[2022-06-13 09:56:00]DEBUG : Send to jeedom :  {'smartsystem_device': {'id': '**', 'type': 'MOWER', 'battery_level': 50, 'battery_state': 'CHARGING', 'name': 'Robert', 'rf_link_level': 80, 'rf_link_state': 'ONLINE', 'serial': '**', 'model_type': 'GARDENA smart Mower', 'location_id': '**', 'activity': 'OK_CHARGING', 'operating_hours': 199, 'state': 'OK', 'duration': 0, 'last_error': 'N/A', 'battery_type': 'Rechargeable'}}
1157|[2022-06-13 09:57:53]INFO : Websocket connection close: (1001)-Going away
1158|[2022-06-13 09:57:53]INFO : Restarting websocket...
1159|[2022-06-13 09:57:53]ERROR : error from callback >: prepare_token_request() got multiple values for argument 'grant_type'
1160|[2022-06-13 09:57:53]ERROR : Websocket error: prepare_token_request() got multiple values for argument 'grant_type'
1161|[2022-06-13 09:57:53]INFO : Restarting websocket...
1162|[2022-06-13 09:57:53]ERROR : Websocket error: prepare_token_request() got multiple values for argument 'grant_type'
1163|[2022-06-13 09:57:53]INFO : Restarting websocket...
1164|[2022-06-13 09:57:53]ERROR : error from callback >: prepare_token_request() got multiple values for argument 'grant_type'
1165|[2022-06-13 09:57:53]ERROR : Websocket error: prepare_token_request() got multiple values for argument 'grant_type'
1166|[2022-06-13 09:57:53]INFO : Restarting websocket...
1167|Exception in thread Thread-285:
1168|Traceback (most recent call last):
1169|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1170|url, http_method=method, body=data, headers=headers
1171|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1172|raise TokenExpiredError()
1173|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1174|During handling of the above exception, another exception occurred:
1175|Traceback (most recent call last):
1176|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 424, in _callback
1177|callback(self, *args)
1178|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 57, in _on_close
1179|self._set_connected(False)
1180|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1181|self._on_connection_callback()
1182|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1183|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1184|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1185|self.start_gardena_ws(location)
1186|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1187|data=json.dumps(args, ensure_ascii=False),
1188|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1189|return self.request('POST', url, data=data, json=json, **kwargs)
1190|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1191|self.auto_refresh_url, auth=auth, **kwargs
1192|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1193|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1194|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1195|refresh_token=refresh_token, **kwargs)
1196|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1197|During handling of the above exception, another exception occurred:
1198|Traceback (most recent call last):
1199|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1200|url, http_method=method, body=data, headers=headers
1201|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1202|raise TokenExpiredError()
1203|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1204|During handling of the above exception, another exception occurred:
1205|Traceback (most recent call last):
1206|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 383, in run_forever
1207|dispatcher.read(self.sock.sock, read, check)
1208|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 66, in read
1209|if not read_callback():
1210|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 351, in read
1211|return teardown(frame)
1212|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 318, in teardown
1213|self._callback(self.on_close, close_status_code, close_reason)
1214|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 429, in _callback
1215|self.on_error(self, e)
1216|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 53, in _on_error
1217|self._set_connected(False)
1218|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1219|self._on_connection_callback()
1220|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1221|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1222|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1223|self.start_gardena_ws(location)
1224|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1225|data=json.dumps(args, ensure_ascii=False),
1226|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1227|return self.request('POST', url, data=data, json=json, **kwargs)
1228|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1229|self.auto_refresh_url, auth=auth, **kwargs
1230|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1231|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1232|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1233|refresh_token=refresh_token, **kwargs)
1234|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1235|During handling of the above exception, another exception occurred:
1236|Traceback (most recent call last):
1237|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1238|url, http_method=method, body=data, headers=headers
1239|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1240|raise TokenExpiredError()
1241|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1242|During handling of the above exception, another exception occurred:
1243|Traceback (most recent call last):
1244|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 424, in _callback
1245|callback(self, *args)
1246|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 53, in _on_error
1247|self._set_connected(False)
1248|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1249|self._on_connection_callback()
1250|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1251|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1252|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1253|self.start_gardena_ws(location)
1254|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1255|data=json.dumps(args, ensure_ascii=False),
1256|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1257|return self.request('POST', url, data=data, json=json, **kwargs)
1258|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1259|self.auto_refresh_url, auth=auth, **kwargs
1260|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1261|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1262|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1263|refresh_token=refresh_token, **kwargs)
1264|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1265|During handling of the above exception, another exception occurred:
1266|Traceback (most recent call last):
1267|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1268|url, http_method=method, body=data, headers=headers
1269|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1270|raise TokenExpiredError()
1271|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1272|During handling of the above exception, another exception occurred:
1273|Traceback (most recent call last):
1274|File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
1275|self.run()
1276|File "/usr/lib/python3.7/threading.py", line 865, in run
1277|self._target(*self._args, **self._kwargs)
1278|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 386, in run_forever
1279|self._callback(self.on_error, e)
1280|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 429, in _callback
1281|self.on_error(self, e)
1282|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 53, in _on_error
1283|self._set_connected(False)
1284|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1285|self._on_connection_callback()
1286|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1287|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1288|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1289|self.start_gardena_ws(location)
1290|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1291|data=json.dumps(args, ensure_ascii=False),
1292|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1293|return self.request('POST', url, data=data, json=json, **kwargs)
1294|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1295|self.auto_refresh_url, auth=auth, **kwargs
1296|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1297|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1298|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1299|refresh_token=refresh_token, **kwargs)
1300|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1301|[2022-06-13 09:57:53]INFO : Websocket connection close: (1001)-Going away
1302|[2022-06-13 09:57:53]INFO : Restarting websocket...
1303|[2022-06-13 09:57:53]ERROR : error from callback >: prepare_token_request() got multiple values for argument 'grant_type'
1304|[2022-06-13 09:57:53]ERROR : Websocket error: prepare_token_request() got multiple values for argument 'grant_type'
1305|[2022-06-13 09:57:53]INFO : Restarting websocket...
1306|[2022-06-13 09:57:53]ERROR : Websocket error: prepare_token_request() got multiple values for argument 'grant_type'
1307|[2022-06-13 09:57:53]INFO : Restarting websocket...
1308|[2022-06-13 09:57:53]INFO : Websocket connection close: (1001)-Going away
1309|[2022-06-13 09:57:53]ERROR : error from callback >: prepare_token_request() got multiple values for argument 'grant_type'
1310|[2022-06-13 09:57:53]INFO : Restarting websocket...
1311|[2022-06-13 09:57:53]ERROR : Websocket error: prepare_token_request() got multiple values for argument 'grant_type'
1312|[2022-06-13 09:57:53]ERROR : error from callback >: prepare_token_request() got multiple values for argument 'grant_type'
1313|[2022-06-13 09:57:53]INFO : Restarting websocket...
1314|[2022-06-13 09:57:53]ERROR : Websocket error: prepare_token_request() got multiple values for argument 'grant_type'
1315|[2022-06-13 09:57:53]INFO : Restarting websocket...
1316|[2022-06-13 09:57:53]ERROR : Websocket error: prepare_token_request() got multiple values for argument 'grant_type'
1317|[2022-06-13 09:57:53]INFO : Restarting websocket...
1318|[2022-06-13 09:57:53]ERROR : error from callback >: prepare_token_request() got multiple values for argument 'grant_type'
1319|[2022-06-13 09:57:53]ERROR : Websocket error: prepare_token_request() got multiple values for argument 'grant_type'
1320|[2022-06-13 09:57:53]INFO : Restarting websocket...
1321|Exception in thread Thread-281:
1322|Traceback (most recent call last):
1323|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1324|url, http_method=method, body=data, headers=headers
1325|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1326|raise TokenExpiredError()
1327|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1328|During handling of the above exception, another exception occurred:
1329|Traceback (most recent call last):
1330|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 424, in _callback
1331|callback(self, *args)
1332|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 57, in _on_close
1333|self._set_connected(False)
1334|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1335|self._on_connection_callback()
1336|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1337|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1338|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1339|self.start_gardena_ws(location)
1340|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1341|data=json.dumps(args, ensure_ascii=False),
1342|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1343|return self.request('POST', url, data=data, json=json, **kwargs)
1344|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1345|self.auto_refresh_url, auth=auth, **kwargs
1346|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1347|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1348|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1349|refresh_token=refresh_token, **kwargs)
1350|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1351|During handling of the above exception, another exception occurred:
1352|Traceback (most recent call last):
1353|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1354|url, http_method=method, body=data, headers=headers
1355|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1356|raise TokenExpiredError()
1357|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1358|During handling of the above exception, another exception occurred:
1359|Traceback (most recent call last):
1360|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 383, in run_forever
1361|dispatcher.read(self.sock.sock, read, check)
1362|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 66, in read
1363|if not read_callback():
1364|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 351, in read
1365|return teardown(frame)
1366|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 318, in teardown
1367|self._callback(self.on_close, close_status_code, close_reason)
1368|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 429, in _callback
1369|self.on_error(self, e)
1370|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 53, in _on_error
1371|self._set_connected(False)
1372|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1373|self._on_connection_callback()
1374|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1375|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1376|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1377|self.start_gardena_ws(location)
1378|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1379|data=json.dumps(args, ensure_ascii=False),
1380|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1381|return self.request('POST', url, data=data, json=json, **kwargs)
1382|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1383|self.auto_refresh_url, auth=auth, **kwargs
1384|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1385|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1386|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1387|refresh_token=refresh_token, **kwargs)
1388|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1389|During handling of the above exception, another exception occurred:
1390|Traceback (most recent call last):
1391|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1392|url, http_method=method, body=data, headers=headers
1393|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1394|raise TokenExpiredError()
1395|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1396|During handling of the above exception, another exception occurred:
1397|Traceback (most recent call last):
1398|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 424, in _callback
1399|callback(self, *args)
1400|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 53, in _on_error
1401|self._set_connected(False)
1402|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1403|self._on_connection_callback()
1404|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1405|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1406|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1407|self.start_gardena_ws(location)
1408|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1409|data=json.dumps(args, ensure_ascii=False),
1410|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1411|return self.request('POST', url, data=data, json=json, **kwargs)
1412|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1413|self.auto_refresh_url, auth=auth, **kwargs
1414|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1415|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1416|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1417|refresh_token=refresh_token, **kwargs)
1418|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1419|During handling of the above exception, another exception occurred:
1420|Traceback (most recent call last):
1421|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1422|url, http_method=method, body=data, headers=headers
1423|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1424|raise TokenExpiredError()
1425|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1426|During handling of the above exception, another exception occurred:
1427|Traceback (most recent call last):
1428|File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
1429|self.run()
1430|File "/usr/lib/python3.7/threading.py", line 865, in run
1431|self._target(*self._args, **self._kwargs)
1432|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 386, in run_forever
1433|self._callback(self.on_error, e)
1434|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 429, in _callback
1435|self.on_error(self, e)
1436|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 53, in _on_error
1437|self._set_connected(False)
1438|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1439|self._on_connection_callback()
1440|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1441|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1442|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1443|self.start_gardena_ws(location)
1444|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1445|data=json.dumps(args, ensure_ascii=False),
1446|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1447|return self.request('POST', url, data=data, json=json, **kwargs)
1448|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1449|self.auto_refresh_url, auth=auth, **kwargs
1450|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1451|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1452|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1453|refresh_token=refresh_token, **kwargs)
1454|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1455|Exception in thread Thread-282:

Daemon log 2/2

1456|Traceback (most recent call last):
1457|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1458|url, http_method=method, body=data, headers=headers
1459|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1460|raise TokenExpiredError()
1461|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1462|During handling of the above exception, another exception occurred:
1463|Traceback (most recent call last):
1464|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 424, in _callback
1465|callback(self, *args)
1466|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 57, in _on_close
1467|self._set_connected(False)
1468|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1469|self._on_connection_callback()
1470|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1471|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1472|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1473|self.start_gardena_ws(location)
1474|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1475|data=json.dumps(args, ensure_ascii=False),
1476|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1477|return self.request('POST', url, data=data, json=json, **kwargs)
1478|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1479|self.auto_refresh_url, auth=auth, **kwargs
1480|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1481|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1482|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1483|refresh_token=refresh_token, **kwargs)
1484|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1485|During handling of the above exception, another exception occurred:
1486|Traceback (most recent call last):
1487|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1488|url, http_method=method, body=data, headers=headers
1489|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1490|raise TokenExpiredError()
1491|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1492|During handling of the above exception, another exception occurred:
1493|Traceback (most recent call last):
1494|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 383, in run_forever
1495|dispatcher.read(self.sock.sock, read, check)
1496|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 66, in read
1497|if not read_callback():
1498|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 351, in read
1499|return teardown(frame)
1500|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 318, in teardown
1501|self._callback(self.on_close, close_status_code, close_reason)
1502|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 429, in _callback
1503|self.on_error(self, e)
1504|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 53, in _on_error
1505|self._set_connected(False)
1506|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1507|self._on_connection_callback()
1508|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1509|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1510|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1511|self.start_gardena_ws(location)
1512|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1513|data=json.dumps(args, ensure_ascii=False),
1514|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1515|return self.request('POST', url, data=data, json=json, **kwargs)
1516|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1517|self.auto_refresh_url, auth=auth, **kwargs
1518|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1519|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1520|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1521|refresh_token=refresh_token, **kwargs)
1522|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1523|During handling of the above exception, another exception occurred:
1524|Traceback (most recent call last):
1525|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1526|url, http_method=method, body=data, headers=headers
1527|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1528|raise TokenExpiredError()
1529|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1530|During handling of the above exception, another exception occurred:
1531|Traceback (most recent call last):
1532|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 424, in _callback
1533|callback(self, *args)
1534|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 53, in _on_error
1535|self._set_connected(False)
1536|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1537|self._on_connection_callback()
1538|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1539|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1540|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1541|self.start_gardena_ws(location)
1542|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1543|data=json.dumps(args, ensure_ascii=False),
1544|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1545|return self.request('POST', url, data=data, json=json, **kwargs)
1546|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1547|self.auto_refresh_url, auth=auth, **kwargs
1548|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1549|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1550|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1551|refresh_token=refresh_token, **kwargs)
1552|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1553|During handling of the above exception, another exception occurred:
1554|Traceback (most recent call last):
1555|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1556|url, http_method=method, body=data, headers=headers
1557|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1558|raise TokenExpiredError()
1559|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1560|During handling of the above exception, another exception occurred:
1561|Traceback (most recent call last):
1562|File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
1563|self.run()
1564|File "/usr/lib/python3.7/threading.py", line 865, in run
1565|self._target(*self._args, **self._kwargs)
1566|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 386, in run_forever
1567|self._callback(self.on_error, e)
1568|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 429, in _callback
1569|self.on_error(self, e)
1570|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 53, in _on_error
1571|self._set_connected(False)
1572|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1573|self._on_connection_callback()
1574|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1575|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1576|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1577|self.start_gardena_ws(location)
1578|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1579|data=json.dumps(args, ensure_ascii=False),
1580|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1581|return self.request('POST', url, data=data, json=json, **kwargs)
1582|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1583|self.auto_refresh_url, auth=auth, **kwargs
1584|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1585|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1586|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1587|refresh_token=refresh_token, **kwargs)
1588|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1589|[2022-06-13 09:57:53]INFO : Websocket connection close: (1001)-Going away
1590|[2022-06-13 09:57:53]INFO : Restarting websocket...
1591|[2022-06-13 09:57:53]ERROR : error from callback >: prepare_token_request() got multiple values for argument 'grant_type'
1592|[2022-06-13 09:57:53]ERROR : Websocket error: prepare_token_request() got multiple values for argument 'grant_type'
1593|[2022-06-13 09:57:53]INFO : Restarting websocket...
1594|[2022-06-13 09:57:53]ERROR : Websocket error: prepare_token_request() got multiple values for argument 'grant_type'
1595|[2022-06-13 09:57:53]INFO : Restarting websocket...
1596|[2022-06-13 09:57:53]ERROR : error from callback >: prepare_token_request() got multiple values for argument 'grant_type'
1597|[2022-06-13 09:57:53]ERROR : Websocket error: prepare_token_request() got multiple values for argument 'grant_type'
1598|[2022-06-13 09:57:53]INFO : Restarting websocket...
1599|Exception in thread Thread-287:
1600|Traceback (most recent call last):
1601|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1602|url, http_method=method, body=data, headers=headers
1603|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1604|raise TokenExpiredError()
1605|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1606|During handling of the above exception, another exception occurred:
1607|Traceback (most recent call last):
1608|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 424, in _callback
1609|callback(self, *args)
1610|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 57, in _on_close
1611|self._set_connected(False)
1612|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1613|self._on_connection_callback()
1614|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1615|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1616|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1617|self.start_gardena_ws(location)
1618|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1619|data=json.dumps(args, ensure_ascii=False),
1620|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1621|return self.request('POST', url, data=data, json=json, **kwargs)
1622|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1623|self.auto_refresh_url, auth=auth, **kwargs
1624|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1625|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1626|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1627|refresh_token=refresh_token, **kwargs)
1628|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1629|During handling of the above exception, another exception occurred:
1630|Traceback (most recent call last):
1631|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1632|url, http_method=method, body=data, headers=headers
1633|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1634|raise TokenExpiredError()
1635|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1636|During handling of the above exception, another exception occurred:
1637|Traceback (most recent call last):
1638|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 383, in run_forever
1639|dispatcher.read(self.sock.sock, read, check)
1640|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 66, in read
1641|if not read_callback():
1642|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 351, in read
1643|return teardown(frame)
1644|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 318, in teardown
1645|self._callback(self.on_close, close_status_code, close_reason)
1646|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 429, in _callback
1647|self.on_error(self, e)
1648|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 53, in _on_error
1649|self._set_connected(False)
1650|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1651|self._on_connection_callback()
1652|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1653|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1654|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1655|self.start_gardena_ws(location)
1656|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1657|data=json.dumps(args, ensure_ascii=False),
1658|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1659|return self.request('POST', url, data=data, json=json, **kwargs)
1660|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1661|self.auto_refresh_url, auth=auth, **kwargs
1662|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1663|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1664|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1665|refresh_token=refresh_token, **kwargs)
1666|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1667|During handling of the above exception, another exception occurred:
1668|Traceback (most recent call last):
1669|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1670|url, http_method=method, body=data, headers=headers
1671|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1672|raise TokenExpiredError()
1673|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1674|During handling of the above exception, another exception occurred:
1675|Traceback (most recent call last):
1676|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 424, in _callback
1677|callback(self, *args)
1678|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 53, in _on_error
1679|self._set_connected(False)
1680|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1681|self._on_connection_callback()
1682|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1683|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1684|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1685|self.start_gardena_ws(location)
1686|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1687|data=json.dumps(args, ensure_ascii=False),
1688|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1689|return self.request('POST', url, data=data, json=json, **kwargs)
1690|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1691|self.auto_refresh_url, auth=auth, **kwargs
1692|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1693|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1694|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1695|refresh_token=refresh_token, **kwargs)
1696|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1697|During handling of the above exception, another exception occurred:
1698|Traceback (most recent call last):
1699|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 484, in request
1700|url, http_method=method, body=data, headers=headers
1701|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 217, in add_token
1702|raise TokenExpiredError()
1703|oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)
1704|During handling of the above exception, another exception occurred:
1705|Traceback (most recent call last):
1706|File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
1707|self.run()
1708|File "/usr/lib/python3.7/threading.py", line 865, in run
1709|self._target(*self._args, **self._kwargs)
1710|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 386, in run_forever
1711|self._callback(self.on_error, e)
1712|File "/usr/local/lib/python3.7/dist-packages/websocket/_app.py", line 429, in _callback
1713|self.on_error(self, e)
1714|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 53, in _on_error
1715|self._set_connected(False)
1716|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/ws_client.py", line 45, in _set_connected
1717|self._on_connection_callback()
1718|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 288, in 
1719|self.gardena_ws_client = WSClient(on_message_callback=self.on_message, on_connection_lost_callback=lambda: self.on_gardena_ws_connection_lost(location=location), level=self.level)
1720|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 340, in on_gardena_ws_connection_lost
1721|self.start_gardena_ws(location)
1722|File "/var/www/html/plugins/gardena/resources/gardenad/gardena/smart_system.py", line 282, in start_gardena_ws
1723|data=json.dumps(args, ensure_ascii=False),
1724|File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 577, in post
1725|return self.request('POST', url, data=data, json=json, **kwargs)
1726|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 503, in request
1727|self.auto_refresh_url, auth=auth, **kwargs
1728|File "/usr/local/lib/python3.7/dist-packages/requests_oauthlib/oauth2_session.py", line 422, in refresh_token
1729|body=body, refresh_token=refresh_token, scope=self.scope, **kwargs
1730|File "/usr/local/lib/python3.7/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 475, in prepare_refresh_body
1731|refresh_token=refresh_token, **kwargs)
1732|TypeError: prepare_token_request() got multiple values for argument 'grant_type'
1733|[2022-06-13 12:33:10]DEBUG : Client connected to [127.0.0.1:43272]
1734|[2022-06-13 12:33:10]DEBUG : Message read from socket: b'{"action":"updateDevices","apikey":"J80dyr3huj1xZi27cT*****************"}'
1735|[2022-06-13 12:33:10]DEBUG : Client disconnected from [127.0.0.1:43272]
1736|[2022-06-13 12:33:10]DEBUG : Message received in socket JEEDOM_SOCKET_MESSAGE
1737|[2022-06-13 12:33:10]INFO : updating locations
1738|[2022-06-13 12:33:10]ERROR : Send command to demon error:prepare_token_request() got multiple values for argument 'grant_type'
1739|[2022-06-13 12:57:30]DEBUG : Signal 15 caught, exiting...
1740|[2022-06-13 12:57:30]INFO : Shuting down
1741|[2022-06-13 12:57:30]DEBUG : Removing PID file /tmp/jeedom/gardena/deamon.pid
1742|[2022-06-13 12:57:32]INFO : Starting daemon
1743|[2022-06-13 12:57:32]INFO : Log level: debug
1744|[2022-06-13 12:57:32]DEBUG : Socket port: 55070
1745|[2022-06-13 12:57:32]DEBUG : PID file: /tmp/jeedom/gardena/deamon.pid
1746|[2022-06-13 12:57:32]DEBUG : Init request module v2.27.1
1747|[2022-06-13 12:57:33]INFO : Authentication done
1748|[2022-06-13 12:57:33]INFO : updating locations
1749|[2022-06-13 12:57:33]DEBUG : opening websocket for location My Garden
1750|[2022-06-13 12:57:33]DEBUG : Connect Websocket to wss://ws-iapi.smart.gardena.dev/v1?auth=*****
1751|[2022-06-13 12:57:33]DEBUG : Checking websocket connection status in 30s...
1752|[2022-06-13 12:57:33]INFO : updating devices for location My Garden
1753|[2022-06-13 12:57:34]INFO : Websocket connected
1754|[2022-06-13 12:57:34]INFO : Syncing known devices with jeedom
1755|[2022-06-13 12:57:34]DEBUG : Send to jeedom :  {'smartsystem_location': {'id': '**', 'name': 'My Garden'}}
1756|[2022-06-13 12:57:34]DEBUG : Send to jeedom :  {'smartsystem_device': {'id': '**', 'type': 'MOWER', 'battery_level': 70, 'battery_state': 'CHARGING', 'name': 'Robert', 'rf_link_level': 90, 'rf_link_state': 'ONLINE', 'serial': '**', 'model_type': 'GARDENA smart Mower', 'location_id': '**', 'activity': 'OK_CHARGING', 'operating_hours': 201, 'state': 'OK', 'duration': 0, 'last_error': 'N/A', 'battery_type': 'Rechargeable'}}
1757|[2022-06-13 12:57:34]DEBUG : new message received in Websocket: {"id":"**","type":"LOCATION","relationships":{"devices":{"data":[{"id":"**","type":"DEVICE"}]}},"attributes":{"name":"GARDENA smart Garden"}}
1758|[2022-06-13 12:57:34]DEBUG : Received message LOCATION
1759|[2022-06-13 12:57:34]DEBUG : new message received in Websocket: {"id":"**","type":"DEVICE","relationships":{"location":{"data":{"id":"**","type":"LOCATION"}},"services":{"data":[{"id":"**:cbtg","type":"MOWER"},{"id":"**","type":"COMMON"}]}}}
1760|[2022-06-13 12:57:34]DEBUG : Received message DEVICE
1761|[2022-06-13 12:57:34]DEBUG : Send to jeedom :  {'smartsystem_device': {'id': '**', 'type': 'MOWER', 'battery_level': 70, 'battery_state': 'CHARGING', 'name': 'Robert', 'rf_link_level': 90, 'rf_link_state': 'ONLINE', 'serial': '**', 'model_type': 'GARDENA smart Mower', 'location_id': '**', 'activity': 'OK_CHARGING', 'operating_hours': 201, 'state': 'OK', 'duration': 0, 'last_error': 'N/A', 'battery_type': 'Rechargeable'}}
1762|[2022-06-13 12:57:34]INFO : Start listening
1763|[2022-06-13 12:57:34]DEBUG : Socket interface started
1764|[2022-06-13 12:57:34]DEBUG : LoopNetServer Thread started
1765|[2022-06-13 12:57:34]DEBUG : Listening on: [localhost:55070]
1766|[2022-06-13 12:57:34]DEBUG : new message received in Websocket: {"id":"**:cbtg","type":"MOWER","relationships":{"device":{"data":{"id":"**","type":"DEVICE"}}},"attributes":{"state":{"value":"OK","timestamp":"2022-06-13T12:36:05.406+00:00"},"activity":{"value":"OK_CHARGING","timestamp":"2022-06-13T12:36:05.406+00:00"},"operatingHours":{"value":201}}}
1767|[2022-06-13 12:57:34]DEBUG : Received message MOWER
1768|[2022-06-13 12:57:34]DEBUG : Send to jeedom :  {'smartsystem_device': {'id': '**', 'type': 'MOWER', 'battery_level': 70, 'battery_state': 'CHARGING', 'name': 'Robert', 'rf_link_level': 90, 'rf_link_state': 'ONLINE', 'serial': '**', 'model_type': 'GARDENA smart Mower', 'location_id': '**', 'activity': 'OK_CHARGING', 'operating_hours': 201, 'state': 'OK', 'duration': 0, 'last_error': 'N/A', 'battery_type': 'Rechargeable'}}
1769|[2022-06-13 12:57:34]DEBUG : new message received in Websocket: {"id":"**","type":"COMMON","relationships":{"device":{"data":{"id":"**","type":"DEVICE"}}},"attributes":{"name":{"value":"Robert"},"batteryLevel":{"value":70,"timestamp":"2022-06-13T12:56:13.195+00:00"},"batteryState":{"value":"CHARGING","timestamp":"2022-06-13T12:36:05.406+00:00"},"rfLinkLevel":{"value":90,"timestamp":"2022-06-13T11:58:11.125+00:00"},"serial":{"value":"**"},"modelType":{"value":"GARDENA smart Mower"},"rfLinkState":{"value":"ONLINE"}}}
1770|[2022-06-13 12:57:34]DEBUG : Received message COMMON
1771|[2022-06-13 12:57:34]DEBUG : Send to jeedom :  {'smartsystem_device': {'id': '**', 'type': 'MOWER', 'battery_level': 70, 'battery_state': 'CHARGING', 'name': 'Robert', 'rf_link_level': 90, 'rf_link_state': 'ONLINE', 'serial': '**', 'model_type': 'GARDENA smart Mower', 'location_id': '**', 'activity': 'OK_CHARGING', 'operating_hours': 201, 'state': 'OK', 'duration': 0, 'last_error': 'N/A', 'battery_type': 'Rechargeable'}}
1772|[2022-06-13 13:04:16]DEBUG : new message received in Websocket: {"id":"**:cbtg","type":"MOWER","attributes":{"state":{"value":"OK","timestamp":"2022-06-13T12:36:05.406+00:00"},"activity":{"value":"OK_CHARGING","timestamp":"2022-06-13T12:36:05.406+00:00"},"operatingHours":{"value":201}}}
1773|[2022-06-13 13:04:16]DEBUG : Received message MOWER

Oui :wink:

j’ai déplacé le post

Concernant les 2 robots, ils font encore des modifs de leur coté (cf. ce post pour en attester: 403:Forbidden(hint: did you 'Connect an API' in your Application?) - #28 par Mips

Donc supprimez juste un des équipements et redémarrez le démon avec le loglevel INFO et pas DEBUG

On voit bien qu’il n’y a qu’une seule tondeuse qui remonte à présent, à mon avis il y a eu un problème temporaire de leur coté

OK j’ai fait ça.
A la synchronisation je garde mon seul robot vivant.
On verra pour la suite.

Hello, que penses-tu de ces questions/suggestions ?

Désolé, je n’avais pas vu les autres points, j’avais survolé le post et ils étaient noyés dans le reste.

c’est dû au fait que ton heure système n’est pas correcte: le démon log avec l’heure / timezone système alors que le plugin utilise l’heure définie par jeedom dans le process php.

Je viens de vérifier et l’info n’est pas dispo dans l’api mais si un jour elle l’est, j’intégrerai le retour dans le plugin bien entendu.
J’ai déjà une demande similaire pour intégrer la position gps, apparemment certains nouveaux robots ont un gps à présent; mais ce n’est pas encore dispo dans l’api non plus; à suivre.

Le plugin n’a pas le moyen de savoir si l’interruption est manuel ou pas: le stop n’est pas forcément passé par le plugin, il peut avoir été fait sur l’app mobile directement.
Et calculer le temps entre 2 états est réalisable via les fonctions de stats du core de jeedom donc vu que tout le monde ne voudra pas les mêmes stats, pas la peine de refaire 10 fois quelque chose dans le plugin qui est déjà possible avec les fonctions du core

OK, je vais essayer de me le faire. Merci

Super merci.

Pourtant j’ai l’impression que mon jeedom est à la bonne heure. Où règle-t-on l’heure « système » ? Dans mon docker qui héberge jeedom ?

Oui c’est ça, c’est l’heure que Linux connaît.
Ne me demande pas comment on fait dans un container, je n’en sais rien.

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.