El
En realidad, es muy fácil cambiar una sola línea de código LUA para extender los horarios de puesta/salida del sol a cualquier hora que desees.
Como ejemplo, utilizaremos la escena del atardecer que usamos en la nota de aplicación 28.

Esta escena enciende una luz justo al atardecer. Funciona bien para luces exteriores, pero si usaras la misma escena para una luz interior, probablemente querrías que se activara antes del atardecer, ya que oscurece más dentro de un edificio.
Así que vamos a cambiar esto para que la escena se active 1 hora antes del atardecer.
Ver el código LUA
Para ello, necesitamos cambiar una línea del código LUA que ejecuta esta escena.
- En la escena Avanzado pestaña ir a la Cambia el modo de edición de escenas a LUA base.
- Haz clic en 'Cambiar'
- El código LUA se muestra en una ventana HC2 (que se muestra a continuación).

- La línea de código que nos interesa está en Línea 14.
| ( ((currentDate.wday == 2 o currentDate.wday == 3 o currentDate.wday == 4 o currentDate.wday == 5 o currentDate.wday == 6) y string.format("%02d", currentDate.hour) .. .. string.format("%02d", currentDate.min) == |
- Para cambiar esto de modo que la escena se active 60 minutos antes de la puesta de sol, modificamos la línea 14 de la siguiente manera:
| ( ((currentDate.wday == 2 o currentDate.wday == 3 o currentDate.wday == 4 o currentDate.wday == 5 o currentDate.wday == 6) y os.date("%H:%M", os.time()+60*60) == |
- El código que controla el tiempo antes o después de la puesta de sol está marcado en negrita. os.time()+60*60)
- Si esto es positivo '+' La escena se activará antes del atardecer, si es negativa. '-' Se activará después
- El tiempo anterior/posterior está determinado por los números, '+60*60En este ejemplo, se activa 60 minutos antes de la puesta del sol; 90 minutos serían '+90*60'.
- Nota: Para probar este código, configuré la escena original una hora después de la puesta de sol. El código LUA para esa escena era idéntico al nuevo código que hemos usado anteriormente, excepto por el momento. os.time()-60*60)Así que, simplemente cambiando la sección de código a os.time()+60*60) Ahora tenemos una escena que se reproduce 1 hora antes de la puesta del sol.
Cambiar el código LUA
Para cambiar el código LUA para usar nuestra nueva línea de código (línea 14) necesitamos activar el modo de edición LUA.
Importante - Te sugiero que hagas esto después de que el resto de la escena funcione correctamente; no puedes volver del editor basado en LUA al editor de bloques gráficos.
Cuando estés listo, cambia el editor a uno basado en LUA.
- Si aún no estás en la sección LUA de la pestaña 'Avanzado', ve a la Cambia el modo de edición de escenas a LUA base., haga clic en 'Cambiar'
- Haz clic en 'Encender'

- Haz clic en 'DE ACUERDO' en el diálogo de advertencia
- Cambia la línea 14 al nuevo código
- Haz clic en el 'Ahorrarbotón ' en el menú de la derecha

La escena se reproducirá ahora 60 minutos antes de la puesta de sol.
Con este sencillo cambio de código podemos hacer que nuestras escenas se ejecuten antes o después del atardecer/amanecer y a la hora que queramos.
Información relacionada
- APNT-1: Instalación de un
Fibaro Módulo regulador en un interruptor de pared - APNT-2: Iluminación bidireccional
Fibaro Módulos de atenuación - APNT-11: Uso de diferentes tipos de conmutadores con
Fibaro Módulos de atenuación - APNT-17: Control de luces con
Fibaro Relevos - APNT-18: Uso de un conmutador secundario con un
Fibaro Módulo - APNT-23: Comprensión de los sistemas de iluminación de 2 y 3 hilos
- APNT-24: Uso
Fibaro Reguladores de intensidad con luces LED - APNT-26: Luz activada por movimiento
Fibaro Centro del Hogar 2