Gå til innhold
  • Bli medlem
Moskus

SCRIPT: Fridager.vb - Sjekk for offentlige høytider og andre tilsvarende dager

Anbefalte innlegg

Det er bra at en av mine første OpenSource-kodesnutter kom til nytte :) Det er ikke alle som vet at det å beregne helligdager i Norge er enkel mattematikk ;)

  • Like 1

Del dette innlegget


Lenke til innlegg
Del på andre sider
21 minutter siden, xibriz skrev:

Det er ikke alle som vet at det å beregne helligdager i Norge er enkel mattematikk ;)

Jeg visste ikke... ;) 

Del dette innlegget


Lenke til innlegg
Del på andre sider
36 minutter siden, xibriz skrev:

Det er ikke alle som vet at det å beregne helligdager i Norge er enkel mattematikk ;)

 

Hmm... når jeg gikk på skolen så var ikke ligninger med 14 ukjente betegnelsen på "enkel mattematikk"...

Spoiler

 Public Function GetEasterDate(ByVal Year As Integer) As Date
        'Originally taken from: http://www.thoughtproject.com/Snippets/Easter/Easter.vb.txt

        Dim a As Integer
        Dim b As Integer
        Dim c As Integer
        Dim d As Integer
        Dim e As Integer
        Dim f As Integer
        Dim g As Integer
        Dim h As Integer
        Dim i As Integer
        Dim k As Integer
        Dim l As Integer
        Dim m As Integer
        Dim n As Integer
        Dim p As Integer

        If Year < 1583 Then
            Return Nothing
        Else

            ' Step 1: Divide the year by 19 and store the
            ' remainder in variable A.  Example: If the year
            ' is 2000, then A is initialized to 5.

            a = Year Mod 19

            ' Step 2: Divide the year by 100.  Store the integer
            ' result in B and the remainder in C.

            b = Year \ 100
            c = Year Mod 100

            ' Step 3: Divide B (calculated above).  Store the
            ' integer result in D and the remainder in E.

            d = b \ 4
            e = b Mod 4

            ' Step 4: Divide (b+8)/25 and store the integer
            ' portion of the result in F.

            f = (b + 8) \ 25

            ' Step 5: Divide (b-f+1)/3 and store the integer
            ' portion of the result in G.

            g = (b - f + 1) \ 3

            ' Step 6: Divide (19a+b-d-g+15)/30 and store the
            ' remainder of the result in H.

            h = (19 * a + b - d - g + 15) Mod 30

            ' Step 7: Divide C by 4.  Store the integer result
            ' in I and the remainder in K.

            i = c \ 4
            k = c Mod 4

            ' Step 8: Divide (32+2e+2i-h-k) by 7.  Store the
            ' remainder of the result in L.

            l = (32 + 2 * e + 2 * i - h - k) Mod 7

            ' Step 9: Divide (a + 11h + 22l) by 451 and
            ' store the integer portion of the result in M.

            m = (a + 11 * h + 22 * l) \ 451

            ' Step 10: Divide (h + l - 7m + 114) by 31.  Store
            ' the integer portion of the result in N and the
            ' remainder in P.

            n = (h + l - 7 * m + 114) \ 31
            p = (h + l - 7 * m + 114) Mod 31

            ' At this point p+1 is the day on which Easter falls.
            ' n is 3 for March or 4 for April.

            Return DateSerial(Year, n, p + 1)

        End If

 

... men joda, det ser vel verre ut enn det egentlig er. :) 

Del dette innlegget


Lenke til innlegg
Del på andre sider
17 minutter siden, ZoRaC skrev:

Hmm... når jeg gikk på skolen så var ikke ligninger med 14 ukjente betegnelsen på "enkel mattematikk"...

Det er ikke antall ukjente som løses. Alle variablene har jo en kjent løsning.

Verre er det hvis vi måtte kjøre annen analyse på det.

 

Vet heller ikke om jeg ser problemet. Men så liker jeg matte. ;) 

Del dette innlegget


Lenke til innlegg
Del på andre sider
1 time siden, Moskus skrev:

