APNT-29 - Udvidelse Fibaro VK2 Sunrise / Sunset kapaciteter

Den Fibaro Home Center 2 har et par begrænsninger på solnedgang og solopgang gange du kan bruge i dine scener. For eksempel kan du vælge 15, 30, 45 og 60 minutter før solopgang og 15, 30, 45 og 60 minutter efter solnedgang. Men du kan ikke vælge 60 minutter før solnedgang eller andre værdier.

Det er faktisk meget nemt at ændre en eneste linje LUA kode for at udvide Sunset / Sunrise gange til enhver tid du vil.

Som et eksempel vil vi bruge Sunset scene vi brugte i Application Note 28 -

Solnedgang på scene.

 

Denne scene tænder et lys, præcis ved solnedgang. Dette virker godt for uden lys, men hvis du har brugt den samme scene for en indendørs lys ville du sikkert gerne det skal aktiveres før solnedgang, som det bliver mørkere inde i en bygning.

Så lad os ændre dette, så scenen er aktiveret 1 time før solnedgang.

Se LUA kode

For at gøre dette har vi brug for at ændre en linje i LUA kode, der rent faktisk kører denne scene.

  • I scenens Fremskreden Fanen går til Skift scene redigeringstilstand til LUA basen
  • Klik 'Lave om'
  • LUA kode vises i et HC2 vindue (vist nedenfor)

HC2 Kode LUA Scene

 

  • Den linje kode vi er interesseret i, er på Linje 14.

(((CurrentDate.wday == 2 eller currentDate.wday == 3 eller currentDate.wday == 4 eller currentDate.wday == 5 eller currentDate.wday == 6) og string.format ( "% 02d", CURRENTDATE. time) .. ":" .. string.format ( "% 02d", currentDate.min) == fibaro: getValue (1, "sunsetHour")))

 

  • For at ændre dette, så scenen er aktiveret 60 minutter før solnedgang, ændrer vi linie 14 til:

(((CurrentDate.wday == 2 eller currentDate.wday == 3 eller currentDate.wday == 4 eller currentDate.wday == 5 eller currentDate.wday == 6) og os.date ( "% H:% M" , os.time () + 60 * 60) == fibaro: getValue (1, "sunsetHour")))

 

  • Koden, der styrer tiden før eller efter solnedgang er markeret med fed - os.time () + 60 * 60)
    • Hvis dette er positivt '+' scenen vil aktivere før solnedgang, hvis negativ '-' det vil aktivere bagefter
    • Tiden før / efter er bestemt af numrene, '+60*60'I dette eksempel aktiverer 60 minutter før solnedgang, ville 90 minutter være '+ 90 * 60'
  • Bemærk: For at teste denne kode jeg indstille den oprindelige scene til 1 time efter solnedgang. Den LUA koden for den scene var identisk med ny kode, vi har brugt ovenfor, bortset fra for tiden os.time () - 60 * 60). Så ved blot at ændre den del af koden til os.time () + 60 * 60) vi nu har en scene, der kører 1 time før solnedgang.

Skift LUA kode

For at ændre LUA koden til at bruge vores nye linje kode (linie 14) Vi er nødt til at tænde for LUA redigering tilstand.

Vigtig - Jeg vil foreslå du gør dette, efter at du har resten af scenen fungerer korrekt - du kan ikke gå fra LUA baseret redaktør tilbage til Grafisk Block editor.

Når du er klar - ændre redaktør til LUA baseret.

  • Hvis du ikke allerede er i den del af 'Avanceret' fanen go LUA til Skift scene redigeringstilstand til LUA basenKlik på 'Lave om'
  • Klik 'Tænde for'

HC2 LUA Editor

 

  • Klik 'Okay'I dialogboksen advarslen
  • Skift linie 14 til den nye kode
  • Klik på 'Gemme'knappen på højre menu

HC2 endelig LUA kode


 

Scenen vil nu køre 60 minutter før solnedgang.

Ved hjælp af denne enkle kodeskift vi kan have vores scener kører før eller efter solnedgang / solopgang og ved, hvad der nogensinde tid vi gerne.

Relateret information