wlink error with weatherlink.com V2

770 views
Skip to first unread message

Philip Kutzenco

unread,
Jun 4, 2018, 9:04:29 AM6/4/18
to weewx-user
I have a Davis Vantage Vue with the Davis WeatherLink IP data logger and was recently moved to Davis' online weatherlink.com V2 service. WeeWx works fine with the Vantage driver connecting directly tomy IP datalogger but, of course, this blocks the data logger uploading to weatherlink.com. So, I decided to install and try the wlink driver to download data from weatherlink.com instead of from the datalogger. After the install of the driver and editing of weewx.conf I stopped and then restarted the weewx service.

I see the following error:

weewx[7328]: engine: Caught WeeWxIOError: cannot determine archive interval from WeatherLink Server

This is followed by an error regarding Invalid Account Information#012 that also says to ignore any error messages of the type: Invalid Account Information.

This repeats every 60 seconds.

I have the archive interval set in the Windows Weatherlink software at 5 minutes (but I currently don't use that software anymore as I'm using WeeWX).
I am using wlink version 0.14 - the latest version I could find.

Is this because of Davis moving from weatherlink.com v1 to weatherlink.com v2? Or have I set up something incorrectly?

Thanks in advance for any help and advice as I'd like to use WeeWX, but still also upload to weatherlink.com.

Best,
Phil

mwall

unread,
Jun 4, 2018, 10:30:38 AM6/4/18
to weewx-user
hi phil,

0.14 is the latest wlink release (at least as of 04jun2018)

it *should* work with weatherlink v1 or v2

be sure that your login credentials are correct.  you might try putting your password in quotes, especially if it contains a double quote, single quote, comma, or hash character.

[WeatherLink]
    username = helloworld
    password = "xxxx"
    driver = user.wlink

could you post the actual log output from weewx, from the time you start up until after 2 or 3 attempts to get data from weatherlink?  set debug=1 in weewx.conf first - that will provide a little more information.

m

Philip Kutzenco

unread,
Jun 4, 2018, 12:01:46 PM6/4/18
to weewx-user
Matt,

Thanks so much for the quick reply. I did check my credentials and enclosed my password in quotes as you suggested it contains ! and % as special characters. I still get the same error. I turned on debug=1 and I've attached a file with the output.

I really appreciate the help. I'm sure I've set up something incorrectly.

Best,
Phil
WeWX errors.txt

mwall

unread,
Jun 7, 2018, 9:31:06 AM6/7/18
to weewx-user


On Monday, June 4, 2018 at 12:01:46 PM UTC-4, Philip Kutzenco wrote:
Matt,

Thanks so much for the quick reply. I did check my credentials and enclosed my password in quotes as you suggested it contains ! and % as special characters. I still get the same error. I turned on debug=1 and I've attached a file with the output.

I really appreciate the help. I'm sure I've set up something incorrectly.

phil,

the error message is coming from the weatherlink server (i do not know why the server also includes the bit about "Please ignore any error messages of the type: Invalid Account Information" - you will have to ask davis about that)

check and re-check the authentication credentials.  although it is possible that the servers are using a different protocol, it is more likely that there is a simple typo somewhere.

if you cannot find something that way, the deconstruct the problem - try making the connection to the wlink server directly using curl or wget (look at the wlink code to see the exact protocol, or maybe i can add some debug info to wlink to make the calls explicit)

m

Philip Kutzenco

unread,
Jun 7, 2018, 9:50:35 AM6/7/18
to weewx-user
m,

Thanks. I will call Davis.

But first, I have a question. How does wlink know whether to connect to weatherlink.com V1 or weatherlink.com V2. If, indeed, it is connecting to weatherlink.com V1, then those error messages make sense. Both websites are live. I no longer have an account on V1, but I do have an account on V2.


I'll bet that wlink is trying to login to V1!

Is that something I can change, or do you need to make that change?

Best,
Phil
Message has been deleted

mwall

unread,
Jun 7, 2018, 11:29:07 AM6/7/18
to weewx-user


