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

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


Moskus

Anbefalte innlegg

5 minutter siden, GeneralVirus skrev:

Har du alle parametere riktig? FIkk samme feil når jeg hadde glemt "NSR:" foran quay nummeret.

Jeg kopierte Moskus sine inndata, dobbeltsjekket nå, ja.

.NetRepairTool fikk ikke gjort endringer, så tror jeg må prøve å stoppe det meste på maskinen en kveld før jeg kjører verktøyet og ser om den får rettet de filene den vil.

Lenke til kommentar
Del på andre sider

13 minutter siden, iceball skrev:

Jeg kopierte Moskus sine inndata, dobbeltsjekket nå, ja.

.NetRepairTool fikk ikke gjort endringer, så tror jeg må prøve å stoppe det meste på maskinen en kveld før jeg kjører verktøyet og ser om den får rettet de filene den vil.

Screenshot av Eventet?

Lenke til kommentar
Del på andre sider

@iceball

Ser du har semikolon istedenfor komma mellom NSR:StopPlace:59854 og NSR:StopPlace:27753 på det siste eventet ditt.

 

Har ofte problemer selv med scripts jeg kopierer fra internett, har derfor begynt å kopiere det inn i Visual Studio istedenfor notepad/notepad++. Det har hjulpet meg. Plukker ofte opp tull når man kopiere. Prøv å last ned denne direkte å prøv.

EnTur.vb

Endret av GeneralVirus
  • Like 1
Lenke til kommentar
Del på andre sider

På 17.1.2019 den 13.29, GeneralVirus skrev:

Har ofte problemer selv med scripts jeg kopierer fra internett, har derfor begynt å kopiere det inn i Visual Studio istedenfor notepad/notepad++. Det har hjulpet meg. Plukker ofte opp tull når man kopiere. Prøv å last ned denne direkte å prøv.

Godt forsøk, men var ikke det heller.

 

Men, TripsBetweenStops fungerer ser det ut som, ikke CallsFromStopplace.

Lenke til kommentar
Del på andre sider

  • 1 måned senere...
På 21.1.2019 den 22.48, iceball skrev:

Men, TripsBetweenStops fungerer ser det ut som, ikke CallsFromStopplace.

Hos meg fungerte ikke noen av dem..
Jeg hadde ikke ScriptingReferences= i settings.ini fila, så la dette til som sagt tidligere i kommentarfeltet. Fant Newtonsoft.Json på samme plass som vist i innlegget:

entursettings.thumb.PNG.18c1fd02514d14bfebf377970a301642.PNG

Ved kjøring av dette eventet:

enturEvent.PNG.02d2cee095022aef9907876a7f29d14d.PNG

Får jeg følgende feilkode:

enTurfeilmld.PNG.a3e6a6fd958c696c1c7d72eba0504621.PNG

 

Slik ser systemprofilen min ut hvis det er til noe hjelp i eventuell feilsøking:

systemprofil.thumb.PNG.bbd93de572e3199c2af94f61e4e73a2a.PNG

 

EDIT:

Har testet med Moskus' parametre på både TripsBetweenStops og CallsFromStopplace. Det fungerte med TripsBetweenStops og ikke CallsFromStopplace
Kan dette ha noe med at det er linjer som er kommentert ut i main? Eventuelt at det burde vært åpne parenteser her og ikke med dine NSR verdier?
Jeg har ikke peiling, men kommer bare med forslag på hva som kan være problemene nå.

enturMain.PNG.640c695d79c1a287059e62b2d8bb02ee.PNG

Prøvde også å kommentere vekk Dim list As List(Of Trippattern) over og kjørte så TripsBetweenStops med Moskus' paramtere og får følgende feilkode:

enTurKommentertVekk.PNG.93d374b0d897ade69cfddb5dcc6aee17.PNG

Prøver så videre med å ta vekk vekkommenteringen og fjerner også vekkommenteringen på Dim list As List(Of EstimatedCall), main ser da slik ut:

enTurMainVekkommentering.PNG.034a5c5c4d2c89e96c19eb6308a80e92.PNG

Da får jeg følgende ved kjøring av TripsBetweenStops med Moskus' parameter:

enTurKommentertInnTrips.PNG.66c0f7e7847369ef3766c0a5f23dace9.PNG

Og dette ved kjøring av CallsFromStopplace med Moskus' parameter:

