XTension Logo

Online Tutorial.

The YoYo adds Caller ID and Paging to your System

UPDATE: The YoYo is no longer in production ! You may still find them on auction sites, or in odd-lots, but it is getting more difficult. As an alternative, you may want to build the Weeder Caller ID box which is much cheaper, but a lot more work.

The YoYo by Big Island is a device which you connect between your telephone line and your Mac's AppleDesktopBus. It listens to the line and captures the Caller ID information sent from your phone company.

If you set it up to do so, it can pass that information to XTension, where it can be incorporated into your Log, or conditionally trigger scripts.

XTension can also command the YoYo to send a page to a Pager, and conditionally send a text message !

For example, while you're away, the house could send you a message periodically, saying that "the house is OK", or whenever there is a real problem like the A/C 'short cycling' or 'intruder in Garage'.

Following is a simple picture of the physical setup for this tutorial :

Note that you don't really need to use two Macs.

This is just to show that you could.

As expected, this example is as 'generic' as possible. You will have to make some modifications for your specific machine/user names etc.

Setting up the YoYo

The YoYo is connected to several different things:
The AppleDesktopBus, (ADB)
The Telephone Line,
a 'wall wart' power transformer (not shown above)
and optionally, a Telephone handset.

The connections on the back of the YoYo are clearly marked, so this shouldn't be much of a problem.

Setting up the YoYo Software

The YoYo software comes with an installer. Therefore you should only need to follow the instructions it gives.

It will put several things in your System Folder, including a folder in the Extensions folder called "Big Island". This folder contains several things, but the one we're interested in is the "AppleScripts" folder.

You must download the 'plug-in', and move the file called "XTension Log" into the Big Island:AppleScripts folder.

Download the XTension Log script

Modify the XTension Log Script

This script is executed by the YoYo software each time that a call comes in. It even does this when the Caller ID information is not known, or an error occurs.

In this example, we either write the Caller ID information to the XTension Log, or we write the YoYo Error Message.

You may need to modify this, either to take out the "of machine" phrase, or to change the name of the Mac where XTension is running :
You do not have to type this script in, just download the plug-in.

If XTension is located on the same Mac as the YoYo, then you don't need to specify
"...of machine...."
yoyo script

Please note that if you intend to use multiple Macs, you must turn on "File Sharing " and "Program Linking", in the "Sharing Setup" control panel anytime you want to allow Macs to send "AppleEvents" to each other.

Now you should restart the Macintosh.

On restart, you will see a new green YoYo Icon in your Finder Menu Bar.

If you pull down the YoYo menu, and select "YoYoLand", you will see this dialog:

The only thing we care about here is the "Caller ID" button.

Tell YoYoLand about your special Caller ID script:

YoYo must be told that you have a special AppleScript that you want to execute whenever an incoming call is detected.

If you click on the Caller ID button above, (one with the Bell), you will see this dialog:

If you have already placed the XTension Log script in the Big Island folder, then YoYo will offer that name in the Pop-down selection.

Click-select the "Run AppleScript" box, and make sure that XTension Log is selected.
Caller ID

So what happens now ?

Every time someone calls you on the line that the YoYo is connected to, you will get a message written to the XTension Log that announces the Caller ID information.

This is specially nice just like that, but there are other things that you could do with the Caller ID information.

For one, you could have the XTension Log script 'filter' the messages better.
Maybe just ignore the Error messages, and maybe detect that 'theFirstName' is "Mother", or "Ralph", and announce this over your wireless speaker system.

How about paging ?

The other major feature of the YoYo is that it can be told to 'dial out' over the same phone line and optionally send a numeric or alpha-numeric message.

If you use Apple's Script Editor to view the Dictionary of the "YoYo Event Mgr", you will see that there is a specific verb for sending a 'page'.

What is not obvious, is that the telephone number for the pager is specified in your YoYo PhoneBook. You must create an entry, with a specific name. Then, when you say 'send page .... To "Michael", the YoYo will use that phone number.

yoyo mgr dictionary

Now, let's assume that you have a Wine Cellar and you want to have your system page you whenever you're not at home and someone goes into the Wine Cellar.

You simply create a unit script which tells the YoYo to page you :

You will probably want to add some logic to this script to prevent sending more than one page for every 'intrusion'... ?

yoyo page script

Food for thought:

You might want to create a 'handler' in your Attachments script which could be called from any unit script and thus move some of the conditionals to that function.

(If you do, please submit it to us, and we'll put it in the "Goodies" page with kudos to you)

For example, Greg Satz has already made up the "YoYo Watcher", an Applet which opens the Log file created by the YoYo, and looks for certain events. When entries are found, it will execute a user defined AppleScript.
Download the "YoYo Watcher" here.

Please let us know if there are any errors with either the tutorial or the 'plug-in'.

Back to Home Page
More Ideas

Copyright 2007, Sand Hill Engineering Inc. All rights reserved.

Mac Made

Last modified: August 20, 2007
Michael Ferguson, webmaster@shed.com