Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

WeeWX connection problem
#11

Knowing that you have the Compact receiver you should after connection is working set in your weewx.conf to record generation = software.

Regards
Reply
#12

Hello thanks for your reply:
My Receiver is Pro2 Compact.
I test WD --> Weewx on Debian 10 VM Proxmox.
The serial port selection is good. 
For info, I televerse Arduino sketch with the (same) good port. So I think that is good. For Driver, I don't know. Perhaps, but IDE Arduino is ok.
Next; I have these messages on debug Weewx:
Feb 22 23:09:58  local weewx[1038]: vantage: No <ACK> received from console
Feb 22 23:09:58 local weewx[1038]: vantage: DMPAFT try #3; error: No <ACK> received from Vantage console
Feb 22 23:09:58 local weewx[1038]: vantage: Getting all archive packets
Feb 22 23:09:58 local weewx[1038]: vantage: Rude wake up of console successful
Feb 22 23:09:58 local weewx[1038]: vantage: No <ACK> received from console
Feb 22 23:09:58 local weewx[1038]: vantage: DMPAFT try #4; error: No <ACK> received from Vantage console
Feb 22 23:09:58 local weewx[1038]: vantage: DMPAFT max tries (4) exceeded.
Feb 22 23:09:58 local weewx[1038]: engine: Main loop exiting. Shutting engine down.
Feb 22 23:09:58 local weewx[1038]: engine: Caught WeeWxIOError: Max tries exceeded while getting archive data.
Feb 22 23:09:58 local weewx[1038]:     ****  Waiting 60 seconds then retrying...

weewx.conf to record generation = software.
weewx version = 3.9.2

Thanks
Reply
#13

It still tries the DMPAFT command which is not supported by the Compact receiver - this is the comand to read the logger.

Did you restart WeeWx after configuring the conf file. Maybe you just reboot the whole VM just to be sure.

Because according to your logs both systems are now talking to each other.

Regards
Reply
#14

@engolling
Of course for the reboot ...
Regards
Reply
#15

Did it change anything?

If WeeWx stops polling the log data it should be fine for you.
Reply
#16

@Engolling => Sorry I don't understand your reply.


I modify the engine.py in weewx

line 511:

def startup(self, event): # @UnusedVariable
"""Called when the engine is starting up."""
# The engine is starting up. Unless the user has specified otherwise, the main task
# is to do a catch up on any data still on the station, but not yet put in the database.
# The engine is starting up. If hardware record generation has been specified,
# the main task is to do a catch up on any
# data still on the station, but not yet put in the database.
if self.record_generation == 'hardware':
# Not all consoles can do a hardware catchup, so be prepared to catch the exception:
try:
self._catchup(self.engine.console.genStartupRecords)
except NotImplementedError:
pass

Problem about Catch up .

So now no catch up and it's like ok .

Do you have the solution to add " DMPAFT " in receiver software ?
Regards.
Reply
#17

(23-02-2020, 00:41)lamda Wrote:  ...

Do you have the solution to add " DMPAFT " in receiver software ?
...

The Pro2 Compact doesn't have the hardware data logger chip, so answering to the DMPAFT command, can't be implemented in software.
The only vantage of the hardware data logger is for systems which are disconnected from the computer most of the time, otherwise it is almost non necessary.

I'm not an expert in WeeWx, but I believe you don't need to change engine.py in weewx, setting it to not use the hardware data logger can be done in the Weewx config
By default the original Davis weather stations don't have the hardware data logger, and the WeeWx software is able to work with them.
Reply
#18

Hi lamda,

for me it worked with those settings in WeeWx.conf.

Code:
##############################################################################

[Vantage]
    # This section is for the Davis Vantage series of weather stations.
    
    # Connection type: serial or ethernet
    #  serial (the classic VantagePro)
    #  ethernet (the WeatherLinkIP or Serial-Ethernet bridge)
       type = serial
    
    # If the connection type is serial, a port must be specified:
    #   Debian, Ubuntu, Redhat, Fedora, and SuSE:
    #     /dev/ttyUSB0 is a common USB port name
    #     /dev/ttyS0   is a common serial port name
    #   BSD:
    #     /dev/cuaU0   is a common serial port name
       port = /dev/ttyACM0
    
    # If the connection type is ethernet, an IP Address/hostname is required:
    host = 1.2.3.4
    
    ######################################################
    # The rest of this section rarely needs any attention.
    # You can safely leave it "as is."
    ######################################################
    
    # Serial baud rate (usually 19200)
    baudrate = 19200
    
    # TCP port (when using the WeatherLinkIP)
    tcp_port = 22222
    
    # TCP send delay (when using the WeatherLinkIP):
    tcp_send_delay = 0.5
    
    # The id of your ISS station (usually 1). If you use a wind meter connected
    # to a anemometer transmitter kit, use its id
    iss_id = 1
    
    # How long to wait for a response from the station before giving up (in
    # seconds; must be greater than 2)
    timeout = 4
    
    # How long to wait before trying again (in seconds)
    wait_before_retry = 1.2
    
    # How many times to try before giving up:
    max_tries = 4
    
    # Vantage model Type: 1 = Vantage Pro; 2 = Vantage Pro2
    model_type = 2
    
    # The driver to use:
    driver = weewx.drivers.vantage

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

As you already know you have to change your device.

Code:
##############################################################################

#   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 = 60
    
    # 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 = software
    
    # 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 should do the trick.

It is also described here: http://weewx.com/docs/usersguide.htm#StdArchive

As long as it tries to download something from the logger with the DMPAFT comand it is still configured not correctly.
I can confirm - and I have also tried myself that it works without logger and DMPAFT command.

If everything is running fine there is no need to modify some of the WeeWx internals.

Regards,
engolling
Reply
#19

Hello,
To not modify engine.py;
We can use no_catchup in section StdArchive:

[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 = software
    
    # Whether to include LOOP data in hi/low statistics
    loop_hilo = True
    
    # The data binding used to save archive records
    data_binding = wx_binding
    
    no_catchup = True

Regards.
Reply
#20

Do you know what WeeWx is trying when it wants to "Catchup" even if record generation is set to software?
Reply




Users browsing this thread: 1 Guest(s)