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

SCRIPT: Sjekk postleveranse


Moskus

Anbefalte innlegg

  • 2 uker senere...
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
Lenke til kommentar
Del på andre sider

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

Lenke til kommentar
Del på andre sider

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.

Lenke til kommentar
Del på andre sider

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

Lenke til kommentar
Del på andre sider

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)?

Lenke til kommentar
Del på andre sider

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. 

Lenke til kommentar
Del på andre sider

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å...

Lenke til kommentar
Del på andre sider

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
Lenke til kommentar
Del på andre sider

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
Lenke til kommentar
Del på andre sider

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. 🙂 

 

Lenke til kommentar
Del på andre sider

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"))

😉

 

Lenke til kommentar
Del på andre sider

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. 😛 

Lenke til kommentar
Del på andre sider

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"

 

Lenke til kommentar
Del på andre sider

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?

 

Lenke til kommentar
Del på andre sider

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

Lenke til kommentar
Del på andre sider

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.

Lenke til kommentar
Del på andre sider

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?

Endret av Fjosepose
typos
Lenke til kommentar
Del på andre sider

  • 8 måneder senere...
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.

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.