enTurKommentertInnCalls.PNG.fe3ba9022a5d063fa8cf31fe94a68f36.PNG

 

Dette er så langt jeg har kommet i debuggingen, håper noe av dette kan hjelpe videre?

Endret av Zheep
Debugging
Lenke til kommentar
Del på andre sider

3 timer siden, Zheep skrev:

Kan dette ha noe med at det er linjer som er kommentert ut i main?

Nei, det er kun gamle debug-linjer fra da jeg skrev scriptet første gangen. "Main" blir jo ikke kjørt i det hele tatt, det er "TripsBetweenStops" og "CallsFromStopplace" som er funksjonene som kjøres.

Lenke til kommentar
Del på andre sider

3 minutter siden, Moskus skrev:

Nei, det er kun gamle debug-linjer fra da jeg skrev scriptet første gangen. "Main" blir jo ikke kjørt i det hele tatt, det er "TripsBetweenStops" og "CallsFromStopplace" som er funksjonene som kjøres.

Var det jeg tenkte meg, men er det ikke da rart at jeg får så mange forskjellige feilmeldinger ved endring av main, selv om jeg kjører de andre subbene?

Endret av Zheep
Lenke til kommentar
Del på andre sider

57 minutter siden, Moskus skrev:

Hvilke parametre er "mine" parametre, hvordan ser det eventet ut (screenshot)?

TripsBetweenStops(Dine parametre fra starten av denne tråden):

enTurMoskusTrip.PNG.54ead5ad26a4b27a87e0519a8c8194b4.PNG

 

CallsFromStopplace(Dine parametre fra starten av denne tråden):

enTurMoskusCalls.PNG.8bcf8a26f53972b34860fcc85c513fb0.PNG

 

Prøvde å kjøre med andre parametre fra buss, i eksempelet her Sandnes rutebilstasjon -> Lurahammaren, det fungerte på TripsBetweenStops:

enTurSandnesLura.PNG.aa96cdad4a70a5f2cb08b53002f450a6.PNGenTurSandnesLura_home.thumb.PNG.41bbb5e62db93c30051bbc1b3a71f2f9.PNG

Kan det være ett problem at jeg har forsøkt med bybanen(trikk hos Entur)i Bergen i min opprinnelige post?
Tenker siden jeg her klarte det med enda ett eksempel fra Kolumbus.

 

Men CallsFromStopplace med eksempelet Lurahammaren -> Sandnes fungerte ikke..

enTurLuraSandnes.PNG.8cced4d1795dec73686d7d99b86ee0bf.PNG

 

EDIT:

Har prøvd med busser fra skyss i Bergen også, da fungerer Sub TripsBetweenStops
Har nå prøvd med tog fra Sandnes -> Stavanger med Sub TripsBetweenStops, og da fikk jeg samme feilmelding som jeg skrev i mitt opprinnelige innlegg her. Virker da som det kun går an å få rutetider for buss i dette skriptet slik det er nå?

 

Endret av Zheep
Feilsøking med andre bussruter og togruter
Lenke til kommentar
Del på andre sider

1 time siden, Zheep skrev:

Kan det være ett problem at jeg har forsøkt med bybanen(trikk hos Entur)i Bergen i min opprinnelige post?

 

1 time siden, Zheep skrev:

kun går an å få rutetider for buss i dette skriptet slik det er nå?

Ja, det stemmer nok, se f.eks. her:

 

Private Function GetTripBetweenStops(ByVal stop1 As String, ByVal stop2 As String, Optional ByVal entries As Integer = 5) As List(Of Trippattern)
     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)
     Dim enTurJson As EnTur = JsonConvert.DeserializeObject(Of EnTur)(result)

     Return enTurJson.data.trip.tripPatterns
End Function

Der står det "modes: [bus]". Det er kun buss. Jeg har ikke fått til å legge inn flere elementer i den, men det skal være mulig spørre etter "tram". En mulighet er å kopiere funksjonen og lage en ny "GetTripBetweenStopsForTram" og endre [bus] til [tram].

Lenke til kommentar
Del på andre sider

22 minutter siden, Moskus skrev:

Private Function GetTripBetweenStops(ByVal stop1 As String, ByVal stop2 As String, Optional ByVal entries As Integer = 5) As List(Of Trippattern)
     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)
     Dim enTurJson As EnTur = JsonConvert.DeserializeObject(Of EnTur)(result)

     Return enTurJson.data.trip.tripPatterns
End Function

