Is there a way to determine if Vista 20p STAY or AWAY was initiated?

I have Vista 20p and I am trying to create a scene that would play an announcement through my Sonos speakers when AWAY arm is initiated. I do NOT want the announcement to be played when STAY arm is initiated. The problem is that in both cases, alarm goes into Exit Delay mode first, regardless if I arm it to AWAY or STAY mode. Only after exit delay passes (60 seconds) it goes into the AWAY/STAY mode. I would like to have an announcement play only when I hit AWAY mode on the panel but since in both cases alarm first reports “EXIT DELAY” status, I can’t think of a way to distinguish which arm mode was selected. I looked in the programming manual for Vista 20p and I do not see a way to disable exit delay in STAY mode which would solve my problem. Any suggestions?

Thanks.

Just use the armed detailed state as your trigger then select the one you want, device armed away, or device armed stay.

[quote=“SteveZ, post:2, topic:186446”]Just use the armed detailed state as your trigger then select the one you want, device armed away, or device armed stay.[/quote]Thanks, but I want to trigger the event before the detailed state changes to Away or Stay which happens only after Exit Delay state. When I press arm to Away I want to play a message via my Sonos system during the exit delay; and I do not want to play that message when I arm to Stay since it will be a late night when kids are in bed. The problem is that Exist Delay happens in both situations Arm:Away or Arm:Stay which is why I am looking for a way to identify which action was initiated but before the system state is already armed.

it will trigger as soon as soon as you put the alarm to stay or away, at least mine does

[quote=“SteveZ, post:4, topic:186446”]it will trigger as soon as soon as you put the alarm to stay or away, at least mine does[/quote]Do you have Vista 20p as well? Not sure how yours does that. I used this code to get the detailed arm mode an write it to the log:

local state = luup.variable_get(“urn:micasaverde-com:serviceId:AlarmPartition2”, “DetailedArmMode”, 98)
luup.log(“Found alarm panel in state " … state … " when running logging scene.”)

Regardless if I arm to stay or arm to away, the first detailed state that alarm goes into is ExitDelay since this is what I see logged in the log:

“Found alarm panel in state ExitDelay when running logging scene.”

After the exit delay period (60 seconds in my case) the state changes to either Stay or Away but at this point it is too late for me since I need to know immediately. Are you sure yours reports the state as soon as you arm Stay or Away? Do you have an exit delay? Where does it show the state immediately in the plugin or are you using another app?

I will try the virtual relay approach I think.

I have a vista 15p using version 2.45 of the AD2USB plugin. as soon as I put the alarm in either stay or away it triggers the scene I have setup for it, right away, not at the end of the delay. looking at the partition device in the dash board it alternates between stay and exit delay for the status when I arm for stay.