Programación LUA

Re:Programación LUA
« Respuesta #60 en: Mayo 17, 2015, 09:23:35 am »
Eso es otra posibilidad. De hecho así podría hacerlo ahora pues están conectadas a un enchufe FIBARO pero entiendo que eso dejaría la luz domotizada que he utilizado para encender la tira de LEDs también encendida. Y como esas luces domotizadas también se desean encender solas, esta idea de la asociación directa siempre tendría la tira de LEDs encendida junto a otra luz. Resumiendo que la escena que busco es que active la tira de LED después de ejecutar manualmente un patrón de cualquier tipo, por ejemplo, si enciendo y apago varias veces un interruptor. Puede que no se pueda...


Enviado desde mi iPhone utilizando Tapatalk

Jokin

  • *****
  • 1920
  • Meliorem domum
    • Ver Perfil
Re:Programación LUA
« Respuesta #61 en: Julio 08, 2015, 12:40:43 pm »
Yo sigo erre que erre con Lua...
Y dando la tabarra a nuestro experto (que seguro que se da por aludido. No me falles Linkey!).

¿Cuál es la forma más sencilla de hacer que una escena SE ACTIVE/INICIE sólo entre una hora inicial y una hora final?
Esto parece fácil.

Pero la segunda pregunta es más complicada.

¿Cuál es la forma más sencilla de hacer que una escena OCURRA sólo entre una hora inicial y una hora final, es decir, a diferencia de la otra, se PARE en cuanto se pase de la hora final?

Por ejemplo. Yo quiero que un evento que dura 10 min ocurra entre las 22:00 y 22:30 PERO este evento de 10 min ocurre a veces a las 22:05, pero otras veces a las 22:25. Con la primera opción/pregunta, dado que el evento ocurre o a las 22:05 o a las 22:25, éste se activará por completo, 10 min.
Pero la segunda opción, la más complicada, el evento durará 10 min (el habitual) cuando se active a las 22:05 pero sólo durará 5 min cuando el evento se active a las 22:25 pues a las 22:30, la escena debe terminar completamente.

Por cierto, tengo el AppleWatch y estoy deseando que Fibaro implemente la aplicación para que cierre las persianas a lo James Bond (dios, qué freaky me doy cuenta que soy...).

linkey

  • *****
  • 609
    • Ver Perfil
Re:Programación LUA
« Respuesta #62 en: Julio 10, 2015, 19:19:51 pm »
Yo sigo erre que erre con Lua...
Y dando la tabarra a nuestro experto (que seguro que se da por aludido. No me falles Linkey!).

¿Cuál es la forma más sencilla de hacer que una escena SE ACTIVE/INICIE sólo entre una hora inicial y una hora final?
Esto parece fácil.

Pero la segunda pregunta es más complicada.

¿Cuál es la forma más sencilla de hacer que una escena OCURRA sólo entre una hora inicial y una hora final, es decir, a diferencia de la otra, se PARE en cuanto se pase de la hora final?

Por ejemplo. Yo quiero que un evento que dura 10 min ocurra entre las 22:00 y 22:30 PERO este evento de 10 min ocurre a veces a las 22:05, pero otras veces a las 22:25. Con la primera opción/pregunta, dado que el evento ocurre o a las 22:05 o a las 22:25, éste se activará por completo, 10 min.
Pero la segunda opción, la más complicada, el evento durará 10 min (el habitual) cuando se active a las 22:05 pero sólo durará 5 min cuando el evento se active a las 22:25 pues a las 22:30, la escena debe terminar completamente.

Por cierto, tengo el AppleWatch y estoy deseando que Fibaro implemente la aplicación para que cierre las persianas a lo James Bond (dios, qué freaky me doy cuenta que soy...).
Hola,
esta semana he estado liado con el trabajo y no he leído el forro hasta hoy.
En una primera lectura, no me entero muy bien lo que quieres hacer, no entiendo lo de que un evento dura 10min., un evento se produce en un instante dado que, puede o no desencadenar una serie de acciones. Otra cosa es que un evento dispare una escena que la tengas ocupada 10min.
Si me explicas un poco más el caso concreto...

