Problem with moving to a new server

225 views
Skip to first unread message

I L

unread,
Mar 31, 2022, 6:26:40 AM3/31/22
to weewx...@googlegroups.com

I have an old installation on raspian with weewx 4.0 and plan to move to Ubuntu server 20.04 LTS (64-bit version) with v 4.7 of weewx. The weather station is a Froggit WH3000 and I am using weewx-interceptor. The old installation works fine with device_type = observer, so that is what I am using on the new server as well.

The problem is that when I change the IP-address to the new server in the weather station console the data is not coming through. Here is an extract from the log (debug mode):

Mar 31 11:35:42 ubuntu weewx[1033] DEBUG user.interceptor: GET:
Mar 31 11:35:42 ubuntu weewx[1033] DEBUG user.interceptor: raw data:
Mar 31 11:35:42 ubuntu weewx[1033] DEBUG user.interceptor: raw packet: {'dateTime': 1648719343, 'usUnits': 16}
Mar 31 11:35:42 ubuntu weewx[1033] DEBUG user.interceptor: mapped packet: {'dateTime': 1648719343, 'usUnits': 16}
Mar 31 11:35:42 ubuntu weewx[1033] INFO weewx.manager: Added record 2022-03-31 11:35:00 CEST (1648719300) to database 'weewx.sdb'
Mar 31 11:35:42 ubuntu weewx[1033] INFO weewx.manager: Added record 2022-03-31 11:35:00 CEST (1648719300) to daily summary in 'weewx.sdb'
Mar 31 11:35:43 ubuntu weewx[1033] DEBUG weewx.reportengine: Running reports for latest time in the database.
Mar 31 11:35:43 ubuntu weewx[1033] DEBUG weewx.reportengine: Running report 'SeasonsReport'
Mar 31 11:35:43 ubuntu weewx[1033] DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Seasons/skin.conf for report 'SeasonsReport'
Mar 31 11:35:43 ubuntu weewx[1033] DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Current',
'weewx.cheetahgenerator.DisplayOptions', 'weewx.cheetahgenerator.Extras', 'weewx.cheetahgenerator.Gettext', 'weewx.cheetahgenerator.JSONHelpers',
'weewx.cheetahgenerator.PlotInfo', 'weewx.cheetahgenerator.SkinInfo', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Stats',
'weewx.cheetahgenerator.UnitInfo']
Mar 31 11:35:43 ubuntu weewx[1033] DEBUG weewx.manager: Daily summary version is 4.0
Mar 31 11:35:44 ubuntu weewx[1033] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 0.98 seconds
Mar 31 11:35:44 ubuntu weewx[1033] DEBUG weewx.manager: Daily summary version is 4.0
Mar 31 11:35:44 ubuntu weewx[1033] INFO weewx.imagegenerator: Generated 30 images for report SeasonsReport in 0.86 seconds
Mar 31 11:35:44 ubuntu weewx[1033] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx
Mar 31 11:35:44 ubuntu weewx[1033] DEBUG weewx.reportengine: Report 'SmartphoneReport' not enabled. Skipping.
Mar 31 11:35:44 ubuntu weewx[1033] DEBUG weewx.reportengine: Report 'MobileReport' not enabled. Skipping.
Mar 31 11:35:44 ubuntu weewx[1033] DEBUG weewx.reportengine: Report 'StandardReport' not enabled. Skipping.
Mar 31 11:35:44 ubuntu weewx[1033] DEBUG weewx.reportengine: Report 'FTP' not enabled. Skipping.
Mar 31 11:35:44 ubuntu weewx[1033] DEBUG weewx.reportengine: Report 'RSYNC' not enabled. Skipping.
Mar 31 11:35:53 ubuntu weewx[1033] DEBUG user.interceptor: empty queue

