Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

SCRIPT: EnTur.vb - Få inn data fra EnTur


Moskus

Anbefalte innlegg

Jeg finner ingen feil, jeg. Utenom at du har en linje for mye helt øverst i scriptet.

 

Slik ser min scriptingreference ut:

ScriptingReferences=System.Core;System.Core.dll,Newtonsoft.Json;C:\Program Files (x86)\HomeSeer HS3\Bin\homeseer\Newtonsoft.Json.dll

Ingen feilmeldinger i loggen da du restartet HS3?

 

 

EDIT: JO, det er en feil. Lurer på om det er det som ser ut som den øverste linjen inneholder mer enn bare linjeskift.

 

 

 

Lenke til kommentar
Del på andre sider

også denne feilmeldingen kommer:

Compiling script C:\Program Files (x86)\HomeSeer HS3\scripts\EnTur.vb: For få typeargumenter for System.Collections.Generic.List(Of T).
jan-13 22.04.37   Error Compiling script C:\Program Files (x86)\HomeSeer HS3\scripts\EnTur.vb: Navneområdet eller typen som er angitt i importene System.Core, inneholder ikke noe felles medlem eller finnes ikke. Kontroller at navneområdet eller typen er definert og inneholder minst ett felles medlem. Kontroller at det importerte elementnavnet ikke bruker noen aliaser.
Lenke til kommentar
Del på andre sider

7 minutter siden, Moskus skrev:

Prøv min versjon, da:

EnTur.vb 15 kB · 0 downloads

nei, må være noe feil på oppsettet på min hs3 server. Fikk denne meldingen med ditt script:

Running script C:\Program Files (x86)\HomeSeer HS3\scripts\EnTur.vb :Målet forårsaket et unntak under aktivering.->Does entry point CallsFromStopplace exist in script? ved System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) ved System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) ved System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ved Scheduler.clsRunVBNetScript.ExecuteScript()

Lenke til kommentar
Del på andre sider

2 minutes ago, Rogerbl said:

nei, må være noe feil på oppsettet på min hs3 server. Fikk denne meldingen med ditt script:

Running script C:\Program Files (x86)\HomeSeer HS3\scripts\EnTur.vb :Målet forårsaket et unntak under aktivering.->Does entry point CallsFromStopplace exist in script? ved System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) ved System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) ved System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ved Scheduler.clsRunVBNetScript.ExecuteScript()

 

Har fulgt med litt fra bakgrunn, fordi jeg trodde det var jeg som hadde gjort noe teit. Men får samme feilmelding, og det virket hos meg helt i starten av traåden. Lastet ned Moskus sitt script fra tidligere i kveld, og bruker parameterne han testet med, men det feiler altså. Har samme linje i scriptingreference også. Kjører Windows 10 virtuelt. 

[Settings]
ScriptingReferences=System.Core;System.Core.dll,Newtonsoft.Json;C:\Program Files (x86)\HomeSeer HS3\Bin\homeseer\Newtonsoft.Json.dll

 

Running script C:\Program Files (x86)\HomeSeer HS3\scripts\EnTur_test5.vb :Exception has been thrown by the target of an invocation.->Does entry point CallsFromStopplace exist in script? at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at Scheduler.clsRunVBNetScript.ExecuteScript()

Lenke til kommentar
Del på andre sider

11 minutter siden, Moskus skrev:

MEN: Du har denne banen her:

C:\Program Files (x86)\HomeSeer HS3\scripts\EnTur.vb

 

men i scripting-references har du c:\programfiler (x86)?

Var jeg som endra det isted, men nå er den til bake til Program Files med feilmelding:

Running script C:\Program Files (x86)\HomeSeer HS3\scripts\EnTur.vb :Målet forårsaket et unntak under aktivering.->Does entry point CallsFromStopplace exist in script? ved System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) ved System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) ved System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ved Scheduler.clsRunVBNetScript.ExecuteScript()

Lenke til kommentar
Del på andre sider

Akkurat nå, Kensko skrev:

Kjører Windows 10 virtuelt. 

Det gjør jeg også, så det betyr nok ingenting. 

 

 

Aaaargh, dette gjør meg passe gal. Jeg har testet det på Linux og fikk god hjelp til det, jeg tester det på to forskjellige Windows-systemer. Det fungerer fint på Windows 7 og 10.

 

