Garden

Garden and Agriculture

OWFS and humidity/temperatures



Marc MERLIN has a blog post on using owfs with different 1-wire devices, including the hobby-board moisture sensor (including the caveat about using a transformer for ground isolation, as well as hints on how to convert the current read into humidity values):

http://marc.merlins.org/perso/linuxha/post_2010-08-06_Temperature_-moisture_-humidity_-and-UV-monitoring-and-graphing-with-1wire-devices_-owfs_-and-cacti.html

Thomas has a post below about his own setup:


Happy Farming

Thomas from Denmark blogs about gardening using OWFS to monitor and plan. (NSLU2 and sensors from HobbyBoards).

Garden temperature and soil moisture logging system

http://happyfarming.com
by Thomas Wagner Nielsen 2009-04-01

Background

When you do gardening it's important to know the last frost date, since most plants don't like frost. Another thing like how much moisture is in your soil is also important because you'll want to give your plants the best conditions for growth. You can also save your energy by doing better planning, if you have access to weather data for your local area.

Garden

System overview

This is an overview of the OWFS logging system I've built for my garden:

System overview

Measurements

The system is able to do two kinds of measurements; temperature and moisture.

Temperature

Temperature measurements are done using the DS18S20 sensor IC from Maxim. For air temperature measurements the sensor is just mounted at the end of a 2 meter long stick. This simple way of doing it does cause some spikes to appear in the measurements, probably due to direct sunlight hitting the IC case. This could be solved by building some kind of shield over the sensor. The same type of sensor is used for soil temperature measurements. The DS18S20 is glued onto a 20 x 20 cm (8 x 8 inch) aluminium plate to get good thermal contact with the soil:

Soil temperature sensor

The black tube on the left cable is just a collection of unused wires.

Moisture

Soil moisture meter

In the middle of the picture you can see a moisture meter board from http://hobby-boards.com and on the right a Watermark soil moisture sensor ($32). When the moisture sensor gets wet its electrical resistance goes down, and when it dries up the resistance goes up. The sensor is connected as a part of the moisture meter circuit, which has a 1-wire interface to the rest of the system.

The board needs a separate 9 to 24 volt DC power supply. I have placed the power supply indoors and the power supply current is running in the Ethernet cable as well as the 1-wire data signal, but only to the moisture meter board and not further into the 1-wire network.

As the other sensors in my 1-wire network this board is also accessed through OWFS and I'm using the Current Register of the onboard DS2760 1-wire monitor IC to read out data. The moisture sensor is connected to an onboard timer IC and when the resistance changes so does the oscillating frequency of the IC and its power consumption. This is measured by the DS2760 and the value is stored in the Current Register.

When the moisture sensor is completely wet the value in the Current Register is -1.400 and when completely dry the value is -0.2386. This goes for this particular system.

I've dug a hole about 30 cm (12 inch) deep and put the sensor at the bottom. The soil that I dug up has been mixed with water and poured into the hole to fill it up again. It's important with a close fit between sensor and soil.

NSLU2

NSLU2

I'm using a NSLU2 computer from the company Linksys as the core of the system. The price is about $100 and I think it's available all over the world. This is a small computer with USB and network connection but no keyboard or mouse connected. This a is a bit challenging because you have to do all communication through the network, but when it's up and running it's very convenient. It consumes only 5 watts so it can be left on 24/7. This means that you'll be able to produce a constant flow of information.

Debian

The NSLU2 is running Debian on a 4 GB USB flash memory. The OWFS software and RRDTool is used for generating graphs. I have placed the NSLU2 computer in the windowsill and laid an Ethernet cable out to the raised beds in the garden.

There are a couple of good reason to install Debian on your small NSLU2 computer. Although it's not exactly the Debian version you would use on your desktop PC it smells a lot like it. The file system structure is there, and if you're used to Linux you'll know your way around right after installation is complete. Also, `apt-get' is available to you making it easy to install new programs on the small computer.

I've used a 4 GB USB flash memory stick as disk for the installation. This is not as reliable in the long run compared to a harddrive. Flash memory allows only a limited number of write operations to the disk.

You'll need a hacked version of the Debian installer from the Internet to put on the NSLU2. Search Google for `Debian NSLU2 install'. What you need is a file called di-nslu2.bin around 8 MB in size. It came in a .zip-file called `debian-armel-5.0.zip' last time I did an install. Using the web server interface of the NSLU2 you need to upgrade it with this 8 MB .bin-file.

Scripts

I have Linux scripts running on the NSLU2 that take care of reading sensors in the 1-wire network, and making historical graphs of the readings.
A database for RRDTool is created first:

make_database.sh:
#!/bin/bash
rrdtool create database.rrd --start N --step 300
DS:airtemp:GAUGE:600:U:U
DS:soiltemp:GAUGE:600:U:U
DS:soilmoist:GAUGE:600:U:U
RRA:AVERAGE:0.5:1:12
RRA:AVERAGE:0.5:1:288
RRA:AVERAGE:0.5:12:168
RRA:AVERAGE:0.5:12:720
RRA:AVERAGE:0.5:288:365

The next script updates the RRDTool database.

update.sh:
#!/bin/bash
cd /home/thomas/happyfarming

# Read data from sensors
airtempread=`cat /home/thomas/owfs2/10.4F7494010800/temperature`
soiltempread=`cat /home/thomas/owfs2/10.06A394010800/temperature`
soilmoistread=`cat /home/thomas/owfs2/30.6A1E62120000/current`

# Format reading
airtemp=`echo $airtempread | cut -c -4`
soiltemp=`echo $soiltempread | cut -c -4`
soilmoist1=`echo $soilmoistread | cut -c 7`

#Calculate soil moisture
drylimit=0.2368
wetlimit=1.400
range=`echo '$wetlimit-$drylimit' | bc`
a=`echo '(-1)*$soilmoist1' | bc`
b=`echo '$a-$drylimit' | bc`
c=`echo 'scale=3; $b/$range' | bc`
d=`echo '100*$c' | bc`
soilmoist=`echo $d | cut -c -5`

# Update database
rrdtool update database.rrd N:$airtemp:$soiltemp:$soilmoist

# Create graphs
#0000FF = blue trace color
#CC6600 = brown trace color

rrdtool graph log_h.png -y 2:1 --vertical-label '[deg C]' --start -1h
DEF:airtemp=database.rrd:airtemp:AVERAGE
DEF:soiltemp=database.rrd:soiltemp:AVERAGE
LINE1:airtemp#0000FF:'Air temperature [deg C]'
LINE1:soiltemp#CC6600:'Soil temperature [deg C]'

rrdtool graph log_d.png -y 2:1 --vertical-label '[deg C]' --start -1d
DEF:airtemp=database.rrd:airtemp:AVERAGE
DEF:soiltemp=database.rrd:soiltemp:AVERAGE
LINE1:airtemp#0000FF:'Air temperature [deg C]'
LINE1:soiltemp#CC6600:'Soil temperature [deg C]'

rrdtool graph log_w.png -y 2:1 --vertical-label '[dec C]' --start -1w
DEF:airtemp=database.rrd:airtemp:AVERAGE
DEF:soiltemp=database.rrd:soiltemp:AVERAGE
LINE1:airtemp#0000FF:'Air temperature [deg C]'
LINE1:soiltemp#CC6600:'Soil temperature [deg C]'

rrdtool graph log_m.png -y 2:1 --vertical-label '[deg C]' --start -1m
DEF:airtemp=database.rrd:airtemp:AVERAGE
DEF:soiltemp=database.rrd:soiltemp:AVERAGE
LINE1:airtemp#0000FF:'Air temperature [deg C]'
LINE1:soiltemp#CC6600:'Soil temperature [deg C]'

rrdtool graph log_y.png -y 2:1 --vertical-label '[deg C]' --start -1y
DEF:airtemp=database.rrd:airtemp:AVERAGE
DEF:soiltemp=database.rrd:soiltemp:AVERAGE
LINE1:airtemp#0000FF:'Air temperature [deg C]'
LINE1:soiltemp#CC6600:'Soil temperature [deg C]'

rrdtool graph log_soil_moisture_h.png --vertical-label '[%]' --start -1h
DEF:soilmoist=database.rrd:soilmoist:AVERAGE
LINE1:soilmoist#CC6600:'Soil moisture [%]'

rrdtool graph log_soil_moisture_d.png --vertical-label '[%]' --start -1d
DEF:soilmoist=database.rrd:soilmoist:AVERAGE
LINE1:soilmoist#CC6600:'Soil moisture [%]'

rrdtool graph log_soil_moisture_w.png --vertical-label '[%]' --start -1w
DEF:soilmoist=database.rrd:soilmoist:AVERAGE
LINE1:soilmoist#CC6600:'Soil moisture [%]'

rrdtool graph log_soil_moisture_m.png --vertical-label '[%]' --start -1m
DEF:soilmoist=database.rrd:soilmoist:AVERAGE
LINE1:soilmoist#CC6600:'Soil moisture [%]'

rrdtool graph log_soil_moisture_y.png --vertical-label '[%]' --start -1y
DEF:soilmoist=database.rrd:soilmoist:AVERAGE
LINE1:soilmoist#CC6600:'Soil moisture [%]'

Graphs are uploaded to http://happyfarming.com using this script:

upload.sh:

#!/bin/bash
sleep 30
lftp -u USERNAME,PASSWORD SERVER <<EOF
cd /images/
lcd /home/thomas/happyfarming/
put log_h.png
put log_d.png
put log_w.png
put log_m.png
put log_y.png
put log_soil_moisture_h.png
put log_soil_moisture_d.png
put log_soil_moisture_w.png
put log_soil_moisture_m.png
put log_soil_moisture_y.png
quit 0
EOF

Linux crontab

The system automatically stores the value of its sensors every five minutes using the crontab function in Linux. crontab is a schedule of recurring things to be done in the form of commands to be run on the system. There's different crontab's for different users. In this particular system I'm running crontab commands as root user. As far as I remember it was necessary to do that to have sufficient rights on the system.

To see what is in your crontab at the moment, run this command:

crontab -l

where -l is for list only. Use -e for editing your crontab:

crontab -e

This will start a default editor, in my case `nano', so that you can make changes to your list.