On Thursday, June 7, 2018 at 9:50:35 AM UTC-4, Philip Kutzenco wrote:
m,

Thanks. I will call Davis.

But first, I have a question. How does wlink know whether to connect to weatherlink.com V1 or weatherlink.com V2. If, indeed, it is connecting to weatherlink.com V1, then those error messages make sense. Both websites are live. I no longer have an account on V1, but I do have an account on V2.


I'll bet that wlink is trying to login to V1!

Is that something I can change, or do you need to make that change?


hi phil,

the weewx-wlink uploader uses these URLs:

http://weatherlink.com/webdl.php?timestamp=XXX&user=USERNAME&pass=PASSWORD&action=data

http://weatherlink.com/webdl.php?timestamp=0&user=USERNAME&pass=PASSWORD&action=headers

where USERNAME is your username and PASSWORD is your password, and XXX is a davis timestamp

try entering those URLs directly using curl or wget (or a web browser) to see what you get.

there is no distinction made regarding V1 or V2

the davis timestamp is derived from a unix epoch timestamp like this:

def _epoch_to_timestamp(epoch):

    """convert unix epoch to davis timestamp"""

    tt = time.localtime(epoch)

    ds = tt[2] + (tt[1] << 5) + ((tt[0] - 2000) << 9)

    ts = tt[3] * 100 + tt[4]

    x = (ds << 16) | ts

    return x 

m

Philip Kutzenco

unread,
Jun 7, 2018, 8:03:52 PM6/7/18
to weewx-user

m,

 

I called Davis. It turns out that because a single weatherlink.com v2 account can now support multiple devices, to download data, you use the DID of the station as username, instead of the web account username - you use the same password you used before, though.

 

I tested this by downloading data from the website using the Davis Weatherlink software for Windows.

 

So, I updated weewx.conf entering my DID as username.

 

WeeWX with your wlink driver now works! Woo-hoo. But there still is an issue for me. According to the Caveat on your Github page for wlink

This driver obtains LOOP data by polling the weatherlink.com site every 60 seconds. ARCHIVE data are retrieved from the weatherlink.com site using the API published by Davis.

http://www.davisnet.com/support/weather/download/VantageSerialProtocolDocs_v261.pdf

According to the FAQ, LOOP data are uploaded once per minute, and weatherlink.com creates an archive record each hour:

http://www.davisnet.com/support/weather/faq/index.asp?ProdFam=15

Non-archive records downloaded from weatherlink.com contain only a subset of observations: windSpeed, windDir, barometer, outTemp, and rain.

It appears that the archive data is downloaded once per hour after it is created by weatherlink.com and loaded into the sqlite database. However, the LOOP data is not downloaded into the database. The WeeWX report web pages are only updated once per hour. I see on the weatherlink.com web site, that my data logger is, indeed uploading data once per minute, (by the way inside temp and humidity seem included in that once-per-minute data) but the web reports from WeeWX are only updated hourly (with data in 5 minute increments).  With the Vantage driver, I do get 5 minute updates from WeeWX.

 

I restarted WeeWX with wlink and debugging = 1.

 

I've uploaded those log entries as log.txt.

 

I hope you can help me correct this. If you need access to weatherlink.com, I can give you my DID and password to log in with (and I’ll change it later).

 

Thanks again in advance for your great help.

 

Best,

phil 

log.txt

Philip Kutzenco

unread,
Jun 8, 2018, 11:57:39 AM6/8/18
to weewx-user
m,

As an addition, I noted an error in today's log file from wlink. After WeeWX manager added a number of records to the database and before the report images were created, I see the following three lines: I'm not sure if this helps understand why LOOP data is not being read.


Jun  8 11:46:16 raspberrypi weewx[554]: wlink: cannot make timestamp: ds=65535 ts=65535
Jun  8 11:46:16 raspberrypi weewx[554]: wlink: cannot make timestamp: ds=65535 ts=65535
Jun  8 11:46:16 raspberrypi weewx[554]: wlink: cannot make timestamp: ds=65535 ts=65535

