tinker.fulhack.info

- where Henrik's tinkering resides

pyWeatherLink

pyWeatherLink is a python implementation of the communication protocol used by the Davis WeatherLink. It has been developed to work with a WeatherLink coupled with a Davis VantageVue under Linux, but should also work with a Davis VantagePro or a VantagePro2 under whatever operating system having Python and pySerial.

pyWeatherLink is somewhat hacky, largely undocumented, needs some refactoring, (re)design and all users should beware of bugs. That said, it has been running for since mid 2008, 24 hours a day, seven days a week without any problems serving the weather information for estt.se.

communication.py holds the bits and pieces for communicating with the WeatherLink. It uses pySerial for serial communication (ttyS1 is hardcoded, feel free to change it) with the device. See weatherlink.py for an example of how to just read the data values once, and see WxDaemon.py for a simple SocketServer implementation.

There is a lot of stuff on the TODO-list, so feel free to tinker with the code. If you do, I appreciate a patch of your changes. The project is, for me, in a state of hiatus at the moment, due to lack of time and interest (it works, no need to fix it, right?). But if anyone is interested I would be more than happy making this into a larger project with a few more people onboard. Drop an email if you are interested. :)

The code is licensed under the GNU GPL v2.

Download the tarball

pyWeatherLink for WeatherWizard III / Monitor II / Perception (deprecated)