gawindx / homebridge-risco-platform

RiscoAlarm Platform for Homebridge - Originally based on the 'szlaskidaniel / homebridge-risco-alarm' project
5 stars 1 forks source link

Error on getCPStates - Cannot read property 'type' of undefined #27

Closed Sylanorr closed 3 years ago

Sylanorr commented 3 years ago

I can ARM/DISARM with Homekit, but the states are never found. Anybody had the same issue since 3 or 4 days ?

[2020-11-11 8:00:07] [RiscoAlarm] Error on getCPStates: TypeError: Cannot read property 'type' of undefined at RiscoPanelSession.getPartsStates (/usr/lib/node_modules/homebridge-risco-platform/Risco.js:1100:55) at RiscoPanelSession.UpdateCPStates (/usr/lib/node_modules/homebridge-risco-platform/Risco.js:1361:28) at RiscoPanelSession.getCPStates (/usr/lib/node_modules/homebridge-risco-platform/Risco.js:1342:28) at runMicrotasks () at processTicksAndRejections (internal/process/task_queues.js:97:5) at RiscoPanelSession.getCPStatesPoll (/usr/lib/node_modules/homebridge-risco-platform/Risco.js:1286:16) (node:23169) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'type' of undefined at RiscoPanelSession.getPartsStates (/usr/lib/node_modules/homebridge-risco-platform/Risco.js:1100:55) at RiscoPanelSession.UpdateCPStates (/usr/lib/node_modules/homebridge-risco-platform/Risco.js:1361:28) at RiscoPanelSession.getCPStates (/usr/lib/node_modules/homebridge-risco-platform/Risco.js:1342:28) at runMicrotasks () at processTicksAndRejections (internal/process/task_queues.js:97:5) at RiscoPanelSession.getCPStatesPoll (/usr/lib/node_modules/homebridge-risco-platform/Risco.js:1286:16) (node:23169) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 326)

gawindx commented 3 years ago

Can you tell me a little more about your configuration? If I look at where the error came from, it looks like you are in "system" mode. Is this the case?

Since you encountered this error, have you tried relaunching the plugin?

Sylanorr commented 3 years ago

Je n'ai plus l'erreur depuis tout à l'heure mais les symptômes sont toujours présent.

Je peux sans aucun problème armer et désarmer la partition via Homekit, mais ... Une fois l'action effectuée, le statut de la partition semble ne pas se sauvegarder.

Exemple, je passe mon alarme en mode nuit, elle active le mode nuit et revient immédiatement sur "désactivé", pourtant, l'alarme sera bien en mode nuit.

Je ne vois pas du tout ce qu'est le "System" Mode ? Comment puis-je vérifier ça ?

Ce soucis est présent depuis 5 jours.

Bien à toi, Sylanor

gawindx commented 3 years ago

Bizarre comme problème. Es tu bien sur la dernière version du plugin (1.1.11)?

Si je te pose la question c'est que justement, j'ai corrigé récemment un problème qui causait un mauvais affichage de l'état de la partition une fois armé (l'armement se faisait bien mais lorsque l'on revenait sur la partition, elle semblait parfois désactivé).

Concernant le mode système, c'est lorsque l'on déclare aucune partition ni groupes ou que l'on déclare spécifiquement l'option "system" dans le paramètre "Partition" du config.json.

Dans ce cas, toutes les partitions sont gérées comme une seule.

Si j'ai évoqué cette possibilité, c'est que ton erreur survient à la ligne 1100, sur cette ligne : if (self.DiscoveredAccessories.Partitions.type == 'system') {

Ce qui peux parfois arriver, même si j'ai travaillé sur ce point pour éviter que ça arrive(en tout cas pour forcer une nouvelle requete dans ce cas), c'est que le Cloud donne une réponse non satisfaisante lors du lancement du plugin, dans la phase de découverte des partitions.

Quand cela arrive malgré tout, l'initialisation des partitions ne se fait pas et il suffit généralement de redémarrer le plugin pour que cela fonctionne correctement.

Et ce comportement pourrait expliquer l'erreur que tu as rencontré.

andyblac commented 3 years ago

i'm getting this too

[14/11/2020, 14:36:58] [RiscoAlarm] Error on getCPStates: Error on Request : -3001
 Code : EAI_AGAIN
(node:28641) UnhandledPromiseRejectionWarning: Error on Request : -3001
 Code : EAI_AGAIN
(node:28641) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 576)
[14/11/2020, 14:37:05] [RiscoAlarm] UserCodeExpired error:
Error on Request : -3001
[14/11/2020, 14:37:08] [RiscoAlarm] Error on Validate User Code:
1Error on Request : -3001
 Code : EAI_AGAIN
[14/11/2020, 14:37:15] [RiscoAlarm] UserCodeExpired error:
Error on Request : -3001
[14/11/2020, 14:37:18] [RiscoAlarm] UserCodeExpired error:
Error on Request : -3001
[14/11/2020, 14:37:25] [RiscoAlarm] Error on Validate User Code:
1Error on Request : -3001
 Code : EAI_AGAIN
[14/11/2020, 14:37:28] [RiscoAlarm] UserCodeExpired error:
Error on Request : -3001
[14/11/2020, 14:37:32] [Homebridge UI] [homebridge] Failed to check registry.npmjs.org for updates: "getaddrinfo EAI_AGAIN registry.npmjs.org" - see https://git.io/JJSz6 for help.
[14/11/2020, 14:37:35] [RiscoAlarm] Error on getCPStates: Error on Request : -3001
 Code : EAI_AGAIN
(node:28641) UnhandledPromiseRejectionWarning: Error on Request : -3001
 Code : EAI_AGAIN
(node:28641) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 592)
[14/11/2020, 14:37:38] [RiscoAlarm] UserCodeExpired error:
Error on Request : -3001
Sylanorr commented 3 years ago

Bonjour,

Juste pour info , j’ai du relancer la centrale et les changements d’états des partitions sont à nouveau pris en compte.

Je pense que c’est la mise à jour côté IRISCO qui a provoqué ce problème.

Merci pour ton aide et ton super travail.

gawindx commented 3 years ago

Merci à toi et pour ton retour.