bio Skrevet 26. februar 2019 Skrevet 26. februar 2019 Hei. Til info så har jeg null peiling på scripting eller koding, jeg er en copy/paster Prøver å få til et script som skal liste kalender eventer til en virtuell device gjennom Blade sin BLGData plugin, slik at jeg kan liste dette i HStouch. Har postet dette på HS forumet også, men ikke fått svar. Får følgende feil: Googler på harde livet, og endrer småting uten at jeg får det til å virke. Takk på forhånd. Siter
bio Skrevet 26. februar 2019 Forfatter Skrevet 26. februar 2019 (endret) sub Main(ByVal Parms As Object) Dim ParmArray() as String ParmArray = Parms.tostring.split(",") Dim tDevice = ParmArray(0) Dim tCalendar = ParmArray(1) Dim tDays = cint(ParmArray(2)) Dim allEvents As Object() Dim myemail as string="[email protected]" Dim msg as string = "" allEvents = hs.PluginFunction("BLGData", "", "GetCalendarEventsForXDays", new Object(){myemail,tCalendar,tdays}) msg="<table>" For Each ev As Object In allEvents msg = msg & "<tr><td> " & ev.StartTime & " - " & ev.Name & "." & "</td></tr>" Next msg=msg & "</table>" if msg="" then msg="No Events Scheduled" hs.SetDeviceString(tDevice, msg.Trim, true) End Sub Endret 26. februar 2019 av bio Siter
Moskus Skrevet 26. februar 2019 Skrevet 26. februar 2019 Hvis du fjerner dette: For Each ev As Object In allEvents msg = msg & "<tr><td> " & ev.StartTime & " - " & ev.Name & "." & "</td></tr>" Next ... går det bedre da? Siter
bio Skrevet 26. februar 2019 Forfatter Skrevet 26. februar 2019 9 minutter siden, Moskus skrev: Hvis du fjerner dette: For Each ev As Object In allEvents msg = msg & "<tr><td> " & ev.StartTime & " - " & ev.Name & "." & "</td></tr>" Next ... går det bedre da? Nei, får eksakt samme feilmelding(er). Takk for at du hjelper til! Siter
ZoRaC Skrevet 26. februar 2019 Skrevet 26. februar 2019 Må ikke disse skrives slik? ParmArray() = params.ToString.Split(",") Dim tDevice As Integer = ParmArray(0) Dim tCalendar As String = ParmArray(1) Dim tDays As Integer = cint(ParmArray(2)) Siter
bio Skrevet 26. februar 2019 Forfatter Skrevet 26. februar 2019 1 minutt siden, ZoRaC skrev: Må ikke disse skrives slik? ParmArray() = params.ToString.Split(",") Dim tDevice As Integer = ParmArray(0) Dim tCalendar As String = ParmArray(1) Dim tDays As Integer = cint(ParmArray(2)) Får denne feilen: Ved å endre til kode: sub Main(ByVal Parms As Object) Dim ParmArray() as String ParmArray() = Parms.tostring.split(",") Dim tDevice As Integer = ParmArray(0) Dim tCalendar As String = ParmArray(1) Dim tDays As Integer = cint(ParmArray(2)) Dim allEvents As Object() Dim myemail as string="[email protected]" Dim msg as string = "" allEvents = hs.PluginFunction("BLGData", "", "GetCalendarEventsForXDays", new Object(){myemail,tCalendar,tdays}) msg="<table>" For Each ev As Object In allEvents msg = msg & "<tr><td> " & ev.StartTime & " - " & ev.Name & "." & "</td></tr>" Next msg=msg & "</table>" if msg="" then msg="No Events Scheduled" hs.SetDeviceString(tDevice, msg.Trim, true) End Sub eller kode uten linjene @Moskus nevnte: sub Main(ByVal Parms As Object) Dim ParmArray() as String ParmArray() = Parms.tostring.split(",") Dim tDevice As Integer = ParmArray(0) Dim tCalendar As String = ParmArray(1) Dim tDays As Integer = cint(ParmArray(2)) Dim allEvents As Object() Dim myemail as string="[email protected]" Dim msg as string = "" allEvents = hs.PluginFunction("BLGData", "", "GetCalendarEventsForXDays", new Object(){myemail,tCalendar,tdays}) msg="<table>" msg=msg & "</table>" if msg="" then msg="No Events Scheduled" hs.SetDeviceString(tDevice, msg.Trim, true) End Sub Siter
Guahtdim Skrevet 26. februar 2019 Skrevet 26. februar 2019 Muligens så må du også endre allEvents til System.Object[] Dim allEvents() As Object Men nå bare tror jeg. Vb er så veldig tilgivende på mange områder når det kommer til variabeltyper. Derfor foretrekker jeg C#. Siter
bio Skrevet 26. februar 2019 Forfatter Skrevet 26. februar 2019 3 minutter siden, Guahtdim skrev: Muligens så må du også endre allEvents til System.Object[] Dim allEvents() As Object Men nå bare tror jeg. Vb er så veldig tilgivende på mange områder når det kommer til variabeltyper. Derfor foretrekker jeg C#. Feilmelding: Med kode: sub Main(ByVal Parms As Object) Dim ParmArray() as String ParmArray() = Parms.tostring.split(",") Dim tDevice As Integer = ParmArray(0) Dim tCalendar As String = ParmArray(1) Dim tDays As Integer = cint(ParmArray(2)) Dim allEvents() As Object() Dim myemail as string="[email protected]" Dim msg as string = "" allEvents = hs.PluginFunction("BLGData", "", "GetCalendarEventsForXDays", new Object(){myemail,tCalendar,tdays}) msg="<table>" msg=msg & "</table>" if msg="" then msg="No Events Scheduled" hs.SetDeviceString(tDevice, msg.Trim, true) End Sub Siter
Guahtdim Skrevet 26. februar 2019 Skrevet 26. februar 2019 Du må enten skrive Dim allEvents() As Object eller Dim allEvents As Object() Du kan ikke ha () på to steder. Siter
bio Skrevet 26. februar 2019 Forfatter Skrevet 26. februar 2019 1 minutt siden, Guahtdim skrev: Du må enten skrive Dim allEvents() As Object eller Dim allEvents As Object() Du kan ikke ha () på to steder. Ops Får samme feilmelding uavhengig ? Siter
Guahtdim Skrevet 26. februar 2019 Skrevet 26. februar 2019 Hvilken feilmelding? Fortsatt A variable can't declare array modifiers..... eller en av de andre feilmeldingene? Siter
bio Skrevet 26. februar 2019 Forfatter Skrevet 26. februar 2019 B 3 minutter siden, Guahtdim skrev: Hvilken feilmelding? Fortsatt A variable can't declare array modifiers..... eller en av de andre feilmeldingene? Beklager, en av de andre Denne feilmeldingen: Med kode: sub Main(Parms As Object) Dim ParmArray() as String ParmArray() = Parms.tostring.split(",") Dim tDevice As Integer = ParmArray(0) Dim tCalendar As String = ParmArray(1) Dim tDays As Integer = cint(ParmArray(2)) Dim allEvents() As Object Dim myemail as string="[email protected]" Dim msg as string = "" allEvents = hs.PluginFunction("BLGData", "", "GetCalendarEventsForXDays", new Object(){myemail,tCalendar,tdays}) msg="<table>" msg=msg & "</table>" if msg="" then msg="No Events Scheduled" hs.SetDeviceString(tDevice, msg.Trim, true) End Sub Siter
Guahtdim Skrevet 26. februar 2019 Skrevet 26. februar 2019 Da må vi eliminere videre. Fjern linjen som starter med "allEvents= " og se om du fortsatt får feil. Siter
bio Skrevet 26. februar 2019 Forfatter Skrevet 26. februar 2019 (endret) 11 minutter siden, Guahtdim skrev: Da må vi eliminere videre. Fjern linjen som starter med "allEvents= " og se om du fortsatt får feil. Litt annen feilmelding: Med kode: sub Main(ByVal Parms As Object) Dim ParmArray() as String ParmArray() = Parms.tostring.split(",") Dim tDevice As Integer = ParmArray(0) Dim tCalendar As String = ParmArray(1) Dim tDays As Integer = cint(ParmArray(2)) Dim allEvents() As Object Dim myemail as string="[email protected]" Dim msg as string = "" msg="<table>" msg=msg & "</table>" if msg="" then msg="No Events Scheduled" hs.SetDeviceString(tDevice, msg.Trim, true) End Sub Og: sub Main(ByVal Parms As Object) Dim ParmArray() as String ParmArray() = Parms.tostring.split(",") Dim tDevice As Integer = ParmArray(0) Dim tCalendar As String = ParmArray(1) Dim tDays As Integer = cint(ParmArray(2)) Dim allEvents As Object() Dim myemail as string="[email protected]" Dim msg as string = "" msg="<table>" msg=msg & "</table>" if msg="" then msg="No Events Scheduled" hs.SetDeviceString(tDevice, msg.Trim, true) End Sub Og: Ved også å fjerne Dim allEvents As linjen, med denne koden: sub Main(ByVal Parms As Object) Dim ParmArray() as String ParmArray() = Parms.tostring.split(",") Dim tDevice As Integer = ParmArray(0) Dim tCalendar As String = ParmArray(1) Dim tDays As Integer = cint(ParmArray(2)) Dim myemail as string="[email protected]" Dim msg as string = "" msg="<table>" msg=msg & "</table>" if msg="" then msg="No Events Scheduled" hs.SetDeviceString(tDevice, msg.Trim, true) End Sub Endret 26. februar 2019 av bio Siter
Guahtdim Skrevet 26. februar 2019 Skrevet 26. februar 2019 (endret) Hmm, litt usikker her. Nå aner jeg ikke hvor case-sensitiv scriptmodulen er, men du har sub Main og End Sub Mulig du må gjøre om sub til Sub Du kan også røske ut nesten alt inne i rutinen for å se om vi kan sette device og ende opp med "No Events Scheduled" i valgt device Sub Main(ByVal Parms As Object) Dim msg as string = "" if msg="" then msg="No Events Scheduled" hs.SetDeviceString(2164, msg.Trim, true) End Sub Endret 26. februar 2019 av Guahtdim Siter
bio Skrevet 26. februar 2019 Forfatter Skrevet 26. februar 2019 5 minutter siden, Guahtdim skrev: Hmm, litt usikker her. Nå aner jeg ikke hvor case-sensitiv scriptmodulen er, men du har sub Main og End Sub Mulig du må gjøre om sub til Sub Du kan også røske ut nesten alt inne i rutinen for å se om vi kan sette device og ende opp med "No Events Scheduled" i valgt device Sub Main(ByVal Parms As Object) Dim msg as string = "" if msg="" then msg="No Events Scheduled" hs.SetDeviceString(2164, msg.Trim, true) End Sub Den enkle koden fungerte flott: Ble mye rot og frem og tilbake her, så jeg endret til koden fra min første post, dvs uten å ta bort noe, og endret til Sub Main: Sub Main(ByVal Parms As Object) Dim ParmArray() as String ParmArray = Parms.tostring.split(",") Dim tDevice = ParmArray(0) Dim tCalendar = ParmArray(1) Dim tDays = cint(ParmArray(2)) Dim allEvents As Object() Dim myemail as string="[email protected]" Dim msg as string = "" allEvents = hs.PluginFunction("BLGData", "", "GetCalendarEventsForXDays", new Object(){myemail,tCalendar,tdays}) msg="<table>" For Each ev As Object In allEvents msg = msg & "<tr><td> " & ev.StartTime & " - " & ev.Name & "." & "</td></tr>" Next msg=msg & "</table>" if msg="" then msg="No Events Scheduled" hs.SetDeviceString(tDevice, msg.Trim, true) End Sub Da får jeg kun denne feilmeldingen hvis det hjelper noe. Siter
Guahtdim Skrevet 26. februar 2019 Skrevet 26. februar 2019 Jeg hadde fortsatt med å fjerne mye kode og så legge til litt og litt Ta vekk hele blokken mellom allevents= til og med "</table>" Ta vekk alle variabeldeklarasjoner utenom msg (fra Dim ParmArray til og med myemail as string="[email protected]") Kjør og legg så til en og en linje for å se om det fungerer eller om du får noen forskjellige feilmeldinger. Siter
bio Skrevet 26. februar 2019 Forfatter Skrevet 26. februar 2019 15 minutter siden, Guahtdim skrev: Jeg hadde fortsatt med å fjerne mye kode og så legge til litt og litt Ta vekk hele blokken mellom allevents= til og med "</table>" Ta vekk alle variabeldeklarasjoner utenom msg (fra Dim ParmArray til og med myemail as string="[email protected]") Kjør og legg så til en og en linje for å se om det fungerer eller om du får noen forskjellige feilmeldinger. Begynte fra toppen å la til alle variabeldeklarasjoner. Scriptet feilet ikke før jeg la til linjen allEvents = hs.PluginFunction("BLGData", "", "GetCalendarEventsForXDays", new Object(){myemail,tCalendar,tdays}) Denne feiler: Sub Main(ByVal Parms As Object) Dim ParmArray() as String ParmArray = Parms.tostring.split(",") Dim tDevice = ParmArray(0) Dim tCalendar = ParmArray(1) Dim tDays = cint(ParmArray(2)) Dim allEvents As Object() Dim myemail as string="[email protected]" Dim msg as string = "" allEvents = hs.PluginFunction("BLGData", "", "GetCalendarEventsForXDays", new Object(){myemail,tCalendar,tdays}) if msg="" then msg="No Events Scheduled" hs.SetDeviceString(2164, msg.Trim, true) End Sub Med: Denne koden feiler ikke og oppdaterer device 2164: Sub Main(ByVal Parms As Object) Dim ParmArray() as String ParmArray = Parms.tostring.split(",") Dim tDevice = ParmArray(0) Dim tCalendar = ParmArray(1) Dim tDays = cint(ParmArray(2)) Dim allEvents As Object() Dim myemail as string="[email protected]" Dim msg as string = "" if msg="" then msg="No Events Scheduled" hs.SetDeviceString(2164, msg.Trim, true) End Sub Siter
Guahtdim Skrevet 26. februar 2019 Skrevet 26. februar 2019 Jeg får følelsen av at feilen ligger i allEvents = hs.PluginFunction("BLGData", "", "GetCalendarEventsForXDays", new Object(){myemail,tCalendar,tdays}) Med andre ord så feiler det på vei inn i plugin hvor du skal spesifisere epost, calender og antall dager. Og da aner jeg ikke hva man skal gjøre for å få det videre.... Siter
bio Skrevet 26. februar 2019 Forfatter Skrevet 26. februar 2019 20 minutter siden, Guahtdim skrev: Jeg får følelsen av at feilen ligger i allEvents = hs.PluginFunction("BLGData", "", "GetCalendarEventsForXDays", new Object(){myemail,tCalendar,tdays}) Med andre ord så feiler det på vei inn i plugin hvor du skal spesifisere epost, calender og antall dager. Og da aner jeg ikke hva man skal gjøre for å få det videre.... Ok, uansett, takk for at du tok deg tid. Siter
Guahtdim Skrevet 26. februar 2019 Skrevet 26. februar 2019 Hvis det fungerer i Windows, men feiler i Linux så kan det være så enkelt som at plugin ikke fungerer helt bra under Linux (selv om jeg synes det er rart med tanke på at Blade ser ut til å ha rimelig grei kontroll) Siter
ZoRaC Skrevet 26. februar 2019 Skrevet 26. februar 2019 31 minutter siden, Guahtdim skrev: Jeg får følelsen av at feilen ligger i allEvents = hs.PluginFunction("BLGData", "", "GetCalendarEventsForXDays", new Object(){myemail,tCalendar,tdays}) Med andre ord så feiler det på vei inn i plugin hvor du skal spesifisere epost, calender og antall dager. Og da aner jeg ikke hva man skal gjøre for å få det videre.... Jeg hadde et lignende problem med en annen Plugin, se svar i HS-forumet: https://forums.homeseer.com/forum/ultilities-plug-ins/utilities-discussion/device-history-shill/1273859-scripting-linux?p=1273881#post1273881 Men, ser jo ut til at syntax hos deg er riktig da... Hvilken Mono-versjon kjører du? Siter
bio Skrevet 26. februar 2019 Forfatter Skrevet 26. februar 2019 5 minutter siden, ZoRaC skrev: Jeg hadde et lignende problem med en annen Plugin, se svar i HS-forumet: https://forums.homeseer.com/forum/ultilities-plug-ins/utilities-discussion/device-history-shill/1273859-scripting-linux?p=1273881#post1273881 Men, ser jo ut til at syntax hos deg er riktig da... Hvilken Mono-versjon kjører du? 5.18.0.240 Søker og søker på HS forumet, og prøver forskjellige ting uten hjelp. Det ser ut som dette er en gjenganger i linux i diverse scripts The import 'System.Core' could not be found. Om det har en sammenheng i scriptet jeg kjører, vet jeg ikke. Akkurat denne plugin funksjonen skal jo være relativt rett frem. Fra BLGData Help: Prøver nå uten å inkludere Parm i allEvents linjen, som i hjelpefilen, men det feiler: Sub Main(ByVal Parms As Object) Dim ParmArray() as String ParmArray = Parms.tostring.split(",") Dim tDevice as String = ParmArray(0) Dim tCalendar as String = ParmArray(1) Dim tDays as Integer = cint(ParmArray(2)) Dim allEvents As Object() Dim myemail as string="[email protected]" Dim msg as string = "" allEvents = hs.PluginFunction("BLGData", "", "GetCalendarEventsForXDays", new Object(){"[email protected]","Minkalender",2}) if msg="" then msg="No Events Scheduled" hs.SetDeviceString(2164, msg.Trim, true) End Sub Siter
ZoRaC Skrevet 26. februar 2019 Skrevet 26. februar 2019 51 minutter siden, bio skrev: Det ser ut som dette er en gjenganger i linux i diverse scripts The import 'System.Core' could not be found. Om det har en sammenheng i scriptet jeg kjører, vet jeg ikke. Akkurat denne plugin funksjonen skal jo være relativt rett frem. Fra BLGData Help: Ja, jeg kopierte også et script fra manualen til Device History, men da viste det seg at man på Linux måtte ha med «New Object()» foran for at det skulle virke. Men, hos deg ser jo det riktig ut... Siter
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.