Volviendo a Jeedom, consejos para aprender a usar las variables en escenas

En julio del 2017, decidí probar Jeedom, con la intención de migrar mi sistema de eedomus 1 a Jeedom, por unas cosas o por otras, abandoné la idea, principalmente por falta de tiempo y desesperación, se me hizo muy cuesta arriba la curva de aprendizaje y por ello decidí abandonar y seguir con eedomus 1 con el que llevaba desde el 2014.

Ahora vuelvo a intentarlo, las escenas básicas, las hago correctamente, pero cuando quiero realizar alguna escena más compleja, donde tienen que intervenir las famosas variables es donde no se como realizarlas, ya que tengo un problema de base, y es que no sé nada de ellas y buscando por la red, no he encontrado nada acorde a mi nivel de principiante.

Por ellos os lanzo estas dos preguntas, ¿dónde puedo encontrar información útil sobre las variables?

Y en segundo lugar, ¿esta escena que he creado esta bien construida?, la intención es que si el enchufe esta encendido y permanece encendido por más de dos minutos se apague, es importante que solo se apague sí esta encendido, esta condición es indispensable porque luego quiero trasladar la escena a la puerta del garaje que se maneja mediante un fibaro FGS221, con contacto seco, y en el solo tengo la opción de activarlo, (no se distingue entre abrir o cerrar).





