Hardware > Ecowitt y todos los clones Fine Offset

Weewx no lee la presión

<< < (2/3) > >>

PacoJavi:
Los sensores exteriores no los lee porque la ISS está en la caja, sin pilas. De momento sólo enchufé la consola para ver si funcionaba todo acorde ya que dí por hecho que si comunicaba la consola con la raspi de primeras, al instalar la ISS no habría problemas.

El output a sudo wee_device --info:


--- Código: --- sudo wee_device --info
Using configuration file /etc/weewx/weewx.conf
Using FineOffsetUSB driver version 1.20 (weewx.drivers.fousb)
Querying the station...
Fine Offset station settings:
                    local time: 2021.02.01 11:21:55 CET
                  polling mode: PERIODIC

                  abs_pressure: 934.2
                   current_pos: 640
                  data_changed: 0
                    data_count: 25
                     date_time: 2021-02-01 10:57
                 hum_in_offset: 22288
                hum_out_offset: 258
                            id: 21625
                 lux_wm2_coeff: 0
                       magic_1: 0x55
                       magic_2: 0xaa
                         model: 4224
                     rain_coef: 24580
                   read_period: 30
                  rel_pressure: 1016.9
                temp_in_offset: 8448
               temp_out_offset: 0
                      timezone: 0
                    unknown_01: 127
                    unknown_18: 96
                       version: 32
                     wind_coef: 2785
                     wind_mult: 0

--- Fin del código ---

Ahí si que aparece el valor de presión.

Los gráficos que se están generando son únicamente los de temperatura y humedad interior, que son los que proporciona la consola. El de presión, al no estar comunicando ningún valor a weewx, no se genera.

jmviper:
Veamos....

La presión la lee de la consola por lo que no hay problema en eso.

Viendo la documentación de weewx referente a las FineOffset pone que de esas estaciones lee pressure por hardware y este valor según esta explicación en su wiki es la presión absoluta de la estación.

Las otras dos (altimeter y barometer) son calculadas por weewx y para ello necesitará, creo, los valores de altitud, temperatura y humedad exterior para calcular la relativa (barometer).

Prueba a conectarla a la unidad exterior y seguramente dé el dato.

Lo curioso es que en wee_device info aparezca tanto la presión absoluta como la relativa, que ambas las proporciona la consola ya que esa información es de ella pero weewx coge la absoluta y genera la relativa por sus fórmulas a partir de ella.



jantoni:
Veamos......en el driver 0.53 yo observé que faltaba algo.

Así que estuve mirando los LOOP y vi que tenía que hacer algo....o me tiraba al metro.

Así que edité el driver, añadiendo una sola línea.

--- Citar ---class EcowittClient(Consumer):
    """Use the ecowitt protocol (not WU protocol) to capture data"""

    def __init__(self, **stn_dict):
        super(EcowittClient, self).__init__(
            EcowittClient.Parser(), handler=EcowittClient.Handler, **stn_dict)

    class Handler(Consumer.Handler):

        def get_response(self):
            return '{"errcode":"0","errmsg":"ok","UTC_offset":"-18000"}'

    class Parser(Consumer.Parser):

        # map labels to observation names
        LABEL_MAP = {
            'baromabsin': 'pressure',
            'baromrelin': 'barometer',
            'humidity': 'humidity_out',
            'humidityin': 'humidity_in',
            'tempf': 'temperature_out',
            'tempinf': 'temperature_in',
            'temp1f': 'temperature_1',
            'temp2f': 'temperature_2',
            'temp3f': 'temperature_3',
            'temp4f': 'temperature_4',
            'temp5f': 'temperature_5',
            'temp6f': 'temperature_6',
            'temp7f': 'temperature_7',
            'temp8f': 'temperature_8',
            'humidity1': 'humidity_1',
            'humidity2': 'humidity_2',
            'humidity3': 'humidity_3',
            'humidity4': 'humidity_4',
            'humidity5': 'humidity_5',
            'humidity6': 'humidity_6',
            'humidity7': 'humidity_7',
            'humidity8': 'humidity_8',
            'batt1': 'battery_1',
            'batt2': 'battery_2',
            'batt3': 'battery_3',
            'batt4': 'battery_4',
            'batt5': 'battery_5',
            'batt6': 'battery_6',
            'batt7': 'battery_7',
            'batt8': 'battery_8',
            'soilmoisture1': 'soil_moisture_1',
            'soilmoisture2': 'soil_moisture_2',
            'soilmoisture3': 'soil_moisture_3',
            'soilmoisture4': 'soil_moisture_4',
            'soilmoisture5': 'soil_moisture_5',
            'soilmoisture6': 'soil_moisture_6',
            'soilmoisture7': 'soil_moisture_7',
            'soilmoisture8': 'soil_moisture_8',
            'soilbatt1': 'soil_battery_1',
            'soilbatt2': 'soil_battery_2',
            'soilbatt3': 'soil_battery_3',
            'soilbatt4': 'soil_battery_4',
            'soilbatt5': 'soil_battery_5',
            'soilbatt6': 'soil_battery_6',
            'soilbatt7': 'soil_battery_7',
            'soilbatt8': 'soil_battery_8',
            'windspeedmph': 'wind_speed',
            'windgustmph': 'wind_gust',
            'winddir': 'wind_dir',
            'solarradiation': 'solar_radiation',
            'uv': 'uv',
            'totalrainin': 'rain_total',
            'rainratein': 'rain_rate',
            'wh25batt': 'wh25_battery',
            'wh26batt': 'wh26_battery',
            'wh40batt': 'wh40_battery',
            'wh65batt': 'wh65_battery',
            'pm25_ch1': 'pm2_5',
            'pm25batt1': 'pm25_battery',
        }
--- Fin de la cita ---

Inserta la línea

 'baromrelin': 'barometer',

Como indico y reinicia weewx.

El driver lo encontrarás en

/usr/share/weewx/user/interceptor.py

Más adelante probaré con el driver original, ya que ahora dispongo de un bloque de sensores.....pero poco he podido hacer con él todavía

PacoJavi:
Pero...ese driver es para los aparatos tipo GW1000 y similares no jantoni? En esa ubicacion no tengo ese archivo .py.

jmviper, no usara los valores de temperatura y humedad interiores para calcular la presion relativa? Si usara los valores exteriores no habria posibilidad de ver la presion relativa en la consola, y sin embargo el valor aparece...

jmviper:
En el driver de weewx para las Fine Offset (/usr/share/weewx/weewx/drivers/fousb.py) en sus comentarios pone:

- pressure - station pressure (SP) - adjusted raw sensor reading
 - barometer - sea level pressure derived from SP using temperaure and altitude
 - altimeter - sea level pressure derived from SP using altitude

this implementation reports the abs_pressure from the hardware as 'pressure'.
altimeter and barometer are calculated by weewx.

No especifica si la temperatura es la exterior o la interior, pero atendiendo a que por ejemplo para la fórmula de esas presiones las hace weewx con la temperatura exterior para la Davis, creo que al no tener el dato no la calcula.

Saldrás de dudas conectando la unidad exterior a la consola.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa