Module eWeLink (Sonoff OEM firmware)

Bonsoir Pti_Nico
Je viens de refaire l’installation, et là c’est beaucoup moins bien, Galdys ne redémarre plus après le reboot suite à l’installation et paramétrage du compte. Je suis obliger de supprimer le dossier ewelink pour que Gladys redemarre.
Voici les logs :
App [gladys] with id [0] and pid [18416], exited with code [1] via signal [SIGINT]
PM2 | Starting execution sequence in -fork mode- for app name:gladys id:0
PM2 | App name:gladys id:0 online
0|gladys | /home/pi/gladys/api/hooks/ewelink/lib/setup.js:11
0|gladys | const conn = new eWeLink({ region = ‘eu’, email, password });
0|gladys | ^^^^^^^^^^^^^
0|gladys | SyntaxError: Invalid shorthand property initializer
0|gladys | at createScript (vm.js:80:10)
0|gladys | at Object.runInThisContext (vm.js:139:10)
0|gladys | at Module._compile (module.js:607:28)
0|gladys | at Object.Module._extensions…js (module.js:654:10)
0|gladys | at Module.load (module.js:556:32)
0|gladys | at tryModuleLoad (module.js:499:12)
0|gladys | at Function.Module._load (module.js:491:3)
0|gladys | at Module.require (module.js:587:17)
0|gladys | at require (internal/module.js:11:18)
0|gladys | at Object.module.exports (/home/pi/gladys/api/hooks/ewelink/index.js:3:17)
0|gladys | at wrapper (/home/pi/gladys/node_modules/@sailshq/lodash/lib/index.js:3275:19)
0|gladys | at prepareHook (/home/pi/gladys/node_modules/sails/lib/app/private/loadHooks.js:45:17)
0|gladys | at /home/pi/gladys/node_modules/sails/lib/app/private/loadHooks.js:149:13
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:181:20
0|gladys | at Object.async.forEachOf.async.eachOf (/home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:233:13)
0|gladys | at Object.async.forEach.async.each (/home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:209:22)
0|gladys | at prepare (/home/pi/gladys/node_modules/sails/lib/app/private/loadHooks.js:148:17)
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:713:13
0|gladys | at iterate (/home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:262:13)
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:274:29
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:44:16
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:718:17

C’est corrigé :wink:

Bonsoir Pti_Nico,
Apres l’installation, puis reboot, Gladys se lance correctement. Je configure, les logs me confirment que les devices sont créés:
eWeLink - Device (ID: 10004xxxxxx) created!
0|gladys | eWeLink - Device (ID: 10004xxxxxx) created!
0|gladys | eWeLink - Device (ID: 10004xxxxxx) created!
0|gladys | eWeLink - Device (ID: 10004xxxxxx) created!
0|gladys | eWeLink - Device (ID: 10004xxxxxx) created!
0|gladys | eWeLink - Device (ID: 10004xxxxxx) created!
Mais les devices ne se sont pas installés dans la liste des peripheriques.
j’en ai créé un, j’ai donc redigé comme ceci:
image
image

Et quand je l’actionne j’ai une erreur:
voir logs :

