× Benvenuti sul nostro forum su Sint Wind PI!

Postate qui domande o segnalate problemi / bug che riscontrate,

file Sensore pioggia in negativo

Di più
8 Mesi 1 Giorno fa #8394 da pierpis
Buongiorno a tutti,
Ho sostituito il sensore pioggia comprandolo originale per la mia stazione PCE FWS 20, ho subito fatto le prove versando un tantino di acqua e mi accorgo che funziona vedendo i dato marcati con 3,00 di acqua.
Siccome oggi piove vado a vedere e vedo il dato 1,8 e tutto sommato giusto (credo) ora andando a rivederlo mi accordo che a pioggia battente mi segna -1227,6 mm mi chiedo che cosa è accaduto, perchè in valore negativo?

Sensori PCE-FWS20, DVB-T 820T2 SDR, BMP085, Raspberry Pi mod. B www.meteoportocervo.it (Abbiadori Porto Cervo - Arzachena - OT) 108 m s.l.m.)

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
8 Mesi 1 Giorno fa #8395 da Ciaschini
Risposta da Ciaschini al topic Sensore pioggia in negativo
Ciao, quando si resetta il pluviometro sulla stazione, i dati vanno in negativo, ma a mezzanotte dovrebbero tornare a zero, prova a vedere domani

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
8 Mesi 4 Ore fa #8396 da pierpis
Risposta da pierpis al topic Sensore pioggia in negativo
Grazie, hai ragione ora ho visto che è rientrato nella normalità

Sensori PCE-FWS20, DVB-T 820T2 SDR, BMP085, Raspberry Pi mod. B www.meteoportocervo.it (Abbiadori Porto Cervo - Arzachena - OT) 108 m s.l.m.)

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
7 Mesi 2 Settimane fa #8398 da S1m0n3
Risposta da S1m0n3 al topic Sensore pioggia in negativo
Anche io ho lo stesso problema, non c'è modo di ovviare al problema? Perché il reset va a sballare il valore dell'accumulo giornaliero e delle ultime 24h per tutta la giornata :S

Sint Wind Pi - WH3080 - Raspberry Pi 3 B+
roccadibotte.online

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
6 Mesi 4 Settimane fa #8403 da sn3ik
Risposta da sn3ik al topic Sensore pioggia in negativo
Salve,
i valori negativi della pioggia mi hanno tormentato per un bel pò, inizialmente pensavo fosse la mia stazione, ma dopo aver studiato un pò l'intero e meraviglioso lavoro fatto da Tony e da altri su questo forum ho deciso di mettere mano al codice.
Il problema di questo bug è che la stazione meteo trasmette il dato pioggia cumulato (è l'unico dato che cumula) finche la memoria non è piena e riparte da 0, quindi la swpi avrà un record nel db che sottrae al valore passato dalla stazione quando questa si resetta ecco che capita il problema, per ovviare a ciò ho aggiunto una colonna nel db chiamato RAIN_OLD ed ho modificato il file meteodata.py così facendo:

innanzitutto inizializziamo la variabile:
...
self.the_real_rain = None
...

poi ho modificato questo blocco

...
if (self.rain != None ):
conn = sqlite3.connect('db/swpi.s3db',200)
dbCursor = conn.cursor()
dbCursor.execute("SELECT * FROM METEO order by rowid asc limit 1")
data = dbCursor.fetchall()
if ( len(data) == 1 ):
the_old_rain = (data[0][33])
real_rain = (data[0][9])
#self.the_real_rain = (data[0][9])
if (the_old_rain != None):
if ( the_old_rain > self.rain):
self.the_real_rain = real_rain + self.rain
else:
self.the_real_rain = real_rain + (self.rain - the_old_rain)

# Rain 24h - rain 1h - pressure_trend
if ( self.rain != None or self.rel_pressure != None):

if (self.rain != None ):
dbCursor.execute("SELECT * FROM METEO where datetime(TIMESTAMP_LOCAL) > datetime('now','-1 day','localtime') order by rowid asc limit 1")
data = dbCursor.fetchall()
if ( len(data) == 1):
therain = (data[0][9])
if (therain != None) :
self.rain_rate_24h = self.the_real_rain - therain

dbCursor.execute("SELECT * FROM METEO where datetime(TIMESTAMP_LOCAL) > datetime('now','-1 hour','localtime') order by rowid asc limit 1")
data = dbCursor.fetchall()
if ( len(data) == 1):
therain = (data[0][9])
if (therain != None and self.rain != None ) :
self.rain_rate_1h = self.the_real_rain - therain
thepress= (data[0][7])
if ( thepress != None and self.rel_pressure != None):
self.pressure_trend = self.rel_pressure - thepress
if conn:
conn.close()
...

ho aggiunto delle variabili di appoggio *rain, c'è una condizione dove l'algoritmo capisce se la memoria si è resettata oppure no, così facendo la pioggia viene sempre cumulata

nella classe che inserisce i dati nel db va aggiunta la modifica:
...
dbCursor.execute("insert into METEO(TIMESTAMP_LOCAL,TIMESTAMP_IDX,WINDIR_CODE,WIND_DIR,WIND_AVE,WIND_GUST,TEMP,PRESSURE,HUM,RAIN,RAIN_RATE,TEMPINT,HUMINT,WIND_CHILL,TEMP_APPARENT,DEW_POINT,UV_INDEX,SOLAR_RAD,WIND_DAY_MIN,WIND_DAY_MAX,WIND_DAY_GUST_MIN ,WIND_DAY_GUST_MAX ,TEMP_OUT_DAY_MIN ,TEMP_OUT_DAY_MAX,TEMP_IN_DAY_MIN ,TEMP_IN_DAY_MAX ,HUM_OUT_DAY_MIN ,HUM_OUT_DAY_MAX ,HUM_IN_DAY_MIN ,HUM_IN_DAY_MAX ,PRESSURE_DAY_MIN ,PRESSURE_DAY_MAX,WIND_DIR_AVE,RAIN_OLD ) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", (self.last_measure_time,self.last_measure_time,self.wind_dir_code,self.wind_dir,self.wind_ave,self.wind_gust,self.temp_out,self.rel_pressure,self.hum_out,self.the_real_rain,self.rain_rate,self.temp_in,self.hum_in,self.wind_chill,self.temp_apparent,self.dew_point,self.uv,self.illuminance,self.winDayMin,self.winDayMax,self.winDayGustMin,self.winDayGustMax,self.TempOutMin,self.TempOutMax,self.TempInMin,self.TempInMax,self.UmOutMin,self.UmOutMax,self.UmInMin,self.UmInMax,self.PressureMin,self.PressureMax,self.wind_dir_ave,self.rain))
...

purtroppo viaggio con la versione 3 di swpi e la modifico ogni volta che che ho bisogno di sistemare qualcosa, quindi può darsi che il codice differisca con la versione ufficiale su github

Saluti
Francesco

Si prega Accedi o Crea un account a partecipare alla conversazione.

Tempo creazione pagina: 0.528 secondi