Conny Geschrieben June 5, 2020 at 09:03 Geschrieben June 5, 2020 at 09:03 Hallo zusammen, ich versuche eine authentifizierte Verbindung mittels JavaScript / NodeJS herzustellen. Leider scheitere ich daran, dass die Funktion authenticate() einen Fehler wirft und zwar den Fehler 21, was wohl IPConnection.ERROR_INVALID_FUNCTION_ID entspricht. Leider kann ich zu diesem Fehler keine Doku finden und selbst in den Github-Repos finde ich dazu nichts sinnvolles. Funktioniert das bei jemanden? Weiß wer, was dieser Fehler bedeutet und wie man ihn beheben kann? Der Fehler tritt auch mit dem Beispiel-Code von hier auf: https://www.tinkerforge.com/en/doc/Software/IPConnection_JavaScript.html#authenticate-node-js Alle Versionen (FW, Red-Brick, etc.) sind auf dem aktuellen Stand. Auf einem System mit dem Stand von vor ca. einem Jahr tritt das Problem genau so auf. Danke und Grüße, Conny Zitieren
Conny Geschrieben June 5, 2020 at 10:15 Autor Geschrieben June 5, 2020 at 10:15 Was jetzt noch aufgefallen ist: Der authenticate()-Call arbeitet im Hintergrund mit einer BrickDaemon-Klasse, die sich um die Auth kümmert. Die will sich einen Nonce vom Daemon holen, vor diesem Request wird einmal Device.checkValidity() aufgerufen, das wiederum ein neues Request mit Function ID 255 startet. Der Daemon kann aber nur auf Nonce- (FID 1) und Authenticate-Requests reagieren (FID 2), was dann zu dem Invalid_Function_ID-Fehler führt, den wir beobachten. Trace at eval (eval at Device.getResponseExpected (client-nodejs/node_modules/tinkerforge/lib/Device.js:93:22), <anonymous>:1:9) at BrickDaemon.Device.getResponseExpected (client-nodejs/node_modules/tinkerforge/lib/Device.js:93:22) at IPConnection.createPacketHeader (client-nodejs/node_modules/tinkerforge/lib/IPConnection.js:1523:49) at IPConnection.sendRequestInternal (client-nodejs/node_modules/tinkerforge/lib/IPConnection.js:967:38) at IPConnection.sendRequest (client-nodejs/node_modules/tinkerforge/lib/IPConnection.js:931:18) at BrickDaemon.Device.checkValidity (client-nodejs/node_modules/tinkerforge/lib/Device.js:182:28) at IPConnection.sendRequest (client-nodejs/node_modules/tinkerforge/lib/IPConnection.js:941:31) at BrickDaemon.getAuthenticationNonce (client-nodejs/node_modules/tinkerforge/lib/IPConnection.js:187:20) at IPConnection.authenticateInternal (client-nodejs/node_modules/tinkerforge/lib/IPConnection.js:1447:21) at IPConnection.<anonymous> (client-nodejs/node_modules/tinkerforge/lib/IPConnection.js:1493:26) $ npm ls tinkerforge client-nodejs@0.2.0 └── tinkerforge@2.1.28 Zitieren
photron Geschrieben June 5, 2020 at 14:00 Geschrieben June 5, 2020 at 14:00 Das ist ein Bug in den Bindings. Teste mal bitte die angehängte Version. tinkerforge-2.1.29.tgz tinkerforge_javascript_bindings_2_1_29.zip Zitieren
Conny Geschrieben June 5, 2020 at 15:10 Autor Geschrieben June 5, 2020 at 15:10 Damit tut es, danke! 👍 Zitieren
photron Geschrieben June 9, 2020 at 14:19 Geschrieben June 9, 2020 at 14:19 JavaScript Bindings 2.1.29 sind jetzt veröffentlicht. Zitieren
Conny Geschrieben June 10, 2020 at 12:22 Autor Geschrieben June 10, 2020 at 12:22 (bearbeitet) Dankeschön 😀 bearbeitet June 10, 2020 at 12:22 von Conny Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.