Problème ouverture scénario

Bonjour à tous,

Je débute clairement en Jeedom et après avoir bosser quelques heures sur un scénario, j’ai un problème qui est arrivé sans action (à priori) de ma part :).

Je ne peux plus ouvrir le scénario en question pour le modifier, alors que je peux encore le faire sans soucis sur les autres.

J’ai l’erreur javascript suivante

 Uncaught TypeError: _expression.expression.replace is not a function
     at Object.addExpression (<anonymous>:516:61)
     at Object.addSubElement (<anonymous>:795:26)
     at Object.addElement (<anonymous>:1017:27)
     at Object.addExpression (<anonymous>:533:32)
     at Object.addSubElement (<anonymous>:688:30)
     at Object.addElement (<anonymous>:972:27)
     at Object.success (<anonymous>:390:30)
     at Object.success (getResource.phpfile=core/js/private.class.js&md5=7d06f01f4819c93aa4a9e2b80a374a1c&lang=fr_FR:114:17)
     at c (jquery.min.js?md5=7c14a783dfeb3d238ccd3edd840d82ee:2:28327)
     at Object.fireWith [as resolveWith] (jquery.min.jsmd5=7c14a783dfeb3d238ccd3edd840d82ee:2:29072)

La ligne 516 en question est la suivante :

