You are on page 1of 73

Users Guide

WeatherSnoop
Version 2.1.5

Contact Information
Tee-Boy 441 Saint Paul Avenue Opelousas, Louisiana 70570 Web: www.tee-boy.com Email: info@tee-boy.com

Support Information
We enjoy hearing from our customers, so if you have any questions or would like to give feedback on WeatherSnoop, please contact us at: support@tee-boy.com. We do our best to respond to inquiries in a timely fashion. Our on-line forums at http://www.tee-boy.com/forums contains additional support infor- mation and contributions from other WeatherSnoop users. Please be sure and visit this great resource for additional information.

WeatherSnoop is a registered trademark of Tee-Boy. All Rights Reserved.

Table of Contents
1 Introduction .............................................................10
WeatherSnoop vs. WeatherSnoop Lite .........................................10 How To Use This Users Guide .....................................................11 Whats Next? ...........................................................................11

2 Setting Up Your Station .............................................12


Setting Things Up .....................................................................12 Wireless Station Sensor Reliability...............................................12 The Mac and RS-232-based Weather Stations ..............................12 Good Cables Make Good Connections ..........................................13 Using an RS-232 to Network Adapter ..........................................13 Whats Next? ...........................................................................13

3 Installing and Running WeatherSnoop.......................14


Installation ..............................................................................14 Downloading from the Internet or Installing from CD ....................14 Downloading from the Mac App Store .........................................14 Launching WeatherSnoop ..........................................................14 The Agent Window ...................................................................14 Setting Up Your Site ..................................................................15 Choosing Your Weather Source...................................................16
3

Davis Vantage Pro/Vue..............................................................16 Oregon Scientic WMR100N.......................................................17 Oregon Scientic WMR200A .......................................................17 Oregon Scientic WMR968 .........................................................17 Peet Bros. ULTIMETER 100/800/2000/2100 .................................17 RainWise MKIIICC-LR ................................................................17 RainWise CC-3000 ....................................................................18 LaCrosse WS-2315 ...................................................................18 WS-1080/WS-2080...................................................................18 iROX Pro-X/Honeywell TE923 .....................................................18 Columbia Weather Capricorn 2000EX ..........................................18 Columbia Weather MicroServer...................................................19 WeatherSnoop XML Feed ...........................................................19 Weather Underground Website ...................................................19 Whats Next? ...........................................................................19

4 Sharing Your Data With WeatherSnoop......................20


Sharing via Weather Underground ..............................................20 Sharing via WeatherBug ............................................................21 Sharing via Citizens Weather Observer Program ...........................22 Sharing via Growl .....................................................................23 Sharing via HTTP ......................................................................25

Using a Web Browser ................................................................25 Obtaining Weather Data via XML or JSON ....................................26 Sharing via FTP ........................................................................26 Archiving to the Database ..........................................................27 Whats Next? ...........................................................................27

5 Weather Properties ...................................................28


Graphing a Weather Propertys Value ..........................................28 Modifying a Weather Propertys Unit ...........................................29 Renaming a Weather Property....................................................29 Quickly Changing Units..............................................................29 Calibration Oset ......................................................................29 Whats Next? ...........................................................................29

6 Weather Report .........................................................31


Reading Aloud ..........................................................................31 Whats Next? ...........................................................................31

7 Weather Instruments ................................................33


Indoor and Outdoor Instruments ................................................33 Hi-Def Instruments ...................................................................34 Customizing the Graph ..............................................................34 Customizing the Clock ...............................................................34 Customizing Instrument Windows...............................................35

Whats Next? ...........................................................................35

8 Viewing Data with Graphs .........................................36


Graphing Multiple Properties ......................................................37 Removing Properties from a Graph .............................................38 Date & Time Format on the X-Axis ..............................................38 Whats Next? ...........................................................................38

9 Managing Data with the Data Custodian ....................39


Exporting ................................................................................40 Date & Time Format .................................................................40 Whats Next? ...........................................................................40

10 Weather Notes ........................................................41


Determining Good vs Bad Data...................................................42 Range .....................................................................................42 Age.........................................................................................43 Deviation .................................................................................43 How WeatherSnoop Determines Data Quality ...............................43

A1 AppleScript & WeatherSnoop ..................................44


An Example Using AppleScript ....................................................44 Whats Next? ...........................................................................44

A2 Database Information .............................................45


The Schema ............................................................................45
6

Accessing the Database .............................................................46

A3 HTTP Server Details ................................................49


Station Information Tags ...........................................................49 WeatherSnoop Tags ..................................................................49 Weather Report Tags ................................................................49 Weather Property Tags ..............................................................49 Barometer Value Tags ...............................................................50 Temperature Value Tags ............................................................50 Humidity Value Tags .................................................................50 Dew Point and Heat Index Value Tags .........................................51 Wind Value Tags .......................................................................51 Rain Value Tags ........................................................................51 Solar Value Tags .......................................................................51 Ionizing Radiation Value Tags .....................................................51

A4 Weather Stations and Weather Values .....................52


Computing Rain Values..............................................................52 Obtaining Correct Barometric Pressure ........................................52 Weather Station Value Tables .....................................................52 Davis Vantage Pro/Vue..............................................................54 Oregon Scientic WMR100 .........................................................55 Oregon Scientic WMR200 .........................................................56

Oregon Scientic WMR968 .........................................................57 LaCrosse WS-2315 ...................................................................58 WS-1080/WS-2080...................................................................59 IROX Pro-X/HoneyWell TE923 ....................................................60 RainWise MKIIICC-LR Interface ..................................................61 RainWise CC-3000 Interface ......................................................62 Peet Bros. ULTIMETER 100/800/2000/2100 .................................63 WeatherHawk Weather Station ...................................................64 Columbia Weather Systems Capricorn 2000EX .............................65 Columbia Weather Systems MicroServer ......................................66

A5 WeatherSnoop Plug-in Architecture .........................68


Introduction .............................................................................68 The WSKit Framework...............................................................68 The WSPlugIn Protocol ..............................................................68 Load and Unload Methods..........................................................68 Description Methods .................................................................69 Agent Event Methods ................................................................69 Menu Methods .........................................................................69 The WSPlugIn Service Object .....................................................69 The Weather Site Object ...........................................................69 Executing a Query ....................................................................70

Determining the License Type ....................................................70 Logging with the TBLog Class ....................................................71

1 Introduction
Congratulations on purchasing WeatherSnoop, the premiere weather station data man- agement software for Apple's Macintosh family of computers. WeatherSnoop adheres to the Macs core philosophy of providing a rich, elegant, and easy-to-navigate user inter- face; at the same time, it contains an abundant and robust set of features to help you get the most out of your weather data. WeatherSnoop has two main roles: rst, it acts as a consumer, collecting weather data from either a personal weather station or an Internet-based data source. Second, it can also act as a data provider, relaying your weather to popular online data services such as Weather Underground, WeatherBug and the Citizen Weather Observer Program (CWOP), or serve data to other interested applications via HTTP or FTP These capabilities make WeatherSnoop a powerful, centralized data management system for your weather infor- mation. At the heart of WeatherSnoop is the agent, an intelligent piece of software which under- stands how to connect and communicate to a weather source to obtain weather data. A weather source can be a weather station connected to your Mac via a USB or RS-232 ca- ble, or even a weather station accessible on your local area network or over the Internet. In fact, WeatherSnoop has support for over a dozen popular weather stations and weather information services, so there are many options to choose from.

WeatherSnoop vs. WeatherSnoop Lite


WeatherSnoop is oered in two congurations to accommodate dierent users weather needs: WeatherSnoop Lite and WeatherSnoop. WeatherSnoop Lite has all of the features described above in a simple, single-window in- terface. For users who wish to simply upload their weather data to supported weather services and perform limited analysis via those web sites, the Lite version is an economi- cal solution. For those wanting more analytical features and viewable options on their Mac, the com- plete version of WeatherSnoop incorporates all of the functionality of WeatherSnoop Lite, plus advanced features such as visual gauges, graphing of archived weather data, and data management capabilities. This guide covers the features of both versions.

