Panel Parameters

Have an idea for a new feature? Voice your opinion here.
Post Reply
tlaverty
Member
Posts: 5
Joined: Fri Jun 13, 2003 4:07 pm

Panel Parameters

Post by tlaverty »

Scott,



I'm impressed with HouseBot and am converting my home automation system over to it (was using HCA). It would be nice if I could pass parameter(s) to a panel, paticularly the target device. I'm setting up a bunch of lights with the main on/off controls on one page and then a separate popup panel for the dim control for each light. If I were able to pass the target device to the popup it would save a lot of programming by using a single dim panel like a subroutine.
ScottBot
Site Admin
Posts: 2790
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

I like your idea on passing parameters to reuse panels. I could add options for specifying a Device, Property, and Value. When configuring the Theme controls, they could choose "Panel Value" to dynamically use the values passed.



I'll add this to the list. Unfortunately, it may be a couple of updates into the future before you see it.



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

Post by acheslow »

I'm trying something similar - having a single main background panel with controls that I want on every screen and then having popup panels for each of the individual screens. I was hoping that a 'previous panel' button on the background panel would close the popup panels but it seems that the button must be on the popup panel itself. Is there a way around this?



Thanks,

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

Post by ScottBot »

One way, although a but of a hack, would be for a button on the main panel to execute a Task. The Task could have a single "Control Remote" action to "Close Panel".
Scott
acheslow
Senior Member
Posts: 168
Joined: Wed Aug 20, 2003 3:23 pm
Location: Bothell, WA
Contact:

Post by acheslow »

Scott, thanks, I did think of this before but couldn't figure out how to have a task close whichever panel was last opened. I'd have to have a separate 'close panel' task associated with a separate button for every panel in my theme.



But then I realized I could have a single task with a series of 'close panel' actions to close all of the popup panels in my theme. This way I can have a single button that closes the frontmost popup panel no matter which one it is.



Thanks,

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

Post by ScottBot »

That would work.



If you really need to nail the exact Panel, you could have each Panel set a Property Value with it's name when opened (and clear it when closed). Then have a button calling a Script Device that will call CloseRemotePanel() using the Property Value of the Panel name.
Scott
ScottBot
Site Admin
Posts: 2790
Joined: Thu Feb 13, 2003 6:46 pm
Location: Georgia (USA)
Contact:

Post by ScottBot »

It works for me when I enter it manually. However, there is a limit in the Device API that will only transfer 250 bytes for a Property value. In my case, this is severely truncating the list when replicated.
Scott
acheslow
Senior Member
Posts: 168
Joined: Wed Aug 20, 2003 3:23 pm
Location: Bothell, WA
Contact:

Post by acheslow »

Thanks again Scott. I had thought of that too but couldn't figure a way to associate the panel to the software remote. Otherwise wouldn't the CloseRemotePanel() call close that panel on all of the remotes?



Please don't spend much time on this though as I think I will just use the panels and buttons as intended rather than trying to hack a workaround to do something that wasn't part of the original design. I'll just go back to putting a copy of each common button on every panel.



However, for a future feature request please consider the following:
  • An option for 'Close Panel' (task or button) to close:
    • The calling panel or
    • The top panel or
    • A user-specified panel
  • An option for 'Open Panel' (task or button) to:
    • Popup a new panel or
    • Replace the calling panel or
    • Replace the top panel or
    • Replace a user-specified panel
Thanks,

Alan
Post Reply