The log from the old server looks like this:
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: GET: ID=IEKER22&PASSWORD=XXXX&indoortempf=69.8&tempf=37.0&dewptf=16.5&windchillf=37.0&
indoorhumidity=28&humidity=43&windspeedmph=2.2&windgustmph=2.2&winddir=216&absbaromin=29.673&baromin=29.829&rainin=0.000&dailyrainin=0.000&
weeklyrainin=0.008&monthlyrainin=0.020&solarradiation=386.09&UV=3&dateutc=2022-03-31%2008:55:00&softwaretype=EasyWeatherV1.6.2&action=updateraw&
realtime=1&rtfreq=5
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: raw data: ID=IEKER22&PASSWORD=n16l3iL5&indoortempf=69.8&tempf=37.0&dewptf=16.5&windchillf=37.0&
indoorhumidity=28&humidity=43&windspeedmph=2.2&windgustmph=2.2&winddir=216&absbaromin=29.673&baromin=29.829&rainin=0.000&dailyrainin=0.000&
weeklyrainin=0.008&monthlyrainin=0.020&solarradiation=386.09&UV=3&dateutc=2022-03-31%2008:55:00&softwaretype=EasyWeatherV1.6.2&action=updateraw&
realtime=1&rtfreq=5
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: using rain_total 0.0 from dailyrainin
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: firmware EasyWeatherV1.6.2: baromin is barometer
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: ignored parameter rainin=0.000
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: ignored parameter monthlyrainin=0.020
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: ignored parameter realtime=1
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: ignored parameter rtfreq=5
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: ignored parameter PASSWORD=XXXXXXXX
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: ignored parameter ID=IEKER22
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: ignored parameter softwaretype=EasyWeatherV1.6.2
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: ignored parameter action=updateraw
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: ignored parameter weeklyrainin=0.008
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: raw packet: {'wind_speed': 2.2, 'humidity_in': 28.0, 'temperature_in': 69.8,
'solar_radiation': 386.09, 'windchill': 37.0, 'dewpoint': 16.5, 'humidity_out': 43.0, 'uv': 3.0, 'rain': 0.0, 'dateTime': 1648716900,
'pressure': 29.673, 'temperature_out': 37.0, 'wind_dir': 216.0, 'barometer': 29.829, 'rain_total': 0.0, 'usUnits': 1, 'wind_gust': 2.2}
Mar 31 10:55:07 wxpi weewx[26111] DEBUG user.interceptor: mapped packet: {'barometer': 29.829, 'windchill': 37.0, 'dewpoint': 16.5,
'pressure': 29.673, 'outHumidity': 43.0, 'UV': 3.0, 'radiation': 386.09, 'rain': 0.0, 'dateTime': 1648716900, 'windDir': 216.0, 'outTemp': 37.0,
'windSpeed': 2.2, 'inHumidity': 28.0, 'inTemp': 69.8, 'windGust': 2.2, 'usUnits': 1}
Mar 31 10:55:17 wxpi weewx[26111] DEBUG user.interceptor: empty queue

I must have missed something when setting up the new server. But what? Can someone point me in the right direction?


Francesco

unread,
Apr 1, 2022, 1:49:01 PM4/1/22
to weewx-user
Can you post your weewx.conf (including the [Interceptor]  section)? Have you tried to run directly the interceptor driver? PYTHONPATH=/usr/share/weewx python3 /usr/share/weewx/user/interceptor.py  --device=observer --port=yourport

I L

unread,
Apr 2, 2022, 3:19:28 AM4/2/22
to weewx...@googlegroups.com
Good Morning Francesco,

