OWFS with Dallas Semi hardware thru an I2C AB Electronics

131 views
Skip to first unread message

Bret Craytor

unread,
Oct 19, 2019, 3:33:14 PM10/19/19
to weewx-user
I have installed WEEWX on a RPi 3B+ with a AB Electronics I2C to 1wire master.

I have loaded all the required modules, etc.

I used simulator when I originally installed WeeWX to make sure I could see the results in the index.html file.

All good, so far.

I see my sensors with the "PYTHONPATH=/home/weewx/bin python /home/weewx/bin/user/owfs.py --sensors --i2c-1" line command as well as the read...
I have edited the weewx.conf file to get the sensors, interface, driver, etc.

and yet I can't get it to work.  Here is the tail =f  /var/log/syslog:

Oct 19 13:31:21 raspberrypi weewx[1165]: restx: Wunderground: Posting not enabled.
Oct 19 13:31:21 raspberrypi weewx[1165]: restx: PWSweather: Posting not enabled.
Oct 19 13:31:21 raspberrypi weewx[1165]: restx: CWOP: Posting not enabled.
Oct 19 13:31:21 raspberrypi weewx[1165]: restx: WOW: Posting not enabled.
Oct 19 13:31:21 raspberrypi weewx[1165]: restx: AWEKAS: Posting not enabled.
Oct 19 13:31:21 raspberrypi weewx[1165]: engine: Starting up weewx version 3.9.2
Oct 19 13:31:21 raspberrypi weewx[1165]: engine: Starting main packet loop.
Oct 19 13:31:40 raspberrypi ntpd[457]: ###.###.###.### local addr ###,###.###.###-> <null>
Oct 19 13:31:47 raspberrypi kernel: [ 1466.774306] w1_master_driver w1_bus_master1: Attaching one wire slave 00.380000000000 crc 7c
Oct 19 13:31:47 raspberrypi kernel: [ 1466.788669] w1_master_driver w1_bus_master1: Family 0 for 00.380000000000.7c is not registered.
Oct 19 13:32:36 raspberrypi kernel: [ 1516.254459] w1_master_driver w1_bus_master1: Attaching one wire slave 00.b80000000000 crc f0
Oct 19 13:32:36 raspberrypi kernel: [ 1516.269441] w1_master_driver w1_bus_master1: Family 0 for 00.b80000000000.f0 is not registered.
Oct 19 13:33:41 raspberrypi kernel: [ 1580.974987] w1_master_driver w1_bus_master1: Attaching one wire slave 00.780000000000 crc 3a
Oct 19 13:33:41 raspberrypi kernel: [ 1580.989513] w1_master_driver w1_bus_master1: Family 0 for 00.780000000000.3a is not registered.
^Z
 
and here are the sensors:
pi@raspberrypi:/home/weewx $ PYTHONPATH=/home/weewx/bin/ python /home/weewx/bin/user/owfs.py --sensors --iface /dev/i2c-1
39F435030800: /10.39F435030800 DS18S20
A3653C000000: /10.A3653C000000 DS18S20
92400E000000: /12.92400E000000 DS2406
5EAB0D000000: /12.5EAB0D000000 DS2406
D01101000000: /1D.D01101000000 DS2423
81B500000000: /1D.81B500000000 DS2423
pi@raspberrypi:/home/weewx $ 

Any help would be appreciated...all original Dallas Semiconductor kit, except for the 1-wire bus driver.

Bret


Glenn McKechnie

unread,
Oct 19, 2019, 9:54:55 PM10/19/19
to weewx...@googlegroups.com
Is this a follow on from your july 2019 posting? I'm assuming you
still haven't got it running?

The syslog messages ; w1_master_driver w1_bus_master1 etc
These will be from the Pi's kernel driver for 1-wire devices that are
connected directly to the GPIO pins
I don't believe your setup needs this running at all, I have no idea
if it interferes or not but raspi-config will turn that feature off or
on. See the following...
https://www.raspberrypi.org/forums/viewtopic.php?t=196691
https://www.abelectronics.co.uk/forums/thread/23/w1-master-driver-w1-bus-master1-family-0-for-00-700000000000-f8-is-not-registered