Jokin

  • *****
  • 1920
  • Meliorem domum
    • Ver Perfil
Re:Programación LUA
« Respuesta #63 en: Julio 13, 2015, 14:30:28 pm »
La verdad es que no me he explicado muy bien.
Lo mejor es que te cuente que es lo que quiero y a ver si se te ocurre alguna idea para implementarlo.
Lo que yo quiero es que se me encienda una luz concreta si entre las 22:00 y las 23:00 y sólo si desde que se abra la puerta (detector de apertura) pasa más de media hora hasta que se vuelve a abrir. Sí, muy raro. Pero, de verdad, muy útil para mi vida diaria.
Las situaciones que podrían ocurrir son (siempre de 22:00 a 23:00 porque fuera de este horario no debería activarse nada):
Situación 1: No se abre la puerta NUNCA de 22:00 a 23:00 > no se activa nada ese día.
Situación 2: Se abre la puerta a las 22:05 y la segunda vez que se abre la puerta es a las 22:25 (antes de media hora) > no se activa nada ese día.
Situación 3: Se abre la puerta a las 22:05 y la puerta no se abre una segunda vez antes de las 23:00 > se enciende una luz después de 30 min respecto a la primera hora de apertura, es decir a las 22:35. Si se hubiera abierto la primera vez a las 22:10, se encendería la luz a las 22:40.
Situación 4: Se abre la puerta a las 22:35 y como para que den las 23:00 falta menos de 30 min > no se activa nada ese día.
Muchas gracias.

linkey

  • *****
  • 609
    • Ver Perfil
Re:Programación LUA
« Respuesta #64 en: Julio 13, 2015, 20:23:26 pm »
La verdad es que no me he explicado muy bien.
Lo mejor es que te cuente que es lo que quiero y a ver si se te ocurre alguna idea para implementarlo.
Lo que yo quiero es que se me encienda una luz concreta si entre las 22:00 y las 23:00 y sólo si desde que se abra la puerta (detector de apertura) pasa más de media hora hasta que se vuelve a abrir. Sí, muy raro. Pero, de verdad, muy útil para mi vida diaria.
Las situaciones que podrían ocurrir son (siempre de 22:00 a 23:00 porque fuera de este horario no debería activarse nada):
Situación 1: No se abre la puerta NUNCA de 22:00 a 23:00 > no se activa nada ese día.
Situación 2: Se abre la puerta a las 22:05 y la segunda vez que se abre la puerta es a las 22:25 (antes de media hora) > no se activa nada ese día.
Situación 3: Se abre la puerta a las 22:05 y la puerta no se abre una segunda vez antes de las 23:00 > se enciende una luz después de 30 min respecto a la primera hora de apertura, es decir a las 22:35. Si se hubiera abierto la primera vez a las 22:10, se encendería la luz a las 22:40.
Situación 4: Se abre la puerta a las 22:35 y como para que den las 23:00 falta menos de 30 min > no se activa nada ese día.
Muchas gracias.
Lo primero es abstraer el problema y luego implementar la solución
A ver que te parece...
Código: [Seleccionar]
T1 =  la hora inicial (en tu caso las 22:00)
INT = el intervalo (en tu caso 30min)
AMB = el ámbito de actuación (en tu caso 1h 22 a 23)
Si entre T1 y (T1 + INT) se abre una puerta, comienza una cuenta de tiempo hasta INT
Si se vuelve a abrir la puerta entre T1 y (T1 + INT) se re-inicia la cuenta.
Si la cuenta termina y son menos de las T1 + AMB se realiza una acción.
En cualquier caso se termina el proceso. (mandar un mensaje informando?)

