logo

Questa è la guida completa per l'installazione, la configurazione e la risoluzione dei problemi di Weewx.

 

REQUISITI DI SISTEMA

 

Hardware della stazione

Weewx include il supporto per molti tipi di stazioni meteorologiche. Oltre al supporto hardware, Weewx viene fornito con un simulatore software, utile per il test e la valutazione.

La tabella di compatibilità dei driver nella guida hardware contiene un elenco dettagliato dei produttori e dei modelli supportati dai driver forniti con Weewx. Se non vedi il tuo hardware in questa tabella, controlla l'elenco dell'hardware supportato ; le immagini possono aiutare a identificare il produttore e/o il modello. La compatibilità per alcuni hardware è fornita da driver di terze parti, disponibili su Wiki . Infine, controlla il confronto hardware per vedere se il tuo hardware è noto ma non ancora supportato.

Se ancora non riesci a trovare il tuo hardware, invia un messaggio al gruppo degli utenti per chiedere aiuto.

Computer hardware

Weewx è scritto in Python, quindi ha l'overhead associato a quel linguaggio. Tuttavia, è "abbastanza veloce" praticamente su qualsiasi hardware. È stato eseguito su qualsiasi cosa, dai primi MacBook a un router!

Weewx funziona alla grande anche su un Raspberry Pi, anche se la generazione dei report richiederà più tempo. Ad esempio, i 12 modelli "To Date" del report "Standard" impiegano circa 5,1 secondi su un RPi B+, rispetto ai 3,0 secondi su Fit-PC e 0,3 secondi su un NUC con un processore i5 di quarta generazione.

Tempo

Dovresti eseguire una sorta di demone di sincronizzazione dell'ora per assicurarti che il tuo computer abbia l'ora corretta. In questo modo ridurrai notevolmente gli errori, soprattutto se invii dati a servizi come Weather Underground. I sistemi Systemd possono utilizzare systemd-timesyncd , altri sistemi possono utilizzare NTP .

L'ora su alcune stazioni viene sincronizzata automaticamente con il server Weewx nominalmente ogni quattro ore. La frequenza di sincronizzazione può essere regolata nella configurazione di Weewx.

Python

È richiesto Python 2.7 o Python 3.5 o successivo.

Autorizzazioni

Ci sono alcuni punti in cui i permessi influiscono su Weewx:

  • Installazione/Configurazione. L'utente che esegue l'installazione deve disporre dell'autorizzazione di scrittura per eseguire l'installazione. Allo stesso modo, l'utente che modifica i file di configurazione e le skin deve avere il permesso di scrittura su quei file e directory. Le cartelle specifiche dipendono dal metodo di installazione e sono elencate nella tabella di layout sottostante.
  • Corsa. La maggior parte dei dispositivi USB e seriali richiede l'accesso amministrativo (root). A meno che il dispositivo non sia stato configurato con una regola udev o un altro meccanismo che garantisca l'accesso a utenti non root, i comandi di Weewx devono essere eseguiti come root o devono essere preceduti da sudo per privilegi amministrativi temporanei.

Normalmente Weewx è installato ed eseguito con permessi amministrativi (root). Tuttavia, non è raro installare ed eseguire Weewx come utente generico non root o anche come utente creato appositamente per eseguire Weewx.

 

INSTALLAZIONE

 

Competenze richieste

Nel mondo del software per hobbisti open source, Weewx è abbastanza facile da installare e configurare. Non ci sono molte dipendenze dei pacchetti, la configurazione è semplice e questa guida include istruzioni dettagliate. Ci sono migliaia di persone che hanno eseguito con successo un'installazione. Tuttavia, non esiste un'interfaccia "punta e clicca", quindi dovrai eseguire alcune configurazioni manuali.

Dovresti avere le seguenti abilità:

  • • La pazienza di leggere e seguire questa guida;
  • • Disponibilità e capacità di modificare un file di configurazione;
  • • Una certa familiarità con Linux o altri derivati Unix;
  • • Capacità di eseguire semplici attività Unix come modificare i permessi dei file ed eseguire comandi;
  • • Non è necessaria alcuna esperienza di programmazione a meno che tu non voglia estendere Weewx. In questo caso, dovresti essere a tuo agio nella programmazione in Python.

Panoramica

Questo è uno schema del processo per installare, configurare ed eseguire Weewx:

  1. • Leggi le note hardware per la tua stazione meteorologica. Questo ti farà conoscere eventuali caratteristiche, limitazioni o stranezze del tuo hardware.
  2. • Installa Weewx. Utilizzare le istruzioni dettagliate in uno dei metodi di installazione seguenti.
  3. • Configura l'hardware. Ciò comporta l'impostazione di cose come l'intervallo di archiviazione integrato, la dimensione del pluviometro, ecc. Potrebbe essere necessario seguire le indicazioni fornite dal produttore dell'hardware o utilizzare l'utilità wee_device.
  4. • Avvia il programma weewxd . Viene eseguito dalla riga di comando, come demone o direttamente .
  5. • Ottimizza l'installazione. Tipicamente questo viene fatto modificando le impostazioni nel file di configurazione di Weewx. Ad esempio, potresti voler registrare la tua stazione , in modo che appaia su una mappa mondiale delle installazioni di Weewx.
  6. • Personalizza l'installazione. Questo è un argomento avanzato, che ti permette di modellare Weewx esattamente a tuo piacimento!

Metodi di installazione

Weewx può essere installato da un pacchetto DEB (Debian) o RPM (Redhat, SUSE), oppure può essere installato utilizzando l'utilità standard di Python setup.py .

L'approccio del pacchetto DEB o RPM è più semplice ed è il metodo consigliato per i principianti. Tuttavia, richiede i privilegi di root e installerà i bit e i pezzi di Weewx nelle posizioni standard del sistema operativo attraverso il file system invece che in una singola directory. L'effetto netto è che i file di configurazione, i modelli e il codice verranno tutti installati in posizioni separate, la maggior parte delle quali richiederà i privilegi di root per essere modificata.

L'installazione tramite setup.py è il metodo consigliato per coloro che intendono scrivere servizi e report personalizzati per Weewx. Metterà tutto in una singola directory, rendendo più semplice la modifica di Weewx. Se l'utente che installa Weewx ha il permesso di scrivere nella directory, i privilegi di root non saranno richiesti per installare, eseguire o modificare Weewx. Tuttavia, potrebbero essere necessari i privilegi di root per comunicare con l'hardware.

 

ESECUZIONE

 

Weewx può essere eseguito direttamente o come demone. Quando provi Weewx per la prima volta, è meglio eseguirlo direttamente perché sarai in grado di vedere l'output del sensore e la diagnostica, così come i messaggi di registro. Una volta che tutto funziona correttamente, eseguilo come demone.

Eseguire direttamente

Per eseguire direttamente Weewx, invoca il programma principale, weewxd :

sudo weewxd

Se il tuo file di configurazione ha un nome diverso da weewx.conf , o se si trova in una posizione non standard, dovrai specificarlo esplicitamente sulla riga di comando. Ad esempio:

sudo weewxd /some/path/to/weewx.conf

Se la tua stazione ha un data logger, il programma inizierà scaricando tutti i dati memorizzati nella tua stazione meteo nel database dell'archivio. Per alcune stazioni, come la Davis Vantage con un paio di migliaia di record, questo potrebbe richiedere un minuto o due.

Weewx inizierà quindi a monitorare i dati del sensore in tempo reale (chiamati anche dati 'LOOP'), stampando una versione breve dei dati ricevuti sullo standard output, circa una volta ogni due secondi per una stazione Vantage, o considerevolmente più a lungo per alcune altre stazioni.

In esecuzione come un demone

Per operazioni non presidiate è meglio che Weewx venga eseguito come demone, avviato automaticamente al riavvio del server.

Se utilizzi un'installazione in pacchetto da una distribuzione DEB o RPM, questa operazione viene eseguita automaticamente. Puoi ignorare questa sezione.

Inizia selezionando lo script di esecuzione appropriato. Possono essere trovati nella fonte o nell'installazione sotto util/init.d/ .

Debian/Ubuntu/Mint: util/init.d/weewx.debian
RedHat/CentOS/Mint: util/init.d/weewx.redhat
SuSE: util/init.d/weewx.suse

Controlla lo script scelto per assicurarti che la variabile WEEWX_ROOT sia stata impostata sulla directory root corretta per la tua installazione di Weewx (dovrebbe essere stata impostata automaticamente sul valore corretto dal processo di installazione, ma vale la pena controllare).

Copialo nella posizione corretta per il tuo sistema:

Debian/Ubuntu/Mint: cp util/init.d/weewx.debian /etc/init.d/weewx
Redhat/CentOS/Fedora: cp util/init.d/weewx.redhat /etc/rc.d/init.d/weewx
SuSE: cp util/init.d/weewx.suse /etc/init.d/weewx

Assicurati che lo script sia eseguibile:

Debian/Ubuntu/Mint: chmod +x /etc/init.d/weewx
Redhat/CentOS/Fedora: chmod +x /etc/init.d/rc.d/weewx
SuSE: chmod +x /etc/init.d/weewx

Creare collegamenti simbolici nelle directory del livello di esecuzione:

Debian/Ubuntu/Mint: update-rc.d weewx defaults 98
Redhat/CentOS/Fedora: chkconfig weewx on
SuSE: /usr/lib/lsb/install_initd /etc/init.d/weewx

Weewx ora si avvierà automaticamente ogni volta che il tuo sistema viene avviato. Puoi anche avviare, arrestare e riavviare manualmente il demone Weewx:

sudo /etc/init.d/weewx start 
sudo /etc/init.d/weewx stop 
sudo /etc/init.d/weewx restart

Per impostazione predefinita, gli script sono progettati per far funzionare Weewx ai livelli di esecuzione 2, 3, 4 e 5. Per inciso, un ottimo strumento per impostare i livelli di esecuzione con i sistemi Debian (Ubuntu, Mint) è sysv-rc- conf . Usa un'interfaccia curses per permetterti di cambiare facilmente a quale livello di esecuzione viene eseguito uno qualsiasi dei tuoi demoni. C'è uno strumento simile su SuSE. Dal menu di avvio eseguire YAST Control Center, quindi cercare Systems Services (Runlevel). Scegli la modalità "Esperto" per vedere i livelli di esecuzione.

 

MONITORAGGIO

 

Weewx registra molti eventi nel registro di sistema. Sui sistemi Debian, questo è /var/log/syslog , su SuSE, /var/log/messages . Il tuo sistema potrebbe utilizzare ancora un altro posto. Durante la risoluzione dei problemi del sistema, assicurati di controllarlo!

Per osservare il registro mentre viene generato, utilizzare il comando tail con l' opzione -f :

tail -f /var/log/syslog

Imposta l'opzione di debug in weewx.conf per generare molti più controlli e produrre più informazioni. Questo può essere utile per la diagnosi dei problemi e il debug.

debug = 1
 

INTEGRAZIONE CON UN SERVER WEB

 

Se il server si trova sullo stesso computer

I report generati da Weewx possono essere serviti da un web server in esecuzione sulla stessa macchina di Weewx. Vedere l'articolo wiki Configurare un server Web (Apache, NGINX o lighttpd) per informazioni su come eseguire questa operazione.

Se il server si trova su un computer diverso

Usa FTP o RSYNC per trasferire i file generati da Weewx sul tuo server remoto. In Weewx, FTP e RSYNC sono implementati come report . Sono configurati nella sezione [StdReport] del file di configurazione di Weewx.

Ad esempio, la seguente configurazione utilizzerà RSYNC per copiare i file html e immagini dal report standard in una cartella /var/www/html/weewx sul server wx.example.com :

[StdReport]
    [[RSYNC]]
        skin = Rsync
        server = wx.example.com
        path = /var/www/html/weewx
        user = wxuser

La seguente configurazione utilizzerà FTP per copiare i file html e di immagine:

[StdReport]
    [[FTP]]
        skin = Ftp
        server = wx.example.com
        path = /weewx
        user = wxuser
        password = wxpass

È possibile rsync o FTP più di una directory sul server remoto. Ad esempio, supponi di avere una webcam domestica che inserisce le sue immagini in /home/webcam/www . Vuoi inviare tramite FTP non solo i file generati da Weewx, ma anche queste immagini della webcam, a un server remoto. Le immagini della webcam dovrebbero andare in una sottodirectory webcam della directory weewx . La soluzione è includere più di una sezione FTP in [StdReport] :

[StdReport] 

    # Posizione dei report generati, relativa a WEEWX_ROOT 
    HTML_ROOT = public_html 

    ... 

    # Come prima: 
    [[FTP]] 
        skin = Ftp 
        server = wx.example.com 
        path = /weewx 
        user = wxuser 
        password = wxpass 

    # Aggiungi un secondo FTP. Puoi chiamarlo qualsiasi cosa. 
    [[webcam_FTP]] 
        skin = Ftp 
        # Override HTML_ROOT: 
        HTML_ROOT=/home/webcam/www 
        server = wx.example.com 
        path = /weewx/webcam 
        user = wxuser 
        password = wxpass
        

Vedere la documentazione per le sezioni [[FTP]] e [[RSYNC]] del file di configurazione weewx.conf per dettagli e opzioni.

 

FARE IL BACKUP

 

Per eseguire il backup di un'installazione di Weewx, dovrai fare una copia di:

  • • Informazioni sulla configurazione;
  • • Skin e modelli;
  • • Qualsiasi codice personalizzato o estensioni che hai installato;
  • • Il database di Weewx.

Non è necessario eseguire il backup delle immagini generate, dei file HTML o dei rapporti NOAA poiché Weewx li ricreerà facilmente.

Seguono istruzioni individuali.

Configurazione

Salva il file weewx.conf .

setup.py: /home/weewx/weewx.conf
DEB/RPM: /etc/weewx/weewx.conf

Skin e modelli

Salva il contenuto della directory delle skin se hai modificato la skin predefinita o se hai aggiunto nuove skin o file modello.

setup.py: /home/weewx/skin
DEB/RPM: /etc/weewx/skins

Codice personalizzato o estensioni

Salva il contenuto della directory utente se hai modificato lo schema del database o hai aggiunto estensioni. Se le estensioni salvano i dati in un database, è necessario eseguire il backup anche di tali database.

setup.py: /home/weewx/bin/utente
DEB/RPM: /usr/Shared/weewx/utente

Database

Infine, dovrai eseguire il backup del database.

