Start script parallel vanuit ander script

Forum over Homeseer scripts (DUTCH forum)

Moderators: TANE, Ruud

Post Reply
kriz83
Member
Member
Posts: 200
Joined: Thu Oct 18, 2012 7:37 am
Location: Belgium

Start script parallel vanuit ander script

Post by kriz83 »

Hoi,

Ik ben een AVActivity script aan het maken, waarmee ik mijn AV apparatuur naar de juiste inputs wil schakelen als ik bijvoorbeeld een film op mn STB wil zien.

Alles werkt wel, maar ik zou de functionaliteit (TV/STB/Receiver) graag naar aparte scripts verhuizen, en die dan vanuit 'AVActivity.vb' aanroepen.
Maar, de TV heeft bijv. een power on delay van 7 seconden, de STB 9 etc voordat ze een nieuw commando kunnen aanvaarden (bijv ga naar input HDMI 1)...

Daarom zou ik de afgetrapte scripts (TV/STB/Receiver) in parallel willen draaien. Is dat mogelijk, en hoe ?

Gr,
Kriz83
HomeSeer - PlugWise - RFXComm - Philips Pronto TSU9800/9600/9300
AshaiRey
Senior Member
Senior Member
Posts: 1310
Joined: Mon Feb 02, 2009 5:27 pm
Location: Netherlands
Contact:

Re: Start script parallel vanuit ander script

Post by AshaiRey »

Hoi Kriz,

Dat gaat niet. De scripts worden sequencieel verwerkt. Instructie voor instructie dus. Maar je kan er wel omheen werken zodat je voor je gevoel wel parallel werkt. Neem je hoofdscript en doe daarin alle handelingen. Zet de handelingen die je parallel wilt laten lopen in ieder zijn eigen losse script. Als je nu in je hoofdscript op een punt aankomt dat je het parallelle script wilt starten (met die 9 sec vertraging) maak je een nieuwe event aan dat een vertraging heeft van 9 sec. en dat die dan het parallelle script start. Laat het event zichzelf verwijderen naar gelopen te hebben.
De online webhelp heeft een voorbeeld hoe je nieuwe events script.

Ik hoop dat dit een beetje duidelijk is
Groet,
Bram
Bram
kriz83
Member
Member
Posts: 200
Joined: Thu Oct 18, 2012 7:37 am
Location: Belgium

Re: Start script parallel vanuit ander script

Post by kriz83 »

Hoi AshaiRey,

Bedankt voor je reply !

Dat is inderdaad een mogelijkheid, was er zelf nog niet opgekomen ...

Dus ik maak voor TV/STB/receiver nieuwe events aan in het script, en voer dan deze scripts uit met hs.TriggerEvent.
De scripts worden vervolgens wel parallel uitgevoerd (ik bedoel, TriggerEvent wacht niet totdat het event is gecomplete) ?

Gr,
Kris
HomeSeer - PlugWise - RFXComm - Philips Pronto TSU9800/9600/9300
AshaiRey
Senior Member
Senior Member
Posts: 1310
Joined: Mon Feb 02, 2009 5:27 pm
Location: Netherlands
Contact:

Re: Start script parallel vanuit ander script

Post by AshaiRey »

Klopt bijna.
Het event dat je via een script aanmaakt kan je als een delayed event aanmaken zodat je het ook niet hoeft te triggeren :-)
Ps, je kan aan het event wel mee geven dat het moet wachten tot het klaar is maar dat wil je hier niet.

Zoek hier maar naar eventclass
http://www.homeseer.com/support/homesee ... meseer.htm

Deze maakt je leven ook makkelijker
http://www.homeseer.com/support/homesee ... action.htm

Hier heb je een voorbeeld dat je wat op weg kan helpen.
Deze functie maakt een kookwekker event aan voor mij
Samen met die 2 links hierboven kom je er wel uit.

Code: Select all


Sub SetEvent(ByVal Name As String, ByVal TriggerTime As Integer, ByVal strTriggerEvent As String)
        Dim oldEvent
        Dim newEvent
        Dim ev
        Dim eventTime
        oldEvent = hs.GetEventRefByName(Name )
        If oldEvent < 0 Then 'event does not exist, create a new one
            eventTime = DateAdd("s", TriggerTime, Now)
            newEvent = hs.NewEventGetRef(Name)
            ev = hs.GetEventByRef(newEvent)
            ev.group = "Agenda"
            ev.ev_abs_time = 0 'Time
            ev.ev_time = eventTime
            ev.misc = &H10 '&h10 is delete after trigger &h20 1 is disabled

            hs.AddAction(newEvent, 2, strTriggerEvent )
            
            hs.WriteLog("SetTimerEvent", "Created timer for " & Name & " with a triggertime of " & TriggerTime & " seconds.")
        Else 'event does exist, Extent the time
            ev = hs.GetEventByRef(oldEvent)

            'event does exist, add nn seconds to it
            eventTime = DateAdd("s", TriggerTime, ev.ev_time)

            'eventTime = DateAdd("s", TriggerTime, Now) 'reset the timer
            ev.ev_time = eventTime
            hs.WriteLog("SetTimerEvent", "Adding " & TriggerTime & " seconds to delayed off event for " & Name )
        End If
End Sub
Bram
kriz83
Member
Member
Posts: 200
Joined: Thu Oct 18, 2012 7:37 am
Location: Belgium

Re: Start script parallel vanuit ander script

Post by kriz83 »

Bedankt !
HomeSeer - PlugWise - RFXComm - Philips Pronto TSU9800/9600/9300
Post Reply

Return to “Homeseer Scripts Forum”