Synology Weewx Install & Setup

Having had a TechnoLine branded La Crosse WS-2350 for a couple of years and always been mega disappointed that I could not upload latest observations without access to a permanently active windows PC my weather observing ambitions have been on ice until this week and the discovery of Weewx.

Weewx is open source weather station software for linux operating systems making it suitable for Macs, Raspberry PIs, Synology NAS devices and other linux boxes.

This page discusses the setup of Weewx on a Synology DS412+ box.


  1. As from version 2.5 the lack of the C version NameMapper causes real problems during webpage creation by CheetahGenerator.  The problem relates to the lack of ccache in gcc and prevents this being built.  We ended up using a php page modification to overcome this aspect.  Other packages affected are python-mysqldb and pyephem.
  2. CP210x driver issues prevent the Davis Weather Link from working on Synology boxes using the Intel Atom D2700 processor (other processors may also be affected – you might be able to get boxes using the D1500 processor to work – see here)  It might be possible to build the drivers from source but this is untried.

Step1 – Install Python.

First step in getting Weewx to work on your Synology box is to install Python.   Log into the web-based control panel (probably port 5001) and install Python 2.7 via the package manager.

For the next step you are going to require root terminal access via SSH so open the control panel and enable ssh via the terminal shortcut.

Step 2 – Install ConfigObj via SetUpTools & PIP

If you storm ahead and try to install Weewx at this point you will realise that it requires the Python configobj module.   The easiest way to install this is to do it via PIPs which requires Setuptools.

a) download and install SetUptools

The installation of Setuptools is explained in full here but for the abridged version read on. The documentation suggests that you can just download the file and run the setup file however this appears to fail because curl is not configured on DSM for secure connections.   I successfully installed setuptools by:

1) creating a pythonsetup folder and moving into it

2) Using wget to grab a copy of the source files which I then unzipped and untarred before moving into the setup folder.

3) Next I ran the install script with the following line which completed without error


b) Installing PIP

1) jump back one directory level (out of the setuptools folder) and download the pip install script.

2) Run the install script with the following line and Pip should be successfully installed


C) Installing ConfigObj

Now we have installed SetupTools and PIP we can get down to installing the gold we were after and install ConfigObj.  Type the following line to (hopefully) successfully install configObj


This process should be repeated for all the packages described in the documentation (it is not clear that you should click on the tab to access this information).

Step 3) Install and Setup Weewx

We’re getting closer to our goal now…  Start by creating a new user called weewx and giving it its own home folder.  As root move into the home folder and download Weewx using wget, unzip/tar it and jump into the resulting folder.

Now we need to modify the install location for weewx because the default location is overwritten when you update DSM.  using vi setup.cfg I set mine to:


Now we are going to install WeeWx using the file method described here and in more detail here.

There should now be a folder called system and inside should look like:


Step 4) Configuring and Running

If everything has gone to plan and Weewx has been installed into /volume1/homes/weewx/system we can now start configuring and running Weewx.  You will want to configure: location; latitude; longitude; altitude; and station_type.  This can all be done using vi or another text editor

before running your system with


If your installation of Weewx is not working properly then start by referring to the log files (tail -f /var/log/messages).  The following troubleshooting tips will be based on errors reported in the messages file.


The report writing process returns

screenshot_606which also returns




About CDB 362 Articles
Self-Employed Software Developer, Spark, Property Management, Hobby Forestry, Ex-Teacher, Engineering - Wood, Metal, Electrics & Computers. Outdoors - Walk, Cycle, Kitesurf,


  1. Hello Chris,

    I’m triing to configure a WMR88 on Synology NAS with your instructions. All it’s ok, but how I can do that the weewx module starts and stops, on NAS boot? On the weewx directory utils directory there are some scripts for Linux distributions, but I don’t which I must use.


    • Off the top of my head I don’t know because I’ve not tried to do it myself. You could it to the init file so it runs on a reboot but you’ll want to google for exact instructions. Have a look at this link – it might provide a solution.

          • Hi,

            No I didn’t as I failed to really get it working properly (a problem with python) and then there was a DSM hack. We now keep our DS limited to the LAN for backups etc and I run a Cubietruck for Weewx.

  2. Hi all,

    after following the instructions and some struggle I actually managed to get this working!

    my Setup:
    – Oregon Scientific WMR-200 (through ext. USB hub)
    – Synology DS213+ (DSM DSM 5.0-4493 Update 3)
    – Python 2.7.6 – 0042 (Synology)
    – WeeWX 2.6.4 (for Python 2.7)

    station data reporting (as result):
    – Synology www-user-folder (~weewx) for dyndns-external-IP access through Internet
    – enable Synology Personal WebStation
    – modify in weex.conf: HTML_ROOT = ../www

    Resource usage (Synology):
    RAM: 25MB
    CPU: 0.5% – 50% (average ~1%)

    Additional tip: Startup weewx on Synology boot:
    create text file „rc.local“ here (vi rc.local): “/etc/rc.local” (with root and through SSH) with following contents:


    # add delay on startup
    sleep 20

    # weewx start
    /volume1/homes/weewx/system/bin/weewxd /volume1/homes/weewx/system/weewx.conf

    exit 0
    set correct permission to file: chmod +x /etc/rc.local

    I currently experience data gaps (e.g. 30min) in the graphs. It looks like one of the systems is intermediately not reporting data.
    Could be that WMR-200 looses connection to sensors. Need to check and hoping to get this solved soon.

    Thank you Chris for this great manual and of course WeeWX (Tom Keffer) and all contributors!

  3. HI,
    I’ve got a problem when installing pip on synology DS115j:
    importerror: cannot import name httpshandler
    Please help.

  4. First, thank you very much for publishing this information! I barely know what I’m doing and was able to follow along and (nearly) have this working!

    I’m stumped on the database portion – trying to use the MySQL (MariaDB) setup in Synology to log the data. Did you use MySQL in the setup? In the meantime, I may skip this part to see if I can confirm all the other parts are working as expected, but thought I would ask in case you had any recommendations.


  5. hi all,
    I find in the index.html additional good

    and thanks to this howto!!!
    so running my DS214+ and WS 1080 🙂

  6. Great stuff!

    I’ve done everything fine and it looks pretty good.
    But now I’ve the wetherstation in the basement out of sight. how to get the Information shown by my browser?

    thx a lot


  7. helo i have install with this guide a wmr88 on synology ds214play, when i run i get this error:
    Nov 16 22:33:43 weewx[4208]: engine: Unable to load driver: No backend available
    Nov 16 22:33:43 weewx[4208]: **** Exiting…

    help me!

  8. Hi Guys,

    The problem is that I never got it to work and don’t even have a Synology running at home anymore. I would have a read of the comments above as some people have had success.



Leave a Reply

Your email address will not be published.


This site uses Akismet to reduce spam. Learn how your comment data is processed.