Per una configurazione SQLite, crea una copia del file weewx.sdb .

setup.py: /home/weewx/archive/weewx.sdb
DEB/RPM: /var/lib/weewx/weewx.sdb

Non eseguire la copia del database SQLite durante una transazione! Pianifica il backup immediatamente dopo la scrittura di un record di archivio, quindi assicurati che il backup venga completato prima che arrivi il successivo record di archivio. In alternativa, arresta Weewx, esegui il backup, quindi riavvia Weewx.

Per una configurazione MySQL, salva un dump del database di archivio.

Ripristino dal backup

Per ripristinare dal backup, esegui una nuova installazione di Weewx, sostituisci i file predefiniti con quelli di un backup, quindi avvia Weewx.

 

CONFIGURAZIONE DI MYSQL/MARIADB

 

Questa sezione si applica solo a coloro che desiderano utilizzare il database MySQL, invece del database SQLite predefinito. Presuppone che tu abbia installato una versione funzionante di MySQL o MariaDB.

  1. Installa le librerie client. Come farlo dipende dal tuo sistema operativo. Utilizzare la tabella seguente come guida.

    Debian / Raspbian / Ubuntu / Mint

    sudo apt install mysql-client 
    sudo apt install python3-mysqldb

    Redhat / Centos / Fedora

    sudo yum install MySQL-python

    SUSE

    sudo zypper install python3-mysqlclient
  2. Cambia la configurazione di Weewx per usare MySQL invece di SQLite. Nel file di configurazione di Weewx, modifica la sezione [[wx_binding]] in modo che punti al database MySQL, archive_mysql , invece del database SQLite archive_sqlite .

    Dopo la modifica, avrà un aspetto simile a questo (modifica evidenziata ):

        [[wx_binding]] 
            # Il database deve corrispondere a una delle sezioni in [Databases] database = archive_mysql 
            # Il nome della tabella all'interno del database 
            table_name = archive 
            # La classe per gestire il database 
            manager = weewx.manager.DaySummaryManager 
            # Lo schema definisce la struttura del contenuto del database 
            schema = schemas.wview_extended.schema
            
  3. Configurare l'host MySQL e le credenziali. Supponendo che tu voglia utilizzare la configurazione predefinita del database, la sezione [[MySQL]] dovrebbe essere simile a questa:

        [[MySQL]]
            driver = weedb.mysql
            host = localhost
            user = weewx
            password = weewx

    Ciò presuppone che l'utente weewx abbia la password weewx . Regolare se necessario.

  4. Configura MySQL per dare le autorizzazioni necessarie per il database weewx a qualunque utente MySQL tu scelga. Di seguito sono riportate le autorizzazioni minime necessarie, assumendo nuovamente l'utente weewx con password weewx . Regolare se necessario:

    mysql> CREATE USER 'weewx'@'localhost' IDENTIFIED BY 'weewx';
    mysql> GRANT select, update, create, delete, insert, alter, drop ON weewx.* TO weewx@localhost;
 

FILE DI CONFIGURAZIONE WEEWX.CONF

 

Il file di configurazione weewx.conf è un grosso file di testo che contiene le informazioni di configurazione sulla tua installazione di Weewx. Questo include cose come:

  • • Il tipo di hardware che hai;
  • • Il nome della tua stazione;
  • • Che tipo di database utilizzare e dove si trova;
  • • Come riconoscere le osservazioni fuori portata, ecc .

La posizione di weewx.conf dipenderà dal metodo di installazione e dal sistema operativo. Ad esempio, se hai utilizzato il metodo setup.py , la posizione nominale è /home/weewx , quindi il tuo file di configurazione sarà /home/weewx/weewx.conf . Per altre configurazioni consultare la tabella di layout dell'applicazione nella sezione 'Metodi di installazione'.

Esiste un altro tipo di file di configurazione, skin.conf , per le opzioni specifiche della presentazione. È descritto nella Guida alla personalizzazione , nella sezione Riferimento: opzioni di report.

Le seguenti sezioni sono la guida definitiva alle numerose opzioni di configurazione disponibili in weewx.conf . Contengono molte più opzioni di quelle che probabilmente ti serviranno! - puoi tranquillamente ignorarne la maggior parte. Quelli veramente importanti, quelli che probabilmente dovrai personalizzare per la tua stazione, sono evidenziati .

I valori predefiniti sono forniti per molte opzioni, il che significa che se non sono affatto elencati nel file di configurazione , Weewx sceglierà valori ragionevoli. Quando la documentazione di seguito fornisce un "valore predefinito", questo è ciò che significa.

Gerarchia delle opzioni

In generale, le opzioni più vicine alla "radice" di weewx.conf sono sovrascritte da opzioni più vicine alle foglie. Ecco un esempio:

log_success = false 
... 
[StdRESTful] 
    log_success = true 
    ... 
    [[Wunderground]] 
        log_success = false # Wunderground non verrà registrato 
        ... 
    [[WOW]] 
        log_success = true # WOW verrà registrato 
        ... 
    [[ CWOP]] 
                                # CWOP verrà registrato (eredita da [StdRESTful]) 
        ...

