On Mon, 13 May 2024 at 22:19, Perini Matteo <perini.mat...@gmail.com> wrote: > vorrei leggere lo stato di un dispositivo ewelink (sonoff) tramite script ma > ricevo un comportamento che non capisco. > Se faccio uno script isolato […] > ottengo esattamente quello che voglio ovvero il print mi dice se il > dispositivo è on, off o offline.
In questo script dove richiami `ask_status()`? > Come posso fare per forzare l'esecuzione di ask_status ogni volta che > richiamo la funzione check? In genere con le parentesi dopo il nome funzione async def check(update: Update, context: ContextTypes.DEFAULT_TYPE): await context.bot.send_message( chat_id=update.effective_chat.id, text=ask_status(the_client) ) Nota che dovresti restituire la stringa in `ask_status` piuttosto che stamparla su stdout @ewelink.login("Password", "em...@email.eu") async def ask_status(client: Client) -> str: device = client.get_device("100000000") try: return str(device.state.value) except DeviceOffline: return "Device is offline!" -- Andrea D'Amore _______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python