Problems with X10 transmitter

Having problems? Maybe others have had the same problem too. Post HouseBot technical issues here.
Post Reply
acheslow
Senior Member
Posts: 168
Joined: Wed Aug 20, 2003 3:23 pm
Location: Bothell, WA
Contact:

Problems with X10 transmitter

Post by acheslow »

I have a PCS 6-button transmitter that I use to set lighting scenes in my den. The transmitter is programmed so that one and only one of the buttons is lit up at a time to show the currently selected scene - i.e. If Scene A is On and I select Scene B then the Scene A button will turn off and the Scene B button will light up. Each scene is assigned it's own X10 address and is invoked with an On command.



I am trying to duplicate this functionality in a Housebot Theme but have not figured out how to do this. I tried using a multi-state button to control the Power State property of each scene device but the buttons do not toggle - i.e. turning one On does not turn the others Off. I tried using a task to send Off commands to each of the other devices but this was slow and adds traffic. What I really want is just a way of changing the state of the multi-state button without sending X10 commands onto the powerline.



I also tried setting up a Null software device with appropriate X10 properties to track the currently selected scene. I used multi-state buttons in my theme to control the X10 Unit Code property of this device so that only one unit code (scene) could be active at a time. Internally this worked fine but when I changed the X10 Unit Code nothing was sent out on the powerline. If I manually set the Power State of this device to On (even though it was already On) then the proper command was sent out. So I setup a task for each scene that looks like:



If ('A00 - Current Scene.X10 Unit Code' is Equal '10') Then

Change 'A10 - Scene A.Power State' to 'On'



But this task was never executed when I set the X10 Unit Code property of the 'A00 - Current Scene' null software device to 10. And in my error log I was getting these errors:



CX10UnitCodePropertyValue::CompareValues() : Property value types do not match!



So it looks like I am not able to test/compare for X10 Unit Code values. Am I doing something wrong in either of these two approaches or is there another solution to the problem that I haven't tried yet?



By the way, this is my first post and I just wanted to say that this is a really great system and I'm looking forward to learning more about it.



Thanks,

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

Post by ScottBot »

Alan,



I think I understand what you are trying to do. I wasn't sure if the existing PCS transmitter was still a part of the configuration, or if you were bypassing it entirely.



Instead of trying to talk you through a configuration, I threw together a very simple example of what I believe you are trying to do. Note that the Dummy X10 Device in the sample is really a NULL Device and will do nothing!



This sample config has a NULL Device for variables (like you were doing), a Dummy X10 Device (mentioned above), a Task for controlling the X10 Device from the changes in the variables, and a Theme to show some examples of Multi-state buttons and indicators.



You can download the sample config here

To install the sample, select 'File/Import Configuration' from the main menu and select the downloaded file. Then restart HouseBot.



I hope this helps,

Scott
acheslow
Senior Member
Posts: 168
Joined: Wed Aug 20, 2003 3:23 pm
Location: Bothell, WA
Contact:

Post by acheslow »

Thanks for the quick response Scott. I got it to work by following your example of using Alpha variables to track the current scene, rather than X10UnitCode variables. The task could not compare the value of the X10UnitCode variable to an explicit X10 Unit Code - you might consider this a bug.



I also initially had problems with the Theme tracking the status of the physical PCS transmitter because I thought that the test for:



If ('A09.Power State' is Equal 'On')



would only be true when the Power State property changes to On, but it seemed to evaluate as True whenever the property was On. I solved this by creating an X10 Controller device and testing for:



If ('X10 Controller.Composite Property' is Equal 'A;9;On')



which did what I want.



Thanks for your help,

Alan
Post Reply