Jeg kjører imidlertid engelsk OS, men norske formateringer.

Lenke til kommentar
Del på andre sider

4 minutes ago, Moskus said:

Det gjør jeg også, så det betyr nok ingenting. 

 

 

Aaaargh, dette gjør meg passe gal. Jeg har testet det på Linux og fikk god hjelp til det, jeg tester det på to forskjellige Windows-systemer. Det fungerer fint på Windows 7 og 10.

 

Jeg kjører imidlertid engelsk OS, men norske formateringer.

Jeg gjør det samme (hmm eller hvordan var det med tusenskilletegn igjen?)
1565785174_Screenshotfrom2020-01-1322-45-25b.png.4f235b4d6ce353a9764e0e56d937869a.png

Lenke til kommentar
Del på andre sider

6 minutter siden, Moskus skrev:

Det gjør jeg også, så det betyr nok ingenting. 

 

 

Aaaargh, dette gjør meg passe gal. Jeg har testet det på Linux og fikk god hjelp til det, jeg tester det på to forskjellige Windows-systemer. Det fungerer fint på Windows 7 og 10.

 

Jeg kjører imidlertid engelsk OS, men norske formateringer.

Win 10 Enterprise her. 64 bit

windows-ver.png

Lenke til kommentar
Del på andre sider

9 timer siden, Kensko skrev:

Jeg gjør det samme (hmm eller hvordan var det med tusenskilletegn igjen?)
1565785174_Screenshotfrom2020-01-1322-45-25b.png.4f235b4d6ce353a9764e0e56d937869a.png

 

Norsk bruker komma som desimalskille, og space som tusentallskille, så der er det i det minste en forskjell. Kan være et problem hvis EnTur-APIen bruker komma, men det burde de ha tenkt på.

  • Like 1
Lenke til kommentar
Del på andre sider

Oooookay, da skal vi kjøre noen runder med debugging. Yaaaay! :D

Så kanskje vi til og med lærer noe. :) Vi deler scriptet opp i stykker og ser hva som skjer. Det kan være syntax-feil, og det kan være språklige utfordringer.

 

Finn "Sub Main" i scriptet og endre den til dette (tror det finnes der fra før).

 

Sub Main(parm As Object)
    Dim list As List(Of Trippattern) = GetTripBetweenStops("NSR:StopPlace:59854", "NSR:StopPlace:27753")

    Dim out As String = ""
     For Each c As Trippattern In list
         out &= c.ToString & "<br>"
     Next

    hs.WriteLog("EnTur", out)
End Sub

 

Kjør scriptet med et kall til "Main" istedenfor noen andre funksjoner. Sjekk loggen og rapporter.

Lenke til kommentar
Del på andre sider

19 minutter siden, Moskus skrev:

Oooookay, da skal vi kjøre noen runder med debugging. Yaaaay! :D

Så kanskje vi til og med lærer noe. :) Vi deler scriptet opp i stykker og ser hva som skjer. Det kan være syntax-feil, og det kan være språklige utfordringer.

 

Finn "Sub Main" i scriptet og endre den til dette (tror det finnes der fra før).

 


Sub Main(parm As Object)
    Dim list As List(Of Trippattern) = GetTripBetweenStops("NSR:StopPlace:59854", "NSR:StopPlace:27753")

    Dim out As String = ""
     For Each c As Trippattern In list
         out &= c.ToString & "<br>"
     Next

    hs.WriteLog("EnTur", out)
End Sub

 

Kjør scriptet med et kall til "Main" istedenfor noen andre funksjoner. Sjekk loggen og rapporter.

ok, skal prøve det men oppdaget en feilmelding fra TibberSeer i loggen ang. NewtonSoft.json, kanskje en sammenheng?
TibberPrice, UpdateData ERROR: Could not load file or assembly 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

 

Lenke til kommentar
Del på andre sider

endret sub main og fikk denne meldingen i loggen:
Running script C:\Program Files (x86)\HomeSeer HS3\scripts\EnTur.vb :Målet forårsaket et unntak under aktivering.->Does entry point CallsFromStopplace exist in script? ved System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) ved System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) ved System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ved Scheduler.clsRunVBNetScript.ExecuteScript()

Lenke til kommentar
Del på andre sider

