--reading failure in weewx_3.8.0-1 and weewx-owfs-0.21 Raspberry Pi & DS18B20

326 views
Skip to first unread message

Miguel Andres

unread,
Dec 4, 2017, 10:27:07 AM12/4/17
to weewx-user

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...


My setup is:


Raspberry Pi 1 Model B running Raspbian Minimal (Stretch)
2017-09-07-raspbian-stretch-lite.img

One-Wire enabled from raspi-configTemperature


Temperature sensor DS18B20 (outdoor-friendly) is pinned to Raspberry GPIO and running python thermometer.py script outputs correct temperature readings.

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.66+ #1059 Fri Dec 1 15:15:38 GMT 2017 armv6l GNU/Linux

I have installed Weewx from a .deb as follows:

sudo dpkg -i weewx_3.8.0-1_all.deb
sudo apt-get update
sudo apt­-get -f install
sudo apt-get install lighttpd

open http://192.168.1.2/weewx/ in web browser and it shows default server
Configured as Simulator because the other options are branded weather stations that do not match my simple temperature sensor setup.

wget http://lancet.mit.edu/mwall/projects/weather/releases/weewx-owfs-0.21.tgz
sudo apt-get install python-ow
wee_extension --install weewx-owfs-0.21.tgz
sudo wee_extension --install weewx-owfs-0.21.tgz

(without sudo would not work)

To install OWFS as a service...

sudo apt-get install python-ow
sudo apt-get install owfs
wee_extension --install weewx-owfs-0.21.tgz

To find out sensors I tried with no success:

sudo PYTHONPATH=/home/weewx/bin python /home/weewx/bin/user/owfs.py --sensors

But in Issue 77 using -iface localhost:4304 is suggested and it works!

pi@raspberrypi:~ $ sudo PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/owfs.py --iface localhost:4304 --sensors
67C6697351FF: /10.67C6697351FF DS18S20
4AEC29CDBAAB: /05.4AEC29CDBAAB DS2405

Two things here, my sensor is DS18B20 but three-pin layout is the same, though. No idea about DS2405 but it seems it is a 1-wire network branch controller. See... DS2405 at owfs.org

And, as in that Issue, when trying to do the readings this is the output:

pi@raspberrypi:~ $ sudo PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/owfs.py --iface localhost:4304 --readings
67C6697351FF
_usePath: /10.67C6697351FF
_type: DS18S20
_path: /10.67C6697351FF
_useCache: True
  /10.67C6697351FF/scratchpad: ▒▒▒▒f▒\KQ
  /10.67C6697351FF/power: 1
  /10.67C6697351FF/family: 10
  /10.67C6697351FF/locator: ttzxlqrnldwfriez
  /10.67C6697351FF/type: DS18S20
  /10.67C6697351FF/crc8: 8D
  /10.67C6697351FF/temphigh: 24.2793
  /10.67C6697351FF/templow: 7.71973
  /10.67C6697351FF/latesttemp: 4.78051
  /10.67C6697351FF/r_id: FF517369C667
  /10.67C6697351FF/address: 1067C6697351FF8D
  /10.67C6697351FF/errata/: die,trim,trimblanket,trimvalid
  /10.67C6697351FF/r_address: 8DFF517369C66710
  /10.67C6697351FF/r_locator: lqyfpwbewksoflnc
  /10.67C6697351FF/id: 67C6697351FF
  /10.67C6697351FF/temperature: 50.105
4AEC29CDBAAB
_usePath: /05.4AEC29CDBAAB
_type: DS2405
_path: /05.4AEC29CDBAAB
_useCache: True
  /05.4AEC29CDBAAB/type: DS2405
  /05.4AEC29CDBAAB/family: 05
  /05.4AEC29CDBAAB/PIO: 1
  /05.4AEC29CDBAAB/r_locator: vlqbixssctrotcgt
  /05.4AEC29CDBAAB/crc8: 42
  /05.4AEC29CDBAAB/sensed: 0
  /05.4AEC29CDBAAB/r_id: ABBACD29EC4A
  /05.4AEC29CDBAAB/address: 054AEC29CDBAAB42
  /05.4AEC29CDBAAB/r_address: 42ABBACD29EC4A05
  /05.4AEC29CDBAAB/locator: xplcmywcfhrkhwft
  /05.4AEC29CDBAAB/id: 4AEC29CDBAAB
