https://www.lineameteo.it/viewtopic.php?f=2&t=18147&p=563572#p563572
-----------------------------------
zoomx
Ven 27 Ago, 2021 18:02

Re: ESP32 ESP8266 Linea Meteo Stazione: Nuova Versione Stazione Meteo Ottimizzata Con Diverse Novità!
-----------------------------------
InfluxDB funziona in modo diverso, crei il database e basta, non ci sono tabelle e non ci sono campi.
E' come se venissero creati dal database al volo in base ai dati che fornisci. PEr cui devi stare attento a come li fornisci altrimenti si confondono con gli altri.


Ti faccio un esempio.
Questo è una delle possibili dashboard, raccoglie le temperature di un WH32 Ecowitt, 6 WH31, La WMR200 e un sensore Digoo di cui non ho la console ma intercetto i dati.
 [img]http://www.lineameteo.it/files/images/3249/screenshot_2021_08_27_at_17_50_47_temperatures_grafana.png[/img] 
Queste sono le query per prelevare i dati per alcuni dei sensori, le altre sono molto simili.

SELECT (mean("tempf")-32)*5/9 FROM "http_listener_v2" WHERE ("PASSKEY" = 'E90CD8D6B604C0567BD8C39A0FAC9987') AND $timeFilter GROUP BY time($__interval) fill(null)


SELECT mean("outTemp_C") AS "mean_outTemp_C" FROM "Weewx".."record" WHERE $timeFilter GROUP BY time($__interval) fill(null)


SELECT mean("temperature") AS "mean_temperature" FROM "meteodata"."autogen"."Digoo_DGR8H" WHERE $timeFilter GROUP BY time($__interval) fill(null)


La prima è la query per prendere i dati del WH32 di uno dei GW1000, quello che ha la PASSKEY" = 'E90CD8D6B604C0567BD8C39A0FAC9987' (che non è una password!). I dati vengono catturati da uno script trovato in rete.
La seconda quella della Oregon WMR200, dove è WeeWx a pensare di mettere i dati in InfluxDB
Le terza è un sensore che io intercetto via radio con un ESP8266 (e un modulo radio) che poi inserisce lui i dati in InfluxDB. Ogni tanto prende temperature basse fantasma, il picco visibile nel grafico. 

tempf, outTemp_C, temperature sono i "campi" che contengono la temperatura che vengono comunicati al database, il primo ha anche la formula di conversione in Celsius perché il protocollo Ecowitt comunica i dati in Fahreneit
Dopo il FROM c'è il nome del database, quindi il filtraggio per data. Ognuna di queste viene tradotta in una curva del grafico. Posso manovrare sul campo di data e ora per avere il grafico quando serve a me ma quando accedi di solito mostra le ultime 12 ore a seconda di cosa scrivi nell'apposito campo in fase di design.


Il vantaggio è che se c'è un sensore in più non devo fare nulla se non stare attento alla stringa di inserimento. Ma se aggiungo semplicemente un sensore ad una stazione esistente basta che modifico la stringa di inserimento dati ed ho finito.
Un po' come su Thingspeak che se vuoi aggiungere un ulteriore dato crei il field e lo metti in coda alla stringa di inserimento.