4 minutter siden, Rogerbl skrev:

ok, skal prøve det men oppdaget en feilmelding fra TibberSeer i loggen ang. NewtonSoft.json, kanskje en sammenheng?
TibberPrice, UpdateData ERROR: Could not load file or assembly 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

TibberSeer har sin egen Newtonsoft.JSon.dll, men denne feilmeldingen kan tyde på at du har en Newtonsoft.Json.dll i HomeSeer-root-mappa.

DET ville forklare ganske mye. Kan du sjekke?

Lenke til kommentar
Del på andre sider

5 minutter siden, Moskus skrev:

TibberSeer har sin egen Newtonsoft.JSon.dll, men denne feilmeldingen kan tyde på at du har en Newtonsoft.Json.dll i HomeSeer-root-mappa.

DET ville forklare ganske mye. Kan du sjekke?

ja, det lå i root katalogen. Prøver igjen....

Lenke til kommentar
Del på andre sider

feil igjen:

Running script C:\Program Files (x86)\HomeSeer HS3\scripts\EnTur.vb :Målet forårsaket et unntak under aktivering.->Does entry point CallsFromStopplace exist in script? ved System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) ved System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) ved System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ved Scheduler.clsRunVBNetScript.ExecuteScript()

Lenke til kommentar
Del på andre sider

1 minutt siden, Moskus skrev:

Restartet etterpå?

ja.. her er resultat i loggen nå:

Running script C:\Program Files (x86)\HomeSeer HS3\scripts\EnTur.vb :Målet forårsaket et unntak under aktivering.->Does entry point Main exist in script? ved System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) ved System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) ved System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ved Scheduler.clsRunVBNetScript.ExecuteScript()
jan-14 09.36.57   Event Running script and waiting: C:/Program Files (x86)/HomeSeer HS3/scripts/EnTur.vb("Main","345,NSR:StopPlace:57094,NSR:Quay:97801,5")
Lenke til kommentar
Del på andre sider

Ok, da prøver vi dette:

 

Sub Main(parm As Object)
    Dim stop1 As String = "NSR:StopPlace:59854"
    Dim stop2 As String = "NSR:StopPlace:27753"

    Dim jsonQuery As String = "{trip(from:{place: """ & stop1 & """} to: {place: """ & stop2 & """} modes: [bus] numTripPatterns: " & entries & ") { tripPatterns { startTime endTime duration walkDistance legs {mode distance line {id publicCode name } }}}}"
    Dim result As String = RunQuery(jsonQuery)
    hs.WriteLog("EnTur", result)
 End Sub

Hvis dette fungerer, så er det noe tull med JSON. Hvis dette ikke fungerer, så er det noe funky med WebClient, men det burde det ikke være.

Lenke til kommentar
Del på andre sider

6 minutter siden, Moskus skrev:

Ok, da prøver vi dette:

 


Sub Main(parm As Object)
    Dim stop1 As String = "NSR:StopPlace:59854"
    Dim stop2 As String = "NSR:StopPlace:27753"

    Dim jsonQuery As String = "{trip(from:{place: """ & stop1 & """} to: {place: """ & stop2 & """} modes: [bus] numTripPatterns: " & entries & ") { tripPatterns { startTime endTime duration walkDistance legs {mode distance line {id publicCode name } }}}}"
    Dim result As String = RunQuery(jsonQuery)
    hs.WriteLog("EnTur", result)
 End Sub

Hvis dette fungerer, så er det noe tull med JSON. Hvis dette ikke fungerer, så er det noe funky med WebClient, men det burde det ikke være.

Fikk denne i loggen:

Compiling script C:\Program Files (x86)\HomeSeer HS3\scripts\EnTur.vb: entries er ikke deklarert. Den kan være utilgjengelig på grunn av beskyttelsesnivået.

jan-14 10.04.34   Error Compiling script C:\Program Files (x86)\HomeSeer HS3\scripts\EnTur.vb: Navneområdet eller typen som er angitt i importene System.Core, inneholder ikke noe felles medlem eller finnes ikke. Kontroller at navneområdet eller typen er definert og inneholder minst ett felles medlem. Kontroller at det importerte elementnavnet ikke bruker noen aliaser.
Lenke til kommentar
Del på andre sider

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.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.