You have a working owfs.py install. It seems a reasonable mapping is
being returned from the script so the sensors are present and talking
via owfs.py.

After using the simulator, did you change the driver to owfs?
[Station]
station_type = OWFS

What's the [OWFS} section showing from weewx.conf, in particular the sensor_map.

http://www.weewx.com/docs/utilities.htm#wee_debug_utility )
wee_debug will parse your weewx.conf file into a suitable format for
posting here (no introduced typos to confuse). The usual advice is to
check that the output has been cleaned of sensitive info (passwords
etc) before posting.

A full log would be good, this may have nothing to do with your owfs.py install.
Turn debug on in weewx.conf (debug = 1) , restart weewx and run it for
a couple of archive intervals then post the resulting log (or
extract) to this group and we may be able to see what is happening.

Have you tried running it directly from the command line using
something like (paths may differ)...
python /home/weewx/bin/weewxd /home/weewx/weewx.conf
If it is running you should be getting OWFS LOOP packets displayed on
the screen within 30 seconds or so (If memory serves, 20 seconds is
the default).
> --
> 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/358c4b81-fc78-4b95-aee2-1f86f168e655%40googlegroups.com.
>


--


Cheers
Glenn

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

Bret Craytor

unread,
Nov 17, 2019, 7:24:28 PM11/17/19
to weewx-user
Glenn,
Thank you for your response, I had to put down my project and go on a trip with the spouse, and just now am getting bact to this. So this is the latest:

/home/weewx $ sudo tail -f /var/log/syslog
Nov 17 18:05:31 raspberrypi weewx[1432]: copygenerator: copied 5 files to /home/weewx/public_html
Nov 17 18:05:31 raspberrypi weewx[1432]: reportengine: Report 'SmartphoneReport' not enabled. Skipping.
Nov 17 18:05:31 raspberrypi weewx[1432]: reportengine: Report 'MobileReport' not enabled. Skipping.
Nov 17 18:05:31 raspberrypi weewx[1432]: reportengine: Report 'StandardReport' not enabled. Skipping.
Nov 17 18:05:31 raspberrypi weewx[1432]: reportengine: Report 'FTP' not enabled. Skipping.
Nov 17 18:05:31 raspberrypi weewx[1432]: reportengine: Report 'RSYNC' not enabled. Skipping.
Nov 17 18:06:28 raspberrypi weewx[1432]: engine: Main loop exiting. Shutting engine down.
Nov 17 18:06:28 raspberrypi weewx[1432]: engine: Shutting down StdReport thread
Nov 17 18:06:28 raspberrypi weewx[1432]: engine: StdReport thread has been terminated
Nov 17 18:06:28 raspberrypi weewx[1432]: engine: Keyboard interrupt.


and here is the wee_debug output:

Using configuration file /home/weewx/weewx.conf
Using database binding 'wx_binding', which is bound to database 'archive_sqlite'

System info
  Platform:       Linux-4.19.75-v7+-armv7l-with-debian-10.1
  Python Version: 2.7.16

Load Information
  1 minute load average:  0.00
  5 minute load average:  0.02
  15 minute load average: 0.07

General Weewx info
  Weewx version 3.9.2 detected.

Station info
  Station type: OWFS
  Driver:       user.owfs

Driver info
[OWFS]
    interface = /dev/i2c-1
    driver = user.owfs
    [[sensor_type]]
        outTemp = /uncached/10.A3653C000000/temperature
        inTemp = /uncached/10.39F435030800/temperature
        windDir = /uncached/12.5EAB0D000000/
        windSpeed = /uncached/1D.D01101000000/counters.ALL
        rain = /uncached/1D.81B500000000/counters.ALL
    
    [[sensor_map]]

Currently installed extensions
Extension Name    Version   Description
owfs              0.21      driver for one-wire devices connected via owfs