The result from ~$ PYTHONPATH=/usr/share/weewx python3 /usr/share/weewx/user/interceptor.py  --device=observer --port=80:
Traceback (most recent call last):
  File "/usr/share/weewx/user/interceptor.py", line 2661, in <module>
    device = InterceptorDriver.DEVICE_TYPES.get(options.device_type)(
  File "/usr/share/weewx/user/interceptor.py", line 1284, in __init__
    super(Observer, self).__init__(
  File "/usr/share/weewx/user/interceptor.py", line 429, in __init__
    self._server = Consumer.TCPServer(address, port, handler)
  File "/usr/share/weewx/user/interceptor.py", line 584, in __init__
    TCPServer.__init__(self, (address, int(port)), handler)
  File "/usr/lib/python3.8/socketserver.py", line 452, in __init__
    self.server_bind()
  File "/usr/lib/python3.8/socketserver.py", line 466, in server_bind
    self.socket.bind(self.server_address)
PermissionError: [Errno 13] Permission denied

I get the same result when I run the command on the working server (except for line numbers as the Python version is older).

I am using port 8000 for the web page and it shows up with the simulator. With observer the web page is updated with an interval
of 5 minutes but the content is N/A.

As far as I can remember I have only edited the first part of weewx.conf (general configuration and driver part). Here it is:

# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2021 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 = 1

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

# 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 = 4.7.0

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

#   This section is for information about the station.

[Station]
   
    # Description of the station location
    location = "Älgstigen 2, Ekerö"
   
    # Latitude in decimal degrees. Negative for southern hemisphere
    latitude = 59.27564
    # Longitude in decimal degrees. Negative for western hemisphere.
    longitude = 17.73358
   
    # Altitude of the station, with the unit it is in. This is used only
    # if the hardware cannot supply a value.
    altitude = 46, meter
   
    # Set to type of station hardware. There must be a corresponding stanza
    # in this file, which includes a value for the 'driver' option.
    station_type = Interceptor
   
    # If you have a website, you may specify an URL. This is required if you
    # intend to register your station.
    #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

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

[Interceptor]
    # This section is for the network traffic interceptor driver.
   
    # The driver to use:
    driver = user.interceptor
   
    # Specify the hardware device to capture.  Options include:
    #   acurite-bridge - acurite internet bridge, smarthub, or access
    #   observer - fine offset WH2600/HP1000/HP1003, ambient WS2902
    #   lw30x - oregon scientific LW301/LW302
    #   lacrosse-bridge - lacrosse GW1000U/C84612 internet bridge
    #   ecowitt-client - any hardware that uses the ecowitt protocol
    #   wu-client - any hardware that uses the weather underground protocol
    device_type = observer
    # port = 8000

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

[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,
        # then fill out option 'station_url' above.
        register_this_station = false
   
    [[AWEKAS]]
        # This section is for configuring posts to AWEKAS.
       
        # If you wish to post to AWEKAS, set the option 'enable' to true, then specify a username
        # and password. To guard against parsing errors, put the password in quotes.
        enable = false
        username = replace_me
        password = replace_me
   
    [[CWOP]]
        # This section is for configuring posts to CWOP.
       
        # If you wish to post to CWOP, set the option 'enable' to true,
        # then specify the station ID (e.g., CW1234).
        enable = false
        station = replace_me
        # If this is an APRS (radio amateur) station, specify the
        # passcode (e.g., 12345). Otherwise, ignore.
        passcode = replace_me
   
   
    [[PWSweather]]
        # This section is for configuring posts to PWSweather.com.
       
        # If you wish to post to PWSweather.com, set the option 'enable' to true, then specify a
        # station and password. To guard against parsing errors, put the password in quotes.
        enable = false
        station = replace_me
        password = replace_me
   
    [[WOW]]
        # This section is for configuring posts to WOW.
       
        # If you wish to post to WOW, set the option 'enable' to true, then specify a station and
        # password. To guard against parsing errors, put the password in quotes.
        enable = false
        station = replace_me
        password = replace_me
   
    [[Wunderground]]
        # This section is for configuring posts to the Weather Underground.
       
        # If you wish to post to the Weather Underground, set the option 'enable' to true,  then
        # specify a station (e.g., 'KORHOODR3') and password. To guard against parsing errors, put
        # the password in quotes.
        enable = false
        station = replace_me
        password = replace_me
       
        # If you plan on using wunderfixer, set the following
        # to your API key:
        api_key = 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
   
    # Whether to log a successful operation
    log_success = True
   
    # Whether to log an unsuccessful operation
    log_failure = True
   
    # 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 = /var/www/html/weewx/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 = /var/www/html/weewx/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 = replace_me
        password = replace_me
        server = replace_me    # The ftp server name, e.g, www.myserver.org
        path = replace_me    # The destination directory, e.g., /weather
       
        # Set to True for an FTP over TLS (FTPS) connection. Not all servers
        # support this.
        secure_ftp = False
       
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        #HTML_ROOT = /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 to the user account on the remote machine where the files
        # will be copied.
        #
        # If you wish to use rsync, set "enable" to "true", then
        # fill out server, user, and path.
        # The server should appear in your .ssh/config file.
        # The user is the username used in the identity file.
        # The path is the destination directory, such as /var/www/html/weather.
        # Be sure that the user has write permissions on the destination!
        enable = false
        server = replace_me
        user = replace_me
        path = replace_me
       
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        #HTML_ROOT = /var/www/html/weewx
       
        # Rsync can be configured to remove files from the remote server if
        # they don't exist under HTML_ROOT locally. USE WITH CAUTION: if you
        # make a mistake in the remote path, you could could unintentionally
        # cause unrelated files to be deleted. Set to 1 to enable remote file
        # deletion, zero to allow files to accumulate remotely.
        delete = 0
   
    # Options in the [[Defaults]] section below will apply to all reports.
    # What follows are a few of the more popular options you may want to
    # uncomment, then change.
    [[Defaults]]
       
        # Which language to use for all reports. Not all skins support all languages.
        # You can override this for individual reports.
        lang = en
       
        # Which unit system to use for all reports. Choices are 'us', 'metric', or 'metricwx'.
        # You can override this for individual reports.
        unit_system = metricwx
       
        [[[Units]]]
           
            # Option "unit_system" above sets the general unit system, but overriding specific unit
            # groups is possible. These are popular choices. Uncomment and set as appropriate.
            # NB: The unit is always in the singular. I.e., 'mile_per_hour',
            # NOT 'miles_per_hour'
            [[[[Groups]]]]
                # group_altitude     = meter              # Options are 'foot' or 'meter'
                # group_pressure     = mbar               # Options are 'inHg', 'mmHg', 'mbar', or 'hPa'
                # group_rain         = mm                 # Options are 'inch', 'cm', or 'mm'
                # group_rainrate     = mm_per_hour        # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour'
                # group_temperature  = degree_C           # Options are 'degree_C', 'degree_F', or 'degree_K'
                # The following line is used to keep the above lines indented properly.
                # It can be ignored.
                unused = unused
           
            # Uncommenting the following section frequently results in more
            # attractive formatting of times and dates, but may not work in
            # your locale.
            [[[[TimeFormats]]]]
                # day        = %H:%M
                # week       = %H:%M on %A
                # month      = %d-%b-%Y %H:%M
                # year       = %d-%b-%Y %H:%M
                # rainyear   = %d-%b-%Y %H:%M
                # current    = %d-%b-%Y %H:%M
                # ephem_day  = %H:%M
                # ephem_year = %d-%b-%Y %H:%M
                # The following line is used to keep the above lines indented properly.
                # It can be ignored.
                unused = unused
       
        [[[Labels]]]
            # Users frequently change the labels for these observation types
            [[[[Generic]]]]
                # inHumidity     = Inside Humidity
                # inTemp         = Inside Temperature
                # outHumidity    = Outside Humidity
                # outTemp        = Outside Temperature
                # extraTemp1     = Temperature1
                # extraTemp2     = Temperature2
                # extraTemp3     = Temperature3
                # The following line is used to keep the above lines indented properly.
                # It can be ignored.
                unused = unused

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

#   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
        altimeter = prefer_hardware
        appTemp = prefer_hardware
        barometer = prefer_hardware
        cloudbase = prefer_hardware
        dewpoint = prefer_hardware
        ET = prefer_hardware
        heatindex = prefer_hardware
        humidex = prefer_hardware
        inDewpoint = prefer_hardware
        maxSolarRad = prefer_hardware
        rainRate = prefer_hardware
        windchill = prefer_hardware
        windrun = prefer_hardware

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

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

[StdTimeSynch]
   
    # How often to check the weather station clock for drift (in seconds)
    clock_check = 14400
   
    # How much it can drift before we will correct it (in seconds)
    max_drift = 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
   
    # Whether to log successful archive operations
    log_success = True
   
    # Whether to log unsuccessful archive operations
    log_failure = True

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

#   This section binds a data store to a database.

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

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

#   This section defines various databases.

[Databases]
   
    # A SQLite database is simply a single file
    [[archive_sqlite]]
        database_name = weewx.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 = /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 (use quotes to guard against parsing errors)
        password = weewx

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

#   This section configures the internal weewx engine.

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




--
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/febcf860-bc78-4453-a8d4-e9dcae6061dfn%40googlegroups.com.


--
------------------------------------------------------
Ingemar Lekteus
Älgstigen 2
178 52  EKERÖ

E-post: ingemar...@gmail.com
Mobil: 0704-71 33 30

vince

unread,
Apr 4, 2022, 1:00:13 PM4/4/22
to weewx-user
The result from ~$ PYTHONPATH=/usr/share/weewx python3 /usr/share/weewx/user/interceptor.py  --device=observer --port=80:
Traceback (most recent call last):
  File "/usr/share/weewx/user/interceptor.py", line 2661, in <module>
    device = InterceptorDriver.DEVICE_TYPES.get(options.device_type)(
  File "/usr/share/weewx/user/interceptor.py", line 1284, in __init__
    super(Observer, self).__init__(
  File "/usr/share/weewx/user/interceptor.py", line 429, in __init__
    self._server = Consumer.TCPServer(address, port, handler)
  File "/usr/share/weewx/user/interceptor.py", line 584, in __init__
    TCPServer.__init__(self, (address, int(port)), handler)
  File "/usr/lib/python3.8/socketserver.py", line 452, in __init__
    self.server_bind()
  File "/usr/lib/python3.8/socketserver.py", line 466, in server_bind
    self.socket.bind(self.server_address)
PermissionError: [Errno 13] Permission denied

==> try prefacing your command with 'sudo' and see if that helps any...


I L

unread,
Apr 4, 2022, 1:30:15 PM4/4/22
to weewx...@googlegroups.com
With sudo the last line is changed to:

OSError: [Errno 98] Address already in use

This is what happens also on the working server.

Virusfritt. www.avast.com

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

Francesco

unread,
Apr 4, 2022, 2:28:53 PM4/4/22
to weewx-user
Yeah, you should try with sudo, but first you have to stop the weewx service. If it's stopped and you have the "Address already in use" exception, then there is something else running on port 80

I L

unread,
Apr 4, 2022, 3:12:24 PM4/4/22
to weewx...@googlegroups.com
I missed that. Now I get:

mapped packet: {'dateTime': 1649098956, 'usUnits': 16}

from the new server (when it is enabled in the weather console).

On the working server it looks like this:

mapped packet: {'usUnits': 1, 'inTemp': 68.7, 'pressure': 28.651, 'windGust': 1.1, 'inHumidity': 32.0, 'dateTime': 1649098792, 'windDir': 8.0, 'rain': None, 'windSpeed': 0.7, 'radiation': 0.0, 'barometer': 28.807, 'windchill': 32.7, 'outTemp': 32.7, 'UV': 0.0, 'dewpoint': 31.8, 'outHumidity': 96.0}


Message has been deleted

Francesco

unread,
Apr 4, 2022, 3:52:00 PM4/4/22
to weewx-user
Well, it seems that the interceptor on the new installation is not mapping/decoding correctly the packets received from the weather console. Is the interceptor.py (it should be located in /usr/share/weewx/user/) you're using on the new installation the same of the old one (or are you  using some modded interceptor.py) ? You could try to copy the interceptor.py from the old installation overwriting (after backing it up) the one in the new installation and check if it's working running again sudo PYTHONPATH=/usr/share/weewx python3 /usr/share/weewx/user/interceptor.py  --device=observer --port=80 --debug (to see also the raw packets). I would also try to run  PYTHONPATH=/usr/share/weewx python3 /usr/share/weewx/user/interceptor.py  --device=ecowitt-client --port=80

I L

unread,
Apr 5, 2022, 3:28:46 AM4/5/22
to weewx...@googlegroups.com
Thank you very much for your advice! This solved the problem.

Den mån 4 apr. 2022 kl 19:51 skrev Francesco <vent...@gmail.com>:
Well, it seems that the interceptor on the new installation is not mapping/decoding correctly the packets received from the weather console. It's the interceptor.py (it should be located in /usr/share/weewx/user/) you're using on the new installation the same of the old one (or are you  using some modded interceptor.py) ? You could try to copy the interceptor.py from the old installation overwriting (after backing it up) the one in the new installation and check if it's working running again sudo PYTHONPATH=/usr/share/weewx python3 /usr/share/weewx/user/interceptor.py  --device=observer --port=80 --debug (to see also the raw packets). I would also try to run  PYTHONPATH=/usr/share/weewx python3 /usr/share/weewx/user/interceptor.py  --device=ecowitt-client --port=80
Il giorno lunedì 4 aprile 2022 alle 21:12:24 UTC+2 IL ha scritto:
Reply all
Reply to author
Forward
0 new messages