I’m using the word Tripped in the Vera / UPnP sense to mean that is the state of the overall device (or plugin in this instance). For something simple like a light switch: Tripped = On and Not Tripped = Off. Think of this is a UPnP system variable.
It has nothing to do with timestamps as such. The timestamp is something that PLEG creates and tracks to do it’s magic. Basically it’s the last time PLEG saw that particular variable (system or customized plugin) change - the timestamp is not a value supplied by the plugin.
IF you set a keyword (gc_keyword = something) - then GCAL behaves like a light switch and turns on (Tripped) and Off (Not Tripped) the UPnP system variable.
If you do not set a keyword (i.e. gc_keyword is blank) then GCAL does not ‘turn on / off’ in the UPnP ’ variable (unless gc_triggerNoKeyword is set true) . Instead it toggles a custom state (to indicate that an even has occurred) and your code has to decide if the event name is of interest.
There are two separate and distinct behaviors in the plugin. What you are calling ‘tripped’ is a third meaning a change in timestamp in PLEG on a single variable. What I’m suggesting as a workaround is that you can combine two GCAL conditions - Tripped (in the UPNP sense) and gc_EventName = your_desired_event and setting gc_triggerNoKeyword to true.
In PLEG this could be something like (from memory):
- create a trigger ‘t1’ for “Event matches Keyword” Device:Tripped (since we have gc_triggerNoKeyword to true)
- create a trigger ‘P1’ for gc_nextEvent
Then create a condition that is C1 --> t1 AND p1== “YOUR_EVENT_NAME”. Notice all caps in the event name
The condition would be true when t1 first becomes true and would not be true on a restart as t1 would not have changed (gc_retrip is false).
I may be able to make this simpler with a change to the plugin but cannot look at it for a few days.
P.S. It mat even work without the p1 and having t2 be “Event has specified name” Trigger when event has name: “YOUR_EVENT_NAME”
and set C1 --> t1 AND t2. I cannot be sure about this as some Vera execution semantics may get in the way - but worth a try.