Plugin trouve les devices mais ne les affiche pas

Bonjour,

Je n’arrive pas à faire fonctionner le plugin Dyson.
Dans les log je vois qu’il retrouve bien les numéro de série des mes deux équipements mais j’ai beau faire « synchroniser » il ne m’affiche rien.

le log d’install donne ceci :

********************************************************
*             Installation des dépendances             *
********************************************************
Hit:1 http://security.debian.org/debian-security buster/updates InRelease
Hit:2 http://deb.debian.org/debian buster InRelease
Hit:3 http://deb.debian.org/debian buster-updates InRelease
Hit:4 https://deb.nodesource.com/node_14.x buster InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
build-essential is already the newest version (12.6).
git is already the newest version (1:2.20.1-2+deb10u3).
lsb-release is already the newest version (10.2019051400).
apt-utils is already the newest version (1.8.2.3).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[Check Version NodeJS actuelle : v14.17.0 : [  OK  ]
[Check Prefix : /usr and sudo prefix : /usr and www-data prefix : /usr : [  OK  ]
npm WARN dyson@1.0.1 No repository field.
npm WARN dyson@1.0.1 No license field.

added 195 packages from 139 contributors and audited 195 packages in 7.766s

12 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

********************************************************
*             Installation terminée                    *
********************************************************

le log au démarrage:

(node:14650) UnhandledPromiseRejectionWarning: StatusCodeError: 403 - "error code: 1020"
    at new StatusCodeError (/var/www/html/plugins/dyson/resources/dysond/node_modules/request-promise-core/lib/errors.js:32:15)
    at Request.plumbing.callback (/var/www/html/plugins/dyson/resources/dysond/node_modules/request-promise-core/lib/plumbing.js:104:33)
    at Request.RP$callback [as _callback] (/var/www/html/plugins/dyson/resources/dysond/node_modules/request-promise-core/lib/plumbing.js:46:31)
    at Request.self.callback (/var/www/html/plugins/dyson/resources/dysond/node_modules/request/request.js:185:22)
    at Request.emit (events.js:376:20)
    at Request.<anonymous> (/var/www/html/plugins/dyson/resources/dysond/node_modules/request/request.js:1154:10)
    at Request.emit (events.js:376:20)
    at IncomingMessage.<anonymous> (/var/www/html/plugins/dyson/resources/dysond/node_modules/request/request.js:1076:12)
    at Object.onceWrapper (events.js:482:28)
    at IncomingMessage.emit (events.js:388:22)
(Use `nodejs --trace-warnings ...` to show where the warning was created)
(node:14650) 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: 1)
(node:14650) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Je précise que je viens d’installer Jeedom il y a seulement quelques jours, je ne suis donc pas à l’abris d’une erreur de débutant :slight_smile:

Bonjour,

Je ne connais pas le plugin mais y-a-t-il un mot user / mot de passe à configurer?

L’erreur suivante me ferait penser que le mot de passe est incorrecte (ou en tout cas refusé).

StatusCodeError: 403

Bonjour,

merci pour ta réponse.

En mode debug je voit dans le log qu’il retrouve bien le numero de séries de mes devices Dyson.
Il semble plus les trouver sur le réseau que sur le serveur de Dyson

Même quand je met volontairement un mauvais password il me les affiche.

Le soucis vient peut être que la seule localisation disponible dans le plugin est France alors que j’ai créé mon compte sur Dyson.be

Pour tester je me suis connecter avec mon compte sur l’app mobile de Dyson en renseignement France comme localisation et tout fonctionne pourtant.

Je viens de faire plusieurs essais sans résultat. Changement de password sur dyson.fr, le login est commun avec dyson.be et c’est bien cette combinaison de login/password qui est utilisée sur app mobile.

Ca semble être effectivement un soucis de ce côté, peu importe le password que je renseigne les log sont exactement les mêmes.

J’ai remarqué dans l’app qu’il y a une double authentification avec un code envoyé par mail. Je ne me souviens as si c’était déjà le cas avant. Rien sur le site de dyson ou dans l’app pour éventuellement supprimer cette double authentification :confused:

Quelqu’un a t’il configuré ce plugin avec succès il y a peu ?

J’ai fais un ticket hier soir.

Réponse ce matin, soucis causé par la double authentification mise en place par Dyson, malureusement impossible de corriger le plugin est passé obsolète :frowning:

La double Auth elle est faite via quel moyen ?
Type Google Auth?
Mail avec un code ?
Sms avec un code ?

Par mail via un code à 6 chiffres

Alors techniquement c’est possible même si complexe (et pas du tout le but du 2fa évidemment).
Impossible à désactiver ce 2fa?

Hello,

J’ai sûrement le même problème. Plus de communication avec mon dyson depuis 6 jours.
Voici les logs lorsque je redémarre le daemon (j’ai aussi tenté de réinstaller les dépendances) et quelques commandes que j’envoie à l’appareil:

[2021-06-09 09:05:38][INFO] : Lancement démon dyson : sudo /usr/bin/nodejs /var/www/html/plugins/dyson/resources/dysond/dysond.js --loglevel debug --socketport 55026 --callback http://127.0.0.1:80/plugins/dyson/core/php/jeedyson.php --apikey ******** --cycle 0.1 --pid /tmp/jeedom/dyson/deamon.pid --username 'er*****e.fr' --password '******' --country FR
[2021-06-09 07:05:39][INFO] : Start dysond
[2021-06-09 07:05:39][INFO] : Log level on  : debug
[2021-06-09 07:05:39][INFO] : Socket port : 55026
[2021-06-09 07:05:39][INFO] : Username : er*****e.fr
[2021-06-09 07:05:39][INFO] : Password : *********
[2021-06-09 07:05:39][INFO] : PID file : /tmp/jeedom/dyson/deamon.pid
[2021-06-09 07:05:39][INFO] : Apikey : **********
[2021-06-09 07:05:39][INFO] : Callback : http://127.0.0.1:80/plugins/dyson/core/php/jeedyson.php
[2021-06-09 07:05:39][INFO] : Cycle : 0.1
[2021-06-09 07:05:39][DEBUG] : Launch dyson connection
[2021-06-09 07:05:39][DEBUG] : Call get device
[2021-06-09 07:05:39][DEBUG] : HTTP listen on 127.0.0.1 port : 55026 started
(node:6223) UnhandledPromiseRejectionWarning: StatusCodeError: 403 - "error code: 1020"
    at new StatusCodeError (/var/www/html/plugins/dyson/resources/dysond/node_modules/request-promise-core/lib/errors.js:32:15)
    at Request.plumbing.callback (/var/www/html/plugins/dyson/resources/dysond/node_modules/request-promise-core/lib/plumbing.js:104:33)
    at Request.RP$callback [as _callback] (/var/www/html/plugins/dyson/resources/dysond/node_modules/request-promise-core/lib/plumbing.js:46:31)
    at Request.self.callback (/var/www/html/plugins/dyson/resources/dysond/node_modules/request/request.js:185:22)
    at Request.emit (events.js:315:20)
    at Request.<anonymous> (/var/www/html/plugins/dyson/resources/dysond/node_modules/request/request.js:1154:10)
    at Request.emit (events.js:315:20)
    at IncomingMessage.<anonymous> (/var/www/html/plugins/dyson/resources/dysond/node_modules/request/request.js:1076:12)
    at Object.onceWrapper (events.js:421:28)
    at IncomingMessage.emit (events.js:327:22)
(Use `nodejs --trace-warnings ...` to show where the warning was created)
(node:6223) 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: 1)
(node:6223) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[2021-06-09 07:05:41][DEBUG] : Got network device: NN2-EU-JJA3983A
[2021-06-09 07:06:50][DEBUG] : Device id : NN2-EU-JJA3983A
[2021-06-09 07:06:50][DEBUG] : Device id : NN2-EU-JJA3983A
[2021-06-09 09:06:50][DEBUG] : [Atmosphère intérieure][Dyson] null
[2021-06-09 07:06:56][DEBUG] : Device id : NN2-EU-JJA3983A
[2021-06-09 07:06:56][DEBUG] : Action : setFan
[2021-06-09 07:06:56][DEBUG] : Value : 0
[2021-06-09 07:06:56][DEBUG] : Device id : NN2-EU-JJA3983A
[2021-06-09 07:06:56][DEBUG] : Device id : NN2-EU-JJA3983A
[2021-06-09 09:06:56][DEBUG] : [Atmosphère intérieure][Dyson] null
[2021-06-09 07:07:03][DEBUG] : Device id : NN2-EU-JJA3983A
[2021-06-09 07:07:03][DEBUG] : Action : setAuto
[2021-06-09 07:07:03][DEBUG] : Value : 0

Je ne me rappelle pas avoir vu de 2fa quand je me connecte sur l’app Dyson mais à confirmer

Même problème ici, pas de double auth pour ma part. Dommage pour le passage en obsolète c’était bien pratique…

Edit : ah si c’est activé de base sur l’appli je viens de vérifier, il faut obligatoirement entrer un code …

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.