+++ # vim: ft=markdown title = 'Update weewx-netatmo extension' summary = 'Upgrade the authentication method from _password_ to _preauthenticated refresh_token_' date = '2023-07-15T17:02:10+02:00' lastmod = '2023-07-21T19:57:47+0000' categories = [ 'amateur-radio' ] tags = [ 'wx', 'weewx', 'netatmo', 'server', 'selfhost' ] +++ 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][forked]: [forked]: https://github.com/matthewwall/weewx-netatmo/issues/21#issuecomment-1636757236 ## And this is how I upgraded the netatmo weewx extension Uninstall the old extension: ```console $ doas -u weewx /home/weewx/bin/wee_extension --uninstall netatmo ``` Download and install the new extension: ```console $ doas -u weewx wget -O weewx-netatmo.zip https://github.com/Buco7854/weewx-netatmo/archive/master.zip $ doas -u weewx /home/weewx/bin/wee_extension --install weewx-netatmo.zip ``` Go to and update your app to include a `refresh_token`. Update the configuration with ```console $ 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: ```toml [netatmo] 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. ```console $ doas rcctl restart weewx ```