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

SCRIPT: NewsReader.vb - Hent nyheter inn i HomeSeer


Moskus

Anbefalte innlegg

Nyheter er viktig, og din bolig burde vite hva som skjer. HStouch kommer med en RSS-leser, men den støtter ikke norske tegn, og fungerer bare når den vil. Ettersom jeg ble lei av det, skrev jeg et lite script for å hente frem nyheter.

 

NewsReader.vb

    Sub Main(ByVal parameters As Object)
        'Moskus 2019
        Dim devID As Integer = parameters.ToString.Split("|")(0)
        Dim url As String = "https://api.rss2json.com/v1/api.json?rss_url=" & System.Net.WebUtility.HtmlEncode(parameters.ToString.Split("|")(1))

        Dim source As String = ""
        Try
            Using client As New System.Net.WebClient
                Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls12
                client.Encoding = System.Text.Encoding.UTF8
                source = client.DownloadString(url)
            End Using
        Catch ex As Exception
            hs.WriteLog("NewsReader Error", "Net Feil: " & ex.Message)
        End Try

        If source = "" Then
            hs.WriteLog("NewsReader Error", "Got no response from url: " & url)
            Exit Sub
        End If


        Try
            Dim json = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Object)(source)
            Dim output As String = ""
            For i As Integer = 0 To 4
                output &= "• <b>" & json("items")(i)("title") & "</b><br>"
                output &= json("items")(i)("description") & "<br><br>"
            Next

            hs.SetDeviceString(devID, output, True)
        Catch ex As Exception
            hs.WriteLog("NewsReader Error", "Net Feil: " & ex.Message)
        End Try
    End Sub

HomeSeer trenger en referanse til Newtonsoft.Json.Dll, det kan du sette opp ved å lese under "Installasjon" i denne tråden: https://www.hjemmeautomasjon.no/forums/topic/4338-script-enturvb-få-inn-data-fra-entur/

 

 

Du trenger en virtuell device per nyhetskilde du vil ha. Ingen controller er viktig, velg "Status Only device" og "Do not log commands from this device".

 

Så lager du et event. Det kan trigge hvert 15. minutt. Og så legger du til en kjøring av NewsReader.vb for hver nyhetskilde du ønsker deg. Parameter for scriptet er "DEV_ID|http://nyhetskilde.com/rss/", altså device ID, en "pipe" | og kilden. Huk av "Wait for script to finish" og "Only allow a single instance"

 

image.png

 

Da blir resultatet dette:

image.png

 

Her er noen nyhetskilder:

https://www.aftenbladet.no/rss

https://www.aftenposten.no/rss

https://www.nrk.no/toppsaker.rss

https://www.dagbladet.no/rss/

https://www.vg.no/rss/feed/?categories=1068&limit=10&format=rss&private=1  - sjekk https://vg.no/rss for å sette opp din egen feed.

 

 

 

  • Like 4
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.