As I try to stick to group rules, please links to my log as well:
Log November https://pastebin.com/z01hTdCP
Log December https://pastebin.com/WKGm34Jy and https://pastebin.com/LSjK7t2U
Thank you in advance for your suggestions and advice.
Regards,

Glenn McKechnie

unread,
Dec 11, 2017, 5:10:19 PM12/11/17
to weewx...@googlegroups.com
Hi Miguel,


On 5 December 2017 at 02:27, Miguel Andres <mix...@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

mixpc75

unread,
Dec 11, 2017, 8:27:31 PM12/11/17
to weewx...@googlegroups.com
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

that is...
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 <tke...@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]]



--
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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Glenn McKechnie

unread,
Dec 11, 2017, 9:40:43 PM12/11/17
to weewx...@googlegroups.com
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


>> email to weewx-user+...@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+...@googlegroups.com.

mixpc75

unread,
Dec 12, 2017, 7:33:01 AM12/12/17
to weewx...@googlegroups.com
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

that is...
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


I appreciate your support once more as I am sure this will be sorted for sure :)

Regards,




>> 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

> 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+unsubscribe@googlegroups.com.

mwall

unread,
Dec 12, 2017, 8:10:01 AM12/12/17
to weewx-user
miguel,

i suspect that your problem is the interface.

if you are using a 1wire-to-usb adapter such as the DS9490R, then the interface is 'u'.  if you are running one-wire server software, then the interface is 'hostname:port'.  if you are using 1wire-to-serial, 1wire-to-i2c, or some other physical interface, then interface will be the device spec for that physical interface, such as /dev/ttyS0 or perhaps /dev/i2c (i am not sure how i2c devices are enumerated, and i'm pretty sure they are enumerated differently for arm vs x86 architectures, and i know they are enumerated differently for different operating systems).

m

mixpc75

unread,
Dec 12, 2017, 9:44:32 AM12/12/17
to weewx...@googlegroups.com
Hello,

Thank you for your message. Appreciated indeed. Well, then as the sensor is connected to the Raspberry Pi GPIO pins, there should be a script that reads temperature values and passes them to weewx, as far as I can imagine.

I have found a message by weewx-user group user Horacio who has coded that script and gives instructions on how to implement it:
"How to add a ds18b20 thermometer to raspberry pi and weewx"

As you can see he is using the OWFSS approach and adding a ds18b20.py script to
/usr/share/weewx/user

What I do not know is how to implement the [OWFS] section in weewx.conf as there is no such information in his post and again, do not know what should be placed in interface.

In Python the way to get those readings has to do with

os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')

but I have not any clue about a value for interface = in this particular setting.

Wish I could provide more info, I do the best I can.

Regards,




--

Glenn McKechnie

unread,
Dec 12, 2017, 5:23:50 PM12/12/17
to weewx...@googlegroups.com
Well, it's a bit of a puzzle

We know you have had it working with owfs.py as your first post shows
it returning a result when you used the --iface localhost:4304


On 12 December 2017 at 23:32, mixpc75 <mix...@gmail.com> wrote:
> Dear Glenn,
>
[...]

> 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

you've forgotten to add the --iface string ' --iface localhost:4304 '
. Add that and see if it works again.

[...]

> 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

Now I'm really confused, because you had it working before with that
exact same command...

pi@raspberrypi:~ $ sudo PYTHONPATH=/usr/share/weewx python
/usr/share/weewx/user/owfs.py --iface localhost:4304 --sensors
67C6697351FF: /10.67C6697351FF DS18S20
4AEC29CDBAAB: /05.4AEC29CDBAAB DS2405

although I note that you've switched sudos positioning.

[...]

> 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:

Indeed, it's not working. I wonder if changing to an IP would make a difference?

interface = 127.0.0.1:4304

The port 4304 was working before and is the one in the owfs.conf file
so that should be correct.
If you run...
netstat -nlp
you can check and confirm if it's actually listening there. The
owfs.py notes suggest 3003 but...?

[...]

In summary
we know you had it working from the command line
we know it's at (or was at) localhost:4304 and that --iface
localhost:4304 worked
It appears that - weewx.conf is not accepting that as the interface entry?

I see the other thread has become active and offers further insight ,
I shall move there - if required!

Glenn McKechnie

unread,
Dec 15, 2017, 5:59:48 PM12/15/17
to weewx...@googlegroups.com
Returning from the discusion at https://groups.google.com/forum/#!topic/weewx-user/CfhGLIF8aaU


On 16 December 2017 at 02:49, mixpc75 <mix...@gmail.com> wrote:
>
> Glenn,
>
> We're on the right track! I noticed Horacio's message and tried to implement it in an earlier attempt but maybe I messed it up or maybe - as I think of it now - it was just a matter of getting
>
> owfs-common_2.9p8-6_all.deb

[...]

Just so we are clear on it - those packages don't apply to your case anymore. Neither owfs or OWFS are relevant here.

> sudo nano /usr/share/weewx/user/ds18b20.py with Horacio's code
> edited self.filename to show my ds18b20 id
>
> sudo nano /etc/weewx/weewx.conf
> added to [[services]] the line
> data_services = user.ds18b20.ds18b20_Service
> and commented
> #data_services = ,
> to avoid duplication
>
> No ther changes done so [OWFS] section remains the same as well as [Station] showing station_type = Simulator
>

[OWFS] is redundant - it no longer applies as you are not using the owfs driver/service. Use wee_extension --uninstall owfs to remove it cleanly (unless you hand edited back in?). Either way remove it.
Using the Simulator is okay at this stage, you are using it to allow weewx to start and run.


> The fact is that starting weewx now produces no error!
>
> pi@raspberrypi:~ $ sudo systemctl start weewx.service

>
> 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 (running) since Fri 2017-12-15 12:23:34 CET; 6s ago

[...]

Yep, while I dislike systemd's logging. Those summaries do show it's working. :-)


