Skip to main content

Update weewx-netatmo extension

··336 words·2 mins·

I got an email from another weewx-netatmo user Patrick yesterday, in which he asked if my WeeWX installation was still running, because we use the same extension to fetch the weather data from the netatmo servers (this method cloud is already rediculous, but it works with that hardware, so yes…).

After looking on my servers logfiles I could confirm the extension wasn’t working as expected any more.

Today I found an actual fork of the fork of the original extension:

And this is how I upgraded the netatmo weewx extension #

Uninstall the old extension:

$ doas -u weewx /home/weewx/bin/wee_extension --uninstall netatmo

Download and install the new extension:

$ doas -u weewx wget -O
$ doas -u weewx /home/weewx/bin/wee_extension --install

Go to and update your app to include a refresh_token.

Update the configuration with

$ doas -u weewx /home/weewx/bin/wee_config --reconfigure

That should already ask for your refresh_token. Double check this in your weewx.conf configuration file, as it might not get written properly (like in my case).

The configuration should look like this now:

    client_id = ************************
    client_secret = ***************************
    refresh_token = ************************|********************************
    driver = user.netatmo
    mode = cloud

I removed the username and password variables but added the refresh_token manually because the configuration was not properly written by wee_config --reconfigure.

A restart of WeeWX should fetch the data again.

$ doas rcctl restart weewx

Problems on a Raspberry Pi? #

I’m not sure about the cause of this behaviour, but Andreas DG0LFL reported, that his Raspberry Pi 4 (running Debian 10 Buster) could not update the token so he solved this by creating /etc/systemd/system/weewx.timer with the following contents:




As for my understanding this should start weewx.service 5 minutes after system boot as well as every 120 minutes after the services last start.

He had noticed, that the netatmo-driver wasn’t updating the token so it got invalid after 10800 seconds (3 hours).

You would probably need to run systemctl enable weewx.timer to enable the timer.