crontab -l on this system gives this output:

# m h dom mon dow command
*/5 ? 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 120 122 123 124 125 126 128 137 138 139 140 141 142 143 144 145 146 147 161 164 173 175 176 177 178 179 180 182 193 194 197 216 217 302 3rd-party-devices 4-channel-hub 63 64 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 8-channel-i-o 90 91 92 93 94 95 96 97 98 99 address-discovery admin advanced advanced-i2c aliases alias-improved appliances aquarium-automation----rob-conway asus-wireless----wim-heirman avahi-discovery bae910 barometer beaglebone-black binary-sizes bonjour-library bonjour-zeroconf building-under-ubuntu bus-masters cache cache-flip cache-objects cache-structure car-battery-monitoring----rohbags cgi-bin change-log changelog.html clients-window com-ds9097-passive command-line configuration configuration-file custom-hardware----william-robison datanab-humidity-sensor debian debug debugging detail detail-windows detail-windows-2 directory-locking directory-messages display distributions divide-and-conqueror download ds1427 ds1821 ds1821-thermostat-circuit----doug-collinge ds1822 ds1825 ds18b20 ds18s20 ds1904 ds1920 ds1921 ds1963l ds1963s ds1977 ds1982 ds1982-2 ds1985 ds1985-2 ds1986 ds1986u ds1990a ds1991 ds1992 ds1993 ds1994 ds1995 ds1996 ds2401 ds2404 ds2404s ds2405 ds2406 ds2407 ds2408 ds2409 ds2409-microhub ds2411 ds2413 ds2415 ds2417 ds2423 ds2430a ds2431 ds2433 ds2436 ds2437 ds2438 ds2450 ds2502 ds2502-unw ds2505 ds2505-2 ds2506 ds2506-unw ds2720 ds2740 ds2751 ds2755 ds2756 ds2760 ds2761 ds2762 ds2770 ds2780 ds2781 ds2788 ds2804 ds2890 ds28ea00 ds28ec20 eclo eds0064 eds0065---temperature-humidity eds0066 eds0067---temperature-light eds0068---temperature-humidity-pressure-light eds0070 eds0071---rtd-temperature eds00xx eds-enviromental-sensors eeef enet-configuration enet-firmware error-codes error_level error-management error-numbers error_print etherweather examples external-sensor-design fake-adapter family-code-list family-code-lookup fan-and-battery-control----majek-wodzinski faq favicon.ico fli4l foreground fox-board foxboard-g20 ftp-browsing full---libow fuse garden gentoo gentoo-scripts git-access gitinspector.html greenhouse-control ha7e ha7net hardware help help-2 help-device home home-monitoring-how-to----silvano-gai home-trailer----brian-fahrlander hotplug hubs humidity hydroelectric-plant i2c-ds2482-100 i2c-ds2482-800 i2c-parallel-port-design images index.html index.php index.php? initial-nslu2-preparation install internal-help-cache internal-help-job internal-help-program internal-help-temperature javascript-raphaell-js Language-modules lcd lcd-2 lcd-temperature-display license light-sensor linkhub-e linkusb locator locks-and-unlocks logo-poll loop-suppression macintosh maintainers main-window mam001 man-pages-ds18xx man-pages-ds19xx man-pages-ds24xx man-pages-ds25xx man-pages-ds27xx man-pages-misc-devices man-pages-programs master-and-slaves mcm001 message-statistics modules moisture monitor-a-wine-cellar mrs001 ms-windows netbsd nslu2 nslu2-german object-read-process object-write-process office-monitoring----wim-heirman omap one-wire-on-fire owcapi owcapi-2 owfs owfs-install-step owfs-websites owftpd owhttpd owmon owmon-2 owmon-bus-list owmon-main-window OWNet ownet-2 ownet-php ownet-pm ownet-py owperl owphp owserver ow-server-enet owserver-flag-word owserver-message-types owserver_protocol owserver-protocol owshell owtap owtap-2 owtcl performance permissions persistence-windows persistent-connections persistent-connections----owlib-client porting postgres-and-python-by-jerry-scharf Programs pyzine-by-peter-kropf-owpython quickstart-guide quirks-and-problems raspberry-pi read-and-write-object reef-tank remote-cache robots.txt rtd-sensor search seather-station setup setup-2 slackware slave-code slave-support snmp so2-sencor software solar-heating-control----christian-schumann-and-christian-magnusson source-code-availability standard-devices startup-avahi startup-ds9097u startup-fake startup-ha5 startup-ha7net startup-link-ascii-mode startup-link-emulate-mode startup-linkusb startup-mock startup-owserver startup-ow-server-enet startup-passive-9097 startup-sequence startup-tester startup-usb-ds9490r startup-usb-scan statcvs status-window struct-owq_wire_query-assumptions structure-directory stylesheetmediatypeprint.css stylesheetmediatypescreen.css stylesheet.php?templateid=20 stylesheet.php?templateid=20&mediatype=print stylesheet.php?templateid=20&mediatype=screen stylesheettemplateid.css survey switches tai603b tcp-messages temperature-compensation temperature-measurements tester-adapter testing-without-hardware thermocouples to-do t.sh tutorial-links type-b type-e type-j type-k type-n type-r type-s type-t ubuntu ubuntu-setup udev udev-and-usb uploads usb-ds9490r usb-eclo usb-mp00200 usb-usb9097 uvi vendors vibration-sensor visual-basic-control voltage voltage-measurement w1-project water-tank-monitor----mr-packethead weather----owfsws what-is-1-wire what-is-1-wire-good-for what-is-uncached what-is-uncached.html windows-usb wireless-router wiring-standards wl-hdd wrt-router-mods----p4trykx ws603-weather-instrument ? 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 120 122 123 124 125 126 128 137 138 139 140 141 142 143 144 145 146 147 161 164 173 175 176 177 178 179 180 182 193 194 197 216 217 302 3rd-party-devices 4-channel-hub 63 64 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 8-channel-i-o 90 91 92 93 94 95 96 97 98 99 address-discovery admin advanced advanced-i2c aliases alias-improved appliances aquarium-automation----rob-conway asus-wireless----wim-heirman avahi-discovery bae910 barometer beaglebone-black binary-sizes bonjour-library bonjour-zeroconf building-under-ubuntu bus-masters cache cache-flip cache-objects cache-structure car-battery-monitoring----rohbags cgi-bin change-log changelog.html clients-window com-ds9097-passive command-line configuration configuration-file custom-hardware----william-robison datanab-humidity-sensor debian debug debugging detail detail-windows detail-windows-2 directory-locking directory-messages display distributions divide-and-conqueror download ds1427 ds1821 ds1821-thermostat-circuit----doug-collinge ds1822 ds1825 ds18b20 ds18s20 ds1904 ds1920 ds1921 ds1963l ds1963s ds1977 ds1982 ds1982-2 ds1985 ds1985-2 ds1986 ds1986u ds1990a ds1991 ds1992 ds1993 ds1994 ds1995 ds1996 ds2401 ds2404 ds2404s ds2405 ds2406 ds2407 ds2408 ds2409 ds2409-microhub ds2411 ds2413 ds2415 ds2417 ds2423 ds2430a ds2431 ds2433 ds2436 ds2437 ds2438 ds2450 ds2502 ds2502-unw ds2505 ds2505-2 ds2506 ds2506-unw ds2720 ds2740 ds2751 ds2755 ds2756 ds2760 ds2761 ds2762 ds2770 ds2780 ds2781 ds2788 ds2804 ds2890 ds28ea00 ds28ec20 eclo eds0064 eds0065---temperature-humidity eds0066 eds0067---temperature-light eds0068---temperature-humidity-pressure-light eds0070 eds0071---rtd-temperature eds00xx eds-enviromental-sensors eeef enet-configuration enet-firmware error-codes error_level error-management error-numbers error_print etherweather examples external-sensor-design fake-adapter family-code-list family-code-lookup fan-and-battery-control----majek-wodzinski faq favicon.ico fli4l foreground fox-board foxboard-g20 ftp-browsing full---libow fuse garden gentoo gentoo-scripts git-access gitinspector.html greenhouse-control ha7e ha7net hardware help help-2 help-device home home-monitoring-how-to----silvano-gai home-trailer----brian-fahrlander hotplug hubs humidity hydroelectric-plant i2c-ds2482-100 i2c-ds2482-800 i2c-parallel-port-design images index.html index.php index.php? initial-nslu2-preparation install internal-help-cache internal-help-job internal-help-program internal-help-temperature javascript-raphaell-js Language-modules lcd lcd-2 lcd-temperature-display license light-sensor linkhub-e linkusb locator locks-and-unlocks logo-poll loop-suppression macintosh maintainers main-window mam001 man-pages-ds18xx man-pages-ds19xx man-pages-ds24xx man-pages-ds25xx man-pages-ds27xx man-pages-misc-devices man-pages-programs master-and-slaves mcm001 message-statistics modules moisture monitor-a-wine-cellar mrs001 ms-windows netbsd nslu2 nslu2-german object-read-process object-write-process office-monitoring----wim-heirman omap one-wire-on-fire owcapi owcapi-2 owfs owfs-install-step owfs-websites owftpd owhttpd owmon owmon-2 owmon-bus-list owmon-main-window OWNet ownet-2 ownet-php ownet-pm ownet-py owperl owphp owserver ow-server-enet owserver-flag-word owserver-message-types owserver_protocol owserver-protocol owshell owtap owtap-2 owtcl performance permissions persistence-windows persistent-connections persistent-connections----owlib-client porting postgres-and-python-by-jerry-scharf Programs pyzine-by-peter-kropf-owpython quickstart-guide quirks-and-problems raspberry-pi read-and-write-object reef-tank remote-cache robots.txt rtd-sensor search seather-station setup setup-2 slackware slave-code slave-support snmp so2-sencor software solar-heating-control----christian-schumann-and-christian-magnusson source-code-availability standard-devices startup-avahi startup-ds9097u startup-fake startup-ha5 startup-ha7net startup-link-ascii-mode startup-link-emulate-mode startup-linkusb startup-mock startup-owserver startup-ow-server-enet startup-passive-9097 startup-sequence startup-tester startup-usb-ds9490r startup-usb-scan statcvs status-window struct-owq_wire_query-assumptions structure-directory stylesheetmediatypeprint.css stylesheetmediatypescreen.css stylesheet.php?templateid=20 stylesheet.php?templateid=20&mediatype=print stylesheet.php?templateid=20&mediatype=screen stylesheettemplateid.css survey switches tai603b tcp-messages temperature-compensation temperature-measurements tester-adapter testing-without-hardware thermocouples to-do t.sh tutorial-links type-b type-e type-j type-k type-n type-r type-s type-t ubuntu ubuntu-setup udev udev-and-usb uploads usb-ds9490r usb-eclo usb-mp00200 usb-usb9097 uvi vendors vibration-sensor visual-basic-control voltage voltage-measurement w1-project water-tank-monitor----mr-packethead weather----owfsws what-is-1-wire what-is-1-wire-good-for what-is-uncached what-is-uncached.html windows-usb wireless-router wiring-standards wl-hdd wrt-router-mods----p4trykx ws603-weather-instrument ? 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 120 122 123 124 125 126 128 137 138 139 140 141 142 143 144 145 146 147 161 164 173 175 176 177 178 179 180 182 193 194 197 216 217 302 3rd-party-devices 4-channel-hub 63 64 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 8-channel-i-o 90 91 92 93 94 95 96 97 98 99 address-discovery admin advanced advanced-i2c aliases alias-improved appliances aquarium-automation----rob-conway asus-wireless----wim-heirman avahi-discovery bae910 barometer beaglebone-black binary-sizes bonjour-library bonjour-zeroconf building-under-ubuntu bus-masters cache cache-flip cache-objects cache-structure car-battery-monitoring----rohbags cgi-bin change-log changelog.html clients-window com-ds9097-passive command-line configuration configuration-file custom-hardware----william-robison datanab-humidity-sensor debian debug debugging detail detail-windows detail-windows-2 directory-locking directory-messages display distributions divide-and-conqueror download ds1427 ds1821 ds1821-thermostat-circuit----doug-collinge ds1822 ds1825 ds18b20 ds18s20 ds1904 ds1920 ds1921 ds1963l ds1963s ds1977 ds1982 ds1982-2 ds1985 ds1985-2 ds1986 ds1986u ds1990a ds1991 ds1992 ds1993 ds1994 ds1995 ds1996 ds2401 ds2404 ds2404s ds2405 ds2406 ds2407 ds2408 ds2409 ds2409-microhub ds2411 ds2413 ds2415 ds2417 ds2423 ds2430a ds2431 ds2433 ds2436 ds2437 ds2438 ds2450 ds2502 ds2502-unw ds2505 ds2505-2 ds2506 ds2506-unw ds2720 ds2740 ds2751 ds2755 ds2756 ds2760 ds2761 ds2762 ds2770 ds2780 ds2781 ds2788 ds2804 ds2890 ds28ea00 ds28ec20 eclo eds0064 eds0065---temperature-humidity eds0066 eds0067---temperature-light eds0068---temperature-humidity-pressure-light eds0070 eds0071---rtd-temperature eds00xx eds-enviromental-sensors eeef enet-configuration enet-firmware error-codes error_level error-management error-numbers error_print etherweather examples external-sensor-design fake-adapter family-code-list family-code-lookup fan-and-battery-control----majek-wodzinski faq favicon.ico fli4l foreground fox-board foxboard-g20 ftp-browsing full---libow fuse garden gentoo gentoo-scripts git-access gitinspector.html greenhouse-control ha7e ha7net hardware help help-2 help-device home home-monitoring-how-to----silvano-gai home-trailer----brian-fahrlander hotplug hubs humidity hydroelectric-plant i2c-ds2482-100 i2c-ds2482-800 i2c-parallel-port-design images index.html index.php index.php? initial-nslu2-preparation install internal-help-cache internal-help-job internal-help-program internal-help-temperature javascript-raphaell-js Language-modules lcd lcd-2 lcd-temperature-display license light-sensor linkhub-e linkusb locator locks-and-unlocks logo-poll loop-suppression macintosh maintainers main-window mam001 man-pages-ds18xx man-pages-ds19xx man-pages-ds24xx man-pages-ds25xx man-pages-ds27xx man-pages-misc-devices man-pages-programs master-and-slaves mcm001 message-statistics modules moisture monitor-a-wine-cellar mrs001 ms-windows netbsd nslu2 nslu2-german object-read-process object-write-process office-monitoring----wim-heirman omap one-wire-on-fire owcapi owcapi-2 owfs owfs-install-step owfs-websites owftpd owhttpd owmon owmon-2 owmon-bus-list owmon-main-window OWNet ownet-2 ownet-php ownet-pm ownet-py owperl owphp owserver ow-server-enet owserver-flag-word owserver-message-types owserver_protocol owserver-protocol owshell owtap owtap-2 owtcl performance permissions persistence-windows persistent-connections persistent-connections----owlib-client porting postgres-and-python-by-jerry-scharf Programs pyzine-by-peter-kropf-owpython quickstart-guide quirks-and-problems raspberry-pi read-and-write-object reef-tank remote-cache robots.txt rtd-sensor search seather-station setup setup-2 slackware slave-code slave-support snmp so2-sencor software solar-heating-control----christian-schumann-and-christian-magnusson source-code-availability standard-devices startup-avahi startup-ds9097u startup-fake startup-ha5 startup-ha7net startup-link-ascii-mode startup-link-emulate-mode startup-linkusb startup-mock startup-owserver startup-ow-server-enet startup-passive-9097 startup-sequence startup-tester startup-usb-ds9490r startup-usb-scan statcvs status-window struct-owq_wire_query-assumptions structure-directory stylesheetmediatypeprint.css stylesheetmediatypescreen.css stylesheet.php?templateid=20 stylesheet.php?templateid=20&mediatype=print stylesheet.php?templateid=20&mediatype=screen stylesheettemplateid.css survey switches tai603b tcp-messages temperature-compensation temperature-measurements tester-adapter testing-without-hardware thermocouples to-do t.sh tutorial-links type-b type-e type-j type-k type-n type-r type-s type-t ubuntu ubuntu-setup udev udev-and-usb uploads usb-ds9490r usb-eclo usb-mp00200 usb-usb9097 uvi vendors vibration-sensor visual-basic-control voltage voltage-measurement w1-project water-tank-monitor----mr-packethead weather----owfsws what-is-1-wire what-is-1-wire-good-for what-is-uncached what-is-uncached.html windows-usb wireless-router wiring-standards wl-hdd wrt-router-mods----p4trykx ws603-weather-instrument ? 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 120 122 123 124 125 126 128 137 138 139 140 141 142 143 144 145 146 147 161 164 173 175 176 177 178 179 180 182 193 194 197 216 217 302 3rd-party-devices 4-channel-hub 63 64 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 8-channel-i-o 90 91 92 93 94 95 96 97 98 99 address-discovery admin advanced advanced-i2c aliases alias-improved appliances aquarium-automation----rob-conway asus-wireless----wim-heirman avahi-discovery bae910 barometer beaglebone-black binary-sizes bonjour-library bonjour-zeroconf building-under-ubuntu bus-masters cache cache-flip cache-objects cache-structure car-battery-monitoring----rohbags cgi-bin change-log changelog.html clients-window com-ds9097-passive command-line configuration configuration-file custom-hardware----william-robison datanab-humidity-sensor debian debug debugging detail detail-windows detail-windows-2 directory-locking directory-messages display distributions divide-and-conqueror download ds1427 ds1821 ds1821-thermostat-circuit----doug-collinge ds1822 ds1825 ds18b20 ds18s20 ds1904 ds1920 ds1921 ds1963l ds1963s ds1977 ds1982 ds1982-2 ds1985 ds1985-2 ds1986 ds1986u ds1990a ds1991 ds1992 ds1993 ds1994 ds1995 ds1996 ds2401 ds2404 ds2404s ds2405 ds2406 ds2407 ds2408 ds2409 ds2409-microhub ds2411 ds2413 ds2415 ds2417 ds2423 ds2430a ds2431 ds2433 ds2436 ds2437 ds2438 ds2450 ds2502 ds2502-unw ds2505 ds2505-2 ds2506 ds2506-unw ds2720 ds2740 ds2751 ds2755 ds2756 ds2760 ds2761 ds2762 ds2770 ds2780 ds2781 ds2788 ds2804 ds2890 ds28ea00 ds28ec20 eclo eds0064 eds0065---temperature-humidity eds0066 eds0067---temperature-light eds0068---temperature-humidity-pressure-light eds0070 eds0071---rtd-temperature eds00xx eds-enviromental-sensors eeef enet-configuration enet-firmware error-codes error_level error-management error-numbers error_print etherweather examples external-sensor-design fake-adapter family-code-list family-code-lookup fan-and-battery-control----majek-wodzinski faq favicon.ico fli4l foreground fox-board foxboard-g20 ftp-browsing full---libow fuse garden gentoo gentoo-scripts git-access gitinspector.html greenhouse-control ha7e ha7net hardware help help-2 help-device home home-monitoring-how-to----silvano-gai home-trailer----brian-fahrlander hotplug hubs humidity hydroelectric-plant i2c-ds2482-100 i2c-ds2482-800 i2c-parallel-port-design images index.html index.php index.php? initial-nslu2-preparation install internal-help-cache internal-help-job internal-help-program internal-help-temperature javascript-raphaell-js Language-modules lcd lcd-2 lcd-temperature-display license light-sensor linkhub-e linkusb locator locks-and-unlocks logo-poll loop-suppression macintosh maintainers main-window mam001 man-pages-ds18xx man-pages-ds19xx man-pages-ds24xx man-pages-ds25xx man-pages-ds27xx man-pages-misc-devices man-pages-programs master-and-slaves mcm001 message-statistics modules moisture monitor-a-wine-cellar mrs001 ms-windows netbsd nslu2 nslu2-german object-read-process object-write-process office-monitoring----wim-heirman omap one-wire-on-fire owcapi owcapi-2 owfs owfs-install-step owfs-websites owftpd owhttpd owmon owmon-2 owmon-bus-list owmon-main-window OWNet ownet-2 ownet-php ownet-pm ownet-py owperl owphp owserver ow-server-enet owserver-flag-word owserver-message-types owserver_protocol owserver-protocol owshell owtap owtap-2 owtcl performance permissions persistence-windows persistent-connections persistent-connections----owlib-client porting postgres-and-python-by-jerry-scharf Programs pyzine-by-peter-kropf-owpython quickstart-guide quirks-and-problems raspberry-pi read-and-write-object reef-tank remote-cache robots.txt rtd-sensor search seather-station setup setup-2 slackware slave-code slave-support snmp so2-sencor software solar-heating-control----christian-schumann-and-christian-magnusson source-code-availability standard-devices startup-avahi startup-ds9097u startup-fake startup-ha5 startup-ha7net startup-link-ascii-mode startup-link-emulate-mode startup-linkusb startup-mock startup-owserver startup-ow-server-enet startup-passive-9097 startup-sequence startup-tester startup-usb-ds9490r startup-usb-scan statcvs status-window struct-owq_wire_query-assumptions structure-directory stylesheetmediatypeprint.css stylesheetmediatypescreen.css stylesheet.php?templateid=20 stylesheet.php?templateid=20&mediatype=print stylesheet.php?templateid=20&mediatype=screen stylesheettemplateid.css survey switches tai603b tcp-messages temperature-compensation temperature-measurements tester-adapter testing-without-hardware thermocouples to-do t.sh tutorial-links type-b type-e type-j type-k type-n type-r type-s type-t ubuntu ubuntu-setup udev udev-and-usb uploads usb-ds9490r usb-eclo usb-mp00200 usb-usb9097 uvi vendors vibration-sensor visual-basic-control voltage voltage-measurement w1-project water-tank-monitor----mr-packethead weather----owfsws what-is-1-wire what-is-1-wire-good-for what-is-uncached what-is-uncached.html windows-usb wireless-router wiring-standards wl-hdd wrt-router-mods----p4trykx ws603-weather-instrument /home/thomas/happyfarming/update_temp_2.sh &> /dev/null
*/5 ? 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 120 122 123 124 125 126 128 137 138 139 140 141 142 143 144 145 146 147 161 164 173 175 176 177 178 179 180 182 193 194 197 216 217 302 3rd-party-devices 4-channel-hub 63 64 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 8-channel-i-o 90 91 92 93 94 95 96 97 98 99 address-discovery admin advanced advanced-i2c aliases alias-improved appliances aquarium-automation----rob-conway asus-wireless----wim-heirman avahi-discovery bae910 barometer beaglebone-black binary-sizes bonjour-library bonjour-zeroconf building-under-ubuntu bus-masters cache cache-flip cache-objects cache-structure car-battery-monitoring----rohbags cgi-bin change-log changelog.html clients-window com-ds9097-passive command-line configuration configuration-file custom-hardware----william-robison datanab-humidity-sensor debian debug debugging detail detail-windows detail-windows-2 directory-locking directory-messages display distributions divide-and-conqueror download ds1427 ds1821 ds1821-thermostat-circuit----doug-collinge ds1822 ds1825 ds18b20 ds18s20 ds1904 ds1920 ds1921 ds1963l ds1963s ds1977 ds1982 ds1982-2 ds1985 ds1985-2 ds1986 ds1986u ds1990a ds1991 ds1992 ds1993 ds1994 ds1995 ds1996 ds2401 ds2404 ds2404s ds2405 ds2406 ds2407 ds2408 ds2409 ds2409-microhub ds2411 ds2413 ds2415 ds2417 ds2423 ds2430a ds2431 ds2433 ds2436 ds2437 ds2438 ds2450 ds2502 ds2502-unw ds2505 ds2505-2 ds2506 ds2506-unw ds2720 ds2740 ds2751 ds2755 ds2756 ds2760 ds2761 ds2762 ds2770 ds2780 ds2781 ds2788 ds2804 ds2890 ds28ea00 ds28ec20 eclo eds0064 eds0065---temperature-humidity eds0066 eds0067---temperature-light eds0068---temperature-humidity-pressure-light eds0070 eds0071---rtd-temperature eds00xx eds-enviromental-sensors eeef enet-configuration enet-firmware error-codes error_level error-management error-numbers error_print etherweather examples external-sensor-design fake-adapter family-code-list family-code-lookup fan-and-battery-control----majek-wodzinski faq favicon.ico fli4l foreground fox-board foxboard-g20 ftp-browsing full---libow fuse garden gentoo gentoo-scripts git-access gitinspector.html greenhouse-control ha7e ha7net hardware help help-2 help-device home home-monitoring-how-to----silvano-gai home-trailer----brian-fahrlander hotplug hubs humidity hydroelectric-plant i2c-ds2482-100 i2c-ds2482-800 i2c-parallel-port-design images index.html index.php index.php? initial-nslu2-preparation install internal-help-cache internal-help-job internal-help-program internal-help-temperature javascript-raphaell-js Language-modules lcd lcd-2 lcd-temperature-display license light-sensor linkhub-e linkusb locator locks-and-unlocks logo-poll loop-suppression macintosh maintainers main-window mam001 man-pages-ds18xx man-pages-ds19xx man-pages-ds24xx man-pages-ds25xx man-pages-ds27xx man-pages-misc-devices man-pages-programs master-and-slaves mcm001 message-statistics modules moisture monitor-a-wine-cellar mrs001 ms-windows netbsd nslu2 nslu2-german object-read-process object-write-process office-monitoring----wim-heirman omap one-wire-on-fire owcapi owcapi-2 owfs owfs-install-step owfs-websites owftpd owhttpd owmon owmon-2 owmon-bus-list owmon-main-window OWNet ownet-2 ownet-php ownet-pm ownet-py owperl owphp owserver ow-server-enet owserver-flag-word owserver-message-types owserver_protocol owserver-protocol owshell owtap owtap-2 owtcl performance permissions persistence-windows persistent-connections persistent-connections----owlib-client porting postgres-and-python-by-jerry-scharf Programs pyzine-by-peter-kropf-owpython quickstart-guide quirks-and-problems raspberry-pi read-and-write-object reef-tank remote-cache robots.txt rtd-sensor search seather-station setup setup-2 slackware slave-code slave-support snmp so2-sencor software solar-heating-control----christian-schumann-and-christian-magnusson source-code-availability standard-devices startup-avahi startup-ds9097u startup-fake startup-ha5 startup-ha7net startup-link-ascii-mode startup-link-emulate-mode startup-linkusb startup-mock startup-owserver startup-ow-server-enet startup-passive-9097 startup-sequence startup-tester startup-usb-ds9490r startup-usb-scan statcvs status-window struct-owq_wire_query-assumptions structure-directory stylesheetmediatypeprint.css stylesheetmediatypescreen.css stylesheet.php?templateid=20 stylesheet.php?templateid=20&mediatype=print stylesheet.php?templateid=20&mediatype=screen stylesheettemplateid.css survey switches tai603b tcp-messages temperature-compensation temperature-measurements tester-adapter testing-without-hardware thermocouples to-do t.sh tutorial-links type-b type-e type-j type-k type-n type-r type-s type-t ubuntu ubuntu-setup udev udev-and-usb uploads usb-ds9490r usb-eclo usb-mp00200 usb-usb9097 uvi vendors vibration-sensor visual-basic-control voltage voltage-measurement w1-project water-tank-monitor----mr-packethead weather----owfsws what-is-1-wire what-is-1-wire-good-for what-is-uncached what-is-uncached.html windows-usb wireless-router wiring-standards wl-hdd wrt-router-mods----p4trykx ws603-weather-instrument ? 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 120 122 123 124 125 126 128 137 138 139 140 141 142 143 144 145 146 147 161 164 173 175 176 177 178 179 180 182 193 194 197 216 217 302 3rd-party-devices 4-channel-hub 63 64 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 8-channel-i-o 90 91 92 93 94 95 96 97 98 99 address-discovery admin advanced advanced-i2c aliases alias-improved appliances aquarium-automation----rob-conway asus-wireless----wim-heirman avahi-discovery bae910 barometer beaglebone-black binary-sizes bonjour-library bonjour-zeroconf building-under-ubuntu bus-masters cache cache-flip cache-objects cache-structure car-battery-monitoring----rohbags cgi-bin change-log changelog.html clients-window com-ds9097-passive command-line configuration configuration-file custom-hardware----william-robison datanab-humidity-sensor debian debug debugging detail detail-windows detail-windows-2 directory-locking directory-messages display distributions divide-and-conqueror download ds1427 ds1821 ds1821-thermostat-circuit----doug-collinge ds1822 ds1825 ds18b20 ds18s20 ds1904 ds1920 ds1921 ds1963l ds1963s ds1977 ds1982 ds1982-2 ds1985 ds1985-2 ds1986 ds1986u ds1990a ds1991 ds1992 ds1993 ds1994 ds1995 ds1996 ds2401 ds2404 ds2404s ds2405 ds2406 ds2407 ds2408 ds2409 ds2409-microhub ds2411 ds2413 ds2415 ds2417 ds2423 ds2430a ds2431 ds2433 ds2436 ds2437 ds2438 ds2450 ds2502 ds2502-unw ds2505 ds2505-2 ds2506 ds2506-unw ds2720 ds2740 ds2751 ds2755 ds2756 ds2760 ds2761 ds2762 ds2770 ds2780 ds2781 ds2788 ds2804 ds2890 ds28ea00 ds28ec20 eclo eds0064 eds0065---temperature-humidity eds0066 eds0067---temperature-light eds0068---temperature-humidity-pressure-light eds0070 eds0071---rtd-temperature eds00xx eds-enviromental-sensors eeef enet-configuration enet-firmware error-codes error_level error-management error-numbers error_print etherweather examples external-sensor-design fake-adapter family-code-list family-code-lookup fan-and-battery-control----majek-wodzinski faq favicon.ico fli4l foreground fox-board foxboard-g20 ftp-browsing full---libow fuse garden gentoo gentoo-scripts git-access gitinspector.html greenhouse-control ha7e ha7net hardware help help-2 help-device home home-monitoring-how-to----silvano-gai home-trailer----brian-fahrlander hotplug hubs humidity hydroelectric-plant i2c-ds2482-100 i2c-ds2482-800 i2c-parallel-port-design images index.html index.php index.php? initial-nslu2-preparation install internal-help-cache internal-help-job internal-help-program internal-help-temperature javascript-raphaell-js Language-modules lcd lcd-2 lcd-temperature-display license light-sensor linkhub-e linkusb locator locks-and-unlocks logo-poll loop-suppression macintosh maintainers main-window mam001 man-pages-ds18xx man-pages-ds19xx man-pages-ds24xx man-pages-ds25xx man-pages-ds27xx man-pages-misc-devices man-pages-programs master-and-slaves mcm001 message-statistics modules moisture monitor-a-wine-cellar mrs001 ms-windows netbsd nslu2 nslu2-german object-read-process object-write-process office-monitoring----wim-heirman omap one-wire-on-fire owcapi owcapi-2 owfs owfs-install-step owfs-websites owftpd owhttpd owmon owmon-2 owmon-bus-list owmon-main-window OWNet ownet-2 ownet-php ownet-pm ownet-py owperl owphp owserver ow-server-enet owserver-flag-word owserver-message-types owserver_protocol owserver-protocol owshell owtap owtap-2 owtcl performance permissions persistence-windows persistent-connections persistent-connections----owlib-client porting postgres-and-python-by-jerry-scharf Programs pyzine-by-peter-kropf-owpython quickstart-guide quirks-and-problems raspberry-pi read-and-write-object reef-tank remote-cache robots.txt rtd-sensor search seather-station setup setup-2 slackware slave-code slave-support snmp so2-sencor software solar-heating-control----christian-schumann-and-christian-magnusson source-code-availability standard-devices startup-avahi startup-ds9097u startup-fake startup-ha5 startup-ha7net startup-link-ascii-mode startup-link-emulate-mode startup-linkusb startup-mock startup-owserver startup-ow-server-enet startup-passive-9097 startup-sequence startup-tester startup-usb-ds9490r startup-usb-scan statcvs status-window struct-owq_wire_query-assumptions structure-directory stylesheetmediatypeprint.css stylesheetmediatypescreen.css stylesheet.php?templateid=20 stylesheet.php?templateid=20&mediatype=print stylesheet.php?templateid=20&mediatype=screen stylesheettemplateid.css survey switches tai603b tcp-messages temperature-compensation temperature-measurements tester-adapter testing-without-hardware thermocouples to-do t.sh tutorial-links type-b type-e type-j type-k type-n type-r type-s type-t ubuntu ubuntu-setup udev udev-and-usb uploads usb-ds9490r usb-eclo usb-mp00200 usb-usb9097 uvi vendors vibration-sensor visual-basic-control voltage voltage-measurement w1-project water-tank-monitor----mr-packethead weather----owfsws what-is-1-wire what-is-1-wire-good-for what-is-uncached what-is-uncached.html windows-usb wireless-router wiring-standards wl-hdd wrt-router-mods----p4trykx ws603-weather-instrument ? 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 120 122 123 124 125 126 128 137 138 139 140 141 142 143 144 145 146 147 161 164 173 175 176 177 178 179 180 182 193 194 197 216 217 302 3rd-party-devices 4-channel-hub 63 64 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 8-channel-i-o 90 91 92 93 94 95 96 97 98 99 address-discovery admin advanced advanced-i2c aliases alias-improved appliances aquarium-automation----rob-conway asus-wireless----wim-heirman avahi-discovery bae910 barometer beaglebone-black binary-sizes bonjour-library bonjour-zeroconf building-under-ubuntu bus-masters cache cache-flip cache-objects cache-structure car-battery-monitoring----rohbags cgi-bin change-log changelog.html clients-window com-ds9097-passive command-line configuration configuration-file custom-hardware----william-robison datanab-humidity-sensor debian debug debugging detail detail-windows detail-windows-2 directory-locking directory-messages display distributions divide-and-conqueror download ds1427 ds1821 ds1821-thermostat-circuit----doug-collinge ds1822 ds1825 ds18b20 ds18s20 ds1904 ds1920 ds1921 ds1963l ds1963s ds1977 ds1982 ds1982-2 ds1985 ds1985-2 ds1986 ds1986u ds1990a ds1991 ds1992 ds1993 ds1994 ds1995 ds1996 ds2401 ds2404 ds2404s ds2405 ds2406 ds2407 ds2408 ds2409 ds2409-microhub ds2411 ds2413 ds2415 ds2417 ds2423 ds2430a ds2431 ds2433 ds2436 ds2437 ds2438 ds2450 ds2502 ds2502-unw ds2505 ds2505-2 ds2506 ds2506-unw ds2720 ds2740 ds2751 ds2755 ds2756 ds2760 ds2761 ds2762 ds2770 ds2780 ds2781 ds2788 ds2804 ds2890 ds28ea00 ds28ec20 eclo eds0064 eds0065---temperature-humidity eds0066 eds0067---temperature-light eds0068---temperature-humidity-pressure-light eds0070 eds0071---rtd-temperature eds00xx eds-enviromental-sensors eeef enet-configuration enet-firmware error-codes error_level error-management error-numbers error_print etherweather examples external-sensor-design fake-adapter family-code-list family-code-lookup fan-and-battery-control----majek-wodzinski faq favicon.ico fli4l foreground fox-board foxboard-g20 ftp-browsing full---libow fuse garden gentoo gentoo-scripts git-access gitinspector.html greenhouse-control ha7e ha7net hardware help help-2 help-device home home-monitoring-how-to----silvano-gai home-trailer----brian-fahrlander hotplug hubs humidity hydroelectric-plant i2c-ds2482-100 i2c-ds2482-800 i2c-parallel-port-design images index.html index.php index.php? initial-nslu2-preparation install internal-help-cache internal-help-job internal-help-program internal-help-temperature javascript-raphaell-js Language-modules lcd lcd-2 lcd-temperature-display license light-sensor linkhub-e linkusb locator locks-and-unlocks logo-poll loop-suppression macintosh maintainers main-window mam001 man-pages-ds18xx man-pages-ds19xx man-pages-ds24xx man-pages-ds25xx man-pages-ds27xx man-pages-misc-devices man-pages-programs master-and-slaves mcm001 message-statistics modules moisture monitor-a-wine-cellar mrs001 ms-windows netbsd nslu2 nslu2-german object-read-process object-write-process office-monitoring----wim-heirman omap one-wire-on-fire owcapi owcapi-2 owfs owfs-install-step owfs-websites owftpd owhttpd owmon owmon-2 owmon-bus-list owmon-main-window OWNet ownet-2 ownet-php ownet-pm ownet-py owperl owphp owserver ow-server-enet owserver-flag-word owserver-message-types owserver_protocol owserver-protocol owshell owtap owtap-2 owtcl performance permissions persistence-windows persistent-connections persistent-connections----owlib-client porting postgres-and-python-by-jerry-scharf Programs pyzine-by-peter-kropf-owpython quickstart-guide quirks-and-problems raspberry-pi read-and-write-object reef-tank remote-cache robots.txt rtd-sensor search seather-station setup setup-2 slackware slave-code slave-support snmp so2-sencor software solar-heating-control----christian-schumann-and-christian-magnusson source-code-availability standard-devices startup-avahi startup-ds9097u startup-fake startup-ha5 startup-ha7net startup-link-ascii-mode startup-link-emulate-mode startup-linkusb startup-mock startup-owserver startup-ow-server-enet startup-passive-9097 startup-sequence startup-tester startup-usb-ds9490r startup-usb-scan statcvs status-window struct-owq_wire_query-assumptions structure-directory stylesheetmediatypeprint.css stylesheetmediatypescreen.css stylesheet.php?templateid=20 stylesheet.php?templateid=20&mediatype=print stylesheet.php?templateid=20&mediatype=screen stylesheettemplateid.css survey switches tai603b tcp-messages temperature-compensation temperature-measurements tester-adapter testing-without-hardware thermocouples to-do t.sh tutorial-links type-b type-e type-j type-k type-n type-r type-s type-t ubuntu ubuntu-setup udev udev-and-usb uploads usb-ds9490r usb-eclo usb-mp00200 usb-usb9097 uvi vendors vibration-sensor visual-basic-control voltage voltage-measurement w1-project water-tank-monitor----mr-packethead weather----owfsws what-is-1-wire what-is-1-wire-good-for what-is-uncached what-is-uncached.html windows-usb wireless-router wiring-standards wl-hdd wrt-router-mods----p4trykx ws603-weather-instrument ? 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 120 122 123 124 125 126 128 137 138 139 140 141 142 143 144 145 146 147 161 164 173 175 176 177 178 179 180 182 193 194 197 216 217 302 3rd-party-devices 4-channel-hub 63 64 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 8-channel-i-o 90 91 92 93 94 95 96 97 98 99 address-discovery admin advanced advanced-i2c aliases alias-improved appliances aquarium-automation----rob-conway asus-wireless----wim-heirman avahi-discovery bae910 barometer beaglebone-black binary-sizes bonjour-library bonjour-zeroconf building-under-ubuntu bus-masters cache cache-flip cache-objects cache-structure car-battery-monitoring----rohbags cgi-bin change-log changelog.html clients-window com-ds9097-passive command-line configuration configuration-file custom-hardware----william-robison datanab-humidity-sensor debian debug debugging detail detail-windows detail-windows-2 directory-locking directory-messages display distributions divide-and-conqueror download ds1427 ds1821 ds1821-thermostat-circuit----doug-collinge ds1822 ds1825 ds18b20 ds18s20 ds1904 ds1920 ds1921 ds1963l ds1963s ds1977 ds1982 ds1982-2 ds1985 ds1985-2 ds1986 ds1986u ds1990a ds1991 ds1992 ds1993 ds1994 ds1995 ds1996 ds2401 ds2404 ds2404s ds2405 ds2406 ds2407 ds2408 ds2409 ds2409-microhub ds2411 ds2413 ds2415 ds2417 ds2423 ds2430a ds2431 ds2433 ds2436 ds2437 ds2438 ds2450 ds2502 ds2502-unw ds2505 ds2505-2 ds2506 ds2506-unw ds2720 ds2740 ds2751 ds2755 ds2756 ds2760 ds2761 ds2762 ds2770 ds2780 ds2781 ds2788 ds2804 ds2890 ds28ea00 ds28ec20 eclo eds0064 eds0065---temperature-humidity eds0066 eds0067---temperature-light eds0068---temperature-humidity-pressure-light eds0070 eds0071---rtd-temperature eds00xx eds-enviromental-sensors eeef enet-configuration enet-firmware error-codes error_level error-management error-numbers error_print etherweather examples external-sensor-design fake-adapter family-code-list family-code-lookup fan-and-battery-control----majek-wodzinski faq favicon.ico fli4l foreground fox-board foxboard-g20 ftp-browsing full---libow fuse garden gentoo gentoo-scripts git-access gitinspector.html greenhouse-control ha7e ha7net hardware help help-2 help-device home home-monitoring-how-to----silvano-gai home-trailer----brian-fahrlander hotplug hubs humidity hydroelectric-plant i2c-ds2482-100 i2c-ds2482-800 i2c-parallel-port-design images index.html index.php index.php? initial-nslu2-preparation install internal-help-cache internal-help-job internal-help-program internal-help-temperature javascript-raphaell-js Language-modules lcd lcd-2 lcd-temperature-display license light-sensor linkhub-e linkusb locator locks-and-unlocks logo-poll loop-suppression macintosh maintainers main-window mam001 man-pages-ds18xx man-pages-ds19xx man-pages-ds24xx man-pages-ds25xx man-pages-ds27xx man-pages-misc-devices man-pages-programs master-and-slaves mcm001 message-statistics modules moisture monitor-a-wine-cellar mrs001 ms-windows netbsd nslu2 nslu2-german object-read-process object-write-process office-monitoring----wim-heirman omap one-wire-on-fire owcapi owcapi-2 owfs owfs-install-step owfs-websites owftpd owhttpd owmon owmon-2 owmon-bus-list owmon-main-window OWNet ownet-2 ownet-php ownet-pm ownet-py owperl owphp owserver ow-server-enet owserver-flag-word owserver-message-types owserver_protocol owserver-protocol owshell owtap owtap-2 owtcl performance permissions persistence-windows persistent-connections persistent-connections----owlib-client porting postgres-and-python-by-jerry-scharf Programs pyzine-by-peter-kropf-owpython quickstart-guide quirks-and-problems raspberry-pi read-and-write-object reef-tank remote-cache robots.txt rtd-sensor search seather-station setup setup-2 slackware slave-code slave-support snmp so2-sencor software solar-heating-control----christian-schumann-and-christian-magnusson source-code-availability standard-devices startup-avahi startup-ds9097u startup-fake startup-ha5 startup-ha7net startup-link-ascii-mode startup-link-emulate-mode startup-linkusb startup-mock startup-owserver startup-ow-server-enet startup-passive-9097 startup-sequence startup-tester startup-usb-ds9490r startup-usb-scan statcvs status-window struct-owq_wire_query-assumptions structure-directory stylesheetmediatypeprint.css stylesheetmediatypescreen.css stylesheet.php?templateid=20 stylesheet.php?templateid=20&mediatype=print stylesheet.php?templateid=20&mediatype=screen stylesheettemplateid.css survey switches tai603b tcp-messages temperature-compensation temperature-measurements tester-adapter testing-without-hardware thermocouples to-do t.sh tutorial-links type-b type-e type-j type-k type-n type-r type-s type-t ubuntu ubuntu-setup udev udev-and-usb uploads usb-ds9490r usb-eclo usb-mp00200 usb-usb9097 uvi vendors vibration-sensor visual-basic-control voltage voltage-measurement w1-project water-tank-monitor----mr-packethead weather----owfsws what-is-1-wire what-is-1-wire-good-for what-is-uncached what-is-uncached.html windows-usb wireless-router wiring-standards wl-hdd wrt-router-mods----p4trykx ws603-weather-instrument /home/thomas/happyfarming/upload_temps.sh