[...]

> As the guideline
> https://github.com/weewx/weewx/wiki/add-sensor
> indicates: "The data will not be displayed on the weather station console, but they will be displayed in WeeWX reports." So needless to run:
>
> PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/owfs.py --sensors
> sudo PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/owfs.py --sensors

Needless. Yes, these are only of use if you're using mwalls driver with a 1-wire bus master.

>
> So temperature readings are taking place every 5 minutes, great! :) But they are not being displayed by the webserver 192.16.1.2 which shows the default weewx webpage:

There are several things - not necessarily in order.

A quick and temporary way to see if the script is returning a value is to change DEBUG to INFO around line 39 -ish...
            [...]
            syslog.syslog(syslog.LOG_DEBUG, "ds18b20: found value of %s" % value)
becomes
           # syslog.syslog(syslog.LOG_DEBUG, "ds18b20: found value of %s" % value)
            syslog.syslog(syslog.LOG_INFO, "ds18b20: found value of %s" % value)

and run tail -f /var/log/syslog in another terminal. You should see that message pop up, with a value every 5 minutes.

From Horacios post...

>> As a result the extraTemp1 value is available in weewx. It is possible to change the event label in the third line from the bottom of ds18b20.py

You don't want to change the event label until you're more confident with weewx, but as it is now you should have values being placed into the database under extraTemp1
If they are there, then it's reading and storing the value. You can then use them in your reports by configuring your skin.conf and the index.html.tmpl accordingly.
http://www.weewx.com/docs/customizing.htm#customizing_reports

Also.
From Horacios ds18b20.py script...
      [...]
        self.bind(weewx.NEW_ARCHIVE_RECORD, self.read_temp)

Shows that they should be showing up in the archive record.

stop weewx and run it directly ( http://www.weewx.com/docs/usersguide.htm#Running_directly ) using...

 /usr/share/weewx/weewxd  /etc/weewx/weewx.conf

You'll see lines starting with LOOP: and REC:  REC is the NEW_ARCHIVE_RECORD and that's where they should show up. They won't be seen under LOOP: as the driver doesn't use that - (perhaps it should?)

[...]

> But since it configured as a service, how should weewx.conf be edited so that it takes values from Horacio's script?

[...]

> But what about this particular case? Editing station_type = DS18B20

Short answer - No.
Long answer: Not sure how you go running one sensor like this. Usually it's supplementing an exisiting stations data. That's a question for those more knowledgeable although the documentation has a section showing how to implement it as a driver :)
http://www.weewx.com/docs/customizing.htm#Implement_the_driver