In questo esempio, al livello superiore, log_success è impostato su false . Pertanto, a meno che non venga impostato diversamente, le operazioni riuscite non verranno registrate. Tuttavia, per le operazioni StdRESTful , è impostato su true , quindi per questi servizi verranno registrate le operazioni riuscite, a meno che non sia impostato diversamente da un singolo servizio. Guardando i singoli servizi, le operazioni di successo per

  • • Wunderground non verrà registrato (impostato in modo esplicito)
  • • WOW verrà registrato (impostato in modo esplicito)
  • • CWOP verrà registrato (eredita da [StdRESTful]

Quanto segue è organizzato nelle diverse sezioni del file di configurazione.

Generale

Le opzioni dichiarate in alto non fanno effettivamente parte di nessuna sezione.

debug

Impostare su 1 per fare in modo che il programma esegua ulteriori controlli di debug, nonché emetta informazioni aggiuntive nel file di registro. Questo è fortemente raccomandato se hai problemi. Altrimenti, impostare su 0. Il valore predefinito è 0 (nessun debug).

WEEWX_ROOT

Imposta sulla directory principale della gerarchia di file Weewx per questa stazione. Normalmente, questo viene impostato automaticamente dal processo di installazione. Necessario. Nessun valore predefinito.

log_success

Se impostato su true , l'impostazione predefinita sarà la registrazione di un'operazione riuscita (ad esempio, il completamento di un rapporto o il caricamento su Weather Underground, ecc .) nel registro di sistema. L'impostazione predefinita è true .

log_failure

Se impostato su true , l'impostazione predefinita sarà la registrazione di un'operazione non riuscita (ad esempio, la mancata generazione di un rapporto o il mancato caricamento su Weather Underground, ecc .) nel registro di sistema. L'impostazione predefinita è true .

socket_timeout

Imposta il tempo di attesa prima di dichiarare un timeout socket. Viene utilizzato quando si utilizza FTP per inviare dati a un server Web o quando si inviano dati a Weather Underground. Venti (20) secondi sono ragionevoli. Il valore predefinito è 20.

gc_interval

Imposta la frequenza con cui la raccolta dei rifiuti deve essere eseguita dal motore di runtime Python. L'impostazione predefinita è ogni 10.800 secondi (3 ore).

loop_on_init

Normalmente, se il driver hardware non si carica, Weewx uscirà. Il presupposto è che ci sia un problema di configurazione e quindi i tentativi sono inutili. Tuttavia, in alcuni casi, i driver potrebbero non caricarsi per motivi intermittenti, ad esempio un errore di rete. In questi casi, può essere utile che Weewx faccia un nuovo tentativo. Impostando questa opzione su 1, Weewx continuerà a riprovare all'infinito.

[Station]

Questa sezione copre le opzioni relative alla configurazione della stazione meteorologica.

location

La posizione della stazione deve essere una stringa UTF-8 che descrive la posizione geografica in cui si trova la tua stazione meteorologica. Necessario. Nessun valore predefinito.

location = "Un piccolo ranch nel Kentucky"

latitude
longitude

La lat/lon dovrebbe essere impostata in gradi decimali, negativi rispettivamente per l'emisfero australe e occidentale. Necessario. Nessun valore predefinito.

latitude = 38,8977 
longitude = -77,0366

altitude

Normalmente l'altitudine della stazione viene scaricata dal tuo hardware, ma non tutte le stazioni lo supportano. Impostare sull'altitudine della stazione e sull'unità utilizzata per l'altitudine. Esempio:

altitude = 700, feet

Un esempio in metri:

altitude = 220, meter

station_type

Impostare sul tipo di hardware in uso.

station_type = Simulator

Qualunque opzione tu scelga, devi avere una sezione corrispondente nel tuo file di configurazione. Ad esempio, se scegli station_type = Simulator , avrai bisogno di una sezione [Simulator] . Mentre puoi farlo a mano, è noioso e soggetto a errori. Il modo migliore per aggiungere la sezione necessaria è usare l'utility wee_config con l' opzione --reconfigure . Se manca la sezione necessaria, questa utility la inserirà automaticamente nel file di configurazione.

Le opzioni valide includono:

OPZIONE DESCRIZIONE
Simulator Un simulatore di stazione meteorologica software. Utile per il test e il debug.
Acurite Stazioni AcuRite 5 in 1 con interfaccia USB
CC3000 Registratore dati RainWise CC3000
FineOffsetUSB Stazioni fine offset 10xx, 20xx e 30xx
TE923 Stazioni Hideki TE923
Ultimeter Stazioni PeetBros Ultimeter
Vantage Stazioni meteorologiche Davis Vantage
WMR100 Stazioni Oregon Scientific serie WMR100
WMR300 Stazioni della serie Oregon Scientific WMR300
WMR9x8 Stazioni Oregon Scientific serie WMR-918/968
WS1 Stazioni WS1 di Argent Data Systems
WS23xx Stazioni La Crosse 23xx
WS28xx Stazioni La Crosse 28xx

station_url

Se hai un sito web, puoi facoltativamente specificare un URL per il suo server HTML. Sarà incluso nel file RSS generato da Weewx e, se scegli di iscriverti al registro delle stazioni, sarà incluso anche nella mappa delle stazioni di Weewx.

Esempio:

station_url = http://www.mywebsite.com

rain_year_start

Normalmente l'inizio dell'anno delle piogge viene scaricato dal tuo hardware, ma non tutte le stazioni lo supportano. Impostare all'inizio dell'anno delle piogge, ad esempio 10, se l'anno delle piogge inizia a ottobre. Il valore predefinito è 1.

rain_year_start = 1

week_start

Inizio della settimana. 0=lunedì, 1= martedì, ... , 6 = domenica. L'impostazione predefinita è 6 (domenica)

week_start = 0

[Simulator]

Questa sezione è per le opzioni relative al simulatore di stazione meteorologica software fornito con Weewx.

loop_interval

Il tempo (in secondi) tra l'emissione di pacchetti di loop. L'impostazione predefinita è 2,5

mode

Uno tra simulator o generator . L'impostazione predefinita è simulator .

simulator Simulatore in tempo reale. Si fermerà tra l'emissione di pacchetti.
generator Emetti pacchetti il più velocemente possibile. Utile per i test.

start

L'ora di inizio locale per il generatore nel formato YYYY-mm-ddTHH:MM . Un esempio potrebbe essere 2012-03-30T18:30 . Questo codificherebbe il 30 marzo 2012, alle 18:30, ora locale. Opzionale. L'impostazione predefinita è l'ora attuale.

[Acurite]

Questa sezione riguarda le opzioni relative alla serie di stazioni meteorologiche AcuRite 5 in 1 con connettori USB.

model

Impostare sul modello stazione. Ad esempio, "AcuRite 01035", "AcuRite 01036" o "02032C"

use_constants

Alcune stazioni (01035, 01036) utilizzano il sensore HP038, che contiene costanti che definiscono come devono essere interpretate la pressione e la temperatura. Altre stazioni (02032, 02064) utilizzano il sensore MS5607, che richiede un calcolo diverso per determinare la pressione e la temperatura dal sensore. Quando use_constants è True , il driver utilizzerà le costanti per determinare quale tipo di sensore è presente nella stazione e regolerà il calcolo di conseguenza. Un valore False fa sì che il driver utilizzi un'approssimazione lineare, indipendentemente dal tipo di sensori. Il valore predefinito è True.

[CC3000]

Questa sezione riguarda le opzioni relative alle stazioni meteorologiche RainWise Mark III e al data logger CC3000.

port

La porta seriale, ad esempio, /dev/ttyS0 . Quando si utilizza un convertitore USB-seriale, la porta sarà simile a /dev/ttyUSB0 . L'impostazione predefinita è /dev/ttyUSB0

debug_serial, debug_openclose, debug_checksum

Il debug_serial , il debug_openclose e il debug_checksum possono essere impostati a uno per produrre informazioni di debug nel log di Weewx. I valori predefiniti per queste opzioni sono zero.

logger_threshold

logger_threshold specifica il numero di record nella memoria della stazione CC3000 al quale la memoria della stazione deve essere cancellata . Se logger_threshold non è specificato o se è specificato zero, la memoria della stazione non verrà mai cancellata. In questo caso, quando la memoria si riempie, i nuovi record dell'archivio non verranno più salvati in memoria. Nota: la memoria del CC3000 conterrà circa 35.000 record. Il valore predefinito è 0 (ovvero, non cancellare mai la memoria).

max_tries

L' opzione max_tries specifica quante volte Weewx dovrebbe riprovare a comunicare con la stazione CC3000 quando si verifica un errore di comunicazione seriale. Il valore predefinito è 5 volte.

model

L' opzione model specifica il nome dell'hardware segnalato a Weewx. L'impostazione predefinita è CC3000.

polling_interval

Il polling_interval determina la frequenza con cui Weewx interrogherà la stazione per i dati. Il valore predefinito è 2 secondi. Nota: 2 secondi è una buona scelta in quanto questa è la frequenza con cui il CC3000 riceve gli aggiornamenti dalla stazione meteorologica Rainwise Mark III.

sensor_map

Questa opzione definisce la mappatura tra i valori di temperatura nel database e i sensori remoti. Sono supportati due sensori di temperatura aggiuntivi.

Ad esempio, questo assocerebbe extraTemp1 al secondo sensore di temperatura opzionale:

[[sensor_map]] 
    extraTemp1 = TEMP 2

Vedere la Guida hardware per un elenco completo dei nomi dei sensori e dei campi del database predefinito per ciascun sensore.

use_station_time

use_station_time specifica se i pacchetti di loop letti da weewx devono utilizzare l'ora specificata nel pacchetto della stazione CC3000 o l'ora del computer . L'impostazione predefinita è True (vale a dire, per utilizzare l'ora della stazione CC3000.

[FineOffsetUSB]

Questa sezione riguarda le opzioni relative alla serie Fine Offset di stazioni meteorologiche con connettori USB.

Le seguenti impostazioni sono altamente consigliate per le stazioni Fine Offset. È più probabile che l'utilizzo della generazione di record hardware o del polling adattivo causi un errore di comunicazione USB. L'utilizzo della generazione di record hardware causerà ritardi nella generazione dei report.

[FineOffsetUSB] 
    polling_mode = PERIODIC 
    polling_interval = 60 
[StdArchive] 
    record_generation = software

model

Impostare sul modello stazione. Ad esempio, WH1080, WS2080, WH3081, ecc.

polling_mode

Uno tra PERIODIC o ADAPTIVE . In modalità PERIODICA , Weewx interroga la console a intervalli regolari determinati da polling_interval . In modalità ADATTIVA , Weewx tenta di interrogare la console nei momenti in cui non sta leggendo dati dai sensori o scrivendo dati in memoria. Vedere la sezione Modalità polling e intervallo nella Guida hardware per ulteriori dettagli. Il valore predefinito è PERIODIC.

polling_interval

La frequenza, in secondi, alla quale Weewx interrogherà la console per i dati. Il valore predefinito è 60. Questa impostazione si applica solo quando polling_mode è PERIODIC .

data_format

Esistono due classi di hardware, le console 10xx/20xx e le console 30xx. A differenza delle console 10xx/20xx, le console 30xx registrano luminosità e UV, quindi hanno un formato dati diverso. Usa il data_format per indicare quale tipo di hardware hai. I valori possibili sono 1080 (per le console 10xx e 20xx) e 3080 (per le console 30xx). Il valore predefinito è 1080 .

[TE923]

Questa sezione è per le opzioni relative alla serie di stazioni meteorologiche Hideki TE923.

model

Impostare sul modello stazione. Ad esempio, Meade TE923W o TFA Nexus. L'impostazione predefinita è "TE923".

sensor_map

Questa opzione definisce la mappatura tra i valori di temperatura/umidità nel database ei sensori remoti. Sono supportati fino a 5 sensori remoti. Un interruttore su ciascun sensore determina quale dei 5 canali verrà utilizzato dal sensore. Ad esempio, se l'interruttore del sensore è impostato su 3, la temperatura di quel sensore sarà t_3 e l'umidità di quel sensore sarà h_3.

Ad esempio, ciò assocerebbe outTemp e outHumidity al sensore 4:

[[sensor_map]] 
    outTemp = t_4 
    outHumidity = h_4

Vedere la Guida hardware per un elenco completo dei nomi dei sensori e dei campi del database predefinito per ciascun sensore.

[Ultimeter]

Questa sezione è per le opzioni relative alle stazioni meteorologiche PeetBros Ultimeter.

port

La porta seriale, ad esempio, /dev/ttyS0 . Quando si utilizza un convertitore USB-seriale, la porta sarà simile a /dev/ttyUSB0 . L'impostazione predefinita è /dev/ttyUSB0

model

Impostare sul modello stazione. Ad esempio, Ultimeter 2000 o Ultimeter 800. L'impostazione predefinita è "Ultimeter".

[Vantage]

Questa sezione riguarda le opzioni relative alla serie di hardware Davis Vantage ( VantagePro, VantagePro2 o VantageVue ).

type

Impostare su serial , per una connessione seriale o USB al VantagePro (di gran lunga il più comune), o su ethernet per WeatherLinkIP. Nessun valore predefinito.

port

Se si sceglie serial , per type , quindi impostare sul nome della porta seriale utilizzata dalla stazione. Ad esempio, /dev/ttyUSB0 è una posizione comune per le porte USB, /dev/ttyS0 per le porte seriali. Altrimenti, non richiesto. Nessun valore predefinito.

host

Se scegli ethernet , specifica l'indirizzo IP ( ad esempio , 192.168.0.1 ) o il nome host ( ad esempio , console.mydomain.com ) nella console. Altrimenti, non richiesto. Nessun valore predefinito.

baudrate

Impostato sul baudrate della stazione. Il valore predefinito è 19200.

tcp_port

La porta su cui WeatherLinkIP sarà in ascolto. Il valore predefinito è 22222.

tcp_send_delay

Per quanto tempo bloccare dopo aver inviato un pacchetto socket a WeatherLinkIP. L'impostazione predefinita è 0,5 secondi.

loop_request

Il tipo di pacchetto LOOP da utilizzare per i dati LOOP. Le opzioni sono 1 (digita LOOP1 ); 2 (digitare LOOP2 ); o 3 (alterna tra). I pacchetti di tipo LOOP2 hanno il vantaggio di includere pressione relativa, altimetro, indice di calore, THSW e alcuni altri tipi, quindi non devono essere calcolati nel software. D'altra parte, non includono nessuno dei sensori Davis extra, come l'umidità del suolo, la temperatura delle foglie, ecc.

Se decidi di alternare i tipi di pacchetto (opzione 3 ), la console invierà un pacchetto di tipo LOOP1 , seguito da un pacchetto di tipo LOOP2 . Ciò significa che per alcuni tipi, e in base alle opzioni specificate in [StdWXCalculate] , il valore utilizzato da Weewx può alternare valori hardware e software con ogni pacchetto. In questo caso, devi essere sicuro di specificare l'opzione hardware per i tipi pressure , altimeter , dewpoint , windchill e heatindex . In questo modo verranno utilizzati solo i valori hardware.

Non tutte le stazioni supportano i dati LOOP2. È necessaria la versione firmware 1.90 o successiva.

Il valore predefinito è 1 (usa pacchetti di tipo LOOP1).

iss_id

Impostare sul numero ID di Integrated Sensor Suite (ISS). Questo viene utilizzato nella formula per calcolare la qualità di ricezione per le stazioni wireless. Il valore predefinito è 1.

timeout

Quanti secondi aspettare una risposta dalla stazione prima di arrendersi. L'impostazione predefinita è 5 secondi.

wait_before_retry

Quanti secondi aspettare prima di riprovare. A meno che tu non abbia una buona ragione per cambiarlo, questo valore dovrebbe essere lasciato al valore predefinito, poiché è abbastanza lungo perché la stazione offra nuovi dati, ma non così tanto da entrare in un nuovo pacchetto di loop (che arriva ogni 2 secondi ). L'impostazione predefinita è 1,2 secondi.

max_tries

Quante volte riprovare prima di arrendersi. Il valore predefinito è 4.

[WMR100]

Questa sezione riguarda le opzioni relative alla serie di stazioni meteorologiche Oregon Scientific WMR100 con connettori USB.

model

Impostare sul modello stazione. Ad esempio, WMR100 o WMRS200.

sensor_map

Questa opzione definisce la mappatura tra le osservazioni dei sensori remoti ei campi nel database.

Ad esempio, questo assocerebbe extraTemp1 al sensore T/H remoto sul canale 5:

[[sensor_map]] 
    extraTemp1 = temperatura_5

Vedere la Guida hardware per un elenco completo dei nomi dei sensori e dei campi del database predefinito per ciascun sensore.

[WMR300]

Questa sezione riguarda le opzioni relative alla serie di stazioni meteorologiche Oregon Scientific WMR300 con connettori USB.

model

Impostare sul modello stazione. Ad esempio, WMR300 o WMR300A.

sensor_map

Questa opzione definisce la mappatura tra i valori di temperatura/umidità nel database ei sensori remoti. Sono supportati fino a 8 sensori remoti.

Ad esempio, ciò assocerebbe outTemp e outHumidity al sensore 4:

[[sensor_map]] 
    outTemp = temperatura_4 
    outHumidity = umidità_4

Vedere la Guida hardware per un elenco completo dei nomi dei sensori e dei campi del database predefinito per ciascun sensore.

[WMR9x8]

Questa sezione riguarda le opzioni relative alla serie di stazioni meteorologiche Oregon Scientific WMR-918/968 con connettori seriali.

type

Per il momento, è supportato solo il seriale .

port

Oltre all'opzione seriale di cui sopra, è necessario impostare il nome della porta seriale utilizzata dalla stazione. Ad esempio, /dev/ttyUSB0 è una posizione comune per le porte USB, /dev/ttyS0 per le porte seriali. Nessun valore predefinito.

model

Impostare sul modello stazione. Ad esempio, WMR968 o WMR918.

sensor_map

Questa opzione definisce la mappatura tra le osservazioni dei sensori remoti ei campi nel database.

Ad esempio, questo assocerebbe extraTemp1 al sensore T/H remoto sul canale 5:

[[sensor_map]] 
    extraTemp1 = temperatura_5 
    extraHumid1 = umidità_5

Vedere la Guida hardware per un elenco completo dei nomi dei sensori e dei campi del database predefinito per ciascun sensore.

[WS1]

Questa sezione è per le opzioni relative alle stazioni meteorologiche WS1 di Argent Data Systems.

mode

Selezionare se connettersi tramite una linea seriale (opzione serial ) o tramite una connessione IP utilizzando TCP (opzione tcp ) o UDP (opzione udp ). L'impostazione predefinita è seriale .

port

La porta da utilizzare. Per una connessione seriale, questo sarà qualcosa come /dev/ttyUSB0 . Per una connessione TCP o UDP, sarà un indirizzo IP e una porta, ad esempio 192.168.1.12:3000 L'impostazione predefinita è /dev/ttyUSB0 .

polling_interval

Il polling_interval determina la frequenza con cui Weewx interrogherà la stazione per i dati. Il valore predefinito è 1 secondo.

[WS23xx]

Questa sezione riguarda le opzioni relative alla serie di stazioni meteorologiche La Crosse WS-23xx.

port

La porta seriale, ad esempio, /dev/ttyS0 . Quando si utilizza un convertitore USB-seriale, la porta sarà simile a /dev/ttyUSB0 . L'impostazione predefinita è /dev/ttyUSB0

model

Impostare sul modello stazione. Ad esempio, WS-2315, LaCrosse WS2317, ecc. L'impostazione predefinita è "LaCrosse WS23xx".

polling_interval

Il polling_interval determina la frequenza con cui Weewx interrogherà la stazione per i dati. Se non viene specificato alcun polling_interval (impostazione predefinita), Weewx utilizzerà automaticamente un intervallo di polling basato sul tipo di connessione tra la stazione e i sensori (cablata o wireless). Quando è collegata con un cavo, la console aggiorna i dati del sensore ogni 8 secondi. Quando è connessa in modalità wireless, la console si aggiorna da 16 a 128 secondi, a seconda dell'attività del sensore.

[WS28xx]

Questa sezione riguarda le opzioni relative alla serie di stazioni meteorologiche La Crosse WS-28xx.

transceiver_frequency

Frequenza radio da utilizzare tra ricetrasmettitore USB e console. Specificare USA o UE. Gli Stati Uniti utilizzano 915 MHz, l'UE utilizza 868,3 MHz. L'impostazione predefinita è Stati Uniti.

model

Impostare sul modello stazione. Ad esempio, LaCrosse WS2810, TFA Primus, ecc. L'impostazione predefinita è "LaCrosse WS28xx".

[StdRESTful]

Questa sezione serve per configurare i servizi StdRESTful , che caricano su semplici server RESTful come Weather Underground , PWSweather.com o CWOP .

log_success

Se imposti un valore per log_success qui, sovrascriverà il valore impostato al livello superiore e si applicherà solo ai servizi RESTful. Inoltre, log_success può essere impostato per i singoli servizi inserendoli nella sottosezione appropriata ( ad esempio, [[CWOP]] ).

log_failure

Se imposti un valore per log_failure qui, sovrascriverà il valore impostato al livello superiore e si applicherà solo ai servizi RESTful. Inoltre, log_failure può essere impostato per i singoli servizi inserendoli nella sottosezione appropriata ( ad esempio, [[CWOP]] ).

[[StationRegistry]]

Un registro delle stazioni meteorologiche Weewx è mantenuto su weewx.com . Le stazioni vengono visualizzate su una mappa e un elenco su https://weewx.com/stations.html

Come funziona il registro? Le singole stazioni meteorologiche contattano periodicamente il registro. Ogni stazione fornisce un URL univoco per identificarsi, oltre ad altre informazioni come il tipo di stazione e la versione di Weewx. Non vengono inviate informazioni personali, né dati meteorologici.

Per aggiungere la tua stazione a questo elenco, devi fare due cose:

  1. Abilita il registro della stazione impostando l'opzione register_this_station su True in weewx.conf . La tua stazione contatterà il registro una volta alla settimana. Se la tua stazione non contatta il registro per circa un mese, verrà rimossa dall'elenco.
  2. Fornire un valore per l'opzione station_url nella sezione [Station] . Questo valore deve essere univoco, quindi sceglilo attentamente.
[StdRestful] 
    [[StationRegistry]] 
        register_this_station = True

register_this_station

Impostalo su True per registrare la stazione meteorologica.

description

Una descrizione della stazione. Se non viene specificata alcuna descrizione, verrà utilizzata la posizione della sezione [Stazione] .

station_url

L'URL della stazione meteorologica. Se non viene specificato alcun URL, verrà utilizzato lo station_url della sezione [Station] .

log_success

Se si imposta un valore qui, verrà applicato solo al registro della stazione.

log_failure

Se si imposta un valore qui, verrà applicato solo al registro della stazione.

[[AWEKAS]]

Weewx può inviare i tuoi dati attuali al sistema Automatisches Wetterkarten (AWEKAS). Se desideri farlo, imposta l'opzione enable su true , quindi imposta le opzioni nome utente e password in modo appropriato. Quando hai finito, sembrerà qualcosa di simile

[StdRestful] 
    [[AWEKAS]] 
        enable = true 
        username = joeuser 
        password = XXX

enable

Imposta su true per abilitare la pubblicazione in AWEKAS. Opzionale. L'impostazione predefinita è false .

username

Imposta sul tuo nome utente AWEKAS ( es , joeuser ). Necessario.

password

Imposta la tua password AWEKAS. Necessario.

language

Imposta la tua lingua preferita. L'impostazione predefinita è en .

log_success

Se imposti un valore qui, si applicherà solo alla registrazione per AWEKAS.

log_failure

Se imposti un valore qui, si applicherà solo alla registrazione per AWEKAS.

retry_login

Quanto tempo attendere in secondi prima di ritentare un accesso errato. Se impostato su zero, non verrà tentato alcun nuovo tentativo. L'impostazione predefinita è 3600 secondi (un'ora).