m: Minute. '/5'' means every five minutes.
h: Hour
command: Command to be executed. I run the update_temp_2.sh script every five minutes. '&> /dev/null' takes the output from this command and discards it, so that I don't get a mail every five minutes.

? 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 120 122 123 124 125 126 128 137 138 139 140 141 142 143 144 145 146 147 161 164 173 175 176 177 178 179 180 182 193 194 197 216 217 302 3rd-party-devices 4-channel-hub 63 64 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 8-channel-i-o 90 91 92 93 94 95 96 97 98 99 address-discovery admin advanced advanced-i2c aliases alias-improved appliances aquarium-automation----rob-conway asus-wireless----wim-heirman avahi-discovery bae910 barometer beaglebone-black binary-sizes bonjour-library bonjour-zeroconf building-under-ubuntu bus-masters cache cache-flip cache-objects cache-structure car-battery-monitoring----rohbags cgi-bin change-log changelog.html clients-window com-ds9097-passive command-line configuration configuration-file custom-hardware----william-robison datanab-humidity-sensor debian debug debugging detail detail-windows detail-windows-2 directory-locking directory-messages display distributions divide-and-conqueror download ds1427 ds1821 ds1821-thermostat-circuit----doug-collinge ds1822 ds1825 ds18b20 ds18s20 ds1904 ds1920 ds1921 ds1963l ds1963s ds1977 ds1982 ds1982-2 ds1985 ds1985-2 ds1986 ds1986u ds1990a ds1991 ds1992 ds1993 ds1994 ds1995 ds1996 ds2401 ds2404 ds2404s ds2405 ds2406 ds2407 ds2408 ds2409 ds2409-microhub ds2411 ds2413 ds2415 ds2417 ds2423 ds2430a ds2431 ds2433 ds2436 ds2437 ds2438 ds2450 ds2502 ds2502-unw ds2505 ds2505-2 ds2506 ds2506-unw ds2720 ds2740 ds2751 ds2755 ds2756 ds2760 ds2761 ds2762 ds2770 ds2780 ds2781 ds2788 ds2804 ds2890 ds28ea00 ds28ec20 eclo eds0064 eds0065---temperature-humidity eds0066 eds0067---temperature-light eds0068---temperature-humidity-pressure-light eds0070 eds0071---rtd-temperature eds00xx eds-enviromental-sensors eeef enet-configuration enet-firmware error-codes error_level error-management error-numbers error_print etherweather examples external-sensor-design fake-adapter family-code-list family-code-lookup fan-and-battery-control----majek-wodzinski faq favicon.ico fli4l foreground fox-board foxboard-g20 ftp-browsing full---libow fuse garden gentoo gentoo-scripts git-access gitinspector.html greenhouse-control ha7e ha7net hardware help help-2 help-device home home-monitoring-how-to----silvano-gai home-trailer----brian-fahrlander hotplug hubs humidity hydroelectric-plant i2c-ds2482-100 i2c-ds2482-800 i2c-parallel-port-design images index.html index.php index.php? initial-nslu2-preparation install internal-help-cache internal-help-job internal-help-program internal-help-temperature javascript-raphaell-js Language-modules lcd lcd-2 lcd-temperature-display license light-sensor linkhub-e linkusb locator locks-and-unlocks logo-poll loop-suppression macintosh maintainers main-window mam001 man-pages-ds18xx man-pages-ds19xx man-pages-ds24xx man-pages-ds25xx man-pages-ds27xx man-pages-misc-devices man-pages-programs master-and-slaves mcm001 message-statistics modules moisture monitor-a-wine-cellar mrs001 ms-windows netbsd nslu2 nslu2-german object-read-process object-write-process office-monitoring----wim-heirman omap one-wire-on-fire owcapi owcapi-2 owfs owfs-install-step owfs-websites owftpd owhttpd owmon owmon-2 owmon-bus-list owmon-main-window OWNet ownet-2 ownet-php ownet-pm ownet-py owperl owphp owserver ow-server-enet owserver-flag-word owserver-message-types owserver_protocol owserver-protocol owshell owtap owtap-2 owtcl performance permissions persistence-windows persistent-connections persistent-connections----owlib-client porting postgres-and-python-by-jerry-scharf Programs pyzine-by-peter-kropf-owpython quickstart-guide quirks-and-problems raspberry-pi read-and-write-object reef-tank remote-cache robots.txt rtd-sensor search seather-station setup setup-2 slackware slave-code slave-support snmp so2-sencor software solar-heating-control----christian-schumann-and-christian-magnusson source-code-availability standard-devices startup-avahi startup-ds9097u startup-fake startup-ha5 startup-ha7net startup-link-ascii-mode startup-link-emulate-mode startup-linkusb startup-mock startup-owserver startup-ow-server-enet startup-passive-9097 startup-sequence startup-tester startup-usb-ds9490r startup-usb-scan statcvs status-window struct-owq_wire_query-assumptions structure-directory stylesheetmediatypeprint.css stylesheetmediatypescreen.css stylesheet.php?templateid=20 stylesheet.php?templateid=20&mediatype=print stylesheet.php?templateid=20&mediatype=screen stylesheettemplateid.css survey switches tai603b tcp-messages temperature-compensation temperature-measurements tester-adapter testing-without-hardware thermocouples to-do t.sh tutorial-links type-b type-e type-j type-k type-n type-r type-s type-t ubuntu ubuntu-setup udev udev-and-usb uploads usb-ds9490r usb-eclo usb-mp00200 usb-usb9097 uvi vendors vibration-sensor visual-basic-control voltage voltage-measurement w1-project water-tank-monitor----mr-packethead weather----owfsws what-is-1-wire what-is-1-wire-good-for what-is-uncached what-is-uncached.html windows-usb wireless-router wiring-standards wl-hdd wrt-router-mods----p4trykx ws603-weather-instrument means at every value, i.e. minute is 1 through 60 or hour is 1 through 24 etc.

Graphs

Here are some examples of the type of graphs the system generates:

Log week 11 2009
(Air and soil temperature for one week.)

As expected the soil temperature is changing much slower than the air temperature because the soil is massive compared to air.

Log soil moisture week 11 2009
(Soil moisture for one week.)

Future improvements

Rain collector sensor Valve or pump for automatic watering More air temperature sensors

Links

OWFS for managing 1-wire electronics:
http://owfs.org

Supplier of 1-wire electronics:
http://hobby-boards.com

Forum for Hobby-Boards customers:
http://www.cocoontech.com/forums/index.php?showforum=41

My garden blog:
http://happyfarming.com