Geschrieben June 5, 2020 at 09:035. Jun 2020 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
Geschrieben June 5, 2020 at 10:155. Jun 2020 Autor 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
Geschrieben June 5, 2020 at 14:005. Jun 2020 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
Geschrieben June 10, 2020 at 12:2210. Jun 2020 Autor Dankeschön 😀 bearbeitet June 10, 2020 at 12:2210. Jun 2020 von Conny
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.