> and then adding a [DS18B20] tag at the end of the file?
>
> [OWFS]
>         interface = u
>         [[sensor_map]]
>             outTemp = extraTemp1 # variable from /usr/share/weewx/user/ds18b20.py

Nope. ds18b20.py doesn't use section headings (such as [DS18B20]) so it won't be looking for any user additions to the weewx.conf file. If it was a driver in it's own right then you could have and use a [DS18B20] section.

However you may be able to remap extraTemp1 to outTemp ...

extraTemp1 instead of outTemp sensor
https://groups.google.com/forum/#!msg/weewx-user/iHaBv9cceEk/jTjMWCLYCgAJ;context-place=topic/weewx-user/140WrtGfMMs

But that may be adding a whole new level of complexity at this stage. Try it but I'd work on adding it, as extraTemp1, by customizing the report first.

>
> I'm a bit lost at this stage but very glad to see how close we are to get it done :)
>
> Regards,




Cheers
 Glenn

rorpi - read only raspberry pi & various weewx addons
https://github.com/glennmckechnie

There's no more from me below, the rest is context for this post - from the other thread.

>
>
>
> On 15 December 2017 at 11:45, Glenn McKechnie <glenn.m...@gmail.com> wrote:
>>
>> The first couple of lines at pastebin are revealing...
>>
>> pi@raspberrypi:~ $ python temp_ds18b20.py
>> (21.812, 71.2616)
>> (21.812, 71.2616)
>> ^CTraceback (most recent call last):
>>   File "temp_ds18b20.py", line 30, in <module>
>>     time.sleep(1)
>> KeyboardInterrupt
>>
>> That indicates that you aren't using an owfs compatabile interface (bus master)
>>
>> http://owfs.org/index.php?page=bus-masters
>>
>> which means that, to my knowledge, running mwalls owfs driver, or any OWFS software won't help you.
>>
>> I could certainly be wrong but I don't think the GPIO and 1-wire kernel module (enabled via raspi-config) talk to OWFS.
>>
>> That shouldn't mean that you can't use it with weewx but you need to approach it differently.
>>
>> You've got a value being returned via your script (is it this https://github.com/simonmonk/raspberrypi_cookbook_ed2/blob/master/temp_DS18B20.py ?) so you're half way there.  You need to find or write a script that will enable you to present that data ( temperature value) and have it read by weewx.
>> The fileparse driver could be a good starting point for the slurp end?  https://github.com/weewx/weewx/tree/master/examples/fileparse with your script writing the data?
>>
>> Or
>>
>> Perhaps Horacio's work may speed you along.

>>
>> How to add a ds18b20 thermometer to raspberry pi and weewx

>>
>>
>>
>>
>>
>>
>>
>> Cheers
>>  Glenn
>>
>> rorpi - read only raspberry pi & various weewx addons
>> https://github.com/glennmckechnie
>>
>> On 15 December 2017 at 19:55, mixpc75 <mix...@gmail.com> wrote:
>>>
>>> Glen,
>>>
>>> That is fantastic! :) Clasp, clasp, clasp! :) I thank you for your two messages, this one and the one in the other thread. I preferred getting back to topic after trying from my side and let you know. I have not been as successful as you on mi RP1 and since I think I have folowed the steps correctly (again, writing a new image to SD, enabling 1-Wire, running a python script test it etc.). And I am beginning to wonder whether it might not work on a RPi1 but work successfully on a RPi3... I think I will mirror your steps in a RPi3 later on today and will get back with output.
>>>
>>> I have made myself sure I have installed your .deb packages
>>>
>>> My package versions matched yours
>>>
>>> pi@raspberrypi:~ $ dpkg --list | grep ow
>>> ii  libow-3.1-5:armhf               3.1p5-1                      armhf        1-Wire File System full library
>>> ii  owfs-common                     3.1p5-1                      all          common files used by any of the OWFS programs
>>> ii  python-ow                       3.1p5-1                      armhf        Dallas 1-wire support: Python bindings
>>>
>>> And we are on the same version weewx-owfs-0.21.tgz as well and, of course, same weewx version.
>>>
>>> sudo apt-get remove libow-3.1-5 owfs-common python-ow
>>> sudo reboot
>>> sudo dpkg --install owfs-common_2.9p8-6_all.deb (this deb first)
>>> sudo dpkg --install libow-2.9-8_2.9p8-6_armhf.deb
>>> sudo dpkg --install python-ow_2.9p8-6_armhf.deb
>>>
>>> Here is a linked to a bash'ed log with every command issued. The -sensors commands are towards the botton, of course.
>>> https://pastebin.com/Nkk5Th6V
>>>
>>>
>>> Please, mind I'm running my tests on a RPi1 armv61.