post_interval

L'intervallo in secondi tra i post. L'impostazione di questo valore su zero causerà l'invio di tutti i record di archivio. Opzionale. Il valore predefinito è zero.

[[CWOP]]

Weewx può inviare i tuoi dati attuali al Citizen Weather Observer Program . Se desideri farlo, imposta l'opzione enable su true , quindi imposta l'opzione stazione sul tuo codice stazione CWOP. Se la tua stazione è una stazione APRS per radioamatori, dovrai impostare anche il passcode . Quando hai finito, sembrerà qualcosa di simile

[StdRestful] 
    [[CWOP]] 
        enable = true 
        station = CW1234 
        passcode = XXX # Sostituisci con il tuo passcode (solo stazioni APRS) 
        post_interval = 600

enable

Impostare su true per abilitare la pubblicazione nel CWOP. Opzionale. L'impostazione predefinita è false .

station

Imposta il tuo ID stazione CWOP ( es , CW1234 ) o nominativo radio amatoriale (APRS). Necessario.

passcode

Viene utilizzato solo per le stazioni APRS (radio amatoriali). Impostare sul passcode fornito dagli operatori CWOP. Richiesto per le stazioni APRS, ignorato per gli altri.

post_interval

L'intervallo in secondi tra i post. Poiché CWOP è molto utilizzato, gli operatori scoraggiano i post molto frequenti. Ogni 5 minuti (300 secondi) va bene, ma preferiscono ogni 10 minuti (600 s) o anche di più. L'impostazione di questo valore su zero causerà l'invio di tutti i record di archivio. Opzionale. L'impostazione predefinita è 600 secondi.

stale

Quanto tempo può avere un record prima che non venga utilizzato per un recupero. CWOP non utilizza il timestamp su un record pubblicato. Invece, usano l'ora dell'orologio da parete in cui è arrivata. Ciò significa che se la tua stazione non è in onda per un lungo periodo di tempo, quando Weewx tenta di recuperare, i vecchi dati potrebbero essere interpretati come le condizioni attuali. Opzionale. L'impostazione predefinita è 600 secondi.

server_list

Un elenco delimitato da virgole dei server che devono essere provati per il caricamento dei dati. Opzionale. L'impostazione predefinita è: cwop.aprs.net:14580, cwop.aprs.net:23

log_success

Se imposti un valore qui, verrà applicato solo alla registrazione per CWOP.

log_failure

Se imposti un valore qui, verrà applicato solo alla registrazione per CWOP.

[[PWSweather]]

Weewx può inviare i tuoi dati attuali al servizio PWSweather.com . Se desideri farlo, imposta l'opzione enable su true , quindi imposta opportunamente le opzioni station e password . Quando hai finito, sembrerà qualcosa di simile

[StdRestful] 
    [[PWSweather]] 
        enable = true 
        station = BOISE 
        password = XXX

enable

Imposta su true per abilitare la pubblicazione su PWSweather. Opzionale. L'impostazione predefinita è false .

station

Impostare sull'ID della stazione meteorologica PWS ( ad es . BOISE ). Necessario.

password

Imposta sulla tua password PWSweather. Necessario.

log_success

Se imposti un valore qui, si applicherà solo alla registrazione per PWSweather.

log_failure

Se imposti un valore qui, si applicherà solo alla registrazione per PWSweather.

retry_login

Quanto tempo attendere in secondi prima di ritentare un accesso errato. L'impostazione predefinita è 3600 secondi (un'ora).

post_interval

L'intervallo in secondi tra i post. L'impostazione di questo valore su zero causerà l'invio di tutti i record di archivio. Opzionale. Il valore predefinito è zero.

[[WOW]]

Weewx può inviare i tuoi dati attuali al servizio WOW (British Weather Observations Website) . Se desideri farlo, imposta l'opzione enable su true , quindi imposta opportunamente options station e password . Leggi Importazione dei dati meteorologici in WOW su come trovare il nome utente del tuo sito e su come impostare la password per il tuo sito. Quando hai finito, sembrerà qualcosa di simile

[StdRestful]
    [[WOW]]
        enable = true
        station = 12345678
        password = XXX

enable

Imposta su true per abilitare la pubblicazione su WOW. Opzionale. L'impostazione predefinita è false .

station

Impostare l'ID stazione WOW ( ad es . 12345678 per i siti precedenti a giugno 1996 o 6a571450-df53-e611-9401-0003ff5987fd per quelli successivi). Necessario.

password

Imposta sulla tua chiave di autenticazione WOW. Necessario. Questa non è la stessa della tua password utente WOW. È un PIN numerico di 6 cifre, univoco per la tua stazione.

log_success

Se imposti un valore qui, si applicherà solo alla registrazione per WOW.

log_failure

Se imposti un valore qui, si applicherà solo alla registrazione per WOW.

retry_login

Quanto tempo attendere in secondi prima di ritentare un accesso errato. L'impostazione predefinita è 3600 secondi (un'ora).

post_interval

L'intervallo in secondi tra i post. L'impostazione di questo valore su zero causerà l'invio di tutti i record di archivio. Opzionale. Il valore predefinito è zero.

[[Wunderground]]

Weewx può inviare i tuoi dati attuali a Weather Underground . Se desideri farlo, imposta l'opzione enable su true , quindi imposta opportunamente le opzioni station e password . Quando hai finito, sembrerà qualcosa di simile

[StdRestful] 
    [[Wunderground]] 
        enable = true 
        station = KCASANFRA11 
        password = XXX 
        rapidfire = False 
        api_key = 04255779e9aa45b6e4579938630e67b

enable

Imposta su true per abilitare la pubblicazione su Weather Underground. Opzionale. L'impostazione predefinita è false .

station

Impostare sull'ID della stazione Weather Underground ( ad es . KCASANFRA11 ). Necessario.

password

Imposta sulla tua password Weather Underground. Necessario.

api_key

Imposta sulla tua chiave API Weather Underground . Questo è necessario solo se prevedi di utilizzare l'utility wunderfixer .

rapidfire

Imposta su True per fare in modo che Weewx pubblichi utilizzando il protocollo "Rapidfire" di Weather Underground . Questo invierà un post al sito WU con ogni pacchetto LOOP, che può essere ogni 2,5 secondi nel caso degli strumenti Vantage. Non tutti gli strumenti lo supportano. Opzionale. L'impostazione predefinita è False .

rtfreq

Quando è impostato rapidfire , viene inviato il parametro rtfreq , che dovrebbe corrispondere alla "frequenza degli aggiornamenti in secondi". Opzionale. L'impostazione predefinita è 2,5

archive_post

Questa opzione dice a Weewx di postare su ogni record di archivio, che è la normale modalità "PWS" per Weather Underground. Poiché preferiscono che tu usi il loro protocollo "Rapidfire" o la loro modalità PWS, ma non entrambi, l'impostazione predefinita per questa opzione è l'opposto per qualunque cosa tu scelga sopra per option rapidfire . Tuttavia, se per qualche motivo vuoi fare entrambe le cose, puoi impostare entrambe le opzioni su True .

post_indoor_observations

Nell'interesse del rispetto della tua privacy, Weewx non pubblica la temperatura o l'umidità interna su Weather Underground a meno che tu non imposti questa opzione su True . L'impostazione predefinita è False .

log_success

Se imposti un valore qui, si applicherà solo alla registrazione per Weather Underground.

log_failure

Se imposti un valore qui, si applicherà solo alla registrazione per Weather Underground.

retry_login

Quanto tempo attendere in secondi prima di ritentare un accesso errato. L'impostazione predefinita è 3600 secondi (un'ora).

post_interval

L'intervallo in secondi tra i post. L'impostazione di questo valore su zero causerà l'invio di tutti i record di archivio. Opzionale. Il valore predefinito è zero.

force_direction

The Weather Underground ha un bug in cui affermano che una stazione è "non disponibile" se invia una direzione del vento nulla, anche quando la velocità del vento è zero. Questa opzione fa sì che il software memorizzi nella cache l'ultima direzione del vento non nulla e la utilizzi invece. L'impostazione predefinita è False .

[[[Essentials]]]

Occasionalmente (ma non sempre!) quando Weather Underground manca di un punto dati, sostituirà il valore zero ( 0.0 ), rovinando statistiche e grafici. Per tutti i tipi di osservazione elencati in questa sezione, il post verrà saltato se manca quel tipo. Per esempio,

[[[Essentials]]] 
    outTemp = True

farebbe saltare il post se non c'è temperatura esterna (tipo di osservazione outTemp).

[StdReport]

Questa sezione serve per configurare il servizio StdReport , che controlla quali report devono essere generati. Sebbene possa essere altamente personalizzato per la tua situazione individuale, questa documentazione descrive la sezione come fornita nella distribuzione standard.

Ciascun report è rappresentato da una sottosezione, contrassegnata da doppie parentesi ( es , [[MyReport]] ). Eventuali opzioni per il rapporto devono essere posizionate sotto di esso. Il servizio di report standard passerà attraverso le sottosezioni, eseguendo ogni report in ordine.

Weewx viene fornito con le seguenti sottosezioni:

SOTTOSEZIONE DESCRIZIONE
[[SeasonsReport]] Una skin a pagina singola con funzionalità complete. Statistiche e grafici vengono rivelati toccando o premendo un pulsante.
[[SmartphoneReport]] Una skin formattata per schermi più piccoli, con un aspetto che ricorda l'Apple iPhone di prima generazione.
[[MobileReport]] Una skin statica formattata per schermi molto piccoli, con un aspetto che ricorda WindowsCE o PalmOS.
[[StandardReport]] La skin originale fornita per molti anni come rapporto predefinito. Utilizza HTML statico e immagini e richiede poche risorse per essere generato e visualizzato.
[[FTP]] Nessun elemento di presentazione. Utilizza il meccanismo di reporting per trasferire file a un server remoto tramite FTP.
[[RSYNC]] Nessun elemento di presentazione. Utilizza il meccanismo di reporting per trasferire i file a un server remoto utilizzando rsync.

L'ordine conta. I report che generano HTML e immagini, ovvero SeasonsReport, SmartphoneReport, MobileReport e StandardReport, vengono eseguiti per primi , quindi vengono eseguiti i report che li spostano su un server Web, FTP e RSYNC. Ciò assicura che la generazione del rapporto venga eseguita prima che i risultati vengano inviati.

I dettagli su come personalizzare i rapporti si trovano nella sezione Personalizzazione dei rapporti , nella Guida alla personalizzazione .

SKIN_ROOT

La directory in cui vivono le skin. Un percorso relativo è relativo a WEEWX_ROOT .

HTML_ROOT

La directory di destinazione per i file generati. Un percorso relativo è relativo a WEEWX_ROOT . I file e le immagini generati verranno inseriti qui.

log_success

Se imposti un valore per log_success qui, sovrascriverà il valore impostato al livello superiore e si applicherà solo ai rapporti. Inoltre, log_success può essere impostato per i singoli report inserendoli nella sottosezione appropriata ( ad esempio, [[Seasons]] ).

log_failure

Se imposti un valore per log_failure qui, sovrascriverà il valore impostato al livello superiore e si applicherà solo ai rapporti. Inoltre, log_failure può essere impostato per i singoli report inserendoli nella sottosezione appropriata ( ad esempio, [[Seasons]] ).

data_binding

L'origine dati da utilizzare per i rapporti. Dovrebbe corrispondere a un'associazione fornita nella sezione [DataBindings] di seguito. L'associazione può essere ignorata nei singoli report. Opzionale. L'impostazione predefinita è wx_binding .

report_timing

Questo parametro utilizza una sintassi simile a cron che determina quando verrà eseguito un report. L'impostazione può essere ignorata nei singoli rapporti, quindi è possibile eseguire ogni rapporto con una pianificazione diversa. Fare riferimento alla sezione Personalizzazione dell'ora di generazione del rapporto nella Guida alla personalizzazione per i dettagli. Opzionale. Il valore predefinito comporta l'esecuzione di ogni rapporto in ogni intervallo di archiviazione.

[[SeasonsReport]]
[[SmartphoneReport]]
[[MobileReport]]
[[StandardReport]]