Det er ikke antall ukjente som løses. Alle variablene har jo en kjent løsning.

 

Definisjonsspørsmål... "p" lar seg ikke løse uten "h" og "m", som ikke lar seg løse uten "a", "b", "d" og "g", osv. Før man har regnet ut dem er de jo "ukjent". ;) 

Del dette innlegget


Lenke til innlegg
Del på andre sider
16 minutter siden, ZoRaC skrev:

Definisjonsspørsmål...

Nei. ;)

Noen er selvfølgelig avhengig av de andre, men alle har en kjent løsning.

Del dette innlegget


Lenke til innlegg
Del på andre sider
44 minutter siden, ZoRaC skrev:

 

Ser ikke helt forskjellen på ligningssettet med 14 ukjente og f.eks dette med 3...

https://www.diskusjon.no/index.php?showtopic=1466150

 

I dette tilfelle er det bare en ukjent variabel.

 

1. påskedag = X
Langfredag = X-2
Skjærtorsdag = X-3
osv.

 

Løser man X har man resten.

 

Endret av xibriz

Del dette innlegget


Lenke til innlegg
Del på andre sider
1 time siden, ZoRaC skrev:

 

Ser ikke helt forskjellen på ligningssettet med 14 ukjente og f.eks dette med 3...

https://www.diskusjon.no/index.php?showtopic=1466150

Fordi alle de fjorten går ikke inn i hverandre, Det er ikke 14 ligninger med 14 ukjente. :) 

 

Men samme det. Scriptet fungerer. ;) 

Del dette innlegget


Lenke til innlegg
Del på andre sider

Det kunne man.

Startet i gårkveld på et helligdags-script som tar for seg en kalendernettside for å finne ut om det er hellig eller ei.

Viste ikke dette kunne løses matematisk, men jeg akter å fortsette (mest tor gøy).

 

Fordelen med matematikk som her er at man slipper være avhengig av tilgang til en webside og Internett.

Fordelen med å hente info fra en side er at man slipper å ha korrekt dato stilt inn på serveren samt slipper ta høyde for hvorvidt politiske krefter endrer helligdagene.

Ikke at jeg tror noen av de to grunnene er særlig betydelige :P

 

Endret av Evelen

Del dette innlegget


Lenke til innlegg
Del på andre sider
2 timer siden, Asterix skrev:

Kunne også potensielt løses med mindre matematikk, med denne? https://webapi.no/api/v1/holydays/2017

Mindre matematikk, riktignok, men mer styr for å tolke det. Tipper at scriptet over vil kreve vesentlig mindre ressurser enn å laste ned en fil og tolke den, og vurdere om datoen er en hellidag eller ikke (men den totale ressursbruken er neppe avgjørende).

 

Og så er det flere muligheter for feil. Hva om tjenesten flyttes, eller legges ned? Eller rett og slett bare har en dårlig dag? ;) 

Og man må uansett gjøre unntak for sine egne definerte feriedager, da webapi'en kun gir de offentlige høytidene.

Del dette innlegget


Lenke til innlegg
Del på andre sider

 

Det kan jo deles opp eventuelt i flere script, eller hendelser. Kanskje ryddigst sånn? 

 

f.eks

if offentlig_helligdag_Script finner helligdag

Set helligdag_device=on, else off

 

if fri_fra_jobben_script finner fri

Set fridag_device=on, else off

 

if helligdag_device or fridag_device = on

set fri_total = on, else off

Endret av Evelen
  • Like 1

Del dette innlegget


Lenke til innlegg
Del på andre sider
12 minutter siden, Evelen skrev:

Det kan jo deles opp eventuelt i flere script, eller hendelser.

... så man kan gjøre det enda mer komplisert enn nødvendig? :P 

Del dette innlegget


Lenke til innlegg
Del på andre sider
1 time siden, Moskus skrev:

... så man kan gjøre det enda mer komplisert enn nødvendig? :P 

øyet som ser det ;) blir vel egentlig bare mindre komplisert slik jeg ser det.

