[Python] Ricevo "Unclosed connector" usando le API
Matteo Perini
perini.matteo a gmail.com
Lun 19 Ago 2024 10:29:00 CEST
> Cercando in rete sembra solo un warning, sei sicuro sia un errore?
> Dove leggi questo errore?
> Come invochi il programma?
> Puoi incollare un po' di contesto in più dell'output?
>
> Comunque una sessione (o connector o quello che sia) aperto lo risolvi
> dandogli una .close() oppure usando un context manager dove lo istanzi
> e poi se ne occupa lui.
>
Ciao, grazie della risposta,
mi sembra che il problema sia come se la connessione fosse già occupata
e quindi non permetta di collegarsi nuovamente al dispositivo.
Riesco a ricreare l'errore anche con un semplice script come quello che
allego:
importewelink
fromewelinkimportClient, DeviceOffline
@ewelink.login("MYPASSWORD", "MYEMAIL") # <----- qui avviene l'errore
asyncdefmain(client: Client):
print(client.user.info)
device=client.get_device("1000a1c228") #single channel device
print(device.params)
Ecco anche il testo completo dell'output (nascondo solo email e password)
/{'error': 403, 'msg': 'Sign:oauthClient enable invalid'}
Traceback (most recent call last):
File "/home/matteo/Scrivania/smart_polinar/test.py", line 4, in <module>
@ewelink.login("password", "email")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/matteo/Scrivania/smart_polinar/ewelink/client.py", line
92, in login
asyncio.get_event_loop().run_until_complete(client.login())
File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in
run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/home/matteo/Scrivania/smart_polinar/ewelink/client.py", line
53, in login
self.user = ClientUser(data = await self.http.login(), http=self.http)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/matteo/Scrivania/smart_polinar/ewelink/models/user.py",
line 32, in __init__
self.email: str | None = data.get('email', None)
^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f2da3ffec00>
Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at
0x7f2da2d42510>, 61417.66621223)]']
connector: <aiohttp.connector.TCPConnector object at 0x7f2da2d3a930>/
Siccome tutto avviene dentro la libreria e non sono molto esperto di
connessioni remote, sto facendo molta fatica a capire che succede. Di
solito uso python per tutt'altro.
Anche solo la sintassi mi sembra diversa da quella a cui sono abituato.
Può essere che lato server si sia bloccato qualcosa?
Il dispositivo continua ad andare sia con l'app proprietaria che tramite
google home.
Ho provato anche a togliere fisicamente l'alimentazione al router e al
dispositivo ma senza ottenere risultati.
Cos'altro posso tentare?
Grazie
Ciao
Matteo
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20240819/9a0e9ba4/attachment.html>
Maggiori informazioni sulla lista
Python