Questi sono i quattro report che sono inclusi nella distribuzione standard di Weewx, e che di fatto generano file HTML e grafici. Usano tutti le unità consuetudinarie statunitensi per impostazione predefinita (ma questo può essere modificato impostando l'opzione unit_system ).

Tutti hanno in comune le seguenti opzioni.

lang

In quale lingua deve essere localizzata la skin. Il valore è un codice lingua a due caratteri come definito in ISO 639-1 . Questa opzione funziona solo con skin che sono state internazionalizzate. Tutte le skin fornite con Weewx sono state internazionalizzate, ma sono incluse solo una manciata di lingue. Per vedere quale lingua supporta una skin, guarda nella sottodirectory lang nella directory della skin. Ad esempio, se vedi un file fr.conf , la skin può essere localizzata in francese.

unit_system

Quale sistema di unità usare con la skin. Le scelte sono US , METRIC o METRICWX . Vedere l' Appendice Unità nella Guida al customizing per le definizioni di questi sistemi di unità. Le singole unità possono essere ignorate. Vedere " Come modificare le unità " nella " Guida alla personalizzazione " per ulteriori dettagli.

enable

Imposta su true per abilitare l'elaborazione di questa skin. Imposta su false per disabilitare. Se questa opzione non è presente, si assume True .

skin

Dove trovare la skin. Questa dovrebbe essere una sottodirectory in SKIN_ROOT . All'interno della directory dovrebbero esserci tutti i modelli usati dalla skin e un file di configurazione della skin, skin.conf .

HTML_ROOT

Dove mettere i risultati. Se non specificato, verrà utilizzato il valore per HTML_ROOT sopra.

[[FTP]]

Sebbene questo "report" in realtà non generi nulla, utilizza il meccanismo dei report per caricare i file dalla directory HTML_ROOT a un server web remoto. Esegue un aggiornamento incrementale, ovvero invia tramite FTP solo i file che sono stati modificati, risparmiando la larghezza di banda in uscita della connessione Internet.

enable

Impostare su true (impostazione predefinita) per abilitare FTP. Imposta su false per disabilitare.

user

Impostare sul nome utente utilizzato per la connessione FTP al server web. Necessario. Nessun valore predefinito.

password

Imposta la password che usi per la tua connessione FTP al tuo server web. Necessario. Nessun valore predefinito.

server

Imposta sul nome del tuo server web ( es , www.threefools.org , nel mio caso). Necessario. Nessun valore predefinito

path

Imposta il percorso in cui i dati meteorologici verranno archiviati sul tuo server web ( ad es . /weather ). NB: alcuni server FTP richiedono una barra iniziale (' / '), altri no. Necessario. Nessun valore predefinito.

secure_ftp

Impostare su True per utilizzare FTP (FTPS) su TLS. Si tratta di un'estensione del protocollo FTP che utilizza un protocollo SSL (Secure Socket Layer), da non confondere con SFTP, che utilizza un protocollo Secure Socket Shell. Non tutti i server FTP lo supportano. In particolare, il server FTP di Microsoft sembra fare un pessimo lavoro. Opzionale. L'impostazione predefinita è Falso

secure_data

Se viene richiesta una sessione sicura (opzione secure_ftp=True ), dovremmo tentare anche una connessione dati sicura? Questa opzione è utile a causa di un bug nella libreria del client FTP Python. Vedi il numero 284 . Opzionale. L'impostazione predefinita è True .

reuse_ssl

Alcuni server FTP (in particolare PureFTP) riutilizzano le connessioni SSL con FTPS. Sfortunatamente, la libreria Python ha un bug che chiude prematuramente tali connessioni. Vedi https://bit.ly/2Lrywla . Il sintomo è un'eccezione OSError: [Errno 0] Error . Questa opzione attiva una soluzione alternativa per le versioni di Python successive alla 3.6. Non funzionerà per le versioni precedenti. Opzionale. L'impostazione predefinita è False .

port

Impostare sull'ID porta del server FTP. Il valore predefinito è 21 .

passive

Impostare a 1 se si desidera utilizzare la più moderna modalità FTP passiva, a 0 se si desidera utilizzare la modalità attiva. La modalità passiva generalmente funziona meglio attraverso i firewall, ma non tutti i server FTP fanno un buon lavoro nel supportarla. Vedere FTP attivo vs. FTP passivo, una spiegazione definitiva per una buona spiegazione della differenza. L'impostazione predefinita è 1 (modalità passiva).

max_tries

Weewx tenterà fino a questo numero di volte di inviare via FTP un file al tuo server prima di arrendersi. Il valore predefinito è 3.

ftp_encoding

La stragrande maggioranza dei server FTP restituisce le proprie risposte utilizzando la codifica UTF-8. Tuttavia, ci sono alcune stranezze che rispondono usando Latin-1. Questa opzione consente di specificare una codifica alternativa.

ciphers

Alcuni client richiedono un livello di cifratura superiore a quello che il server FTP è in grado di fornire. Il sintomo è un errore simile a ssl.SSLError: [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:997) . Questa opzione consente di specificare un livello personalizzato. Ad esempio, in questo caso, potresti voler specificare:

ciphers='DEFAULT@SECLEVEL=1'

Tuttavia, se possibile, è sempre meglio aggiornare il server FTP.

[[RSYNC]]

Sebbene questo "report" in realtà non generi nulla, utilizza il meccanismo dei report per caricare i file dalla directory HTML_ROOT a un server Web remoto utilizzando rsync . Veloce, efficiente e sicuro, esegue un aggiornamento incrementale, ovvero sincronizza solo le parti di un file che sono state modificate, risparmiando la larghezza di banda in uscita della tua connessione Internet.

Se si desidera utilizzare rsync, è necessario configurare ssh senza password utilizzando l'autenticazione con chiave pubblica/privata dall'account utente eseguito da Weewx all'account utente sulla macchina remota in cui verranno copiati i file.

enable

Imposta su true (impostazione predefinita) per abilitare rsync. Imposta su false per disabilitare.

server

Imposta sul nome del tuo server. Questo nome dovrebbe apparire nel tuo file .ssh/config . Necessario. Nessun valore predefinito

user

Imposta sul nome utente ssh che usi per la tua connessione rsync al tuo server web. L'utente locale con cui viene eseguito Weewx deve avere ssh senza password configurato per user@server . Necessario. Nessun valore predefinito.

path

Imposta il percorso in cui i dati meteorologici verranno archiviati sul tuo server web ( ad esempio , /var/www/html/weather ). Assicurati che l'utente disponga dei privilegi di scrittura in questa directory. Necessario. Nessun valore predefinito.

port

La porta da utilizzare per la connessione ssh. L'impostazione predefinita è utilizzare la porta predefinita per il comando ssh (generalmente 22).

delete

I file che non esistono nel report locale vengono rimossi dalla posizione remota. UTILIZZARE CON ATTENZIONE: se si commette un errore nell'impostazione del percorso , ciò può causare l'eliminazione imprevista di file sul server remoto. I valori validi sono 1 per abilitare e 0 per disabilitare. Necessario. Il valore predefinito è 0.

[[Defaults]]

Questa sezione definisce i valori predefiniti per tutti i report. Puoi impostare:

  • • Il sistema di unità da utilizzare;
  • • Override per singole unità;
  • • Quale lingua utilizzare;
  • • Formati numerici e temporali;
  • • Etichette da utilizzare;
  • • Opzioni di calcolo per alcuni valori derivati.

Consulta la Guida alla personalizzazione per maggiori dettagli.

[StdConvert]

Questa sezione riguarda la configurazione del servizio StdConvert . Questo servizio funge da filtro, convertendo il sistema di unità proveniente dall'hardware in un sistema di unità di output di destinazione. Tutti i servizi a valle, incluso il servizio di archiviazione, vedranno quindi questo sistema di unità. Pertanto, i tuoi dati verranno archiviati nel database utilizzando qualsiasi sistema di unità specificato qui.

Una volta scelto, non può essere modificato! Weewx non ti permette di mischiare sistemi di unità all'interno dei database. Devi scegliere un sistema di unità e poi seguirlo. Ciò significa che gli utenti provenienti da wview (che utilizza la consuetudine statunitense) non devono modificare l'impostazione predefinita. Detto questo, c'è un modo per riconfigurare il database per utilizzare un altro sistema di unità. Vedere la sezione Modifica del sistema dell'unità nella Guida alla personalizzazione .

Questo servizio riguarda solo le unità utilizzate nei database . In particolare, non ha nulla a che fare con le unità visualizzate nei grafici o nei file. Tali unità sono specificate nel file di configurazione della skin, skin.conf , come descritto nella Guida alla personalizzazione , nella sezione Come modificare le unità . Per questo motivo, a meno che tu non abbia un'applicazione per scopi speciali, non c'è davvero alcun buon motivo per cambiare dall'impostazione predefinita, che è US .

Se, nonostante queste precauzioni, decidi di cambiare le unità di dati memorizzate nel database, assicurati di leggere le sezioni [StdCalibrate] e [StdQC] , e cambia anche lì le unità!

target_unit

Impostare su US , METRICWX o METRIC . La differenza tra METRICWX e METRIC è che il primo utilizza mm invece di cm per la pioggia e m/s invece di km/h per la velocità del vento. Consulta l'Appendice Unità nella Guida alla personalizzazione per le esatte differenze tra queste tre scelte. L'impostazione predefinita è US.

[StdCalibrate]

Questa sezione riguarda la configurazione del servizio StdCalibrate . Questo servizio offre l'opportunità di correggere eventuali errori di calibrazione nei vostri strumenti. È molto generale e flessibile.

Poiché questo servizio viene normalmente eseguito dopo StdConvert , le unità da utilizzare devono essere le stesse del sistema di unità di destinazione scelto in StdConvert sopra. È inoltre importante che questo servizio venga eseguito prima del servizio di archiviazione StdArchive , in modo che siano i dati corretti ad essere archiviati.

In una configurazione predefinita, le calibrazioni vengono applicate alle osservazioni dall'hardware. Non vengono applicati ai calcoli derivati, poiché il servizio StdWXCalculate viene eseguito dopo StdCalibrate .

[[Corrections]]

In questa sezione vengono elencate tutte le espressioni di correzione . Ad esempio, supponi di sapere che il tuo termometro esterno legge sovrastimato di 0,2 ° F. Potresti aggiungere l'espressione:

outTemp = outTemp - 0.2

Forse hai bisogno di una correzione lineare attorno a una temperatura di riferimento di 68°F:

outTemp = outTemp + (outTemp-68) * 0,02

È anche possibile effettuare correzioni che coinvolgano più di una variabile. Supponiamo di avere un barometro sensibile alla temperatura:

barometro = barometro + (outTemp-32) * 0,0091

Tutte le espressioni di correzione vengono eseguite nell'ordine indicato.

Verranno corretti sia i dati LOOP che i dati di archivio.

Se stai usando uno strumento Davis Vantage e tutto ciò di cui hai bisogno è una semplice correzione dell'offset, questa operazione può essere eseguita anche nell'hardware. Vedere il manuale per le istruzioni.

[StdQC]

Questa sezione riguarda la configurazione del servizio StdQC . Questo servizio offre un controllo di qualità molto semplice che controlla solo che i valori siano all'interno di un range minimo e massimo.

Poiché questo servizio viene normalmente eseguito dopo StdConvert , le unità da utilizzare devono essere le stesse del sistema di unità di destinazione scelto in StdConvert . È anche importante che venga eseguito dopo il servizio di calibrazione, StdCalibrate e prima del servizio di archiviazione StdArchive , in modo che siano i dati calibrati e corretti ad essere memorizzati.

In una configurazione predefinita, i controlli di qualità vengono applicati alle osservazioni dall'hardware. Non vengono applicati ai calcoli derivati, poiché il servizio StdWXCalculate viene eseguito dopo il controllo di qualità.

[[MinMax]]

In questa sezione elenchi i tipi di osservazione che desideri controllare, insieme ai loro valori minimo e massimo. Se non specificato, le unità devono trovarsi nello stesso sistema di unità specificato nella sezione StdConvert .

Per esempio,

[[MinMax]] 
    outTemp = -40, 120 
    barometer = 28, 32.5 
    outHumidity = 0, 100

Con target_unit = US (impostazione predefinita), se una temperatura non rientra nell'intervallo compreso tra -40 °F e 120 °F, verrà impostata sul valore null, None e ignorata. In modo simile, i valori accettabili per la pressione barometrica sarebbero da 28 a 32,5 inHg, per l'umidità da 0 a 100%.

È inoltre possibile specificare le unità.

Per esempio,

[[MinMax]]
    outTemp = -40, 60, degree_C
    barometer = 28, 32.5, inHg

In questo esempio, se una temperatura non rientra nell'intervallo compreso tra -40 °C e 60 °C, verrà impostata sul valore null, None e ignorata. In modo simile, i valori accettabili per la pressione barometrica sarebbero compresi tra 28 e 32,5 inHg. Poiché le unità sono specificate, questi valori si applicano indipendentemente da target_unit .

Verranno controllati sia i dati LOOP che quelli archiviati.

Conoscere i dettagli di come il tuo hardware codifica i dati aiuta a ridurre al minimo il numero di osservazioni che devono essere controllate. Ad esempio, il VP2 dedica solo un byte senza segno alla memorizzazione della velocità del vento, e anche in questo caso 0xff è dedicato a un valore errato, quindi gli unici valori possibili che potrebbero apparire sono da 0 a 126 mph, un intervallo ragionevole. Quindi, per il VP2, non ha senso controllare la velocità del vento.

[StdWXCalculate]

Alcuni hardware forniscono quantità derivate, come dewpoint , windchill e heatindex , mentre altri hardware no. Questo servizio può essere utilizzato per riempire eventuali quantità mancanti o per sostituire un valore calcolato dal software per l'hardware con calcoli inaffidabili o obsoleti.

Per impostazione predefinita, il servizio può calcolare i seguenti valori, anche se l'elenco può essere esteso:

  • • pressure
  • • barometer
  • • altimeter
  • • windchill
  • • heatindex
  • • dewpoint
  • • inDewpoint
  • • rainRate
  • • maxSolarRad
  • • cloudbase
  • • humidex
  • • appTemp
  • • ET
  • • windrun

La sezione di configurazione [StdWXCalculate] è composta da due parti differenti:

  1. La sottosezione [[Calculations]] , che specifica quali tipi derivati devono essere calcolati e in quali circostanze;
  2. Zero o più sottosezioni, che specificano quali parametri devono essere utilizzati per il calcolo. Questi sono descritti di seguito.

Il servizio StdWXCalculate può essere esteso dall'utente per aggiungere nuovi tipi derivati utilizzando il sistema XTypes. Vedere l'articolo wiki Tipi estensibili (XTypes) per informazioni su come eseguire questa operazione.

data_binding

L'origine dati da utilizzare per i dati cronologici durante il calcolo delle quantità derivate. Dovrebbe corrispondere a un'associazione fornita nella sezione [DataBindings] di seguito. Opzionale. L'impostazione predefinita è wx_binding .

L'associazione dati utilizzata dal servizio StdWXCalculate dovrebbe normalmente corrispondere all'associazione dati utilizzata dal servizio StdArchive . Gli utenti che utilizzano data binding personalizzati o aggiuntivi devono assicurarsi che vengano utilizzati i data binding corretti da entrambi i servizi.

[[Calculations]]

Questa sottosezione specifica quale strategia deve essere utilizzata per fornire i valori per le variabili derivate. Consiste di zero o più opzioni con la sintassi:

obs_type = directive[, optional_bindings]...

Dove

  • la directive è prefer_hardware , hardware o software :

    prefer_hardware Calcolare il valore nel software solo se non è fornito dall'hardware.
    hardware Sono accettati solo valori hardware: non calcolare mai il valore nel software.
    Software Calcolare sempre il valore nel software.
  • optional_binding è facoltativo e consiste in loop o archive . Se loop , il calcolo verrà eseguito solo per i pacchetti LOOP. Se archivio , il calcolo verrà eseguito solo per i record di archivio. Se non viene specificato alcun binding, verrà eseguito sia per i pacchetti LOOP che per i record di archivio.

Esempio 1: se la tua stazione meteorologica calcola il windchill utilizzando l'algoritmo precedente al 2001 e preferisci che Weewx lo calcoli utilizzando un algoritmo moderno, specifica quanto segue:

[StdWXCalculate] 
    [[Calculations]] 
      windchill = software

Questo forzerà Weewx a calcolare sempre un valore per windchill , indipendentemente dal fatto che l'hardware ne fornisca uno.

Esempio 2: si supponga di voler calcolare ET, ma solo per i record di archivio. L'opzione sarebbe simile a:

[StdWXCalculate] 
    [[Calculations]] 
      ET = software, archive

In assenza di una sezione [[Calculations]] , non verrà calcolato alcun valore!

Tuttavia, la versione di weewx.conf fornita con la distribuzione di Weewx include una versione di [[Calculations]] simile a questa:

[StdWXCalculate] 
    [[Calculations]] 
        pressure = prefer_hardware 
        altimeter = prefer_hardware 
        appTemp = prefer_hardware 
        barometer = prefer_hardware 
        cloudbase = prefer_hardware 
        dewpoint = prefer_hardware 
        ET = prefer_hardware 
        heatindex = prefer_hardware 
        humidex = prefer_hardware 
        inDewpoint = prefer_hardware 
        maxSolarRad = prefer_hardware 
        rainRate = prefer_hardware 
        windchill = prefer_hardware 
        windrun = prefer_hardware

[[WXXTypes]]

La classe StdWXXTypes è responsabile del calcolo dei seguenti tipi derivati semplici:

  • • appTemp
  • • cloudbase
  • • dewpoint
  • • ET
  • • heatindex
  • • humidex
  • • inDewpoint
  • • maxSolarRad
  • • windchill
  • • windDir
  • • windRun

Alcuni di questi tipi hanno una o due opzioni che possono essere impostate. Questi sono descritti di seguito.

[[[ET]]]

Questa sottosezione contiene diverse opzioni utilizzate per il calcolo dell'ET (evapotraspirazione). Si veda il documento Step by Step Calculation of the Penman-Monteith Evapotransspiration" per le definizioni di cn e cd .

et_period

Questa opzione modifica il periodo durante il quale viene calcolata l'evapotraspirazione. L'impostazione predefinita è 3600 secondi.

wind_height

L'opzione wind_height viene utilizzata per normalizzare dove viene misurata la velocità del vento per il calcolo dell'evapotraspirazione. Dovrebbe essere impostato all'altezza del tuo anemometro in metri. L'impostazione predefinita è 2.0.

albedo

L'albedo da utilizzare nei calcoli. Il valore predefinito è 0,23.

cn

La costante del numeratore per il tipo di coltura di riferimento e la fase temporale. Il valore predefinito è 37.

cd

La costante del denominatore per il tipo di coltura di riferimento e la fase temporale. Il valore predefinito è 0,34.

[[[heatindex]]]


algorithm

Controlla quale algoritmo verrà utilizzato per calcolare l'indice di calore. Le scelte sono nuove (vedi https://www.wpc.ncep.noaa.gov/html/heatindex_equation.shtml ) o vecchie . L'algoritmo più recente darà risultati fino a 40°F, che a volte sono inferiori alla temperatura sensibile. Per questo motivo, alcune persone preferiscono l'algoritmo più vecchio, che si applica solo a temperature superiori a 80°F. L'impostazione predefinita è new .

[[[maxSolarRad]]]

Questa sezione viene utilizzata per specificare le opzioni durante il calcolo di maxSolarRad , la radiazione solare massima teorica.

algorithm

Controlla quale algoritmo verrà utilizzato per calcolare maxSolarRad . Le scelte sono bras (" Bras ") o rs ( Ryan-Stolzenbach ). L'impostazione predefinita è rs .

atc

Il coefficiente atc è il "coefficiente di trasmissione atmosferica" utilizzato dall'algoritmo 'Ryan-Stolzenbach' per il calcolo della massima radiazione solare. Il valore deve essere compreso tra 0,7 e 0,91. L'impostazione predefinita è 0,8.

nfac

Il coefficiente nfac è la "torbidità atmosferica" utilizzata dall'algoritmo 'Bras' per il calcolo della massima radiazione solare. I valori devono essere compresi tra 2 (chiaro) e 5 (smog). Il valore predefinito è 2.

[[[windDir]]]


force_null

Indica se la direzione del vento deve essere indefinita quando la velocità del vento è zero. Il valore predefinito è True : quando la velocità del vento è zero, la direzione del vento sarà impostata su undefined (Python None ).

Per riportare la direzione della banderuola anche quando non c'è velocità del vento, cambia questo in False :

[StdWXCalculate] 
    [[WXXTypes]] 
      [[[windDir]]] 
        force_null = False

[[PressureCooker]]

Questa classe è responsabile del calcolo dei valori relativi alla pressione. Dato il giusto insieme di tipi di input, può calcolare il barometro , la pressione e l'altimetro . Vedere l'articolo Wiki Barometro, pressione e altimetro per le differenze tra questi tre tipi.

max_delta_12h

Alcuni dei calcoli richiedono la temperatura di 12 ore fa (per compensare gli effetti delle maree), il che richiede una ricerca nel database. Potrebbe esserci o meno una temperatura esattamente 12 ore fa. Questa opzione imposta la differenza di orario consentita. Il valore predefinito è 1800 secondi.

[[[altimeter]]]


algorithm

Quale algoritmo utilizzare per calcolare l'altimetro dalla pressione relativa. Le scelte possibili sono ASOS , ASOS2 , MADIS , NOAA , WOB e SMT , l' impostazione predefinita è ASOS .

[[RainRater]]

Questa classe calcola rainRate dagli eventi di pioggia recenti.

rain_period

L'algoritmo calcola una media corrente su un periodo di tempo nel passato. Questa opzione controlla fino a che punto andare indietro nel tempo. L'impostazione predefinita è 1800 secondi.

[StdArchive]

Questa sezione riguarda la configurazione di StdArchive , il servizio che archivia i dati in un database.

archive_interval

Se l'hardware della stazione supporta la registrazione dei dati, l'intervallo di archiviazione verrà scaricato dalla stazione. Altrimenti, devi specificarlo qui in secondi e deve essere divisibile uniformemente per 60. Facoltativo. L'impostazione predefinita è 300 secondi.

archive_delay

Quanto tempo attendere in secondi dopo l'inizio di un intervallo di archiviazione prima di recuperare nuovi dati dalla stazione. Ad esempio, se l'intervallo di archiviazione è di 5 minuti e archive_delay è impostato su 15, i dati verranno recuperati alle 00:00:15, 00:05:15, 00:10:15, ecc. station alcuni secondi per archiviare i dati internamente e nel caso in cui il tuo server abbia altre attività da svolgere all'inizio del minuto. L'impostazione predefinita è 15 secondi.

record_generation

Imposta se i record devono essere scaricati dall'hardware (consigliato) o generati nel software. Se impostato su hardware , allora Weewx tenta di scaricare i record di archivio dalla tua stazione. Tuttavia, non tutti i tipi di stazioni lo supportano, nel qual caso Weewx ricorre alla generazione del software. Un'impostazione dell'hardware funzionerà per la maggior parte degli utenti. Un'eccezione degna di nota sono gli utenti che hanno messo insieme interfacce seriali homebrew per le stazioni Vantage che non includono la memoria per un logger. Questi utenti devono impostare questa opzione su software , forzando la generazione di record software. L'impostazione predefinita è hardware .

record_augmentation

Quando si esegue la generazione di record hardware, questa opzione tenterà di aumentare il record con qualsiasi tipo di osservazione aggiuntivo che può estrarre dai pacchetti LOOP. L'impostazione predefinita è True .

loop_hilo

Impostare su True per avere i dati LOOP e archiviare i dati da utilizzare per le statistiche alta/bassa. Impostare su False per utilizzare solo i dati di archivio. Se il tuo sensore emette molti dati spinosi, l'impostazione su False può essere d'aiuto. L'impostazione predefinita è True .

log_success

Se imposti qui un valore per log_success , questo sovrascriverà il valore impostato al livello superiore e si applicherà solo alle operazioni di archiviazione.

log_failure

Se imposti qui un valore per log_failure , sovrascriverà il valore impostato al livello superiore e si applicherà solo alle operazioni di archiviazione.

data_binding

L'associazione dati da utilizzare per archiviare i dati. Questo dovrebbe corrispondere a uno dei collegamenti nella sezione [DataBindings] , di seguito. Opzionale. L'impostazione predefinita è wx_binding .

[StdTimeSynch]

Questa sezione serve per configurare StdTymeSynch , un servizio in grado di sincronizzare l'orologio di bordo della stazione con il tuo computer. Non tutto l'hardware delle stazioni meteorologiche lo supporta.

clock_check

Quante volte controllare l'orologio sulla stazione meteorologica in secondi. L'impostazione predefinita è 14.400 secondi (ogni 4 ore)

max_drift

La quantità massima di deviazione dell'orologio da tollerare, in secondi, prima di reimpostare l'orologio. Il valore predefinito è 5.

[DataBinding]

Un "data binding" associa le caratteristiche di archiviazione a un database specifico. Ogni binding contiene un database dalla sezione [Databases] oltre a parametri quali schema, nome tabella e meccanismo per l'aggregazione dei dati.

[[wx_binding]]

Questa è l'associazione normalmente utilizzata per i dati meteorologici. Una tipica sezione [[wx_binding]] è simile a questa:

[[wx_binding]]
    database = archive_sqlite
    table_name = archive
    manager = weewx.manager.DaySummaryManager
    schema = schemas.wview_extended.schema

Di seguito sono riportate informazioni più dettagliate su ciascuna delle opzioni di associazione.

database

Il database effettivo da utilizzare: deve corrispondere a una delle sezioni in [Databases] . Se decidi di utilizzare un database MySQL, invece del database SQLite predefinito, questo è il posto giusto per cambiarlo. Vedere la sezione Configurazione di MySQL per i dettagli. Necessario.

table_name

Internamente, i dati di archivio vengono memorizzati in una tabella lunga e piatta. Questo è il nome di quella tabella. Normalmente questo non ha bisogno di essere cambiato. Opzionale. L'impostazione predefinita è archive

manager

Il nome della classe da utilizzare per gestire la tabella. Opzionale. L'impostazione predefinita è la classe weewx.manager.DaySummaryManager . Questa classe memorizza i riepiloghi giornalieri nel database. Normalmente, questo non ha bisogno di essere cambiato.

schema

Una struttura Python che contiene lo schema da utilizzare per inizializzare il database. Dopo l'inizializzazione, non viene utilizzato. Opzionale. L'impostazione predefinita è schemas.wview_extended.schema , che è un superset dello schema utilizzato dal sistema meteorologico wview .

[Databases]

Questa sezione elenca i database effettivi. Il nome di ciascun database è indicato tra doppie parentesi, ad esempio [[archive_sqlite]] . Ogni sezione del database contiene i parametri necessari per creare e gestire il database. Il numero di parametri varia a seconda del tipo di database.

[[archive_sqlite]]

Questa definizione utilizza il motore di database SQLite per archiviare i dati. SQLite è open source, semplice, leggero, altamente portabile ed efficiente in termini di memoria. Per la maggior parte degli scopi serve bene.

database_type

Impostare su SQLite per segnalare che si tratta di un database SQLite.

database_name

Il percorso del file SQLite relativo all'opzione SQLITE_ROOT . L'impostazione predefinita è weewx.sdb .

[[archive_mysql]]

Questa definizione utilizza il motore di database MySQL per archiviare i dati. È gratuito, altamente scalabile, ma più complicato da amministrare.

database_type

Impostare su MySQL per segnalare che si tratta di un database MySQL.

database_name

Il nome del database. L'impostazione predefinita è weewx . Necessario.

[DatabaseTypes]

Questa sezione definisce i valori predefiniti per i vari tipi di database.

[[SQLite]]

Questa sezione definisce i valori predefiniti per i database SQLite. Possono essere sovrascritti da singoli database.

driver

Il nome del driver sqlite. Necessario.

SQLITE_ROOT

La posizione della directory che contiene i database SQLite. Per le installazioni setup.py , l'impostazione predefinita è la directory WEEWX_ROOT /archive . Per le installazioni DEB o RPM, è /var/lib/weewx .

timeout

Quando si accede al database da più thread e uno di questi thread modifica il database, il database SQLite viene bloccato fino al completamento della transazione. L' opzione timeout specifica per quanto tempo gli altri thread devono attendere la rimozione del blocco prima di sollevare un'eccezione. Il valore predefinito è 5 secondi.

isolation_level

Imposta il livello di isolamento corrente. Consulta la documentazione di pysqlite sui livelli di isolamento per ulteriori informazioni. Non c'è motivo di cambiarlo, ma è qui per completezza. L'impostazione predefinita è Nessuno (autocommit).

[[MySQL]]

Questa sezione definisce i valori predefiniti per i database MySQL. Possono essere sovrascritti da singoli database.

Nota che se scegli il database MySQL , si presume che tu sappia come amministrarlo. In particolare, sarà necessario configurare un utente con privilegi di creazione e modifica appropriati.

driver

Il nome del driver MySQL. Necessario.

host

Il nome del server su cui si trova il database. L'impostazione predefinita è localhost .

user

Il nome utente da utilizzare per accedere al server. Necessario.

password

La password. Necessario.

port

Il numero di porta da utilizzare. Opzionale. L'impostazione predefinita è 3306.

engine

Il tipo di motore di archiviazione del database MySQL da utilizzare. Questo non dovrebbe essere cambiato senza una buona ragione. L'impostazione predefinita è INNODB .

[Engine]

Questa sezione è usata per configurare il motore di servizio interno in Weewx. È per la personalizzazione avanzata. I dettagli su come farlo possono essere trovati nella sezione Personalizzare il motore di servizio di Weewx della Guida alla personalizzazione .

[[Services]]

Internamente, Weewx è costituito da molti servizi , ciascuno responsabile di alcuni aspetti della funzionalità del programma. Dopo che si è verificato un evento, come l'arrivo di un nuovo pacchetto LOOP, qualsiasi servizio interessato ha la possibilità di svolgere un lavoro utile sull'evento. Ad esempio, un servizio potrebbe manipolare il pacchetto, stamparlo, memorizzarlo in un database, ecc. Questa sezione controlla quali servizi vengono caricati e in quale ordine hanno l'opportunità di svolgere quel lavoro. Prima di Weewx v2.6, questa sezione conteneva una lunghissima opzione chiamata service_list , che conteneva i nomi di tutti i servizi che dovevano essere eseguiti. Da allora, questo elenco è stato suddiviso in elenchi più piccoli.

I servizi vengono eseguiti nell'ordine indicato di seguito.

ELENCO DEI SERVIZI FUNZIONE
prep_services Eseguire qualsiasi azione prima dell'esecuzione del ciclo principale.
data_services Aumentare i dati, prima che vengano elaborati.
process_services Elabora, filtra e massaggia i dati.
archive_services Registrare i dati in un database.
restful_services Carica i dati elaborati su un servizio RESTful esterno.
report_services Eseguire eventuali rapporti.

Per riferimento, ecco il set standard di servizi eseguiti con la distribuzione predefinita.

ELENCO DEI SERVIZI FUNZIONE
prep_services weewx.engine.StdTimeSynch
data_services
process_services weewx.engine.StdConvert
weewx.engine.StdCalibrate
weewx.engine.StdQC
weewx.wxservices.StdWXCalculate
archive_services weewx.engine.StdArchive
restful_services weewx.restx.StdStationRegistry
weewx.restx.StdWunderground
weewx.restx.StdPWSmeteo
weewx.restx.StdCWOP
weewx.restx.StdWOW
weewx.restx.StdAWEKAS
report_services weewx.engine.StdPrint
weewx.engine.StdReport

Se sei il tipo a cui piace pulire il bagagliaio dell'auto dopo ogni utilizzo, allora potresti anche essere il tipo che vuole ridurlo al minimo indispensabile. Tuttavia, questo farà solo una leggera differenza nella velocità di esecuzione e nell'uso della memoria.

prep_services

Questi servizi vengono chiamati prima di tutti gli altri. Sono tipicamente usati per preparare la console. Ad esempio, il servizio weewx.wxengine.StdTimeSynch , responsabile dell'aggiornamento dell'orologio della console, è un membro di questo gruppo.

data_services

Aumentare i dati prima dell'elaborazione. In genere ciò significa aggiungere campi a un pacchetto LOOP oa un record ARCHIVE.

process_services

I servizi in questo gruppo tendono a elaborare tutti i dati in entrata. In genere eseguono operazioni come il controllo di qualità, la conversione di unità o la calibrazione del sensore.

archive_services

Una volta che i dati sono stati elaborati, i servizi in questo gruppo li archiviano.

restful_services

I servizi RESTful, come Weather Underground o CWOP, fanno parte di questo gruppo. Hanno bisogno di dati elaborati che sono stati archiviati, quindi vengono eseguiti dopo i gruppi precedenti.

report_services

I vari servizi di reportistica vengono eseguiti in questo gruppo, incluso il motore di reportistica standard.

 

RISOLUZIONE DEI PROBLEMI

 

Questa sezione elenca alcuni problemi comuni durante l'installazione e l'esecuzione di Weewx. Se sei bloccato, assicurati di:

  • Imposta l'opzione debug su 1 in weewx.conf . Questo inserirà molte più informazioni nel file di registro, che può essere molto utile per la risoluzione dei problemi e il debug!
    debug = 1
  • Guarda il file di registro . Siamo sempre felici di rispondere alle domande, ma la prima cosa che qualcuno chiederà è: "Hai guardato il file di registro?"
    sudo tail -f /var/log/syslog
  • Esegui weewxd direttamente dalla riga di comando, piuttosto che come demone. Generalmente, Weewx rileverà e registrerà qualsiasi eccezione irrecuperabile. Ma se stai ottenendo risultati strani, vale la pena correre direttamente e cercare eventuali indizi.
    sudo weewxd weewx.conf

Problemi hardware


Stazioni Davis

Per suggerimenti specifici su Davis, vedere l'articolo Wiki Risoluzione dei problemi relativi alle stazioni Davis

Suggerimenti per rendere affidabile un sistema

Se hai problemi a mantenere la tua stazione meteorologica attiva per lunghi periodi di tempo, ecco alcuni suggerimenti, in ordine decrescente di importanza:

Bobine di ferrite su un Davis Envoy. Sono presenti due bobine, una sulla connessione USB (cavo superiore) e una sull'alimentatore. Entrambi hanno anelli.
  • Eseguilo su hardware dedicato. Se stai usando il server per altre attività, in particolare come computer desktop, avrai problemi di affidabilità. Se lo stai usando come server di stampa o di rete, probabilmente andrà bene.
  • Eseguilo senza desktop. I moderni sistemi grafici sono estremamente complessi. Man mano che vengono aggiunte nuove funzionalità, le suite di test non sempre riescono a recuperare il ritardo. Il tuo sistema sarà molto più affidabile se lo esegui senza un sistema a finestre (X Windows, nel caso di Linux).
  • Utilizzare un gruppo di continuità (UPS). La stragrande maggioranza dei problemi di alimentazione ha una durata molto breve - solo un secondo o due - quindi non ne hai bisogno di uno grande. L'unità da 425 VA che utilizzo per proteggere il mio fit-PC costa $ 55 al Best Buy.
  • Se acquisti un Davis VantagePro e il tuo computer ha una porta seriale vecchio stile, procurati VantagePro con una connessione seriale, non una connessione USB. Vedere l'articolo Wiki sui problemi del convertitore Davis cp2101 per i dettagli.
  • Se usi una connessione USB, metti una bobina di ferrite su ciascuna estremità del cavo della tua console. Se hai abbastanza lunghezza e la bobina di ferrite è abbastanza grande, fai un anello in modo che attraversi la bobina due volte.

Raspberry Pi

Weewx funziona molto bene sul Raspberry Pi, dall'originale Modello A e Modello B, fino alle ultime incarnazioni. Tuttavia, il Pi ha alcune stranezze, inclusi problemi con l'alimentazione USB e la mancanza di un orologio.

Fine Offset USB lockups

Le stazioni meteorologiche della serie Fine Offset e le loro derivate hanno un buon valore e possono essere fatte funzionare in modo ragionevolmente affidabile, ma hanno un problema difficile da aggirare: l'USB può bloccarsi inaspettatamente, rendendo impossibile la comunicazione con la console.

L'errore esatto può variare, ma la cosa da cercare è il messaggio "could not detach kernel driver". Sfortunatamente, non abbiamo trovato una cura software per questo. Invece, è necessario spegnere e riaccendere l'unità. Rimuovi le batterie e scollega l'USB, quindi rimettila insieme. Non c'è bisogno di riavviare Weewx.

Intervallo di archiviazione

La maggior parte dell'hardware con registrazione dei dati include un parametro per specificare l'intervallo di archiviazione utilizzato dal logger. Se l'hardware e il driver lo supportano, Weewx utilizzerà questo intervallo come archive_interval . In caso contrario, Weewx tornerà all'intervallo_archivio specificato in [StdArchive] . Il valore di fallback predefinito è 300 secondi (5 minuti).

Se l'intervallo di archiviazione hardware è lungo, ci vorrà molto tempo prima che qualcosa venga visualizzato nei report di Weewx. Ad esempio, le stazioni WS23xx vengono fornite con un intervallo di archiviazione di 60 minuti e le stazioni Fine Offset vengono fornite con un intervallo di archiviazione di 30 minuti. Se esegui Weewx con una stazione WS23xx nella sua configurazione predefinita di fabbrica, ci vorranno 60 minuti prima che venga visualizzato il primo punto dati, poi altri 60 minuti fino a quello successivo e così via.

Poiché i report vengono generati quando arriva un nuovo record di archivio, un intervallo di archiviazione ampio significa che i report verranno generati raramente.

Se desideri dati e rapporti più vicini al tempo reale, utilizza l' utilità wee_device per modificare l'intervallo.

Problemi software

Questa sezione illustra alcuni problemi comuni di configurazione del software.

Niente nel file di registro

Mentre è in esecuzione, Weewx invia periodicamente informazioni sullo stato, errori e altre cose alla funzione di registrazione del tuo sistema. In genere hanno un aspetto simile a questo (la prima riga non fa effettivamente parte del registro):

 DATE    TIME       HOST    weewx[PID]  LEVL MESSAGE

Feb  8 04:25:16 hummingbird weewx[6932] INFO weewx.manager: Added record 2020-02-08 04:25:00 PST (1581164700) to database 'weewx.sdb'
Feb  8 04:25:16 hummingbird weewx[6932] INFO weewx.manager: Added record 2020-02-08 04:25:00 PST (1581164700) to daily summary in 'weewx.sdb'
Feb  8 04:25:17 hummingbird weewx[6932] INFO weewx.restx: PWSWeather: Published record 2020-02-08 04:25:00 PST (1581164700)
Feb  8 04:25:17 hummingbird weewx[6932] INFO weewx.restx: Wunderground-PWS: Published record 2020-02-08 04:25:00 PST (1581164700)
Feb  8 04:25:17 hummingbird weewx[6932] INFO weewx.restx: Windy: Published record 2020-02-08 04:25:00 PST (1581164700)
Feb  8 04:25:17 hummingbird weewx[6932] ERROR weewx.restx: WOW: Failed to publish record 2020-02-08 04:25:00 PST (1581164700): Failed upload after 3 tries

La posizione di questo file di registrazione varia da sistema a sistema, ma in genere si trova in /var/log/syslog o qualcosa di simile.

Tuttavia, alcuni sistemi per impostazione predefinita salvano solo avvisi o informazioni critiche, quindi i messaggi INFO da Weewx potrebbero non apparire. Se ciò accade a te, controlla la configurazione della registrazione del sistema. Sui sistemi Debian, cerca in /etc/rsyslog.conf . Sui sistemi Redhat, cerca in /etc/syslog.conf .

Errori di configobj

Questi sono errori nel file di configurazione. Due sono molto comuni. Per inciso, questi errori sono molto più facili da diagnosticare quando Weewx viene eseguito direttamente rispetto a quando viene eseguito come demone.

Eccezione configobj.DuplicateError

Questo errore è causato dall'utilizzo di un identificatore più di una volta nel file di configurazione. Ad esempio, potresti aver inavvertitamente elencato il tuo server FTP due volte:

[Reports]
    [[FTP]]
        ... (details elided)
        user = fred
        server = ftp.myhost.com
        password = mypassword
        server = ftp.myhost.com      # OOPS! Elencato due volte!
        path = /weather
... 

Generalmente, se riscontri questo errore, il file di registro ti fornirà il numero di riga in cui si è verificato:

Apr 24 12:09:15 raven weewx[11480]: wxengine: Error while parsing configuration file /home/weewx/weewx.conf
Apr 24 12:09:15 raven weewx[11480]: wxengine: Unable to initialize main loop:
Apr 24 12:09:15 raven weewx[11480]: **** Duplicate keyword name at line 254.
Apr 24 12:09:15 raven weewx[11480]: **** Exiting. 

Eccezione configobj.NestingError

Questo è un errore molto simile ed è causato da un annidamento di sezione errato. Per esempio:

[Reports]
    [[FTP]]]
        ...

