I use the ADIOcelot plugin written by Michael McSharry and not HomeSeer's plugin. I also am
still using HomeSeer 1.7.43 so I have no idea how the newer versions work in terms of reliability and stability.
But, given that I have been using this setup for many years and it has been rock solid for me (thus my reluctance to change).
I use the Ocelot for digital inputs and outputs as well as conditional timers and logic for those devices and X-10 devices.
The way I do this is setup my X-10 devices and add-on modules (SECU16I and RLY8) in the Ocelot using CMax. I also program the Ocelot in CMax to do the many functions listed
HERE.
I then go to the setup of the mcsPlugin and select the input/output add-on modules as well as any "variables" that I created in the CMax coding process (mainly flags to tell me a "condition's" state).
Then the HomeSeer devices for the add-on modules and variables are automatically created (as shown in the screen shot). I manually create the X-10 devices.
There is an option to synchronize all of this automatically (as shown in the screen shot below) but I have never used it as I prefer a manual method so I know exactly what is going on between HS and the Ocelot.
I really like the CMax code, especially its use of timers.
(Click on Picture for Full Sized Image)
ADIOcelot Setup Screen Shot
(Click on Picture for Full Sized Image)
ADIOcelot Setup Screen Shot
(Click on Picture for Full Sized Image)
ADIOcelot Setup Screen Shot
(Click on Picture for Full Sized Image)
ADIOcelot HomeSeer Devices
Here is an example of using CMax to look for an "armed away" signal from my Caddx security panel, wait a period of time, and if the garage door is still open, chirp the siren and flash the lights in the garage, then close the garage door.
Note that some commands are repeated to make sure they are implemented, but I found this is unnecessary.
0332 - IF Module #1 -SECU16-I Armed_Away Turns OFF // When System Armed in AWAY Mode
0333 - THEN Garage_Away = 1 // Start Garage Away Timer
0334 - IF Garage_Away becomes = 300 // After Five Minutes
0335 - AND Module #1 -SECU16-I Garage_Door Is OFF // and Garage Door Open
0336 - AND Module #1 -SECU16-I Armed_Away Is OFF // and Armed in Away Mode
0337 - THEN Garage, Turn ON // Then Turn On Garage Lights (30 sec Warning)
0338 - THEN Module #2 -RELAY-08 Garage_Siren Turn ON // Then Turn On Garage Siren (30 sec Warning)
0339 - IF Garage_Away becomes = 301 // After One Second
0340 - THEN Module #2 -RELAY-08 Garage_Siren Turn OFF // Turn OFF Garage Siren
0341 - THEN Module #2 -RELAY-08 Garage_Siren Turn OFF // Turn OFF Garage Siren
0342 - IF Garage_Away becomes = 303 // After Three Seconds
0343 - THEN Garage, Turn OFF // Then Turn Off Garage Lights
0344 - IF Garage_Away becomes = 305 // After Two Seconds
0345 - THEN Garage, Turn ON // Then Turn On Garage Lights
0346 - IF Garage_Away becomes = 335 // Thirty Seconds After Warning
0347 - AND Module #1 -SECU16-I Garage_Door Is OFF // and Garage Door Open
0348 - AND Module #1 -SECU16-I Armed_Away Is OFF // and Armed in Away Mode
0349 - THEN Module #2 -RELAY-08 Garage_Remote Turn ON // Close Garage Door by Pressing Remote Button
0350 - IF Garage_Away becomes = 337 // Open Remote Button After Two Seconds
0351 - THEN Module #2 -RELAY-08 Garage_Remote Turn OFF //
0352 - THEN Module #2 -RELAY-08 Garage_Remote Turn OFF //
0353 - IF Garage_Away becomes = 355 // After 18 Seconds
0354 - AND Module #1 -SECU16-I Garage_Door Is OFF // and Garage Door is Still Open
0355 - AND Module #1 -SECU16-I Armed_Away Is OFF // and Armed in Away Mode
0356 - THEN Module #2 -RELAY-08 Garage_Remote Turn ON // Close Garage Door by Pressing Remote Button
0357 - IF Garage_Away becomes = 357 // Open Remote Button After Two Seconds
0358 - THEN Module #2 -RELAY-08 Garage_Remote Turn OFF //
0359 - THEN Module #2 -RELAY-08 Garage_Remote Turn OFF //
0360 - IF Garage_Away becomes = 365 // Reset parameters
0361 - THEN Module #2 -RELAY-08 Garage_Remote Turn OFF //
0362 - THEN Module #2 -RELAY-08 Garage_Remote Turn OFF //
0363 - THEN Garage_Away = 0 // End of Garage Auto Close Program Exit Mode
Here is an even better use for the CMax timer function. For my car monitors I generate an X-10 (I-15) ON command when the vehicle is running and an OFF command when the vehicle is turned OFF. The ON command gets repeated every three seconds.
I use the timer function in the Ocelot as an "occupancy" indicator. It will then set an variable that is sent to HomeSeer. Notice how the timer keeps getting "reset" every time an "ON" is received. Until the timer is let to timeout at 60 seconds does the Ocelot say the vehicle is in away mode.
This has worked flawlessly and will even be accurate if you are moving your vehicle (while trying to get the lawn mower out of the garage for example) for short periods of time.
0391 - IF X-10 House I / Unit 15, ON Command Pair //
0392 - THEN RamchargerTimer = 1 //
0393 - IF X-10 House I / Unit 15, OFF Command Pair //
0394 - THEN RamchargerTimer = 0 //
0395 - THEN RamchargerOccupancy = 1 //
0396 - IF RamchargerTimer becomes = 60 //
0397 - AND X-10 House I / Unit 15, Is ON //
0398 - THEN RamchargerOccupancy = 0 //
0399 - THEN RamchargerTimer = 0 //