Der står det "modes: [bus]". Det er kun buss. Jeg har ikke fått til å legge inn flere elementer i den, men det skal være mulig spørre etter "tram". En mulighet er å kopiere funksjonen og lage en ny "GetTripBetweenStopsForTram" og endre [bus] til [tram].

Yes det fungerte!
Så da bør jeg lage en egen funksjon for hver av transportmidlene jeg har tenkt å bruke, samt lage en egen sub for hvert transportmiddel slik som eksempelet her viser:

enTurNySub.PNG.dc3da165173b51ab08da2ed7159d6484.PNG

 

 

Men da gjenstår det andre problemet da, hvorfor fungerer ikke CallsFromStopplace, kan det ha noe med funksjonen "GetCallsFromStopPlace" og gjøre?

Private Function GetCallsFromStopPlace(ByVal _stop As String, Optional ByVal _quay As String = "", Optional ByVal entries As Integer = 5) As List(Of EstimatedCall)
	Dim jsonQuery As String = "{stopPlace(id: """ & _stop & """) {id name estimatedCalls(startTime: """ & Now.ToString("yyyy-MM-ddTHH:mm:sszzz") & """, timeRange: 72100, numberOfDepartures: " & (entries * 2 + 2) & "){ realtime aimedArrivalTime expectedArrivalTime destinationDisplay {frontText} quay {id} serviceJourney {journeyPattern {line {id name transportMode}}}}}}"

	Dim result As String = RunQuery(jsonQuery)
	Dim enTurJson As EnTur = Newtonsoft.Json.JsonConvert.DeserializeObject(Of EnTur)(result)

	Dim lst As New List(Of EstimatedCall)
	Dim count As Integer = 0
	For Each e As EstimatedCall In enTurJson.data.stopPlace.estimatedCalls
		If _quay <> "" Then
			If e.quay.id = _quay Then
				lst.Add(e)
				count += 1
			End If
		Else
			lst.Add(e)
			count += 1
		End If
		If count = entries Then Exit For
	Next
	Return lst
End Function

 

Lenke til kommentar
Del på andre sider

På 9.3.2019 den 9.23, Moskus skrev:

Jo... men hva?

Nei si det.. 
Men vet fra forumet til homeseer her, post 39, at det kan være forskjeller på vb.net script i Windows og Linux.

Det er rart at CallsFromStopplace fungerer for noen linux brukere her(?), mens det for andre ikke fungerer.
Scriptet fra lenken over fikk jeg ikke til å fungerer før jeg kommenterte ut linjen som det blir henvist til i den posten.

Endret av Zheep
lagt til korrekt lenke
Lenke til kommentar
Del på andre sider

16 timer siden, Zheep skrev:

Det er rart at CallsFromStopplace fungerer for noen linux brukere her(?), mens det for andre ikke fungerer.

Ja, jeg er enig i det det, men det KAN være at det brukes StopPlace som ikke eksisterer også. Da vil ikke scriptet gi det som tilbakemelding, men vil feile fullstendig (og kunne gi feilmeldinger som over).

Lenke til kommentar
Del på andre sider

Virker denne feilemeldingen fra Linux-HS3-en min logisk?

 

mar-11 23.35.21   Error Compiling script /usr/local/HomeSeer/scripts/EnTur.vb: Symbol is not valid.
mar-11 23.35.21   Error Compiling script /usr/local/HomeSeer/scripts/EnTur.vb: Symbol is not valid.
mar-11 23.35.21   Error Compiling script /usr/local/HomeSeer/scripts/EnTur.vb: Symbol is not valid.
mar-11 23.35.21   Error Compiling script /usr/local/HomeSeer/scripts/EnTur.vb: Symbol is not valid.
mar-11 23.35.21   Error Compiling script /usr/local/HomeSeer/scripts/EnTur.vb: Symbol is not valid.
mar-11 23.35.21   Event Running script in background: /usr/local/HomeSeer/scripts/EnTur.vb("CallsFromStopplace","984, NSR:StopPlace:25720, NSR:Quay:38798, 10")
mar-11 23.35.21   Event Event Trigger "Kollektivtrafikk Hente buss til jobb"
mar-11 23.35.21   Event Event Kollektivtrafikk Hente buss til jobb triggered by the event page 'Run' button.
Lenke til kommentar
Del på andre sider

9 timer siden, Trash2000 skrev:

Virker denne feilemeldingen fra Linux-HS3-en min logisk?

 

Tror feilen ligger her:

Sitat

"CallsFromStopplace","984, NSR:StopPlace:25720,NSR:Quay:38798, 10"

 

Skal det ikke være slik?

Sitat

"CallsFromStopplace",984, NSR:StopPlace:25720,NSR:Quay:38798, 10

 

Lenke til kommentar
Del på andre sider

28 minutter siden, ZoRaC skrev:

Skal det ikke være slik?

Sitat

"CallsFromStopplace",984, NSR:StopPlace:25720,NSR:Quay:38798, 10

Hermetegna kommer automatisk når 984, NSR:StopPlace:25720, NSR:Quay:38798, 10 legges inn som parameter. På samme måten som at hermetegna rundt CallsFromStopplace kommer når vi skriver den inn som suben som skal kalles.

 

9 timer siden, Trash2000 skrev:

Virker denne feilemeldingen fra Linux-HS3-en min logisk?

 

mar-11 23.35.21   Error Compiling script /usr/local/HomeSeer/scripts/EnTur.vb: Symbol is not valid.
mar-11 23.35.21   Error Compiling script /usr/local/HomeSeer/scripts/EnTur.vb: Symbol is not valid.
mar-11 23.35.21   Error Compiling script /usr/local/HomeSeer/scripts/EnTur.vb: Symbol is not valid.
mar-11 23.35.21   Error Compiling script /usr/local/HomeSeer/scripts/EnTur.vb: Symbol is not valid.
mar-11 23.35.21   Error Compiling script /usr/local/HomeSeer/scripts/EnTur.vb: Symbol is not valid.
mar-11 23.35.21   Event Running script in background: /usr/local/HomeSeer/scripts/EnTur.vb("CallsFromStopplace","984, NSR:StopPlace:25720, NSR:Quay:38798, 10")
mar-11 23.35.21   Event Event Trigger "Kollektivtrafikk Hente buss til jobb"
mar-11 23.35.21   Event Event Kollektivtrafikk Hente buss til jobb triggered by the event page 'Run' button.

Er ikke sikker på denne feilmeldingen, men kan det være for at du kjører scriptet i bakgrunnen?
Huk av "Wait for script to finish before continuing" og se om du får samme feilmelding?

Lenke til kommentar
Del på andre sider

23 timer siden, Moskus skrev:

Ja, jeg er enig i det det, men det KAN være at det brukes StopPlace som ikke eksisterer også. Da vil ikke scriptet gi det som tilbakemelding, men vil feile fullstendig (og kunne gi feilmeldinger som over).

Hmm, i see!
Greit om jeg poster ett innlegg på HS sitt forum, refererer til den opprinnelige posten her og ser om noen har noen tanker der?

Lenke til kommentar
Del på andre sider

1 time siden, Zheep skrev:

Greit om jeg poster ett innlegg på HS sitt forum, refererer til den opprinnelige posten her og ser om noen har noen tanker der?

Du må gjerne prøve, men jeg tviler på det vil hjelpe...

Lenke til kommentar
Del på andre sider

12 timer siden, Zheep skrev:

Hermetegna kommer automatisk når 984, NSR:StopPlace:25720, NSR:Quay:38798, 10 legges inn som parameter. På samme måten som at hermetegna rundt CallsFromStopplace kommer når vi skriver den inn som suben som skal kalles.

 

Er ikke sikker på denne feilmeldingen, men kan det være for at du kjører scriptet i bakgrunnen?
Huk av "Wait for script to finish before continuing" og se om du får samme feilmelding?

 

Testet dette. Løste ikke problemet, dessverre.

Lenke til kommentar
Del på andre sider

På 11.3.2019 den 23.38, Trash2000 skrev:
mar-11 23.35.21   Error Compiling script /usr/local/HomeSeer/scripts/EnTur.vb: Symbol is not valid.

Dette gir iallfall ikke mening. Kan det ha hendt noe med script-fila di?

Lenke til kommentar
Del på andre sider

12 timer siden, Moskus skrev:

Dette gir iallfall ikke mening. Kan det ha hendt noe med script-fila di?

Godt mulig at det skjedde noe da jeg kopierte scripte fra forumet (encoding?). Men kopierte direkte, la det i en fil, og åpnet det fra scripteditoren i HS.

 

Kan du legge vb-filen til som et vedlegg i denne tråden, så tester jeg den

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.