Del dette innlegget


Lenke til innlegg
Del på andre sider
1 hour ago, Moskus said:

Mindre matematikk, riktignok, men mer styr for å tolke det. Tipper at scriptet over vil kreve vesentlig mindre ressurser enn å laste ned en fil og tolke den, og vurdere om datoen er en hellidag eller ikke (men den totale ressursbruken er neppe avgjørende).

 

Og så er det flere muligheter for feil. Hva om tjenesten flyttes, eller legges ned? Eller rett og slett bare har en dårlig dag? ;) 

Og man må uansett gjøre unntak for sine egne definerte feriedager, da webapi'en kun gir de offentlige høytidene.

Egentlig om man snakker om å håndtere også andre fridager, så er hardcoding i en script ikke optimal synes jeg. Men det tilbyr en kjapp løsning til problemet, uten tvil.

Ideelt burde enten en script lese en annen kalender (som det var foreslått i samme tråd), eller burde HS ha en kalender som vi kunne forsyne med ferie og andre ting fra api'er eller ikke. 

Har feks en Somfy Tahoma boks, som har en grei måte å håndtere det, som jeg kunne tenke neg å ha i HS; det er en 'vanlig' kalender hvor du kan knytte 'dagstype' til de enkelte dager, feks standard, weekend, ferie, hjemmekontor osv...

Så definerer du hva som skjer i de forskjellige dagstypene. Alt på en grafisk måte (drag&drop). 

Ser at det ligger også noen plugins for å bringe en kalender i HS (feks HiTec), eller bringe innholdet til HS. Kanskje noen har erfaring med dette? ;)

Del dette innlegget


Lenke til innlegg
Del på andre sider
9 timer siden, Asterix skrev:

Ideelt burde enten en script lese en annen kalender (som det var foreslått i samme tråd), eller burde HS ha en kalender som vi kunne forsyne med ferie og andre ting fra api'er eller ikke. 

Det er uten tvil det ideelle. "Hardkoding" av fridager (det er nå enkelt å flytte til en ini-fil, hvis du synes det blir mindre "hardkodet" av det ;) ) er i mellomtiden et nødvendig onde, slik jeg ser det.

 

Jeg har lenge hatt en drøm om at HS leser Outlook.com-felleskalenderen vår. Men har foreløpig ikke fått det til.

Del dette innlegget


Lenke til innlegg
Del på andre sider
11 minutes ago, Moskus said:

 

Jeg har lenge hatt en drøm om at HS leser Outlook.com-felleskalenderen vår. Men har foreløpig ikke fått det til.

Når jeg Googlet litt rundt, fant jeg noe om det (fra han som lagde Tenscripting tror jeg). Men det var antakelig for den gamle versjonen av Outlook?

Del dette innlegget


Lenke til innlegg
Del på andre sider

Outlook-versjonenes APIer er relativt like, så det kan godt være det fungerer nå. Mitt problem er imidlertid at det ikke er "default calendar" jeg skal hente informasjon fra, og det var plutselig vanskeligere enn det burde. Men det er mulig jeg som er treig, og ikke har prøvd nok...

Del dette innlegget


