Dear Glenn, Thank you for your feedback and support. In order to do it clean I have done it again from scratch so...
raspbian stretch minimal image file copied to SD card sudo raspi-config (to enable 1-Wire) wget -qO - http://weewx.com/keys.html | sudo apt-key add - wget -qO - http://weewx.com/apt/weewx.list | sudo tee /etc/apt/sources.list.d/weewx.list sudo apt-get update sudo apt-get install weewx and choose Simulator as default station To check weewx status I run sudo systemctl status weewx.service and it is active so... sudo systemctl stop weewx.service now sudo systemctl status weewx.service shows inactive and then the steps in https://github.com/weewx/weewx/wiki/owfs that is... wget http://lancet.mit.edu/mwall/projects/weather/releases/weewx-owfs-0.21.tgz sudo apt-get install python-ow sudo wee_extension --install weewx-owfs-0.21.tgz sudo reboot sudo systemctl status weewx.service is active so... sudo systemctl stop weewx.service as you well note 1-wire bus can be accessed from one process at a time. PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/owfs.py --sensors gives the usual error: Traceback (most recent call last): File "/usr/share/weewx/user/owfs.py", line 618, in <module> main() File "/usr/share/weewx/user/owfs.py", line 578, in main ow.init(iface) File "/usr/lib/python2.7/dist-packages/ow/__init__.py", line 224, in init raise exNoController ow.exNoController However adding sudo results in a different message: PYTHONPATH=/usr/share/weewx sudo python /usr/share/weewx/user/owfs.py --sensors Traceback (most recent call last): File "/usr/share/weewx/user/owfs.py", line 168, in <module> import weewx ImportError: No module named weewx So this time I have done as follows: sudo nano /etc/weewx/weewx.conf station_type = Simulator to station_type = OWFS and [OWFS] interface = u driver = user.owfs [[sensor_type]] [[sensor_map]] to [OWFS] interface = localhost:4304 driver = user.owfs [[sensor_type]] [[sensor_map]] Truth is I just want the DS18B20 sensor readings (pins to GPIO physical pins 1 (power), 6 (gnd) and 7 (GPIO4) to be output by whichever interface it has to be. No changes to sensor type as I expect --sensors to output the true valid value for that DS18B20. PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/owfs.py --sensors PYTHONPATH=/usr/share/weewx sudo python /usr/share/weewx/user/owfs.py --sensors PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/owfs.py --iface localhost:4304 --sensors PYTHONPATH=/usr/share/weewx sudo python /usr/share/weewx/user/owfs.py --iface localhost:4304 --sensors result in the same respective errors as indicated above pi@raspberrypi:~ $ tail /var/log/syslog Dec 12 12:57:42 raspberrypi systemd[1]: Reached target Multi-User System. Dec 12 12:57:42 raspberrypi systemd[1]: Reached target Graphical Interface. Dec 12 12:57:43 raspberrypi systemd[1]: Starting Update UTMP about System Runlevel Changes... Dec 12 12:57:43 raspberrypi systemd[1]: Started Update UTMP about System Runlevel Changes. Dec 12 12:57:43 raspberrypi systemd[1]: Startup finished in 2.942s (kernel) + 1min 31.756s (userspace) = 1min 34.698s. Dec 12 12:59:08 raspberrypi OWFS[487]: DEFAULT: owlib.c:(208) Cannot open USB bus master Dec 12 12:59:08 raspberrypi OWFS[487]: DEFAULT: owlib.c:(52) No valid 1-wire buses found Dec 12 13:02:50 raspberrypi OWFS[501]: DEFAULT: owlib.c:(52) No valid 1-wire buses found Dec 12 13:07:53 raspberrypi OWFS[535]: DEFAULT: owlib.c:(208) Cannot open USB bus master Dec 12 13:07:53 raspberrypi OWFS[535]: DEFAULT: owlib.c:(52) No valid 1-wire buses found I realize I have not installed the webserver so... sudo apt-get install lighttpd sudo reboot Just to check weewx status I run pi@raspberrypi:~ $ sudo systemctl status weewx.service ● weewx.service - LSB: weewx weather system Loaded: loaded (/etc/init.d/weewx; generated; vendor preset: enabled) Active: active (exited) since Tue 2017-12-12 13:20:34 CET; 1min 53s ago Docs: man:systemd-sysv-generator(8) Process: 249 ExecStart=/etc/init.d/weewx start (code=exited, status=0/SUCCESS) CGroup: /system.slice/weewx.service Dec 12 13:20:34 raspberrypi weewx[349]: owfs: driver version is 0.21 Dec 12 13:20:34 raspberrypi weewx[349]: owfs: interface is localhost:4304 Dec 12 13:20:34 raspberrypi weewx[349]: owfs: sensor map is {} Dec 12 13:20:34 raspberrypi weewx[349]: owfs: sensor type map is {} Dec 12 13:20:34 raspberrypi weewx[349]: owfs: polling interval is 10 Dec 12 13:20:34 raspberrypi weewx[349]: owfs: sensor unit system is metric Dec 12 13:20:39 raspberrypi OWFS[349]: DEFAULT: owlib.c:(52) No valid 1-wire buses found Dec 12 13:20:39 raspberrypi OWFS[349]: import of driver failed: (<class 'ow.exNoController'>) Dec 12 13:20:39 raspberrypi OWFS[349]: engine: Unable to load driver: Dec 12 13:20:39 raspberrypi OWFS[349]: **** Exiting... So there it is, the same error. So it seems now there is no way to get the --sensors value... I have attached a link to the three config files: sudo nano /etc/owfs.conf sudo nano /etc/weewx/weewx.conf sudo nano /usr/share/weewx/user/owfs.py https://drive.google.com/file/d/13B-OK5jkk3gvaZfAD1wtLG-HsQlI1X83/view?usp=sharing https://drive.google.com/file/d/1rsiSCD1EHqRcsFaZlTfKR5N_LVtoXmDN/view?usp=sharing https://drive.google.com/file/d/1B-uuRXHjcd30WOwyUltIHRSxphXmFxXd/view?usp=sharing I appreciate your support once more as I am sure this will be sorted for sure :) Regards, On 12 December 2017 at 03:40, Glenn McKechnie <glenn.mckech...@gmail.com> wrote: > First thing, either run weewx or use PYTHONPATH=/usr/share/weewx > python /usr/share/weewx/user/owfs.py > You can't run them both (ie: stop weewx if you use PYTHONPA)TH > > > weewx.conf > > station_type = OWFS > is correct. > > [OWFS] > interface = u > > That's telling weewx that the driver is on the usb (u) interface > That's not what you have, I believe what you want is... > > [OWFS] > interface = localhost:4304 > > under [[sensor_map]] you're going to need to tell it what sensors you > have and what you want them to show as; and under [[sensor_type]] you > may need to refine an entry, except for temperature where you can > accept the hardcoded default. > > > Shutdown weewx for this next step, remember you can only access the > 1-wire bus from one process at a time. > > So this is where > > sudo PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/owfs.py > --iface localhost:4304 --readings > > comes into its own. > > from that output, find what you want amongst the values returned and > then use ... > > PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/owfs.py > --iface localhost:4304 --reading /10.67C6697351FF/temperature > > to test it out, or be bold and plug it straight into weewx.conf. > > You possibly want > > [[sensor_map]] > outTemp = /10.67C6697351FF/temperature > > If more explanation is required then open > /usr/share/weewx/user/owfs.py and read the comments in there, it may > expand on the wiki entry or my summary above? > > Once you have weewx.conf setup, restart weewx with the old init method > > /etc/init.d/weewx stop > /etc/init.d/weewx start > > If you just want to see what's weewx is picking up in the packets then > use, for the short term only... > /usr/bin/weewxd /etc/weewx/weewx.conf > > but DON'T use the direct method while weewx is running, always stop it > for direct sensor access. (ie no PYTHONPATH=/usr/share/weewx... > anything) > > > Cheers > Glenn > > rorpi - read only raspberry pi & various weewx addons > https://github.com/glennmckechnie > > > On 12 December 2017 at 12:26, mixpc75 <mixp...@gmail.com> wrote: > > Glen, thank you for writing back. Yes, I had it as service, not driver. > So I > > have installed everything from scratch... > > > > raspbian stretch minimal image file copied to SD card > > sudo raspi-config (to enable 1-Wire) > > wget -qO - http://weewx.com/keys.html | sudo apt-key add - > > wget -qO - http://weewx.com/apt/weewx.list | sudo tee > > /etc/apt/sources.list.d/weewx.list > > sudo apt-get update > > sudo apt-get install weewx > > sudo apt-get install lighttpd > > > > and then the steps in https://github.com/weewx/weewx/wiki/owfs > > that is... > > wget > > http://lancet.mit.edu/mwall/projects/weather/releases/ > weewx-owfs-0.21.tgz > > sudo apt-get install python-ow > > sudo wee_extension --install weewx-owfs-0.21.tgz > > sudo reboot > > > > 192.168.1.2/weewx correctly shows the Simulator website > > > > Only problem is that now... > > > > sudo PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/owfs.py > > --iface localhost:4304 --sensors > > > > is not producing any output but error: > > > > pi@raspberrypi:~ $ sudo PYTHONPATH=/usr/share/weewx python > > /usr/share/weewx/user/owfs.py --iface localhost:4304 --sensors > > Traceback (most recent call last): > > File "/usr/share/weewx/user/owfs.py", line 618, in <module> > > main() > > File "/usr/share/weewx/user/owfs.py", line 578, in main > > ow.init(iface) > > File "/usr/lib/python2.7/dist-packages/ow/__init__.py", line 224, in > init > > raise exNoController > > ow.exNoController > > > > I have edited weewx.conf to change Simulator to OWFS but still the same > > error. So I must be doing something wrong this time. Please, any tip is > > welcome. Thank you once more for your support. > > > > weewx.conf > > > > # WEEWX CONFIGURATION FILE > > # > > # Copyright (c) 2009-2015 Tom Keffer <tkef...@gmail.com> > > # 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 = / > > > > # How long to wait before timing out a socket (FTP, HTTP) connection > > socket_timeout = 20 > > > > # Do not modify this. It is used when installing and updating weewx. > > version = 3.8.0 > > > > ############################################################ > ################## > > > > # This section is for information about the station. > > > > [Station] > > > > # Description of the station location > > location = "My Location" > > > > # Latitude and longitude in decimal degrees > > latitude = 1 > > longitude = -1 > > > > # Altitude of the station, with unit it is in. This is downloaded > from > > # from the station if the hardware supports it. > > altitude = 1, meter > > > > # Set to type of station hardware. There must be a corresponding > stanza > > # in this file with a 'driver' parameter indicating the driver to be > > used. > > station_type = OWFS > > # If you have a website, you may specify an URL > > #station_url = http://www.example.com > > > > # 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 > > > > ############################################################ > ################## > > > > [Simulator] > > # This section is for the weewx weather station simulator > > > > # The time (in seconds) between LOOP packets. > > loop_interval = 2.5 > > > > # The simulator mode can be either 'simulator' or 'generator'. > > # Real-time simulator. Sleep between each LOOP packet. > > mode = simulator > > # Generator. Emit LOOP packets as fast as possible (useful for > > testing). > > #mode = generator > > > > # The start time. Format is YYYY-mm-ddTHH:MM. If not specified, the > > default > > # is to use the present time. > > #start = 2011-01-01T00:00 > > > > # The driver to use: > > driver = weewx.drivers.simulator > > > > ############################################################ > ################## > > > > # This section is for uploading data to Internet sites > > > > [StdRESTful] > > > > [[StationRegistry]] > > # To register this weather station with weewx, set this to true > > register_this_station = false > > > > [[AWEKAS]] > > # This section is for configuring posts to AWEKAS. > > > > # If you wish to do this, set the option 'enable' to true, > > # and specify a username and password. > > enable = false > > username = replace_me > > # To guard against parsing errors, put your password in quotes: > > password = replace_me > > > > [[CWOP]] > > # This section is for configuring posts to CWOP. > > > > # If you wish to do this, set the option 'enable' to true, > > # and specify the station ID (e.g., CW1234). > > enable = false > > station = replace_me > > > > # If this is an APRS (radio amateur) station, uncomment > > # the following and replace with a passcode (e.g., 12345). > > #passcode = replace_me (APRS stations only) > > > > [[PWSweather]] > > # This section is for configuring posts to PWSweather.com. > > > > # If you wish to do this, set the option 'enable' to true, > > # and specify a station and password. > > enable = false > > station = replace_me > > # To guard against parsing errors, put your password in quotes: > > password = replace_me > > > > [[WOW]] > > # This section is for configuring posts to WOW. > > > > # If you wish to do this, set the option 'enable' to true, > > # and specify a station and password. > > enable = false > > station = replace_me > > # To guard against parsing errors, put your password in quotes: > > password = replace_me > > > > [[Wunderground]] > > # This section is for configuring posts to the Weather > Underground. > > > > # If you wish to do this, set the option 'enable' to true, > > # and specify a station (e.g., 'KORHOODR3') and password. > > enable = false > > station = replace_me > > # To guard against parsing errors, put your password in quotes: > > 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 > > > > ############################################################ > ################## > > > > # This section specifies what reports, using which skins, to generate. > > > > [StdReport] > > > > # Where the skins reside, relative to WEEWX_ROOT > > SKIN_ROOT = /etc/weewx/skins > > > > # Where the generated reports should go, relative to WEEWX_ROOT > > HTML_ROOT = /var/www/html/weewx > > > > # 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. > > > > [[StandardReport]] > > # 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. > > > > # The StandardReport uses the 'Standard' skin, which contains the > > # images, templates and plots for the report. > > skin = Standard > > [[[Units]]] > > [[[[Groups]]]] > > group_altitude = meter > > group_speed2 = meter_per_second2 > > group_pressure = mbar > > group_rain = mm > > group_rainrate = mm_per_hour > > group_temperature = degree_C > > group_degree_day = degree_C_day > > group_speed = meter_per_second > > > > [[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, uncomment and fill out the next four > > lines. > > #user = replace with the ftp username > > #password = replace with the ftp password; put in quotes to guard > > against parsing errors. > > #server = replace with the ftp server name, e.g, > www.threefools.org > > #path = replace with the ftp 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 = /var/www/html/weewx > > > > # 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 as to the user account on the remote machine where the > files > > # will be copied. > > # > > # The following three lines determine where files will be sent. > > #server = replace with the rsync server name, e.g, > > www.threefools.org > > #path = replace with the rsync destination directory (e.g., > > /weather) > > #user = replace with the rsync username > > > > # 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 > > > > ############################################################ > ################## > > > > # 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 = US # 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 > > > > ############################################################ > ################## > > > > # 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 > > outTemp = -40, 120, degree_F > > inTemp = 10, 120, degree_F > > outHumidity = 0, 100 > > inHumidity = 0, 100 > > windSpeed = 0, 120, mile_per_hour > > pressure = 24, 34.5, inHg > > > > ############################################################ > ################## > > > > # This section controls the origin of derived values. > > > > [StdWXCalculate] > > > > [[Calculations]] > > # Derived quantities are calculated by this service. 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 > > barometer = prefer_hardware > > altimeter = prefer_hardware > > windchill = prefer_hardware > > heatindex = prefer_hardware > > dewpoint = prefer_hardware > > inDewpoint = prefer_hardware > > rainRate = 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 = 5 > > > > ############################################################ > ################## > > > > # 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 = hardware > > > > # Whether to include LOOP data in hi/low statistics > > loop_hilo = 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.wxmanager.WXDaySummaryManager > > # The schema defines the structure of the database. > > # It is *only* used when the database is created. > > schema = schemas.wview.schema > > > > ############################################################ > ################## > > > > # This section defines various databases. > > > > [Databases] > > > > # A SQLite database is simply a single file > > [[archive_sqlite]] > > database_type = SQLite > > database_name = weewx.sdb > > > > # MySQL > > [[archive_mysql]] > > database_type = MySQL > > database_name = weewx > > > > ############################################################ > ################## > > > > # 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 > > SQLITE_ROOT = /var/lib/weewx > > > > # 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 for the user name. Put in quotes to guard against > > parsing errors. > > password = weewx > > > > ############################################################ > ################## > > > > # This section configures the internal weewx engine. > > > > [Engine] > > > > [[Services]] > > # This section specifies the services that should be run. They > are > > # grouped by type, and the order of services within each group > > # determines the order in which the services will be run. > > 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.StdPWSweather, > weewx.restx.StdCWOP, > > weewx.restx.StdWOW, weewx.restx.StdAWEKAS > > report_services = weewx.engine.StdPrint, weewx.engine.StdReport > > > > ############################################################ > ################## > > > > # Options for extension 'owfs' > > [OWFS] > > interface = u > > driver = user.owfs > > [[sensor_type]] > > [[sensor_map]] > > > > > > On 11 December 2017 at 23:10, Glenn McKechnie <glenn.mckech...@gmail.com > > > > wrote: > >> > >> Hi Miguel, > >> > >> > >> On 5 December 2017 at 02:27, Miguel Andres <mixp...@gmail.com> wrote: > >> > Hello, > >> > > >> > > >> > I have been suggested to post this question to this group as a > >> > weewx-user > >> > group instead of the issues in github. > >> > > >> > > >> > I have read issue 77 and has helped but --readings do not seem to > >> > show... > >> > >> From what you have shown, --readings is working as it should, so I'm > >> guessing that there is more to the question? > >> > >> Are you having trouble getting the required values picked up by weewx? > >> If that's the case then your weewx.conf is probably incomplete and > >> we'd need to see a copy of that (with passwords removed). > >> > >> Reading the remainder of your post, a couple of observations follow. > >> > >> You still have the simulator running - you don't need it. > >> You have owfs installed as a service. If the only weather sensors you > >> have are the 1-wire ones then run it as a driver. > >> > >> You can use --readings as you have to display all your sensors (as you > >> have done) > >> or use --reading /with/path/tofield to dryrun the string you'll use > >> in the [sensor_map] section in weewx.conf > >> > >> eg:- > >> PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/owfs.py > >> --iface localhost:4304 --reading /10.67C6697351FF/temperature > >> will return just... > >> /10.67C6697351FF/temperature: 50.105 > >> > >> of note: You can't use any of these direct commands (owfs.py) if weewx > >> is running and claimed the ow interface (although I do wonder if that > >> would be different in your case, where you are not using the usb > >> iface?) > >> > >> Visit https://github.com/weewx/weewx/wiki/owfs and review and follow > >> the notes there which will configure it as a driver. > >> In particular, note point 5. Modify weewx.conf: > >> > >> [...] > >> > >> > >> Cheers > >> Glenn > >> > >> rorpi - read only raspberry pi & various weewx addons > >> https://github.com/glennmckechnie > >> > >> -- > >> 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. > >> For more options, visit https://groups.google.com/d/optout. > > > > > > -- > > 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. > > For more options, visit https://groups.google.com/d/optout. > > -- > 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. > For more options, visit https://groups.google.com/d/optout. > -- 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. For more options, visit https://groups.google.com/d/optout.