APNT-29 - Laajennus <tc>Fibaro</tc> HC2:n auringonnousun/-laskun ominaisuudet

The Fibaro Home Center 2:ssa on muutamia rajoituksia auringonlaskun ja -nousun aikojen suhteen, joita voit käyttää kohtauksissasi. Voit esimerkiksi valita 15, 30, 45 ja 60 minuuttia ennen auringonnousua ja 15, 30, 45 ja 60 minuuttia auringonlaskun jälkeen. Et kuitenkaan voi valita 60 minuuttia ennen auringonlaskua tai mitään muita arvoja.

Yhden LUA-koodirivin muuttaminen on itse asiassa erittäin helppoa, jos haluat pidentää auringonlaskun/nousun aikoja mihin tahansa aikaan.

Esimerkkinä käytämme sovellushuomautuksessa 28 käyttämäämme auringonlasku-kohtausta -

Sunset On Scene

Tämä kohtaus sytyttää valon täsmälleen auringonlaskun aikaan. Tämä toimii hyvin ulkovaloille, mutta jos käyttäisit samaa kohtausta sisävalolle, haluaisit todennäköisesti sen aktivoituvan ennen auringonlaskua, kun rakennuksen sisällä hämärtyy.

Muutetaanpa tätä niin, että kohtaus aktivoituu tuntia ennen auringonlaskua.

Näytä LUA-koodi

Tätä varten meidän on muutettava yksi rivi LUA-koodista, joka itse asiassa suorittaa tämän skenaarion.

  • Kohtauksessa Edistynyt välilehti siirtyy kohtaan Vaihda kohtauksen muokkaustila LUA-pohjaiseksi
  • Klikkaa 'Muuttaa'
  • LUA-koodi näytetään HC2-ikkunassa (alla)

HC2 LUA Scene Code

  • Meitä kiinnostava koodirivi on päällä Rivi 14.

(((currentDate.wday == 2 tai currentDate.wday == 3 tai currentDate.wday == 4 tai currentDate.wday == 5 tai currentDate.wday == 6) ja string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == fibaro:getValue(1, "auringonlaskunTunti")) )

  • Jotta tämä aktivoituisi 60 minuuttia ennen auringonlaskua, muutamme rivin 14 muotoon:

(((currentDate.wday == 2 tai currentDate.wday == 3 tai currentDate.wday == 4 tai currentDate.wday == 5 tai currentDate.wday == 6) ja os.date("%H:%M", os.time()+60*60) == fibaro:getValue(1, "auringonlaskunTunti")) )

  • Koodi, joka ohjaa aikaa ennen auringonlaskua tai sen jälkeen, on merkitty lihavoituna - os.time()+60*60)
    • Jos tämä on positiivinen + kohtaus aktivoituu ennen auringonlaskua, jos negatiivinen '-' se aktivoituu sen jälkeen
    • Aika ennen/jälkeen määräytyy numeroiden perusteella.+60*60'tässä esimerkissä aktivoituu 60 minuuttia ennen auringonlaskua, 90 minuuttia olisi '+90*60'
  • Huomautus: Testatakseni tätä koodia asetin alkuperäisen kohtauksen arvoksi 1 tunti auringonlaskun jälkeen. Kohtauksen LUA-koodi oli identtinen yllä käyttämämme uuden koodin kanssa, paitsi että toistaiseksi os.time()-60*60)Joten yksinkertaisesti muuttamalla koodin osan muotoon os.time()+60*60) Meillä on nyt kohtaus, joka tapahtuu tuntia ennen auringonlaskua.

Vaihda LUA-koodi

Jotta voimme muuttaa LUA-koodin käyttämään uutta koodiriviämme (rivi 14), meidän on otettava käyttöön LUA-muokkaustila.

Tärkeää - Ehdotan, että teet tämän vasta sitten, kun loput kohtauksesta toimivat oikein - et voi siirtyä LUA-pohjaisesta editorista takaisin grafiikkalohkoeditoriin.

Kun olet valmis, vaihda editori LUA-pohjaiseksi.

  • Jos et ole vielä 'Lisäasetukset'-välilehden LUA-osiossa, siirry kohtaan Vaihda kohtauksen muokkaustila LUA-pohjaiseksi, napsauta 'Muuttaa'
  • Klikkaa 'Käynnistä'

HC2 LUA Editor

  • Klikkaa 'OK'varoitusikkunassa
  • Muuta rivi 14 uuteen koodiin
  • Klikkaa 'Tallentaa'-painike oikeanpuoleisessa valikossa

HC2 final LUA Code


Kohtaus alkaa nyt 60 minuuttia ennen auringonlaskua.

Tämän yksinkertaisen koodinmuutoksen avulla voimme saada kohtauksemme toimimaan ennen auringonlaskua/auringonnousua tai sen jälkeen ja mihin aikaan tahansa.

Aiheeseen liittyvää tietoa