Vinnerliste
Populært innhold
Viser innholdet med mest poeng fra 27. juli 2020 i alle områder
-
Et script som sjekker når du får levert post. 1. Du trenger en referanse til Newtonsoft.Json i ScriptingReferences. 2. Du trenger en virtuell device uten knapper eller statuser. 3. Du trenger en konto hos MyBring, du kan opprette gratis her (du trenger ikke firmanavn): https://www.mybring.com/signup/register/user 4. En API-key som du finner på denne siden: https://www.mybring.com/useradmin/account/settings/api Kjør dette scriptet ved midnatt: Sub Main(ByVal params As Object) Dim devRef As Integer = DIN_DEVICEREF_HER Dim postnummer As Integer = DITT_POSTNUMMER_HER Dim mybring_email As String = "[email protected]" Dim mybring_key As String = "DIN_KEY_FRA_MYBRING" 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 Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls12 client.Headers.Add("x-mybring-api-uid", mybring_email) client.Headers.Add("x-mybring-api-key", mybring_key) client.BaseAddress = url source = client.DownloadString(url) End Using Dim json As Object = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Object)(source) Dim nestePost As String = json.item("delivery_dates").item(0).ToString Dim nestePostDato As Date = DateTime.Parse(nestePostDato) Dim dagerTilPost As Integer = nestePostDato.Date.Subtract(Now.Date).Days Dim output As String = "" For i As Integer = 0 To json("delivery_dates").Count - 1 Dim currentDate As Date = DateTime.Parse(json.item("delivery_dates").item(i)) output &= GetDateDescription(currentDate) & "<br>" Next 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 Function GetDateDescription(ByVal nextDate As Date) Dim dagerTilPost As Integer = nextDate.Date.Subtract(Now.Date).Days If dagerTilPost = 0 Then Return "I dag" ElseIf dagerTilPost = 1 Then Return "I morgen" Else Return nextDate.ToString("dddd d. MMM") End If End Function Devicen vil da se slik ut: Device Value er antall dager til postleveranse. "0" betyr da at posten blir levert i dag, kan f.eks. brukes som trigger til noe. 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å.3 poeng
-
Ruteren bør vite om faste adresser på enheter slik at den ikke deler ut den samme adressen til en annen enhet via dhcp. Men en annen måte å løse det på er at du har forskjellige adresseområder til dette. Da kan du sette opp dhcp til å dele ut fra .100 til .200 og de faste adressene setter du til ip adresser lavere enn .1003 poeng
-
Og sånn som dette kan det gjøres i Home Assistant sensor: - platform: rest resource: https://www.posten.no/levering-av-post-2020/_/component/main/1/leftRegion/1?postCode=4353 headers: x-requested-with: XMLHttpRequest name: leveringsdag_for_post scan_interval: 21600 value_template: '{{ value_json.nextDeliveryDays[0] }}'3 poeng
-
Jeg bruker unifi pluginen i homeseer, og blokkerer enheter der med en event. Det gjelder uansett om det er kablet eller trådløst. Kjører en slik event hver kveld når unga ikke skal få kunne spille etc, så blir det slått på igjen på morgenen. Du kan gjøre det manuelt i Unifi controlleren også, på clients, og velge "block" helt til høyre i tabellen.2 poeng
-
1 poeng
-
Ai, da. Det er jo det samme jeg skulle ha, det hadde jeg trodd skulle fungere. Da er det mulig jeg må sende CultureInfo. Prøv dette, da. Sub Main(ByVal params As Object) Dim devRef As Integer = 3915 Dim postnummer As Integer = 4026 Dim url As String = "https://www.posten.no/levering-av-post-2020/_/component/main/1/leftRegion/1?postCode=" & postnummer Dim source As String = "" Try Using client As New System.Net.WebClient client.Headers.Add("x-requested-with", "XMLHttpRequest") client.BaseAddress = url source = client.DownloadString(url) End Using Dim json = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Object)(source) Dim output As String = "" For i As Integer = 0 To json("nextDeliveryDays").Count - 2 output &= json("nextDeliveryDays")(i).ToString & "<br>" Next output &= json("nextDeliveryDays")(json("nextDeliveryDays").Count - 1).ToString Dim nestePostdag As Date = DateTime.Parse((json("nextDeliveryDays")(0).ToString.ToLower).Replace("i morgen", "").Replace("i dag", ""), New System.Globalization.CultureInfo("nb-NO")) Dim dagerTilPost As Integer = nestePostdag.Date.Subtract(Now.Date).Days 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 ... da skal "value" bli 1.1 poeng
-
Kjør denne versjonen og post resultatet, så ser vi hva jeg ikke har klart å ta hensyn til. Sub Main(ByVal params As Object) Dim devRef As Integer = 3915 Dim postnummer As Integer = 4026 Dim url As String = "https://www.posten.no/levering-av-post-2020/_/component/main/1/leftRegion/1?postCode=" & postnummer Dim source As String = "" Try Using client As New System.Net.WebClient client.Headers.Add("x-requested-with", "XMLHttpRequest") client.BaseAddress = url source = client.DownloadString(url) End Using Dim json = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Object)(source) Dim output As String = "" For i As Integer = 0 To json("nextDeliveryDays").Count - 2 output &= json("nextDeliveryDays")(i).ToString & "<br>" Next output &= json("nextDeliveryDays")(json("nextDeliveryDays").Count - 1).ToString 'Dim nestePostdag As Date = DateTime.Parse((json("nextDeliveryDays")(0).ToString).Replace("i morgen", "").Replace("i dag", "")) 'Dim dagerTilPost As Integer = nestePostdag.Date.Subtract(Now.Date).Days Dim dagerTilPost as Integer = 0 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 Sub1 poeng
-
Det letteste er å gjøre det med et Event, det er en Z-wave Action for det.1 poeng
-
curl 'https://www.posten.no/levering-av-post-2020/_/component/main/1/leftRegion/1?postCode=3032' -H 'x-requested-with: XMLHttpRequest'1 poeng
-
1 poeng
-
Kan du ikke 'bare' reservere IP-adressen i din router? Så skal du ikke gøre noget på Raspberry. Det er det jeg selv benytter, da der så er et sted at få overblik over hvilke adresser der er i brug.1 poeng
-
1 poeng
-
1 poeng
-
1 poeng
Vinnerlisten er satt til Oslo/GMT+01:00