I tried to follow the proposal of an extension of the DB schema, but as I am using a quite different setup (similar to / derived from the Brultech monitor) I failed in the step of updating.
My attempt was to add the until now calculated value "heating_COP" to the database. Adding the column worked: root@localhost:/home/weewx2# ./bin/weectl database add-column heating_COP --config=wpm.conf --binding=wpm_binding Using configuration file wpm.conf Add new column 'heating_COP' of type 'REAL' to database 'wpm.sdb' (y/n)? y New column heating_COP of type REAL added to database. But updating did not work, it insists in using the default binding that I do not use: root@localhost:/home/weewx2# ./bin/weectl database calc-missing --config=wpm.conf --binding=wpm_binding Using configuration file wpm.conf Missing derived observations will be calculated for all records. Proceed (y/n)? y Calculating missing derived observations... Error: 'Unknown data binding ''wx_binding''' Perhaps StdWXCalculate is using a different binding. Check configuration file [StdWXCalculate] stanza Nothing done. Aborting. Any ideas? vince schrieb am Sonntag, 25. Februar 2024 um 21:01:22 UTC+1: > This has come up a lot of times vs. the Seasons skin if that's what you're > referring to. v5 calculates things it expects are available in the db as > needed, which is slow. In most cases adding the columns to the schema > makes the problem go away. This seems to be coming up for folks starting > in v3 weewx who are using the original wview-compatible schema rather than > the wview_extended bigger schema that first appeared in v4 weewx. > > You can check to see if you're already running the extended schema in your > db already by just counting the number of fields: > echo "SELECT count() FROM PRAGMA_TABLE_INFO('archive');" | > sqlite3 weewx.sdb > > The extended schema will return a count of 114. The original schema had > around 53 or so if I recall correctly. If you're weewx 3.x you are > probably going to see 53 as your answer. > > If you are running the small original schema you can either figure out > which columns are missing and add just those, or update your db to the > newer/bigger schema and not worry it. Given you have a fast PC to do this > on, personally I'd upgrade the db to the big one. Doesn't take that long > if you throw some compute at it. > > On Sunday, February 25, 2024 at 11:30:14 AM UTC-8 loeriver wrote: > >> Sorry for this late question: >> >> I went through this performance issue also and to have an apples to >> apples comparison I set up weewx 4.10.2 and 5.0.2 on the same computer and >> had it running with a large db (280MB). >> >> For 4.10.2 file generation takes around 0.3s, for 5.0.2 it takes 13s (on >> a well-equipped PC, on my Raspi-type system it is >100s). >> >> Following the explanation from Tom Keffer ("... In V4, this would not >> have even been attempted." ...) I would expect that in the output for >> v4.10.2 some data should be missing / empty or different compared to the >> 5.0.2 output. But this I do not see: Can somebody point me to the data I >> should compare for this? >> >> WindnFog schrieb am Samstag, 20. Januar 2024 um 14:14:08 UTC+1: >> >>> Rewording Tom's post to align with one of my professors decades ago, >>> "That will work, but let's do it the right way." Using 'weectl database' >>> (followed by the proper parameters) is the right way. Humidex is now stored >>> in the database, and '$alltime.humidex.max' takes a split second to return >>> the correct result. My Rube Goldberg software machine has been dismantled. >>> >>> - Paul VE1DX >>> >>> On Friday, January 19, 2024 at 10:55:50 AM UTC-4 Tom Keffer wrote: >>> >>>> I mean this in the gentlest way, but this is basically what the SQLite >>>> database is doing for you: saving various values in a file where they can >>>> be retrieved via a general query statement. >>>> >>>> On Fri, Jan 19, 2024 at 6:16 AM WindnFog <foc...@gmail.com> wrote: >>>> >>>>> I encountered the same problem trying to calculate the all time >>>>> humidex in the index.html.tmpl template. This was taking about 3 minutes >>>>> on a Pi 4. Rather than add humidex to the database (probably the best >>>>> solution), I calculated all-time humidex once a day using a small program >>>>> and invoking it with cron. I saved it in a text file that I could then >>>>> use >>>>> the Cheetah include statement to read it into index.the html.tmpl >>>>> template. This runs in 2 seconds on a Pi 4 and 1 second on a pi 5; if >>>>> you >>>>> have an algorithm for appTemp, a similar approach might work. I was not >>>>> comfortable with modifying the database because that's not my area of >>>>> expertise: >>>>> >>>>> #!/usr/bin/env python3 >>>>> # -*- coding: utf-8 -*- >>>>> >>>>> """ >>>>> Program: WeeWX Humidex calculator >>>>> Author: Paul M Dunphy >>>>> Date: 12 December 2023 >>>>> Version: 1.0.0 >>>>> Description: This script sweeps through the Weewx database and >>>>> calculates the >>>>> derived parameter humidex for each record. It then >>>>> returns the >>>>> maximum humidex and the date/time when it occured. >>>>> This takes >>>>> about 1.5 seconds on a 900,000 record database as >>>>> opposed to 3.5 >>>>> minutes by the WeeWX system if the recommended >>>>> aggregate values >>>>> are implemented in the Standard/index.html.tmpl file: >>>>> >>>>> $alltime.humidex.max ($alltime.humidex.max.degree_F) >>>>> $alltime.humidex.maxtime.format($ALLTIMEFMT) >>>>> >>>>> It's not clear why the weeWX system takes so long. >>>>> Possibly >>>>> because it's doing many other things at the same time. >>>>> >>>>> >>>>> This runs on a Raspberry Pi 4B (4 GB Ram) using Debian >>>>> 12 >>>>> """ >>>>> >>>>> # Required Libraries >>>>> >>>>> import sqlite3 >>>>> import math >>>>> from datetime import datetime >>>>> import pytz >>>>> from pytz import timezone >>>>> >>>>> >>>>> def calculate_humidex(temperature, dewpoint): >>>>> # Constants for the formula >>>>> k = 273.15 # Conversion factor for Celsius to Kelvin >>>>> >>>>> # Convert temperatures to Kelvin >>>>> temperature + k >>>>> dewpoint_k = dewpoint + k >>>>> >>>>> # Calculate vapor pressure in hPa >>>>> vapor_pressure = 6.112 * math.exp(5417.7530 * ((1 / 273.16) - (1 / >>>>> dewpoint_k))) >>>>> >>>>> # Humidex calculation >>>>> humidex = temperature + ((vapor_pressure - 10) * 0.5555) >>>>> return humidex >>>>> >>>>> >>>>> def get_max_humidex(database_path): >>>>> # Connect to the WeeWX database >>>>> conn = sqlite3.connect(database_path) >>>>> cursor = conn.cursor() >>>>> >>>>> # Query for temperature, dewpoint, and dateTime for all records >>>>> query = "SELECT outTemp, dewpoint, dateTime FROM archive" >>>>> cursor.execute(query) >>>>> >>>>> # Variables to track the maximum humidex and its date >>>>> maximum_humidex = None >>>>> maximum_humidex_date = None >>>>> >>>>> for row in cursor: >>>>> temperature, dewpoint, date_time = row >>>>> if temperature is not None and dewpoint is not None: >>>>> humidex = calculate_humidex(temperature, dewpoint) >>>>> if maximum_humidex is None or humidex > maximum_humidex: >>>>> maximum_humidex = humidex >>>>> maximum_humidex_date = date_time >>>>> >>>>> conn.close() >>>>> return maximum_humidex, maximum_humidex_date >>>>> >>>>> >>>>> def convert_utc_to_ast_adt(utc_datetime): >>>>> """ >>>>> Convert a UTC datetime to AST or ADT depending on the date. >>>>> >>>>> Parameters: >>>>> utc_datetime (datetime): UTC datetime object. >>>>> >>>>> Returns: >>>>> datetime: Datetime object in AST or ADT. >>>>> """ >>>>> # Define the time zone for AST/ADT >>>>> ast_tz = timezone('America/Halifax') >>>>> >>>>> # Localize the UTC datetime to the AST/ADT timezone >>>>> local_datetime = ast_tz.normalize(utc_datetime.astimezone(ast_tz)) >>>>> >>>>> return local_datetime >>>>> >>>>> >>>>> def format_date(unix_timestamp): >>>>> """ >>>>> Format a UNIX timestamp into a human-readable string in AST or ADT. >>>>> >>>>> Parameters: >>>>> unix_timestamp (int): UNIX timestamp. >>>>> >>>>> Returns: >>>>> str: Formatted date string. >>>>> """ >>>>> # Create a UTC datetime from the UNIX timestamp >>>>> utc_datetime = >>>>> datetime.utcfromtimestamp(unix_timestamp).replace(tzinfo=pytz.utc) >>>>> >>>>> # Convert UTC to AST or ADT >>>>> local_datetime = convert_utc_to_ast_adt(utc_datetime) >>>>> >>>>> # Format the local datetime >>>>> return local_datetime.strftime("%I:%M %p on %d %b %Y") >>>>> >>>>> >>>>> db_path = '/home/pdunphy/weewx-data/archive/weewx.sdb' >>>>> max_humidex, max_humidex_date = get_max_humidex(db_path) >>>>> >>>>> # Convert Humidex to Fahrenheit >>>>> max_humidex_f = max_humidex * 9 / 5 + 32 >>>>> >>>>> # Format and print the result >>>>> print(f"{max_humidex:.1f} C ({max_humidex_f:.1f} F) at >>>>> {format_date(max_humidex_date)}") >>>>> >>>>> # Format the result >>>>> output = f"{max_humidex:.1f} C ({max_humidex_f:.1f} F) at >>>>> {format_date(max_humidex_date)}" >>>>> >>>>> # Write the result to a file >>>>> output_file_path = >>>>> '/home/pdunphy/weewx-data/skins/Standard/Standard_all_time_humidex.txt' >>>>> with open(output_file_path, 'w') as file: >>>>> file.write(output) >>>>> >>>>> print(f"Output written to {output_file_path}") >>>>> >>>>> >>>>> >>>>> On Thursday, January 18, 2024 at 7:12:14 PM UTC-4 Tom Keffer wrote: >>>>> >>>>>> Using Blaine's database, I was able to isolate the performance >>>>>> problems. >>>>>> >>>>>> It's in the template records/index.html.tmpl >>>>>> >>>>>> Specifically, apparent temperature (appTemp). It does not appear in >>>>>> the database, so a simple tag such as $alltime.appTemp.max requires >>>>>> searching the engine database, calculating apparent temperature for each >>>>>> record, then finding the max value. >>>>>> >>>>>> In V4, this would not have even been attempted. >>>>>> >>>>>> The solution is to add appTemp to the database. >>>>>> >>>>>> On Thu, Jan 18, 2024 at 1:33 PM vince <vince...@gmail.com> wrote: >>>>>> >>>>>>> Tom - the NOAA stuff builds from this db ok for me v5 pip on pi3+. >>>>>>> The Seasons skin NOAA file for 2024-01 'is' being updated every >>>>>>> archive period. >>>>>>> The historical files dating back to 2014 generated fine. >>>>>>> >>>>>>> Unrelated but interesting..... >>>>>>> >>>>>>> - this db shows the Belchertown taking too long issue >>>>>>> - running htop I see it peg two cpus and StdReport aborts due to >>>>>>> time vs. the Simulator 300 sec on a pi3+ >>>>>>> - Belchertown 'always' takes longer than 300 secs and weewx >>>>>>> always aborts due to StdReport not completing in 300 secs >>>>>>> - yet the same installation with 'my' db works fine with no >>>>>>> issues, so it 'has' to be content of the db being used doesn't it ? >>>>>>> - I have been unable to get Belchertown to succeed even at 600 >>>>>>> secs archive period. >>>>>>> >>>>>>> Question - why would the db be 'locked' if a skin is reading it in >>>>>>> order to process its contents ?????? >>>>>>> >>>>>>> last restart/failure... >>>>>>> >>>>>>> Jan 18 13:15:10 pi3plus weewxd[1756]: INFO __main__: Starting up >>>>>>> weewx version 5.0.0 >>>>>>> Jan 18 13:15:10 pi3plus weewxd[1756]: INFO weewx.engine: Clock error >>>>>>> is -0.21 seconds (positive is fast) >>>>>>> Jan 18 13:15:10 pi3plus weewxd[1756]: INFO weewx.engine: Using >>>>>>> binding 'wx_binding' to database 'weewx.sdb' >>>>>>> Jan 18 13:15:10 pi3plus weewxd[1756]: INFO weewx.manager: Starting >>>>>>> backfill of daily summaries >>>>>>> Jan 18 13:15:10 pi3plus weewxd[1756]: INFO weewx.manager: Daily >>>>>>> summaries up to date >>>>>>> Jan 18 13:15:10 pi3plus weewxd[1756]: INFO weewx.engine: Starting >>>>>>> main packet loop. >>>>>>> Jan 18 13:20:15 pi3plus weewxd[1756]: INFO weewx.manager: Added >>>>>>> record 2024-01-18 13:20:00 PST (1705612800) to database 'weewx.sdb' >>>>>>> Jan 18 13:20:15 pi3plus weewxd[1756]: INFO weewx.manager: Added >>>>>>> record 2024-01-18 13:20:00 PST (1705612800) to daily summary in >>>>>>> 'weewx.sdb' >>>>>>> Jan 18 13:20:19 pi3plus weewxd[1756]: INFO weewx.cheetahgenerator: >>>>>>> Generated 8 files for report SeasonsReport in 3.96 seconds >>>>>>> Jan 18 13:20:24 pi3plus weewxd[1756]: INFO weewx.imagegenerator: >>>>>>> Generated 30 images for report SeasonsReport in 4.80 seconds >>>>>>> Jan 18 13:20:24 pi3plus weewxd[1756]: INFO weewx.reportengine: >>>>>>> Copied 5 files to /home/pi/weewx-data/public_html >>>>>>> Jan 18 13:20:24 pi3plus weewxd[1756]: INFO user.belchertown: version >>>>>>> 1.3.1 >>>>>>> Jan 18 13:30:15 pi3plus weewxd[1756]: INFO weewx.manager: Added >>>>>>> record 2024-01-18 13:30:00 PST (1705613400) to database 'weewx.sdb' >>>>>>> Jan 18 13:30:15 pi3plus weewxd[1756]: INFO weewx.manager: Added >>>>>>> record 2024-01-18 13:30:00 PST (1705613400) to daily summary in >>>>>>> 'weewx.sdb' >>>>>>> Jan 18 13:30:20 pi3plus weewxd[1756]: INFO weewx.engine: Main loop >>>>>>> exiting. Shutting engine down. >>>>>>> Jan 18 13:30:20 pi3plus weewxd[1756]: INFO weewx.engine: Shutting >>>>>>> down StdReport thread >>>>>>> Jan 18 13:30:40 pi3plus weewxd[1756]: ERROR weewx.engine: Unable to >>>>>>> shut down StdReport thread >>>>>>> Jan 18 13:30:40 pi3plus weewxd[1756]: CRITICAL __main__: Database >>>>>>> OperationalError exception: database is locked >>>>>>> Jan 18 13:30:40 pi3plus weewxd[1756]: CRITICAL __main__: **** >>>>>>> Waiting 2 minutes then retrying... >>>>>>> Jan 18 13:30:42 pi3plus weewxd[1756]: INFO weewx.cheetahgenerator: >>>>>>> Generated 12 files for report Belchertown in 617.64 seconds >>>>>>> Jan 18 13:30:42 pi3plus weewxd[1756]: INFO weewx.reportengine: >>>>>>> Copied 40 files to /home/pi/weewx-data/public_html/belchertown >>>>>>> >>>>>>> >>>>>>> weewx related open files: >>>>>>> >>>>>>> pi@pi3plus:~/weewx-data $ lsof|grep weew >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 217360 272588 >>>>>>> /home/pi/weewx-data/skins/Seasons/font/OpenSans-Regular.ttf >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 224592 272587 >>>>>>> /home/pi/weewx-data/skins/Seasons/font/OpenSans-Bold.ttf >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 1630340 271670 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/PIL/_ >>>>>>> imaging.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 2528660 271317 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/ephem/_ >>>>>>> libastro.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 56296 271675 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/PIL/_ >>>>>>> imagingmath.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 93216 271673 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/PIL/_ >>>>>>> imagingft.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 45064 271812 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/Cheetah/_ >>>>>>> namemapper.cpython-311-arm-linux-gnueabihf.so >>>>>>> >>>>>>> When its cpus are pegged trying to process Belchertown: >>>>>>> >>>>>>> python3 1633 pi cwd DIR 179,2 >>>>>>> 4096 272808 /home/pi/weewx-data/skins/Belchertown >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 217360 272588 >>>>>>> /home/pi/weewx-data/skins/Seasons/font/OpenSans-Regular.ttf >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 224592 272587 >>>>>>> /home/pi/weewx-data/skins/Seasons/font/OpenSans-Bold.ttf >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 1630340 271670 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/PIL/_ >>>>>>> imaging.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 2528660 271317 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/ephem/_ >>>>>>> libastro.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 56296 271675 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/PIL/_ >>>>>>> imagingmath.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 93216 271673 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/PIL/_ >>>>>>> imagingft.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 pi mem REG 179,2 >>>>>>> 45064 271812 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/Cheetah/_ >>>>>>> namemapper.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 pi 4uw REG 179,2 >>>>>>> 163410944 41497 /home/pi/weewx-data/archive/weewx.sdb >>>>>>> python3 1633 pi 5uw REG 179,2 >>>>>>> 163410944 41497 /home/pi/weewx-data/archive/weewx.sdb >>>>>>> python3 1633 pi 6u REG 179,2 >>>>>>> 87200 275903 /home/pi/weewx-data/archive/weewx.sdb-journal >>>>>>> python3 1633 1853 python3 pi cwd DIR 179,2 >>>>>>> 4096 272808 /home/pi/weewx-data/skins/Belchertown >>>>>>> python3 1633 1853 python3 pi mem REG 179,2 >>>>>>> 217360 272588 >>>>>>> /home/pi/weewx-data/skins/Seasons/font/OpenSans-Regular.ttf >>>>>>> python3 1633 1853 python3 pi mem REG 179,2 >>>>>>> 224592 272587 >>>>>>> /home/pi/weewx-data/skins/Seasons/font/OpenSans-Bold.ttf >>>>>>> python3 1633 1853 python3 pi mem REG 179,2 >>>>>>> 1630340 271670 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/PIL/_ >>>>>>> imaging.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 1853 python3 pi mem REG 179,2 >>>>>>> 2528660 271317 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/ephem/_ >>>>>>> libastro.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 1853 python3 pi mem REG 179,2 >>>>>>> 56296 271675 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/PIL/_ >>>>>>> imagingmath.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 1853 python3 pi mem REG 179,2 >>>>>>> 93216 271673 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/PIL/_ >>>>>>> imagingft.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 1853 python3 pi mem REG 179,2 >>>>>>> 45064 271812 >>>>>>> /home/pi/weewx-venv/lib/python3.11/site-packages/Cheetah/_ >>>>>>> namemapper.cpython-311-arm-linux-gnueabihf.so >>>>>>> python3 1633 1853 python3 pi 4uw REG 179,2 >>>>>>> 163410944 41497 /home/pi/weewx-data/archive/weewx.sdb >>>>>>> python3 1633 1853 python3 pi 5uw REG 179,2 >>>>>>> 163410944 41497 /home/pi/weewx-data/archive/weewx.sdb >>>>>>> python3 1633 1853 python3 pi 6u REG 179,2 >>>>>>> 87200 275903 /home/pi/weewx-data/archive/weewx.sdb-journal >>>>>>> >>>>>>> >>>>>>> On Thursday, January 18, 2024 at 12:18:18 PM UTC-8 Blaine wrote: >>>>>>> >>>>>>>> Thank you for the reply! Yes, I have tried this many times. It >>>>>>>> continues to regenerate them with the missing data. >>>>>>>> >>>>>>>> On Wednesday, January 17, 2024 at 6:29:41 PM UTC-8 Tom Keffer wrote: >>>>>>>> >>>>>>>> Have you tried completely deleting all NOAA reports and letting >>>>>>>> weewx regenerate them? >>>>>>>> >>>>>>>> On Wed, Jan 17, 2024 at 9:32 AM Blaine <bgri...@gmail.com> wrote: >>>>>>>> >>>>>>>> Way back in 2020 my NOAA reports stopped populating their daily >>>>>>>> values. The average values for the month continue to be populated at >>>>>>>> the >>>>>>>> bottom of the table. Since 2020 every year or so I have spent hours >>>>>>>> banging >>>>>>>> my head against the wall following any and all instructions on the >>>>>>>> wiki, >>>>>>>> github, google and this user group to attempt to repair this issue. >>>>>>>> None of >>>>>>>> the published instructions seem to help. I have never been successful. >>>>>>>> >>>>>>>> If this is a problem that can be solved I would be more than happy >>>>>>>> to pay someone to help fix this issue knowing full well there are no >>>>>>>> guarantees recovery is possible. This data is important to me and >>>>>>>> having >>>>>>>> essentially lost years worth with no chance of recovery is a real >>>>>>>> bummer. >>>>>>>> >>>>>>>> -- >>>>>>>> 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 weewx-user+...@googlegroups.com. >>>>>>>> To view this discussion on the web visit >>>>>>>> https://groups.google.com/d/msgid/weewx-user/6be270a2-961f-4952-85b0-6074332671een%40googlegroups.com >>>>>>>> >>>>>>>> <https://groups.google.com/d/msgid/weewx-user/6be270a2-961f-4952-85b0-6074332671een%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>> . >>>>>>>> >>>>>>>> -- >>>>>>> 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 weewx-user+...@googlegroups.com. >>>>>>> >>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/weewx-user/2bed5055-542d-4ef2-8e32-312e306af59cn%40googlegroups.com >>>>>>> >>>>>>> <https://groups.google.com/d/msgid/weewx-user/2bed5055-542d-4ef2-8e32-312e306af59cn%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>>> 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 weewx-user+...@googlegroups.com. >>>>> >>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/weewx-user/44a584f4-b98d-4180-9aa8-4d0f5bdc67f0n%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/weewx-user/44a584f4-b98d-4180-9aa8-4d0f5bdc67f0n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- 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 weewx-user+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/f579b6ae-8a51-43da-868c-a2df6243f7d0n%40googlegroups.com.