Cheers
 Glenn

rorpi - read only raspberry pi & various weewx addons
https://github.com/glennmckechnie

mixpc75

unread,
Dec 15, 2017, 6:56:03 PM12/15/17
to weewx...@googlegroups.com
Glen,

Thank you for your support all along. It's fantastic.

I have read and follow your indications, so here we go:

[OWFS] uninstalled
pi@raspberrypi:~ $ sudo wee_extension --uninstall owfs
Request to remove extension 'owfs'
Finished removing extension 'owfs'


pi@raspberrypi:~ $ sudo nano /usr/share/weewx/user/ds18b20.py
edited as indicated DEBUG > INFO

pi@raspberrypi:~ $ sudo systemctl restart weewx.service

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 (running) since Sat 2017-12-16 00:16:56 CET; 3min 55s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1149 ExecStop=/etc/init.d/weewx stop (code=exited, status=0/SUCCESS)
  Process: 1180 ExecStart=/etc/init.d/weewx start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/weewx.service
           └─1195 python /usr/bin/weewxd --daemon --pidfile=/var/run/weewx.pid /etc/weewx/weewx.conf

Dec 16 00:16:57 raspberrypi weewx[1195]: restx: CWOP: Posting not enabled.
Dec 16 00:16:57 raspberrypi weewx[1195]: restx: WOW: Posting not enabled.
Dec 16 00:16:57 raspberrypi weewx[1195]: restx: AWEKAS: Posting not enabled.
Dec 16 00:16:57 raspberrypi weewx[1195]: engine: Starting up weewx version 3.8.0
Dec 16 00:16:57 raspberrypi weewx[1195]: engine: Clock error is -0.57 seconds (positive is fast)
Dec 16 00:16:57 raspberrypi weewx[1195]: engine: Starting main packet loop.
Dec 16 00:20:18 raspberrypi weewx[1195]: ds18b20: found value of 71.4866
Dec 16 00:20:18 raspberrypi weewx[1195]: manager: Added record 2017-12-16 00:20:00 CET (1513380000) to database 'weewx.sdb'
Dec 16 00:20:18 raspberrypi weewx[1195]: manager: Added record 2017-12-16 00:20:00 CET (1513380000) to daily summary in 'weewx.sdb'
Dec 16 00:20:49 raspberrypi weewx[1195]: cheetahgenerator: Generated 14 files for report StandardReport in 27.79 seconds

pi@raspberrypi:~ $ tail /var/log/syslog
Dec 16 00:16:57 raspberrypi weewx[1195]: engine: Starting up weewx version 3.8.0
Dec 16 00:16:57 raspberrypi weewx[1195]: engine: Clock error is -0.57 seconds (positive is fast)
Dec 16 00:16:57 raspberrypi weewx[1195]: engine: Starting main packet loop.
Dec 16 00:17:01 raspberrypi CRON[1204]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Dec 16 00:20:18 raspberrypi weewx[1195]: ds18b20: found value of 71.4866
Dec 16 00:20:18 raspberrypi weewx[1195]: manager: Added record 2017-12-16 00:20:00 CET (1513380000) to database 'weewx.sdb'
Dec 16 00:20:18 raspberrypi weewx[1195]: manager: Added record 2017-12-16 00:20:00 CET (1513380000) to daily summary in 'weewx.sdb'
Dec 16 00:20:49 raspberrypi weewx[1195]: cheetahgenerator: Generated 14 files for report StandardReport in 27.79 seconds
Dec 16 00:20:53 raspberrypi weewx[1195]: imagegenerator: Generated 12 images for StandardReport in 4.09 seconds
Dec 16 00:20:53 raspberrypi weewx[1195]: copygenerator: copied 9 files to /var/www/html/weewx