Note that debugging at this time (unlike the file I uploaded in my previous post) is set at 0.

Best,
phil

Ruben Navarro Huedo

unread,
Dec 28, 2018, 4:25:24 AM12/28/18
to weewx-user
I have exactly the same problem with: LOOP data is not being downloaded into the database.
It is downloading only archive data each hour.

Ruben Navarro Huedo

unread,
Dec 28, 2018, 4:29:59 AM12/28/18
to weewx-user
Last days i am getting: Dec 28 10:28:20 raspi weewx[441]: wlink: download failed attempt 5 of 5: HTTP Error 403: Forbidden
Dec 28 10:28:50 raspi weewx[441]: wlink: download failed after 5 tries




Rodrigo Scuissiato

unread,
Jan 20, 2020, 9:40:29 PM1/20/20
to weewx-user
Do you managed to fix this?

Joel Öhman

unread,
Mar 16, 2020, 4:24:01 AM3/16/20
to weewx-user
Hello!

I have the same problem with wlink. I get Error message 403: Forbidden. Any clue on how to fix this problem? I get an upload once an hour but no historical data.

Mvh: Joel

Ryan Stasel

unread,
Aug 4, 2020, 12:28:22 PM8/4/20
to weewx-user
Anyone ever figure this out? the wlink driver just doesn't seem happy. Makes me think there's some API limit to wlink, but I can't find anything in their docs about this... 