Notare la parentesi di chiusura extra nella sottosezione FTP .

Nessun dato del barometro

Se tutto sembra normale tranne che non si dispone di dati del barometro, il problema potrebbe essere una mancata corrispondenza tra il sistema di unità utilizzato per il servizio StdConvert e il sistema di unità utilizzato dal servizio StdQC . Per esempio:

[StdConvert]
    target_unit = METRIC
    ...

[StdQC]
    [[MinMax]]
        barometer = 28, 32.5

Il problema è che stai richiedendo che i dati del barometro siano compresi tra 28 e 32,5, ma con il sistema di unità impostato su METRIC , i dati saranno compresi tra 990 e 1050 circa!

La soluzione è modificare i valori in modo che corrispondano alle unità in StdConvert o specificare le unità in MinMax, indipendentemente dalle unità in StdConvert. Per esempio:

[StdConvert]
    target_unit = US
    ...

[StdQC]
    [[MinMax]]
        barometer = 950, 1100, mbar

Errori Cheetah.NameMapper.NotFound

Se ricevi errori del tipo:

Apr 12 05:12:32 raven reportengine[3074]: filegenerator: Caught exception "<class 'NameMapper.NotFound'>"
Apr 12 05:12:32 raven reportengine[3074]: **** Message: "cannot find 'fubar' in template /home/weewx/skins/Standard/index.html.tmpl"
Apr 12 05:12:32 raven reportengine[3074]: **** Ignoring template and continuing.