Código: [Seleccionar]
[
    {
        "id": "23",
        "name": null,
        "type": "if",
        "options": [],
        "order": "0",
        "subElements": [
            {
                "id": "47",
                "name": null,
                "scenarioElement_id": "23",
                "type": "if",
                "subtype": "condition",
                "options": {
                    "enable": "1",
                    "allowRepeatCondition": "0"
                },
                "order": "0",
                "expressions": [
                    {
                        "id": "51",
                        "scenarioSubElement_id": "47",
                        "type": "condition",
                        "subtype": null,
                        "expression": "#[Marta][5FGWPEFGWPF Wall Plug Gen5][Etat]# == 1  ",
                        "options": [],
                        "order": "0"
                    }
                ]
            },
            {
                "id": "48",
                "name": null,
                "scenarioElement_id": "23",
                "type": "then",
                "subtype": "action",
                "options": [],
                "order": "1",
                "expressions": [
                    {
                        "id": "52",
                        "scenarioSubElement_id": "48",
                        "type": "action",
                        "subtype": "",
                        "expression": "variable",
                        "options": {
                            "enable": "1",
                            "background": "0",
                            "name": "tiempo puerta garaje",
                            "value": "#timestamp#"
                        },
                        "order": "0"
                    },
                    {
                        "id": "64",
                        "scenarioSubElement_id": "48",
                        "type": "element",
                        "subtype": null,
                        "expression": "26",
                        "options": [],
                        "order": "1",
                        "element": {
                            "id": "26",
                            "name": null,
                            "type": "in",
                            "options": [],
                            "order": "0",
                            "subElements": [
                                {
                                    "id": "56",
                                    "name": null,
                                    "scenarioElement_id": "26",
                                    "type": "in",
                                    "subtype": "condition",
                                    "options": {
                                        "enable": "1"
                                    },
                                    "order": "0",
                                    "expressions": [
                                        {
                                            "id": "59",
                                            "scenarioSubElement_id": "56",
                                            "type": "condition",
                                            "subtype": null,
                                            "expression": "2",
                                            "options": [],
                                            "order": "0"
                                        }
                                    ]
                                },
                                {
                                    "id": "57",
                                    "name": null,
                                    "scenarioElement_id": "26",
                                    "type": "do",
                                    "subtype": "action",
                                    "options": [],
                                    "order": "1",
                                    "expressions": [
                                        {
                                            "id": "62",
                                            "scenarioSubElement_id": "57",
                                            "type": "element",
                                            "subtype": null,
                                            "expression": "27",
                                            "options": [],
                                            "order": "0",
                                            "element": {
                                                "id": "27",
                                                "name": null,
                                                "type": "if",
                                                "options": [],
                                                "order": "0",
                                                "subElements": [
                                                    {
                                                        "id": "58",
                                                        "name": null,
                                                        "scenarioElement_id": "27",
                                                        "type": "if",
                                                        "subtype": "condition",
                                                        "options": {
                                                            "enable": "1",
                                                            "allowRepeatCondition": "0"
                                                        },
                                                        "order": "0",
                                                        "expressions": [
                                                            {
                                                                "id": "60",
                                                                "scenarioSubElement_id": "58",
                                                                "type": "condition",
                                                                "subtype": null,
                                                                "expression": "#[Marta][5FGWPEFGWPF Wall Plug Gen5][Etat]# == 1 ET  (#timestamp# - variable(#tiempo puerta garaje#) > 120)",
                                                                "options": [],
                                                                "order": "0"
                                                            }
                                                        ]
                                                    },
                                                    {
                                                        "id": "59",
                                                        "name": null,
                                                        "scenarioElement_id": "27",
                                                        "type": "then",
                                                        "subtype": "action",
                                                        "options": [],
                                                        "order": "1",
                                                        "expressions": [
                                                            {
                                                                "id": "61",
                                                                "scenarioSubElement_id": "59",
                                                                "type": "action",
                                                                "subtype": "",
                                                                "expression": "#[Marta][5FGWPEFGWPF Wall Plug Gen5][Off]#",
                                                                "options": {
                                                                    "enable": "1",
                                                                    "background": "0"
                                                                },
                                                                "order": "0"
                                                            }
                                                        ]
                                                    },
                                                    {
                                                        "id": "60",
                                                        "name": null,
                                                        "scenarioElement_id": "27",
                                                        "type": "else",
                                                        "subtype": "action",
                                                        "options": [],
                                                        "order": "2",
                                                        "expressions": []
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "id": "63",
                                            "scenarioSubElement_id": "57",
                                            "type": "action",
                                            "subtype": "",
                                            "expression": "stop",
                                            "options": {
                                                "enable": "1",
                                                "background": "0"
                                            },
                                            "order": "1"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            {
                "id": "52",
                "name": null,
                "scenarioElement_id": "23",
                "type": "else",
                "subtype": "action",
                "options": [],
                "order": "2",
                "expressions": []
            }
        ]
    }
]

Re:Volviendo a Jeedom, consejos para aprender a usar las variables en escenas
« Respuesta #1 en: Junio 20, 2019, 23:01:57 pm »
Las variables no se como funcionan, pero no seria más practico utilizar la función "wait" 120segundos y que se ejecute lo del campo "morado".
Hace un par o tres de meses que no tengo tiempo para mirar nada, pero también me gustaría saber el uso de la función "variable"

Bull

  • *****
  • 1341
  • IA unipersonal @1975
    • Ver Perfil
    • Domótica Domestica
Re:Volviendo a Jeedom, consejos para aprender a usar las variables en escenas
« Respuesta #2 en: Junio 22, 2019, 23:54:05 pm »
Hola icanas, tu escenario no funciona porque estas evaluando que la condición sea mayor que 120, y nunca se va a cumplir porque a los 2 minutos va a ser igual a 120 nunca mayor ;-), puedes usar >= para asegurarte que funciona.

En cuanto al pulsador como no puedes evaluar la opción encendido porque estará a 0 lo que tienes que evaluar es cuanto tiempo hace que se pulso y para ello debes evaluar la condición con el siguiente comando.

Código: [Seleccionar]
lastChangeStateDuration(#[objeto][dispositivo][Comando]#,1) > 120
Espero te sea de ayuda.

Todos nos equivocamos, por eso los lápices llevan goma.

phroc

  • *
  • 5703
  • Belle époque
    • Ver Perfil
    • PR-DOMOTICA
Re:Volviendo a Jeedom, consejos para aprender a usar las variables en escenas
« Respuesta #3 en: Junio 23, 2019, 12:15:16 pm »
@icanas Eso también lo puedes hacer con una "acción sobre valor". Al ser de 2 minutos, se puede hacer así (las acciones sobre valores se pueden hacer para 1 minuto como mínimo, no para segundos).

Aquí explico como hacerlo:

http://www.domoticadomestica.com/las-acciones-sobre-valores-en-jeedom/

Creo que usando una acción sobre valor en este caso concreto, vas a simplificar todo mucho.

@Bull, la función Last Change qué tal va con segundos? Es decir, si quiero medir el tiempo en segundos que lleva un pulsador pulsado por ejemplo (un pulsador conectado a un sensor universal, pongamos)?  Sería por ejemplo para encender una luz si se pulsa el pulsador durante 5 o más segundos, pero no si se pulsa 1, 2, 3 o 4 segundos.
https://pr-domotica.es/

Communication Manager & Business Manager Spain at  NodOn
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación LoRa

Bull

  • *****
  • 1341
  • IA unipersonal @1975
    • Ver Perfil
    • Domótica Domestica
Re:Volviendo a Jeedom, consejos para aprender a usar las variables en escenas
« Respuesta #4 en: Junio 23, 2019, 13:31:48 pm »
El calculo es en segundos así que no deberías tener problemas.

@icanas Eso también lo puedes hacer con una "acción sobre valor". Al ser de 2 minutos, se puede hacer así (las acciones sobre valores se pueden hacer para 1 minuto como mínimo, no para segundos).

Aquí explico como hacerlo:

http://www.domoticadomestica.com/las-acciones-sobre-valores-en-jeedom/

Creo que usando una acción sobre valor en este caso concreto, vas a simplificar todo mucho.

@Bull, la función Last Change qué tal va con segundos? Es decir, si quiero medir el tiempo en segundos que lleva un pulsador pulsado por ejemplo (un pulsador conectado a un sensor universal, pongamos)?  Sería por ejemplo para encender una luz si se pulsa el pulsador durante 5 o más segundos, pero no si se pulsa 1, 2, 3 o 4 segundos.
Todos nos equivocamos, por eso los lápices llevan goma.

phroc

  • *
  • 5703
  • Belle époque
    • Ver Perfil
    • PR-DOMOTICA
Re:Volviendo a Jeedom, consejos para aprender a usar las variables en escenas
« Respuesta #5 en: Junio 24, 2019, 10:34:45 am »
El calculo es en segundos así que no deberías tener problemas.

@icanas Eso también lo puedes hacer con una "acción sobre valor". Al ser de 2 minutos, se puede hacer así (las acciones sobre valores se pueden hacer para 1 minuto como mínimo, no para segundos).

Aquí explico como hacerlo:

http://www.domoticadomestica.com/las-acciones-sobre-valores-en-jeedom/

Creo que usando una acción sobre valor en este caso concreto, vas a simplificar todo mucho.

@Bull, la función Last Change qué tal va con segundos? Es decir, si quiero medir el tiempo en segundos que lleva un pulsador pulsado por ejemplo (un pulsador conectado a un sensor universal, pongamos)?  Sería por ejemplo para encender una luz si se pulsa el pulsador durante 5 o más segundos, pero no si se pulsa 1, 2, 3 o 4 segundos.

Gracias, voy a probarlo.

https://pr-domotica.es/

Communication Manager & Business Manager Spain at  NodOn
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación LoRa

Re:Volviendo a Jeedom, consejos para aprender a usar las variables en escenas
« Respuesta #6 en: Junio 24, 2019, 19:01:30 pm »
Gracias por vuestras respuestas, la verdad es que me estoy dando cuenta del gran potencial que tiene Jeedom, su motor de escenas es majestuoso y sus opciones de configuración no se quedan cortas. Tal vez estos aspectos pueden transformarse en algo negativo para los novatos como yo que no tenemos base informática, pues su curva de aprendizaje es muy dura al principio, menos mal que tenemos a la comunidad para ayudarnos.

De ambas soluciones para mi supuesto concreto, me parece más sencilla la aportada por phroc, así que siguiendo mi filosofía de que “lo más sencillo suele resultar lo mejor” probare esta opción. A ver si encuentro un poco de rato para implementar la escena y os comento el resultado.

Bull

  • *****
  • 1341
  • IA unipersonal @1975
    • Ver Perfil
    • Domótica Domestica
Re:Volviendo a Jeedom, consejos para aprender a usar las variables en escenas
« Respuesta #7 en: Junio 24, 2019, 22:34:22 pm »
Es que los que venís de eedomus a parte tenéis que cambiar la filosofía del motor a mi entender mucho más kafkiano que el de jeedom. Ya verás que en cuanto le dediques unas horas cambias de parecer.
Todos nos equivocamos, por eso los lápices llevan goma.