Lenke til innlegg
Del på andre sider

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå

  • Lignende innhold

    • Av Baron
      Takke være en svært god HomeSeer skolegang her på forum, har oppkobling gått veldig smertefritt en så lenge. 
       
      Men, jeg har litt utfordring andre muligens har løst før meg. For å ikke gape for høyt, begynner jeg med mine utvendige kameraet fra foscam. Har en smule gadget-sykdom sammen med da litt fornuftig overvåkning av lager til firma osv så det har blitt en del av disse på tomta. 
       
      Men jeg klarer ikke få disse inn i HS. Noen råd? Ser det er en auto add der men den gir meg ingenting..
    • Av Fermate
      Sønnen min har akkurat total renovert leiligheten sin og der har vi puttet inn bare ELKO ESH dimmere og ELKO ESH termostater. Jeg sitter derfor å setter opp ett HomeSeer system for ham og tenkte at jeg skulle logge det jeg gjorde i en guide.
      Jeg har altså valgt å kjøre en ConBee USB stick rett i samme maskin som kjører HomeSeer.
      Jeg slenger på litt ekstra IKEA stoff også så kan flere ha glede av det og det er dessuten lettere å teste med i starten.
       
      OBS det kan lønne seg å sette en fast IP på denne maskinen før du starter og enten starte HS FØR deCONZ slik at HS får port 80 og deCONZ port 8080.
      Eller sette HS til å bruke en annen port i Tools/Setup/Network og la deCONZ få ta port 80
      (Tar input på hvordan deCONZ sin web server kan konfigureres til å la være å ta port 80)
       
      OK, HomeSeer er installert og oppdatert.
       
      Legg til JowiHue plugin i HS
       
      Kjøp en ConBee hos feks. Kjell&co 
       
      Gå til denne siden og hent driveren for windows / Setup executable som beskrevet her.
       
      Pakk den ut og kjør den. Restart PC
       
      Gå til Dresden Elektronik og last ned siste versjon av deCONZ for Windows:
      https://www.dresden-elektronik.de/funktechnik/products/software/pc-software/deconz/?L=1
       
      Kjør install og start den.
       
      Om den ikke finner USBStick'en kommer den opp slik med tom dropdown boks:
       

       
      Forsøk da å plugge sticken i en annen USB port.
       
      Om den blir gjenkjent hopper deCONZ automatisk videre til dette bildet:
       

       
      Nå kan vi teste ved å åpne ZigBee nettet for JOIN slik:
       

       
      Nå er ZigBee nettet åpent for JOIN i 60 sekunder.
       
      Skru en IKEA Trådfri pære av og på 6 ganger (du kan godt gjøre det ved å vri pæra i sokkelen) og la den være på så vil systemet oppdage den slik:
       

       
      Gratulerer du har nå et ZigBee nett kjørende
       
      Test ved å skru på CLUSTER INFO, Klikk på den lille sirkelen til høyre på pæra, klikk på Cluster 0006 On/Off og test Av/På:
       

       
      Du kan nå styre pæra fra PCen  
       
      La oss nå koble dette til HomeSeer, først tar vi opp WebApp'en:
       
       
      Trykk på WebApp og logg inn med 
      user: delight
      pwd: delight
       

       
      Kjør software update om den er tilgjengelig:
       

       

       
      Du kan følge med her:

       
       
      Da er vi klar til å koble til HomeSeer med JowiHue plugin'en
       
      Gå til konfigurasjons siden og trykk Register Bridge:
       

       
      Mens den står og leter, gå til WebAppen, velg Settings under Menu og trykk UNLOCK GATEWAY:
       

       
       
      Nå vil JowiHue finne denne:
       

       
       
      Og vi kan styre pæra fra HomeSeer  :
       

       
       
      La oss nå for moroskyld inkludere en IKEA fjernkontroll (den runde)
      Denne gangen kan vi bruke WebInterfacet til å åpne nettet for JOIN:


       
      Ta av lokket på fjernkontrollen og trykk 4 ganger på knappen:



      Og her kommer den:



      Scan for Devices i JowiHue:


       
      Og plopp, her kommer den:
       

       
      Nå kunne vi laget en event i HS som styrer pæra (eller noe annet..) men nå er vel ikke akkurat IKEA sine  brytere å foretrekke for slikt..
       
      La oss heller koble til en ELKO dimmer.
       
      Sett spenning på dimmeren (elektriker!) Åpne ZigBee nettet for Join og trykk 1 og 3 samtidig til LED 2 blinker:

       
      og her kommer den:
       

       
      Og den ser akkurat ut som IKEA pæra i HS etter å ha latt JowiHue lete den opp:

       
      OK, men hva med ELKO termostaten og ELKO "Endevender dimmeren"??
       
      Vel, deCONZ rapporterer termostaten som FUBAR på et sted men lar deg sette temperaturen fra selve deCONZ softwaren. Den dukker derimot ikke opp i WebAppen og (da) heller ikke i JowiHue. Jeg tenker at APIet mangler den objekt typen og at vi bør få shippet en slik termostat til de som oppdaterer APIet.
       
      Endevender dimmeren lar seg også detektere i deCONZ men dukker heller ikke opp i APIet så her har vi nok samme problemet.
       
      Jeg mener å huske at @Moskus og jeg testet litt på å "binde" clustere fra denne direkte til en IKEA pære i deCONZ og fant ut at den kun lot seg binde til EN pære om gangen. (Dette hadde jo holdt om en kunne "biinde den til HS")
      Problemet er at jeg ikke får til den bindingen lengre og jeg tar gjerne input på dette.
       
      Skru på "Binding Dropbox" og eksprimenter med å dra et cluster til Source og Destination og trykke Bind:
       

       
      Her har dere et startpunkt for å eksperimentere ihvertfall.
       
      Det praktiske vi har oppnådd er å kunne styre IKEA pærer og ELKO dimmere fra HomeSeer og derfor fra alt annet som HS kan ta av innput.
      (Som tale  )
       
       
       

      Vis full oppføring
    • Av Fermate
      Sønnen min har akkurat total renovert leiligheten sin og der har vi puttet inn bare ELKO ESH dimmere og ELKO ESH termostater. Jeg sitter derfor å setter opp ett HomeSeer system for ham og tenkte at jeg skulle logge det jeg gjorde i en guide.
      Jeg har altså valgt å kjøre en ConBee USB stick rett i samme maskin som kjører HomeSeer.
      Jeg slenger på litt ekstra IKEA stoff også så kan flere ha glede av det og det er dessuten lettere å teste med i starten.
       
      OBS det kan lønne seg å sette en fast IP på denne maskinen før du starter og enten starte HS FØR deCONZ slik at HS får port 80 og deCONZ port 8080.
      Eller sette HS til å bruke en annen port i Tools/Setup/Network og la deCONZ få ta port 80
      (Tar input på hvordan deCONZ sin web server kan konfigureres til å la være å ta port 80)
       
      OK, HomeSeer er installert og oppdatert.
       
      Legg til JowiHue plugin i HS
       
      Kjøp en ConBee hos feks. Kjell&co 
       
      Gå til denne siden og hent driveren for windows / Setup executable som beskrevet her.
       
      Pakk den ut og kjør den. Restart PC
       
      Gå til Dresden Elektronik og last ned siste versjon av deCONZ for Windows:
      https://www.dresden-elektronik.de/funktechnik/products/software/pc-software/deconz/?L=1
       
      Kjør install og start den.
       
      Om den ikke finner USBStick'en kommer den opp slik med tom dropdown boks:
       

       
      Forsøk da å plugge sticken i en annen USB port.
       
      Om den blir gjenkjent hopper deCONZ automatisk videre til dette bildet:
       

       
      Nå kan vi teste ved å åpne ZigBee nettet for JOIN slik:
       

       
      Nå er ZigBee nettet åpent for JOIN i 60 sekunder.
       
      Skru en IKEA Trådfri pære av og på 6 ganger (du kan godt gjøre det ved å vri pæra i sokkelen) og la den være på så vil systemet oppdage den slik:
       

       
      Gratulerer du har nå et ZigBee nett kjørende
       
      Test ved å skru på CLUSTER INFO, Klikk på den lille sirkelen til høyre på pæra, klikk på Cluster 0006 On/Off og test Av/På:
       

       
      Du kan nå styre pæra fra PCen  
       
      La oss nå koble dette til HomeSeer, først tar vi opp WebApp'en:
       
       
      Trykk på WebApp og logg inn med 
      user: delight
      pwd: delight
       

       
      Kjør software update om den er tilgjengelig:
       

       

       
      Du kan følge med her:

       
       
      Da er vi klar til å koble til HomeSeer med JowiHue plugin'en
       
      Gå til konfigurasjons siden og trykk Register Bridge:
       

       
      Mens den står og leter, gå til WebAppen, velg Settings under Menu og trykk UNLOCK GATEWAY:
       

       
       
      Nå vil JowiHue finne denne:
       

       
       
      Og vi kan styre pæra fra HomeSeer  :
       

       
       
      La oss nå for moroskyld inkludere en IKEA fjernkontroll (den runde)
      Denne gangen kan vi bruke WebInterfacet til å åpne nettet for JOIN:


       
      Ta av lokket på fjernkontrollen og trykk 4 ganger på knappen:



      Og her kommer den:



      Scan for Devices i JowiHue:


       
      Og plopp, her kommer den:
       

       
      Nå kunne vi laget en event i HS som styrer pæra (eller noe annet..) men nå er vel ikke akkurat IKEA sine  brytere å foretrekke for slikt..
       
      La oss heller koble til en ELKO dimmer.
       
      Sett spenning på dimmeren (elektriker!) Åpne ZigBee nettet for Join og trykk 1 og 3 samtidig til LED 2 blinker:

       
      og her kommer den:
       

       
      Og den ser akkurat ut som IKEA pæra i HS etter å ha latt JowiHue lete den opp:

       
      OK, men hva med ELKO termostaten og ELKO "Endevender dimmeren"??
       
      Vel, deCONZ rapporterer termostaten som FUBAR på et sted men lar deg sette temperaturen fra selve deCONZ softwaren. Den dukker derimot ikke opp i WebAppen og (da) heller ikke i JowiHue. Jeg tenker at APIet mangler den objekt typen og at vi bør få shippet en slik termostat til de som oppdaterer APIet.
       
      Endevender dimmeren lar seg også detektere i deCONZ men dukker heller ikke opp i APIet så her har vi nok samme problemet.
       
      Jeg mener å huske at @Moskus og jeg testet litt på å "binde" clustere fra denne direkte til en IKEA pære i deCONZ og fant ut at den kun lot seg binde til EN pære om gangen. (Dette hadde jo holdt om en kunne "biinde den til HS")
      Problemet er at jeg ikke får til den bindingen lengre og jeg tar gjerne input på dette.
       
      Skru på "Binding Dropbox" og eksprimenter med å dra et cluster til Source og Destination og trykke Bind:
       

       
      Her har dere et startpunkt for å eksperimentere ihvertfall.
       
      Det praktiske vi har oppnådd er å kunne styre IKEA pærer og ELKO dimmere fra HomeSeer og derfor fra alt annet som HS kan ta av innput.
      (Som tale  )
       
       
       
    • Av Moskus
      Dette scriptet lar deg hente inn trafikkinformasjon fra EnTur.  
       
      Finne reiseruter, IDer for "StopPlace" og "Quay"
      Å bruke scriptet er ikke så vanskelig. Det vanskelige er å finne IDene til stasjonene du vil spore. 
       
      La oss si at jeg vil finne alle busser som går fra "Tasta Senter" (og mot Stavanger sentrum, men det kommer vi tilbake til)
      Gå til en-tur.no Tast inn stoppesteder til og fra Kopier URL'en fra nettleseren etter søket (f.eks. som denne) inn URLdecoder.org for å gjøre den lettere å lese. Finn "startID" og kopier ut strengen som begynner med "NSR:". For Tasta Senter er denne "NSR:StopPlace:28163"
       
       
      Vel og bra!  Nå vet vi at busstoppet ved Tasta Senter heter "NSR:StopPlace:28163". Men et busstopp kan faktisk ha flere plattformer, f.eks. en på hver side av veien. Det heter visst "Quay" på engelsk.
       
      Jeg er ikke interessert i begge sider av veien for kun en av dem har vanligvis trafikk mot sentrum. For å finne Quay, må vi bruke GraphQL-exploreren til EnTur (som dessverre ikke er like forseggjort som Tibber sin). Vi er interessert i denne spørringen som finner alle avganger for et stoppested, og vi må endre id: "NSR:StopPlace:28163" og avgangstiden (startTime:"2018-06-19T09:00:00+0200") til det riktige. I skrivende stund ser min spørring slik ut. 
       
      Så går vi gjennom resultatene, vi skal prøve å finne riktig "Quay".
       
      Det første treffet er inneholder denne teksten:
      "destinationDisplay": { "frontText": "Tasta - Vardeneset" }, "quay": { "id": "NSR:Quay:48450" }, ... men en buss med "Tasta - Vardeneset" tar meg i feil retning! Ergo er "NSR:Quay:48450" ikke riktig.
       
      Det neste treffet inneholder dette:
      "destinationDisplay": { "frontText": "Stavanger" }, "quay": { "id": "NSR:Quay:48449" }, Jepp! Riktig! Altså kan vi filtrere på "NSR:Quay:48449" for å finne avganger fra "NSR:StopPlace:28163" som kun går mot Stavanger.
       
       
       
      Installasjon
      Du trenger en referanse til Newtonsoft.Json.dll for at scriptet skal fungere. Json er mye i bruk i dag, og siden jeg har oppdaget at Webclient nå er innebygget i HS3 (og superenkel å bruke), så er det bare å legge inn Json-støtte for scripting også.
       
      Lukk HS3. Åpne settings.ini Finn linjen som begynner med ScriptingReference= Vanligvis står det kun System.Core;System.Core.dll. Vi skal legge til Newtonsoft bak der. Hos meg (på Windows) skal linjen da se slik ut:  
      ScriptingReferences=System.Core;System.Core.dll,Newtonsoft.Json;C:\Program Files (x86)\HomeSeer HS3\Bin\homeseer\Newtonsoft.Json.dll Lagre og start HS3 igjen. For Linux skal den muligens se slik ut, men du må sjekke plasseringen på /bin/homeseer/Newtonsoft.Json.dll selv.
      ScriptingReferences=System.Core;System.Core.dll,Newtonsoft.Json;/usr/local/HomeSeer/bin/homeseer/Newtonsoft.Json.dll  
       
      Kopier scriptet under og lagre det som EnTur.vb. Etter massiv testing fra @Tor-Erik er vi ganske sikre på at det også kjører på Linux.  
       
      EnTur.vb:
       
       
      Du må også lage deg noen devicer selv for å faktisk vise data. Dette gjør foreløpig ikke scriptet for deg. Den trenger ingen status values, men kanskje en enkel status Graphics for å ha et ikon (istedenfor Off/Dim/On-ikoner)
        

       

       
       
       
      Så trenger vi et event for å oppdatere teksten. Dette kan f.eks. kjøre hvert minutt.
      Parametre for funksjonen "CallsFromStopplace" er deviceID, stopplaceID, quayID (optional), antall_avganger (optional).
       

       
      Du kan ha flere script-kall i et event, hvis du har flere stopp, avganger, etc du vil kontrollere.  
       

       
       
      Parametre for funksjonen "TripsBetweenStops" er deviceID, stopplaceID (fra), stopplaceID (til), antall_avganger (optional). Det er et enkelt ruteoppslag, fint fra større stasjoner (f.eks. "Stavanger") til et bestemt stoppested.
       
      DeviceValue i hver device er antall minutter til neste avgang. Kan brukes til automasjon.  
       

       
       
    • Av Guahtdim
      Dette er en trigger plugin basert på det som gjøres i tråden til @ZoRaC 
       
       
       
      Triggeren brukes i eventer mot google kalender. Følgende må oppfylles: Man starter på/er inne i kalendermøtet/event/registreringen (fra nå av CalendarEvent) og kalender teksten (Summary text) er enten lik, starter med, inneholder en tekst som man setter opp. Eventuelt så bryr man seg ikke om teksten, men bare at det er en kalender event. (4 forskjellige valg som kan gjøres når man legger inn triggeren). Man kan søke i mer enn en kalender.
      Man kan også legge inn flere søkeord skilt med || (eller) eller && (og) slik at en trigger kan håndtere flere forskjellige ord. I noen av triggerne vil ikke det å skille med && (og) gi noen treff siden f.eks. matching exactly på ett søk hvor man har brukt && (og) ikke vil treffe noen gang. 
       
      En trigger slår til minst en gang, som oftest mange ganger etter hverandre! Jeg anbefaler at man derfor setter opp f.eks en device å sjekke mot slik at man unngår å trigge f.eks hvert tiende sekund i løpet av en halvtime når det skjer en event. Jeg setter opp events slik at de i tillegg til å bli trigget av triggere også sjekker mot device som den skal styre.
      Eks:

      Her er det triggeren som starter det hele, men den vil kun slå til hvis device "Unknown Unknown Events" er av (off). Da vil device settes til på (on).
       
       
      OBS OBS OBS
      Dette er i Alfa(nivået før beta, som igjen er nivået før man faktisk sier man har en versjon man er fornøyd med) og ser ut deretter Testet ok i Windows.   
      For nå er linken til siste versjon 
      GCalSeer_v0010
       
      Hvordan sette opp :
      VIKTIG!!! Stopp Homeseer og ta en kopi av hele katalogen til Homeseer (normalt "c:\program files (x86)\Homeseer HS3" for Windows) og legg kopien på ett trygt sted i tilfelle du trenger å gå tilbake. Pakk ut filen i din Homeseer katalog - pass på at du får følgende oppsett (katalogen "Homeseer HS3" skal inneholde 2 nye filer HSPI_GCalSeer.exe og HSPI_GCalSeer.exe.config, mens du i katalogen Homeseer HS3\bin skal ha fått en ny underkatalog - GCalSeer - med 30 filer)   Restart Homeseer Gå inn på Homeseer->Plugins->Manage og trykk enable på GCalSeer  
      Oppsett av Google kalender
       
      Oppsett av kobling mot Hotmail/Outlook live
       
      Du er nå klar for å sette opp en trigger 
       
      Ved hjelp av script: Mulighet til å lage en device som lister opp alle kalenderhendelser x dager framover (kun implementert for Google kalendere):
       
      Ansvarsfraskrivelse:
      Laste ned og bruke plugin gjøres på eget ansvar. Skulle jeg ødelegge Homeseer oppsettet ditt så kan jeg desverre ikke hjelpe deg.
       
      Planlagte utvidelser
      Bedre kontroll på kobling mot Google slik at refreshtoken blir prøvd brukt hvis man har passert utløp på accesstoken Egen device for å vise status med tanke på autorisasjon Mulighet til å sette opp en trigger til å slå til på offsets Mulighet for å trigge på hendelser innenfor en dag, uke, måned, frem i tid Mulighet for å hente inn kalender events fra MS Outlook (antageligvis kun for de som kjører HS i Windows OS) Eget scriptkall for å hente events fra en eller flere kalendere - ref https://forums.homeseer.com/forum/ultilities-plug-ins/utilities-discussion/blgdata-blade/87199-event-listing-in-a-hs-device  
      Kjente feil:
      Mulig å sette tid mellom hver sjekk lenger enn hva en autorisering gjelder (3600 sekunder) For mye logging Autorisering mot google fungerer ikke i Linux - under arbeid.  
      Endringer:
      V 0.0.1.0 - Fjernet noen småfeil i offset (takk til toonwolf for testing) og lagt til muligheten å kunne søke på flere ord ved hjelp av logiske operatorer - || (eller/OR) og && (og/AND)
      V 0.0.0.7 - Forbedret kobling mot Google + fjernet noen småfeil i offset
       0.0.0.6 - Microsoft kalenderfunksjonalitet lagt til (Hotmail/Outlook Live).
      V 0.0.0.5 - Mye ekstra funksjonalitet lagt inn på triggerne. Egen device for å vise status på koblingen mot Google.
      V 0.0.0.4 - Man kan ikke sette tid mellom ny info fra Google til mer enn 3599 sekunder.
      V 0.0.0.3 - Fungerer mot Linux. Autorisasjon endret.
      V 0.0.0.2 - Logging settes og slik sett får man mindre i HomeSeer loggen hvis det er ønskelig.
       
       
       
       
       
×