- Messaggi: 1523
- Karma: 9
- Ringraziamenti ricevuti 240
Postate qui domande o segnalate problemi / bug che riscontrate,
SWPI Plugins
Si prega Accedi a partecipare alla conversazione.
Sto provando ad usare AllLogger ma non essendo registrato su WeatherUnderground nel log esce un errore:
(Log to Wunderground : INVALIDPASSWORDID|Password and/or id are incorrect)
il meteo.txt viene inviato e tutto funzione regolarmente.
Cosa dovrei eliminare/modificare per evitare l'errore ?
def run(self):
log("Starting plugin : %s" % sys.modules[__name__])
while 1:
###################### Plugin run
time.sleep(60-datetime.datetime.now().second)
if ( globalvars.meteo_data.status == 0 ):
logDataToWunderground(self.cfg.WeatherUnderground_ID,self.cfg.WeatherUnderground_password)
UploadData(self.cfg)
logData(self.cfg.serverfile,self.cfg.SMSPwd)
###################### end of Plugin run
Si prega Accedi a partecipare alla conversazione.
- roberto2011
- Offline
- Moderatore
[WeatherUnderground]
weatherunderground_logdata = False
Sensori Davis +BME280 + Raspberry b+ webCam serrasanta.fleanet.it (Eremo di Serrasanta - Gualdo Tadino - 1.340 m s.l.m.)
Si prega Accedi a partecipare alla conversazione.
Probabilmente il plugin non lo considera.
Si prega Accedi a partecipare alla conversazione.
- roberto2011
- Offline
- Moderatore
prova questo !
Allegato AllLogger.zip non trovato
Sensori Davis +BME280 + Raspberry b+ webCam serrasanta.fleanet.it (Eremo di Serrasanta - Gualdo Tadino - 1.340 m s.l.m.)
Si prega Accedi a partecipare alla conversazione.
Exception in thread thread-7:
file "/usr/lib/python2.4/threading.py", line 552, in _bootstrap_inner
self.run()
file "./plugins/AllLogger.py" , line 48, in run
if (cfg.WeatherUnderground_logdata ) :
NameError : global name 'cfg' is not defined
Spero di aver copiato giusto dal video , sul log non risulta
grazie...
Si prega Accedi a partecipare alla conversazione.
- roberto2011
- Offline
- Moderatore
if (self.cfg.WeatherUnderground_logdata):
Sensori Davis +BME280 + Raspberry b+ webCam serrasanta.fleanet.it (Eremo di Serrasanta - Gualdo Tadino - 1.340 m s.l.m.)
Si prega Accedi a partecipare alla conversazione.
Grazie 1000
Si prega Accedi a partecipare alla conversazione.
- antosere10
- Visitatori
ve ne sarei molto grato
Si prega Accedi a partecipare alla conversazione.
- Messaggi: 1523
- Karma: 9
- Ringraziamenti ricevuti 240
Si prega Accedi a partecipare alla conversazione.
- antosere10
- Visitatori
Si prega Accedi a partecipare alla conversazione.
non riesco a farli inviare a CWOP. ho provato ad aggiungere questa stringa ma mi da un errore
logDataToCWOP(self.cfg.CWOP_ID,self.cfg.CWOP_password)
la sintassi è giusta?
la password di CWOP non mi è stata ancora data, e ho lasciato quella di default sul SWPI.
grazie a presto
Si prega Accedi a partecipare alla conversazione.
Sto cercando di costruire un plugin di supporto al bot di telegram, che avvisa dei cambiamenti (a me interessa il vento)... in realtà per me sarebbe mooolto più semplice se in php o jscript.. ma ahimè sto scazzottando con python (sono autodidatta 100%).
Premessa fatta lo script funziona, ma devo fare in modo che non sia molesto. Per questo mi serve una variabile globale che memorizza il numero di letture fuori specifica. E' gestita da swpi nel plugin sincrono?.. sto avendo problemi con questo script:
if globalvars.meteo_data.wind_ave < 1: #speedalert var
numwindup = 0
elif numwindup <= 2: #countalert var
numwindup = numwindup + 1
else:
bot.sendMessage(gruppotelegram, text='La velocita del vento ha superato i 12 nodi, corri in spiaggia!!!')
ovviamente lanciando lo script con sudo python non da errore, numwindup l'ho dichiarata sia all'inizio del file, che nella plugin initialization zone.
l'errore di swpi è il seguente:
Traceback (most recent call last):
File "swpi.py", line 941, in <module>
[29/03/2018-16:37:59] Starting plugin : <module 'SWPIBot_ITA' from './plugins/SWPIBot_ITA.pyc'>
pl.loadAll()
File "/swpi/pluginmanager.py", line 34, in loadAll
swpi_plugin_Thread = mod.swpi_plugin(self.cfg)
AttributeError: 'module' object has no attribute 'swpi_plugin'
..l'errore non è relativo al mio plugin, ma sicuro dipende da qualche mio errore
Si prega Accedi a partecipare alla conversazione.
- roberto2011
- Offline
- Moderatore
Esiste poi la funzione inline per fare delle query dai gruppi (cosa che avevi chiesto su un altro post)
Sensori Davis +BME280 + Raspberry b+ webCam serrasanta.fleanet.it (Eremo di Serrasanta - Gualdo Tadino - 1.340 m s.l.m.)
Si prega Accedi a partecipare alla conversazione.
Se dichiaro una variabile all'inizio, la mantiene? non credo di doverla dichiarare in init plugin, perchè è una funzione...
Edit: ho appurato che il problema è nelle variabili che non vengono mantenute. Dove posso dichiarare una variabile globale nel plugin SINCRONO ?
..in quello asincrono tutto funziona.
Si prega Accedi a partecipare alla conversazione.
- Degli errori erano dovuti al fatto che avevo RINOMINATO il plugin sincrono... da NON fare.
- Le variabili globali vanno GIUSTAMENTE dichiarate all'estrno della funzione (inizializzate), ma nella funzione bisogna dichiararle globali:
global nomevar
...se non si dichiara, ne crea un'altra locale.. (booh! però funziona)
..Lo script l'ho quasi terminato, devo studiare come confrontare un array (di stringhe) con una variabile (per la direzione del vento, visto che in gradi dà solo la media giornaliera (globalvariables.meteo_data_wind_dir_ave è numerico(ma AVE è una media), e wind_dir è testuale)
Si prega Accedi a partecipare alla conversazione.