ZoRaC Skrevet 8. august 2016 Skrevet 8. august 2016 Har en VD for søppeltømming. Value=1 viser inneværende uke, value=2 viser neste uke og value=3 viser om 2 uker. I HSTouch vil jeg vise inneværende uke, men ha en knapp for å "bla" gjennom ukene. Dvs i praksis endre status med +1 og ved value=3 sette den til 1. Må vel bruke hs.devicevalue("tommeplan") for å hente nåværende verdi og hs.setdevicevalue("tommeplan", nyValue) for å oppdatere, men er litt fersk i dette språket, så litt usikker på hvordan bygge opp scriptet. Også usikker på hvordan jeg kjører scriptet i HSTouch... Noen som kan hjelpe meg? Siter
Moskus Skrevet 8. august 2016 Skrevet 8. august 2016 Klart dette er mulig å få til! Men det er litt jobb (spesielt hvis du skal gjøre det litt kult), så vi begynner med en liten runde avklaringsspørsmål: - Når du oppdaterer devicevalue skal du da oppdatere søppeltømmingen også? - I så fall: Hvordan gjøres det? ... ellers hadde jeg ikke forkortet "virtual device" med VD fordi det oftest har en annen betydning... Siter
ZoRaC Skrevet 9. august 2016 Forfatter Skrevet 9. august 2016 10 timer siden, Moskus skrev: Klart dette er mulig å få til! Men det er litt jobb (spesielt hvis du skal gjøre det litt kult), så vi begynner med en liten runde avklaringsspørsmål: - Når du oppdaterer devicevalue skal du da oppdatere søppeltømmingen også? - I så fall: Hvordan gjøres det? Vet ikke om jeg helt skjønte spørsmålet, så skal heller prøve å forklare hva jeg har gjort (så kanskje svaret ligger i forklaringen ). Har et bash-script som trigges av en event natt til mandag. Den tar screenshot av tømmeplanen og lagrer 3 bilder i HS-mappa: trv-1.png, trv-2.png og trv-3.png. Så har jeg laget en virtual device med 3 statuser som er koblet mot hvert sitt bilde. Hele hensikten med devicen er å vise statusbilde på HSTouch, så den skal ikke brukes til å trigge noe event og det spiller ingen rolle hvilken status den er satt til. Vet ikke om det svarte på det du lurte på? 10 timer siden, Moskus skrev: ... ellers hadde jeg ikke forkortet "virtual device" med VD fordi det oftest har en annen betydning... Hmm, jeg tror vi ferdes på forskjellig deler av Internett, for de nettstedene jeg besøker har aldri brukt den forkortelsen Siter
Moskus Skrevet 9. august 2016 Skrevet 9. august 2016 23 minutter siden, ZoRaC skrev: Har et bash-script som trigges av en event natt til mandag. Den tar screenshot av tømmeplanen og lagrer 3 bilder i HS-mappa: trv-1.png, trv-2.png og trv-3.png. Så har jeg laget en virtual device med 3 statuser som er koblet mot hvert sitt bilde. Hele hensikten med devicen er å vise statusbilde på HSTouch, så den skal ikke brukes til å trigge noe event og det spiller ingen rolle hvilken status den er satt til. Aha, dette burde vi kunne løse greit. Skal rote litt i scripts mappa mi og finne det som ligner mest, slik at omskrivingen blir minst. Jeg tenker som følger: - Devicen lagrer tallet 1, 2 eller 3 (i DeviceValue) - Legger til to knapper for å bla opp eller ned. - Knappene trekker fra eller legger til 1 til den gjeldene verdi, men setter maks 3 og min 1. (Da kan vi også velge om hvis verdien er 3 og man trykker på "+" om verdien skal settes til 1 ("wrappe rundt") eller om den skal forbli 3. Samme for "-".) - Når en knapp trykkes, oppdateres verdien ihht regimet over, og device'n kan oppdater DeviceString til å vise bildet over. 24 minutter siden, ZoRaC skrev: Hmm, jeg tror vi ferdes på forskjellig deler av Internett, for de nettstedene jeg besøker har aldri brukt den forkortelsen Tror ikke jeg hadde brukt den forkortelsen på engelsk i noen deler av internett, og ferdig med det. Friends klarte jo å få forkortelsen kjent i ikke-engelskspråklige land også for 90-talls ungdommen. Dessuten gir det ikke noe mer informasjon å bruke begrepet "virtuell device" istedenfor bare "device". Siter
ZoRaC Skrevet 9. august 2016 Forfatter Skrevet 9. august 2016 6 minutter siden, Moskus skrev: Aha, dette burde vi kunne løse greit. Skal rote litt i scripts mappa mi og finne det som ligner mest, slik at omskrivingen blir minst. Jeg tenker som følger: - Devicen lagrer tallet 1, 2 eller 3 (i DeviceValue) - Legger til to knapper for å bla opp eller ned. - Knappene trekker fra eller legger til 1 til den gjeldene verdi, men setter maks 3 og min 1. (Da kan vi også velge om hvis verdien er 3 og man trykker på "+" om verdien skal settes til 1 ("wrappe rundt") eller om den skal forbli 3. Samme for "-".) - Når en knapp trykkes, oppdateres verdien ihht regimet over, og device'n kan oppdater DeviceString til å vise bildet over. Høres ut som akkurat det jeg er på jakt etter! Jeg tror ikke det er det mest kompliserte scriptet, men er fersk i både HS og med VB.NET, så da blir til og med små enkle ting litt vrien... 7 minutter siden, Moskus skrev: Tror ikke jeg hadde brukt den forkortelsen på engelsk i noen deler av internett, og ferdig med det. Friends klarte jo å få forkortelsen kjent i ikke-engelskspråklige land også for 90-talls ungdommen. Jeg var jo midt i målgruppen og en stor fan av Friends, men akkurat dette husket jeg faktisk ikke. Mulig jeg ikke festet meg så godt med forkortelsen den gangen og bare fulgte med på tekstingen 9 minutter siden, Moskus skrev: Dessuten gir det ikke noe mer informasjon å bruke begrepet "virtuell device" istedenfor bare "device". Device KAN jo bety en fysisk enhet da, men i denne settingen så er det kanskje ikke så sannsynlig at jeg snakker om en device som tømmer søppla for meg...så du har et poeng. Siter
Moskus Skrevet 9. august 2016 Skrevet 9. august 2016 43 minutter siden, ZoRaC skrev: Jeg tror ikke det er det mest kompliserte scriptet, men er fersk i både HS og med VB.NET, så da blir til og med små enkle ting litt vrien... Det er enkelt å lage et script som oppdaterer bildet på en device. Det som krever litt mer knote-kode er knappen, men det er også det som gjør det stilig... Siter
Marhil Skrevet 9. august 2016 Skrevet 9. august 2016 Har noen sniffet seg fram til APIet til «Min renovasjon»-appen? Hadde vært greit å laste ned tømmeplanen der... Siter
ZoRaC Skrevet 9. august 2016 Forfatter Skrevet 9. august 2016 10 minutter siden, Hilmar skrev: Har noen sniffet seg fram til APIet til «Min renovasjon»-appen? Hadde vært greit å laste ned tømmeplanen der... Kikket på appen nå, men ser ut til at den ikke støtter så mange kommuner? Hvis din kommune har en webbasert tømmeplan, så kan det hende du kan gjøre som meg (se "hva har du gjort i dag"-tråden for beskrivelse). Siter
Marhil Skrevet 9. august 2016 Skrevet 9. august 2016 Jepp, fant webbasert plan etter litt graving på mobilwebben til folloren.no. Skal sjekke mer når jeg kommer hjem til ordentlig browser. Har lyst til å ta vare på datoverdiene for å enkelt lage varsler, så håper på en JSON service eller lignende i bakgrunnen.Sent fra min H60-L04 via Tapatalk Siter
Marhil Skrevet 13. august 2016 Skrevet 13. august 2016 Folloren bruker en JSON webservice levert av Norkart for å servere hentedatoer for avfall og papir. Det ser ut som at den dekker hele landet, men alle kommuner har sikkert ikke tatt den i bruk. Det er tydelig at de ikke vil at den skal brukes utenfor de designerte websidene, men med litt fikling med HTTP-headers så går det greit å laste ned data fra den. Siter
Moskus Skrevet 13. august 2016 Skrevet 13. august 2016 1 time siden, Hilmar skrev: Folloren bruker en JSON webservice levert av Norkart for å servere hentedatoer for avfall og papir. Det ser ut som at den dekker hele landet, men alle kommuner har sikkert ikke tatt den i bruk. ... har du en link? Siter
Marhil Skrevet 15. august 2016 Skrevet 15. august 2016 (endret) Jeg kjørte søket først fra folloren.no sine sider: http://www.folloren.no/toemmedager-og-sortering-av-avfall.342505.no.html Deretter brukte jeg "Utviklerverktøy" i Firefox for å se på kommunikasjonen i et virkelig søk (huset mitt) Så klippet jeg ut headeren fra AJAX-kallet fra nettside-søket inn i headeren til det direkte tjenestekallet (kunne sikkert prøvd meg fram, men var lat ). Bl.a er det en application key og et kommunenummer som jeg tipper må med. Mulig også Referer og Kommunenr, selv om den også er med i query-stringen. Gatekode ser ut til å referere til vegnummerdelen i vegrefereransen til gata di. Altså kun vegnummer uten RV, FV, eller KV foran. Du kan finne ditt vegnummer i vegkartet/NVDB i SVVs karttjeneste her: https://www.vegvesen.no/vegkart URLen til tømme-tjenesten blir da følgende følgende: https://komteksky.norkart.no/komtek.renovasjonwebapi/api/tommekalender/?kommunenr=[DITTKOMMUNENR]&gatenavn=[GATENAVNETDITTHER]&gatekode=[DITTVEGNUMMERHER]&husnr=24B Request-header som fungerte: Host: komteksky.norkart.no User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: nb-NO,nb;q=0.9,no-NO;q=0.8,no;q=0.6,nn-NO;q=0.5,nn;q=0.4,en-US;q=0.3,en;q=0.1 Accept-Encoding: gzip, deflate, br Kommunenr: 217 RenovasjonAppKey: AE13DEEC-804F-4615-A74E-B4FAC11F0A30 Content-Type: application/json; charset=UTF-8; Referer: https://komteksky.norkart.no/komtek.renovasjonwebapi/api/tommekalender/?kommunenr=217&gatenavn=[DITTGATENAVNHER] &gatekode=[DINGATEKODE]&husnr=24B Connection: keep-alive Edit: glemte resultatet... [{"FraksjonId":1,"Tommedatoer":["2016-08-24T00:00:00","2016-09-07T00:00:00"]}, {"FraksjonId":2,"Tommedatoer":["2016-09-14T00:00:00","2016-10-13T00:00:00"]}, {"FraksjonId":7,"Tommedatoer":["2016-09-14T00:00:00","2016-10-13T00:00:00"]}] Henholdsvis tømming av restavfall (fraksjonsid 1) og tømming av papir og plast Endret 15. august 2016 av Hilmar 1 Siter
Haavard Skrevet 6. desember 2017 Skrevet 6. desember 2017 På 15.8.2016 den 19.36, Hilmar skrev: Jeg kjørte søket først fra folloren.no sine sider: http://www.folloren.no/toemmedager-og-sortering-av-avfall.342505.no.html Deretter brukte jeg "Utviklerverktøy" i Firefox for å se på kommunikasjonen i et virkelig søk (huset mitt) Så klippet jeg ut headeren fra AJAX-kallet fra nettside-søket inn i headeren til det direkte tjenestekallet (kunne sikkert prøvd meg fram, men var lat ). Bl.a er det en application key og et kommunenummer som jeg tipper må med. Mulig også Referer og Kommunenr, selv om den også er med i query-stringen. Gatekode ser ut til å referere til vegnummerdelen i vegrefereransen til gata di. Altså kun vegnummer uten RV, FV, eller KV foran. Du kan finne ditt vegnummer i vegkartet/NVDB i SVVs karttjeneste her: https://www.vegvesen.no/vegkart URLen til tømme-tjenesten blir da følgende følgende: https://komteksky.norkart.no/komtek.renovasjonwebapi/api/tommekalender/?kommunenr=[DITTKOMMUNENR]&gatenavn=[GATENAVNETDITTHER]&gatekode=[DITTVEGNUMMERHER]&husnr=24B Request-header som fungerte: Host: komteksky.norkart.no User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: nb-NO,nb;q=0.9,no-NO;q=0.8,no;q=0.6,nn-NO;q=0.5,nn;q=0.4,en-US;q=0.3,en;q=0.1 Accept-Encoding: gzip, deflate, br Kommunenr: 217 RenovasjonAppKey: AE13DEEC-804F-4615-A74E-B4FAC11F0A30 Content-Type: application/json; charset=UTF-8; Referer: https://komteksky.norkart.no/komtek.renovasjonwebapi/api/tommekalender/?kommunenr=217&gatenavn=[DITTGATENAVNHER] &gatekode=[DINGATEKODE]&husnr=24B Connection: keep-alive Edit: glemte resultatet... [{"FraksjonId":1,"Tommedatoer":["2016-08-24T00:00:00","2016-09-07T00:00:00"]}, {"FraksjonId":2,"Tommedatoer":["2016-09-14T00:00:00","2016-10-13T00:00:00"]}, {"FraksjonId":7,"Tommedatoer":["2016-09-14T00:00:00","2016-10-13T00:00:00"]}] Henholdsvis tømming av restavfall (fraksjonsid 1) og tømming av papir og plast Er det noen som har laget et script e.l som faktisk får disse tømmedatoene tilgjengelig i HomeSeer? Ønsker å lage varsler om tømming av søpla, men har dessverre ikke nok greie på programmering til at jeg kommer meg noe videre med denne informasjonen... Tror jeg skal komme meg i mål hvis noen har et script som bare henter ut de tilgjengelige datoene for restavfall, papir&plast osv..? 1 Siter
clio75 Skrevet 24. mars 2019 Skrevet 24. mars 2019 On 15/08/2016 at 19:36, Hilmar said: Jeg kjørte søket først fra folloren.no sine sider: http://www.folloren.no/toemmedager-og-sortering-av-avfall.342505.no.html Deretter brukte jeg "Utviklerverktøy" i Firefox for å se på kommunikasjonen i et virkelig søk (huset mitt) Så klippet jeg ut headeren fra AJAX-kallet fra nettside-søket inn i headeren til det direkte tjenestekallet (kunne sikkert prøvd meg fram, men var lat ). Bl.a er det en application key og et kommunenummer som jeg tipper må med. Mulig også Referer og Kommunenr, selv om den også er med i query-stringen. Gatekode ser ut til å referere til vegnummerdelen i vegrefereransen til gata di. Altså kun vegnummer uten RV, FV, eller KV foran. Du kan finne ditt vegnummer i vegkartet/NVDB i SVVs karttjeneste her: https://www.vegvesen.no/vegkart URLen til tømme-tjenesten blir da følgende følgende: https://komteksky.norkart.no/komtek.renovasjonwebapi/api/tommekalender/?kommunenr=[DITTKOMMUNENR]&gatenavn=[GATENAVNETDITTHER]&gatekode=[DITTVEGNUMMERHER]&husnr=24B Request-header som fungerte: Host: komteksky.norkart.no User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: nb-NO,nb;q=0.9,no-NO;q=0.8,no;q=0.6,nn-NO;q=0.5,nn;q=0.4,en-US;q=0.3,en;q=0.1 Accept-Encoding: gzip, deflate, br Kommunenr: 217 RenovasjonAppKey: AE13DEEC-804F-4615-A74E-B4FAC11F0A30 Content-Type: application/json; charset=UTF-8; Referer: https://komteksky.norkart.no/komtek.renovasjonwebapi/api/tommekalender/?kommunenr=217&gatenavn=[DITTGATENAVNHER] &gatekode=[DINGATEKODE]&husnr=24B Connection: keep-alive Edit: glemte resultatet... [{"FraksjonId":1,"Tommedatoer":["2016-08-24T00:00:00","2016-09-07T00:00:00"]}, {"FraksjonId":2,"Tommedatoer":["2016-09-14T00:00:00","2016-10-13T00:00:00"]}, {"FraksjonId":7,"Tommedatoer":["2016-09-14T00:00:00","2016-10-13T00:00:00"]}] Henholdsvis tømming av restavfall (fraksjonsid 1) og tømming av papir og plast Hei, Vriker dette enda ? Siter
clio75 Skrevet 8. oktober 2019 Skrevet 8. oktober 2019 @Moskuseller @ZoRaC Hvordan bruker få dette inn i Homeseer ? Har bekreftet at dette virker på min adresse via en restapi tester. Men trenger et spark i riktig rettning på hvordan man kan få dette inn i Homeseer. Script / plugin / MQTT ?? På forhånd takk Siter
Moskus Skrevet 8. oktober 2019 Skrevet 8. oktober 2019 Tror du må minne oss på hva "dette" er og hvordan det ser ut... Siter
clio75 Skrevet 8. oktober 2019 Skrevet 8. oktober 2019 2 minutes ago, Moskus said: Tror du må minne oss på hva "dette" er og hvordan det ser ut... he he. Kan jo det Min Renovasjon bruker also et RestAPI. Testet I Chrome: GET /komtek.renovasjonwebapi/api/tommekalender/?kommunenr=0710&gatenavn=bl%C3%A5b%C3%A6rveien&gatekode=45024&husnr=16 HTTP/1.1 Kommunenr: 0710 RenovasjonAppKey: AE13DEEC-804F-4615-A74E-B4FAC11F0A30 Host: komteksky.norkart.no Da får jeg : [ { "FraksjonId": 2, "Tommedatoer": [ "2019-10-14T00:00:00", "2019-11-04T00:00:00" ] }, { "FraksjonId": 3, "Tommedatoer": [ "2019-10-14T00:00:00", "2019-10-21T00:00:00" ] }, { "FraksjonId": 4, "Tommedatoer": [ "2019-10-21T00:00:00", "2019-12-02T00:00:00" ] }, { "FraksjonId": 7, "Tommedatoer": [ "2019-10-21T00:00:00", "2019-11-11T00:00:00" ] }, { "FraksjonId": 1, "Tommedatoer": [ "2019-10-28T00:00:00", "2019-11-18T00:00:00" ] } ] Spørsmålet var; Hvordan får jeg denne informasjonene inn i Homeseer ? Siter
Moskus Skrevet 8. oktober 2019 Skrevet 8. oktober 2019 Det beste "sparket" i riktig retning tror jeg er her: Du kan begynne med å hardkode deviceREf til det nummeret du har fått for en virtuell device, og så endre url'en i neste linje (bare erstatt hele greia). Selve "tolkningen" av JSON-strengen skjer her: 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 ... det som står her er at det lages først et JSON-objekt, og deretter ser jeg etter "items" med index 0 til 4 (altså totalt 5), og henter ut "title" og "description". Siter
clio75 Skrevet 13. oktober 2019 Skrevet 13. oktober 2019 On 08/10/2019 at 15:51, Moskus said: ... det som står her er at det lages først et JSON-objekt, og deretter ser jeg etter "items" med index 0 til 4 (altså totalt 5), og henter ut "title" og "description". Da er jeg igang. Får denne tilbake Da har jeg dette script: Sub Main(ByVal parameters As Object) 'Moskus 2019 Dim devID As Integer = parameters.ToString.Split("|")(0) Dim url As String = "https://komteksky.norkart.no/komtek.renovasjonwebapi/api/tommekalender/?kommunenr=0710&gatenavn=bl%C3%A5b%C3%A6rveien&gatekode=45024&husnr=16" Dim source As String = "" Try Using client As New System.Net.WebClient 'Sette Headers client.headers.set("Kommunenr", "0710") client.headers.set("RenovasjonAppKey", "AE13DEEC-804F-4615-A74E-B4FAC11F0A30") Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls12 client.Encoding = System.Text.Encoding.UTF8 source = client.DownloadString(url) End Using Catch ex As Exception hs.WriteLog("Soppel Error", "Net Feil: " & ex.Message) End Try If source = "" Then hs.WriteLog("soppel Error", "Got no response from url: " & url) Exit Sub End If Try hs.WriteLog("Soppel debug", source ) Dim json = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Object)(source) ' Dim output As String = "" For i As Integer = 1 To 4 output &= "• <b>" & json("")(i)("Tommedatoer") & "</b><br>" dim temp as string = output hs.WriteLog("Soppel debug", temp) output &= json("FraksjonId")(i)("Tommedatoer") & "<br><br>" Next hs.SetDeviceString(devID, output, True) Catch ex As Exception hs.WriteLog("Soppel Error", "Net Feil: " & ex.Message) End Try End Sub Får i loggen : okt-14 00:35:02 Soppel ErrorNet Feil: Accessed JArray values with invalid key value: "". Int32 array index expected. okt-14 00:35:02 Soppel debug[{"FraksjonId":2,"Tommedatoer":["2019-10-14T00:00:00","2019-11-04T00:00:00"]},{"FraksjonId":3,"Tommedatoer":["2019-10-14T00:00:00","2019-10-21T00:00:00"]},{"FraksjonId":4,"Tommedatoer":["2019-10-21T00:00:00","2019-12-02T00:00:00"]},{"FraksjonId":7,"Tommedatoer":["2019-10-21T00:00:00","2019-11-11T00:00:00"]},{"FraksjonId":1,"Tommedatoer":["2019-10-28T00:00:00","2019-11-18T00:00:00"]}] Ser ut som Get på rest API er OK. Men tolkningen av Json som kommer tilbake ikke er riktig. Trenger et nytt spark eller tips for å komme videre Siter
Moskus Skrevet 14. oktober 2019 Skrevet 14. oktober 2019 Dette: json("FraksjonId")(i)("Tommedatoer") gir også en "array". Prøv med: json("FraksjonId")(i)("Tommedatoer")(0) Siter
clio75 Skrevet 14. oktober 2019 Skrevet 14. oktober 2019 3 minutes ago, Moskus said: Dette: json("FraksjonId")(i)("Tommedatoer") gir også en "array". Prøv med: json("FraksjonId")(i)("Tommedatoer")(0) Forsatt : Net Feil: Accessed JArray values with invalid key value: "FraksjonId". Int32 array index expected. Noen flere tips ? Siter
Moskus Skrevet 14. oktober 2019 Skrevet 14. oktober 2019 Ja, det er to steder, og det behøver bare å være ett. Fjern det siste. Siter
Moskus Skrevet 14. oktober 2019 Skrevet 14. oktober 2019 Nei, vent. Det kan være at det første også en en array... litt usikker på hvordan det løses, jeg må sjekke. 1 Siter
Anbefalte innlegg
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.