Jump to content
  • Sign Up
Støtt hjemmeautomasjon.no!

SCRIPT: Sjekk postleveranse


Moskus

Recommended Posts

  • 5 months later...
  • 6 months later...
  • 10 months later...
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...

Link to comment
Share on other sites

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. :) 

Link to comment
Share on other sites

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
Link to comment
Share on other sites

  • 3 months later...

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

Edited by Terje Klungervik
Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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

 

Edited by Terje Klungervik
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

  • 4 weeks later...
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?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.