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

SCRIPT: Sjekk postleveranse


Moskus

Anbefalte innlegg

  • 5 måneder senere...
  • 6 måneder senere...
  • 10 måneder senere...
Moskus skrev (På 27.7.2020 den 15.03):

Jo, men hva er device-stringen? Jeg ser at den kan inneholde tekst som "i dag" eller "i morgen", og derfor fjerner jeg dem før jeg prøver å parse verdien til en dato. Men det ser ut som du har fått noe som ikke har tatt hensyn til, eller at jeg har bommet på en.

 

 

Det stemmer, det er fordi man må legge til headeren "x-requested-with:XMLHttpRequest".

 

Jeg prøvde å få til dette på Homey (via et Homeyscript), men det var ikke før jeg fant denne tråden at jeg fikk det til, for problemet var nettopp at jeg ikke hadde med denne headeren, så takk for tips! Jeg hadde jo funnet den riktige URLen via developer tools i nettleseren (og fikk da en blank side), men jeg tenkte ikke på at det måtte en ekstra header til for at serveren skulle gi fornuftige data tilbake...

Lenke til kommentar
Del på andre sider

mroek skrev (På 27.7.2022 den 17.54):

Jeg prøvde å få til dette på Homey (via et Homeyscript), men det var ikke før jeg fant denne tråden at jeg fikk det til, for problemet var nettopp at jeg ikke hadde med denne headeren, så takk for tips! Jeg hadde jo funnet den riktige URLen via developer tools i nettleseren (og fikk da en blank side), men jeg tenkte ikke på at det måtte en ekstra header til for at serveren skulle gi fornuftige data tilbake...

De har sikkert "gode grunner" for å kreve den, men sånt gjør datauthenging unødvendig vanskelig innimellom. ;)

 

Tips: "Record" litt nettverksaktivitet i DevTools, så kan du få se headers. :) 

Lenke til kommentar
Del på andre sider

Moskus skrev (2 timer siden):

De har sikkert "gode grunner" for å kreve den, men sånt gjør datauthenging unødvendig vanskelig innimellom. ;)

 

Tips: "Record" litt nettverksaktivitet i DevTools, så kan du få se headers. :) 

 

Jeg hadde faktisk sett på headerne også (i DevTools), men glemte helt å teste om noen av dem var påkrevd for å få data tilbake. Lesson learned.

  • Haha 1
Lenke til kommentar
Del på andre sider

  • 3 måneder senere...

Hei. 

 

Hva er det jeg gjør galt mon tro? Windows 10. Homeseer 4.

 

Kopierte scriptet og forandret på dev id og postnr. La til ScriptingReferences i settings.ini. Den lå ikke der fra før. Restartet HS4.

 

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

 

Running script: Indeksen var utenfor området. Den må være ikke-negativ og mindre enn størrelsen på samlingen. Parameternavn: startIndex-> ved System.String.IndexOf(String value, Int32 startIndex, Int32 count, StringComparison comparisonType) ved System.String.IndexOf(String value, Int32 startIndex) ved HSCore.Trigger.TriggerRunScript(String scr, Boolean single_instance, Int32 phone_line, String host, Boolean wait_here, String CalledFrom, String UName, Int32 URights, String passedfunc, Object passedparam, Int32 evref, Boolean DoSetEvent)
 
"Sub Main(ByVal params As Object)
        Dim devRef As Integer = 3181
        Dim postnummer As Integer = 7300"
 
image.png.929f927a0a28996383726e1b8afd5754.pngimage.png.32cb9f679dd98ac9434f39cf3c56ee59.png

image.png

Endret av Terje Klungervik
Lenke til kommentar
Del på andre sider

