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

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


Moskus

Anbefalte innlegg

5 minutter siden, Johs. skrev:

Bare meg som ikke fikk "fridag" i dag på den 17?

 

Feil i scriptet, står 17. Januar der... :P 

Skal vel være:

Sitat

        'Sjekker om datoen er 17. mai (grunnlovsdag)
        If _date = New Date(_date.Year, 5, 17) Then Return True

 

  • Like 2
Lenke til kommentar
Del på andre sider

Ja, det hadde gått litt fort i svingene der. "Pål" kontaktet meg via HS-forumet for å fortelle meg det, og kom med en idé han hadde gjort selv, om å utføre sjekk om morgendagen er en fridag.

 

Så det blir en liten edit av scriptet. ;) 

  • Like 1
Lenke til kommentar
Del på andre sider

  • 4 måneder senere...
På 17.5.2017 den 22.23, Moskus skrev:

Så det blir en liten edit av scriptet. ;) 

Sett noe på dette? ?

 

Hadde vært veldig hendig å kunne kunne kjøre scriptet f.eks. kl 20 for sjekk av morgendag. Optimalt burde man kanskje hatt to virtuelle enheter, dagens status og morgendagens. Det er løsbart med scripting eller litt eventer vil jeg tro.

Lenke til kommentar
Del på andre sider

  • 4 måneder senere...
På 26.9.2017 den 20.40, Moskus skrev:

Nei, ikke enda. Men det er forholdsvis trivielt. Skal undersøke det.

Det må bli to virtuelle enheter, ja. En "i dag" og en "i morgen".

 

Veldig bra script, funger utmerket. Etter en stund ser jeg at jeg trenger å vite morgendagens status: fridag eller arbeidsdag. Er det noen som har laget versjon 2 av scriptet som sjekker morgendagens status?

Lenke til kommentar
Del på andre sider

  • 1 måned senere...
  • 2 måneder senere...

Prøver meg på versjonen med to devicer for i dag og i morgon.

Får derimot ikkje devicene til å oppdatere status, lurer på om eg har satt opp feil?

 

Har satt det opp slik, der device id for i dag er 203 og i morgon er 204.

Sitat

Sub Main(ByVal deviceReference As String)
        ' Moskus 2017
        Dim input() As String = deviceReference.Split(",")
        Dim devRefToday As Integer = Integer.Parse(203(0))
        Dim devRefTomorrow As Integer = Integer.Parse(204(1))

 

Lenke til kommentar
Del på andre sider

5 minutter siden, bjornepappa skrev:

Prøver meg på versjonen med to devicer for i dag og i morgon.

Får derimot ikkje devicene til å oppdatere status, lurer på om eg har satt opp feil?

 

Du skal ikke endre noe i scriptet, bare bruk det som det er og i «parameter»-feltet i eventet skriver du 203,204 :) 

  • Like 1
Lenke til kommentar
Del på andre sider

  • 4 måneder senere...
3 minutter siden, LEHoisveen skrev:

Hvordan får jeg dette til å virke? 

 

Jeg har laget en device kalt Fridag eller arbeidsdag med device ref 467.
Så har jeg laget en event som beskrevet over og satt inn 467 i Parameters feltet. 

 

 

Fant ut av det, hadde skjedd noe rart under lagring av script filen... Hadde sneket seg inn en del ? tegn.

Lenke til kommentar
Del på andre sider

For meg som er helt grønn på scripting.

Hvordan kan jeg enkelt legge legge til skoleferien i scriptet?

F.eks vinterferien som kommer i uke 8.

Tungvindt å taste inn 1-og-1 dag for hver ferie.

Fungerer det med weeknumber?

 

Eller er det bare å taste inn 1-og-1

dateList.Add(New Date(2019, 1, 1))
    dateList.Add(New Date(2019, 1, 2))
    dateList.Add(New Date(2017, 11, 17))
    dateList.Add(New Date(2017, 12, 22))

Eller er dette enkleste måte?

Hvis jeg har gjort det rett:
  

 'Vinterferie 2019
    If _date.Month = 2 Then
        If _date.Day >= 18 AndAlso _date.Day <= 22 Then
            Return True
        End If
    End If

 

Og er det mulig å sette en dato som går over til neste måned? Mtp. sommerferien.

Eller må det da listes opp en "sjekk" for hver måned?

Endret av JohnMartin
Lenke til kommentar
Del på andre sider

På 15.11.2018 den 23.18, JohnMartin skrev:

Fungerer det med weeknumber?

Ukenummer og programmering er veldig vanskelig fordi det er ikke mange (utenom enklete sære folk som jeg) som bruker ukenummer. Det er selvfølgelig mulig, men er mer jobb.

 

På 15.11.2018 den 23.18, JohnMartin skrev:

 'Vinterferie 2019     If _date.Month = 2 Then         If _date.Day >= 18 AndAlso _date.Day <= 22 Then             Return True         End If     End If

Ser bra ut. :)

 

På 15.11.2018 den 23.18, JohnMartin skrev:

Og er det mulig å sette en dato som går over til neste måned? Mtp. sommerferien.

Ja, men det må programmeres... ;) 

 

 

Dette scriptet er primært laget for de vanlige røde dagene, og så er det en liten hack for å legge til andre fridager. Men det finnes jo løsnigner for å bruke Google-kalender, ref @Guahtdim sin plugin. Jeg putter heller livet mitt til MS enn Google, så jeg mangler en løsning for en Outlook.com kalender...

  • Like 1
Lenke til kommentar
Del på andre sider

Jeg kastet meg over scriptet som sjekker dagen i dag og dagen i morgen. Men når det kjøres får jeg følgende kryptiske feilmelding i logen:

 

Running script C:\Program Files (x86)\HomeSeer HS3\scripts\fridager.vb :Exception has been thrown by the target of an invocation.Index was outside the bounds of the array.

 

Har googlet febrilsk, men feilmeldingen er for generisk til å gi meg noe å gå på ?

 

Any ideas?

Lenke til kommentar
Del på andre sider

  • 3 år senere...
11 minutes ago, Erling said:

Radio-styringen min «oppførte» det seg som det var fri i romjulen.

 

Ser det er omtalt i selve scriptet, er det enkelt å redigere?

 

Takk.

Ja, du må fjerne disse linjene fra scriptet:

 

        'Jeg har alltid fri i romjulen
        If _date.Month = 12 Then
            If _date.Day >= 27 AndAlso _date.Day <= 31 Then
                Return True
            End If
        End If

 

  • Thanks 1
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.