hai un tag nel tuo template che Weewx non riconosce. In questo esempio, è il tag $fubar nel template /home/weewx/skins/Standard/index.html.tmpl .

Punti nei grafici

Se vedi punti invece di linee nei grafici giornalieri, potresti voler cambiare le opzioni del grafico o regolare l'intervallo di archiviazione della stazione.

In una configurazione predefinita, un periodo di tempo superiore all'1% dell'intervallo di tempo visualizzato è considerato un intervallo di dati. Pertanto, quando l'intervallo tra i punti dati è maggiore di circa 10 minuti, i grafici giornalieri mostrano punti anziché punti collegati.

Modifica l' opzione line_gap_fraction in skin.conf per controllare quanto tempo è considerato un'interruzione nei dati.

Per quanto riguarda l'intervallo di archiviazione, controlla il file di log per una voce come questa subito dopo l'avvio di Weewx:

Dec 30 10:54:17 saga weewx[10035]: wxengine: The archive interval in the configuration file
            (300) does not match the station hardware interval (1800).
Dec 30 10:54:17 saga weewx[10035]: wxengine: Using archive interval of 1800

In questo esempio, l'intervallo in weewx.conf è di 5 minuti, ma l'intervallo della stazione è di 30 minuti. Quando l'intervallo in weewx.conf non corrisponde all'intervallo hardware della stazione, Weewx rimanda all'intervallo della stazione.

Utilizzare l' utilità wee_device per modificare l'intervallo della stazione.

Picchi nei grafici

Occasionalmente potresti vedere letture anomale, tipicamente manifestate come picchi nei grafici. La fonte potrebbe essere una connessione seriale/USB instabile, radio o altre interferenze, un adattatore USB-seriale economico, sensori di bassa qualità o semplicemente una lettura anomala.

La qualità del sensore è importante. Non è insolito che alcuni hardware di fascia bassa segnalino occasionalmente letture dispari del sensore (una volta ogni pochi giorni). Alcuni sensori, come la radiazione solare/UV, hanno una durata limitata di circa 5 anni. È noto che i sensori di umidità (analogici) delle vecchie stazioni Vantage si deteriorano dopo alcuni anni in ambienti umidi.