Implementa una escena que se ejecuta cuando se abre la puerta
Si entre T1 y (T1 + INT) déjala esperando por INT, si se ejecuta de nuevo abortas la escena actual.
cuando termine compruebas si son menos de las 23:00 y actúas o no.
Un poco de código como pista:
-
Código: [Seleccionar]
-[[
%% properties
id value

--]]

local intervalo = 30*60
-- tomar instante actual initialTime
local initialTime = os.time()
 while os.time() <= initialTime+ intervalo do
-- si se inicia otra escena esta se suicida
  if fibaro:countScenes() > 1 then
    fibaro:abort()
  end
end
if ...

para operar con el tiempo en lúa, mira esto

Jokin

  • *****
  • 1920
  • Meliorem domum
    • Ver Perfil
Re:Programación LUA
« Respuesta #65 en: Julio 29, 2015, 23:54:26 pm »
Gracias Linkey, aún sigo de vacaciones y no he tenido tiempo de implementar lo que propones. En cuanto vuelva trataré de seguir los pasos que comentas y te cuento cómo me ha ido.

Acabo de volver de FIBAROlandia y como era de esperar, ni rastro de domótica en ese país...

Tonto de mí, realicé una escena en Lua cuando estaba viajando fuera para que me avisara si saltaba el ICT (automático para los amigos) y para eso (repito, tonto de mí) controlé la energía recibida de la pinza amperimétrica para que si era menor o igual a 10 W (siempre hay un consumo basal superior a 150W en mi casa), que me mandara un email para que pudiera avisar a mi vecina y lo volviera a reestablecer. Menuda, tontería. Salta el ICT, pierde corriente la pinza amperimétrica y aunque mi router y mi HCL2 estén funcionando bajo mi SAI, la pinza está muerta y no le manda información de que está pasando 0 de W. Total que tengo que poner que cuando se pierde la señal o la conexión con la pinza que me diga que algo gordo ha ocurrido. O quizás, pero esto me acabo de dar cuenta mientras estoy escribiendo esto. Basta con poner pilas a la pinza. Ahora está conectada al cuadro general.

Linkey, cuál sería el comando para Lua que informara sobre la perdida de conexión con el controlador o cómo lo harías tú para que si hay pérdida total de corriente en la casa, te avise?

La otra opción que me han dado. Aviso a electricitas del foro! Que quite el ICT que no sirve para nada y que el paso excesivo de W lo debe controlar Hiberdrola. Y que ponga un diferencial re-armable que controle la cocina (todos los electrodomésticos) y que se encenderá de nuevo en caso de que salte por tormentas o similar. Algún consejo?

Jokin

  • *****
  • 1920
  • Meliorem domum
    • Ver Perfil
Re:Programación LUA
« Respuesta #66 en: Julio 30, 2015, 09:03:36 am »
En mi anterior mensaje quise decir ICP por ICT (perdón para los que trabajan en estos temas) y quise decir Iberdrola por Hiberdrola (uff, que malas son las vacaciones...).

linkey

  • *****
  • 609
    • Ver Perfil
Re:Programación LUA
« Respuesta #67 en: Julio 30, 2015, 09:42:41 am »
Yo no tengo ICP y tengo un diferencial re-armable para frigo y congelador.
Lo de la pinza lo tengo exactamente igual que tu (no había caído en poner pilas).
Para la pedida total de energía, lo manejo desde el SAI, tengo un virtual device para el SAI y controlo entre otras cosas si está OL (Online).

linkey

  • *****
  • 609
    • Ver Perfil
Re:Programación LUA
« Respuesta #68 en: Julio 30, 2015, 09:50:05 am »
Para hacer el VD que controla el SAI, me basé en el artículo del blog de Antonio Maestre Cómo integrar tu NAS y SAI en tu red domótica con el Home Center 2 de Fibaro..
Jokin, tienes un NAS?.

Jokin

  • *****
  • 1920
  • Meliorem domum
    • Ver Perfil
