Premise AutoPowerUpMode and command delay

Motorola Premise

franky

Member
I was toying with taking advantage of the AutoPowerUpMode on AV devices and having SYS automaticaly turn on devices and switch their inputs. For me, SYS doesn't seem to honor the Delay property in the Command Detail, which can be important for the power-on command. Some of my devices (e.g. my audio processor) needs a few seconds to power up before accepting other commands to switch inputs.

Has anyone succesfully used the command delay? And is it working in a scenario that uses AutoPowerUpMode?

Related question: Has anyone come up with good ideas for automatically powering down the devices? I was thinking of having property change scripts to watch certain device properties that might be indicators of the device being in use, and powering down after some reasonable timeout.
 
Has anyone succesfully used the command delay? And is it working in a scenario that uses AutoPowerUpMode?

Related question: Has anyone come up with good ideas for automatically powering down the devices?

i use command delay with a gc100 and it works great. i don't use auto power up, it sounds useful though. does it also autopower down devices too? when i get home i'll post a script showing how i implement a similar feature...
 
Based on my very little experience with this feature, and after reading this older post http://www.cocoontech.com/forums/index.php?showtopic=9828, I don't think this will auto power down a device.

It's interesting to hear that the Command Delay works for you. In my case, these are serial commands rather than IR. I wonder if that makes a difference. I'm interested in hearing more about how you are using command delay.
 
Here's the code I use to do something similar to what you are saying. The code is placed under a property change script for my receiver under home. Keep in mind I don't have a multizone switcher, but use an rs232 controller A/V receiver (Onkyo TXNR905).

Also, for the CommandDetail items (count, delay and percent interval) I verified that count and delay do nothing on my system for my rs232 controlled receiver.

Perhaps, you need to wait for the receiver (or whatever the device is) to acknowledge command completion before sending another command to it? If you look at the leviton zwave post, 123 documents a very nice method for doing this using a class called jobqueue that he includes with his leviton zwave module. I would borrow some of 123's code assuming your driver is a module and not an add in. 123 did a heck of a "job" on that module :)

Code:
with Home.Theater.AVDevices
	set oProjector = devices.CustomDevices.VPLVW200

	if not this.CurrentSource is nothing then
		select case this.CurrentSource.ObjectID

		case this.BoundObject.VCR.ObjectID
		.Projector.SetValueForced "CurrentSource", oProjector.VideoIn1
		.DVD_Player3.SetValueForced "PowerState", false
		.DVD_Player2.SetValueForced "PowerState", false
		.DVD_Player.SetValueForced "PowerState", false
		
		case this.BoundObject.PVR.ObjectID
		.Projector.SetValueForced "CurrentSource", oProjector.VideoIn1
		.DVD_Player3.SetValueForced "PowerState", false
		.DVD_Player2.SetValueForced "PowerState", false
		.DVD_Player.SetValueForced "PowerState", false
		
		'Game - Bluray
		case this.BoundObject.Game.ObjectID
		.Projector.SetValueForced "CurrentSource", oProjector.VideoIn1
		.DVD_Player3.SetValueForced "PowerState", true
		.DVD_Player2.SetValueForced "PowerState", false
		.DVD_Player.SetValueForced "PowerState", false
		
		'Input1 - HTPC
		case this.BoundObject.Input1.ObjectID
		.Projector.SetValueForced "CurrentSource", oProjector.VideoIn2
		.PVR.SetValueForced "MenuNavigation", sys.Schema.Device.MenuNavigationValues.Menu
		.DVD_Player2.SetValueForced "PowerState", false
		.DVD_Player3.SetValueForced "PowerState", false
		.DVD_Player.SetValueForced "PowerState", false

		'Input2 - AUX2 - HD DVD
		case this.BoundObject.Input2.ObjectID
		.Projector.SetValueForced "CurrentSource", oProjector.VideoIn1
		.DVD_Player2.SetValueForced "PowerState", true
		.DVD_Player3.SetValueForced "PowerState", false
		.DVD_Player.SetValueForced "PowerState", false
		
		case this.BoundObject.DVD.ObjectID
		.Projector.SetValueForced "CurrentSource", oProjector.VideoIn1		
		.DVD_Player.SetValueForced "PowerState", true
		.DVD_Player2.SetValueForced "PowerState", false
		.DVD_Player3.SetValueForced "PowerState", false
		system.addTimer 15, "this.lowerSub10dB = True", 1, this.Name

		case this.BoundObject.Tape1.ObjectID
		.DVD_Player2.SetValueForced "PowerState", false
		.DVD_Player.SetValueForced "PowerState", false
		.DVD_Player3.SetValueForced "PowerState", false
		
		case this.BoundObject.Phonograph.ObjectID
		.DVD_Player2.SetValueForced "PowerState", false
		.DVD_Player3.SetValueForced "PowerState", false
		.DVD_Player.SetValueForced "PowerState", false
	
		case this.BoundObject.CD.ObjectID
		.Projector.SetValueForced "CurrentSource", oProjector.VideoIn1
		.DVD_Player2.SetValueForced "PowerState", false
		.DVD_Player.SetValueForced "PowerState", false
		.DVD_Player3.SetValueForced "PowerState", false

		case this.BoundObject.Tuner.ObjectID
		.Projector.SetValueForced "CurrentSource", oProjector.VideoIn1
		.DVD_Player2.SetValueForced "PowerState", false
		.DVD_Player3.SetValueForced "PowerState", false
		.DVD_Player.SetValueForced "PowerState", false

		'Music Server Video1
		case this.BoundObject.Video1.ObjectID
		.Projector.SetValueForced "CurrentSource", oProjector.VideoIn1
		.DVD_Player2.SetValueForced "PowerState", false
		.DVD_Player.SetValueForced "PowerState", false
		.DVD_Player3.SetValueForced "PowerState", false

		'Internet Radio Video2
		case this.BoundObject.Video2.ObjectID
		.Projector.SetValueForced "CurrentSource", oProjector.VideoIn1
		.DVD_Player2.SetValueForced "PowerState", false
		.DVD_Player.SetValueForced "PowerState", false
		.DVD_Player3.SetValueForced "PowerState", false

		'USB Video3
		case this.BoundObject.Video3.ObjectID
		.Projector.SetValueForced "CurrentSource", oProjector.VideoIn1
		.DVD_Player2.SetValueForced "PowerState", false
		.DVD_Player.SetValueForced "PowerState", false
		.DVD_Player3.SetValueForced "PowerState", false
		end select
	end if
end with
 
Based on my very little experience with this feature, and after reading this older post http://www.cocoontech.com/forums/index.php?showtopic=9828, I don't think this will auto power down a device.

It's interesting to hear that the Command Delay works for you. In my case, these are serial commands rather than IR. I wonder if that makes a difference. I'm interested in hearing more about how you are using command delay.

Yes, generic serial drivers do not honor the Command Delay as we assumed you'd be handling special timing with code, just like you'd have to handle incoming commands from the device with code. Command Delay is only used in generic IR devices.

Also, AutoPowerUpMode does not power down devices.

On a side note, the code that I'm preparing to post for the CoffeeShop UI has (among other things) better power handling for both on and off.
 
Back
Top