Im really curious. My extensions.py contains apart from comments these four 
lines:

import locale
import weewx.units
locale.setlocale(locale.LC_ALL, '')
weewx.units.obs_group_dict['p_rainRate'] = 'group_rainrate'

And the config is attached.
Werner Krenn schrieb am Samstag, 13. September 2025 um 14:56:55 UTC+2:

> Today, I installed a new instance of WeeWx with the EcowittHttp driver and 
> the
> database schema 
> schema = schemas.wview_ecowittrssi.schema
> and the setting
> [StdConvert]
> target_unit = METRICWX
> for testing purposes.
>
> The extensions.py file has no entries.
>
> The piezo rain quantity is saved to the database with mm values, as 
> expected.
>
> @Michael,
> Your problem with the incorrect entries for piezo rain quantity
> in the database can only be due to your settings (weewx.conf and/or 
> extensions.py).
>
> You are welcome to send me your weewx.conf for review.
>
> [email protected] schrieb am Freitag, 12. September 2025 um 19:02:40 
> UTC+2:
>
>>  p_rain = piezoRain.0x10.val
>>
>> Is not the rain for the given loop. Without calculating a delta, you get 
>> ridiculous amounts of rain. I have no such delta define, you?
>>
>> Ian Millard schrieb am Freitag, 12. September 2025 um 18:19:13 UTC+2:
>>
>>> @Michael,
>>>
>>> I have added piezo rain columns to my database and then set up mapping 
>>> like this: -
>>>
>>> [EcowittHttp]
>>>     # This section is for the Ecowitt local HTTP API driver.
>>>     
>>>     # the driver to use
>>>     driver = user.ecowitt_http
>>>     
>>>     # how often to poll the device
>>>     poll_interval = 8
>>>     # how many attempts to contact the device before giving up
>>>     max_tries = 3
>>>     # wait time in seconds between retries to contact the device
>>>     retry_wait = 2
>>>     # max wait for device to respond to a HTTP request
>>>     url_timeout = 3
>>>     
>>>     # whether to show all battery state data including nonsense data and 
>>>     # sensors that are disabled sensors and connecting
>>>     show_all_batt = False
>>>     # whether to ignore battery state data from legacy WH40 sensors that 
>>> do 
>>>     # not provide valid battery state data
>>>     ignore_legacy_wh40_battery = True
>>>     # whether to always log unknown API fields, unknown fields are 
>>> always 
>>>     # logged at the debug level, this will log them at the info level
>>>     log_unknown_fields = False
>>>     
>>>     # How often to check for device firmware updates, 0 disables 
>>> firmware 
>>>     # update checks. Available firmware updates are logged.
>>>     firmware_update_check_interval = 86400
>>>     
>>>     # provide additional log information to help debug rainfall issues
>>>     debug_rain = False
>>>     # provide additional log information to help debug wind issues
>>>     debug_wind = False
>>>     # provide additional log information to help debug loop packet issues
>>>     debug_loop = False
>>>     # provide additional log information to help debug sensor issues
>>>     debug_sensors = False
>>>     ip_address = 192.168.1.100
>>>     [[field_map_extensions]]
>>>         batteryStatus1 = ws90.battery
>>>         rain = rain.0x10.val
>>>         stormRain = rain.0x0D.val
>>>         rainRate = rain.0x0E.val
>>>         hourRain = t_rainhour
>>>         dayRain = rain.0x10.val
>>>         weekRain = rain.0x11.val
>>>         monthRain = rain.0x12.val
>>>         yearRain = rain.0x13.val
>>>         is_raining = piezoRain.srain_piezo.val
>>>         p_rain = piezoRain.0x10.val
>>>         p_stormRain = piezoRain.0x0D.val
>>>         p_rainRate = piezoRain.0x0E.val
>>>         p_hourRain = p_rainhour
>>>         p_dayRain = piezoRain.0x10.val
>>>         p_weekRain = piezoRain.0x11.val
>>>         p_monthRain = piezoRain.0x12.val
>>>         p_yearRain = piezoRain.0x13.val
>>>         vpd = common_list.5.val
>>>         lightning_distance = lightning.distance
>>>         lightning_last_det_time = lightning.timestamp
>>>         lightningcount = lightning.count
>>>         pm2_5 = ch_pm25.1.PM25_RealAQI
>>>         pm2_52_24h_avg = ch_pm25.1.PM25_24HAQI
>>>         pm10_0 = co2.PM10
>>>         luminosity = common_list.0x15.val
>>>
>>> On 12 Sep 2025, at 16:23, '[email protected]' via weewx-user <
>>> [email protected]> wrote:
>>>
>>> And for the record:
>>>
>>>
>>>
>>> <rain_vs_p_rain_vs.hail.png>
>>>
>>> And I don't do anything with hail in my configs or elsewhere.
>>>
>>> And this is what's in the database, using the ecowitt gateway driver:
>>>
>>> <rain_vs_p_rain_vs.hail_ecowitt_gateway_driver.png>
>>>
>>> So with the ecowitt_http driver, the values for p_rain are 
>>> p_rain(old)/29. This can't be an inch/mm conversion issue. 25,4 is too far 
>>> off 29.
>>> [email protected] schrieb am Freitag, 12. September 2025 um 17:10:39 
>>> UTC+2:
>>>
>>>> No, I haven't and it won't change anything, because the js has no 
>>>> effect on database entries (I know that, I'm the maintainer of the 
>>>> Bootstrap skin for several years now and more than 90% of the js code was 
>>>> done by myself).
>>>>
>>>> These are the values in the database for rain and p_rain for the Sep 
>>>> 10, 17:00 - 17:30:
>>>> [image: rain_vs_p_rain.png][image: ecowitt_http_driver.png]
>>>>
>>>>
>>>>
>>>> Werner Krenn schrieb am Freitag, 12. September 2025 um 15:05:49 UTC+2:
>>>>
>>>>> @Michael, 
>>>>> Have you tried adding p_rain:
>>>>> p_rain: "group_rain"
>>>>> to the file
>>>>> "units.js" (Bootstrap skin) ?
>>>>>
>>>>> [email protected] schrieb am Freitag, 12. September 2025 um 
>>>>> 13:18:25 UTC+2:
>>>>>
>>>>>> My database contains values following METRICWX.
>>>>>> LOOP data also contains p_rain in [mm], so in the MQTT object for the 
>>>>>> LiveGauges there is no payload_key "p_rain_in", only "p_rain_mm", which 
>>>>>> is 100% I'd expected things to be.
>>>>>> I'll give it a try and use hail instead, and see what will happen, 
>>>>>> maybe that gives us a clue what's happening. I mean: why should p_rain 
>>>>>> [mm] 
>>>>>> behave in another way than rain [mm]? Maybe there is something missing 
>>>>>> in a 
>>>>>> group/unit assignment for p_rain... it's not a common obs_type, neither 
>>>>>> in 
>>>>>> wview, nor wview_extended.
>>>>>>
>>>>>> Werner Krenn schrieb am Freitag, 12. September 2025 um 11:32:27 UTC+2:
>>>>>>
>>>>>>> @Michael,
>>>>>>> I assume you're using
>>>>>>> target_unit = METRIC # Options are 'US', 'METRICWX', or 'METRIC'
>>>>>>> or
>>>>>>> target_unit = METRICWX
>>>>>>>
>>>>>>> I use target_unit = US
>>>>>>> I don't know why p_rain is being then written to the database in 
>>>>>>> inches for you; I don't have enough experience with WeeWx for that.
>>>>>>>
>>>>>>> But if you use
>>>>>>> payload_key = p_rain_in
>>>>>>> the display should be correct
>>>>>>>
>>>>>>> [email protected] schrieb am Freitag, 12. September 2025 um 
>>>>>>> 05:25:57 UTC+2:
>>>>>>>
>>>>>>>> May it's that I use p_rain and not hail:
>>>>>>>>
>>>>>>>>           [[[[rain]]]]
>>>>>>>>                 [[[[[rain]]]]]
>>>>>>>>                     payload_key = rain_mm
>>>>>>>>                 [[[[[p_rain]]]]]
>>>>>>>>                     plotType = bar
>>>>>>>>                     aggregateType = sum
>>>>>>>>                     aggregateInterval = 1800
>>>>>>>>                     payload_key = p_rain_mm
>>>>>>>>                     showMaxMarkPoint = false
>>>>>>>>                     showMinMarkPoint = false
>>>>>>>>                     showAvgMarkLine = false
>>>>>>>>                     lineColor = "#428bca77"
>>>>>>>>                     decimals = 1
>>>>>>>>
>>>>>>>> The interesting thing is, when receiving data from LOOP using MQTT, 
>>>>>>>> the value is correct, it's only the databa value that isn't.
>>>>>>>> John Smith schrieb am Freitag, 12. September 2025 um 03:57:19 UTC+2:
>>>>>>>>
>>>>>>>>> On Fri, 12 Sept 2025 at 03:41, p q <[email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> I am pretty sure the US uses the international inch for far 
>>>>>>>>>> longer. Since before I started working with canadian companies in 
>>>>>>>>>> the 
>>>>>>>>>> 1990s. There is official looking documentation that shows the 
>>>>>>>>>> international 
>>>>>>>>>> yard (and thus the inch) defined in 1959 
>>>>>>>>>> https://usma.org/wp-content/uploads/2015/06/sp447-app5.pdf?x40840
>>>>>>>>>> There are still various survey foot definitions with slightly 
>>>>>>>>>> different values in the US, and of course the nautical mile and 
>>>>>>>>>> related 
>>>>>>>>>> measures. 
>>>>>>>>>> https://oceanservice.noaa.gov/geodesy/international-foot.html
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> If you disagree update the Wikipedia page with references... 
>>>>>>>>> *grin* 
>>>>>>>>>
>>>>>>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "weewx-user" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>>
>>> To view this discussion visit 
>>> https://groups.google.com/d/msgid/weewx-user/a5efc423-6f71-4cf3-b5cd-ea89b33170f1n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/weewx-user/a5efc423-6f71-4cf3-b5cd-ea89b33170f1n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> <rain_vs_p_rain_vs.hail_ecowitt_gateway_driver.png>
>>> <rain_vs_p_rain_vs.hail.png>
>>>
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/weewx-user/53f9889a-430b-4b8e-bf6b-f5265b91ae57n%40googlegroups.com.
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2023 Tom Keffer <[email protected]>
# See the file LICENSE.txt for your rights.

##############################################################################

# This section is for general configuration information.

# Set to 1 for extra debug info, otherwise comment it out or set to zero
debug = 0

# Root directory of the weewx data file hierarchy for this station
WEEWX_ROOT = /home/weewx/weewx-data

# Whether to log successful operations. May get overridden below.
log_success = True

# Whether to log unsuccessful operations. May get overridden below.
log_failure = True

# This configuration file was created by ...
version = 5.0.0b15

##############################################################################

#   This section is for information about the station.

[Station]
    
    # Description of the station location, such as your town:
    location = "AT, Salzburg, Hallein, Rif"
    
    # Latitude in decimal degrees. Negative for southern hemisphere
    latitude = 47.727353
    # Longitude in decimal degrees. Negative for western hemisphere.
    longitude = 13.076517
    
    # Altitude of the station, with the unit it is in. This is used only
    # if the hardware cannot supply a value.
    altitude = 440, meter    # Choose 'foot' or 'meter' for unit
    
    # Set to type of station hardware. There must be a corresponding stanza
    # in this file, which includes a value for the 'driver' option.
    station_type = EcowittHttp
    
    # If you have a website, you may specify an URL
    #station_url = https://kainzbauer.net/weather/Rif/
    
    # The start of the rain year (1=January; 10=October, etc.). This is
    # downloaded from the station if the hardware supports it.
    rain_year_start = 1
    
    # Start of week (0=Monday, 6=Sunday)
    week_start = 0

##############################################################################

[Logging]
    version = 1
    disable_existing_loggers = False
    
    # Root logger
    [[root]]
        level = INFO
        handlers = rotate,    #console
    
    # Additional loggers would go in the following section. This is useful for 
tailoring logging
    # for individual modules.
    [[loggers]]
    
    # Definitions of possible logging destinations
    [[handlers]]
        
        # Log to a set of rotating files    
        [[[rotate]]]
            level = INFO
            formatter = verbose
            class = logging.handlers.RotatingFileHandler
            filename = /home/weewx/weewx-data/log/weewxd-ws90.log
            maxBytes = 10000000
            backupCount = 4
    
    # Log to console
    #[[[console]]]
    #    level = DEBUG
    #    formatter = verbose
    #    class = logging.StreamHandler
    # Alternate choice is 'ext://sys.stderr'
    #stream = ext://sys.stdout
    
    # How to format log messages
    [[formatters]]
        [[[simple]]]
            format = %(levelname)s %(message)s
        [[[standard]]]
            format = {process_name}[%(process)d] %(levelname)s %(name)s: 
%(message)s
        [[[verbose]]]
            format = %(asctime)s {process_name}[%(process)d] %(levelname)s 
%(name)s: %(message)s
            # Format to use for dates and times:
            datefmt = %Y-%m-%d %H:%M:%S

#   This section is for uploading data to Internet sites

[StdRESTful]
    
    # Uncomment and change to override logging for uploading services.
    # log_success = True
    # log_failure = True
    
    [[StationRegistry]]
        # To register this weather station with weewx, set this to true,
        # then fill out option 'station_url', located in the [Station] section 
above.
        register_this_station = False
    
    [[AWEKAS]]
        # This section is for configuring posts to AWEKAS.
        
        # If you wish to post to AWEKAS, set the option 'enable' to true, then 
specify a username
        # and password. To guard against parsing errors, put the password in 
quotes.
        enable = false
        username = replace_me
        password = replace_me
    
    [[CWOP]]
        # This section is for configuring posts to CWOP.
        
        # If you wish to post to CWOP, set the option 'enable' to true,
        # then specify the station ID (e.g., CW1234).
        enable = false
        station = replace_me
        # If this is an APRS (radio amateur) station, specify the
        # passcode (e.g., 12345). Otherwise, ignore.
        passcode = replace_me
    
    [[PWSweather]]
        # This section is for configuring posts to PWSweather.com.
        
        # If you wish to post to PWSweather.com, set the option 'enable' to 
true, then specify a
        # station and password. To guard against parsing errors, put the 
password in quotes.
        enable = false
        station = replace_me
        password = replace_me
    
    [[WOW]]
        # This section is for configuring posts to WOW.
        
        # If you wish to post to WOW, set the option 'enable' to true, then 
specify a station and
        # password. To guard against parsing errors, put the password in quotes.
        enable = false
        station = replace_me
        password = replace_me
    
    [[Wunderground]]
        # This section is for configuring posts to the Weather Underground.
        
        # If you wish to post to the Weather Underground, set the option 
'enable' to true,  then
        # specify a station (e.g., 'KORHOODR3'). Use the station key (find it
        # at https://www.wunderground.com/member/devices) for the password.
        enable = false
        station = replace_me
        password = replace_me
        
        # Set the following to True to have weewx use the WU "Rapidfire"
        # protocol. Not all hardware can support it. See the User's Guide.
        rapidfire = False
    [[MQTT]]
        server_url = mqtt://192.168.1.90:1883/
        topic = weather_test_ws90
        binding = loop
        aggregation = aggregate

##############################################################################

#   This section specifies what reports, using which skins, to generate.

[StdReport]
    
    # Where the skins reside, relative to WEEWX_ROOT
    SKIN_ROOT = skins
    
    # Where the generated reports should go, relative to WEEWX_ROOT
    HTML_ROOT = public_html
    
    # Uncomment and change to override logging for reports
    # log_success = True
    # log_failure = True
    
    # The database binding indicates which data should be used in reports.
    data_binding = wx_binding
    
    # Each of the following subsections defines a report that will be run.
    # See the customizing guide to change the units, plot types and line
    # colors, modify the fonts, display additional sensor data, and other
    # customizations. Many of those changes can be made here by overriding
    # parameters, or by modifying templates within the skin itself.
    
    [[SeasonsReport]]
        # The SeasonsReport uses the 'Seasons' skin, which contains the
        # images, templates and plots for the report.
        skin = Seasons
        enable = false
    
    [[SmartphoneReport]]
        # The SmartphoneReport uses the 'Smartphone' skin, and the images and
        # files are placed in a dedicated subdirectory.
        skin = Smartphone
        enable = false
        HTML_ROOT = public_html/smartphone
    
    [[MobileReport]]
        # The MobileReport uses the 'Mobile' skin, and the images and files
        # are placed in a dedicated subdirectory.
        skin = Mobile
        enable = false
        HTML_ROOT = public_html/mobile
    
    [[StandardReport]]
        # This is the old "Standard" skin. By default, it is not enabled.
        skin = Standard
        enable = false
    
    [[Bootstrap]]
        skin = Bootstrap
        HTML_ROOT = public_html/Bootstrap/ws90
        lang = de_AT.utf8
        enable = true
        locale = de_AT
        [[[TranslationLinks]]]
            rif = ../de
            en = ../en
            WS68 = ../ws68
            alt = ../ws28xx 
        
        [[[Units]]]
            [[[[Groups]]]]
                group_speed = km_per_hour
            
            [[[[TimeFormats]]]]
                # date formats for 'max', 'min', 'maxmin', 'minmax', 'maxsum', 
'minsum' of a day
                daily_ext_month = %d.%m.%Y um %X
                daily_ext_year = %d.%m.%Y um %X
                daily_ext_since_ever = %d.%m.%Y um %X
                daily_ext_current = %d.%m.%Y um %X
                daily_aggr_month = %d.%m.%Y
                daily_aggr_year = %d.%m.%Y
                daily_aggr_since_ever = %d.%m.%Y
                daily_aggr_current = %d.%m.%Y
        
        [[[Labels]]]
            [[[[Generic]]]]
                p_rain = Niederschlag Piezo
                p_rainRate = Niederschlagsintensität Piezo
        
        [[[Texts]]]
            Footer Text = ""
            Maximum daily rainfall (piezo) = Max. tägl. Regen&shy;menge (Piezo)
            Maximum rain rate (piezo) = Max. Nieder&shy;schlags&shy;intensität 
(Piezo)
            rain_rate_tableheader_text = Max. Niederschlagsintensität (15 min. 
Intervall)
            summer_days_tableheader_text = Anzahl Sommertage 
(Maximaltempertatur ≥ 25 °C)
            hot_days_tableheader_text = Anzahl heißer Tage (Maximaltempertatur 
≥ 30 °C)
            desert_days_tableheader_text = Anzahl Wüstentage (Maximaltemperatur 
≥ 35 °C)
            vegetations_days_tableheader_text = Vegetationstage 
(Durchschnittstemperatur ≥ 5 °C)
            frost_days_tableheader_text = Anzahl Frosttage (Minimaltemperatur ≤ 
0 °C)
            ice_days_tableheader_text = Anzahl Eistage (Maximaltemperatur ≤ 0 
°C)
            Rain since 24h/7 days/one month/one year = Regen 24h/eine Woche/ein 
Monat/ein Jahr
            Rain today/this week/month/year = Regen heute/diese Woche/dieses 
Monat/dieses Jahr
        
        [[[LiveGauges]]]
            [[[[windSpeed]]]]
                maxvalue = 100
                splitnumber = 5
                lineColorUntil = 75, maxvalue
            
            [[[[windGust]]]]
                maxvalue = 160
                splitnumber = 8
                lineColorUntil = 75, maxvalue
        
        [[[ImageGenerator]]]
            
            [[[[day_images]]]]
                [[[[[dayrain-Bootstrap]]]]]
                    [[[[[[rain]]]]]]
                        label = Niederschlag (Summe 30min.)
            
            [[[[week_images]]]]
                [[[[[weekrain-Bootstrap]]]]]
                    [[[[[[rain]]]]]]
                        label = Niederschlag (Summe 1h)
            
            [[[[month_images]]]]
                [[[[[monthrain-Bootstrap]]]]]
                    [[[[[[rain]]]]]]
                        label = Niederschlag (Summe 24h)
                
                [[[[[monthradiation-Bootstrap]]]]]
                    [[[[[[radiation]]]]]]
                        label = Ø Globalstrahlung
                    [[[[[[max_radiation]]]]]]
                        label = max. Globalstrahlung
            
            [[[[year_images]]]]
                [[[[[yearrain-Bootstrap]]]]]
                    [[[[[[rain]]]]]]
                        label = Niederschlag (Summe 24h)
                
                [[[[[yearradiation-Bootstrap]]]]]
                    [[[[[[radiation]]]]]]
                        label = Ø Globalstrahlung
                    [[[[[[max_radiation]]]]]]
                        label = max. Globalstrahlung
        
        
        [[[HistoryColors]]]
            [[[[summerDays]]]]
                [[[[[count]]]]]
                    minvalues = 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22
                    maxvalues = 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 32
                    colors = "#fceded", "#fcdbdb", "#fcc0c0", "#fcaaaa", 
"#fc9090", "#fc7a7a", "#fc6060", "#fc4c4c", "#fc3030", "#fc1b1b", "#fc1b1b", 
"#fc0000"
                    fontColors = "#333333", "#333333", "#333333", "#333333", 
"#333333", "#333333", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", 
"#bbbbbb"
                    [[[[[[summary]]]]]]
                        minvalues = 0, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 
100
                        maxvalues = 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 
100, 367
                        colors = "#fceded", "#fcdbdb", "#fcc0c0", "#fcaaaa", 
"#fc9090", "#fc7a7a", "#fc6060", "#fc4c4c", "#fc3030", "#fc1b1b", "#fc1b1b", 
"#fc0000"
                        fontColors = "#333333", "#333333", "#333333", 
"#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", 
"#bbbbbb", '#bbbbbb""#333333', "#333333", "#333333", "#333333", "#333333", 
"#333333", "#333333", "#333333", "#333333"
            
            [[[[hotDays]]]]
                [[[[[count]]]]]
                    minvalues = 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22
                    maxvalues = 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 32
                    colors = "#fceded", "#fcdbdb", "#fcc0c0", "#fcaaaa", 
"#fc9090", "#fc7a7a", "#fc6060", "#fc4c4c", "#fc3030", "#fc1b1b", "#fc1b1b", 
"#fc0000"
                    fontColors = "#333333", "#333333", "#333333", "#333333", 
"#333333", "#333333", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", 
"#bbbbbb"
                    [[[[[[summary]]]]]]
                        minvalues = 1, 5, 10, 15, 20, 25, 30, 35, 45, 50, 55, 60
                        maxvalues = 5, 10, 15, 20, 25, 30, 35, 40, 50, 55, 60, 
367
                        colors = "#fceded", "#fcdbdb", "#fcc0c0", "#fcaaaa", 
"#fc9090", "#fc7a7a", "#fc6060", "#fc4c4c", "#fc3030", "#fc1b1b", "#fc1b1b", 
"#fc0000"
                        fontColors = "#333333", "#333333", "#333333", 
"#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", 
"#bbbbbb", "#bbbbbb"
            
            [[[[desertDays]]]]
                [[[[[count]]]]]
                    minvalues = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
                    maxvalues = 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 32
                    colors = "#fceded", "#fcdbdb", "#fcc0c0", "#fcaaaa", 
"#fc9090", "#fc7a7a", "#fc6060", "#fc4c4c", "#fc3030", "#fc1b1b", "#fc1b1b", 
"#fc0000"
                    fontColors = "#333333", "#333333", "#333333", "#333333", 
"#333333", "#333333", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", 
"#bbbbbb"
                    [[[[[[summary]]]]]]
                        minvalues = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
                        maxvalues = 2, 3, 4, 5, 6, 7, 8, 10, 10, 11, 12, 367
                        colors = "#fceded", "#fcdbdb", "#fcc0c0", "#fcaaaa", 
"#fc9090", "#fc7a7a", "#fc6060", "#fc4c4c", "#fc3030", "#fc1b1b", "#fc1b1b", 
"#fc0000"
                        fontColors = "#333333", "#333333", "#333333", 
"#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", 
"#bbbbbb", "#bbbbbb"
            
            [[[[vegetationDays]]]]
                [[[[[count]]]]]
                    minvalues = 1, 5, 10, 15, 20, 25
                    maxvalues = 5, 10, 15, 20, 25, 32
                    colors = "#d4fcd4", "#c6fcc6", "#9bfc9b", "#64fc64", 
"#28fc28", "#00c800"
                    fontColors = "#333333", "#333333", "#333333", "#333333", 
"#333333", "#333333"
                    [[[[[[summary]]]]]]
                        minvalues = 1, 200, 220, 240, 260, 280
                        maxvalues = 200, 220, 240, 260, 280, 367
                        colors = "#d4fcd4", "#c6fcc6", "#9bfc9b", "#64fc64", 
"#28fc28", "#00c800"
                        fontColors = "#333333", "#333333", "#333333", 
"#333333", "#333333", "#333333"
            
            [[[[frostDays]]]]
                [[[[[count]]]]]
                    minvalues = 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 
26, 28, 30
                    maxvalues = 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 
28, 30, 32
                    colors = "#EDEDFC", "#E0E0FC", "#D0D0FC", "#C0C0FC", 
"#B0B0FC", "#A0A0FC", "#9090FC", "#8080FC", "#7070FC", "#6060FC", "#5050FC", 
"#4040FC", "#6020FC", "#9015FC", "#AF10FC", "#CC10FC"
                    fontColors = "#333333", "#333333", "#333333", "#333333", 
"#333333", "#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", "#bbbbbb", 
"#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb"
                    
                    [[[[[[summary]]]]]]
                        
                        minvalues = 1, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 
90, 95, 100, 105, 110
                        maxvalues = 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 
95, 100, 105, 110, 367
                        colors = "#EDEDFC", "#E0E0FC", "#D0D0FC", "#C0C0FC", 
"#B0B0FC", "#A0A0FC", "#9090FC", "#8080FC", "#7070FC", "#6060FC", "#5050FC", 
"#4040FC", "#6020FC", "#9015FC", "#AF10FC", "#CC10FC"
                        fontColors = "#333333", "#333333", "#333333", 
"#333333", "#333333", "#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", 
"#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb"
            
            [[[[iceDays]]]]
                [[[[[count]]]]]
                    minvalues = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 
18, 20
                    maxvalues = 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 
20, 32
                    colors = "#EDEDFC", "#E0E0FC", "#D0D0FC", "#C0C0FC", 
"#B0B0FC", "#A0A0FC", "#9090FC", "#8080FC", "#7070FC", "#6060FC", "#5050FC", 
"#4040FC", "#6020FC", "#9015FC", "#AF10FC", "#CC10FC"
                    fontColors = "#333333", "#333333", "#333333", "#333333", 
"#333333", "#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", "#bbbbbb", 
"#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb"
                    [[[[[[summary]]]]]]
                        minvalues = 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 
24, 26, 28, 31
                        maxvalues = 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 
26, 28, 30, 367
                        colors = "#EDEDFC", "#E0E0FC", "#D0D0FC", "#C0C0FC", 
"#B0B0FC", "#A0A0FC", "#9090FC", "#8080FC", "#7070FC", "#6060FC", "#5050FC", 
"#4040FC", "#6020FC", "#9015FC", "#AF10FC", "#CC10FC"
                        fontColors = "#333333", "#333333", "#333333", 
"#333333", "#333333", "#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", 
"#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb"
        
        [[[HistoryReport]]]
            history_items = min_temp, avg_temp, max_temp, rain, rain_days, 
rain_rate, max_wind, summer_days, hot_days, desert_days, vegetations_days, 
frost_days, ice_days, NOAA
            [[[[rain_rate]]]]
                obs_type = rainRate
                aggregate_type = max
                summary_column = true
            
            [[[[summer_days]]]]
                obs_type = outTemp
                colors = summerDays, count    # colors are derived from 
obs_type per default, specify colors from [Colors] to override
                units = ""    # Override default table units label
                aggregate_type = max_ge
                aggregate_threshold = 25, degree_C
                summary_column = true
            
            [[[[hot_days]]]]
                obs_type = outTemp
                colors = hotDays, count    # colors are derived from obs_type 
per default, specify colors from [Colors] to override
                units = ""    # Override default table units label
                aggregate_type = max_ge
                aggregate_threshold = 30, degree_C
                summary_column = true
            
            [[[[desert_days]]]]
                obs_type = outTemp
                colors = desertDays, count    # colors are derived from 
obs_type per default, specify colors from [Colors] to override
                units = ""    # Override default table units label
                aggregate_type = max_ge
                aggregate_threshold = 35, degree_C
                summary_column = true
            
            [[[[vegetations_days]]]]
                obs_type = outTemp
                colors = vegetationDays, count    # colors are derived from 
obs_type per default, specify colors from [Colors] to override
                units = ""    # Override default table units label
                aggregate_type = avg_ge
                aggregate_threshold = 5, degree_C
                summary_column = true
            
            [[[[frost_days]]]]
                obs_type = outTemp
                colors = frostDays, count    # colors are derived from obs_type 
per default, specify colors from [Colors] to override
                units = ""    # Override default table units label
                aggregate_type = min_le
                aggregate_threshold = 0, degree_C
                summary_column = true
            
            [[[[ice_days]]]]
                obs_type = outTemp
                colors = iceDays, count    # colors are derived from obs_type 
per default, specify colors from [Colors] to override
                units = ""    # Override default table units label
                aggregate_type = max_le
                aggregate_threshold = 0, degree_C
                summary_column = true
    
    
    [[FTP0]]
        # FTP'ing the results to a webserver is treated as just another report,
        # albeit one with an unusual report generator!
        skin = Ftp
        
        # If you wish to use FTP, set "enable" to "true", then
        # fill out the next four lines.
        # Use quotes around passwords to guard against parsing errors.
        enable = true
        user = ****
        password = ****
        server = ****
        path = /Test/Rif/ws90
        
        # Set to True for a secure FTP (SFTP) connection. Not all servers
        # support this.
        secure_ftp = False
        
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        HTML_ROOT = public_html/Bootstrap/ws90
        
        # Most FTP servers use port 21
        port = 21
        
        # Set to 1 to use passive mode, zero for active mode
        passive = 1
    
    [[FTP]]
        # FTP'ing the results to a webserver is treated as just another report,
        # albeit one with an unusual report generator!
        skin = Ftp
        
        # If you wish to use FTP, set "enable" to "true", then
        # fill out the next four lines.
        # Use quotes around passwords to guard against parsing errors.
        enable = false
        user = replace_me
        password = replace_me
        server = replace_me    # The ftp server name, e.g, www.myserver.org
        path = replace_me    # The destination directory, e.g., /weather
        
        # Set to True for an FTP over TLS (FTPS) connection. Not all servers
        # support this.
        secure_ftp = False
        
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        #HTML_ROOT = public_html
        
        # Most FTP servers use port 21
        port = 21
        
        # Set to 1 to use passive mode, zero for active mode
        passive = 1
    
    [[RSYNC]]
        # rsync'ing to a webserver is treated as just another report
        skin = Rsync
        
        # If you wish to use rsync, you must configure passwordless ssh using
        # public/private key authentication from the user account that weewx
        # runs to the user account on the remote machine where the files
        # will be copied.
        #
        # If you wish to use rsync, set "enable" to "true", then
        # fill out server, user, and path.
        # The server should appear in your .ssh/config file.
        # The user is the username used in the identity file.
        # The path is the destination directory, such as /var/www/html/weather.
        # Be sure that the user has write permissions on the destination!
        enable = false
        server = replace_me
        user = replace_me
        path = replace_me
        
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        #HTML_ROOT = public_html
        
        # Rsync can be configured to remove files from the remote server if
        # they don't exist under HTML_ROOT locally. USE WITH CAUTION: if you
        # make a mistake in the remote path, you could could unintentionally
        # cause unrelated files to be deleted. Set to 1 to enable remote file
        # deletion, zero to allow files to accumulate remotely.
        delete = 0
    
    # Options in the [[Defaults]] section below will apply to all reports.
    # What follows are a few of the more popular options you may want to
    # uncomment, then change.
    [[Defaults]]
        
        # Which language to use for all reports. Not all skins support all 
languages.
        # You can override this for individual reports.
        lang = de_AT.utf8
        
        # Which unit system to use for all reports. Choices are 'us', 'metric', 
or 'metricwx'.
        # You can override this for individual reports.
        unit_system = metricwx
        
        [[[Units]]]
            
            # Option "unit_system" above sets the general unit system, but 
overriding specific unit
            # groups is possible. These are popular choices. Uncomment and set 
as appropriate.
            # NB: The unit is always in the singular. I.e., 'mile_per_hour',
            # NOT 'miles_per_hour'
            [[[[Groups]]]]
                # group_altitude     = meter              # Options are 'foot' 
or 'meter'
                # group_pressure     = hPa               # Options are 'inHg', 
'mmHg', 'mbar', or 'hPa'
                # group_rain         = mm                 # Options are 'inch', 
'cm', or 'mm'
                # group_rainrate     = mm_per_hour        # Options are 
'inch_per_hour', 'cm_per_hour', or 'mm_per_hour'
                # group_temperature  = degree_C           # Options are 
'degree_C', 'degree_F', or 'degree_K'
                # The following line is used to keep the above lines indented 
properly.
                # It can be ignored.
                # group_speed = km_per_hour    # Options are 'mile_per_hour', 
'km_per_hour', 'knot', or 'meter_per_second'
                # group_speed2 = km_per_hour2    # Options are 
'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2'
                unused = unused
            
            # Uncommenting the following section frequently results in more
            # attractive formatting of times and dates, but may not work in
            # your locale.
            [[[[TimeFormats]]]]
                # day        = %H:%M
                # week       = %H:%M on %A
                # month      = %d-%b-%Y %H:%M
                # year       = %d-%b-%Y %H:%M
                # rainyear   = %d-%b-%Y %H:%M
                # current    = %d-%b-%Y %H:%M
                # ephem_day  = %H:%M
                # ephem_year = %d-%b-%Y %H:%M
                # The following line is used to keep the above lines indented 
properly.
                # It can be ignored.
                unused = unused
        
        [[[Labels]]]
            # Users frequently change the labels for these observation types
            [[[[Generic]]]]
                # inHumidity     = Inside Humidity
                # inTemp         = Inside Temperature
                # outHumidity    = Outside Humidity
                # outTemp        = Outside Temperature
                # extraTemp1     = Temperature1
                # extraTemp2     = Temperature2
                # extraTemp3     = Temperature3
                # The following line is used to keep the above lines indented 
properly.
                # It can be ignored.
                unused = unused
        
        [[[Extras]]]
            location_href = https://de.wikipedia.org/wiki/Hallein
        
        [[[Stats]]]
            # This list determines which tables will appear on the stats page, 
as well as in which order.
            stats_items = outTemp, rain, rainRate, p_rain, p_rainRate, 
barometer, wind, lightning_strike_count
            [[[[p_rain]]]]
                [[[[[sum]]]]]
                    since_ever = false
                    show_time = false
                [[[[[maxsum]]]]]
                    show_today = false
                    label = Maximum daily rainfall (piezo)
            
            [[[[p_rainRate]]]]
                [[[[[max]]]]]
                    label = Maximum rain rate (piezo)
            
            [[[[lightning_strike_count]]]]
                [[[[[sum]]]]]
                    show_time = false
                [[[[[maxsum]]]]]
                    show_today = false
                    label = Maximum
        
        [[[News]]]
            [[[[30. Oktober 2023]]]]
                header = Neue Hardware
                body = "Im Frühjahr 2023 wurde neue Hardware für die 
Wetterstation angeschafft und war einige Monate lang in Testbetrieb. Am Dach 
tut jetzt ein Multisensor-Array seinen Dienst. Dieses misst unter anderem 
Windstärke und Windrichtung mittels Ultraschall-Anemometer, hat einen 
Helligkeitssensor, um auf die Globalstrahlung und den UV-Index schließen zu 
können und einen haptischen Niederschlagsensor, der Niederschlag meist früher 
erkennt, als ein klassischer Sensor mit Kippwaage. Ein neuer Sensor mit 
Kippwaage wurde auch angeschafft, der wie der haptische Sensor eine Auflösung 
von 0,1mm hat (alte Hardware: 0,25mm). Niederschlag wird so oft deutlich früher 
nach Niederschlagsbeginn in den Diagrammen sichtbar. Die Werte der beiden 
Niederschlagssensoren werden jeweils getrennt voneinander ausgewiesen. Die 
Daten der Wetterstation werden so im 10-Sekunden-Intervall übertragen. Dies, 
und zahlreiche Verbesserungen der Software dieser Seite, ermöglichen nun, das 
Wetter in Rif in Echtzeit beobachten zu können."
            #img_src = ../pv.jpg
            #img_alt = PV-Anlage
            #img_title = PV-Anlage an der Messtation
            [[[[3. Februar 2019]]]]
                header = PV-Daten Verfügbar
                body = "Ab sofort sind Daten aus der am Dach des Hauses 
befindlichen Photovoltaik-Anlage verfügbar. Angezeigt wird der Mittelwert der 
Wechselrichterausgangsleistung eines 5-Minuten-Intervals. Die Anlage hat eine 
Nennleistung von 3kW Peak und ist 155° SSO ausgerichtet. Der Wert im Diagramm 
ist ein guter Anhaltspunkt für die Intensität der Sonnenstrahlung vor Ort. 
Beinflusst wird der Wert aber natürlich auch davon, ob die Module frei sind, 
oder, wie am Bild beispielsweise, teilweise von Schnee bedeckt sind. Aber auch 
ein einzelnes Blatt, oder wenn der Schatten der Blitzschutzanlage auf ein Modul 
fällt, beeinflussen den Wert sichtbar, da bei teilweiser Beschattung die 
Paneele Sektorweise abgeschaltet werden."
                img_src = ../pv.jpg
                img_alt = PV-Anlage
                img_title = PV-Anlage an der Messtation
            [[[[1. Jänner 2019]]]]
                header = Neuer Standort seit 31.12.2018
                body = "Die Messstelle wurde am 31.12.2018 übersiedelt. Sie 
befindet sich nun ca. 150m vom bisherigen Standort entfernt. Der Temperatur- 
und Luftfeuchtesensor wurde in einer Wetterhütte untergebracht, der Windmesser 
befindet sich nun anstelle einer Baumkrone mit freier W-NW-N Anströmung, auf 
dem Dach eines Einfamlienhauses mit freier SW-S-O Anströmung, aus Richtung 
W-N-NO ist der Windmesser Verwirbelungen einer Siedlung ausgesetzt. Das 
Anemometer ist in einer Höhe von gut 2m über allen umgebenden Dachfirsten 
angebracht. Welchen Einfluss die übersiedelung auf die Interpretation der 
Messergebnisse hat, ist bis dato noch offen."
                img_src = ../thermometerhuette.jpg
                img_alt = Thermometerhütte
                img_title = Die Thermometerhütte der Messstation
        
        [[[ImageGenerator]]]
            [[[[day_images]]]]
                image_items = daytemp-Bootstrap, daybarometer-Bootstrap, 
dayrain-Bootstrap, dayhumidity-Bootstrap, daywind-Bootstrap, 
daywinddir-Bootstrap, dayradiation-Bootstrap
                
                [[[[[dayrain-Bootstrap]]]]]
                    [[[[[[rain]]]]]]
                        aggregate_interval = 1800
                        label = Rain (Sum 30min.)
            
            [[[[week_images]]]]
                image_items = weektemp-Bootstrap, weekbarometer-Bootstrap, 
weekrain-Bootstrap, weekhumidity-Bootstrap, weekwind-Bootstrap, 
weekwinddir-Bootstrap, weekradiation-Bootstrap
                
                [[[[[weekrain-Bootstrap]]]]]
                    [[[[[[rain]]]]]]
                        label = Rain (Sum 1h)
            
            [[[[month_images]]]]
                image_items = monthtemp-Bootstrap, monthbarometer-Bootstrap, 
monthrain-Bootstrap, monthhumidity-Bootstrap, monthwind-Bootstrap, 
monthwinddir-Bootstrap, monthradiation-Bootstrap
                
                [[[[[monthradiation-Bootstrap]]]]]
                    [[[[[[radiation]]]]]]
                        plot_type = bar
                        color = 0x11d2e3
                        fill_color = 0x0de0f3
                        aggregate_type = avg
                        aggregate_interval = 86400
                        label = Ø Radiation
                    [[[[[[max_radiation]]]]]]
                        line_type = none
                        marker_type = cross
                        marker_size = 3
                        data_type = radiation
                        aggregate_type = max
                        aggregate_interval = 86400
                        label = max. Radiation
            
            [[[[year_images]]]]
                image_items = yeartempmaxmin-Bootstrap, 
yearbarometer-Bootstrap, yearrain-Bootstrap, yearhumidity-Bootstrap, 
yearwind-Bootstrap, yearwinddir-Bootstrap, yearradiation-Bootstrap
                
                [[[[[yearrain-Bootstrap]]]]]
                    [[[[[[rain]]]]]]
                        label = Rain (Summe 24h)
                
                [[[[[yearradiation-Bootstrap]]]]]
                    [[[[[[radiation]]]]]]
                        plot_type = bar
                        color = 0x11d2e3
                        fill_color = 0x0de0f3
                        aggregate_type = avg
                        aggregate_interval = 86400
                        label = Ø Radiation
                    [[[[[[max_radiation]]]]]]
                        line_type = none
                        marker_type = cross
                        marker_size = 3
                        data_type = radiation
                        aggregate_type = max
                        aggregate_interval = 86400
                        label = max. Radiation
                
                                          
                                     
                                            
                                     
                                      
                                            
                                    
        
        [[[JSONGenerator]]]
            [[[[MQTT]]]]
                [[[[[connections]]]]]
                    [[[[[[my_mqtt_with_public_tokens]]]]]]
                        broker_connection = wss://mqtt.flespi.io:443
                        mqtt_username = ****
                        mqtt_password = ****
                        [[[[[[[topics]]]]]]]
                            [[[[[[[[weather_test_ws90/loop]]]]]]]]
                                type = JSON
        
        [[[LiveGauges]]]
            [[[[outTemp]]]]
                payload_key = outTemp_C
            
            [[[[barometer]]]]
                payload_key = barometer_mbar
            
            [[[[windSpeed]]]]
                payload_key = windSpeed_mps
                maxvalue = 100
                splitnumber = 5
                lineColorUntil = 75, maxvalue
            
            [[[[windGust]]]]
                payload_key = windGust_mps
                maxvalue = 160
                splitnumber = 8
                lineColorUntil = 75, maxvalue
        
        [[[LiveCharts]]]
            # This list determines which tables will appear on the week charts 
page, as well as in which order.
            live_chart_items = outTemp, barometer, rain, outHumidity, wind, 
windDir, radiation, lightning_strikes, air_quality_wh45
            
            [[[[outTemp]]]]
                [[[[[outTemp]]]]]
                    payload_key = outTemp_C
                [[[[[dewpoint]]]]]
                    payload_key = dewpoint_C
            
            [[[[barometer]]]]
                [[[[[barometer]]]]]
                    payload_key = barometer_mbar
            
            [[[[rain]]]]
                [[[[[rain]]]]]
                    payload_key = rain_mm
                [[[[[p_rain]]]]]
                    plotType = bar
                    aggregateType = sum
                    aggregateInterval = 1800
                    payload_key = p_rain_mm
                    showMaxMarkPoint = false
                    showMinMarkPoint = false
                    showAvgMarkLine = false
                    lineColor = "#428bca77"
                    decimals = 1
            
            [[[[wind]]]]
                [[[[[windSpeed]]]]]
                    payload_key = windSpeed_mps
                [[[[[windGust]]]]]
                    payload_key = windGust_mps
            
            
            [[[[radiation]]]]
                [[[[[radiation]]]]]
                    payload_key = luminosity
                    convertFunction = function(value) { return value / 126.7; }


##############################################################################

#   This service acts as a filter, converting the unit system coming from
#   the hardware to a unit system in the database.

[StdConvert]
    
    # The target_unit affects only the unit system in the database. Once
    # chosen it cannot be changed without converting the entire database.
    # Modification of target_unit after starting weewx will result in
    # corrupt data - the database will contain a mix of US and METRIC data.
    #
    # The value of target_unit does not affect the unit system for
    # reporting - reports can display US, Metric, or any combination of units.
    #
    # In most cases, target_unit should be left as the default: US
    #
    # In particular, those migrating from a standard wview installation
    # should use US since that is what the wview database contains.
    
    # DO NOT MODIFY THIS VALUE UNLESS YOU KNOW WHAT YOU ARE DOING!
    target_unit = METRICWX    # Options are 'US', 'METRICWX', or 'METRIC'

##############################################################################

#   This section can adjust data using calibration expressions.

[StdCalibrate]
    
    [[Corrections]]
        # For each type, an arbitrary calibration expression can be given.
        # It should be in the units defined in the StdConvert section.
        # Example:
        #foo = foo + 0.2
        #outHumidity = extraHumid1
        luminosity = radiation*126.7 if radiation is not None else None
        #lightning_distance = lightning_distance if lightning_strike_count > 0 
else None
        lightning_distance = lightning_dist if lightning_strike_count > 0 else 
None
        #pm2_5 = pm2_55
        #pm10_0 = pm10
        p_rainRate = p_rainrate

##############################################################################

#   This section is for quality control checks. If units are not specified,
#   values must be in the units defined in the StdConvert section.

[StdQC]
    
    [[MinMax]]
        barometer = 26, 32.5, inHg
        pressure = 24, 34.5, inHg
        outTemp = -40, 120, degree_F
        inTemp = 10, 120, degree_F
        outHumidity = 0, 100
        inHumidity = 0, 100
        windSpeed = 0, 120, mile_per_hour
        rain = 0, 10, inch
        co2 = 0, 65534, ppm
        pm1_0 = 0, 6553, microgram_per_meter_cubed
        pm2_5 = 0, 6553, microgram_per_meter_cubed
        pm4_0 = 0, 6553, microgram_per_meter_cubed
        pm10_0 = 0, 6553, microgram_per_meter_cubed

##############################################################################

#   This section controls the origin of derived values.

[StdWXCalculate]
    
    [[Calculations]]
        # How to calculate derived quantities.  Possible values are:
        #  hardware        - use the value provided by hardware
        #  software        - use the value calculated by weewx
        #  prefer_hardware - use value provide by hardware if available,
        #                      otherwise use value calculated by weewx
        
        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

##############################################################################

#   For hardware that supports it, this section controls how often the
#   onboard clock gets updated.

[StdTimeSynch]
    
    # How often to check the weather station clock for drift (in seconds)
    clock_check = 14400
    
    # How much it can drift before we will correct it (in seconds)
    max_drift = 1

##############################################################################

#   This section is for configuring the archive service.

[StdArchive]
    
    # If the station hardware supports data logging then the archive interval
    # will be downloaded from the station. Otherwise, specify it (in seconds).
    archive_interval = 300
    
    # If possible, new archive records are downloaded from the station
    # hardware. If the hardware does not support this, then new archive
    # records will be generated in software.
    # Set the following to "software" to force software record generation.
    record_generation = software
    
    # Whether to include LOOP data in hi/low statistics
    loop_hilo = True
    
    # Uncomment and change to override logging for archive operations
    # log_success = True
    # log_failure = True
    
    # The data binding used to save archive records
    data_binding = wx_binding

##############################################################################

#   This section binds a data store to a database.

[DataBindings]
    
    [[wx_binding]]
        # The database must match one of the sections in [Databases].
        # This is likely to be the only option you would want to change.
        database = archive_sqlite
        # The name of the table within the database
        table_name = archive
        # The manager handles aggregation of data for historical summaries
        manager = weewx.manager.DaySummaryManager
        # The schema defines the structure of the database.
        # It is *only* used when the database is created.
        schema = schemas.wview_extended.schema

##############################################################################

#   This section defines various databases.

[Databases]
    
    # A SQLite database is simply a single file
    [[archive_sqlite]]
        database_name = weewx-ws90.sdb
        database_type = SQLite
    
    # MySQL
    [[archive_mysql]]
        database_name = weewx
        database_type = MySQL

##############################################################################

#   This section defines defaults for the different types of databases.

[DatabaseTypes]
    
    # Defaults for SQLite databases
    [[SQLite]]
        driver = weedb.sqlite
        # Directory in which the database files are located, relative to 
WEEWX_ROOT:
        SQLITE_ROOT = archive
    
    # Defaults for MySQL databases
    [[MySQL]]
        driver = weedb.mysql
        # The host where the database is located
        host = localhost
        # The user name for logging in to the host
        user = weewx
        # The password (use quotes to guard against parsing errors)
        password = weewx

##############################################################################

#   This section configures the internal weewx engine.

[Engine]
    
    # The following section specifies which services should be run and in what 
order.
    [[Services]]
        prep_services = weewx.engine.StdTimeSynch
        data_services = ,
        process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, 
weewx.engine.StdQC, weewx.wxservices.StdWXCalculate
        xtype_services = weewx.wxxtypes.StdWXXTypes, 
weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater, 
weewx.wxxtypes.StdDelta
        archive_services = weewx.engine.StdArchive
        restful_services = weewx.restx.StdStationRegistry, 
weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, 
weewx.restx.StdWOW, weewx.restx.StdAWEKAS, user.mqtt.MQTT
        report_services = weewx.engine.StdPrint, weewx.engine.StdReport

[EcowittHttp]
    # This section is for the Ecowitt Local HTTP API driver.
    # The device IP address:
    ip_address = 192.168.1.84
    # How often to poll the API, default is every 20 seconds:
    poll_interval = 10
    # The driver to use:
    driver = user.ecowitt_http
    # Is a WN32P used for indoor temperature, humidity and pressure
    wn32_indoor = True
    # Is a WN32 used for outdoor temperature and humidity
    wn32_outdoor = True
    # how many attempts to contact the device before giving up
    max_tries = 3
    # wait time in seconds between retries to contact the device
    retry_wait = 5
    # max wait for device to respond to a HTTP request
    url_timeout = 10
    [[catchup]]
        source = device # source = either, both, net, device  ## not set = 
None, default is then either or both
    [[field_map_extensions]]
        #batteryStatus1 = ws90.battery
        #rain = rain.0x10.val
        #stormRain = rain.0x0D.val
        #rainRate = rain.0x0E.val
        #hourRain = t_rainhour
        #dayRain = rain.0x10.val
        #weekRain = rain.0x11.val
        #monthRain = rain.0x12.val
        #yearRain = rain.0x13.val
        #is_raining = piezoRain.srain_piezo.val
        #p_rain = piezoRain.0x10.val
        #p_stormRain = piezoRain.0x0D.val
        #p_rainRate = piezoRain.0x0E.val
        #p_hourRain = p_rainhour
        #p_dayRain = piezoRain.0x10.val
        #p_weekRain = piezoRain.0x11.val
        #p_monthRain = piezoRain.0x12.val
        #p_yearRain = piezoRain.0x13.val
        #vpd = common_list.5.val
        #lightning_distance = lightning.distance
        #lightning_last_det_time = lightning.timestamp
        #lightningcount = lightning.count
        pm2_5 = co2.PM10
        #pm2_52_24h_avg = ch_pm25.1.PM25_24HAQI
        pm10_0 = co2.PM10
        #luminosity = common_list.0x15.val

#[Accumulator]
#    [[p_rain]]
#        extractor = sum
#    [[p_rainrate]]
#        extractor = max

Reply via email to