Server Error:
0|gladys | ReferenceError: eWeLink is not defined
0|gladys | at gladys.param.getValues.spread (/home/pi/gladys/api/hooks/ewelink/lib/exec.js:21:22)
0|gladys | at tryCatcher (/home/pi/gladys/node_modules/bluebird/js/release/util.js:16:23)
0|gladys | at Promise._settlePromiseFromHandler (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:509:35)
0|gladys | at Promise._settlePromise (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:569:18)
0|gladys | at Promise._settlePromise0 (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:614:10)
0|gladys | at Promise._settlePromises (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:693:18)
0|gladys | at Promise._fulfill (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:638:18)
0|gladys | at PromiseArray._resolve (/home/pi/gladys/node_modules/bluebird/js/release/promise_array.js:126:19)
0|gladys | at PromiseArray._promiseFulfilled (/home/pi/gladys/node_modules/bluebird/js/release/promise_array.js:144:14)
0|gladys | at PromiseArray._iterate (/home/pi/gladys/node_modules/bluebird/js/release/promise_array.js:114:31)
0|gladys | at PromiseArray.init [as _init] (/home/pi/gladys/node_modules/bluebird/js/release/promise_array.js:78:10)
0|gladys | at Promise._settlePromise (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:566:21)
0|gladys | at Promise._settlePromise0 (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:614:10)
0|gladys | at Promise._settlePromises (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:693:18)
0|gladys | at Promise._fulfill (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:638:18)
0|gladys | at MappingPromiseArray.PromiseArray._resolve (/home/pi/gladys/node_modules/bluebird/js/release/promise_array.js:126:19)
0|gladys | at MappingPromiseArray._promiseFulfilled (/home/pi/gladys/node_modules/bluebird/js/release/map.js:101:18)
0|gladys | at Promise._settlePromise (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:574:26)
0|gladys | at Promise._settlePromise0 (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:614:10)
0|gladys | at Promise._settlePromises (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:693:18)
0|gladys | at Promise._fulfill (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:638:18)
0|gladys | at Promise._resolveCallback (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:454:14)
0|gladys | at Promise._settlePromiseFromHandler (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:524:17)
0|gladys | at Promise._settlePromise (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:569:18)
0|gladys | at Promise._settlePromise0 (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:614:10)
0|gladys | at Promise._settlePromises (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:693:18)
0|gladys | at Promise._fulfill (/home/pi/gladys/node_modules/bluebird/js/release/promise.js:638:18)
0|gladys | at /home/pi/gladys/node_modules/bluebird/js/release/nodeback.js:42:21
0|gladys | at /home/pi/gladys/node_modules/sails-mysql/lib/connections/spawn.js:120:16
0|gladys | at Object.poolfully [as releaseConnection] (/home/pi/gladys/node_modules/sails-mysql/lib/connections/release.js:28:12)
0|gladys | at Query._callback (/home/pi/gladys/node_modules/sails-mysql/lib/connections/spawn.js:105:35)
0|gladys | at Query.Sequence.end (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24)
0|gladys | at Query._handleFinalResultPacket (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Query.js:144:8)
0|gladys | at Query.EofPacket (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Query.js:128:8)
0|gladys | at Protocol._parsePacket (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:280:23)
0|gladys | at Parser.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Parser.js:73:12)
0|gladys | at Protocol.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:39:16)
0|gladys | at Socket. (/home/pi/gladys/node_modules/mysql/lib/Connection.js:96:28)
0|gladys | at emitOne (events.js:116:13)
0|gladys | at Socket.emit (events.js:211:7)
0|gladys | at addChunk (_stream_readable.js:263:12)
0|gladys | at readableAddChunk (_stream_readable.js:250:11)
0|gladys | at Socket.Readable.push (_stream_readable.js:208:10)
0|gladys | at TCP.onread (net.js:594:20)
j’espere avoir été clair et que ça peut t’aider

Merci pour les logs, du coup, j’ai pu faire une autre correction.

Bonjour Pti_Nico,
Je ferai le test lundi soir, car là, je sui en déplacement.
Bonne journée

J’ai trouvé 5 minutes pour le test.
Donc le module s’installe bien. mais après le configuration j’ai de nouveau l’erreur : eWeLink - Error: Authentication error
0|gladys | Sending 500 (“Server Error”) response:
0|gladys | Error: eWeLink Authentication error
0|gladys | at conn.getDevices.then (/home/pi/gladys/api/hooks/ewelink/lib/setup.js:16:35)
0|gladys | at
0|gladys | Server Error:
0|gladys | Error: eWeLink Authentication error
0|gladys | at conn.getDevices.then (/home/pi/gladys/api/hooks/ewelink/lib/setup.js:16:35)
0|gladys | at
bon courage

Oups J’ai été trop vite. on oublie l’erreur sending 500, car j’ai mal rentré mon mail.
Donc tout s’installe bien, mais à la configuration j’ai ça :

                 eWeLink - Debug - nbChannel: [object Promise]