_expression.expression = _expression.expression.replace(/"/g, '&quot;')

J’ai essayer de redémarrer Jeedom, de faire la mise à jour du core (4.3.12 > 4.3.17) mais rien y fait.

Je suis tombé sur ce lien qui traite exactement du même problème, mais la solution était une mise à jour, et je suis à jour :frowning:

Si quelqu’un a une piste.

Merci d’avance !

Bonne journée.

Romain

PS : j’ai tenté de mettre les extraits de code en mode code, si ça ne marche pas j’espère pouvoir éditer mon message :smiley:

Salut. Heu pour un problème comme ça sans raison ni explication apparente, peut être un problème de cache ? Tu as essayé de te connecter à jeedom en navigation privée pour voir ?

Hello,

Merci pour ta réponse ! Désolé mais je débute vraiment, qu’appelles-tu navigation privé ?

Je parlais du mode navigation privée de ton navigateur, soit chez moi sous Firefox :

image

Ca à l’avantage de « cloisonner » ta session donc si il y a un souci de cache, il ne se verra pas en fenêtre privée

Je viens d’essayer, cela ne change rien.

A savoir que j’ai essayé en connexion via l’IP ou par l’URL, et sur plusieurs PC, le comportement est toujours le même.

Ok donc c’est pas un « basique » souci de cache. Ton scénario contenait quoi comme type de blocs ? des choses « classiques » ? pas de code ?

Oui pour moi assez classique. L’objectif est d’avoir un mode « absence courte durée » pour éviter de chauffer pour rien. Je programme une durée et active le mode ce qui a pour effet de désactiver l’agenda et de passer les radiateurs en Eco.

Donc bloc « si », « dans » et « A ». Quelques champs ou j’affectais des valeurs à des variables, quelques formules d’addition d’heure et de formatage de timestamp, rien de bien sorcier (pour vous :D) et surtout pas de bloc « code ».

Ok merci pour les précisions. Juste pour bien comprendre l’erreur que tu as cité plus haut, tu l’a à quel moment exactement ? Dès que tu cliques sur le scénario depuis la page de gestion des scénarios ?
Ou alors tu peux l’ouvrir mais c’est dès que tu va sur l’onglet d’édition du contenu ?

image

C’est ça …

Dès que je clique sur Scenario_AbsenceCourteV2,

J’arrive sur ça …

J’ai remarqué que lorsque je tente d’ouvrir ce scenario qui plante, l’adresse dans la barre d’addresse ne change pas et reste à

index.php?v=d&p=scenario

Quand j’ouvre le scenario Absence courte, il s’ouvre bien et l’adresse est modifiée

index.php?v=d&p=scenario&id=8

Salut,

On peut tenter un truc mais sans certitude …

Tu peux tenter d’aller dans System > Configuration > OS/DB puis Administration base de données puis taper SELECT * FROM scenario et Executer.

Note l’id du scénario d’après son nom dans la table puis essai d’ouvrir ce lien : http://192.168.1.28/index.php?v=d&modal=scenario.export&scenario_id=x en remplaçant x par le numéro du scénario

ça donne quoi ?

Visiblement d’après son message précédent c’est l’id 8 qui pose problème, donc il peut tenter direct d’aller sur /index.php?v=d&modal=scenario.export&scenario_id=8 je pense

Nan, l’id 8 c’est celui qui s’ouvre bien « Absence courte »

Merci à tous les deux pour votre aide, oui le 8 marche bien c’est le 9 qui merdouille, voila ce que donne ta manip

- Nom du scénario : Scenario_AbsenceCourteV2
- Objet parent : Maison
- Mode du scénario : provoke
    - Evènement : #[Maison][Virtuel_AbsenceCourteV2][Etat_Binaire]# 


    SI #[Maison][Virtuel_AbsenceCourteV2][Etat_Binaire]# == '1' 
    ALORS
     equipement - Options : {"enable":"1","background":"0","eqLogic":"#[Maison][Agenda Chauffage ]#","action":"deactivate"}
     #[Salon][Thermostat Salon][Eco]# - Options : {"enable":"1","background":"0"}
     #[Chambre parents][Thermostat chambre parentale][Eco]# - Options : {"enable":"1","background":"0"}
     (variable) Affectation de la variable : Var_EtatAbsenceCourteV2 à Activé
     (variable) Affectation de la variable : Var_TimerAbsenceCourteV2 à Date('d/m/Y H:i:s',#timestamp#+#273#)
         
        DANS #[Maison][Virtuel_AbsenceCourteV2][Minuteur_Valeur]#/6
        FAIRE
         #[Maison][Virtuel_AbsenceCourteV2][Toggle]# - Options : {"enable":"1","background":"0"}
         wait - Options : {"enable":"0","background":"0","condition":"","timeout":"5"}
         equipement - Options : {"enable":"0","background":"0","eqLogic":"#[Maison][Agenda Chauffage ]#","action":"activate"}
         (variable) Affectation de la variable : Var_EtatAbsenceCourteV2 à Désactivé
         
        A ["Variable(Var_TimerAbsenceCourteV2)"]
        FAIRE
         #[Maison][Virtuel_AbsenceCourteV2][Toggle]# - Options : {"enable":"1","background":"0"}
    SINON
    
    SI #[Maison][Virtuel_AbsenceCourteV2][Etat_Binaire]# == '0'  
    ALORS
     #[Chambre parents][Thermostat chambre parentale][Confort]# - Options : {"enable":"1","background":"0"}
     #[Maison][Virtuel_AbsenceCourteV2][Toggle]# - Options : {"enable":"0","background":"0"}
     (variable) Affectation de la variable : Var_EtatAbsenceCourteV2 à Désactivé
     (variable) Affectation de la variable : Var_TimerAbsenceCourteV2 à Aucune programmation en cours
     wait - Options : {"enable":"1","background":"0","condition":"","timeout":"5"}
     equipement - Options : {"enable":"1","background":"0","eqLogic":"#[Maison][Agenda Chauffage ]#","action":"activate"}
    SINON

Cool, ça a marché ! Voilà et bien tu as plus qu’à refaire un nouveau scénario en y allant doucement et en lisant le contenu des instructions.

Une fois que tu auras fini on pourra supprimer le scénario, via requête SQL

2 pistes :

  • La commande #[Maison][Agenda Chauffage ]# qui me semble étrange puisque normalement c’est sur ce format #[aaa][bbb][ccc]#
  • Date('d/m/Y H:i:s',#timestamp#+#273#) (la commande #273#) !?
1 « J'aime »

Bon effectivement, c’est une méthode et au moins j’ai la trame ! Merci beaucoup !

Je ne comprends pas ta remarque mais en tous cas cela fonctionne, je l’ai dans mon scénario ID8 qui est parfaitement fonctionnel.

Ce que je fais là est remplir la variable Var_TimerAbsenceCourteV2 avec l’heure de lancement du scénario + la durée que j’ai sélectionné dans mon virtuel #[Maison][Virtuel_AbsenceCourteV2][Minuteur_Valeur]#

Pour moi c’était fonctionnel avec :
Date('d/m/Y H:i:s',#timestamp#+#[Maison][Virtuel_AbsenceCourteV2][Minuteur_Valeur]#)

Je ne sais pas pourquoi j’ai un 273, peut-être une fausse manip …

Du coup tu peux essayer /index.php?v=d&modal=scenario.jsonEdit&id=9 pour voir ?

Aurel, le 9 est bien celui qui ne fonctionne pas que j’ai mis plus haut

Le 8 qui fonctionne donne cela :

- Nom du scénario : Absence courte
- Objet parent : Maison
- Mode du scénario : provoke
    - Evènement : #[Maison][Absence courte][Etat]#



    
    SI #[Maison][Absence courte][Etat]# == '1' 
    ALORS
     equipement - Options : {"enable":"1","background":"0","eqLogic":"#[Maison][Agenda Chauffage ]#","action":"deactivate"}
     #[Salon][Thermostat Salon][Eco]# - Options : {"enable":"1","background":"0"}
     #[Chambre parents][Thermostat chambre parentale][Eco]# - Options : {"enable":"1","background":"0"}
     (variable) Affectation de la variable : EtatAbsenceCourte à Activé
         
        DANS #[Maison][Absence courte][Minuteur_Absence]#*60
        FAIRE
         #[Maison][Absence courte][Désactiver]# - Options : {"enable":"1","background":"0"}
         wait - Options : {"enable":"1","background":"0","condition":"","timeout":"5"}
         equipement - Options : {"enable":"1","background":"0","eqLogic":"#[Maison][Agenda Chauffage ]#","action":"activate"}
    SINON
    
    SI #[Maison][Absence courte][Etat]# == '0'  
    ALORS
     #[Chambre parents][Thermostat chambre parentale][Confort]# - Options : {"enable":"1","background":"0"}
     #[Maison][Absence courte][Désactiver]# - Options : {"enable":"1","background":"0"}
     (variable) Affectation de la variable : EtatAbsenceCourte à Désactivé
     wait - Options : {"enable":"1","background":"0","condition":"","timeout":"5"}
     equipement - Options : {"enable":"1","background":"0","eqLogic":"#[Maison][Agenda Chauffage ]#","action":"activate"}
    SINON

Oui je sais mais le lien que j’ai donné est une autre fonction pas tout à fait celle qu’à proposé @Bison

Toutes mes excuses, je n’avais pas vu la différence,

Ca m’ouvre bien une fenêtre avec « Sauvegarder » au lieu de « Télécharger » et « Copier » mais ce n’est pas un lien, je ne semble pas pouvoir en faire quoi que ce soit.

Le contenu est le suivant :

 [
    {
        "id": "17",
        "name": null,
        "type": "if",
        "options": [],
        "order": "0",
        "subElements": [
            {
                "id": "33",
                "name": null,
                "scenarioElement_id": "17",
                "type": "if",
                "subtype": "condition",
                "options": {
                    "collapse": "0",
                    "enable": "1",
                    "allowRepeatCondition": "0"
                },
                "order": "0",
                "expressions": [
                    {
                        "id": "48",
                        "scenarioSubElement_id": "33",
                        "type": "condition",
                        "subtype": null,
                        "expression": "#[Maison][Virtuel_AbsenceCourteV2][Etat_Binaire]# == '1' ",
                        "options": [],
                        "order": "0"
                    }
                ]
            },
            {
                "id": "34",
                "name": null,
                "scenarioElement_id": "17",
                "type": "then",
                "subtype": "action",
                "options": [],
                "order": "1",
                "expressions": [
                    {
                        "id": "49",
                        "scenarioSubElement_id": "34",
                        "type": "action",
                        "subtype": null,
                        "expression": "equipement",
                        "options": {
                            "enable": "1",
                            "background": "0",
                            "eqLogic": "#[Maison][Agenda Chauffage ]#",
                            "action": "deactivate"
                        },
                        "order": "0"
                    },
                    {
                        "id": "50",
                        "scenarioSubElement_id": "34",
                        "type": "action",
                        "subtype": null,
                        "expression": "#[Salon][Thermostat Salon][Eco]#",
                        "options": {
                            "enable": "1",
                            "background": "0"
                        },
                        "order": "1"
                    },
                    {
                        "id": "51",
                        "scenarioSubElement_id": "34",
                        "type": "action",
                        "subtype": null,
                        "expression": "#[Chambre parents][Thermostat chambre parentale][Eco]#",
                        "options": {
                            "enable": "1",
                            "background": "0"
                        },
                        "order": "2"
                    },
                    {
                        "id": "52",
                        "scenarioSubElement_id": "34",
                        "type": "action",
                        "subtype": null,
                        "expression": "variable",
                        "options": {
                            "enable": "1",
                            "background": "0",
                            "name": "Var_EtatAbsenceCourteV2",
                            "value": "Activ\u00e9"
                        },
                        "order": "3"
                    },
                    {
                        "id": "65",
                        "scenarioSubElement_id": "34",
                        "type": "action",
                        "subtype": null,
                        "expression": "variable",
                        "options": {
                            "enable": "1",
                            "background": "0",
                            "name": "Var_TimerAbsenceCourteV2",
                            "value": "Date('d\/m\/Y H:i:s',#timestamp#+#[Maison][Virtuel_AbsenceCourteV2][Minuteur_Valeur]#)"
                        },
                        "order": "4"
                    },
                    {
                        "id": "53",
                        "scenarioSubElement_id": "34",
                        "type": "element",
                        "subtype": null,
                        "expression": "18",
                        "options": [],
                        "order": "5",
                        "element": {
                            "id": "18",
                            "name": null,
                            "type": "in",
                            "options": [],
                            "order": "0",
                            "subElements": [
                                {
                                    "id": "35",
                                    "name": null,
                                    "scenarioElement_id": "18",
                                    "type": "in",
                                    "subtype": "condition",
                                    "options": {
                                        "collapse": "0",
                                        "enable": "0"
                                    },
                                    "order": "0",
                                    "expressions": [
                                        {
                                            "id": "54",
                                            "scenarioSubElement_id": "35",
                                            "type": "condition",
                                            "subtype": null,
                                            "expression": "#[Maison][Virtuel_AbsenceCourteV2][Minuteur_Valeur]#\/6",
                                            "options": [],
                                            "order": "0"
                                        }
                                    ]
                                },
                                {
                                    "id": "36",
                                    "name": null,
                                    "scenarioElement_id": "18",
                                    "type": "do",
                                    "subtype": "action",
                                    "options": [],
                                    "order": "1",
                                    "expressions": [
                                        {
                                            "id": "55",
                                            "scenarioSubElement_id": "36",
                                            "type": "action",
                                            "subtype": null,
                                            "expression": "#[Maison][Virtuel_AbsenceCourteV2][Toggle]#",
                                            "options": {
                                                "enable": "1",
                                                "background": "0"
                                            },
                                            "order": "0"
                                        },
                                        {
                                            "id": "56",
                                            "scenarioSubElement_id": "36",
                                            "type": "action",
                                            "subtype": null,
                                            "expression": "wait",
                                            "options": {
                                                "enable": "0",
                                                "background": "0",
                                                "condition": "",
                                                "timeout": "5"
                                            },
                                            "order": "1"
                                        },
                                        {
                                            "id": "57",
                                            "scenarioSubElement_id": "36",
                                            "type": "action",
                                            "subtype": null,
                                            "expression": "equipement",
                                            "options": {
                                                "enable": "0",
                                                "background": "0",
                                                "eqLogic": "#[Maison][Agenda Chauffage ]#",
                                                "action": "activate"
                                            },
                                            "order": "2"
                                        },
                                        {
                                            "id": "64",
                                            "scenarioSubElement_id": "36",
                                            "type": "action",
                                            "subtype": null,
                                            "expression": "variable",
                                            "options": {
                                                "enable": "0",
                                                "background": "0",
                                                "name": "Var_EtatAbsenceCourteV2",
                                                "value": "D\u00e9sactiv\u00e9"
                                            },
                                            "order": "3"
                                        }
                                    ]
                                }
                            ]
                        }
                    },
                    {
                        "id": "71",
                        "scenarioSubElement_id": "34",
                        "type": "element",
                        "subtype": null,
                        "expression": "21",
                        "options": [],
                        "order": "6",
                        "element": {
                            "id": "21",
                            "name": null,
                            "type": "at",
                            "options": [],
                            "order": "0",
                            "subElements": [
                                {
                                    "id": "43",
                                    "name": null,
                                    "scenarioElement_id": "21",
                                    "type": "at",
                                    "subtype": "condition",
                                    "options": {
                                        "collapse": "0",
                                        "enable": "1"
                                    },
                                    "order": "0",
                                    "expressions": [
                                        {
                                            "id": "69",
                                            "scenarioSubElement_id": "43",
                                            "type": "condition",
                                            "subtype": null,
                                            "expression": [
                                                "Variable(Var_TimerAbsenceCourteV2)"
                                            ],
                                            "options": [],
                                            "order": "0"
                                        }
                                    ]
                                },
                                {
                                    "id": "44",
                                    "name": null,
                                    "scenarioElement_id": "21",
                                    "type": "do",
                                    "subtype": "action",
                                    "options": [],
                                    "order": "1",
                                    "expressions": [
                                        {
                                            "id": "70",
                                            "scenarioSubElement_id": "44",
                                            "type": "action",
                                            "subtype": null,
                                            "expression": "#[Maison][Virtuel_AbsenceCourteV2][Toggle]#",
                                            "options": {
                                                "enable": "1",
                                                "background": "0"
                                            },
                                            "order": "0"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            {
                "id": "37",
                "name": null,
                "scenarioElement_id": "17",
                "type": "else",
                "subtype": "action",
                "options": [],
                "order": "2",
                "expressions": []
            }
        ]
    },
    {
        "id": "19",
        "name": null,
        "type": "if",
        "options": [],
        "order": "0",
        "subElements": [
            {
                "id": "38",
                "name": null,
                "scenarioElement_id": "19",
                "type": "if",
                "subtype": "condition",
                "options": {
                    "collapse": "0",
                    "enable": "1",
                    "allowRepeatCondition": "0"
                },
                "order": "0",
                "expressions": [
                    {
                        "id": "58",
                        "scenarioSubElement_id": "38",
                        "type": "condition",
                        "subtype": null,
                        "expression": "#[Maison][Virtuel_AbsenceCourteV2][Etat_Binaire]# == '0'  ",
                        "options": [],
                        "order": "0"
                    }
                ]
            },
            {
                "id": "39",
                "name": null,
                "scenarioElement_id": "19",
                "type": "then",
                "subtype": "action",
                "options": [],
                "order": "1",
                "expressions": [
                    {
                        "id": "59",
                        "scenarioSubElement_id": "39",
                        "type": "action",
                        "subtype": null,
                        "expression": "#[Chambre parents][Thermostat chambre parentale][Confort]#",
                        "options": {
                            "enable": "1",
                            "background": "0"
                        },
                        "order": "0"
                    },
                    {
                        "id": "60",
                        "scenarioSubElement_id": "39",
                        "type": "action",
                        "subtype": null,
                        "expression": "#[Maison][Virtuel_AbsenceCourteV2][Toggle]#",
                        "options": {
                            "enable": "0",
                            "background": "0"
                        },
                        "order": "1"
                    },
                    {
                        "id": "61",
                        "scenarioSubElement_id": "39",
                        "type": "action",
                        "subtype": null,
                        "expression": "variable",
                        "options": {
                            "enable": "1",
                            "background": "0",
                            "name": "Var_EtatAbsenceCourteV2",
                            "value": "D\u00e9sactiv\u00e9"
                        },
                        "order": "2"
                    },
                    {
                        "id": "66",
                        "scenarioSubElement_id": "39",
                        "type": "action",
                        "subtype": null,
                        "expression": "variable",
                        "options": {
                            "enable": "1",
                            "background": "0",
                            "name": "Var_TimerAbsenceCourteV2",
                            "value": "Aucune programmation en cours"
                        },
                        "order": "3"
                    },
                    {
                        "id": "62",
                        "scenarioSubElement_id": "39",
                        "type": "action",
                        "subtype": null,
                        "expression": "wait",
                        "options": {
                            "enable": "1",
                            "background": "0",
                            "condition": "",
                            "timeout": "5"
                        },
                        "order": "4"
                    },
                    {
                        "id": "63",
                        "scenarioSubElement_id": "39",
                        "type": "action",
                        "subtype": null,
                        "expression": "equipement",
                        "options": {
                            "enable": "1",
                            "background": "0",
                            "eqLogic": "#[Maison][Agenda Chauffage ]#",
                            "action": "activate"
                        },
                        "order": "5"
                    }
                ]
            },
            {
                "id": "40",
                "name": null,
                "scenarioElement_id": "19",
                "type": "else",
                "subtype": "action",
                "options": [],
                "order": "2",
                "expressions": []
            }
        ]
    }
]

D’ailleurs c’est surprenant, dans cette version, on a pas le #273# dont parlé @Bison mais bien ce que je décrivais plus haut :

#timestamp#+#[Maison][Virtuel_AbsenceCourteV2][Minuteur_Valeur]#