{"id":37,"date":"2009-06-01T12:53:01","date_gmt":"2009-06-01T10:53:01","guid":{"rendered":"http:\/\/dieferbers.net\/documentation-wireless-weather-station-2-pachube\/"},"modified":"2009-06-01T12:53:01","modified_gmt":"2009-06-01T10:53:01","slug":"documentation-wireless-weather-station-2-pachube","status":"publish","type":"page","link":"http:\/\/www.dieferbers.de\/wordpress\/documentation-wireless-weather-station-2-pachube\/","title":{"rendered":"Documentation Wireless Weather Station 2 Pachube"},"content":{"rendered":"<h2>Why a weather station?<\/h2>\n<p>One my search for a easy to install, easy to use and inexpensive way to understand the climate condition in my house I deceided to buy a wireless 433 MHz <a href=\"http:\/\/dieferbers.net\/wp-content\/uploads\/2009\/06\/weather_station_conrad.jpg\">weather station<\/a> from <a href=\"http:\/\/www.conrad.de\" target=\"_blank\">Conrad <\/a>which is originally from <a href=\"http:\/\/www.honeywellweatherstations.com\/\" target=\"_blank\">Honeywell<\/a>. Up to 5 <a href=\"http:\/\/dieferbers.net\/wp-content\/uploads\/2009\/06\/temperature_humidity_sensor_conrad.jpg\">wireless temperature &amp; humidity sensors<\/a>, one outside <a href=\"http:\/\/dieferbers.net\/wp-content\/uploads\/2009\/06\/remote_anemometer_rain_gauge.jpg\">remote anemometer<\/a>, and one outside <a href=\"http:\/\/dieferbers.net\/wp-content\/uploads\/2009\/06\/remote_anemometer_rain_gauge.jpg\">remote rain gauge<\/a> collect data which is send via USB to a java-program to the PC. This <a href=\"http:\/\/dieferbers.net\/wp-content\/uploads\/2009\/06\/booklet.pdf\" title=\"Honeywell Brochure Weather Station\">booklet<\/a> gives a nice overview of the weather stations function. The <a href=\"http:\/\/www2.produktinfo.conrad.com\/datenblaetter\/625000-649999\/646329-an-01-ml-Funk_Wetterstation_TE831X_de-en-fr-nl.pdf\" target=\"_blank\">full documentation<\/a> and the <a href=\"http:\/\/www.produktinfo.conrad.com\/datenblaetter\/625000-649999\/646329-up-01-en-Version_1_4_Funk_Wetterstation_TE831X.zip\" target=\"_blank\">software <\/a>is available on the German Conrad product page &#8222;<a href=\"http:\/\/www.conrad.de\/goto.php?artikel=646329\" target=\"_blank\">Funk-Wetterstation TE831X<\/a>&#8222;.<\/p>\n<p><a href=\"http:\/\/dieferbers.net\/wp-content\/uploads\/2009\/06\/temperature_humidity_sensor_conrad.jpg\" title=\"Remote Temperature and Humidity Sensor\"><img decoding=\"async\" src=\"http:\/\/dieferbers.net\/wp-content\/uploads\/2009\/06\/temperature_humidity_sensor_conrad.thumbnail.jpg\" alt=\"Remote Temperature and Humidity Sensor\" height=\"125\" \/><\/a><a href=\"http:\/\/dieferbers.net\/wp-content\/uploads\/2009\/06\/weather_station_conrad.jpg\" title=\"Weather Station Conrad\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dieferbers.net\/wp-content\/uploads\/2009\/06\/weather_station_conrad.thumbnail.jpg\" alt=\"Weather Station Conrad\" width=\"144\" height=\"125\" \/><\/a><a href=\"http:\/\/dieferbers.net\/wp-content\/uploads\/2009\/06\/remote_anemometer_rain_gauge.jpg\" title=\"Remote Anemometer and Rain Gauge\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dieferbers.net\/wp-content\/uploads\/2009\/06\/remote_anemometer_rain_gauge.thumbnail.jpg\" alt=\"Remote Anemometer and Rain Gauge\" width=\"160\" height=\"125\" \/><\/a><\/p>\n<h2>Collecting the data on the PC with the weather station<\/h2>\n<h3>Overview of Weather Station Software<\/h3>\n<p>The included software allows to view all information similar to the weather station itself on your PC screen. You can set up how often data should be stored and transmitted to the PC from 5 minute to 1 day intervall. The data is logged in two files in the program folder <code>RECORDS.TXT<\/code> and <code>RAINBASE.DAT<\/code>.<\/p>\n<p>The weather station PC software is written mostly in java. Only the access to the USB-interface comes with a windows DLL and the start of the application uses a windows EXE.<\/p>\n<p>Most important classes: <code>Data.java, DataTh.java, Display.java<\/code><br \/>\nMost important java-variables:<\/p>\n<p><a href=\"http:\/\/dieferbers.net\/wp-content\/uploads\/2009\/06\/temperature_humidity_sensor_conrad.jpg\" title=\"Remote Temperature and Humidity Sensor\">t<\/a>emperature values i=0-5: <code>temp[i], tempMax[i], tempMin[i], dewPoint[i], tempTrend[i]<\/code><br \/>\nhumidity values i=0-5: <code>humid[i], humidTrend[i]<\/code><br \/>\nothers <code> pressure, windChill, windSpeedCurrent, windBearing, rainHour<\/code><\/p>\n<p>Adding the prefix <code>in_<\/code> in front of a variable gives you all values in SI-units except <code>windSpeed<\/code> in knots. Without the prefix the values are stored according to your installation set-up for units.<\/p>\n<h3>Adding code for the pachube feed<\/h3>\n<p>In the class <code>Data.java<\/code> I added two objects<\/p>\n<pre>\nPApplet parent;\nDataOut pachubeDataOut;\n<\/pre>\n<p>and two methods  :<\/p>\n<pre>\npublic boolean initPachube(){\n int i;\n pachubeDataOut = new DataOut(parent, \"http:\/\/www.pachube.com\/api\/2056.xml\", \"[my_pachube_key_removed_here]\");\n for(i=0; i&lt;=5; i++){\n  pachubeDataOut.addData(i,\"temperature channel \"+i, 15, +34);\n  pachubeDataOut.setUnits(i, \"Celsius\",\"C\",\"derivedSI\");\n }\n pachubeDataOut.addData(6,\"temperature wind chill\", -15, +34);\n pachubeDataOut.setUnits(6, \"Celsius\",\"C\",\"derivedSI\");\n for(i=0; i&lt;=5; i++){\n  pachubeDataOut.addData(7+i,\"humidity channel \"+i, 10, 79);\n  pachubeDataOut.setUnits(7+i, \"Percent\",\"%\",\"contextDependentUnits\");\n }\n pachubeDataOut.addData(13,\"pressure\", 950, 1049);\n pachubeDataOut.setUnits(13, \"hecto Pascal\",\"h Pa\",\"derivedSI\");\n pachubeDataOut.addData(14,\"wind speed\", 0, 100);\n pachubeDataOut.setUnits(14, \"kilo Meter per Hour\",\"km\/h\",\"derivedSI\");\n pachubeDataOut.addData(15,\"wind bearing\", 0, 360);\n pachubeDataOut.setUnits(15, \"Grad\",\"\",\"contextDependentUnits\");\n pachubeDataOut.addData(16,\"rain in last hour\", 0, 100);\n pachubeDataOut.setUnits(16, \"mili meter\",\"mm\",\"basicSI\");\n return true;\n}\n<\/pre>\n<pre>public void updatePachube(){\n int response;\n int i;for(i=0; i&lt;=5; i++){\n  pachubeDataOut.update(i, in_temp[i]);\n }\n pachubeDataOut.update(6, in_windChill);\n for(i=0; i&lt;=5; i++){\n  pachubeDataOut.update(7+i, in_humid[i]);\n }\n pachubeDataOut.update(13, in_pressure);\n \/\/converting wind speed from knots to km\/h\n pachubeDataOut.update(14, in_windSpeedCurrent * 1.6093F);\n pachubeDataOut.update(15, in_windBearing);\n pachubeDataOut.update(16, in_rainHour);\n \/\/ updatePachube() updates by an authenticated PUT HTTP request\n response = pachubeDataOut.updatePachube();\n \/\/ should be 200 if successful; 401 if unauthorized; 404 if feed doesn't exist\n System.out.println(\"pachube: \" + response);\n}\n<\/pre>\n<p>The init-method is called form the Constructor and the update follows each data collection cycle. Just download the full java-file.<\/p>\n<h3>Decompiling and patching the original software<\/h3>\n<p>The most difficult part is the extraction of the java files it the <code>Weather.jar<\/code>-library, adding the above code and the library for pachube <code>eeml.jar<\/code> and the library for processing <code>core.jar<\/code>. This documentation is still due&#8230;<\/p>\n<h2>Data Logging at Pachube<\/h2>\n<p>Pachube added the nice feature of logging data for more than 24h and pachube&#8217;s user <a href=\"http:\/\/www.pachube.com\/users\/dhunter\" target=\"_blank\">dhunter <\/a>developed the nice application <a href=\"http:\/\/apps.pachube.com\/google_viz\/\" target=\"_blank\">Pachube Viz<\/a> for comfortable visualization. Here you see one of the humidity curves collected by the weather station:<\/p>\n<p><script src=\"http:\/\/www.google.com\/jsapi\" type=\"text\/javascript\"><\/script><script src=\"http:\/\/apps.pachube.com\/google_viz\/viz.js\" language=\"JavaScript\"><\/script><script language=\"JavaScript\">createViz(2056,8,500,300,\"5575CD\");<\/script><\/p>\n<p>You can access all feeds with the typical <a href=\"http:\/\/www.pachube.com\/feeds\/2056\" target=\"_blank\">pachube feed<\/a> interface.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Why a weather station? One my search for a easy to install, easy to use and inexpensive way to understand the climate condition in my house I deceided to buy a wireless 433 MHz weather station from Conrad which is originally from Honeywell. Up to 5 wireless temperature &amp; humidity sensors, one outside remote anemometer, &hellip; <a href=\"http:\/\/www.dieferbers.de\/wordpress\/documentation-wireless-weather-station-2-pachube\/\" class=\"more-link\"><span class=\"screen-reader-text\">Documentation Wireless Weather Station 2 Pachube<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-37","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/www.dieferbers.de\/wordpress\/wp-json\/wp\/v2\/pages\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.dieferbers.de\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.dieferbers.de\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.dieferbers.de\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.dieferbers.de\/wordpress\/wp-json\/wp\/v2\/comments?post=37"}],"version-history":[{"count":0,"href":"http:\/\/www.dieferbers.de\/wordpress\/wp-json\/wp\/v2\/pages\/37\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.dieferbers.de\/wordpress\/wp-json\/wp\/v2\/media?parent=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}