10

How To Use This Users Guide


We know that instruction manuals dont necessarily make for fun and exciting reading. With that in mind, weve focused heavily on making this guide interesting and informa- tive, yet easy to read. This guide is organized in the order that you would expect to get started, from setting up your station, to loading and running the software, to conguring various features. To get the most out of WeatherSnoop, we suggest that you read the guide cover to cover, from start to nish. Doing so will give you a solid foundation for using the software. So pour yourself a cup or glass of your favorite beverage, relax in your favorite chair, and enjoy the rest of our guide!

Whats Next?
In the next section, well look at some specics of setting up a weather station, including connectivity issues related to your Mac. If you havent set up your weather station yet, now would be a good time to go over its instruction manual and perform the installation.

11

2 Setting Up Your Station


Generally, getting your weather stations data to your Mac is easy using WeatherSnoop. In order to ensure a successful setup, it is important that your station is connected properly. If you are planning on using a weather station with WeatherSnoop, then read this section as it contains important setup information. If on the other hand, you are obtaining your weather data from an on-line source such as Weather Underground or another copy of WeatherSnoop, you can skip to the next section.

Setting Things Up
Virtually every weather station that is supported by WeatherSnoop has a manual avail- able, either with the station or obtainable over the Internet. We highly suggest that you take the time to read the manual for your particular station. You should use the stations instruction manual to determine where to optimally place your weather instruments, how to setup the station console and verify that the station is in working order, and run tests to ensure that all sensors are set up and working properly.

Wireless Station Sensor Reliability


If you own a weather station that has wireless sensors, you should take extra precautions to ensure that the sensors are in communication range of the station. If sensors are bat- tery powered, verify that they contain fresh batteries in order to keep data transmitting. Remember: if your station or console cannot see the data, then neither can Weath- erSnoop!

The Mac and RS-232-based Weather Stations


There are a number of stations whose only method of interfacing to your Mac is via an RS-232, or serial port. If your station ts into this category, then you will need to obtain an RS-232 to USB adapter, since modern Macs do not have an RS-232 port built-in. If you do not already have an RS-232 to USB adapter, you will need to purchase one. WeatherSnoop recommends RS-232 to USB adapters based on the FTDI chipset (www.ftichip.com), which have proven to be very reliable. Manufacturers such as Sa- brent and StarTech oer cables based upon the FTDI chipset. Another stable product is the RS-232 to USB adapter from TrippLite, which uses a proprietary chipset and requires its own driver.
12

We advise customers to avoid using any RS-232 to USB adapter that uses the Pro- lic chipset. Adapters using this chipset have traditionally been unreliable. If you havent already installed the driver for either of these adapters, just go to Weath- erSnoops Help Menu and choose the menu option to be taken to the manufacturers web page. Once there, you can download and install the driver.

Good Cables Make Good Connections


In our experience, a sizable percentage of the connectivity issues encountered by cus- tomers can be directly attributable to the quality of the data cable connecting the Mac to the station itself. If you are using a USB-based weather station, we highly recommend that you obtain a well shielded USB cable with as short a length as you can manage. The best USB cables have ferrite cores embedded on one or both ends to minimize interfer- ence. Also, we recommend that you do not go through a USB hub; instead, plug your USB cable directly into your Mac. Good cables make good connections, so dont skimp on the cable!

Using an RS-232 to Network Adapter


Another option for RS-232-based weather stations is an RS-232 to Network adapter. These devices usually run anywhere from $80 to $150 USD and bridge an RS-232 device to an ethernet or WiFi network. Although this can add an additional layer of complex- ity when setting up your station, the convenience it brings is signicant. Station placement can become easier, and more importantly, the station can be accessed from dierent computers. WeatherSnoop can talk to a station through such an adapter. All you need to do is select TCP/IP as the device, then enter the network address and port number in the station conguration panel of the Agent window. Be sure to refer to the instructions that comes with your serial to network adapter for conguration and setup information.

Whats Next?
By now you should have read your stations instruction manual and have set everything up. In the next section, well introduce you to WeatherSnoop. There, youll set up your site information and choose your weather source.
13

3 Installing and Running WeatherSnoop


Installation
Your installation of WeatherSnoop will be slightly dierent depending on how you received the software.

Downloading from the Internet or Installing from CD


If you received WeatherSnoop on a CD-ROM, simply insert it into your Macs drive and wait for the Finder window to appear. If you downloaded WeatherSnoop from the web, mount the disk image and it will also appear in a Finder window. From there, you will be instructed to drag the WeatherSnoop icon to the Applications folder shortcut. This copies WeatherSnoop to your Macs hard drive. Once this is com- plete, double click on the Application icon and launch WeatherSnoop from there.

Downloading from the Mac App Store


When you purchase WeatherSnoop from the Mac App Store, it will automatically be downloaded to your Mac and installed in the Applications folder on your main drive. The icon will also appear in the Dock, where you may launch it easily.

Launching WeatherSnoop
Now it is nally time to launch WeatherSnoop! To do so, simply double-click the Weath- erSnoop icon in your Applications folder, or single-click the icon in your dock if you pur- chased it from the Mac App Store. When launching it for the rst time, a hint box will ap- pear, along with the Agent window.

The Agent Window


The Agent window is the central area of control for WeatherSnoop and how it interacts with your data source. At the very top of the window is the agent status, which tells you whether the agent is running or not. By default the red LED indicates that the agent is not running and the Start button is shown; when the agent is running, the green LED

appears and the Stop button is shown. Clicking the Start button will start the agent and it will begin communicating to your data source; likewise, clicking on the Stop button will stop the agent and allow you to make changes to your settings.

14

The logging area (which can be hidden by clicking on the disclosure triangle) is also visi- ble to show the status of the agent while it is running. The Log Level slider allows you to adjust the amount of information that the log area shows, which can be helpful for de- bugging. Buttons are also available to clear the contents of the log area, copy the con- tents into the global copy buer, or email the contents. NOTE: You can only change options and settings in the Agent Win- dow when the Agent is stopped.

Setting Up Your Site


All information pertinent to your station and site is set here. Start by typing your site name and location. Next, input your sites longitude and latitude in degrees, minutes and seconds. Note that if you anticipate using the Citizen Weather Observer Program feature, your longitude and latitude must be set.

If you dont know the coordinates of your location, we recommend the tutorial on this site, which shows how to use Google Maps to nd it: http://www.labnol.org/internet/tools/nd-latitude-longitude-from-address-google-maps/ 1691/

15

Once youve set this information, just click on the globe icon; a browser will open and take you to your location in Google Maps.

Choosing Your Weather Source


Now its time to choose your weather source. This is where your weather data will come from, and can be either a station or Internet-based source.

Select the Source tab in the Agent window; there you will see a popup button which al- lows you to select one of the many supported weather sources. When a weather source is selected, a representing image appears, along with all of the available options for that source. Here are the possible selections for the weather source:

Davis Vantage Pro/Vue


