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

SCRIPT: Sjekk postleveranse


Moskus

Recommended Posts

  • 2 weeks later...
daniel.h.iversen skrev (På 16.9.2021 den 8.17):

Ser ut som posten har oppdaget at det ikke lenger er 2020.

Denne ser ut til å fungere
https://www.posten.no/levering-av-post/_/component/main/1/leftRegion/1?postCode= 

 

Ser ut til at ny URL er: https://www.posten.no/levering-av-post/_/service/no.posten.website/delivery-days?postalCode=1234

 

Usikkert om alle disse request headerne er nødvendig, men kp-api-token må inn uansett (vet ikke hvor jeg får ny fra):

  1. accept:
    */*
  2. accept-encoding:
    gzip, deflate, br
  3.  
    accept-language:
    nb-NO,nb;q=0.9,no;q=0.8,nn;q=0.7,en-US;q=0.6,en;q=0.5,da;q=0.4,sv;q=0.3
  4. cookie:
    onprem_posten_kp_miniapp=1|ZEp6D|ZEp54
  5. dnt:
    1
  6. kp-api-token:
    401e9239MTY4MjYwMjkxNQ
  7. referer:
 
Hadde vært kult om noen finner ut av dette.
  • Like 1
Link to comment
Share on other sites

Sukk, jeg har prøvd alt det over, men får ikke svar utenom 418 "I'm a teapot". Morsomme folk hos Posten.

 

image.png

 

 

Her er det sikkert flinkere folk enn meg som kan svare på:

Hvorfor finner jeg ingenting i DevConsole?

 

image.png

Link to comment
Share on other sites

Token må byttes ut med jevne mellomrom. Uten riktig token får du 418 I'm a teapot (som betyr noe i den duren at den ikke kan lage kaffe i en tekanne..) Med riktig token får du json tilbake. Kan virke som om Posten har laget eller holder på å lage en API, men jeg finner ingen informasjon om dette noe sted.

Link to comment
Share on other sites

JohnMartin skrev (1 time siden):

Funnet en løsning til Home Assistant, men skjønner ikke så mye av det 😛


Broken after Home Assistant OS 10.1 update · Issue #9 · BobTheShoplifter/HomeAssistant-Posten · GitHub


Metoden i siste kommentar funket hos meg i hvertfall, så da er det bare å finne ut hvordan man sender samme kall med VB.Net. 🙂 

 

https://github.com/BobTheShoplifter/HomeAssistant-Posten/issues/9#issuecomment-1527634490

Link to comment
Share on other sites

4 minutes ago, ZoRaC said:


Metoden i siste kommentar funket hos meg i hvertfall, så da er det bare å finne ut hvordan man sender samme kall med VB.Net. 🙂 

 

https://github.com/BobTheShoplifter/HomeAssistant-Posten/issues/9#issuecomment-1527634490

 

Men det forutsetter vel at man har en Mybring-konto? Kan alle (inkludert privatpersoner) få det sånn uten videre (har ikke sjekket, så kanskje dumt spørsmål)?

Link to comment
Share on other sites

mroek skrev (Akkurat nå):

 

Men det forutsetter vel at man har en Mybring-konto? Kan alle (inkludert privatpersoner) få det sånn uten videre (har ikke sjekket, så kanskje dumt spørsmål)?


Ja, krever MyBring-konto. Jeg registrerte meg bare her:

https://www.mybring.com/signup/register/user
 

Men jeg har et enkeltpersonforetak jeg kunne oppgi som firmanavn da… men det virket ikke å være noe de validerer, for de ba ikke om org.nr. 

Link to comment
Share on other sites

Jeg hadde også et enkeltpersonforetak inntil nylig, men siden jeg ikke hadde noen omsetning i det, så ble det (tvangs)slettet av myndighetene. Det ble i sin tid opprettet primært for å kunne kjøpe .no-domene, for den gangen måtte man ha et orgnummer for å kunne gjøre dette.

 

Uansett, som du sa så var det ikke noe problem å registere seg hos Mybring uten orgnummer, men det kan vel tenkes at hvis det blir et oppsving i slike registreringer nå, så blir det innstramminger der også...

Link to comment
Share on other sites

Her er fikset versjon. 🙂 

Krever MyBring-konto. 

 

Man må legge inn rett postnummer, e-postadresse og API-key på rett sted i koden. 

 

Sub Main(ByVal params As Object)
        Dim devRef As Integer = 6560
        Dim url As String = "https://api.bring.com/address/api/no/postal-codes/POSTNUMMER/mailbox-delivery-dates"

        Dim source As String = ""
Try
            Using client As New System.Net.WebClient
                client.Headers.Add("x-mybring-api-uid", "EPOST-ADRESSE")
                client.Headers.Add("x-mybring-api-key", "API KEY")
                 client.BaseAddress = url
                source = client.DownloadString(url)
            End Using

            Dim json As Object = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Object)(source)
hs.writelog("Posten", json.tostring)
            Dim output As String = json.item("delivery_dates").item(0).tostring
         

hs.writelog("Posten", output)

 Dim ci = New System.Globalization.CultureInfo("nb-NO")
 Dim nestePostdag As Date = DateTime.Parse((output), ci)
          
          Dim dagerTilPost As Integer = nestePostdag.Date.Subtract(Now.Date).Days

 

If dagerTilPost = 0 Then
  output = "I dag"
Else If dagerTilPost = 1 Then
  output = "I morgen"
Else
  output = nestePostdag.ToString("ddd d. MMM", ci)
End If

            hs.SetDeviceValueByRef(devRef, dagerTilPost, True)
            hs.SetDeviceString(devRef, output, False)
        Catch ex As Exception
            hs.SetDeviceValueByRef(devRef, -1, True)
            hs.SetDeviceString(devRef, "Feil: " & ex.Message, False)
        End Try
    End Sub

  • Like 1
Link to comment
Share on other sites

ZoRaC skrev (9 timer siden):

a, krever MyBring-konto. Jeg registrerte meg bare her:

https://www.mybring.com/signup/register/user
 

Men jeg har et enkeltpersonforetak jeg kunne oppgi som firmanavn da… men det virket ikke å være noe de validerer, for de ba ikke om org.nr. 

Krever ikke firmanavn eller noe annet. Jeg oppgav kun navn, epost og telefon, og det gikk gjennom.

  • Like 1
Link to comment
Share on other sites

Moskus skrev (14 minutter siden):

Første post nå oppdatert. Utvidet scriptet ditt litt, @ZoRaC , for jeg syntes det er greit å få med de neste dagene også... 🙂

 


Jeg viser infoen på startskjermen til HSTouch på mobilen, så jeg hadde redigert ditt script til å vise bare én dag. 🙂 

 

Forhåpentligvis vil det funke «evig» nå da, siden vi bruker et offisielt API! 🙂 

 

 

Moskus skrev (På 27.7.2020 den 12.30):
nextDate.ToString("dddd d. MMM")


Denne bør endres til:

Dim ci = New System.Globalization.CultureInfo("nb-NO")

nextDate.ToString("dddd d. MMM", ci)


Da får man navn på dager og måneder på norsk, selv om man kjører engelsk språk i OS på serveren. 🙂 

 

Link to comment
Share on other sites

ZoRaC skrev (På 29.4.2023 den 9.29):

Denne bør endres til:

Dim ci = New System.Globalization.CultureInfo("nb-NO")

nextDate.ToString("dddd d. MMM", ci)

Tja... det er jo et valg, da. 😉

På Windows vil min versjon gi datoer på engelsk hvis man har satt Globalization til "Norwegian", selv om OSet er på engelsk.

 

Men personlig ville jeg endret den til dette (hvis man synes det er viktig):

nextDate.ToString("dddd d. MMM",  New System.Globalization.CultureInfo("nb-NO"))

😉

 

Link to comment
Share on other sites

Moskus skrev (7 minutter siden):

På Windows vil min versjon gi datoer på engelsk hvis man har satt Globalization til "Norwegian", selv om OSet er på engelsk.


Og hvorfor vil du ha datoene på engelsk? 

 

Jeg et sikkert ikke den eneste som har engelsk oppsett på serveren, men likevel ønsker at dagene står på norsk. 🙂 

 

Moskus skrev (9 minutter siden):

Men personlig ville jeg endret den til dette (hvis man synes det er viktig):

nextDate.ToString("dddd d. MMM",  New System.Globalization.CultureInfo("nb-NO"))


Siden jeg har CI to steder (ikke sikkert det trengs med det nye formatet?), så er det vel bedre å initiere den én gang og gjenbruke den i en variabel? I tillegg er det mer lesbart på mobilen å ha det på to separate linjer, for det er på mobilen jeg som regel programmerer. 😛 

Link to comment
Share on other sites

Moskus skrev (4 minutter siden):

Jeg vil ikke. Jeg får dem på norsk fordi Globalization er satt til "Norwegian". 🙂 


Du skrev motsatt… 🤭

Moskus skrev (16 timer siden):

gi datoer på engelsk hvis man har satt Globalization til "Norwegian"

 

Link to comment
Share on other sites

Takk for oppdateringen av scriptet.

Jeg fikk oppdatert og "Status" gir de 4 siste leveransene, men jeg får ikke "Value" til å oppdatere seg (står på 0). Er det bare jeg som har gjort noe feil?

 

Link to comment
Share on other sites

Moskus skrev (På 27.7.2020 den 12.30):

EDIT: Takk til @daniel.h.iversen som fant ut at Posten har oppdaget at 2020 var i fjor. 👍

EDIT2: Takk til @DeVille som fant ut at siste 1 skal erstattes med 9.

EDIT3: Takk til @ZoRaC for sin oppdatering etter API-omleggingen hos Posten versjon som jeg bygget litt videre på.

 

takk takk, oppdatert i kveld. ting tar tid...

Link to comment
Share on other sites

aarpi3 skrev (14 timer siden):

Jeg fikk oppdatert og "Status" gir de 4 siste leveransene, men jeg får ikke "Value" til å oppdatere seg (står på 0). Er det bare jeg som har gjort noe feil?

Jeg må sjekke dette i morgen, tydeligvis. Jeg får post i dag så den er 0 slik den skal.

Link to comment
Share on other sites

On 29/04/2023 at 09:20, Moskus said:

Første post nå oppdatert. Utvidet scriptet ditt litt, @ZoRaC , for jeg syntes det er greit å få med de neste dagene også... 🙂

 

Har klikkt&søkt....finnes det et sted her på siden hvor det oppdaterte scriptet er?

Edited by Fjosepose
typos
Link to comment
Share on other sites

  • 8 months later...
Moskus skrev (På 9.5.2023 den 10.29):

Jeg må sjekke dette i morgen, tydeligvis. Jeg får post i dag så den er 0 slik den skal.

Oppdaterte endelig til det nye fungerende scriptet, men har samme problem med at value står på 0. Har hatt samme status siden fredag når jeg oppdaterte scriptet.

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.