The Amiga Computer: A Viable
Alternative in Home Automation?
|I am the Network Administrator of two Windows NT networks of over 25 machines for a television station ( WDTV-TV5). I also maintain a network of Amigas there as well, consisting of six machines. Both in work and in my spare time, I write software for the Amiga which includes programs that automate certain functions of WDTV's operations, as well as my home.|
This article is not to promote the Amiga in anyway, nor do I work for Amiga Inc. It is also not meant to be a comparison with other systems, although a few comparisons may be used to make a point. I am simply a more-than-happy user who wants to share my experiences with using the Amiga in a home automation (HA) environment.
First, a little about myself since this is the first article that I've written for HomeToys. I am the Network Administrator of two Windows NT networks of over 25 machines for a television station ( WDTV-TV5). I also maintain a network of Amigas there as well, consisting of six machines. Both in work and in my spare time, I write software for the Amiga which includes programs that automate certain functions of WDTV's operations, as well as my home.
Amiga users are well known for their fanatical following, making Mac fanatics look pale in comparison. Little known by most is that new Amigas still may be purchased with, and/or upgraded to 68060 and PowerPC processors and combinations thereof. Also, there are now 533mhz PPC chip clones available in demo quantities and the new PreBox (due 4th quarter '98) will contain four (yes, four) 200mhz or better 604e PPC chips. Phase 5 is the company behind this amazing machine. One last note is that Amiga dealers are actually reporting Amiga sales increasing significantly over the past several months.
The Amiga also has the luxury of having the largest freeware/shareware collection in the world. It is known as Aminet and at last count had over 6gb of freely available software.
I normally would not go into the OS in an article about Home Automation, but since it is the O.S. which makes the Amiga the ideal HA machine, I will explain a little bit about what makes it so powerful.
AmigaDOS was one of the very first pre-emptive multi-tasking operating systems coming out shortly after OS9. The big difference was that AmigaDOS was a 32bit OS and had a GUI interface. Meanwhile in 1985, PCs were still stumbling with only 16 colors and Apples were still black and white while the Amiga was doing a whooping 4096 colors! Top it off with built in 8 bit four channel digital sound with decent digital speech synthesis. It was years ahead of other platforms and in some respects, still is (like in it's ability to play back full screen high resolution animations with a relatively slow processor!).
AmigaDOS is currently at v3.1. It can still boot in as little as 512k ram, but that would not be very practical. Many programs will run in as little as 2mb without any CPU intensive disk caching, while still fully multi-tasking.
AmigaDOS not only has its own scripting capabilities, but also includes a much more powerful language called ARexx. It is based on the Rexx language developed by IBM and is somewhat compatible to Rexx which is available on OS-2 systems. The beauty of ARexx is this: Most Amiga programs include a built in ARexx port so that it may be completely controlled externally by another application or script. A script may be written to control many programs simultaneously, or just a single program. It can even hand data back and forth as it goes. This is quite powerful and I've yet to see anything that even comes close on other platforms. ARexx is even powerful enough to build complete stand-alone applications with a GUI interface that may even be compiled. It is easy to use and most people can learn the basics in just a few days. As you can imagine, these capabilities make for a very powerful home automation computer, and an easy way to create powerful custom programs or macros.
For those who may be interested in what ARexx looks like, here is very small Arexx script example:
/* This is an arexx script example. */
address EZHOME send A1 A2 A5 on /* Tell the CM11A daemon to turn A1, A2 and A5 on */
address INFRAREXX VID_CH_1 /* Tune VCR to channel 18... */
address INFRAREXX VID_CH_8
address INFRAREXX VID_REC /* ...and then record */
curtime = time() /* 18:00:00 */
say 'Your recording has started' /* Print to screen */
/* Have Amiga speak via built in
speech synthesis */
address command 'echo >speak: "jim, your recording has started at"' curtime
/* END PROGRAM */
Because the Amiga's OS is very efficient, it does not take a lot of CPU power to handle tasks effectively. As an example, here are my system specs.
As you can see, a mediocre system at best, but is able to handle more jobs simultaneously than a Pentium 166 or maybe even a P200. The ARexx port in each program is what allows the increased flexibility of AmigaDOS as compared with mainstream Windows systems.
There were many different models of Amigas made throughout the years starting with the original Amiga 1000 from 1985. A 32 bit system running a Motorola 68000 at 7.14mhz. It had 512K RAM as well as an optional 8088 PC card for running MS-DOS programs.
Next came the Amiga 500 also running a 68000 @ 7.14 mhz. More video RAM through a redesigned custom graphics chip (Agnus) made the A500 the ultimate gaming machine. Perhaps this is where the Amiga got its reputation as a "game machine".
The A2000 was available with the 68000 or 68020, video slot for internal genlock or other video devices (the Video Toaster was a popular one), a CPU slot for future expansion as well as 3 ISA slots and 4 Zorro 2 slots (The Amigas 16 bit expansion slots). Even though the A2000 is old, third party companies are still making accelerator CPU cards in 060 and PPC flavors transforming the A2000 into a very modern machine.
The A3000 and A4000 are listed together since both have very similar architectures. These machines are considered high end workstations and available in both desktop and tower variations. Both feature the newer Zorro 3 32 bit slots. The A4000 tower features, a most useful, two video slots instead of the usual one.
The A1200 is a wonderful home computer that is not much larger than a standard computer keyboard. The A1200 features a 68EC020 CPU plus 2mb video RAM. The CPU is upgradable to a 200Mhz PPC chip if desired. This machine is very popular and very capable of useful things. The A1200 also contains a Zorro 3 slot.
This is where Home Automation computers start to look alike. Most systems are likely to use one or more combination of this hardware simply because it is inexpensive. The biggest difference of course, is the software. Unfortunately, there is not much HA software currently available for the Amiga. Hopefully, this is a situation that will soon change.
I first bought the CP290 under the impression that it was a two way unit. Wrong! I kept it anyway as it made a good test tool, and there already was Amiga software available to run it (X10Commander and CyberX10, both available from Aminet), so it got me started. A few months later I purchased the CM11A knowing there was no software available to run it on my system. No problem I thought, I'll write something to run it (see below).
My Amiga controls many things automatically, 24 hours a day, 7 days a week, 365 days a year just like many other HA computers. It has not been turned off in over 3 years (with obvious exceptions). If I would keep my hands off of things and quit tweaking, it would most likely run many months without crashing.
EZHome is the CM11A controller. It runs quietly in the background and monitors for signals coming from the CM11A or from ARexx. When it gets one from the CM11, it checks a list of presets to see if any match the X10 code. If any do, it then executes the corresponding command(s) which can be programs, ARexx scripts, soundfx, or whatever you want it to do. For example, if I send a C16 ON to the powerline, my computer goes on-line and grabs my email, and then speaks to me if I have any messages. Optionally, I could display the messages on my family room TV screen if desired. Also, there are no limits to how many commands may be executed. The X10 commands (macros) may also be sent in response to incoming X10 signals. Examples are:
Limitless possibilities here.
EZCron is the main system
timer. Events may be scheduled to run in any combination or number of times/dates within a
single event. It supports ranges of times and dates and is very flexible. For example, it
allows me to run an auto getmail script every hour at 10 minutes after from the 6th
through the 10th days of the month and between 6am-8:10pm, if I so desired. It would also
allow me to only monitor the motion sensors within given time/date ranges. EZCron can also
send almost any Amiga program direct commands, at given times and dates. As you can surely
imagine there are lots of possibilities here.
Future versions of EZHome will contain EZCron timer functions.
FoneCtrl is a small ARexx daemon that monitors my PhonePAK card (the PhonePak is an answering machine/voice mail/FAX card that fits within the Amiga). This allows me to execute programs and/or scripts from DTMF tones. ie: I can change my VCR or DSS receiver channels and even force the VCR into record mode from the telephone. Equally so, I can run a script that makes my Amiga log onto the Internet and email me my IP address at my work place. I can then get into the machine easily and retrieve files, or check HA status or EZHome log files. Other functions might include getting temperature status of my home and adjusting the thermostat. It would even be easy to have my computer email me at given time intervals with status reports. This also allows me to control X10 addresses directly via DTMF as well.
FoneCtrl is a custom Arexx script which I wrote in about 30 minutes. If anyone wants it, I would be glad to email it to you.
EZCID is a caller ID program. It was created by myself and Gene Heskett. It is very basic and simple at only 5 kb, what it can do though, and this makes it very powerful, is send messages to AmigaDOS for any other program. It can send an ARexx message on the ring(s) and/or on the CID data. If the phone rings, it could flash my lights on and off while speaking the callers name, if I so desired, and/or write a logfile of who the caller was, or any number of imaginable things.
InfraRexx is an infrared daemon. It is freeware and is available from Aminet.org. The schematic is included and can be easily built for around $15. It plugs into the Joy2 port. Basically, what it does is give the user an arexx interface for sending and receiving infrared codes. It can learn and resend virtually any code and there is no limit to the amount of codes learned. Because it also receives, any infrared remote can be used to control the computer. They may also be converted to X10 codes and sent directly to the EZHome daemon, or whatever. It also becomes very easy to convert X10 codes into infrared, as you might have guessed. As an example, I am currently converting these codes into infrared:
Many HA enthusiasts are also computer programmers and/or hardware hackers. If off-the-shelf do-it-all software is what you want, then the Amiga is probably not for you. But, if you love a computer that is flexible beyond belief, powerful at multitasking, easy to use GUI and powerful scripting, and most importantly, easy customization, then you should give the Amiga a hard look.
Other HA projects I have been considering are:
I will wrap this up now, but I want to note that my Amiga is not only a dedicated HA controller, but my 17 year old uses the computer to browse the web when he gets home from school; My wife uses it to browse the web and type things she needs at work, and I use it to develop software on. The machines handles this stuff very well with no noticeable slowdown. I do not believe that there is a more user-friendly system available with the powerful scripting that AmigaDOS offers.
In future articles, I plan on discussing ARexx programming techniques in the HA enviroment as well as going into more depth on some of the issues discussed in this article. Until next time, happy computing.