Moskus Skrevet 15. oktober 2019 Del Skrevet 15. oktober 2019 NĂ„ kan du endelig fĂ„ endre trigger-tiden til dine eventer med noen enkle tastetrykk! Det fungerer fint pĂ„ websiden, HStouch og HS Mobile.   Vi har alle eventer som gĂ„r av pĂ„ et visst tidspunkt. F.eks. vekkerklokker. Av og til vil man enkelt kunne endre tiden pĂ„ vekkerklokken uten Ă„ mĂ„tte navigere til Event-siden og finne selve eventet. Kanskje vil man at ungene skal kunne gjĂžre det, etc.  Med dette scriptet fĂ„r du en device som dette: ... som lar deg endre klokkeslettet pĂ„ et event.  Her er scriptet (vĂŠr nĂžye med filnavnet, det mĂ„ vĂŠre riktig): TimeDevice.vb Public Sub Main(ByVal input As Object) 'Moskus 2019 '----------------------------- 'The Main sub will update 'DeviceRef,NewTime 'Example: 3245,13:00 -> will set device 3245 to 13:00 and the event to trigger at 13:00 '----------------------------- Dim deviceRef As Integer = input.ToString.Split(",")(0) Dim timeString As String = input.ToString.Split(",")(1) Dim _time As TimeSpan = TimeSpan.Parse(timeString) UpdateDeviceAndEvent(deviceRef, _time) End Sub Public Sub CreateDevice(byval input as Object) Dim deviceRef As Integer = hs.NewDeviceRef("Klokkekontroll") Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(deviceRef) dev.Location(hs) = "Klokke" dev.Location2(hs) = "Klokke" dev.Device_Type_String(hs) = "Ditt event her" hs.SaveEventsDevices() AddDeviceButtons(deviceRef) Dim _time As New TimeSpan hs.SetDeviceString(deviceRef, _time.ToString("hh\:mm"), False) hs.SetDeviceValueByRef(deviceRef, _time.TotalMinutes, True) End Sub Public Sub ButtonPress(ByVal input As Object) Dim deviceRef As Integer = input(0) Dim parameter As String = input(1) Dim deviceValue As Integer = hs.DeviceValue(deviceRef) Dim minutesToAdd As Integer = Integer.Parse(parameter) Dim newValue As Integer = deviceValue + minutesToAdd If newValue < 0 Then newValue = 24 * 60 + minutesToAdd If newValue > 24 * 60 Then newValue = minutesToAdd Dim _time As TimeSpan = New TimeSpan(0, newValue, 0) UpdateDeviceAndEvent(deviceRef, _time) End Sub Public Sub UpdateDeviceAndEvent(ByVal deviceRef As Integer, ByVal _time As TimeSpan) hs.SetDeviceString(deviceRef, _time.ToString("hh\:mm"), False) hs.SetDeviceValueByRef(deviceRef, _time.TotalMinutes, True) Dim eventName As String = DirectCast(hs.GetDeviceByRef(deviceRef), Scheduler.Classes.DeviceClass).Device_Type_String(hs) Dim eventRef As String = hs.GetEventRefByName(eventName) hs.EventSetTimeTrigger(eventRef, New Date(1, 1, 1).Add(_time)) hs.SaveEventsDevices() End Sub Public Sub AddDeviceButtons(ByVal device_ref As String) Dim devID As Integer = CInt(device_ref) hs.DeviceScriptButton_DeleteAll(devID) hs.DeviceProperty_dvMISC(device_ref, HomeSeerAPI.Enums.eDeviceProperty.MISC_Set, HomeSeerAPI.Enums.dvMISC.SHOW_VALUES) Try hs.WriteLog("TimeDevice.vb", "Added button 1: " & hs.DeviceScriptButton_AddButton(devID, "+5 min", 5, "TimeDevice.vb", "ButtonPress", "+5", 1, 1, 1)) hs.WriteLog("TimeDevice.vb", "Added button 2: " & hs.DeviceScriptButton_AddButton(devID, "-5 min", -5, "TimeDevice.vb", "ButtonPress", "-5", 1, 2, 1)) hs.WriteLog("TimeDevice.vb", "Added button 3: " & hs.DeviceScriptButton_AddButton(devID, "+15 min", 15, "TimeDevice.vb", "ButtonPress", "+15", 1, 3, 1)) hs.WriteLog("TimeDevice.vb", "Added button 4: " & hs.DeviceScriptButton_AddButton(devID, "-15 min", -15, "TimeDevice.vb", "ButtonPress", "-15", 1, 4, 1)) hs.WriteLog("TimeDevice.vb", "Added button 5: " & hs.DeviceScriptButton_AddButton(devID, "+1 time", 60, "TimeDevice.vb", "ButtonPress", "+60", 2, 1, 1)) hs.WriteLog("TimeDevice.vb", "Added button 6: " & hs.DeviceScriptButton_AddButton(devID, "-1 time", -60, "TimeDevice.vb", "ButtonPress", "-60", 2, 2, 1)) Catch ex As Exception hs.WriteLog("TimeDevice.vb", "Error adding buttons: " & ex.Message) End Try End Sub  Du trenger fĂžrst Ă„ lage et event som trigger scriptet med rutinen "CreateDevice", slik:  GĂ„ nĂ„ til Device Manager-siden. Velg at "Klokke" skal vises, bĂ„de for "Floor" og "Room". MEN: Du mĂ„ ogsĂ„ huske pĂ„ Ă„ velge ALLE device typer:  Da fĂ„r du opp den nye devicen. Denne kan du navngi og gi plassering akkurat som det passer deg.  SĂ„ skal vi bestemme hvilket event som skal trigges. Navnet sette vi som en "Device Type String" under Advanced-taben. Merk at hele navnet skal brukes, og at det er "Gruppe" + mellomrom + "Event navn". La oss si at jeg vil trigge et test-event som jeg har navngitt "Et timer-event", som her:  Da er hele evnetnavnet mitt: "Test Et timer-event", og det setter vi inn her: ... og trykker "Done". NB! NĂ„r vi nĂ„ gĂ„r tilbake til Device Manager, mĂ„ vi huske pĂ„ Ă„ vise alle Device Types igjen, fordi den har vi nettopp endret til noe nytt som ikke var valgt fĂžr.  SĂ„ er det bare Ă„ stille klokka.  Endrer vi tiden pĂ„ devicen til dette... ... vil eventet ogsĂ„ endres:  Det gjĂžr ingenting om eventet ditt har andre conditions, de vil ikke bli pĂ„virket av dette.     Scriptet har ogsĂ„ en rutine for Ă„ endre klokkeslettet med eventer, f.eks. hvis man skal stille tilbake flere vekkerklokker etter en ferie. Da kaller man bare rutinen/metoden "Main" (eller lar vĂŠre Ă„ spesifisere rutine), og bruker deviceRef og klokkeslett som parameter. Dette:  ... gir dette: ... og selvfĂžlgelig dette:  2 4 Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
bjornepappa Skrevet 15. oktober 2019 Del Skrevet 15. oktober 2019 Supert! Er det sjans for Ă„ lage tilsvarande for Ă„ velge ein dato? Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Moskus Skrevet 15. oktober 2019 Forfatter Del Skrevet 15. oktober 2019 45 minutter siden, bjornepappa skrev: Er det sjans for Ă„ lage tilsvarande for Ă„ velge ein dato? Hvordan tenker du at det skal fungere? Hva skal lĂžses? Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
bjornepappa Skrevet 15. oktober 2019 Del Skrevet 15. oktober 2019 33 minutter siden, Moskus skrev: Hvordan tenker du at det skal fungere? Hva skal lĂžses? NĂ„r vi er pĂ„ ferie pleier eg Ă„ stille inn event for nĂ„r varme skal settast til "heime auto" igjen, slik at hus og vatn er tilbake pĂ„ normal temperatur til vi er heime. Dette har eg pleid Ă„ aktivere frĂ„ midnatt den dagen vi forventar Ă„ komme heim, og det ville blitt langt enklare Ă„ endre ein device samanlikna med Ă„ endre eventet. Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Moskus Skrevet 16. oktober 2019 Forfatter Del Skrevet 16. oktober 2019 11 timer siden, bjornepappa skrev: NĂ„r vi er pĂ„ ferie pleier eg Ă„ stille inn event for nĂ„r varme skal settast til "heime auto" igjen, slik at hus og vatn er tilbake pĂ„ normal temperatur til vi er heime. Dette har eg pleid Ă„ aktivere frĂ„ midnatt den dagen vi forventar Ă„ komme heim, og det ville blitt langt enklare Ă„ endre ein device samanlikna med Ă„ endre eventet. Ja, men det sier ikke sĂ„ mye likevel. Skal du ha noe tilsvarende som setter selve dagen det gjĂžres pĂ„? Jeg tror ikke det er sĂ„ lett Ă„ scripte de nĂždvendige endringene i det eventet...  Men det finnes andre geniale lĂžsninger for sĂ„nne problemer. Legg det i kalenderen, og installer GCalSeer.  Vi var pĂ„ hyttetur (kun en overnatting) forrige helg:  2 Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
bjornepappa Skrevet 16. oktober 2019 Del Skrevet 16. oktober 2019 1 time siden, Moskus skrev: Ja, men det sier ikke sĂ„ mye likevel. Skal du ha noe tilsvarende som setter selve dagen det gjĂžres pĂ„? Jeg tror ikke det er sĂ„ lett Ă„ scripte de nĂždvendige endringene i det eventet...  Men det finnes andre geniale lĂžsninger for sĂ„nne problemer. Legg det i kalenderen, og installer GCalSeer.  Vi var pĂ„ hyttetur (kun en overnatting) forrige helg:   Takk! Eg har jo nettopp lagt inn GCalSeer for Ă„ fĂ„ HS til Ă„ holde styr pĂ„ turnusarbeidet mitt, sĂ„ det bĂžr jo funke fint. Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
ZoRaC Skrevet 16. oktober 2019 Del Skrevet 16. oktober 2019 3 timer siden, Moskus skrev: Vi var pĂ„ hyttetur (kun en overnatting) forrige helg:  Jeg legger bare inn selve ferien jeg. Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
bjornepappa Skrevet 16. oktober 2019 Del Skrevet 16. oktober 2019 @Moskus, beklagar om det er noko eg totalt har oversett. Men innbiller meg at eg har fulgt oppskrifta for Ă„ lage devicen, men det dukkar ikkje opp nokon device - etasje og rom "Klokke" blir ikkje generert... Ganske sikker pĂ„ at script-eventet er satt opp korrekt og eg har prĂžvd mange ganger Ă„ trigge det manuelt.  Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Moskus Skrevet 16. oktober 2019 Forfatter Del Skrevet 16. oktober 2019 ... og du har sett hva loggen har Ă„ si?   43 minutter siden, bjornepappa skrev: Men innbiller meg at eg har fulgt oppskrifta for Ă„ lage devicen, men det dukkar ikkje opp nokon device - etasje og rom "Klokke" blir ikkje generert... ... og du har husket Ă„ vise alle device types? Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
bjornepappa Skrevet 16. oktober 2019 Del Skrevet 16. oktober 2019 (endret) Hmmm. Burde eg ha oppretta ein ny device og lagt inn device ref i Parameters-boksen? Sitat Oct-16 20:03:57  Error 3 Running script C:\Program Files (x86)\HomeSeer HS3\scripts\TimeDevice.vb :Antall parametere stemmer ikke overens.->Does entry point CreateDevice exist in script? ved System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ved System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ved Scheduler.clsRunVBNetScript.ExecuteScript() Oct-16 20:03:49  Event Running script in background: C:/Program Files (x86)/HomeSeer HS3/scripts/TimeDevice.vb("CreateDevice")  Endret 16. oktober 2019 av bjornepappa Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Moskus Skrevet 16. oktober 2019 Forfatter Del Skrevet 16. oktober 2019 Oi, pokker.  Denne linja: Public Sub CreateDevice() skal vĂŠre: Public Sub CreateDevice(byval input as Object)  Oppdaterer fĂžrstepost. Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
bjornepappa Skrevet 16. oktober 2019 Del Skrevet 16. oktober 2019 3 minutter siden, Moskus skrev: Oi, pokker.  Denne linja: Public Sub CreateDevice() skal vĂŠre: Public Sub CreateDevice(byval input as Object)  Oppdaterer fĂžrstepost. Det gjorde susen ?? 1 Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
HSv Skrevet 7. oktober 2020 Del Skrevet 7. oktober 2020 (endret) Flott script - har lenge tenkt pĂ„ Ă„ lage noe tilsvarende, men nĂ„ slipper jeg jo det đ Men... Jeg bruker dette pĂ„ HS4, og alt ser ut til Ă„ fungere fint. Men etter en restart av HS sĂ„ er fremdeles devicen det men alle kontrollene er borte, og det er jo litt kjipt. Oppdaterte akkurat HS til 4.1.8.0, men jeg sĂ„ det ogsĂ„ pĂ„ 4.1.6.0   EDIT: Men jeg fant en workaround - jeg ser nĂ„ at jeg kan kjĂžre et nytt event for Ă„ legge de til igjen, og jeg kommer til Ă„ legge til dette i Startup.vb (iallefall inntil videre)  IF This event is MANUALLY triggered THEN Run the script: TimeDevice.vb                 calling method AddDeviceButtons with parameter(s) 3946                      and only allow one instance of the script to run at a time. Endret 7. oktober 2020 av HSv 2 Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Erling Skrevet 7. oktober 2020 Del Skrevet 7. oktober 2020 Takk @Moskus denne var artig, takk @HSv som dro opp trĂ„den. 1 Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Moskus Skrevet 7. oktober 2020 Forfatter Del Skrevet 7. oktober 2020 4 timer siden, HSv skrev: Jeg bruker dette pĂ„ HS4, og alt ser ut til Ă„ fungere fint. Men etter en restart av HS sĂ„ er fremdeles devicen det men alle kontrollene er borte, og det er jo litt kjipt. F*en! Jeg hadde hĂ„pet dette var fikset. Det har jo vĂŠrt et problem med HS4 ganske lenge.  Men snedig workaround! Kudos!  Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
prk Skrevet 20. november 2020 Del Skrevet 20. november 2020 Dette er mulig jeg har oversett en grunn til at det gjĂžres slik, men:  Dim newValue As Integer = deviceValue + minutesToAdd If newValue < 0 Then newValue = 24 * 60 + minutesToAdd If newValue > 24 * 60 Then newValue = minutesToAdd  Hvis deviceValue nĂ„ fra fĂžr er 23:45, og man trykker +1 time, sĂ„ vil ny tid bli 01:00. Eller hvis den er 23:50 og man trykker +15 min, sĂ„ blir ny tid 00:15. Tilsvarende hvis den er 00:15 og man trykker -1 time, sĂ„ blir ny tid 23:00. Og om den er 00:10 og man trykker -15 min, sĂ„ blir ny tid 23:45.  Kan kanskje dette heller skrives slik?  Dim newValue As Integer = deviceValue + minutesToAdd If newValue < 0 Then newValue = 24 * 60 + newValue If newValue > 24 * 60 Then newValue = newValue - 24 * 60  Evt. slik om man vil forkorte (pĂ„ bekostning av noe lesbarhet).  Dim newValue As Integer = deviceValue + minutesToAdd If newValue < 0 Then newValue += 24 * 60 If newValue > 24 * 60 Then newValue -= 24 * 60  Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Moskus Skrevet 20. november 2020 Forfatter Del Skrevet 20. november 2020 Jeg trodde jeg hadde tenkt og testet dette. Mulig jeg ikke har... FĂ„r sjekke igjen. Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Im_IB Skrevet 1. september 2022 Del Skrevet 1. september 2022 (endret) Super veiledning og script @Moskus đ Tusen takk, det var akkurat det jeg trengte. Oppstod dog et lite problem. Jeg har fortsatt ikke kommet meg over pĂ„ HS Touch, sĂ„ jeg bruker fortsatt HS Mobile en del. Klokke-devicen funker som den skal i device-oversikten, men med en gang jeg prĂžver Ă„ legge den til pĂ„ et dashbord forsvinner alle knappene. Har sjekket alle innstillinger jeg kan tenke meg, prĂžvd Ă„ opprette flere klokker, men problemet er det samme. Om noen har et tips til hva som kan forĂ„rsake dette tar jeg gjerne i mot tips!  Endret 1. september 2022 av Im_IB Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Moskus Skrevet 1. september 2022 Forfatter Del Skrevet 1. september 2022 Im_IB skrev (49 minutter siden): Klokke-devicen funker som den skal i device-oversikten, men med en gang jeg prĂžver Ă„ legge den til pĂ„ et dashbord forsvinner alle knappene. Det er ikke deg. Det er en bug i HomeSeer Mobile, men hvis du venter til neste refesh, sĂ„ skal de dukke opp igjen.  Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Im_IB Skrevet 3. september 2022 Del Skrevet 3. september 2022 Moskus skrev (PĂ„ 1.9.2022 den 18.12): Det er ikke deg. Det er en bug i HomeSeer Mobile, men hvis du venter til neste refesh, sĂ„ skal de dukke opp igjen.  Hva mener du med neste refresh? Knappene har aldri vĂŠrt synlig i Dashboards-fanen, men er synlig hele tiden i Device-fanen. En annen ting som det kanskje er greit Ă„ advare om, er at det noen ganger blir generert en ny and if statement i eventen som begrenser trigger til en bestemt dato (i det herrens Ă„r 0001 for sikkerhets skyld) hvis man tar "snarveien" og blar forbi midnatt. Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Moskus Skrevet 5. september 2022 Forfatter Del Skrevet 5. september 2022 Im_IB skrev (PĂ„ 3.9.2022 den 7.35): Knappene har aldri vĂŠrt synlig i Dashboards-fanen Det har jeg ikke testet, de burde ikke vĂŠre usynlige der heller, men i Dashboard har man stĂžrre kontroll over hva som skal vĂŠre synlig eller ei. Det er mulig dette ikke inkluderer knapper som er laget fra scripts.  Im_IB skrev (PĂ„ 3.9.2022 den 7.35): En annen ting som det kanskje er greit Ă„ advare om, er at det noen ganger blir generert en ny and if statement i eventen som begrenser trigger til en bestemt dato (i det herrens Ă„r 0001 for sikkerhets skyld) hvis man tar "snarveien" og blar forbi midnatt. Ja, da gĂ„r man over til et nytt dĂžgn. Jeg mĂ„ tydeligvis nullstille telleren. Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Im_IB Skrevet 16. november 2023 Del Skrevet 16. november 2023   Moskus skrev (PĂ„ 5.9.2022 den 13.50): Ja, da gĂ„r man over til et nytt dĂžgn. Jeg mĂ„ tydeligvis nullstille telleren. Har du funnet noen smart fix pĂ„ dette? Eller har du noen forslag til fix? Jeg hadde nok en uheldig hendelse her om dagen, med en elbillader som ikke hadde startet, og ende med Ă„ komme for seint pĂ„ jobben đ Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Moskus Skrevet 16. november 2023 Forfatter Del Skrevet 16. november 2023 Eh... jeg innrĂžmmer at jeg ikke har tenkt sĂ„ mye pĂ„ det. Men vanskelig burde det ikke vĂŠre.  Siter Lenke til kommentar Del pĂ„ andre sider Flere delingsvalgâŠ
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nÄ og registrere deg senere. Hvis du har en konto, logg inn nÄ for Ä poste med kontoen din.