Ankündigung

Einklappen
Keine Ankündigung bisher.

Amazon AWS meldet ERROR Client network socket disconnected

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mitschel
    antwortet
    Hallo André,

    ich habe jetzt mal auf Node 10.x umgestellt und auch einmal deinen Lambda Code getestet, aber leider kommt immernoch der selbe Fehler.

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Hallo mitschel ,


    es sieht ganz nach einem Fehler in der Lambda-Funtion aus.
    Hast Du die Lambda-Funktion für Node 10.x konfiguriert, für mich sieht die Meldung auf den ersten Blick nach einer Python-Meldung aus ?
    Hast Du Enviroment-Variablen entsprechend Deiner Config gesetzt ?
    Die Lambda muss (das ist unverändert seit Beginn) so aussehen :
    Code:
    /*
    You need to specify the following environmental variables in the lambda function:
    - SMARTHOME_HOST
    foobar.dyndns.tld
    - SMARTHOME_PORT
    443 - endpoint must be https enabled!
    - SMARTHOME_PATH
    '/'
    - SMARTHOME_AUTH
    'user:password'
    */
    exports.handler = function(event, context, callback) {
    var mycontext = JSON.stringify(context)
    //var myDevice = context.System.device.deviceID
    
    console.log('requesting Device-ID :',mycontext)
    //event.DeviceID = myDevice
    var data = JSON.stringify(event)
    
    
    var options = {
    hostname: process.env.SMARTHOME_HOST,
    port: process.env.SMARTHOME_PORT,
    path: process.env.SMARTHOME_PATH,
    method: 'POST',
    auth: process.env.SMARTHOME_AUTH,
    headers: {
    'Content-Type': 'application/json',
    'Content-Length': Buffer.byteLength(data)
    }
    };
    
    var https = require('https');
    var req = https.request(options, (res) => {
    console.log(`HTTP ${res.statusCode}`);
    res.setEncoding('utf8');
    
    var responseData = '';
    res.on('data', (dataChunk) => {
    responseData += dataChunk
    });
    res.on('end', () => {
    console.log('raw response:', responseData)
    
    var response = JSON.parse(responseData);
    if (res.statusCode == 200) {
    console.info('OK', JSON.stringify(response))
    callback(null, response);
    } else {
    console.error('Failed', JSON.stringify(response))
    callback('DependentServiceUnavailableError');
    }
    });
    });
    req.on('error', (e) => {
    console.error('request failed', e);
    callback(e);
    });
    
    console.log('requesting', data)
    req.write(data);
    req.end();
    }
    Gruss Andre

    Einen Kommentar schreiben:


  • mitschel
    antwortet
    Hallo Freunde,

    sorry, dass ich so lange für die Antwort gebraucht habe.
    Ich habe jetzt mal mein Raspberry komplett frisch aufgesetzt und auch bei Amazon alles neu angelegt.
    Jetzt bin ich schon ein paar Schritte weiter.
    SSLLabs meldet A+
    Ich konnte den Skill mit meinem Alexa Account verknüpfen. Allerdings werden keine Geräte erkannt.
    Ich habe dann mal in den CloudWatch Management Console nachgeschaut. Da kommt folgender Fehler.


    2020-03-05T20:43:28.625Z 10bef2e5-cb45-45e9-9fb7-7c3acc5054f7 ERROR Uncaught Exception
    { "errorType": "SyntaxError",
    "errorMessage": "Unexpected token < in JSON at position 0",
    "stack": [
    "SyntaxError: Unexpected token < in JSON at position 0",
    " at JSON.parse (<anonymous>)",
    " at IncomingMessage.<anonymous> (/var/task/index.js:36:30)",
    " at IncomingMessage.emit (events.js:228:7)",
    " at endReadableNT (_stream_readable.js:1185:12)",
    " at processTicksAndRejections (internal/process/task_queues.js:81:21)"
    ]
    }

    Stimmt da eventuell was in meiner index.js bei Lambda nicht? Oder muss ich den Fehler woanders suchen?

    Einen Kommentar schreiben:


  • yachti
    antwortet
    Zitat von mitschel Beitrag anzeigen
    Da suche ich die ganze Zeit nach dem Fehler. Kann ich das irgendwie einzeln testen?
    Über SSLLabs das Zertifikat prüfen.
    Wenn das passt sollte ein A+ ergeben dann den nächsten Step nginx reverse proxy prüfen. Dafür bräuchten wir mal die Config.

    Einen Kommentar schreiben:


  • mitschel
    antwortet
    Da suche ich die ganze Zeit nach dem Fehler. Kann ich das irgendwie einzeln testen?

    Einen Kommentar schreiben:


  • psilo
    antwortet
    Nginx richtig eingerichtet? Zertifkat richtig erstellt? Pluginport von aussen zugreifbar?

    Einen Kommentar schreiben:


  • Amazon AWS meldet ERROR Client network socket disconnected

    Hallo zusammen,

    ich habe mir vor kurzem ein neues Raspberry zugelegt und versuche es zum laufen zu bringen.
    Soweit klappt alles.
    SmarthomeNG läuft
    Visu läuft
    KNX Steuerung läuft
    SQL läuft
    ...
    Aber beim einbinden der Alexa bekomme ich im AWS den Fehler:
    "errorMessage": "Client network socket disconnected before secure TLS connection was established",
    Ich bin seit Tagen dran. Jetzt bin ich Ratlos.

    Hat von euch einer eine Idee, oder einen Tip wie ich den Fehler eingrenzen kann.

    Ich danke euch im Voraus
Lädt...
X