Archive info
  Database name:        weewx.sdb
  Table name:           archive
  Version               2.0
  Unit system:          1 (US)
  First good timestamp: 2019-10-18 20:00:00 CDT (1571446800)
  Last good timestamp:  2019-11-17 18:05:00 CST (1574035500)
  Number of records:    9
  weewx (weewx.conf) is set to use an archive interval of 300 seconds.
  The station hardware was not interrogated in determining archive interval.

Databases configured in weewx.conf
  Database name:        weewx.sdb
  Database driver:      weedb.sqlite

  Database name:        weewx
  Database driver:      weedb.mysql
  Database host:        localhost


Parsed and obfuscated weewx.conf
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2019 Tom Keffer <
# 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 = 1

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

# Whether to log successful operations
log_success = True

# Whether to log unsuccessful operations
log_failure = True

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

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

#   This section is for information about the station.

[Station]
    
    # Description of the station location
    location = "Pleasant Grove, TX"
    
    # Latitude and longitude in decimal degrees
    latitude = 33.481
    longitude = -94.095
    
    # Altitude of the station, with unit it is in. This is downloaded from
    # from the station if the hardware supports it.
    altitude = 358, foot    # Choose 'foot' or 'meter' for unit
    
    # 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 = 6

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

[OWFS]
    interface = /dev/i2c-1
    driver = user.owfs
    [[sensor_type]]
        outTemp = /uncached/10.A3653C000000/temperature
        inTemp = /uncached/10.39F435030800/temperature
        windDir = /uncached/12.5EAB0D000000/
        windSpeed = /uncached/1D.D01101000000/counters.ALL
        rain = /uncached/1D.81B500000000/counters.ALL
    
    [[sensor_map]]

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

