Jump to content

Recommended Posts

Posted

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

Posted

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 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...