Re:Programación LUA
« Respuesta #69 en: Julio 30, 2015, 10:46:44 am »
Sí, tengo un Synology DS415PLAY.

Jokin

  • *****
  • 1920
  • Meliorem domum
    • Ver Perfil
Re:Programación LUA
« Respuesta #70 en: Julio 30, 2015, 10:53:56 am »
Yo no tengo ICP y tengo un diferencial re-armable para frigo y congelador.
Lo de la pinza lo tengo exactamente igual que tu (no había caído en poner pilas).
Para la pedida total de energía, lo manejo desde el SAI, tengo un virtual device para el SAI y controlo entre otras cosas si está OL (Online).

Joder, Linkey, es que no puede ser mejor lo que propones. La verdad es que tengo el artículo de Antonio Maestre en mi lista "To Do" pero tengo que decir que voy a necesitar tiempo para implementarlo.
Lo de que el SAI sea el que controla si ha habido pérdida de corriente es genial. Yo tengo un SAI que controla el HC2, router y el NAS pero estoy a la espera de tener una tarde entera para aplicar el artículo de Antonio Maestre e incorporarlo. Con tu comentario aún estoy más animado pues veo que además puedo utilizar el SAI para que el HC2 se entere de la pérdida de la corriente.
Todo esto lo voy a implementar en septiembre después del verano por lo que volveré a la carga dado que seguro que me surgen muchas dudas.

La verdad es que estoy disfrutando como un enano con todo esto. Yo ya sabía que la domótica me iba a gustar pero no sabía que tanto. Y tengo que decir que este foro es la pera! Por no decir la h... (como soy vasco, es difícil no decir tacos...;))

Jokin

  • *****
  • 1920
  • Meliorem domum
    • Ver Perfil
Re:Programación LUA
« Respuesta #71 en: Julio 30, 2015, 11:05:14 am »
Preguntas cortas pero que no encuentro por ningún lado las respuestas:

Qué diferencias hay entre?:

fibaro:log ()
fibaro:debug ()

¿Por qué a veces se pone comillas (") y otras veces (')? Es lo mismo?

Por ejemplo:

fibaro:debug ("Hola") vs. fibaro:debug ('Hola')

linkey

  • *****
  • 609
    • Ver Perfil
Re:Programación LUA
« Respuesta #72 en: Julio 30, 2015, 12:49:34 pm »
Preguntas cortas pero que no encuentro por ningún lado las respuestas:

Qué diferencias hay entre?:

fibaro:log ()
fibaro:debug ()

¿Por qué a veces se pone comillas (") y otras veces (')? Es lo mismo?

Por ejemplo:

fibaro:debug ("Hola") vs. fibaro:debug ('Hola')

fibaro:debug, solo funciona en las escenas y genera un mensaje que puedes ver cuando depuras
fibaro:log, solo funciona en los dispositivos virtuales y genera un mensaje que puedes ver en la parte de abajo del propio dispositivo virtual.
lo de las comillas simples o dobles, en principio es igual.

linkey

  • *****
  • 609
    • Ver Perfil
Re:Programación LUA
« Respuesta #73 en: Julio 30, 2015, 12:52:33 pm »
Sí, tengo un Synology DS415PLAY.
yo tengo un Synology DS411slim, que SAI tienes?, porque lo mismo te valen mis dispositivos virtuales y mi scrip, yo tengo un APC Back-UPSCS650.

Jokin

  • *****
  • 1920
  • Meliorem domum
    • Ver Perfil
Re:Programación LUA
« Respuesta #74 en: Julio 30, 2015, 13:05:33 pm »
Tengo un Nilox UPS VALUE LCD 1120VA-560W.
Aunque no sea igual me ayuda infinito ver cómo has hecho los VDs para los tuyos porque es más fácil hacer pequeños cambios. Si podrías enviarlos, sería genial.
Gracias.