# [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.
        # To guard against parsing errors, put the password in quotes.
        enable = false
        username = XXX obfuscated by wee_debug XXX
        password = XXX obfuscated by wee_debug XXX
    
    [[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 = XXX obfuscated by wee_debug XXX
    
    # 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.
        # To guard against parsing errors, put the password in quotes.
        enable = false
        station = XXX obfuscated by wee_debug XXX
        password = XXX obfuscated by wee_debug XXX
    
    [[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.
        # To guard against parsing errors, put the password in quotes.
        enable = false
        station = XXX obfuscated by wee_debug XXX
        password = XXX obfuscated by wee_debug XXX
    
    [[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.
        # To guard against parsing errors, put the password in quotes.
        enable = false
        station = XXX obfuscated by wee_debug XXX
        password = XXX obfuscated by wee_debug XXX
        
        # 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 = skins
    
    # Where the generated reports should go, relative to WEEWX_ROOT
    HTML_ROOT = public_html
    
    # The database binding indicates which data should be used in reports.
    data_binding = wx_binding
    
    # Whether to log a successful operation
    log_success = True
    
    # Whether to log an unsuccessful operation
    log_failure = False
    
    # Each of the following subsections defines a report that will be run.
    # See the customizing guide to change the units, plot types and line
    # colors, modify the fonts, display additional sensor data, and other
    # customizations. Many of those changes can be made here by overriding
    # parameters, or by modifying templates within the skin itself.
    
    [[SeasonsReport]]
        # The SeasonsReport uses the 'Seasons' skin, which contains the
        # images, templates and plots for the report.
        skin = Seasons
        enable = true
    
    [[SmartphoneReport]]
        # The SmartphoneReport uses the 'Smartphone' skin, and the images and
        # files are placed in a dedicated subdirectory.
        skin = Smartphone
        enable = false
        HTML_ROOT = public_html/smartphone
    
    [[MobileReport]]
        # The MobileReport uses the 'Mobile' skin, and the images and files
        # are placed in a dedicated subdirectory.
        skin = Mobile
        enable = false
        HTML_ROOT = public_html/mobile
    
    [[StandardReport]]
        # This is the old "Standard" skin. By default, it is not enabled.
        skin = Standard
        enable = false
    
    [[FTP]]
        # FTP'ing the results to a webserver is treated as just another report,
        # albeit one with an unusual report generator!
        skin = Ftp
        
        # If you wish to use FTP, set "enable" to "true", then
        # fill out the next four lines.
        # Use quotes around passwords to guard against parsing errors.
        enable = false
        user = XXX obfuscated by wee_debug XXX
        password = XXX obfuscated by wee_debug XXX
        server = replace_me    # The ftp server name, e.g, www.myserver.org
        path = replace_me    # The destination directory, e.g., /weather
        
        # Set to True for an FTP over TLS (FTPS) connection. Not all servers
        # support this.
        secure_ftp = False
        
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        #HTML_ROOT = public_html
        
        # Most FTP servers use port 21
        port = 21
        
        # Set to 1 to use passive mode, zero for active mode
        passive = 1
    
    [[RSYNC]]
        # rsync'ing to a webserver is treated as just another report
        skin = Rsync
        
        # If you wish to use rsync, you must configure passwordless ssh using
        # public/private key authentication from the user account that weewx
        # runs to the user account on the remote machine where the files
        # will be copied.
        #
        # If you wish to use rsync, set "enable" to "true", then
        # fill out server, user, and path.
        # The server should appear in your .ssh/config file.
        # The user is the username used in the identity file.
        # The path is the destination directory, such as /var/www/html/weather.
        # Be sure that the user has write permissions on the destination!
        enable = false
        server = replace_me
        user = XXX obfuscated by wee_debug XXX
        path = replace_me
        
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        #HTML_ROOT = public_html
        
        # Rsync can be configured to remove files from the remote server if
        # they don't exist under HTML_ROOT locally. USE WITH CAUTION: if you
        # make a mistake in the remote path, you could could unintentionally
        # cause unrelated files to be deleted. Set to 1 to enable remote file
        # deletion, zero to allow files to accumulate remotely.
        delete = 0
    
    ####
    
    # Various options for customizing your reports.
    
    [[Defaults]]
        
        [[[Units]]]
            
            # The following section sets what unit to use for each unit group.
            # NB: The unit is always in the singular. I.e., 'mile_per_hour',
            # NOT 'miles_per_hour'
            [[[[Groups]]]]
                
                group_altitude = foot    # Options are 'foot' or 'meter'
                group_degree_day = degree_F_day    # Options are 'degree_F_day' or 'degree_C_day'
                group_pressure = inHg    # Options are 'inHg', 'mmHg', 'mbar', or 'hPa'
                group_rain = inch    # Options are 'inch', 'cm', or 'mm'
                group_rainrate = inch_per_hour    # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour'
                group_speed = mile_per_hour    # Options are 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second'
                group_speed2 = mile_per_hour2    # Options are 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2'
                group_temperature = degree_F    # Options are 'degree_F' or 'degree_C'
            
            # The following section sets the formatting for each type of unit.
            [[[[StringFormats]]]]
                
                centibar = %.0f
                cm = %.2f
                cm_per_hour = %.2f
                degree_C = %.1f
                degree_F = %.1f
                degree_compass = %.0f
                foot = %.0f
                hPa = %.1f
                hour = %.1f
                inHg = %.3f
                inch = %.2f
                inch_per_hour = %.2f
                km_per_hour = %.0f
                km_per_hour2 = %.1f
                knot = %.0f
                knot2 = %.1f
                mbar = %.1f
                meter = %.0f
                meter_per_second = %.1f
                meter_per_second2 = %.1f
                mile_per_hour = %.0f
                mile_per_hour2 = %.1f
                mm = %.1f
                mmHg = %.1f
                mm_per_hour = %.1f
                percent = %.0f
                second = %.0f
                uv_index = %.1f
                volt = %.1f
                watt_per_meter_squared = %.0f
                NONE = "   N/A"
            
            # The following section sets the label for each type of unit
            [[[[Labels]]]]
                
                day = " day", " days"
                hour = " hour", " hours"
                minute = " minute", " minutes"
                second = " second", " seconds"
                NONE = ""
            
            # The following section sets the format for each time scale.
            # The values below will work in every locale, but they may not look
            # particularly attractive.
            [[[[TimeFormats]]]]
                
                hour = %H:%M
                day = %X
                week = %X (%A)
                month = %x %X
                year = %x %X
                rainyear = %x %X
                current = %x %X
                ephem_day = %X
                ephem_year = %x %X
            
            [[[[Ordinates]]]]
                
                # Ordinal directions. The last one is for no wind direction
                directions = N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW, N/A
                
                # The following section sets the base temperatures used for the
                #  calculation of heating and cooling degree-days.
                [[[[[DegreeDays]]]]]
                    
                    # Base temperature for heating days, with unit:
                    heating_base = 65, degree_F
                    # Base temperature for cooling days, with unit:
                    cooling_base = 65, degree_F
                
                # A trend takes a difference across a time period. The following
                # section sets the time period, and how big an error is allowed to
                # still be counted as the start or end of a period.
                [[[[[Trend]]]]]
                    
                    time_delta = 10800    # 3 hours
                    time_grace = 300    # 5 minutes
        
        # The labels to be used for each observation type
        [[[Labels]]]
            
            # Set to hemisphere abbreviations suitable for your location:
            hemispheres = N, S, E, W
            
            # Formats to be used for latitude whole degrees, longitude whole
            # degrees, and minutes:
            latlon_formats = %02d, %03d, %05.2f
            
            # Generic labels, keyed by an observation type.
            [[[[Generic]]]]
                barometer = Barometer
                dewpoint = Dew Point
                ET = ET
                heatindex = Heat Index
                inHumidity = Inside Humidity
                inTemp = Inside Temperature
                outHumidity = Humidity
                outTemp = Outside Temperature
                radiation = Radiation
                rain = Rain
                rainRate = Rain Rate
                UV = UV Index
                windDir = Wind Direction
                windGust = Gust Speed
                windGustDir = Gust Direction
                windSpeed = Wind Speed
                windchill = Wind Chill
                windgustvec = Gust Vector
                windvec = Wind Vector
                extraTemp1 = Temperature1
                extraTemp2 = Temperature2
                extraTemp3 = Temperature3
                
                # Sensor status indicators
                
                rxCheckPercent = Signal Quality
                txBatteryStatus = Transmitter Battery
                windBatteryStatus = Wind Battery
                rainBatteryStatus = Rain Battery
                outTempBatteryStatus = Outside Temperature Battery
                inTempBatteryStatus = Inside Temperature Battery
                consBatteryVoltage = Console Battery
                heatingVoltage = Heating Battery
                supplyVoltage = Supply Voltage
                referenceVoltage = Reference Voltage
        
        [[[Almanac]]]
            
            # The labels to be used for the phases of the moon:
            moon_phases = New, Waxing crescent, First quarter, Waxing gibbous, Full, Waning gibbous, Last quarter, Waning crescent

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

#   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
        pressure = 24, 34.5, inHg
        outTemp = -40, 120, degree_F
        inTemp = 10, 120, degree_F
        outHumidity = 0, 100
        inHumidity = 0, 100
        windSpeed = 0, 120, mile_per_hour
        rain = 0, 10, inch

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

#   This section controls the origin of derived values.

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

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

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

[DatabaseTypes]
    
    # Defaults for SQLite databases
    [[SQLite]]
        driver = weedb.sqlite
        # Directory in which the database files are located
        SQLITE_ROOT = /home/weewx/archive
    
    # Defaults for MySQL databases
    [[MySQL]]
        driver = weedb.mysql
        # The host where the database is located
        host = localhost
        # The user name for logging in to the host
        user = XXX obfuscated by wee_debug XXX
        # The password for the user name (quotes guard against parsing errors)
        password = XXX obfuscated by wee_debug XXX

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

#   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

wee_debug report successfully generated
 

any hints as to what is wrong?

Thanks,

I have looked up and down, and I am pretty sure I am following all the instructions.

Bret

Glenn McKechnie

unread,
Nov 17, 2019, 11:25:50 PM11/17/19
to weewx...@googlegroups.com
On 18/11/2019, Bret Craytor <bretc...@gmail.com> wrote:

[...]

> Weewx version 3.9.2 detected.
>
> Station info
> Station type: OWFS
> Driver: user.owfs
>
> Driver info
> [OWFS]
> interface = /dev/i2c-1
> driver = user.owfs
> [[sensor_type]]
> outTemp = /uncached/10.A3653C000000/temperature
> inTemp = /uncached/10.39F435030800/temperature
> windDir = /uncached/12.5EAB0D000000/
> windSpeed = /uncached/1D.D01101000000/counters.ALL
> rain = /uncached/1D.81B500000000/counters.ALL
>
> [[sensor_map]]
>
> Currently installed extensions
> Extension Name Version Description
> owfs 0.21 driver for one-wire devices connected via owfs

Ah Ha...

In the above output, ie within weewx.conf, you have your sensor mapping
listed under sensor_type, and no sensor_type entries.


If you change the sensor_type heading to [[sensor_map]], that should fix
the bulk of it.

Additionally, unless you know otherwise (ie you've changed the hardware
connections) windSpeed can drop the counters.ALL as your new sensor_map
will allocate it as counter.A (its default within owfs.py)

windSpeed = /uncached/1D.D01101000000


As for what should go under the now empty [[sensor_type]] section, try
the following...

[[sensor_type]]
windDir = aag_windvane
windSpeed = aag_windspeed
rain = rainwise_bucket

That's based on my memory, which recalls that you are running an
original AAG weather station?

I'm not sure what the AAG rain gauge would default to, I didn't find a
mention of anything specific in owfs.py but a rainwise_bucket returns
0.1" per tip, which owfs.py converts to 0.0254 cm. Once it's working
you can tweak its output.



>
>
> ##############################################################################
>
> # This section controls the origin of derived values.
>
> [StdWXCalculate]
>
> [[Calculations]]
> # How to calculate derived quantities. Possible values are:
> # hardware - use the value provided by hardware
> # software - use the value calculated by weewx
> # prefer_hardware - use value provide by hardware if available,
> # otherwise use value calculated by weewx
>
> pressure = prefer_hardware
> barometer = prefer_hardware
> altimeter = prefer_hardware
> windchill = prefer_hardware
> heatindex = prefer_hardware
> dewpoint = prefer_hardware
> inDewpoint = prefer_hardware
> rainRate = prefer_hardware
>
> ##############################################################################

With the exception of the pressure related values (there is/was a 1-wire
pressure sensor) these will need to become prefer_software. The 1-wire
sensors will only return the sensor value, the driver adjusts some
values but it's safe to assume that no calculations are performed.
Then again, you probably require a humidity sensor to calculate most of
those so it's possibly mute.

Don't forget. If you run weewx directly from the command line you should
see LOOP values spat out at every 30 seconds or so. This can quickly
tell you what is and isn't responding.

python /home/weewx/bin/weewxd /home/weewx/weewx.conf

You may need to tweak that command for your setup

Bret Craytor

unread,
Nov 18, 2019, 12:18:38 PM11/18/19
to weewx-user
Glenn,

Thank you so much!  Your imput has been invaluable!  I am now seeing data on the index.html file being populated.  Now I need to calibrate the wind direction, and get my rain gauge all calibrated which is indeed the original Dallas Semiconductor rain gauge (before AAG, but I believe the same type.  

Bless you for all your help!

Sincerely,

Bret
 

Glenn McKechnie

unread,
Nov 18, 2019, 5:05:34 PM11/18/19
to weewx...@googlegroups.com
> I am now seeing data on the index.html file being populated.

Excellent

> Now I need to calibrate the wind
> direction, and get my rain gauge all calibrated which is indeed the
> original Dallas Semiconductor rain gauge (before AAG, but I believe the
> same type.

Your sensor_map entry for rain will also drop the counters.ALL suffix.
The script uses counter.B as the default.

rain = /uncached/1D.81B500000000/

If needed, you can pin it down by using the following commands to run
owfs.py directly.
One of them will be right...

sudo PYTHONPATH=bin python bin/user/owfs.py --reading
/1D.81B500000000/Counter.A

sudo PYTHONPATH=bin python bin/user/owfs.py --reading
/1D.81B500000000/Counter.B
Reply all
Reply to author
Forward
0 new messages