This option will obtain all sensor values expected on a Davis Vantage Pro, Vantage Pro 2 or Vantage Vue weather station. There are three connectivity options for connecting the Davis station to your Mac: 1. WeatherLink IP Data Logger: if you have this logger, it will connect to your network via ethernet. Select the TCP/IP device as the source, then entire the Ip address and port number of your data logger. 2. WeatherLink USB Data Logger: this logger requires that you download the CP210X USB to UART Bridge VCP Driver kit from Silicon Labs (http://www.silabs.com). Once installed, select the device named SLAB_USBtoUART in the device list.
16

3. WeatherLink Serial Data Logger: for this logger, you will need to have an RS-232 to USB adapter and install the appropriate driver, then select the device name from the pop-up list. The Davis Vantage Pro/Vue Agent supports the retrieval of archived records stored in the station. You can turn on this feature by checking the option to obtain the archived records. Additionally, you can check the option to clear the archived data in the sta- tions memory after a successful retrieval of all of the archived data. If your rain bucket has the 0.2mm setting (UK and EUR users), then check that option so that rain values will be correctly measured.

Oregon Scientic WMR100N


This option will obtain all sensor values expected on an Oregon Scientic WMR100N. Note that this station uses a USB interface; therefore, no device selection is necessary.

Oregon Scientic WMR200A


This option will obtain all sensor values expected on an Oregon Scientic WMR200A. Like the WMR100N, this station also uses a USB interface; therefore, no device selection is necessary.

Oregon Scientic WMR968


This option will obtain all sensor values expected on an Oregon Scientic WMR968. You will need to select the RS-232 device that the station is connected to. If you have an RS- 232 to Network adapter, select TCP/IP as the device and enter its network address and port number.

Peet Bros. ULTIMETER 100/800/2000/2100


This option will obtain all sensor values expected on the Peet Bros. ULTIMETER. You will need to select the RS-232 device that the station is connected to. If you have an RS-232 to Network adapter, select TCP/IP as the device and enter its network address and port number.

RainWise MKIIICC-LR
This option will obtain all sensor values expected on the RainWise MKIIICC-LR. You will need to select the RS-232 device that the station is connected to. If you have an RS-232 to Network adapter, select TCP/IP as the device and enter its network address and port number.

17

RainWise CC-3000
This option will obtain all sensor values expected on the RainWise CC-3000. Although the CC-3000 interfaces to the Mac via a USB port, you will need to install the FTDI RS-232 to USB driver available from http://www.ftdichip.com/. The RainWise CC-3000 Agent supports the retrieval of archived records stored in the sta- tion. You can turn on this feature by checking the option to obtain the archived records.

LaCrosse WS-2315
This option will obtain all sensor values expected on an LaCrosse WS-2315. You will need to select the RS-232 device that the station is connected to. If you have an RS-232 to Network adapter, select TCP/IP as the device and enter its network address and port number.

WS-1080/WS-2080
This option will obtain all sensor values expected on a WS-1080/WS-2080. This station uses a USB interface, so no device selection is necessary. Note that this station is also sold under several names, including the Fine Oset, and the Tycon TP1080WC. The WS-1080/WS-2080 Agent supports the retrieval of archived records stored in the station. You can turn on this feature by checking the option to obtain the archived re- cords. Additionally, you can check the option to clear the archived data in the stations memory after a successful retrieval of all of the archived data.

iROX Pro-X/Honeywell TE923


This option will obtain all sensor values expected on an iROX Pro-X or Honeywell TE923. This station uses a USB interface, so no device selection is necessary.

Columbia Weather Capricorn 2000EX


This option will obtain all sensor values expected on an Columbia Weather Capricorn 2000EX. You will need to select the RS-232 device that the station is connected to. If you have an RS-232 to Network adapter, select TCP/IP as the device and enter its network address and port number. The Capricorn 2000EX Agent supports the retrieval of archived records stored in the sta- tion. You can turn on this feature by checking the option to obtain the archived records. Additionally, you can check the option to clear the archived data in the stations memory after a successful retrieval of all of the archived data.

18

Columbia Weather MicroServer


This option will obtain all sensor values expected on an Columbia Weather MicroServer. You will need the IP address or DNS name of the station.

WeatherSnoop XML Feed


This option will obtain real time data from another computer running WeatherSnoop. Simply type in the server computers address and port number. Note that the computer you are connecting to must have WeatherSnoop running, and the HTTP sharing feature must be turned on.

Weather Underground Website


This option will obtain real time data from a specic station that is sending its data to the Weather Underground website. Simply supply the station ID in the text eld and that sta- tion's data will be pulled from that stations Weather Underground account into Weath- erSnoop.

Whats Next?
Now that you have set up your site information and chosen your weather source, youre ready to move on to the next step: deciding how to share your weather data. The next section shows you how to do just that.

19

4 Sharing Your Data With WeatherSnoop


Now that youve set up your weather data source, lets focus on how to share your data. WeatherSnoop gives you numerous ways to share weather data easily and eortlessly.

Sharing via Weather Underground


Weather Underground is one of the most popular data sharing services on the Internet, collecting data from thousands of personal weather stations and other sources to provide a comprehensive database of both current and historical weather data for many areas around the world.

To enable this feature, just click the checkbox, ll in your Weather Underground station ID and password, select the update interval, and your weather data will be sent to Weather Underground automatically. If you don't already have a station ID and would like to sign up your station, click on the Weather Underground logo and it will take you to the Per- sonal Weather Stations page. Once you have typed your station information, clicking on the logo will take you to the details web page for your station.
20

The interval is the number of seconds that WeatherSnoop waits between uploads of your weather data. Smaller intervals are better, as they allow for frequent uploads and more timely readings (especially with values that can change quickly, like wind speed and wind direction). However, if you want to limit the amount of trac due to bandwidth concerns or other considerations, you can select a larger interval. WeatherSnoop will stop sending data from to Weather Underground if it detects that more than one hour has passed since your station has provided any data. This is to pre- vent stale data from being uploaded to the service.

Sharing via WeatherBug


WeatherBugs Backyard service is another popular data sharing services on the Internet which collects weather data from personal weather stations. To enable this feature, just click the checkbox and your weather data will be sent to WeatherBug automatically. In order to take advantage of sharing your weather data in this manner, you will need to sign up your personal weather station to obtain a station ID and station number. If you don't already have this information and would like to sign up your station, click on the WeatherBug logo and it will take you to the Backyard sign-up page.

21

Once you have typed your station information, clicking on the logo will take you to the de- tails web page for your station.

Sharing via Citizens Weather Observer Program


The Citizen Weather Observer Program (http://www.wxqa.com/), also known by the ab- breviation CWOP, is another online service that allows weather data sharing over the Internet. In order to participate, you must obtain a CW number from the CWOP website. Clicking on the CWOP logo will take you to the page where you can sign up. Once you have your CW number, enter it and set the upload interval. Clicking on the CWOP logo will then take you to the data summary page in your web browser.

22

NOTE: In order for CWOP to accept your data, your exact longitude and latitude must be set in the My Site tab. Once this is done, you can turn on the feature and your data will be sent to the CWOP server automatically.

Sharing via Growl


Growl is a notication system for Mac OS X that applications can use to alert users about certain events. If this option is selected, WeatherSnoop will use Growl to display the cur- rent weather at an interval of your choosing. If you do not have Growl installed, or have an older version installed, then you will be prompted to install Growl at that time. Also, clicking on the Growl icon will take you to the Growl Project homepage. You can learn more about Growl by visiting http://www.growl.info/.

23

24

Sharing via HTTP


WeatherSnoop allows clients to access its weather data through the HTTP protocol using a web browser or by directly connecting and obtaining XML or JSON formatted data. You can turn on this feature in the HTTP sub-tab of the Sharing tab in the Agent window. Simply choose a port number for the server (the default is 8000).

When obtaining data this way, the computer running WeatherSnoop must be accessible from your network. If you are running on a local area network, this is usually not an is- sue. However if you wish to allow WeatherSnoop to serve data over the Internet, you will likely need to congure your Internet gateway device to allow access to the specic inter- nal IP address and port number that WeatherSnoop will be serving the data from.

Using a Web Browser


By simply pointing your browser to the name of the computer or IP address running WeatherSnoop and providing the port number, you can see the built-in web page with the current values. This is useful if you want to view the current values at a glance. For in- stance, if the computer running WeatherSnoop has an IP address of 192.168.0.4 and is sharing the data on port 8000, you would type the following URL in your browsers ad- dress bar: http://192.168.0.4:8000

25

Obtaining Weather Data via XML or JSON


WeatherSnoop also serves the most current weather data in both XML and JSON formats. Using the computer and port number from the previous example, the following URLs demonstrate exactly how to obtain the data: XML: http://192.168.0.4:8000/weather.xml JSON: http://192.168.0.4:8000/weather.json

Sharing via FTP


For certain congurations it may be more convenient for WeatherSnoop to push the weather data to a specic location. If WeatherSnoop is running behind a rewall, using FTP is a good way to make weather data available to the outside world. You can turn on this feature in the FTP sub-tab of the Sharing tab in the Agent window.

You will need to input the username and password for the FTP account, as well as the server name. An optional server path can be specied where WeatherSnoop will actually place the le, and the FTP interval can also be set.

26

At the set period, WeatherSnoop will upload two les weather.xml and weather.json onto the server. These les contains the most current weather data in various units, as well as station information.

Archiving to the Database


The Database panel allows you to type a lename and a path where your real-time weather will be stored to an SQLite database. The database le itself is stored in the Da- tabases folder of the WeatherSnoop data folder. To access this folder, select Tools > Show Files in Finder on the menu bar.

Whats Next?
In the next section, well examine the Weather Properties window, a feature that allows you to view your weather information at a glance and even lets you change your units.

27

5 Weather Properties
In WeatherSnoop terminology, a weather property is a single, measurable item (e.g. out- door temperature or barometric pressure) and all of its associated information such as its name, latest value, current unit, and the last time it was updated. The Weather Proper- ties window shows all of the available weather properties that WeatherSnoop supports in an easy-to-read table view. You can also change the unit of a property in this window.

Bring up the window by navigating to the View > Weather Properties menu item. From the window, you can view all of the available weather properties at a glance. The name of each weather property is shown, along with its most recent value, the time that the value was obtained, and the current unit. It is important to keep in mind that even though every weather property that Weath- erSnoop tracks will appear in the table, not all weather properties are supported for all station congurations. Those weather properties that are either unsupported or have yet to obtain a proper value from the source yet contain a value of Uninitialized.

Graphing a Weather Propertys Value


When right-clicking one or more selected weather properties in the Weather Properties window, a context sensitive menu appears that will allow you to view the values of those properties in a graph. Well talk more about graphs in an upcoming section.
28

Modifying a Weather Propertys Unit


Each weather propertys unit can be customized by selecting a unit in the popup menu under the Unit table column. The change is immediate and aects all gauges, reports, graphs or other views that may be showing that particular weather property. While most weather properties support multiple units, some weather properties either have only one unit, or the concept of a unit does not apply. In the latter case, an un- changeable Default Unit will appear in the popup button. NOTE: You can only change options and settings in the Weather Properties Window when the Agent is stopped.

Renaming a Weather Property


WeatherSnoop allows you to rename a weather property for added convenience and con- gurability. For example, you may be using extraTemperature1 as a water sensor for your pool. To rename a property, just double click on the name in the Property column.

Quickly Changing Units


If you would like to quickly change all units to either English or Metric, click either button at the lower right hand side of the window. When either button is clicked, each weather property will have its unit adjusted to the appropriate category.

Calibration Oset
Every weather property has a calibration oset, defaulting to 0, that can be set to either a positive or negative number. This is typically useful for adjusting the values of properties such as barometric pressure, or an anemometer which is reading wind speed values that are slightly o. The calibration oset is added to the value of the weather property and is reected throughout WeatherSnoop. Note that the oset is just a number without regard to units. If you change your units, you will need to update your calibration oset as well.

Whats Next?
The remainder of this guide, up to the appendices, focuses on features that not available in WeatherSnoop Lite. Beyond Lite, you will nd a full array of features over and above
29

weather data acquisition and sharing. Instrument gauges show you in real-time what your weather data looks like from your data source. Colorful graphs let you examine how your weather data has changed over time. You can also obtain an easy-to-read summary of the current weather conditions with the Weather Report feature.

30

6 Weather Report
The Weather Report window provides a summary of the current weather in an easy-to- understand, natural language format. Its content is updated once per second using the latest values from the weather properties referenced in the report. To view the Weather Report window, navigate to the View > Weather Report menu item.

Reading Aloud
Using the Macs text-to-speech technology, you can have the report information read over your Macs speakers at an interval of your choosing. The report is read aloud at specic intervals by turning on the speaking option and selecting a time, or you can click the Speak Now button to hear the weather report read aloud at that instant.

Whats Next?
Well kick things up a notch and show you how to see your weather data like it was really meant to be seen -- in gauges and instruments that bring it to life!

31

7 Weather Instruments
WeatherSnoop allows you to view your current weather with real-to-life instruments and gauges. Most gauges contain both analog and digital displays, while other values are rep- resented by LED indicators As soon as the agent obtains a new value for a weather property, all gauges for that property are immediately updated throughout WeatherSnoop to reect that value.

Indoor and Outdoor Instruments


Navigate to the View > Indoor Weather Instruments menu item to view the Indoor In- struments window. All indoor instruments are presented in a single window , and the following weather properties are displayed: indoor temperature, indoor humidity, indoor heat index, and indoor dew point. To view the Outdoor Instruments window, navigate to the View > Outdoor Weather In- struments menu item. Like the indoor instruments above, all outdoor instruments are presented in a single window that illustrates the following weather properties: outdoor temperature, todays rain, wind speed and direction, barometric pressure, outdoor humid- ity, wind chill, wind gust, outdoor heat index, outdoor dew point, and forecast

Hi-Def Instruments
The Hi-Def Instruments window is sized to 1920 x 1080 pixels and is designed to be dis- played on a resolution monitor or hi-denition television. It contains both indoor and outdoor instruments as well as a weather report area, a graph, an LED clock and a com- plete list of the weather properties. Navigate to the View > Hi-Def Weather Instruments menu item to show the Hi-Def Weather Instruments window.

Customizing the Graph


Weather properties can be easily added to the graph. Simply drag any property from the Weather Properties table onto the graph and that property will appear. To remove a weather property from the graph, drag it out of the property details table below the graph.

Customizing the Clock


The LED clock, which shows the current local time in hours, minutes, and seconds, is congurable in both style and color. The color of the clock can be changed by right click- ing on the LED clock face and selecting a new color scheme from the popup menu. The style can also be changed between 12 hour and 24 hour mode.

34

Customizing Instrument Windows


Each of your instrument windows can have its own custom background, providing your system with a personalized look. You can select from a number of built-in backgrounds by right clicking on the background area of the Indoor, Outdoor or Hi-Def Instrument win- dows and navigating the contextual menu. You can even choose your own custom back- ground by selecting an image le from your hard drive.

Whats Next?
Now that youve seen how to bring your real-time data to your Mac in a lively and realistic fashion, well take a look at how to view your archived data through graphing.

35

8 Viewing Data with Graphs


Viewing your weather data through the prism of a graph brings considerable value; it al- lows you to view trends in weather patterns, compare one property to another, and ana- lyze the ow of past weather events. WeatherSnoop brings the power of graphing to your Macs desktop with full color plots that can display multiple weather properties si- multaneously and span arbitrary dates and times. Setting up a graph is easy and can be done several ways: 1. From the View menu, select the Graph menu item and then follow the submenu to graph the weather property of your choice. 2. Right click on any gauge or LED indicator from one of the instrument windows and se- lect the Show Graph menu item from the contextual menu. Upon selection, a graph window appears with the date range set to the current days span. 3. Right click on one or more properties in the Weather Properties window. If multiple properties are selected, you can choose for all properties to be graphed in a single window or separate windows.

36

As graph windows are created, they are generically named in ascending order as Graph 1, Graph 2, etc. Graph names are recycled as windows are closed Every graph window is composed of three major sections: 1. Top area: the date range cluster. The date range cluster allows you to select the start and end date for the graph. Use the stepper buttons or simply type in the date and time to change the range. You can also utilize the Quick Dates popup button to quickly and easily select one of several common date ranges. Once the dates have been set, simply click on the Refresh button and the graph will re- fresh its data to the new date range. 2. Middle area: the graph. The graph takes up the middle of the window and is where the values of the selected weather properties are plotted. You can hover your mouse over this area and a hint will appear indicating the weather property and its associated color in the graph. 3. Bottom area: the property details table. This table shows the names of the weather properties in the graph as well as other information. At a glance, you can view the property details table to see which weather properties are represented, along with the unit and the corresponding graph color. Additionally, the minimum, maximum, and av- erage values for date range are also indicated, as well as the number of data values that compose the graph itself. If you so choose, you can click on the disclosure triangle above the property details ta- ble in order to hide the table and make more room for the graph.

Graphing Multiple Properties


WeatherSnoop makes it easy for you to graph additional weather properties on the same graph for comparative analysis. There are several ways to do this: 1. Right click on an instrument and select the Add To Graph menu option. A submenu will appear with a list of all of the current graph windows. Simply select the destination graph window, and the weather property will be added to that graph. The graph will also be refreshed to incorporate the historical data for that weather property.

37

2. Right-click on one or more selected weather properties in the Weather Properties table. A menu will appear where you can opt to show all properties in a single graph win- dows, in separate graph windows, or add all properties to an existing graph window. 3. Drag one or more selected weather properties from the Weather Properties table onto the graph. To do this, bring up the Weather Properties window, then click on a weather property and drag it to the graph. You can also perform this function from the Weather Properties table in the Hi-Def Instruments window.

Removing Properties from a Graph


You can remove one or more weather properties from the graph by clicking on the prop- erty in the property details table and dragging it out of the graph window. The graph will then be refreshed to show the values of the remaining weather properties.

Date & Time Format on the X-Axis


The date and time format on the X-axis uses the localized settings of your Mac, speci- cally, the short format. This setting can be adjusted in the Formats section of the Lan- guage & Text settings of System Preferences.

Whats Next?
There are times when you want to view your archived data as numbers instead of graphs, and even change a thing or two. Thats a job for the Data Custodian.

38

9 Managing Data with the Data Custodian


WeatherSnoops Data Custodian lets you view and modify the contents of your weather database. You can specify a date range and the values that you are interested in viewing, then export that data into a comma-separated value (CSV) le that is easily read by spreadsheet applications like Numbers or Excel.

Heres how to congure the Data Custodian: 1. From the View menu, select the Weather Properties menu item to view the Weather Properties Window. 2. Click on the desired property in the Weather Properties window and drag and drop it onto the Data Custodian window (you can select more than one property by holding the Command key and clicking additional rows).

39

3. Select the desired date range, or use the Quick Date button, then click the Refresh but- ton. The Data Custodian will fetch the data and display it in the table. The Refresh button becomes the Cancel button while the fetch is occurring, allowing you to abort the procedure. Depending upon the date range and amount of data in the database, it may take several seconds to retrieve the data. When all of the data has been fetched, it will appear in tabular format, along with summary information in the bottom table.

Exporting
You can export the data from the Data Custodian to a comma-separated value (CSV) le by clicking on the Export... button. A sheet drops down with a default name and location to save the le. You can also elect to have the header row exported, as well as having the le opened automatically when the export is nished.

Date & Time Format


The date and time format used both in the Time column of the Data Custodian table, as well as the export lename uses the localized settings of your Mac, specically, the me- dium format. This setting can be adjusted in the Formats section of the Language & Text settings of System Preferences.

Whats Next?
Keeping a weather journal can be handy for referring to specic events. WeatherSnoops Weather Notes feature lets you do just that.

40

10 Weather Notes
Weather Notes allows you to keep a journal of noteworthy weather events or other infor- mation that you can easily refer back to. To interact with Weather Notes, simply navigate to the View menu and select Weather Notes. The Weather Notes window is a classic master/detail view that has a list of notes on the left pane and the content of the selected note in the text editing area. You can click on the + icon at the bottom to add a new note, or click on the - icon to remove a selected note. The search eld at the top right allows you to search all of your notes for a specic word or phrase.

All notes le itself is stored in the Documents folder of the WeatherSnoop data folder. To access this folder, select Tools > Show Files in Finder on the menu bar.

41

11 Data Quality
The issue of data quality is an important one to weather station owners as well as the weather data services that they publish to. The weather data that you generate and share could be used for a number of dierent purposes, including research and planning. For that reason, and for posterity itself, it is important that the weather data coming from your data source be as accurate as possible. There are many dierent factors that can aect a weather stations data quality. Here are some of the main ones: 1. Erratic or malfunctioning sensors, or wireless sensors that have weak batteries. 2. Sensors that are improperly placed or mounted (e.g. a temperature sensor is located in direct sunlight, or a wind gauge is partially blocked by a wall or other obstruction). 3. Intermittent communication between a wireless sensor and its base station due to poor placement, frayed wiring or battery issues. 4. Intermittently garbled or junk data coming from the station to the Mac due to poor ca- bling, older station rmware, or poorly designed hardware. In some of these instances, proper planning can have a direct impact on the quality of the data. In other cases, the problem lies with the data source itself, and no amount of recti- cation can avoid the occasional data error. The quality of collected weather data is more important than how much of the data is col- lected. While more data translates into higher data resolution, having a lot of invalid data is meaningless compared to have a smaller set of good data.

Determining Good vs Bad Data


When it comes to determining what is good data and what is bad data, there are three determining factors: range, age and deviation of the data.

Range
Every type of weather property that WeatherSnoop supports (temperature, humidity, lin- ear measurement, etc) has a valid range limit that a value must t within in order to be considered of good quality. For example, it makes no sense to have a negative hourly

42

rainfall or wind speed. Likewise, extreme temperatures such as 500 F or -250 C repre- sent impractical weather scenarios and could indicate a station malfunction.

Age
Much of our weather data tends to vary over time. Temperature, humidity and pressures are constantly changing, even if slightly. On the other hand, it may not rain for days or weeks at a time, so those values are still valid even though they have not recently changed. Every weather property that WeatherSnoop supports has a timestamp associated with it. This timestamp can be seen in the Weather Property view, and one can quickly determine the age of a particular weather property. This age is useful in determining the datas validity in computations of the values of other weather properties.

Deviation
In most cases, a weather propertys value will not be signicantly dierent from its previ- ous value. For example, it is unlikely that a temperature will be 20 F one minute, then 97 F the next. On the other hand, wind speeds can change quickly and drastically.

How WeatherSnoop Determines Data Quality


WeatherSnoop lters out values that are outside of the range of a particular weather propertys valid upper and lower limits. The ranges for each property type are as follows:

Property Type
Temperature Humidity Pressure Length Velocity Direction Solar Radiation

Range
-40 to 140 F 0 to 100% 27 to 33 inHg 0 to innity 0 to 120 mph 0 to 360 degrees 0 to 10000 w/m2

43

A1 AppleScript & WeatherSnoop


With AppleScript, you can obtain the most recent real-time weather values from Weath- erSnoop. This is a very powerful and versatile way to process your weather data in a number of dierent ways, and it is very simple to do.

An Example Using AppleScript


To demonstrate the use of AppleScript to obtain a value from WeatherSnoop, bring up Finder, select Go > Utilities in the menu. When the Utilities folder appears, double click AppleScript Editor. When the editor launches you will be presented with an empty editor document. Type the following simple script:

tell application "WeatherSnoop" get outdoorTemperature end tell


Once youve typed in the script, click the Run button on the toolbar. This simple script will obtain the latest outdoor temperature value and display it in the area below the editor. If WeatherSnoop is not running, it will be launched automatically. The values of all weather properties can be obtained in this manner. For a list of addi- tional variable names, consult the table in the Database Information section.

Whats Next?
The rest of this Users Guide is composed of appendices which focus on specic technical parts of WeatherSnoop. Feel free to peruse the next few sections.

44

A2 Database Information
One of the features of WeatherSnoop is that it sends all real-time weather data to an SQLite database. This chapter explains the layout of the database and ways to get to the data.

The Schema
In the WeatherSnoop SQLite database, a table exists for each type of data value obtained from the station. Each row in a table contains two elements: the date/time of the sample (stored as the number of seconds since 1 January 1970) and the value recorded at that date/time. The following table shows the schema for the database, including the data item, unit, ta- ble name, and data type.
Data Item (Units) Barometric Pressure (inHg) Barometric Trend Rain Today (inches) Indoor Dew Point (F) Indoor Humidity (%) Indoor Temperature (F) Rain this Month (inches) Outdoor Dew Point (F) Outdoor Humidity (%) Outdoor Temperature (F) Rain this Year (inches) Rain Total (inches) Wind Direction (degrees) Wind Speed (miles/hour) Ultraviolet Index Solar Radiation (watts/meter) Ionizing Radiation (millirem/hour) Rain Rate (inches/hour) Forecast Table Name barometricPressure barometricTrend dayRain indoorDewPoint indoorHumidity indoorTemperature monthRain outdoorDewPoint outdoorHumidity outdoorTemperature yearRain totalRain windDirection windSpeed uvIndex solarRadiation ionizingRadiation rainRate forecast Data Type Float value String value Float value Float value Float value Float value Float value Float value Float value Float value Float value Float value Float value Float value Float value Float value Float value Float value String value

Wind Gust (miles/hour) Extra Temperatures (1-10) Extra Humidities (1-10) Wind Chill (F) Outdoor Heat Index (F) Indoor Heat Index (F)

windGust extraTemperature[1-10] extraHumidity[1-10] windChill outdoorHeatIndex indoorHeatIndex

Float value Float value Float value Float value Float value Float value

Accessing the Database


WeatherSnoop writes to the database, and also reads from it at startup to obtain certain values. Other applications can use this data in a number of ways, and you can even ac- cess the information via the command line utility sqlite3. Heres a quick primer on how you can access this data directly from the command line. NOTE: You should quit WeatherSnoop when working with the database from the command line. Doing so ensures that no write conicts will emerge. Also be sure to quit the command line client before restarting WeatherSnoop.

Launch the Terminal.app application (found in the Applications > Utilities folder) and type the following command and press the Return key:
sqlite3 ~/Documents/weather.db

(This command assumes WeatherSnoop is storing the data in a database named weather.db located in your Documents folder; adjust the command accordingly if needed). You should then see the sqlite3 prompt.
SQLite version 3.4.0 Enter ".help" for instructions sqlite>

You can type the .table command and press Return to see the list of tables:
sqlite> .tables barometricPressure barometricTrend dayRain extraHumidity1 extraHumidity8 extraHumidity9 extraTemperature1 extraTemperature10 extraTemperature9 forecast indoorDewPoint indoorHeatIndex rainRate solarRadiation totalRain uvIndex

46

extraHumidity10 extraHumidity2 extraHumidity3 extraHumidity4 extraHumidity5 extraHumidity6 extraHumidity7

extraTemperature2 extraTemperature3 extraTemperature4 extraTemperature5 extraTemperature6 extraTemperature7 extraTemperature8

indoorHumidity indoorTemperature monthRain outdoorDewPoint outdoorHeatIndex outdoorHumidity outdoorTemperature

windChill windDirection windGust windSpeed yearRain

With SQLite you can construct SQL queries to see the data in any of the tables. For in- stance, to view all of the outdoor temperature data, type the following and press Return:
select * from outdoorTemperature;

The output will look something like this:


1256894357|78.4 1256894387|78.5 1256894417|78.4 1256894426|78.5 1256894489|78.4

The rst column is the date/time stamp of the sample, followed by the outdoor tempera- ture for that date/time (the vertical bar | is used as a column separator character). For a more reasonable date/time stamp you could type the following and press Return:
select datetime(time,'unixepoch','localtime'),value from outdoorTemperature;

The output will look something like this:


2009-08-03 2009-08-03 2009-08-03 2009-08-03 00:22:08|77.4 00:22:38|77.5 00:22:50|77.4 00:24:59|77.5

If you want to output the data for the table to a CSV le for loading into a spreadsheet program, you could type the following commands:
sqlite> .mode csv sqlite> .output export.txt sqlite> select * from outdoorTemperature;

The rst command tells SQLite to output the data in CSV compatible mode; the second command forces the output of all subsequent commands to a le named export.txt; the third command, upon completion, will have exported all outdoor temperatures to the ex- port le.

47

There are other commands that you can use to view and lter your data. For more in- formation, visit the SQLite website at http://www.sqlite.org/

48

A3 HTTP Server Details


WeatherSnoops built-in HTTP server serves les from Sites/WeatherSnoopX.Y.Z folder (where X.Y.Z is the WeatherSnoop version number). To access this folder, select Tools > Show Files in Finder on the menu bar. Each le contains special tags, bounded by two consecutive percent signs (e.g. %%site- Name%%). WeatherSnoop substitutes values for these tags when a le is served. The names of all the tags are documented below, and should be self-explanatory as to the values they provide.

Station Information Tags


Station information tags are obtained from the My Site panel of the Agent window, and are as follows:
%%siteName%%, %%siteLocation%%, %%siteTime%%, %%longitude_Degrees%%, %%longitude_Minutes%%, %%longitude_Seconds%%, %%longitude_Hemisphere%%, %%longitude_Decimal%% %%latitude_Degrees%%, %%latitude_Minutes%%, %%latitude_Seconds%% %%latitude_Hemisphere%%, %%latitude_Decimal%%

WeatherSnoop Tags
The current version of WeatherSnoop is available from the following tag:
%%wsVersion%%

Weather Report Tags


The most recent weather report is available from the following tag:
%%weatherReport%%

Weather Property Tags


The most current value of every weather property is also available, and in the supported units. Each property has a updated time tag (e.g. %%outdoorTemperature_Ti- me%%), a currently set unit tag (e.g. %%outdoorTemperature_Unit%%), and one or
49

more tags for the value of the property in dierent units (e.g. %%outdoorTempera- ture_Fahrenheit%%, %%outdoorTemperature_Celsius%%). The individual value tags are shown below:

Barometer Value Tags


%%barometricTrend%%, %%forecast%% %%barometricPressure_InchesOfMercury%%, %%barometricPressure_Millibars%%

Temperature Value Tags


%%outdoorTemperature_Fahrenheit%%, %%outdoorTemperature_Celsius%% %%indoorTemperature_Fahrenheit%%, %%indoorTemperature_Celsius%% %%extraTemperature1_Fahrenheit%%, %%extraTemperature1_Celsius%% %%extraTemperature2_Fahrenheit%%, %%extraTemperature2_Celsius%% %%extraTemperature3_Fahrenheit%%, %%extraTemperature3_Celsius%% %%extraTemperature4_Fahrenheit%%, %%extraTemperature4_Celsius%% %%extraTemperature5_Fahrenheit%%, %%extraTemperature5_Celsius%% %%extraTemperature6_Fahrenheit%%, %%extraTemperature6_Celsius%% %%extraTemperature7_Fahrenheit%%, %%extraTemperature7_Celsius%% %%extraTemperature8_Fahrenheit%%, %%extraTemperature8_Celsius%% %%extraTemperature9_Fahrenheit%%, %%extraTemperature9_Celsius%% %%extraTemperature10_Fahrenheit%%, %%extraTemperature10_Celsius%%

Humidity Value Tags


%%outdoorHumidity_Percent%%, %%indoorHumidity_Percent%% %%extraHumidity1_Percent%% %%extraHumidity2_Percent%% %%extraHumidity3_Percent%% %%extraHumidity4_Percent%% %%extraHumidity5_Percent%% %%extraHumidity6_Percent%% %%extraHumidity7_Percent%% %%extraHumidity8_Percent%% %%extraHumidity9_Percent%% %%extraHumidity10_Percent%%

50

Dew Point and Heat Index Value Tags


%%outdoorDewPoint_Fahrenheit%%, %%outdoorDewPoint_Celsius%% %%indoorDewPoint_Fahrenheit%%, %%indoorDewPoint_Celsius%% %%outdoorHeatIndex_Fahrenheit%%, %%outdoorHeatIndex_Celsius%% %%indoorHeatIndex_Fahrenheit%%, %%indoorHeatIndex_Celsius%%

Wind Value Tags


%%windChill_Fahrenheit%%, %%windChill_Celsius%% %%windSpeed_MilesPerHour%%, %%windSpeed_MetersPerSecond%%, %%windSpeed_Knots%% %%windGust_MilesPerHour%%, %%windGust_MetersPerSecond%%, %%windGust_Knots%% %%windDirection_Degrees%%

Rain Value Tags


%%rainRate_InchesPerHour%%, %%rainRate_MillimetersPerHour%% %%dayRain_Inches%%, %%dayRain_Millimeters%% %%monthRain_Inches%%, %%monthRain_Millimeters%% %%yearRain_Inches%%, %%yearRain_Millimeters%% %%totalRain_Inches%%, %%totalRain_Millimeters%%

Solar Value Tags


%%solarRadiation_WattsPerSquareMeter%% %%uvIndex%%

Ionizing Radiation Value Tags


%%ionizingRadiation_MilliremPerHour%%, %%ionizingRadiation_MicroremPerHour%% %%ionizingRadiation_MillisievertPerHour%%, %%ionizingRadiation_MicrosievertPerHour%%,

51

A4 Weather Stations and Weather Values


Weather stations vary in features, price and performance; some stations provide many weather variables, while others transmit a minimal set. Accommodating these dierent systems and their congurations can be challenging. WeatherSnoops goal is to capitalize on the features common to all weather stations in order to provide the user a consistent experience, no matter which station they have. Part of meeting that goal is to document exactly how weather values are obtained.

Computing Rain Values


WeatherSnoop utilizes the Rain Computer, a software based method for computing rain values such as daily, monthly and yearly rainfall as well as rainfall per hour. The Rain Computer needs only one rain value supplied by virtually all weather stations: a cumula- tive rain total value. The Rain Computer also takes advantage of values stored in the SQLite database so that rain values are maintained when WeatherSnoop is restarted. Be- cause of this, it is recommended that the database sharing feature be turned on at all times. Currently the Rain Computer is utilized by all agents except for the Davis Vantage Pro/Vue. There may be times when you want to reset the Rain Computer. To do this, select the Tools > Reset Rain Computer on the menu bar.

Obtaining Correct Barometric Pressure


WeatherSnoop assumes that the barometric pressure it receives from the station has been adjusted to sea level pressure (also known as relative pressure). Some stations only transmit absolute pressure to WeatherSnoop; in those cases, WeatherSnoop uses the elevation setting to compute relative pressure. In order to obtain the correct pressure, you should verify that your stations elevation/altitude or barometric pressure oset set- tings are in accordance with your current elevation. If you still arent satised with the value, use the calibration oset in the Weather Properties window.

Weather Station Value Tables


In order to provide a clear picture of how each weather station obtains its values, weve supplied tables on the following pages that show the relationship between each stations

52

value and its source. Station supplied values are just that: they are obtained directly from the station. Computed values are calculated internally by WeatherSnoop.

53

Davis Vantage Pro/Vue


The Vantage Pro/Vue weather stations from Davis connect to the Mac via a WeatherLink USB, WeatherLink Serial or WeatherLink IP module. Rain values are obtained from the station directly, so the WeatherSnoop Rain Computer is not used.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Station supplied Station supplied Station supplied (up to 7 sensors supported) Station supplied (up to 7 sensors supported) Station supplied Station supplied Computed Station supplied Station supplied Station supplied Computed Station supplied Station supplied Station supplied Station supplied Station supplied Station supplied Station supplied Station supplied Station supplied Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Computed (see http://www.ofcm.gov/fmh-1/fmh1.htm) Station supplied

54

Oregon Scientic WMR100


The WMR100 weather station from Oregon Scientic connects to the Mac via USB. Rain values are computed via WeatherSnoopsRain Computer using the total rain accumulator provided by the station.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Station supplied Unavailable Station supplied (up to 10 sensors supported) Station supplied (up to 10 sensors supported) Station supplied Computed Computed Station supplied Station supplied Computed Computed Station supplied Station supplied Station supplied Computed Computed Computed Station supplied Unavailable Station supplied Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Station supplied Station supplied

55

Oregon Scientic WMR200


The WMR200 weather station from Oregon Scientic connects to the Mac via USB. Rain values are computed via WeatherSnoops Rain Computer using the total rain accumulator provided by the station.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Station supplied Station supplied Station supplied (up to 10 sensors supported) Station supplied (up to 10 sensors supported) Unavailable Computed Computed Station supplied Station supplied Computed Computed Station supplied Station supplied Station supplied Computed Computed Computed Station supplied Unavailable Station supplied Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Station supplied Station supplied

56

Oregon Scientic WMR968


The WMR968 weather station interface from Oregon Scientic connects to the Mac via a USB to RS-232 adapter. You can also use a Serial to Net- work adapter and specify the name or IP address in the agent to connect to the unit over a network. Rain values are computed via WeatherSnoops Rain Computer using the total rain accumulator provided by the station.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Station supplied Unavailable Station supplied (up to 3 sensors supported) Station supplied (up to 3 sensors supported) Unavailable Computed Computed Station supplied Station supplied Computed Computed Station supplied Station supplied Computed Computed Computed Computed Station supplied Unavailable Unavailable Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Station supplied Station supplied

57

LaCrosse WS-2315
The WS-2315 weather station interface from LaCrosse connects to the Mac via a USB to RS-232 adapter. You can also use a Serial to Network adapter and specify the name or IP address in the agent to connect to the unit over a network. Rain values are computed via WeatherSnoops Rain Computer using the total rain accumulator provided by the station.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Station supplied Station supplied Unavailable Unavailable Station supplied Computed Computed Station supplied Station supplied Computed Computed Station supplied Station supplied Computed Computed Computed Computed Station supplied Unavailable Unavailable Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Computed Station supplied

58

WS-1080/WS-2080
The WS-1080/WS-2080 weather station connects to the Mac via USB. This station is sold under dierent brand names, including Ambient Weather WS-1080/WS-2080, Weatherwise WS-1080-SOLAR, Fine Oset, Zephyr WH1081, Tycon TP1080WC, N96GY or Digitech XC-0348. Rain values are com- puted via WeatherSnoops Rain Computer using the total rain accumulator provided by the station.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Computed from absolute pressure and elevation Unavailable Unavailable Unavailable Unavailable Computed Computed Station supplied Station supplied Computed Computed Station supplied Station supplied Computed Computed Computed Computed Station supplied Unavailable Unavailable Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Station supplied Station supplied

59

IROX Pro-X/HoneyWell TE923


The IROX Pro-X/HoneyWell TE923 weather stations connect to the Mac via USB. Rain values are computed via WeatherSnoops Rain Computer using the total rain accumulator provided by the station.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Station supplied Unavailable Station supplied (up to 5 sensors supported) Station supplied (up to 5 sensors supported) Station supplied Computed Computed Station supplied Station supplied Computed Computed Station supplied Station supplied Computed Computed Computed Computed Station supplied Station supplied Station supplied Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Station supplied Station supplied

60

RainWise MKIIICC-LR Interface


The MKIIICC-LR weather station interface from RainWise connects to the Mac via a USB to RS-232 adapter. You can also use a Serial to Network adapter and specify the name or IP address in the agent to connect to the unit over a network. Rain values are computed via WeatherSnoops Rain Computer using the total rain accumulator provided by the station.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Station supplied Unavailable Unavailable Unavailable Unavailable Computed Computed Unavailable Unavailable Computed Computed Station supplied Station supplied Computed Computed Computed Computed Station supplied Unavailable Unavailable Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Computed (see http://www.ofcm.gov/fmh-1/fmh1.htm) Station supplied

61

RainWise CC-3000 Interface


The CC-3000 weather station interface from RainWise connects to the Mac via USB. It does, however, require a driver from FTDI (http://www.ftdichip.com/). Rain values are computed via Weath- erSnoops Rain Computer using the total rain accumulator provided by the station.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Station supplied Unavailable Unavailable Unavailable Unavailable Computed Computed Unavailable Unavailable Computed Computed Station supplied Station supplied Computed Computed Computed Computed Station supplied Unavailable Unavailable Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Computed (see http://www.ofcm.gov/fmh-1/fmh1.htm) Station supplied

62

Peet Bros. ULTIMETER 100/800/2000/2100


The ULTIMETER 100/800/2000/2100 series of weather stations from Peet Bros. connects to the Mac via a USB to RS-232 adapter. You can also use a Serial to Network adapter and specify the name or IP address in the agent to connect to the unit over a network. Rain values are com- puted via WeatherSnoops Rain Computer using the total rain accumulator provided by the station.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Station supplied Unavailable Unavailable Unavailable Unavailable Computed Computed Station supplied Station supplied Computed Computed Station supplied Station supplied Computed Computed Computed Computed Station supplied Unavailable Unavailable Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Computed (see http://www.ofcm.gov/fmh-1/fmh1.htm) Station supplied

63

WeatherHawk Weather Station


The WeatherHawk series of weather stations from WeatherHawk connects to the Mac via TCP/IP. The WeatherHawk agent requires that you enter the name or IP address of the station that you wish to communicate with. Rain values are computed via WeatherSnoops Rain Computer using the total rain accumulator provided by the station.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Computed from absolute pressure and elevation Unavailable Unavailable Unavailable Unavailable Computed Computed Unavailable Unavailable Computed Computed Station supplied Station supplied Computed Computed Computed Computed Station supplied Unavailable Unavailable Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Computed (see http://www.ofcm.gov/fmh-1/fmh1.htm) Station supplied

64

Columbia Weather Systems Capricorn 2000EX


The Capricorn 2000EX from Columbia Weather Systems is a serial-based weather station that connects to the Mac via a USB to RS-232 adapter. You can also use a Serial to Network adapter and specify the name or IP address in the agent to connect to the unit over a network. Rain values are computed via Weath- erSnoops Rain Computer using the total rain accumulator provided by the station.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Computed from absolute pressure and elevation Unavailable Unavailable Unavailable Unavailable Computed Computed Unavailable Unavailable Computed Computed Station supplied Station supplied Computed Computed Computed Computed Station supplied Station supplied Unavailable Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Computed (see http://www.ofcm.gov/fmh-1/fmh1.htm) Station supplied

65

Columbia Weather Systems MicroServer


The Weather MicroServer from Columbia Weather Systems connects to the Mac via a TCP/IP. The MicroServer agent requires that you enter the name or IP address of the station that you wish to communicate with. Rain values are computed via WeatherSnoops Rain Computer using the to- tal rain accumulator provided by the station.
Value Barometric Pressure (Relative) Barometric Trend Extra Humidities Extra Temperatures Forecast Indoor Dew Point Indoor Heat Index Indoor Humidity Indoor Temperature Outdoor Dew Point Outdoor Heat Index Outdoor Humidity Outdoor Temperature Rain Rate Rain This Month Rain This Year Rain Today Rain Total Solar Radiation Ultraviolet Index Wind Chill Wind Direction Wind Gust Wind Speed Source Computed from absolute pressure and elevation Unavailable Unavailable Unavailable Unavailable Computed Computed Unavailable Unavailable Computed Computed Station supplied Station supplied Computed Computed Computed Computed Station supplied Station supplied Unavailable Computed (see http://en.wikipedia.org/wiki/Wind_chill) Station supplied Computed (see http://www.ofcm.gov/fmh-1/fmh1.htm) Station supplied

66

67

A5 WeatherSnoop Plug-in Architecture


Introduction
A plug-in is a special software bundle that uses a well-documented interface to extend an existing software package. Plug-ins are used to expand the functionality of a program in a modular, piecemeal fashion, and they do so in a seamless, transparent manner. They can be added or omitted without aecting the operation of the application as a whole. In order to allow 3rd party developers to extend WeatherSnoop in new and interesting ways, weve designed the WeatherSnoop Plug-in Architecture. Using this bolt-on ap- proach, developers can add new functionality quite easily to WeatherSnoop. Plug-ins can range from simple, non-windowed add-ons to elaborate, multi-windowed extensions. In order to create a WeatherSnoop plug-in, you need to be familiar with Apples Xcode development environment. You will also need to have experience with the Objective-C programming language and the Cocoa framework.

The WSKit Framework


All code related to the WeatherSnoop Plug-In is located inside of a Cocoa framework named WSKit. Any plug-in created for WeatherSnoop must link against this framework. The framework includes a number of protocols and classes that are documented below. Weve made the development of a plug-in as easy as possible by providing several sample Xcode projects of working plug-ins that you can use to both study and to start from.

The WSPlugIn Protocol


The simplest plug-in consists of a single Objective-C class, subclassed from NSObject. All that is required is for your class to adopt the Objective-C protocol WSPlugInProtocol which is dened in the provided header le WSPlugIn.h. This protocol contains a set of well-dened Objective-C methods that your class is expected to implement:

Load and Unload Methods


These methods are called by the WeatherSnoop Plug-In Manager shortly after your plug- in has been loaded and just before it is unloaded, respectively. You can use these meth- ods to do any setup and tear-down that may be necessary for your plug-in. - (void)didLoad;
68

- (void)willUnload;

Description Methods
These two methods are for informational purposes, and should return the proper name of your plug-in, as well as a description, respectively. - (NSString *)name; - (NSString *)description;

Agent Event Methods


These two methods are called when the user starts or stops the agent, respectively. They are also called right after the plug-in is loaded so that it is clear what the state of the agent is when the plug-in comes alive. Depending on your plug-ins functionality, it may want to begin or end certain operations based upon these events, so these methods are provided. You can simply write them as empty methods if your plug-in doesnt need them. - (void)agentStarted; - (void)agentStopped;

Menu Methods
This method returns an NSMenuItem which will be inserted into the PlugIns menu on the WeatherSnoop menu bar. If your plug-in is designed to not require any user interactivity, or you do not wish to have it appear in the menu, return nil. - (NSMenuItem *)menuItem;

The WSPlugIn Service Object


In addition to the protocol, the WSPlugIn.h header le denes the WSPlugIn service ob- ject. This object provides a number of services to your plug-in, and can be obtained by using the class method: + (WSPlugIn *)sharedObject;

The Weather Site Object


WeatherSnoop organizes all information about a particular weather station setup in an object known as a WeatherSite object. Data such as temperatures, humidities, wind, as well as the station location, name and coordinates are part of the Weather Site object. It can be obtained by sending the following method to the WSPlugIn service object:

69

- (WeatherSite *)weatherSite; Weather-related properties such as temperature, humidity, wind, etc. are stored within the WeatherSite object, and each property is represented by an Objective-C object of the class WSProperty. Please see the example plug-in project, as well as the WeatherSite.h and WSProperty.h header le which are part of the WSKit bundle.

Executing a Query
You can use the WSPlugIn service object to execute queries against the database. This is useful for obtaining historical values of weather properties. The method to execute the query is as follows: - (NSDictionary *)executeQuery:(NSString *)sql; You can pass any standard SQLite query as a parameter. The resulting dictionary con- tains the following keys:

Key
result

Type
NSArray

Value
Array of WSProperty objects represent- ing the result set

returnMessage

NSString

A description of the result of the query

returnCode

NSNumber

An integer code indicating the result

Determining the License Type


Your plug-in may want to enhance or limit its behavior based upon the type of license that the user is running. The following method can be used by your plug-in to determine the license type. If the user is running WeatherSnoop Lite, the method returns TRUE; otherwise, it returns FALSE: - (BOOL)isLiteLicense;

70

Logging with the TBLog Class


Plug-ins can utilize WeatherSnoops logging facility by using the TBLog class. The class returns a singleton object when the sharedLog message is sent to it. That object then becomes the receiver of messages sent to it. The class provides a simple method which sends a string to the WeatherSnoop log win- dow: - (void)log:(NSString *)message level:(TBLogLevel)level; The log level, dened in TBLog.h, corresponds to the log level slider found on the agent window. You can determine at what level your message will appear in the log by passing the level to this method. A handy macro, TBLogFormat(), can be used to pass a format string and a variable number of arguments, like so: [[TBLog sharedLog] log:TBLogFormat(@Grabbing image from %@, server) level:TBLogLevelInfo]; Consult the source of one of our example plug-in projects for more information.

71

72

Tee-Boy 441 Saint Paul Avenue Opelousas, LA 70570 www.tee-boy.com info@tee-boy.com


73

You might also like