Jump to content

SynchroLinc, and ISY994i (Solved)


knight

Recommended Posts

Posted

Update: Problem solved. Working programs attached at bottom of original first post.

 

I'm trying to integrate my CatGenie into the system using a SynchroLinc.

 

The CatGenie runs for a little while, then stops for a little while, then continues. It takes approximately 30 minutes to run, but draws power in a irregular pattern. Below is a representative timeline, where the x's represent drawing power, and the o's represent the unit no longer drawing power. Each x or o represents 1 minute.

 

xxxxoxxxxxxoxoxxxxoxxxoxoxxxxx

 

I want to be able to deal with this programmatically with the ISY994i. I've had some success, but recently it seems I can't figure this out anymore.

 

Basically, I need to run a program when the unit first turns on, then a program after the unit turns off (3 minutes later is fine). It seems that the CatGenie doesn't stop drawing power for more then 3 minutes.

 

Again, I've played with this A TON, and I can't seem to get it working right, it fires off at the wrong time, or at apparently random times (CatGenie has been off for hours, yet it fires).

 

I'm so confused at the moment that there's not much point in listing off my current programs. :( But I'd be glad to answer any questions.

 

Thanks for any help,

Knight.

 

Update: Here are the programs that I am using for this situation, and they work perfectly fine for my situation.

 

Program Content for 'CatGenie Switched On'
If
    Control 'Bathroom / Devices / CatGenie Status' is switched On
Then
    Disable Program 'CatGenie Switched On'
    Run Program 'CatGenie has Started'
Else
    - No Actions -

 

Program Content for 'CatGenie has Started'
If
    - No Conditions -
Then
    Run Program 'Bathroom Fan Control (On)'
    Run Program 'CatGenie Start iRoomba Vacuum'
    Run Program 'Bathrooom (D) Air Freshener'
    Resource 'Notify Knight the Cat Genie has started (Prowl Push)'
Else
    - No Actions -

 

Program Content for 'CatGenie Switched Off'
If
    Control 'Bathroom / Devices / CatGenie Status' is switched Off
Then
    Run Program 'CatGenie Check If Off'  << Keep in mind, this happens several times during a cleaning cycle.
Else
    - No Actions -

 

Program Content for 'CatGenie Check If Off'
If
    Status 'Bathroom / Devices / CatGenie Status' is Off  << Notice we check for the STATUS not the SWITCHing.
Then
    Wait 10 seconds  << See Below
    Wait 3 Minutes
    Run Program 'CatGenie has Completed (Then Path)
    Enable Program 'CatGenie Switched On'
Else
    - No Actions -

 

Last program explained: Remember, after every "wait" command, the ISY re-evaluates to determine if the STATUS of the CatGenie is off, if it's now on, it stops the program, if it's still off, it continues thee program, and allows things to go ahead. I put in a 10 second delay because 2-3 times during the cycle it starts back up within 10 seconds, so there's no point in the delay for 3 minutes if 10 seconds will work.

Posted

Unfortunately, I do not have a synchrolinc, so I can only offer suggestions based on assumptions.

 

Basically, I need to run a program when the unit first turns on, then a program after the unit turns off (3 minutes later is fine)

 

You say that "3 minutes later is fine". Do you prefer later, or immediately?

 

First I would create the two programs that you want to run, one for when the unit turns on, the second for when the unit turns off. These programs would require no conditions, and look something like:

 

if (nothing)

then

do whatever you want

else (nothing)

 

I would then create two programs, one to watch for ON commands from the synchrolinc, the other to watch for OFF. They would look something like:

 

if

control "synchrolinc" is switched on

then

run first program (then path)

else

nothing

 

If

control "synchrolinc" is switched off

then

run second program (then path)

else

nothing

Posted

Because the Syncrolinc turns on and off during the time the CatGenie is running I think you would need first a program which monitors when it turns on:

 

Program 1:

If

Syncrolinc is switched on

Then

Run Then Program 2

Else

 

The second program is just a 3 minute timer which starts when the first program runs true. This 3 minute timer then will restart each time the first program runs true.

 

Program 2:

If

Then

 

Wait 3 minutes

Run Else Program 2

Else

 

When Program 2 turns true it means the CatGenie is running, when it times out it turns false which means the CatGenie is finally done. The 3rd program does what ever it is you want when the operation is over.

 

Program 3

If

Program 2 is True

Then

Whatever you want done while CatGenie is running

Else

Whatever you want done while CatGenie is not Running

 

One catch to program 3 is that each time program 2 is run true it will re run program 3 true. In other words if you have program 3 notify you when the CatGenie is running, you will get an email each time the sycnrolinc turns on during the run process. If this is an issue then create a State variable and insert it into program 2 like this

 

Program 2

If

Then

Set sState variable = 1

Wait 3 minutes

Set sState variable = 0

Run Else Program 2

Else

 

Then change the 3rd program to:

 

Program 3

If

sState variable = 1

Then

Do whatever

Else

Do whatever

Posted

Upon re-reading the original post, as well as the response by TJF1960, I wonder if I may not fully understand the problem here. If the idea is simply to force a 3-minute wait after an OFF command to ensure it is truly off (rather than one of those tempory low-power moments in the normal duty cycle of the CatGenie), I would update the last of my programs from:

 

If

control "synchrolinc" is switched off

then

run second program (then path)

else

nothing

 

To:

 

If

control "synchrolinc" is switched off

and control "synchrolinc" is not switched on

then

wait 3 minutes

run second program (then path)

else

nothing

Posted

If I understand correctly the OP wants a program to run when the CatGenie turns on then another program to run when it has finished. He didn't specify what each program was doing and whether or not it was ok if the programs ran a few times each during the course of the CatGenie doing its thing or if he just wanted each program to run once. Which is why I proposed the programs as I did, and also included the use of the variable in the event he wanted the programs to run only once.

Posted
If I understand correctly the OP wants a program to run when the CatGenie turns on then another program to run when it has finished. He didn't specify what each program was doing and whether or not it was ok if the programs ran a few times each during the course of the CatGenie doing its thing or if he just wanted each program to run once. Which is why I proposed the programs as I did, and also included the use of the variable in the event he wanted the programs to run only once.

 

You are right on target, and understand correctly. :D

 

The CatGenie is a automatic litter box.... After the litter box starts, I want to then send a IR signal to a iRobot Roomba to vacuum up all the tracked kitty litter, turn on the bathroom exhaust fan, and spray a mist of air freshener. At the end of the cycle, I want to send a IR signal to the iRobot Roomba to tell it to return to the dock. I didn't mention these things in the original post because once I figure out how to get the "only run once during the CatGenie's cycle" thing figured out, I can figure out the rest of the stuff, and I didn't want to complicate the post. :D

 

Before I got the vacuum it didn't matter if it sent the signal two or three times because it was only turning on the bathroom fan... which of course, Insteon didn't care that it was sent a on command 3 times. Now that I have the vacuum robot, it sends out the robot twice, which isn't needed.

 

I've got all the physical parts working, I just need to get the programs working correctly.

 

I'll try out the suggestions listed above and post my findings. Much thanks, it looks like this is what I'm looking for!

 

Knight.

Posted
The CatGenie is a automatic litter box.... After the litter box starts, I want to then send a IR signal to a iRobot Roomba to vacuum up all the tracked kitty litter, turn on the bathroom exhaust fan, and spray a mist of air freshener. At the end of the cycle, I want to send a IR signal to the iRobot Roomba to tell it to return to the dock.
Now thats home automation at its finest! Thanks for sharing!
Posted

So....you want something to happen when the catgenie "starts". This indicates an increase in power consumption, correct? This causes the synchrolinc to send an ON command, correct? Then you want something to happen at the "end of the cycle". Can we assume that the catgenie will reduce power consumption sufficiently to trigger the synchrolinc to send an OFF command?

 

But the hiccup is that the catgenie also cycles between high- and low-power modes several times during a cycle, correct? But you have determined that these OFF periods of time are less than 3 minutes, and that any OFF period longer than 3 minutes constitutes an "end of the cycle", correct?

 

And, we now understand that you want the programmed events to occur only once...one at the beginning of a cycle and one at the end of the cycle, but none between...no duplicate events, correct?

 

Can we assume that the programmed events (ie "physical parts"), themselves, have no wait or repeat statements?

 

If the above is correct, I would further modify my suggestions

 

if
control "synchrolinc" is switched on <<and status of "THIS PROGRAM" is false <<then
run "DO WHATEVER YOU WANT" program (then path) <<else
nothing

If 
control "synchrolinc" is switched off <<and "synchrolinc" is not switched on <<then
wait 3 minutes  <<< make sure it is a real OFF
run "DO WHATEVER ELSE YOU WANT" program (then path) <<run "ON PROGRAM" else path  <<< notes: turns first program FALSE
else

 

I am a big fan of exploiting the inherent capabilities of the programming language and use variables only when I can find no other way around doing so. Perhaps I simply enjoy the intellectual challenge, but I find this less complicated.

Posted
The CatGenie is a automatic litter box.... After the litter box starts, I want to then send a IR signal to a iRobot Roomba to vacuum up all the tracked kitty litter, turn on the bathroom exhaust fan, and spray a mist of air freshener. At the end of the cycle, I want to send a IR signal to the iRobot Roomba to tell it to return to the dock.
Now thats home automation at its finest! Thanks for sharing!

 

Thanks for the help!

 

Yeah, so I bought the CatGenie, and the WAF (Wife Approval Factor) went high, then we started getting the granules on our feet, the CG is right next to our bathtub, so then I bought a Roomba. At this point my wife has pretty much decided she's never going to give me a hard time about buying my "toys" anymore. Needless to say the WAF is the highest its ever been. :D It's funny, I bought the CG, then I told her, "Now don't laugh at me." and she gets this big smile on her face, "I want to set it up to where after the CG starts, it'll send out a roomba to clean up all the cat litter, then spritz a air freshener." She looks at me, and goes, "Why would I laugh? That's brilliant! When can you set that up again?"

 

I tried your programs, TJF1960, problem was it delayed sending the signals to the associated devices for 3 minutes, which delayed the bathroom fan, and air freshener. However, in playing with your programs it made me look at one of my other programs, which was causing all of the problems! So my original set of programs worked correctly, and perfectly once I got rid of the first attempted program. In other words... don't program your ISY at 3:00am. :D

 

In case anyone else is interested, I'll post all my programs when I get a chance, within the next 12 hours or so.

 

Knight.

Posted

Knight, yes WAF is very important. And glad you got it figured out.

 

Oberkc, nice job, I love it when it can be broken down to a couple of programs, kodos!

Posted

Just in case anyone cares, I've updated my original post to include the programs I'm using.

 

Once again, thanks everyone for their help!

 

Knight.

Posted

Given that your fourth program will trigger itself when the sensor switches off, I am not sure that the third program is even needed.

 

Nice approach!

Posted

Yes bravo, bravo. I think you win the WAF home automation award of the year here on the forums. That's pure genious, now where can I find the spritzer that you use and a few other tidbits, I suppose you use a whole house ir block system?

 

Alan

Posted
Given that your fourth program will trigger itself when the sensor switches off, I am not sure that the third program is even needed.

 

Nice approach!

 

It's very well possible I wouldn't need the third program. I'll test, and play around and see. :D

 

I suppose you use a whole house ir block system?

 

I don't use a whole house IR block, though I've recently (after this project) started looking into them. As of right now I'm using a Insteon IR Transmitter (Smarthome Item# 2411T). It wasn't easy getting it to register the "Dock" IR command, but perseverance prevailed. I just put the transmitter directly on top of the dock. I've found I don't really need to tell the roomba to go home, it does it on it's own before the CatGenie even gets done running.

 

For the Air Freshener, about 6 months ago, I was at my local Wal-Mart and noticed they had a air freshener on clearance. I think it was around $4-$5, I picked up two. It runs off of three AA alkaline batteries. At this point, I wasn't sure exactly how I was going to make it spray, but I figured for that price, it was worth a shot. While I was playing with it, I noticed it always sprayed a spray about 7 seconds after it got power connected. However, there is a air freshener that is at most stores that has a button on the front to spray on demand, I was going to hook up a IOLinc to that button and a relay if needed, but this one worked by simply applying power. And, I don't have to change batteries.

 

I picked up a 110VAC to 4.5VDC (Three batteries, each battery is 1.5V, that makes 4.5VDC) power brick and plugged that into a ApplianceLinc. Cut off the lines going from the battery holder, to the circuit board, and connect the power brick to the air freshener, ran the wire through the wall and behind where it connects to a ApplianceLinc. Then when I want to spritz the freshener, I have a program that turns on the ApplianceLinc for 10 seconds (it takes about 7 seconds for the unit to get around to spraying the first time) then turns it back off.

 

This one on Amazon LOOKS the same, but I can't guarantee it's the same unit. There are some more in Wal-Mart that appear to be the same unit, just branded different. For $10 though, it's hard to not try it.

http://www.amazon.com/Lysol-Neutra-Fres ... 132&sr=8-6

 

and a few other tidbits

 

What other tidbits are you interested in? :)

 

Yes bravo, bravo. I think you win the WAF home automation award of the year here on the forums.

 

Thank you, we've both been incredibly happy with it. Our bathroom has marble floors, and those cat litter granules were getting very hard on the feet, especially since the CatGenie is DIRECTLY in front of the bathtub! I can walk barefoot in my bathroom again! lol

 

Knight.

 

post-5846-140474160725_thumb.jpg

post-5846-140474160727_thumb.jpg

post-5846-140474160728_thumb.jpg

Guest
This topic is now closed to further replies.

×
×
  • Create New...