Questo forum utilizza i cookies
Questo forum fa uso di cookie per migliorare l'esperienza utente. I cookie sono piccoli file di testo memorizzati sul tuo browser. I cookie impostati dal forum possono essere utilizzati solo su questo sito e non costituiscono rischio per la sicurezza, vengono utilizzati unicamente per memorizzare le tue preferenze. Navigando sul sito accetti che RaspberryItaly installi i cookie sul tuo browser.
Per maggiori informazioni consulta l'informativa sui Cookie di RasberryItaly

Un cookie verra memorizzato nel browser indipendentemente dalla scelta per evitare che questa domanda ti venga posta di nuovo. Sarai in grado di modificare le impostazioni dei cookie in qualsiasi momento utilizzando il link nel footer.
  • Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
telegram messaggio doppio invio arriva

(RISOLTO) Invio messaggio telegram, arriva doppio
#1
Ciao,
utilizzo raspberry per inviarmi delle notifiche a telegram, il tutto funziona, ma il messaggio che arriva su telegram è doppio, arriva 2 volte, il messaggio viene inviato a 2 account telegram, e con entrambi arriva doppio...
Vi rimetto il codice, se qualcuno trova qualche errore sulla parte fatta in python.

Sul pulsante c'è resistenza e condensatore per fare da antirimbalzo, però non sembrerebbe quello il problema, visto che non è casuale, ma sempre arriva doppio, e comunque il pulsante è per prova, il comando arriva da altro processore...

TOKEN1 = "xxxxx"
TOKEN2 = "xxxxx"

MSG1 = "Un sensore esterno ha rilevato un movimento"
MSG2 = "Rilevata mancanza rete 220"
MSG3 = "Pompa acqua accesa da troppo tempo"
MSG4 = "Disponibile"

# importazione librerie:
from gpiozero import Button
from signal import pause
import requests

def mail1():
req = requests.post('https://api.rpinotify.it/message/' + TOKEN1 + '/', data={'text': MSG1})
req = requests.post('https://api.rpinotify.it/message/' + TOKEN2 + '/', data={'text': MSG1})

def mail2():
req = requests.post('https://api.rpinotify.it/message/' + TOKEN1 + '/', data={'text': MSG2})

def mail3():
req = requests.post('https://api.rpinotify.it/message/' + TOKEN1 + '/', data={'text': MSG3})

def mail4():
req = requests.post('https://api.rpinotify.it/message/' + TOKEN1 + '/', data={'text': MSG4})

#programma:
ingr1 = Button (17)
ingr2 = Button (27)
ingr3 = Button (22)
ingr4 = Button (5)
ingr1.when_pressed=mail1
ingr2.when_pressed=mail2
ingr3.when_pressed=mail3
ingr4.when_pressed=mail4
pause()
Risposta
#2
(11/07/2019, 20:53)Thedrifter Ha scritto: Ciao,
utilizzo raspberry per inviarmi delle notifiche a telegram, il tutto funziona, ma il messaggio che arriva su telegram è doppio, arriva 2 volte, il messaggio viene inviato a 2 account telegram, e con entrambi arriva doppio...
Vi rimetto il codice, se qualcuno trova qualche errore sulla parte fatta in python.

Sul pulsante c'è resistenza e condensatore per fare da antirimbalzo, però non sembrerebbe quello il problema, visto che non è casuale, ma sempre arriva doppio, e comunque il pulsante è per prova, il comando arriva da altro processore...

TOKEN1 = "xxxxx"
TOKEN2 = "xxxxx"

MSG1 = "Un sensore esterno ha rilevato un movimento"
MSG2 = "Rilevata mancanza rete 220"
MSG3 = "Pompa acqua accesa da troppo tempo"
MSG4 = "Disponibile"

# importazione librerie:
from gpiozero import Button
from signal import pause
import requests

