Using W800 and USB PowerLinc together

General HouseBot discussion. Any issues that don't fit into any of the other topics belong here.
Post Reply
spike5884
Senior Member
Posts: 129
Joined: Thu Aug 26, 2004 8:08 am
Location: WI

Using W800 and USB PowerLinc together

Post by spike5884 »

I got the W800 and USB PowerLinc hooked up. In the help for the W800 it says:
To reflect the received RF X10 command back onto the power line, a simple Task like the one shown below can be used. This Task will reflect ALL X10 commands back on the power line. It can be modified to limit the commands that are reflected.

If ('X10 Controller.Composite Property' is Not Equal 'Never Match') Then
Change 'X10 Controller.Composite Property' to %%X10 Controller Composite Property%%'


The PowerLinc does not have a Compsite Property. Is this possible with the PowerLinc?



Thanks,

Scott J.
spike5884
Senior Member
Posts: 129
Joined: Thu Aug 26, 2004 8:08 am
Location: WI

Post by spike5884 »

Never Mind. I figured it out. I had to create a seperate X10 Controller device. I was thinking that the X10 controller in the help was the PowerLinc not a seperate device created from it.
ScottBot
Site Admin
Posts: 2790
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

I was just going to let you know that the X10 Controller was a Device, not a Hardware Interface.



Glad you figured it out.
Scott
spike5884
Senior Member
Posts: 129
Joined: Thu Aug 26, 2004 8:08 am
Location: WI

Post by spike5884 »

Ok, I got this all set-up. Works fine for a while and then it starts looping. The light will turn on, then off, then on, and so on. I have to disable the task to stop it. The log says that the task is changing the property.

When I was setting up the task, I wondered to myself: what keeps the task from looping? So, what should I look at to fix this issue?



Thanks,

Scott J
ScottBot
Site Admin
Posts: 2790
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

spike5884 wrote:The light will turn on, then off, then on, and so on.
Sounds cool. My kids would love it. :wink:



Without the specifics on how your Task is setup, I can't say for certain. But here are a few tips that might help. If they don't help resolve the problem, let me know how the Task is setup.
  • Tasks can't call themselves. If a Task is running and it is called, the execution of the Task is skipped. It could get really ugly if this were allowed.
  • Tasks can change Property Values that will trigger other Tasks or even the same Task after it has finished. This is probably what you are seeing.
  • To make sure Tasks don't get triggered when a Property value changes, but changes to the same value, be sure to uncheck the Allow Same Value Changes checkbox of the Property. This will prevent a Task from Executing when a light has changed from On to On, for example.
  • To prevent a Task from executing automatically, be sure to set the Execution Mode of the Task to Manual. Manual Tasks will not be evaluated (or executed) when properties in the condition list change. They can only be executed when called by other Tasks, Scripts, or SW Remotes.
If you have two (or more) Tasks that are testing and changing the same Property Values, you can find yourself in the flip-flop situation. A solution is to try and combine the Tasks into a single Task that uses 'Else If' blocks. So something like

Code: Select all

If Device.Property = Yes Then
   Device.Property = No
Else If Device.Property = No Then
   Device.Property = Yes
Scott
spike5884
Senior Member
Posts: 129
Joined: Thu Aug 26, 2004 8:08 am
Location: WI

Post by spike5884 »

Well, my kids(2 rabbits) just look at me funny when it happens.



My setup follows what is in help. I was going to attach a zip of pics of my set-up, but could not figure out how to attach it.



I tried turning on tracing, but then it does not do it.



Thoughts??



Thanks,

Scott J.
ScottBot
Site Admin
Posts: 2790
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

Scott,



I received your email and sent you back a response.
Scott
spike5884
Senior Member
Posts: 129
Joined: Thu Aug 26, 2004 8:08 am
Location: WI

Post by spike5884 »

Scott,

The problem is definitely with the Task. You seem to be changing the
Composite Property value back to itself whenever it changes.

If you give me a bit more info on your setup and objective, I should be able to outline the Task for you.

I'll take a stab at anticipating your answer. I know you have a W800,
PowerLinc and X10 switch (A3). I'm guessing you have a wireless switch or motion detector (A1) that is picked up by the W800 in which you want to change the state of an X10 switch through the PowerLinc. If this is the
case, you need to setup a Task like this:

If (X10Controller.Composite Property is Equal "A;1;On") Then
Change A3_Lamp.PowerState to "On"
else if (X10Controller.Composite Property is Equal "A;1;Off") Then
Change A3_Lamp.PowerState to "Off"

Hope this helps,
Scott


Scott,



I posted the private email answer to me back into the forum for others that may have a problem like this.



I am basically trying to do what is outlined in the help for the W800. I quoted that section in my first post. I am using RF x10 remotes and I want to reflect the x10 command coming across the w800 back to the actual x10 modules via the USB PowerLinc. According to the help, I just have to set up a task like I have it. It seems you are telling me that I have to set-up a separate task for each x10 device I want to control via the W800. Please tell me that that is not true.



Thanks,

Scott J.
spike5884
Senior Member
Posts: 129
Joined: Thu Aug 26, 2004 8:08 am
Location: WI

Post by spike5884 »

I changed my task to be something like your example. Thought crossed my mind that I can put the control of all my x10 modules(3 at this time) in one task using elseifs. So far this task is working great. Maybe the help should be updated to have an example like the one you gave me instead of the current one.



As a side suggestion. Couldn't HB be changed so that it can handle the relaying from the W800 to some x10 interface without the need of setting up a task? Maybe a property could be added to the X10 called something like "Relay to". You then can select the x10 interface. Just a thought. :)



Thanks,

Scott J.
ScottBot
Site Admin
Posts: 2790
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

Now I understand what you're trying to do and your Task makes sense now (it really had me stumped).



If all you want to do is to directly transfer the Wireless signal to the power line, you don't really need HouseBot. An X10 wireless base module will do that for you.



If you are planning on doing more than just directly transferring the signals through, you will need a separate Task, or multi-conditioned Task to handle the different events (as you have done now). For example, I have a wireless X10 switch that has several actual switches that I use through the W800 as well. However, depending on which switch (address) is pressed, I call different Tasks to set the lighting level differently and even effect which lights get turned on. Granted that is my personal situation and may not apply to you, but if you plan on expanding the functionality a bit, you may want more Tasks to handle the different cases.


Maybe the help should be updated to have an example like the one you gave me instead of the current one
You're probably right. The help can always use improvement.
Scott
Post Reply