Great! 71.48F So temperature readings are indeed being read and stored.

I will have a good look at Customizing reports, thank you for the link. Looks very interesting.

pi@raspberrypi:~ $ sudo systemctl stop weewx.service

pi@raspberrypi:~ $ sudo /usr/share/weewx/weewxd /etc/weewx/weewx.conf
LOOP:   2017-12-16 00:30:12 CET (1513380612) altimeter: 31.0947369861, appTemp: 28.2105115068, barometer: 31.0999349264, cloudbase: 1246.45336708, dateTime: 1513380612, dewpoint: 26.9858954849, heatindex: 32.4558545686, humidex: 32.4558545686, inDewpoint: 31.0785201424, inHumidity: 29.9973971396, inTemp: 63.0013014302, maxSolarRad: None, outHumidity: 79.9980477911, outTemp: 32.4558545686, pressure: 31.0999349264, radiation: 0, rain: 0.0, rainRate: 0.04, usUnits: 1, UV: 0, windchill: 32.4558545686, windDir: 359.988286747, windGust: 0.000390441770883, windGustDir: 359.988286747, windSpeed: 0.000325368142403
LOOP:   2017-12-16 00:30:15 CET (1513380615) altimeter: 31.0947359449, appTemp: 28.2085542481, barometer: 31.0999338852, cloudbase: 1246.44544679, dateTime: 1513380615, dewpoint: 26.9841848881, heatindex: 32.4541091226, humidex: 32.4541091226, inDewpoint: 31.0785039227, inHumidity: 29.9973554963, inTemp: 63.0013222519, maxSolarRad: None, outHumidity: 79.9980165566, outTemp: 32.4541091226, pressure: 31.0999338852, radiation: 0, rain: 0.0, rainRate: 0.04, usUnits: 1, UV: 0, windchill: 32.4541091226, windDir: 359.98809934, windGust: 0.000396688671222, windGustDir: 359.98809934, windSpeed: 0.000330573892684
REC:    2017-12-16 00:30:00 CET (1513380600) altimeter: 31.0947817327, appTemp: 28.3384578077, barometer: 31.0999796687, cloudbase: 1247.01954441, dateTime: 1513380600.0, dewpoint: 27.0975535731, ET: 0.0, extraTemp1: 71.2616, heatindex: 32.5700038371, humidex: 32.5700038371, inDewpoint: 31.0792171359, inHumidity: 29.9991867618, inTemp: 63.0004066191, interval: 5, maxSolarRad: None, outHumidity: 79.9993900603, outTemp: 32.5700038371, pressure: 31.0999796687, radiation: 0.0, rain: 0.0, rainRate: 0.04, usUnits: 1, UV: 0.0, windchill: 32.5700038371, windDir: 359.99346725, windGust: 0.000359950916684, windGustDir: 359.989201472, windrun: 1.6074832444e-05, windSpeed: 0.000101656621008

Yes, there it is! REC: and extraTemp1 71.2616
Wether they should be seen under LOOP: As I see it LOOP: prints out reading values every 2-3 seconds while extraTemp1 value is being read every 5 min. Yes, I have been staring at the screen for about 5min just to see that REC: displayed. So maybe there is no real need to have extraTemp1 value displayed so often as it is being aligned with read/store timing.

In regards to the last part of your message, yes, I do agree with your view. First and foremost, as I see it, weewx is oriented towards weather stations as per se. The listing of weewx-friendly weather stations during install makes it just so clear. And that is great. The case you mention which I think is the most frequent case is a sensor that is added as an extra sensor to a weather station, but in my scenario that sensor _is_ the weather station. That is why I was asking about editing weewx.conf weather_station = DS18B20 and so on. Basically, implementing it as a driver. As you suggest and I fully agree, now that data is being read (finally! :) and stored, I think it is much more practical working on customizing report first. And that is what I plan to do. Afterall, reading and storing data, and displaying reports plus uploading to a remote server (eg. Weather Underground) is all I need. wunderfixer comes in as a very helpful tool. Remaping extraTemp1 to outTemp and implementing a driver... maybe later on.

I'll write back after working on it.

Glen, once more, I appreciate your generous support. Thumbs up!

Regards,



Reply all
Reply to author
Forward
0 new messages