Cannot read property 'id' of undefined

Bonjour,

Sous jeedom V4, j’ai cet avertissement lorsque je cherche à voir le graphique du réseau :

Uncaught TypeError: Cannot read property ‹ id › of undefined

et cela m’empêche de voir le graphique
Avez vous une idée de ce que cela peut être et de comment le régler ?

Merci
François

Bonjour,

Je me retrouve avec le même bug, vous avez eu la solution entre temps ?

Merci.
Seb

Bonjour,

Même problème pour moi, sur un raspberry PI3B+ avec Jeedom V4.1.19, et une Zigate USB…

Merci,
Francois

bonjour c’est pareil pour moi depuis hier et la réinclusion de devices zigbee en v4.1.19

Bonjour,

J’ai le même pb lorsque je souhaite afficher le réseau Zigate depuis le plugin zigate.

Voici les infos que j’ai pu récupérer :

URL: https://myjeedom/index.php?v=d&m=zigate&p=zigate

Dans le debugger Chrome :

Uncaught TypeError: Cannot read property 'id' of undefined
    at <anonymous>:99:61
    at Array.forEach (<anonymous>)
    at Object.success (<anonymous>:85:19)
    at c (VM10464 jquery.min.js:2)
    at Object.fireWith [as resolveWith] (VM10464 jquery.min.js:2)
    at l (VM10464 jquery.min.js:2)
    at XMLHttpRequest.<anonymous> (VM10464 jquery.min.js:2)
(anonymous) @ VM10681:99
success @ VM10681:85
c @ VM10464 jquery.min.js:2
fireWith @ VM10464 jquery.min.js:2
l @ VM10464 jquery.min.js:2
(anonymous) @ VM10464 jquery.min.js:2
load (async)
send @ VM10464 jquery.min.js:2
ajax @ VM10464 jquery.min.js:2
load_graph @ VM10681:56
(anonymous) @ VM10681:51
dispatch @ VM10464 jquery.min.js:2
v.handle @ VM10464 jquery.min.js:2

ce qui pointe vers https://github.com/jeedom-zigate/jeedom-plugin-zigate/blob/ee58feb4b0244a574a1cbb756f60d1e3299f8340/desktop/js/network.js#L99

                if  (typeof neighbors[element[0]] != 'undefined') {
                    ...
                } else {
                    neighbors[element[0]] = eqLs[element[1]]["id"]; <---------------- ligne qui jette l'exception
                    neighbors[element[1]] = eqLs[element[0]]["id"];
                    graph.addLink(element[0], element[1], {lqi : element[2]});
                }

element[1] retourne une string dont eqLs ne contient pas d’entrée.

De ce que j’en comprends :

  • eqLs regroupe les ADDR des composants Zigbee inclus.
  • element[1] est supposé être l’un de ces ADDR, mais celui recherché n’existe pas
    => cela pourrait il être l’ADDR d’un composent Zigbee zombie ?!
    je teste pas mal d’inclusions / suppressions de composants pour faire fonctionner mon système.

Jeedom 4.1.19
plugin zigate 1.7.6
lib zigate 0.40.12
pizigate en 3.1d

J’ai trouvé une solution super hackish en partant de :

en rajoutant un test sur l’existance d’element[1] dans eqLs.

            links.forEach(function (element) {
              if (eqLs.hasOwnProperty(element[1])) {
                if (typeof neighbors[element[0]] != 'undefined') {
                    if (neighbors[element[0]].indexOf(eqLs[element[1]]["id"]) == -1) {
                        neighbors[element[0]] += ","+eqLs[element[1]]["id"];
                        graph.addLink(element[0], element[1], {lqi : element[2]});
                    }
                    if (typeof neighbors[element[1]] != 'undefined') {
                        if (neighbors[element[1]].indexOf(eqLs[element[0]]["id"]) == -1) {
                            neighbors[element[1]] += ","+eqLs[element[0]]["id"];
                        }
                    } else {
                        neighbors[element[1]] = eqLs[element[0]]["id"];
                    };
                } else {
                            neighbors[element[0]] = eqLs[element[1]]["id"];
                            neighbors[element[1]] = eqLs[element[0]]["id"];
                            graph.addLink(element[0], element[1], {lqi : element[2]});
                }
              }
            });

Mon graphe est a nouveau affiché.

Bonjour

J’ai le même problème
Avez vous trouvé une solution sans toucher au code ?

Merci