Prøv dette scriptet, og se hva som dukker opp i loggen. Det er helt uten referanser til JSON-biblioteket (noe jeg ikke heller tror er feil). Jeg lurer på om den finner noe resultat...

 

    Sub Main(ByVal params As Object)
        Dim devRef As Integer = 3181
        Dim postnummer As Integer = 7300
        Dim url As String = "https://www.posten.no/levering-av-post/_/component/main/1/leftRegion/1?postCode=" & postnummer

        Dim source As String = ""

        Using client As New System.Net.WebClient
            client.Headers.Add("x-requested-with", "XMLHttpRequest")
            client.BaseAddress = url
            source = client.DownloadString(url)
        End Using

        hs.WriteLog("Post-test", source)
    End Sub

 

Lenke til kommentar
Del på andre sider

Samme resultatet. Er det noen programmer som jeg ikke har installert mon tro? Microsoft c++ greier?

 

Jeg kjører andre scripts uten problem. Scriptet fra Gcal: 

 

Sub Main(ByVal Parms As Object)
        Dim msg As String = ""
        Try
            Dim ParmArray() As String
            ParmArray = Parms.ToString.Split(",")
            Dim deviceID = ParmArray(0)
            Dim calendarName = ParmArray(1)
            Dim numberOfDays = CInt(ParmArray(2))
            Dim allEvents As Object

            allEvents = hs.PluginFunction("GCalSeer", "", "GetItemsFromCalendar", New Object() {calendarName, numberOfDays})
            For Each ev As Object In allEvents
                Dim calendarEventAsString As String = ""
                If ev.StartDateTimeLocal.Date = Now.Date Then
                    If ev.AllDayEvent Then
                        calendarEventAsString = "Dagens "
                    Else
                        calendarEventAsString = "Kl. "
                    End If
                End If
                If ev.StartDateTimeLocal.Date = Now.Date.AddDays(1) Then
                    If ev.AllDayEvent Then
                        calendarEventAsString = "I morgen "
                    Else
                        calendarEventAsString = "I morgen kl. "
                    End If
                End If

                If ev.StartDateTimeLocal.Date < Now.Date.AddDays(2) Then
                    If ev.AllDayEvent Then
                        calendarEventAsString = calendarEventAsString & ev.Subject
                    Else
                        calendarEventAsString = calendarEventAsString & Format(ev.StartDateTimeLocal, "HH:mm") & " - " & ev.Subject
                    End If
                Else
                    If ev.AllDayEvent Then
                        calendarEventAsString = calendarEventAsString & Format(ev.StartDateTimeLocal, "ddd dd.MM") & " (hele dagen) - " & ev.Subject
                    Else
                        calendarEventAsString = calendarEventAsString & Format(ev.StartDateTimeLocal, "ddd dd.MM HH:mm") & " - " & ev.Subject
                    End If
                End If

                If ev.StartDateTimeLocal.Date = Now.Date Then
                    calendarEventAsString = "<b>" & calendarEventAsString & "</b>"
                End If
                msg = calendarEventAsString & "<br>" & msg
            Next

            'hs.WriteLog("test", "events found: " & msg)

            If msg = "" Then
                msg = "No Events Scheduled"
            End If
            hs.SetDeviceString(deviceID, msg, True)
        Catch ex As Exception
            hs.WriteLog("", "Exception in script: " & ex.Message)
        End Try
        'hs.WriteLog("test", "---=== DONE ===---")

    End Sub

 

Endret av Terje Klungervik
Lenke til kommentar
Del på andre sider

Terje Klungervik skrev (På 19.11.2022 den 18.25):

Samme resultatet.

Samme resultat?! Jøss, det skal jo nesten ikke gå an. Men hva kjører du HomeSeer på? Win7, Win10, Win11 eller Linux?

 

Kan du poste et screenshot fra scriptet slik det ser ut i HomeSeer?

Lenke til kommentar
Del på andre sider

  • 4 uker senere...
Moskus skrev (På 15.4.2023 den 8.37):

Nei, akkurat nå ser det ut til å fungere:

image.png

 

 

EDIT: Jeg må sjekke, det kan være jeg endrer SSL/TSL i et annet script...

 

Hva må evt endres på SSL/TSL og hvordan gjør man isåfall det?
Er det være noe med brannmuren?

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.