Homeseer plugin

Xlobby plugin development

Postby drodegeb on Tue Dec 12, 2006 4:37 am

I am interested in creating an interface for my system, but have a couple of questions.

I have Homeseer Phone, I currently system I have a web page to display my caller ID and messages on the page, and have the ability to playback the messages. How would I display the last 10 caller id, as well as any voice messages, and provide a button to play and erase the messages with xlobby and the homeseer plugin?
drodegeb
 
Posts: 9
Joined: Tue Jan 04, 2005 2:44 am

Postby fletch on Tue Dec 12, 2006 5:14 am

drodegeb wrote:I am interested in creating an interface for my system, but have a couple of questions.

I have Homeseer Phone, I currently system I have a web page to display my caller ID and messages on the page, and have the ability to playback the messages. How would I display the last 10 caller id, as well as any voice messages, and provide a button to play and erase the messages with xlobby and the homeseer plugin?


I'm gonna need to ask for some help with this one. I don't have HSP, and actually I've never used or seen it. Does it create virtual devices with any of this information in it (Last x CID, messages waiting)? Did you write the web page that displays this information or is it a default feature of HSP?

How do you currently listen to voicemail messages? Through the phone, through a web page, or some other method?

Let me know, and I might be able to help with this.

Aaron
fletch
 
Posts: 64
Joined: Sun Feb 05, 2006 1:11 am
Location: Castle Rock, CO

Testing

Postby pete_c on Tue Dec 12, 2006 11:10 pm

Fletch, great HS plugin!

Just started to test it over this past weekend. Works well. Tested only one HS device with basic on/off functions. Currently I am still testing HS2 server and still using HS1. Getting ready to migrate all HS1 to HS2. Migrated the two HS servers to 2003 a few weeks back.

Is there a way to port the sound generated by X-Lobby over to HS2 Server? I currently have tested it to work by running X-Lobby in server mode on the HS2 server and that works well but would prefer to keep the HS2 server a bit lighter.
pete_c
 
Posts: 2
Joined: Sat Sep 02, 2006 4:41 am

Postby fletch on Wed Dec 13, 2006 3:33 am

Pete,

I'm not sure I understand what you're asking to do. Why do you want to output the sound from xlobby on machine A over to machine B which runs HS? Are they physically seperated, one in a basement and the other in an office for instance?

I don't have an experience with doning this but 2 ideas come to mind. The first being wireless tranmitters, something similar to this;
http://www.rca.com/product/viewdetail/0 ... 36,00.html
The second option would be to setup a shoutcast server on your network and stream the winamp output from the xlobby box to and instance of winamp running on the HS server.

But agaiin I don't know anything about either of these 2 methods, so I'm not sure what it would take to do it or how it might work out.

Aaron
fletch
 
Posts: 64
Joined: Sun Feb 05, 2006 1:11 am
Location: Castle Rock, CO

Postby drodegeb on Wed Dec 13, 2006 3:38 am

It has a couple of Virtual devices for last caller, etc.. And I could have scripting update other virtual devices with the other info.

I put together a web page to display various information, including last 10 callers, and all voice messages, with a button to play the messages. The ASP/vbscript page uses the HSP functions to get the mailbox, and get all of the messages.

I saw another plugin xlobby plugin for scripting, would it be possible to pass through a reference to HS somehow? This would open up all of the functions available in homeseer.

Thanks.
drodegeb
 
Posts: 9
Joined: Tue Jan 04, 2005 2:44 am

Postby fletch on Wed Dec 13, 2006 4:04 am

drodegeb,
Well the plugin will allow you to run script on the homeseer server, using the Run_Script function. The problem being is that the only things the xSeer plugin can display are items represented by HS device values, status or device strings. So what I'm currently thinking is if you have the ability to put the data into an ASP page those same functions could be used in a script to populate Homeseer devices. The script could be triggered either by a button in xlobby or a recurring event in Homeseer. From this the plugin could display the info in xlobby.

As far as you question about playing the messages on the xlobby box, I looked at the HS Phone docs, and it appears messages can be played back on any connected speaker client. So again I think you could use the plugin's ability to run a script on the server to play back the messages, with the playback being sent to a HS Speaker client instance running on your xlobby PC.

The plugin does not have any method to pass the homeseer reference from itself to an outside script. But the methods the plugin uses to connect to homeseer remotely are documented here;
http://homeseer.com/support/homeseer/We ... motely.htm
and discussed in these posts;
http://board.homeseer.com/showthread.ht ... p?t=103842
http://board.homeseer.com/showthread.ph ... omeseer+vb
So yes I believe you could use the xScriptNG plugin to further open up Homeseer if the plugin does give you all of the functionality you need.

Aaron
fletch
 
Posts: 64
Joined: Sun Feb 05, 2006 1:11 am
Location: Castle Rock, CO

Postby drodegeb on Wed Dec 13, 2006 4:12 am

Can the Run_Script function pass a value to the script?

Also, can dynamic buttons be created, based on values from a device?
An example would be.

Message from 'John' (Button1)
Message from 'Mary' (Burron2)

