Jump to content

Recommended Posts

Geschrieben

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

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.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...