ipweget is a perl script to read the data provided by an ipwe1 weatherstation by ELV and convert it to several useful formats and uses: XML output, HTTP POST, MySQL and Weather Underground upload.

The idea behind the ipwe1 is nice: It's an ethernet-connected receiver for several seperate sensors, outdoor and indoor. But besides there are some essential sensors missing (air pressure and wind direction), the interface is the worst, I've ever seen.. No history, just a dull html table showing the current values. Since I'm used to the pretty comprehensive WeatherOffice, I used with my old WS2300 station, this was no option for me and so I started writing some software around it. First of all this script to gather the data provided to some of the services, I've been using for years now..

A small infosite with history graphs and stuff will follow soon..

The script is still at a very early beta phase and full of bugs, but since I really don't like the ipwe weatherstation, I will switch hardware soon and won't continue developing this script. So I decided to release it already - maybe some other ipwe-owner wants to use and/or continue working on it.. :)


  • IPWE1 Weatherstation
  • Perl

    • utf8
    • POSIX
    • Getopt::Long
    • LWP::UserAgent
    • XML::Simple
    • HTML::TableExtract
    • Math::Round
    • DBI
    • URI::Escape
    • HTTP::Request::Common
    • Digest::MD5


All configuration and switches are done/set via command line. When called, the script will output the current data from your weather station and exit. To make real use of it, you'll need to add a cronjob to run every minute:

*/1 * * * * <username> <ipweget call>


*/1 * * * * stimpy /usr/bin/perl /usr/local/bin/ipweget.pl

To enable more features, you'll need to provide more options:


The simplest call will produce shorttagged xml-output:

./ipweget.pl <host>



To produce longer xml-tags use the switch -l (--long):

./ipweget.pl -l <host>


./ipweget.pl -l


To write the data to a mysql database, you'll have to provide host, dbname, username and password:

./ipweget.pl --mysql-host <host> --mysql-db <dbname> --mysql-user <username> --mysql-pass <password> <host>


./ipweget.pl --mysql-host localhost --mysql-db weather --mysql-user weather --mysql-pass secret

Of course, you'll also need a matching database. See below for a sql dump...


You can send the data to a remote script using HTTP POST by providing a destination url and password (will be sent md5-encoded):

./ipweget.pl --http <destination> --http-pass <password> <host>


./ipweget.pl --http http://example.com/fetchscript.php --http-pass secret

Weather Underground

You can also send the incomplete data provided by the IPWE1 to Weather Underground. Besides your login data, you'll also need to provide sensor-mappings: Which sensor should be used for what data:

./ipweget.pl --wunder-id <wu stationid> --wunder-pass <wu password> --wunder-temp <outdoor temperature sensor name> --wunder-hum <outdoor humidity sensor name> --wunder-wind <wind sensor name> --wunder-rain <rain sensor name> --wunder-tempin <indoor temperature sensor name> --wunder-humin <indoor humidity sensor name> --wunder-temp2 <temperatur sensor 2 name> --wunder-temp3 <temperatur sensor 2 name> --wunder-temp4 <temperatur sensor 4 name> <host>


./ipweget.pl --wunder-id IHESSENR2 --wunder-pass secret --wunder-temp OutsideShadow --wunder-hum OutsideHigh --wunder-wind OutsideHigh --wunder-rain OutdoorHigh --wunder-tempin Livingroom --wunder-humin Livingroom --wunder-temp2 OutsideHigh --wunder-temp3 OutsidePool --wunder-temp4 OutsideHeli


Of course, you can also combine all the parameters:

./ipweget.pl --mysql-host <host> --mysql-db <dbname> --mysql-user <username> --mysql-pass <password> --http <destination> --http-pass <password> --wunder-id <wu stationid> --wunder-pass <wu password> --wunder-temp <outdoor temperature sensor name> --wunder-hum <outdoor humidity sensor name> --wunder-wind <wind sensor name> --wunder-rain <rain sensor name> --wunder-tempin <indoor temperature sensor name> --wunder-humin <indoor humidity sensor name> --wunder-temp2 <temperatur sensor 2 name> --wunder-temp3 <temperatur sensor 2 name> --wunder-temp4 <temperatur sensor 4 name> <host>


./ipweget.pl --mysql-host localhost --mysql-db weather --mysql-user weather --mysql-pass secret --http http://example.com/fetchscript.php --http-pass secret --wunder-id IHESSENR2 --wunder-pass secret --wunder-temp OutdoorShadow --wunder-hum OutdoorHigh --wunder-wind OutdoorHigh --wunder-rain OutdoorHigh --wunder-tempin Livingroom --wunder-humin Livingroom --wunder-temp2 OutdoorHigh --wunder-temp3 OutdoorPool --wunder-temp4 OutdoorHeli


There are some more options:

-q / --quiet No output (no xml)
-h / --help short help text



GIT: https://gitlab.ambhost.net/stimpy/scripts_ipweget

Packages will follow soon..



Harald Wollmayr has written some very similar scripts connectig the ipwe1 with a ws2500 database.

Hey Harry,
yes, I just moved servers and forgot about the svn.. Thanks for noticing - now it's working again.. :)

Unfortionatly the download Link für "ipweget" does not work anymore.
Maybee you can provide me with this Script. I would need it very urgent.

Thanks in advance Harry


5000 Characters left

  • fido.de

    German FidoNet landing page with manuals, application form, nodelists, Torsten Bamberg's FidoPedia and Ulrich Schroeter's Archive. Visit Website

  • nlget

    Download up-to-date FidoNet and OtherNet Nodelists and more from a static URL. Visit Website

  • pwGen

    Free online password generator generating passwords client-side with javascript, so they are not transferred over the internet. Visit Website

  • Origami CD-Case

    Ever needed a CD-case but had none? With this site, you can easily print a origami cd-case with titles and multiline description. Visit Website

  • chop.at

    An URL-shortener with some special features like qr-code generation, thumbnail preview and Geocaching shortcuts. Visit Website

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.