Each button would call the same script, but calling the function passing the filename for the message.


Sorry quite the noob on xlobby, and you're plugin.
drodegeb
 
Posts: 9
Joined: Tue Jan 04, 2005 2:44 am

xlobby & HS Sound

Postby pete_c on Wed Dec 13, 2006 4:56 am

fletch wrote:Pete,

I'm not sure I understand what you're asking to do. Why do you want to output the sound from xlobby on machine A over to machine B which runs HS? Are they physically seperated, one in a basement and the other in an office for instance?
But agaiin I don't know anything about either of these 2 methods, so I'm not sure what it would take to do it or how it might work out.

Aaron


Yes they are physically separated. I currently have the TS running xlobby with the option of using its internal sound to the room its in or optionally porting its sound over to HS to play over all of the home speakers. So I can use WinAMP on HS server and have it get its sound from WinAMP running on Xlobby?
pete_c
 
Posts: 2
Joined: Sat Sep 02, 2006 4:41 am

Postby fletch on Wed Dec 13, 2006 5:39 am

"Can the run_script function pass a value to the script?"
Yes, but I don't know if it will do as you may hope. If you have a script that requires parameters the plugin utilizes the homeseer RunEx function.
When you setup an event in xlobby the plugin command asks for 3 things. The plugin, the plugin command and variables to pass to that command. The variable section for this particular command will take 3 bits of information. The script name you want homeseer to run, a function within that script you want to run, and finally any parameters to pass to the script.
So if I wanted to run the Getmessage sub that needs the mailbox name passed as a parameter in the Phonestuff.txt script file, the Run_Script function variable line would look like this;
"Phonestuff.txt, Getmessage, Mailbox1"

I don't know if it is possible to have xlobby directly pass a variable to a plugin function. I really haven't experimented with anything like that. I've tended to try and make homeseer do the hard work for me instead. But it wouldn't surprise me if it can be done.

"Can dynamic buttons be created, based on values from a device?"

Again this gets into skinning, and it's not my strong suit by any stretch. But here's my idea on it. You could have a fixed number of buttons, say 10. This could correspond to 10 virtual devices (named voicemail1, voicemail2, etc.) in Homeseer, these devices would have a device string stating either "message from x" or empty. Each of the 10 buttons text could then be set using the "plugin>xseer>voicemail1-10" variables. I suspect you might even be able to extend this using concept by using XScriptNG plugin to hide the buttons that are empty, but I don't know this for sure.

Aaron
fletch
 
Posts: 64
Joined: Sun Feb 05, 2006 1:11 am
Location: Castle Rock, CO

Postby fletch on Wed Dec 13, 2006 6:08 am

Pete,

I see you mentioned that you've already tried running xlobby in server mode on the HS box. But you're goal is to minimize the load on that box, so the whole shoutcast thing is probably no better than the XNet. xlobby will suport multiple instances of winamp, so if you can add a sound card to the TS you could run 2 winamps. The second card feeding a wireless transmitter that could be hooked into the whole house audio system.

Aaron
fletch
 
Posts: 64
Joined: Sun Feb 05, 2006 1:11 am
Location: Castle Rock, CO

Postby kuntakintay on Thu Dec 14, 2006 4:41 am

fletch wrote:drodegeb,
Well the plugin will allow you to run script on the homeseer server, using the Run_Script function.


Another way would be for you to create a hs event to do the function, and then have xseer call that event. For example, I have events for itunes pause, resume, and next (also controlled through insteon keypadlinc button presses). In xlobby I have a button that has the xlobby event to Run_Event and the hs event name as a variable. Another example of this would be to arm a security system. I just do it through the HS event, and then call it through xlobby via the xseer run_event.

I really havent found much in my setup that I can't do with this plugin with some simple event setups.

Fletch, still would love to see the dim percentages able to be displayed with different images (mentioned previously). Also, dont know if this is due to my extensive xlobby items on some of my pages (I am overlaying several squares (due to my room multiple dimensions) that call xseer to display a yellow box for on or clear for off (so I can click the box and turn on)) but am really experiencing slowness with xlobby response on the skin pages that have xseer references. This is even true if running xlobby right off the hs server and having the speaker connected to localhost. Is there any way to optimize the performance of the plugin a bit?
kuntakintay
 
Posts: 27
Joined: Fri Apr 30, 2004 8:50 pm

Postby fletch on Thu Dec 14, 2006 5:46 am

Toby,
I as well as others have noticed the same slowness occurring when the number of Homeseer images on any one screen starts going up. One thing you can look into doing is if you have multiple representations of devices that function in concert, is to create a single image that displays all devices. For instance if you have three recessed lights in a room on a single switch, since all these lights are on/off at the same time instead of putting 3 plug-in generated images on the screen, create one image file that shows all 3 lights. This way when an update is required the plug-in is only doing it once, not 3 times. Optimization though is still something I need to look deeper into, I'm sure it can be cleaned up and made more efficient. I don't believe that whether the Homeseer server local or remote affects the slowness. From my experience it is entirely the inefficiency of how the plug-in handles images and forces xlobby to update its display that causes the slowness. But it hardly surprises me, I've never written anything more complex then scripts prior to this plug-in.