0|gladys   | eWeLink - Debug - nbChannel: [object Promise]
0|gladys   | eWeLink - Debug - nbChannel: [object Promise]
0|gladys   | eWeLink - Debug - nbChannel: [object Promise]
0|gladys   | eWeLink - Debug - nbChannel: [object Promise]
0|gladys   | eWeLink - Debug - nbChannel: [object Promise]
0|gladys   | eWeLink - Device (ID: 10004a34c7) created!
0|gladys   | eWeLink - Device (ID: 10004xxxxx) created!
0|gladys   | eWeLink - Device (ID: 10004xxxxx) created!
0|gladys   | eWeLink - Device (ID: 10004xxxxx) created!
0|gladys   | eWeLink - Device (ID: 10004xxxxx) created!
0|gladys   | eWeLink - Device (ID: 10004xxxxx) created!

et les devices ne s’installent pas dans la liste des peripheriques.
Mais quand j’en crée un, il fonctionne :
eWeLink - Debug - params.deviceType.type: binary
0|gladys | eWeLink - Device 10004a34c7 state change.
re-bon courage et désolé j’ai voulu faire vite.

Super, on avance :wink:
Je regarde ça ce soir pour faire la correction.

C’est fait, ça devrait créer les devices maintenant :wink:

bonjour Pti_Nico,
j’ai repris le test ce matin:
toutes les dependances s’installent bien:
logs
Installing NPM dependencies for module ewelink
0|gladys | Copying assets…
0|gladys | Dependencies installed for module ewelink
0|gladys | Module ewelink installed with success. Need reboot.

Mais après avoir rentré les paramètres du compte je reboot et Gladys ne redémarre plus et boucle sur ces logs:

App [gladys] with id [0] and pid [29797], exited with code [1] via signal [SIGINT]
PM2 | Starting execution sequence in -fork mode- for app name:gladys id:0
PM2 | App name:gladys id:0 online
0|gladys | /home/pi/gladys/api/hooks/ewelink/lib/setup.js:32
0|gladys | const channel = await conn.getDeviceChannelCount(device.deviceid);
0|gladys | ^^^^
0|gladys | SyntaxError: Unexpected identifier
0|gladys | at createScript (vm.js:80:10)
0|gladys | at Object.runInThisContext (vm.js:139:10)
0|gladys | at Module._compile (module.js:607:28)
0|gladys | at Object.Module._extensions…js (module.js:654:10)
0|gladys | at Module.load (module.js:556:32)
0|gladys | at tryModuleLoad (module.js:499:12)
0|gladys | at Function.Module._load (module.js:491:3)
0|gladys | at Module.require (module.js:587:17)
0|gladys | at require (internal/module.js:11:18)
0|gladys | at Object.module.exports (/home/pi/gladys/api/hooks/ewelink/index.js:3:17)
0|gladys | at wrapper (/home/pi/gladys/node_modules/@sailshq/lodash/lib/index.js:3275:19)
0|gladys | at prepareHook (/home/pi/gladys/node_modules/sails/lib/app/private/loadHooks.js:45:17)
0|gladys | at /home/pi/gladys/node_modules/sails/lib/app/private/loadHooks.js:149:13
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:181:20
0|gladys | at Object.async.forEachOf.async.eachOf (/home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:233:13)
0|gladys | at Object.async.forEach.async.each (/home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:209:22)
0|gladys | at prepare (/home/pi/gladys/node_modules/sails/lib/app/private/loadHooks.js:148:17)
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:713:13
0|gladys | at iterate (/home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:262:13)
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:274:29
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:44:16
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:718:17
PM2 | App [gladys] with id [0] and pid [29817], exited with code [1] via signal [SIGINT]
pour redemarrer Gladys je suis obligé de supprimer le dossier ewelink dans “home”
voila.

Bon, j’ai revu pas mal de code et mis à jour les librairies, ça me semble correct cette fois :wink:

C’est toujours pour la V3?

Bonsoir [Tlse-vins]
Oui nous sommes sur Gladys V3

Bonsoir [Pti_Nico],
J’ai rentré les paramètres du compte eWeLink, puis installé le module et je reboot, j’ai essayé l’inverse installation du module et renter les paramètres du compte eWeLink et je reboot, mais apres Gladys ne repart toujours pas , je suis obligé de désinstaller le fichier ewelink pour que Gladys redémarre.

Après le reboot gladys entamme le redemarrage:
PM2 | App [gladys] with id [0] and pid [21774], exited with code [1] via signal [SIGINT]
PM2 | Starting execution sequence in -fork mode- for app name:gladys id:0
PM2 | App name:gladys id:0 online.

Puis tourne en boucle sur ces logs:
0|gladys | Error: Cannot find module ‘./shared’
0|gladys | at Function.Module._resolveFilename (module.js:538:15)
0|gladys | at Function.Module._load (module.js:468:25)
0|gladys | at Module.require (module.js:587:17)
0|gladys | at require (internal/module.js:11:18)
0|gladys | at Object. (/home/pi/gladys/api/hooks/ewelink/lib/setup.js:2:16)
0|gladys | at Module._compile (module.js:643:30)
0|gladys | at Object.Module._extensions…js (module.js:654:10)
0|gladys | at Module.load (module.js:556:32)
0|gladys | at tryModuleLoad (module.js:499:12)
0|gladys | at Function.Module._load (module.js:491:3)
0|gladys | at Module.require (module.js:587:17)
0|gladys | at require (internal/module.js:11:18)
0|gladys | at Object.module.exports (/home/pi/gladys/api/hooks/ewelink/index.js:3:17)
0|gladys | at wrapper (/home/pi/gladys/node_modules/@sailshq/lodash/lib/index.js:3275:19)
0|gladys | at prepareHook (/home/pi/gladys/node_modules/sails/lib/app/private/loadHooks.js:45:17)
0|gladys | at /home/pi/gladys/node_modules/sails/lib/app/private/loadHooks.js:149:13
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:181:20
0|gladys | at Object.async.forEachOf.async.eachOf (/home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:233:13)
0|gladys | at Object.async.forEach.async.each (/home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:209:22)
0|gladys | at prepare (/home/pi/gladys/node_modules/sails/lib/app/private/loadHooks.js:148:17)
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:713:13
0|gladys | at iterate (/home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:262:13)
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:274:29
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:44:16
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:718:17
0|gladys | at /home/pi/gladys/node_modules/sails/node_modules/async/lib/async.js:167:37
0|gladys | at _combinedTickCallback (internal/process/next_tick.js:131:7)
0|gladys | at process._tickDomainCallback (internal/process/next_tick.js:218:9)

J’espère être clair,
Bon courage et merci pour le boulot.

Oups, petit oubli de ma part en poussant sur github :confused:
Voilà c’est corrigé…

Oui, le portage pour la V4 est prévu :wink:

2 Likes

Bonsoir Pti_Nico
:+1::+1::+1:
Ça y est, on y est, SUPER ,tout a fonctionné à merveille.
Super boulot, merci pour ta persévérance.:wink:
Merci à tous ceux qui développent, pour nous permettre d’utiliser Gladys.

1 Like

Bonjour, Pti_Nico,
Si tu es dispo et que tu as un peu de temps , pourrais tu jeter un oeil sur le module Sonoff?
Je viens de le réinstaller à partir de NickDub/gladys-ewelink, et ça ne fonctionne plus comme avant . Les Sonoff ne se déclarent plus tous seuls dans périphériques , donc j’en crée un à la main; et quand je l’actionne j’ai une erreur dans les logs :
23-03 14:57:31.005: eWeLink - Debug - params.deviceType.type: binary
0|gladys | 23-03 14:57:34.078: eWeLink - Error: params is incomplete
declaration du sonoff:



Si tu as le temps, je t’en remercie par avance

Salut @Psoy,
Tu as de la chance que je sois en confinement, j’ai pas mal de temps :smile:

Le problème est que la lib utilisé ewelink-api a évolué (1.8.0 => 2.0.0) car l’API eWeLink a elle même évoluée.
Du coup, j’ai fait la mise à jour du module pour corriger le problème.

Il faut donc que tu mettes à jour ton module (via l’onglet “Module”, bouton “Mettre à jour”), puis reboot de Gladys…
Et enfin, refaire la configuration du module (via l’onglet “Module”, bouton “Configuration” du module).
Et voilà, il devrait recréer tout tes devices :wink:

2 Likes

Super tout est rentré dans l’ordre, je te remercie. Contenu de mes connaissances quand les modules ne fonctionnent plus, je suis vite perdu. Pourtant je passe du temps à essayer de comprendre. Pour occuper mon temps libre , je me mets au JavaScript, pour essayer de me débrouiller tout seul, mais est ce que ça suffira?.
En tout cas merci encore . Bon confinement :smile: