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
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
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
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.
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.
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.
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'... ?
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'.
Copyright 2007, Sand Hill Engineering Inc. All rights reserved.
Last modified: August 20, 2007
Michael Ferguson, firstname.lastname@example.org