Se vedi spesso dati anomali, controlla prima l'hardware.

Per mantenere i dati errati dal database, aggiungi una regola di controllo qualità (QC) come Limiti min/max. Vedere la sezione CQ per i dettagli.

Per rimuovere i dati errati dal database, dovrai eseguire alcuni comandi SQL di base. Ad esempio, supponiamo che la stazione abbia emesso temperature e velocità del vento molto elevate per una o due letture. Ecco come rimuoverli:

  1. • Fermare Weewx
  2. • Crea una copia del database di archivio
    cp weewx.sdb weewx-AAMMGG.sdb
  3. • Verifica che i dati errati esistano dove pensi che esistano
    sqlite3 weewx.sdb 
    sqlite> select dateTime,outTemp from archive where outTemp > 1000;
  4. • Verifica se i dati di temperatura e vento errati si sono verificati contemporaneamente
    sqlite> select dateTime,outTemp,windSpeed from archive where outTemp > 1000;
  5. • Rimuovi i dati errati impostando su NULL
    sqlite> update archive set windSpeed=NULL where outTemp > 1000;
    sqlite> update archive set outTemp=NULL where outTemp > 1000;
  6. • Elimina le statistiche aggregate in modo che Weewx possa rigenerarle senza le anomalie
    sudo wee_database --drop-daily
  7. • Avviare Weewx

Errore "Database is locked".

Questo sembra essere un problema con Raspberry Pi, quando si utilizza SQLite . Non esiste un problema analogo con i database MySQL. Vedrai errori nel registro di sistema che assomigliano a questo:

Feb 12 07:11:06 rpi weewx[20930]: ****    File "/usr/share/weewx/weewx/archive.py", line 118, in lastGoodStamp
Feb 12 07:11:06 rpi weewx[20930]: ****      _row = self.getSql("SELECT MAX(dateTime) FROM %s" % self.table)
Feb 12 07:11:06 rpi weewx[20930]: ****    File "/usr/share/weewx/weewx/archive.py", line 250, in getSql
Feb 12 07:11:06 rpi weewx[20930]: ****    File "/usr/share/weewx/weedb/sqlite.py", line 120, in execute
Feb 12 07:11:06 rpi weewx[20930]: ****      raise weedb.OperationalError(e)
Feb 12 07:11:06 rpi weewx[20930]: ****  OperationalError: database is locked
Feb 12 07:11:06 rpi weewx[20930]: ****      _cursor.execute(sql, sqlargs)
Feb 12 07:11:06 rpi weewx[20930]: ****    File "/usr/share/weewx/weedb/sqlite.py", line 120, in execute
Feb 12 07:11:06 rpi weewx[20930]: ****      raise weedb.OperationalError(e)
Feb 12 07:11:06 rpi weewx[20930]: ****  OperationalError: database is locked

Stiamo ancora cercando di decifrare esattamente qual è il problema, ma sembra che (molte? la maggior parte? tutte?) le implementazioni delle librerie di accesso SQLite 'C' sull'RPi dormano per un intero secondo se trovano il database bloccato. Ciò offre loro solo cinque possibilità entro il periodo di timeout di 5 secondi prima che venga sollevata un'eccezione.

Non tutti i Raspberry Pi hanno questo problema. Sembra essere più acuto quando si eseguono modelli di grandi dimensioni con molte query, come l'estensione di previsione.

Ci sono alcune possibili correzioni:

  • • Aumentare l' opzione di timeout .
  • • Usa una scheda SD di alta qualità nel tuo RPi. Sembra che ci siano alcune prove che le schede SD più veloci siano più immuni a questo problema.
  • • Riduci le dimensioni dei tuoi modelli per ridurre al minimo il numero di query necessarie.

Nessuna di queste "correzioni" è molto soddisfacente e stiamo cercando di trovare una soluzione più solida.

Simboli strani nei grafici

Se i tuoi grafici hanno simboli dall'aspetto strano per le unità, come i gradi Fahrenheit (°F), il problema potrebbe essere che ti mancano i caratteri specificati per l'opzione unit_label_font_path nel tuo file skin.conf e, invece, Weewx sta sostituendo un carattere predefinito, che non supporta il carattere Unicode necessario per creare un segno di grado. Cerca nella sezione [ImageGenerator] una linea che assomigli a:

unit_label_font_path = /usr/share/fonts/truetype/freefont/FreeMonoBold.ttf

Assicurati che il percorso specificato ( /usr/share/fonts/truetype/freefont/FreeMonoBold.ttf in questo caso) esista effettivamente. In caso contrario, sui sistemi operativi Debian (come Ubuntu), potresti essere in grado di installare i caratteri necessari:

sudo apt-get install fonts-freefont-ttf 
sudo fc-cache -f -v

(Sui sistemi più vecchi, il pacchetto fonts-freefont-ttf può essere chiamato ttf-freefont ). Il primo comando installa i font "Truetype", il secondo ricostruisce la cache dei font. Se il tuo sistema non ha il comando fc-cache , installalo dal pacchetto fontconfig :

sudo apt-get install fontconfig

Se nulla di tutto ciò funziona, o se utilizzi un sistema operativo diverso, dovrai modificare l'opzione unit_label_font_path in modo che punti a qualcosa sul tuo sistema che supporti i caratteri Unicode che intendi utilizzare.

UnicodeEncodeError

Questo problema è strettamente correlato al problema "Simboli strani" sopra. In questo caso, potresti vedere errori nel tuo registro che assomigliano a:

May 14 13:35:23 web weewx[5633]: cheetahgenerator: Generated 14 files for report StandardReport in 1.27 seconds
May 14 13:35:23 web weewx[5633]: reportengine: Caught unrecoverable exception in generator weewx.imagegenerator.ImageGenerator
May 14 13:35:23 web weewx[5633]:         ****  'ascii' codec can't encode character u'\xe8' in position 5: ordinal not in range(128)
May 14 13:35:23 web weewx[5633]:         ****  Traceback (most recent call last):
May 14 13:35:23 web weewx[5633]:         ****    File "/usr/share/weewx/weewx/reportengine.py", line 139, in run
May 14 13:35:23 web weewx[5633]:         ****      obj.start()
May 14 13:35:23 web weewx[5633]:         ****    File "/usr/share/weewx/weewx/reportengine.py", line 170, in start
May 14 13:35:23 web weewx[5633]:         ****      self.run()
May 14 13:35:23 web weewx[5633]:         ****    File "/usr/share/weewx/weewx/imagegenerator.py", line 36, in run
May 14 13:35:23 web weewx[5633]:         ****      self.gen_images(self.gen_ts)
May 14 13:35:23 web weewx[5633]:         ****    File "/usr/share/weewx/weewx/imagegenerator.py", line 220, in gen_images
May 14 13:35:23 web weewx[5633]:         ****      image = plot.render()
May 14 13:35:23 web weewx[5633]:         ****    File "/usr/share/weewx/weeplot/genplot.py", line 175, in render
May 14 13:35:23 web weewx[5633]:         ****      self._renderTopBand(draw)
May 14 13:35:23 web weewx[5633]:         ****    File "/usr/share/weewx/weeplot/genplot.py", line 390, in _renderTopBand
May 14 13:35:23 web weewx[5633]:         ****      top_label_size = draw.textsize(top_label, font=top_label_font)
May 14 13:35:23 web weewx[5633]:         ****    File "/usr/lib/python2.7/dist-packages/PIL/ImageDraw.py", line 278, in textsize
May 14 13:35:23 web weewx[5633]:         ****      return font.getsize(text)
May 14 13:35:23 web weewx[5633]:         ****  UnicodeEncodeError: 'ascii' codec can't encode character u'\xe8' in position 5: ordinal not in range(128)
May 14 13:35:23 web weewx[5633]:         ****  Generator terminated...

Ciò è spesso causato dal fatto che i font Truetype necessari non sono installati sul tuo computer e, invece, viene sostituito un font predefinito, che sa solo come tracciare i caratteri ASCII. La cura è come prima: installa il font.

I dati vengono archiviati ma alcuni/tutti i report non vengono eseguiti

Se Weewx sembra funzionare normalmente ma alcuni o tutti i report non vengono eseguiti, sempre o periodicamente, il problema potrebbe essere l'uso involontario o l'impostazione errata dell'opzione report_timing in weewx.conf . L' opzione report_timing consente all'utente di specificare quando eseguire alcuni o tutti i report (vedere Personalizzazione dell'ora di generazione del report ). Per impostazione predefinita, l' opzione report_timing è disabilitata e tutti i report vengono eseguiti in ogni periodo di archiviazione.

Per verificare se l' opzione report_timing sta causando l'omissione dei report, esaminare il file di registro . Tutti i report saltati a causa dell'opzione report_timing verranno registrati come segue:

Apr 29 09:30:17 rosella weewx[3319]: reportengine: Report StandardReport skipped due to report_timing setting

Se i rapporti vengono ignorati in modo errato a causa di report_timing , modificare weewx.conf e verificare la presenza di un'opzione report_timing in [StdReport] . Rimuovere tutte le occorrenze di report_timing per eseguire tutti i report in ogni periodo di archiviazione o confermare l'uso corretto e l'impostazione dell'opzione report_timing .

I report errati vengono ignorati da report_timing

Se viene utilizzata l' opzione report_timing ei risultati non sono quelli previsti, potrebbe esserci un errore nell'opzione report_timing . Se sono presenti errori nel parametro report_timing , il report verrà eseguito a ogni intervallo di archiviazione. Per prima cosa controlla i parametri dell'opzione report_timing per assicurarti che siano validi e che non ci siano spazi aggiuntivi o altri caratteri indesiderati. Verificare quindi che i parametri siano impostati correttamente per i tempi di generazione del rapporto desiderati. Ad esempio, è il numero corretto del giorno della settimana utilizzato se si limita il parametro del giorno della settimana. Fare riferimento a Personalizzazione dell'ora di generazione del rapporto .

Controllare il file di registro per eventuali voci relative ai report interessati. Gli errori nel parametro report_timing e nei report saltati vengono registrati solo quando debug=1 in weewx.conf .


Problemi meteorologici


La pressione riportata da Weewx non corrisponde alla pressione sulla console

Assicurati di confrontare i valori corretti. Esistono tre diversi tipi di pressione:

Pressione della stazione
La pressione della stazione (SP), che è la pressione assoluta grezza misurata dalla stazione. Questa è la pressione nei pacchetti Weewx e nei record di archivio.
Pressione al livello del mare
La pressione a livello del mare (SLP) si ottiene correggendo la pressione della stazione per l'altitudine e la temperatura locale. Questo è il barometro nei pacchetti Weewx e nei record di archivio.
Altimetro
L' impostazione dell'altimetro (AS) si ottiene correggendo la pressione della stazione in base all'altitudine. Questo è l'altimetro nei pacchetti Weewx e nei record di archivio.

Qualsiasi stazione potrebbe richiedere la calibrazione. Per alcuni hardware, questa operazione può essere eseguita dalla console della stazione meteorologica. In alternativa, utilizzare la sezione StdCalibrate per applicare un offset.

Se la tua stazione è significativamente al di sopra (o al di sotto) del livello del mare, assicurati che l'altitudine della stazione sia specificata correttamente. Inoltre, assicurarsi che qualsiasi calibrazione dia come risultato una pressione della stazione e/o una pressione barometrica che corrisponda a quella riportata da altre stazioni nella propria zona.

La calibrazione del barometro non modifica la pressione visualizzata da Weewx

Assicurarsi che la calibrazione sia applicata alla quantità corretta.

Le correzioni nella sezione StdCalibrate si applicano solo ai valori grezzi dall'hardware; le correzioni non vengono applicate alle grandezze derivate.

L'hardware della stazione è importante. Alcune stazioni riportano la pressione relativa ( pressione ) mentre altre stazioni riportano la pressione al livello del mare ( barometro ). Ad esempio, se l'hardware è una stazione Vantage, la correzione deve essere applicata al barometro poiché la stazione Vantage riporta il barometro e Weewx calcola la pressione . Tuttavia, se l'hardware è una stazione FineOffset, la correzione deve essere applicata alla pressione poiché le stazioni FineOffset riportano la pressione e Weewx calcola il barometro .

Le precipitazioni e/o il tasso di pioggia riportati da Weewx non corrispondono alla console

Prima di tutto, assicurati di confrontare le giuste quantità. Il valore pioggia è la quantità di pioggia osservata in un periodo di tempo. Il periodo di tempo potrebbe essere un intervallo LOOP, nel qual caso la pioggia è la quantità di pioggia dall'ultimo pacchetto LOOP. Oppure il periodo di tempo potrebbe essere un intervallo di archivio, nel qual caso la pioggia è il totale delle piogge riportate in ciascun pacchetto LOOP dall'ultimo record di archivio.

Alcune console riportano la quantità di pioggia nell'ultima ora o la quantità di pioggia dalla mezzanotte.

Il tasso di pioggia è una quantità derivata. Alcune stazioni riportano un tasso di pioggia, ma per quelle che non lo fanno, Weewx calcolerà il tasso di pioggia.

Infine, fai attenzione ai fattori di calibrazione specifici dell'hardware. Ad esempio, il tipo di pluviometro su una stazione Vantage deve essere specificato quando si configura la stazione meteorologica. Se modifichi il pluviometro con un'area di raccolta più ampia, dovrai aggiungere un moltiplicatore nella sezione StdCalibrate .

Per diagnosticare problemi di pioggia, esegui Weewx direttamente in modo da poter vedere ogni pacchetto LOOP e record di archivio REC. Inclina il pluviometro per verificare che ogni basculata venga rilevata e segnalata da Weewx. Verificare che ogni basculata del pluviometro sia convertita nella corretta quantità di precipitazioni. Quindi controllare il database per verificare che i valori siano correttamente aggiunti e registrati.

Non c'è direzione del vento quando la velocità del vento è zero

Questo è di progettazione: se non c'è vento, la direzione del vento non è definita, rappresentata da NULL nel database o None in Python. Questo criterio viene applicato dal servizio StdWXCalculate . Se necessario, può essere ignorato. Vedere l'opzione force_null nella sezione [StdWXCalculate] .

Weewx distingue tra un valore zero e nessun valore (NULL o None). Tuttavia, alcuni servizi non fanno questa distinzione e sostituiscono NULL o None con un valore chiaramente non valido come -999.