Aug  4 09:16:39 raspi-server-misc weewx[1334] INFO weewx.manager: Added record 2020-08-04 09:15:00 PDT (1596557700) to database 'weewx.sdb'
Aug  4 09:16:39 raspi-server-misc weewx[1334] INFO weewx.manager: Added record 2020-08-04 09:15:00 PDT (1596557700) to daily summary in 'weewx.sdb'
Aug  4 09:16:40 raspi-server-misc weewxd: wlink: cannot make timestamp: ds=65535 ts=65535
Aug  4 09:16:40 raspi-server-misc weewxd: wlink: skipping: {'windGust': 255.0, 'readClosed': 65535, 'outHumidity': None, 'highOutTemp': -0.1, 'windDir': None, 'lowOutTemp': -0.1, 'soilMoist2': None, 'rainRate': 655.35, 'radiation': 65535.0, 'readOpened': 65535, 'inTemp': -0.1, 'windGustDir': None, 'barometer': 65.535, 'soilTemp1': None, 'soilTemp2': None, 'soilTemp3': None, 'soilTemp4': None, 'rain': 655.35, 'interval': 1, 'extraHumid2': None, 'extraHumid1': None, 'ET': 0.255, 'extraTemp2': None, 'usUnits': 1, 'extraTemp1': None, 'leafWet4': None, 'leafWet1': None, 'leafWet2': None, 'leafWet3': None, 'UV': None, 'dateTime': None, 'soilMoist3': None, 'outTemp': -0.1, 'windSpeed': None, 'inHumidity': None, 'soilMoist4': None, 'soilMoist1': None}
Aug  4 09:16:40 raspi-server-misc weewxd: wlink: cannot make timestamp: ds=65535 ts=65535
Aug  4 09:16:40 raspi-server-misc weewxd: wlink: skipping: {'windGust': 255.0, 'readClosed': 65535, 'outHumidity': None, 'highOutTemp': -0.1, 'windDir': None, 'lowOutTemp': -0.1, 'soilMoist2': None, 'rainRate': 655.35, 'radiation': 65535.0, 'readOpened': 65535, 'inTemp': -0.1, 'windGustDir': None, 'barometer': 65.535, 'soilTemp1': None, 'soilTemp2': None, 'soilTemp3': None, 'soilTemp4': None, 'rain': 655.35, 'interval': 1, 'extraHumid2': None, 'extraHumid1': None, 'ET': 0.255, 'extraTemp2': None, 'usUnits': 1, 'extraTemp1': None, 'leafWet4': None, 'leafWet1': None, 'leafWet2': None, 'leafWet3': None, 'UV': None, 'dateTime': None, 'soilMoist3': None, 'outTemp': -0.1, 'windSpeed': None, 'inHumidity': None, 'soilMoist4': None, 'soilMoist1': None}
Aug  4 09:16:40 raspi-server-misc weewxd: wlink: cannot make timestamp: ds=65535 ts=65535
Aug  4 09:16:40 raspi-server-misc weewxd: wlink: skipping: {'windGust': 255.0, 'readClosed': 65535, 'outHumidity': None, 'highOutTemp': -0.1, 'windDir': None, 'lowOutTemp': -0.1, 'soilMoist2': None, 'rainRate': 655.35, 'radiation': 65535.0, 'readOpened': 65535, 'inTemp': -0.1, 'windGustDir': None, 'barometer': 65.535, 'soilTemp1': None, 'soilTemp2': None, 'soilTemp3': None, 'soilTemp4': None, 'rain': 655.35, 'interval': 1, 'extraHumid2': None, 'extraHumid1': None, 'ET': 0.255, 'extraTemp2': None, 'usUnits': 1, 'extraTemp1': None, 'leafWet4': None, 'leafWet1': None, 'leafWet2': None, 'leafWet3': None, 'UV': None, 'dateTime': None, 'soilMoist3': None, 'outTemp': -0.1, 'windSpeed': None, 'inHumidity': None, 'soilMoist4': None, 'soilMoist1': None}
Aug  4 09:16:40 raspi-server-misc weewx[1334] INFO weewx.engine: Launch of report thread aborted: existing report thread still running
Aug  4 09:16:40 raspi-server-misc weewxd: wlink: download failed attempt 1 of 5: HTTP Error 403: Forbidden
Aug  4 09:16:57 raspi-server-misc weewx[1334] INFO weewx.reportengine: ftpgenerator: Ftp'd 221 files in 166.05 seconds
Aug  4 09:17:10 raspi-server-misc weewxd: wlink: download failed attempt 2 of 5: HTTP Error 403: Forbidden
Aug  4 09:17:40 raspi-server-misc weewxd: wlink: download failed attempt 3 of 5: HTTP Error 403: Forbidden
Aug  4 09:18:10 raspi-server-misc weewxd: wlink: download failed attempt 4 of 5: HTTP Error 403: Forbidden
Aug  4 09:18:41 raspi-server-misc weewxd: wlink: download failed attempt 5 of 5: HTTP Error 403: Forbidden
Aug  4 09:19:11 raspi-server-misc weewxd: wlink: download failed after 5 tries
Aug  4 09:19:11 raspi-server-misc weewxd: wlink: found 0 archive records since 1596557700

Rodrigo Scuissiato

unread,
Aug 4, 2020, 2:14:44 PM8/4/20
to weewx-user
Davis no longer allows you to read their data without paying for it. This driver is outdated and no longer works 

Ryan Stasel

unread,
Aug 4, 2020, 2:57:43 PM8/4/20
to weewx-user
That's unfortunate. It kinda worked for a bit (it was grabbing a bunch of data, then started throwing errors). 

for what it's worth, do we know what tier of paid account is needed to get that data?

Rodrigo Scuissiato

unread,
Aug 4, 2020, 3:56:36 PM8/4/20
to weewx-user
you need to buy the pro version, for $ 3.95 per month (12 months minimum), but I still don't know if you'll be able to fetch the data over an http call (as the driver does).

Ryan Stasel

unread,
Aug 4, 2020, 7:29:19 PM8/4/20
to weewx-user
Gotcha, yeah, that's what I couldn't figure out. It's super unclear from their tiering documentation. 

Joel Öhman

unread,
Sep 2, 2020, 10:17:28 AM9/2/20
to weewx-user
I have the Pro Version but it doesn't help. 

H: Joel

Reply all
Reply to author
Forward
0 new messages