Overview:
eLightMaster is a program that calculates the rise and set of the
sun and moon for your Location, or any location you select, along with the moon's
phase (intensity). eLightMaster then sends the appropriate commands
to the X10 FireCracker to turn your main lamps on and off, and adjust your moon
lamp to simulate the real moon.
What this means is that your tank inhabitants will experience both a more natural
daylight period and night time. Some nights eLightMaster will simulate
a full moon allowing your moon lamp to run at full intensity. Then as phase of the
moon changes with the days, eLightMaster will decrease the intensity
of your moon lamp accordingly. It also means that on some days the moon will not
be visible at night, and on those nights your tank will be dark. eLightMaster
will also allow you set an offset from the sunrise/sunset times to facilitate your
viewing hours. eLightMaster now features a reverse photoperiod option.
When selected, Light 6 will operate in the reverse photoperiod of Light 1 (as adjusted
by Light 1's offset). This will allow those who utilize reverse photoperiod sumps
and refugiums to maintain the proper on/off cycle as the sunrise/set times change.
X10 Firecracker: The device which will actually control your lamps
is the Firecracker. This little
device requires that you connect it to a free serial port on your computer. Then,
you plug your moon lamp into the included X10 Lamp Module, and your main lamps into
Appliance modules. When eLightMaster sends the commands, the FireCracker
will transmit those commands via your house wiring to the Lamp and Appliance Modules.
License:
You may use eLightMaster for 15 days to evaluate the product, after
that point you must either register it or discontinue it's use, and delete all copies.
You can register eLightmaster at http://cerealport.net/lightmaster
The cost of registration is:
$14.95 USD eLightmaster basic
$19.95 USD eLightmaster with WaveMaker
$5.00 USD upgrade from eLightmaster basic
Requirements:
In order for eLightMaster to control the modules, you must have
it running on a PC 24 hours a day. eLightMaster works with Windows,
Linux, Mac, and OS/2. When running Windows or OS/2 you should have at least a Pentium
133. For Mac and Linux I don't have any experience from which to recommend a minimum
processor speed.
You also need JAVA and the communications API for your platform. Links to JAVA
and the comm API can be found at http://cerealport.net/lightmaster.html
Installation:
Install JAVA.
Unzip the eLightMaster archive. When it unzip's it will create
a directory named elightmaster. As an example, if you unzip eLightMaster
to your "Program Files" directory, the structure will be x:\Program Files\elightmaster.
Installing the comm API is pretty simple. Here's what you do for Windows. Unzip
the commapi archive. Copy the comm.jar to your eLightMaster directory,
copy the javax.comm.properties file to your java/lib directory. Copy the win32comm.dll
file to the windows/system32 directory. That's it. If you're using Mac, Linux, or
OS/2, check the docs in the archive for specific instructions.
Next, download the X10 JAVA libraries from the following URL:
http://cerealport.net/x10command.zip
and unzip the file into the eLightMaster directory.
Running eLightMaster for the first time:
Try using one of the included *.bat files. You may have to modify it for your
setup.
run.bat works for Windows Java 1.3.x and 1.4.x
the batch file basically issues the command:
java -cp .;comm.jar;X10Command.class LightMaster
As soon as eLightMaster starts, click on the SETUP tab.
Next click on EDIT. If you've copied the files to the correct directories,
you should be able to click on the "Com Port" drop-down list and select
a port. If not, go to the Troubleshooting section at the end of this file.
Configure location:
Just to get started, select one of the predefined reefs from the "Reef"
drop-down list. It will auto-fill the Lat, Lon, and Time Zone. Do not change the
Time zone as it will mess up the computed times. The creating a new location, set
the Time Zone to the correct one for that location, not where
you are. This way eLightMaster can compute the proper rise/set times.
Enable a Light:
Now click on the button of the light you wish to enable, the button text (Moon,
Light 1, Light 2, etc) will turn green indicating that tat light is enabled.
Select the house code (A-P) and device number (1-16) drop the drop-down lists.
Set Offset: OFFSET and BRACKET Times are entered in MINUTES
If you plan on using the built-in sunrise/set timer and want to offset the on/off
times from the actual sunrise/set times, enter your offset in minutes. Your light
will now turn on/off at sunrise/set as offset by this value. Also, the Moon Light
will be offset by the same amount as that configured for Light 1. Assure that the
Offset button is in the Offset position.
*** make sure that there is always some number in the Offset/Bracket field,
even if you dont use it. You turn it off with a 0, and number higher than that turns
it on.***
Set Bracket:
If you want a light to Turn on before sunrise and turnoff after
sunset, then click on the Offset button for that light. The button
will rename itself as Bracket. Now enter the bracket offset you want. This
feature is useful for creating dawn/dusk simulations with actinic bulbs. Entering
a negative number will cause the light to turn on after sunrise and
off before sunset.
Here's how to do it:
Assign Light 1 to your longest duration lamp..normally actinics.
If you enter a "30" in the "offset" entry field and then
select "bracket" by clicking on the "offset/bracket" button,
then Light 1 will turn on 30 min prior to sunrise and turn off 30 min after sunset.
Now suppose you want to offset your lighting period so that you can view the
tank after you get hime from work. Here's what you do. Again, assign Light 1 as
your longest duration lamp. Enter the offset in the offset entry field, an entry
of 360 will delay the rise/set by 6 hours. Make sure the offset/bracket button says
"offset".
Assign Lamp 2 as your next longest duration light. Lets say it's the Left side
MH and you want it to turn on 30 min after the actinics. Just select "bracket"
and enter "-30" into the offset entry field. Light 2 will now turn on
30 min after Light 1 and turn off 30 min before Light 1.
Continue this scheme for the rest of your lights.
As you can see, Light 1 has an important role to play here. If Light 1 is set
to "bracket", then it and any other light will bracket around the unmodified
sunrise/set times.
If you set Light 1 to offset and set any other light to bracket, the bracket
light will operate off the offset of Light 1, allowing you to use the Offset feature
to adjust the viewing hours, and the bracket feature to simulate sunrise/set.
Set Fixed Timer:
If you wish to just use eLightMaster as a fixed timer, check the
check-box for the light you are configuring, and enter the on and off times in the
XX:XX format. Even if you are not using the Fixed timers, 00:00 must be entered
in this block. It is important that the format be adheared to as eLightMaster will
error out if it's not. (to be fixed in a later release)
Finish up:
Enable and configure the remaining lights. When done click SAVE.
- You must now exit eLightMaster and restart it for the changes
to take effect.
Other eLightMaster Features:
Manual operation:
You can turn any light on or off via the buttons on the STATUS tab. First,
unlock the buttons by deselecting the LOCKED button. Now any lamp can be
toggled on and off by clicking on it's respective button.
LOCKED button:
Enabling this button prevents manual operation of the lights via the buttons
on the STATUS tab. The state if this button is saved when you click on the
SAVE button on the SETUP tab.
Displaying the rise/set times as altered by the offset:
Resting your cursor on any of the Light buttons on either the STATUS
or SETUP tabs will display the adjusted rise/set times.
DST:
Used only when the Time Zone is set to LOCAL and the REEF
to "My Reef". Enabling this will automatically adjust eLightMaster's
time to your local Daylight Savings Time when applicable.
Reverse Photoperiod:
There is a second Checkbox by Light 6 (to the left of the House Code) which enables
this feature. When selected, Light 6 will operate in the reverse photoperiod of
Light 1 (as adjusted by Light 1's offset). This will allow those who utilize reverse
photoperiod sumps and refugiums to maintain the proper on/off cycle as the sunrise/set
times change. This feature does not work if Light 6 is in the manual timer mode.
WaveMaker:
(All times in the WaveMaker section are entered in seconds)
Features:
* Enable up to 6 pumps
* Set on duration for each pump (in seconds)
* Sequential and random operation
* Tides: Enter a number between 1 and 100 in the Intensity field and during the
tidal periods (2 hours around moonrise/set) the frequency of the pumps will increase
that amount. Example: If all pumps are set for 4 min (240) entering 25 will cause
pumps to change every 3 min or 25% more often.
* Feed: Enter the duration in seconds for the Feed Cycle. Press the Feed
Button to suspend the pump operation for the duration of the feed cycle.
* Quiet: default "dead" time between pumps in seconds. Normally
set to Zero.
* Toggle: When selected this feature turns pump 1 into an independent on/off
cycle. For use with the X10 Universal Module and ball valves.
Even if you dont use the wavemaker function, you can plug your pumps/powerheads
into X10 and use the Feed option. No more forgetting to turn your pumps back on
after you feed your tank. (I still need to implement this for pumps which stay on
all the time)
WaveMaker Setup:
To setup or make changes, press the <EDIT> button. Press <SAVE>
when done.
Each pump can be enabled just like the lights, just click on the desired pump and
it will turn green signifying that it is enabled.
For each pump enabled, select the correct House and Device code from the pull down
list.
Next enter the "On" time in SECONDS. If you want PUMP1 to be
on for 3 minutes before it turns off and the next pump come on then enter 180 into
the field.
If you enable the "Night" feature by checking the block, then
the pump will not operate between sunset and sunrise. Use this feature to turn
off a pump or two during the night hours if desired.
Tides: If you wish to simulate the tides, eLightMaster has
a feature to do just that. To enable it, check the Tides checkbox and enter
a number between 1 and 100 into the Intensity field. The intensity increases
the frequency of the wave action in the amount equal to the number you enter. So,
entering 10 into the Intensity field will increase the wave action frequency
by 10%. Typically you would not want to go higher than 25%
Toggle: Mose people will not use this feature. It is designed to "toggle"
PUMP1 on and off at the rate of the time entered for PUMP1. Entering "60"
into the PUMP1 time field will cause it to run for 1 munite on and 1 minute off.
This is designed to be used with the X10 universal module and motorized ball valves.
Quiet: This is usually either left blank or set to 0. (except for Constant
Pump Operation, see below) Entering a number in this field will cause a delay or
quiet time from the time one pump turns off and the next pump starts.
Feed: eLightMaster can be configured to turn off your wave
action when you feed your tank. Enter a number in the Duration field in
the amount of time you want the pumps to stay off. When the FEED button
is pressed, all enabled pumps will turn off for the amound of time specified in
the Duration field. Once that time has expired, the wavemaker cycle will
restart within 1 minute. No more forgetting to turn your pumps back on.
Constant Pump Operation: Even if you dont use eLightMaster
as a wave maker, you can still use the FEED feature. Simply plug your pumps into
one or more modules. The modules can all be the same device code since we desire
them to be turned on and off at the same time...or they can be different.
To enable the pump to be on All the time, enter a 0 in the time field for that
pump.
**CAUTION** If you are ONLY using the wave maker for constant pump
operation, then you MUST enter the number 60 in the Quiet Field.
Failing to do this will cause eLightMaster to hog the cpu. As
long as you have at least one other pump set up as a wavemaker, then you
do not need a Quiet entry.
Setting Up the FireCracker:
The trick to FireCrackers and X10 in general is finding a low noise circuit.
Since X10 commands are riding on top of your normal house voltage, line noise can
be a problem. One of the main causes of noise interference is electronic ballasts.
These can be isolated from your X10's buy purchasing a Plug-In Noise Filter and
plugging your ballasts into the noise filter, and the filter into the X10 appliance
module. Works great.
Ok, back to the FireCracker. You need to plug the FireCracker into an unused
comm port, or at least one which you will be able to share with another program.
When eLightMaster is running, the other program cant, and vise versa. Basically
if you have a serial port for your Palm Pilot, or some other seldom used device,
you can plug the FireCracker In-Line. It is probably best to use a dedicated port
though.
Next, plug your TM-751 Power Line Interface into a power plug, preferably on
the same circuit as your aquarium power. This will help with the possible noise
problem. Use your remote control to test out the circuit. The TM-751 comes defaulted
to device A1. Turn on and off A1 via your remote. If it works, it's time for the
next test.
The next problematic thing is dimming. What happens is that if there is too much
radio frequency noise in the area (EMI), The TM751 will not know when to stop dimming
and will just dim the light right off.
Set your lamp Module for A2 and plug it in to an outlet. Now plug an incandescent
lamp into the lamp module. Twist the lamps on/off switch a few times until
the lamp turns on. Now, press A2 on your remote and turn the lamp off, then turn
it on again. If that worked, press the Dim button on the remote and slowly
dim the lamp. If all goes well, you will be able to vary the intensity of the lamp.
If there is too much noise, the lamp will dim right off.
If the lamp dims off, there are a few things you can try. The first thing is
to completey retract the antenna on the TM-751 and angle it on a 45 deg. Now try
the dimming test again.
If that doesn't work, systematically change the location of the TM-751 to different
outlets. Trying the dimming test each time. Eventually you should find an outlet
where it works.
TROUBLESHOOTING:
1. Install JAVA....you've done that.
2. Download eLightMaster from my page. Unzip it from the desktop and it will create
an elightmaster directory.
3. Download the Comm API from the sun page. We need to extract a couple of files
from that archive.
4. Assuming it's the Windows Comm API, open the archive up with WinZIP. We are looking
for 3 files.
- The first one, win32com.dll, should be copied to the \windows\system32 directory.
Remember that Windows doesnt show *.dll files when you try the view the directory
by clicking on it. Go to the DOS prompt to see the *.dll files if you want to make
sure you copied it there.
- The next file is javax.comm.properties. Copy this file to the lib directory of
JAVA. It will be something like \Program Files\Javasoft\....\lib
- The last file is comm.jar. Copy that to the eLightMaster directory.
5. Download the X10Command.zip file from my page. Unzip the X10Command.class file
to the eLightMaster directory.
If you run eLightMaster and it comes up but it doesnt display any comm ports, then
one of 3 things is wrong.
1. There really are no comm ports available. Do not run eLightMaster and the X10
software at the same time. eLightMaster requires exclusive use of the com port.
2. javax.comm.properties is not in the correct place. make sure you find the lib
directory of Java and copy it there.
Error:
java.io.FileNotFoundException: C:\ProgramFiles\Java\j2re1.3.1\lib\javax.comm.properties
(The system cannot find the files pecified)
4. win32com.dll is in the wrong place. Some installations if Windows require the
win32com.dll file to be in the \windows\system, \windows\system32, or Javasoft\....\lib
directories...dont ask my why, it's a Microsoft product. Copy the win32com.dll to
all those directories and restart.
Here's one version of error you will see:
Error loading win32com: java.lang.UnsatisfiedLinkError: no win32com in java.library.path
Exception occured in main <> of java.lang.Object
java.lang.NullPointerException
at LightMaster.JAqual1 <unknown source> <-----------Any error in JAqua1
means the com port isnt initializing
at LightMaster.N <Unknown Source>
at LightMaster.<init><Unknown source>
at lightMaster.main<Unknown Source>