The dim level images are already in the second version of the plug-in. I hope to finish this up shortly and get it out. I'll be sure to let you know as soon as it is ready. While I'm on the subject here is the current list of additions to the plug-in v2.
- 10 levels of dim images
- 2 way communication between HS and xlobby (an action in HS can now cause xlobby to perform an action, such as play, pause or stop winamp)
- I've changed the way xlobby monitors HS devices in order to be more selective about when it forces xlobby to redraw itself. (This when finished should help with the resources usage/slowness problems.)
- I still need to look at how I'm storing and displaying images. I'm contemplating completely handling image display via a single xlobby object. What this means is having the ability to create a single image object in xlobby that will contain all of the desired Homeseer images. This way xlobby is only told to load a single object and only redraws one object. This is the big hold up right now. I'm still learning how to do the images manipulation.
- Another image related thing I've been asked to look into adding is animated images. Although after seeing the problems some of the more experienced coders here have with displaying them efficiently, this part may need to be put on hold.
- You've asked to have a way to display a value without the % tacked on. (This really will be trivial; I think I'll just add an unformatted version on the device value variable.)

Anyway hope that helps you and others understand where I am with the plug-in. If you have other requests let me know.

Aaron
fletch
 
Posts: 64
Joined: Sun Feb 05, 2006 1:11 am
Location: Castle Rock, CO

Re: Homeseer plugin:?:

Postby anthro on Fri Dec 15, 2006 9:38 pm

I have installed the plugin and can connect to homeseer just fine. My problem right now is that I have Insteon rather than X10 lighting. I would like to perform a "Device Operation" rather than an "X10" command. I see the plugin will allow event triggers etc, but then I would have to create a trigger for each light. Is there a way to do a "Device" control using the location and name? If there is I don't know how to do that.

Second, I am new to GUI development and can undersatnd the "Setup" part of XLobby, but not the Skin editor. I created a post in the documentation section which describes a specific example of how to connect an Event Manager command to a button in the Skin editor. If anyone can explain that I will be able to test a button press in XLobby causes a light to go on/off in homeseer.

Thanks,
- Daniel


fletch wrote:Edit: The plugin can now be downloaded from
http://xseer.fletchnet.us
Instructions are there as well.


____________________________________________________________

I'm writting a plugin that will allow direct Homeseer control from xLobby. At this point I hope to have something stable and ready for testing in the next week or so. I'm hoping to find a couple of pre-beta testers. I'd like to stress though that this is an early test stage, and would prefer that you not run it against your primary systems (Homeseer or xLobby.) If you're interested send me a email through the forum.

If you don't have a test environment, but have suggestions as to what functionality you'd like to see. Post a reply here so the group as a whole can debate the merits. And I'll see what I can add.

By the way, before anyone asks the plug-in will not work with Homeseer 1.x. It uses interfaces provided HS2 that are not available in 1.x. Sorry.

Aaron
anthro
 
Posts: 9
Joined: Fri Dec 08, 2006 9:22 pm
Location: Northeast

Postby fletch on Sat Dec 16, 2006 4:20 am

Anthro,
I don't have any Insteon devices running natively. But I believe that ExecX10 will work to control Insteon devices. I know there is at least one person using Insteon devices natively, he didn't mention any problems with this method. Have you tried it yet?

Aaron
fletch
 
Posts: 64
Joined: Sun Feb 05, 2006 1:11 am
Location: Castle Rock, CO

Postby anthro on Sat Dec 16, 2006 5:41 am

Yes I tried and HS got the commands I issued and reject them. Both X10 and Insteon attempts are failing. With X10 devices you have an X10 address that is A1 etc. With Insteon there is no X10 address, but there is a reference number that is the order of the entry of the devices. So in the Status screen of HS there is a column marked "code." For X10 devices this has A1, A2 etc. and for Insteon devices this is #1, #2 etc.

There is also Location:Device format used in the Control:Device Operation dialogs to control Insteon devices. I tried several types of commands but I have yet to get one to work:

"#1 on"
"Attic:Hall on"
"Device:Attic:Hall on"

Now first I have to get X10 commands to work just as you have in the documentation. I had thought this was working, but now I realize it is not. In Xlobby I chose Plugin xSeer, "Command" Exec_X10, and variables A1 on. In Homeseer I found in the log "Invalid command attempted: A1 on" Without Homeseer I can go to the Command screen and set A1 on and it works. "12/16/2006 12:29:04 AM Info Device: Tap-Linked Device (A1) ON "

The plugin is connected just fine and HS prints out the command it is rejecting in the log so it is not connectivity. I must be doing something wrong.

- Daniel


fletch wrote:Anthro,
I don't have any Insteon devices running natively. But I believe that ExecX10 will work to control Insteon devices. I know there is at least one person using Insteon devices natively, he didn't mention any problems with this method. Have you tried it yet?

Aaron
anthro
 
Posts: 9
Joined: Fri Dec 08, 2006 9:22 pm
Location: Northeast

PreviousNext