def mail1():
req = requests.post('https://api.rpinotify.it/message/' + TOKEN1 + '/', data={'text': MSG1})
req = requests.post('https://api.rpinotify.it/message/' + TOKEN2 + '/', data={'text': MSG1})

def mail2():
req = requests.post('https://api.rpinotify.it/message/' + TOKEN1 + '/', data={'text': MSG2})

def mail3():
req = requests.post('https://api.rpinotify.it/message/' + TOKEN1 + '/', data={'text': MSG3})

def mail4():
req = requests.post('https://api.rpinotify.it/message/' + TOKEN1 + '/', data={'text': MSG4})

#programma:
ingr1 = Button (17)
ingr2 = Button (27)
ingr3 = Button (22)
ingr4 = Button (5)
ingr1.when_pressed=mail1
ingr2.when_pressed=mail2
ingr3.when_pressed=mail3
ingr4.when_pressed=mail4
pause()
Nella prima funzione mail1() ti invia due messaggi?

Inviato dal mio HUAWEI VNS-L31 utilizzando Tapatalk
Risposta
#3
Ciao,
si, ora sono andato avanti col programma, tutte e 4 le funzioni inviano 2 notifiche a 2 dispositivi diversi, infatti c'è token 1 e 2, ma anche quando c'era un dispositivo solo, arrivano 2 messaggi uguali.
Risposta
#4
veramente strano.
l'unica cosa che mi viene in mente è la possibilità che, alla pressione di un tasto, venga rilevato lo stato del pulsante due volte.

oltre che la routine per telegram prova a metterci un print nello script e rilancialo.
vedi se premendo un tasto il problema è riconducibile alla gestione elettrica del pulsante oppure a qualche problema di programmazione in python (che non vedo)

una cosa tipo
Codice:
ingr1.when_pressed=print("tasto 1 premuto")

perdona il codice magari è errato, però è per capire dove voglio mettere il debug



Coltiva linux, che windows si pianta da solo! (cit.)
Risposta
#5
(13/07/2019, 20:40)Painbrain Ha scritto: veramente strano.
l'unica cosa che mi viene in mente è la possibilità che, alla pressione di un tasto, venga rilevato lo stato del pulsante due volte.

oltre che la routine per telegram prova a metterci un print nello script e rilancialo.
vedi se premendo un tasto il problema è riconducibile alla gestione elettrica del pulsante oppure a qualche problema di programmazione in python (che non vedo)

una cosa tipo
Codice:
ingr1.when_pressed=print("tasto 1 premuto")

perdona il codice magari è errato, però è per capire dove voglio mettere il debug

Ciao,
non credo sia colpa del tasto, per due motivi, primo, il pin a massa è messo da un'altro processore, quindi non esiste il problema del rimbalzo, secondo, lo fa sempre 2 volte, fosse un rimbalzo, sarebbe random, quando 1, quando 2, 3 etc.
La prova del print l'avevo già fatta e esso appare una volta sola, comunque riprovo per sicurezza...
Grazie Smile
Risposta
#6
Perché due token?

Inviato dal mio HUAWEI VNS-L31 utilizzando Tapatalk
Risposta
#7
(15/07/2019, 20:33)Oresterosso Ha scritto: Perché due token?

Inviato dal mio HUAWEI VNS-L31 utilizzando Tapatalk

Perchè invio il messaggio a 2 telefoni differenti
Risposta
#8
Ciao,
ho risolto l'enigma Smile
Avevo messo il mio script in avvio automatico, ma l'avevo fatto in due modi diversi, quindi lo script veniva eseguito 2 volte contemporaneamente... L'avevo fatto quando non mi funzionava all'avvio, facendo delle prove, è stato complicato trovare il problema, non pensavo che lo script potesse essere eseguito insieme da due programmi...
Comunque risolto, grazie a chi mi ha aiutato Smile
Ciao
Risposta
#9
Gioie (e dolori) del multitasking

Inviato dal mio A0001 utilizzando Tapatalk
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect