ça faisait un bout de temps que beaucoup d’entre vous demandait une documentation de l’API REST de Gladys… C’est vrai que ce n’était pas toujours facile de savoir ce qu’il est possible de faire avec l’API HTTP de Gladys, j’ai désormais détaillé une très grande partie des routes de l’API Gladys sur une documentation
Bon, par contre, excuse ma noobitude mais j’arrive toujours pas à changer de mode…
J’ai mis une requête POST dans Tasker avec comme attributs ‘token=XXX’ et ‘mode=cinema’ et comme path ‘/house/1/mode’.
J’ai cette erreur :
[color=#004000]Access with token to user Simon
0|gladys | Event : create : new Event with code : house-mode-changed
0|gladys | Scenario : Trigger : New event : house-mode-changed
0|gladys | Scenario : Trigger : Found 1 launchers with code house-mode-changed.[/color]
[color=#BF0000]Error: TypeError: Unable to resolve expression:
0|gladys | args: “house, value”
0|gladys | body: “house == 1 && mode == 9”
0|gladys | error: ReferenceError: mode is not defined[/color]
Merci pour la réactivité ! Le changement de mode a fonctionné, mais je n’ai plus aucun device qui apparaît dans les contrôles et j’ai cette erreur dès que je vais dans l’onglet Devices :
[size=85]0|gladys | Sending 500 (“Server Error”) response:
0|gladys | Error: NotFound
0|gladys | at /home/pi/gladys/node_modules/gladys/api/core/utils/utils.sqlUnique.js:8:39
0|gladys | at tryCatcher (/home/pi/gladys/node_modules/gladys/node_modules/bluebird/js/release/util.js:16:23)
0|gladys | at Promise._settlePromiseFromHandler (/home/pi/gladys/node_modules/gladys/node_modules/bluebird/js/release/promise.js:510:31)
0|gladys | at Promise._settlePromise (/home/pi/gladys/node_modules/gladys/node_modules/bluebird/js/release/promise.js:567:18)
0|gladys | at Promise._settlePromise0 (/home/pi/gladys/node_modules/gladys/node_modules/bluebird/js/release/promise.js:612:10)
0|gladys | at Promise._settlePromises (/home/pi/gladys/node_modules/gladys/node_modules/bluebird/js/release/promise.js:691:18)
0|gladys | at Promise._fulfill (/home/pi/gladys/node_modules/gladys/node_modules/bluebird/js/release/promise.js:636:18)
0|gladys | at /home/pi/gladys/node_modules/gladys/node_modules/bluebird/js/release/nodeback.js:42:21
0|gladys | at /home/pi/gladys/node_modules/gladys/node_modules/sails-mysql/lib/connections/spawn.js:120:16
0|gladys | at Object.module.exports.poolfully [as releaseConnection] (/home/pi/gladys/node_modules/gladys/node_modules/sails-mysql/lib/connections/release.js:28:12)
0|gladys | at Query._callback (/home/pi/gladys/node_modules/gladys/node_modules/sails-mysql/lib/connections/spawn.js:105:35)
0|gladys | at Query.Sequence.end (/home/pi/gladys/node_modules/gladys/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24)
0|gladys | at Query._handleFinalResultPacket (/home/pi/gladys/node_modules/gladys/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Query.js:144:8)
0|gladys | at Query.EofPacket (/home/pi/gladys/node_modules/gladys/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Query.js:128:8)
0|gladys | at Protocol._parsePacket (/home/pi/gladys/node_modules/gladys/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:280:23)
0|gladys | at Parser.write (/home/pi/gladys/node_modules/gladys/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Parser.js:73:12)
0|gladys | at Protocol.write (/home/pi/gladys/node_modules/gladys/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:39:16)
0|gladys | at Socket. (/home/pi/gladys/node_modules/gladys/node_modules/sails-mysql/node_modules/mysql/lib/Connection.js:96:28)
0|gladys | at emitOne (events.js:77:13)
0|gladys | at Socket.emit (events.js:169:7)
0|gladys | at readableAddChunk (_stream_readable.js:153:18)
0|gladys | at Socket.Readable.push (_stream_readable.js:111:10)
[/size]
Effectivement j’ai le même problème ! Comme par hasard, cette route n’avait pas de tests fonctionnels… d’ou l’importance des tests pour tout de suite voir les régressions dans le code…
J’ai corrigé le bug et rajouté les tests manquants ça sera en ligne dans quelques minutes ( Gladys 3.3.4 )