[alexa-fhem | Generell] Alles zu Installation und damit verbundenen Problemen

Begonnen von prodigy7, 09 November 2016, 19:42:01

Vorheriges Thema - Nächstes Thema

huzzefuzz

Was meinst du mit, wie habe ich die dyn IP eingerichtet.


bei mir kommt in dem Lambda Zeile 41, eine Fehlermeldung
    callback(null, createError(ERROR_TARGET_OFFLINE) );

createError is not defined.. hat da jemand einen tipp für mich, oder muss das so ?

Titus

Wenn du keine statische IP-Adresse hast, musst du doch irgendwie dafür sorgen, dass die sich nicht ändert damit amazon/alexa immer ein festes Ziel hat. Das kann man entweder per myfritz machen oder über einen der zahlreichen kostenlosen Dienste.

MadMax-FHEM

@huzzefuzz:

also das klingt so als wäre dein alexa-fhem nicht von außen erreichbar.
Zumindest nicht für AWS Lambda...

Daher ist die Frage schon berechtigt: wie hast du die Erreichbarkeit von außen eingerichtet?

Und hast du es richtig in AWS Lambda eingetragen?

Schon mal von außen getestet?
Mit Handy nicht im WLAN oder externem Portscanner...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Titus

So, ich bin einen Schritt weiter. Mein alexa-fhem ist von außen erreichbar. Wenn man https:// vor die URL schreibt, funktioniert es auch. Peinlich. Asche auf mein Haupt. Allerdings läuft der AWS Lamba-Test immer noch auf einen Fehler...: Process exited before completing request
Ich habe die URL natürlich dort auch auf https:// korrigiert.

huzzefuzz

Im Anhang die Portfreigabe.

const PORT=3000;
const HOST="192.168.XXX.XX";
  hier steht die IP meines Raspis

welche ich auch in der Portfreigabe eingetragen habe.

Von außen kommt:

{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control".....

:o

MadMax-FHEM

Zitat von: Titus am 30 November 2017, 20:38:19
Hallo Joachim,

vielen Dank für deine schnelle Antwort.

Müsste ich dann nicht nach dem Neustart mittels ps -a einen Alexa-Prozess sehen?
Ich habe den Start von Alexa aus FHEM heraus gemacht, wie im wiki beschrieben. Hat dann offensichtlich doch funktioniert, auch wenn ich keinen Prozess sehe.

Wie kann ich denn jetzt weiter vorgehen, um herauszufinden, warum meine Geräte zwar über den Skill gefunden werden, Alexa aber nichts mit ihnen anstellt?

Grüße
Marco

Jep, evtl. so:

ps -ax | grep alexa

Wie Start von fhem heraus?

Das mit DOIF/Dummy aus fhem ist eher wegen "Restart" nachdem beispielsweise was geändert wurde, neue Geräte angelegt etc.

Ansonsten ist ja Autostart per entweder initd oder systemd beschrieben...

Beispielsweise wenn das Script "alexa" in /etc/init.d/ liegt wird es ja beim Boot ausgeführt und so alexa-fhem gestartet.

Ein erneuter Start von fhem heraus heißt dann: doppelt gestartet -> Port 3000 belegt...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Zitat von: huzzefuzz am 30 November 2017, 21:56:46
Im Anhang die Portfreigabe.

const PORT=3000;
const HOST="192.168.XXX.XX";
  hier steht die IP meines Raspis

welche ich auch in der Portfreigabe eingetragen habe.

Von außen kommt:

{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control".....

:o

Wie soll den AWS Lambda = Cloud Service auf deine "private" nur in "deinem Netz" befindliche IP 192.168.... erreichen können?!

Dort muss schon eine IP oder ein Dyn-DNS-Name etc. stehen, welcher "von außen" erreichbar ist...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Titus

Zitat von: MadMax-FHEM am 30 November 2017, 22:03:08
Das mit DOIF/Dummy aus fhem ist eher wegen "Restart" nachdem beispielsweise was geändert wurde, neue Geräte angelegt etc.
Ok.
Zitat
Ansonsten ist ja Autostart per entweder initd oder systemd beschrieben...

Beispielsweise wenn das Script "alexa" in /etc/init.d/ liegt wird es ja beim Boot ausgeführt und so alexa-fhem gestartet.
Dann habe ich das jetzt auch mal verstanden. Bin nicht so der Linux-Experte  ???
Zitat
Ein erneuter Start von fhem heraus heißt dann: doppelt gestartet -> Port 3000 belegt...
Ok. Das habe ich jetzt, glaube ich, verstanden. Das ist mittlerweile dann auch nicht mehr mein Problem. Ich habe momentan das Problem, das der AWS Lambda-Test fehlschlägt. Mir scheint, ich muss den ganzen Amazon-Rotz nochmal neu machen... :'(

MadMax-FHEM

Hallo Marco,

ich denke nicht, dass du alles auf AWS Lambda neu machen musst...

Exited before (mit Timeout!?) klingt eher ebenfalls nach nicht erreichbar?

Hast du das richtig in der Lambda-Funktion eingetragen, also "Dyn-DNS-IP" etc.!?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Titus

Die genaue Fehlermeldung lautet Process exited before completing request.
Dann kommt blabla und dann nochmal problem with request: getaddrinfo ENOTFOUND https://xxx.ddns.net https://xxx.ddns.net:3000

Wenn ich die URL am Handy übers Funknetz im Browser eintippe, komme ich auf die Seite und bekomme da den header-Text und anschließend irgendwas mit UnsupportedOperationError laberrhabarber. Aber ich denke, das ist i. O. so, weil der Browser an Port 3000 auch wirklich nix sinnvolles anstellen kann.

MadMax-FHEM

Hi Marco,

welche url hast du wo von was auf was korrigiert?

ZitatIch habe die URL natürlich dort auch auf https:// korrigiert.

Du musst bei AWS Lambda nur die komplette Funktion eintragen copy&paste und eben den HOST anpassen...
...exakt so wie es vorher (Beispiel) war, also nur den DNS-Namen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Titus

Hello again  8)

Der Function Code fängt bei mir so an:
const PORT=3000;
const HOST='https://xxx.ddns.net';
Da steht genau mein DynDns-Eintrag.

Dann folgt der Rest, den ich aus der Datei kopiert habe.

So, jetzt erstmal Feierabend für heute! Vielen Dank für deine Geduld bislang!
Marco

huzzefuzz


MadMax-FHEM

#1978
Zitat von: Titus am 30 November 2017, 22:34:59
Hello again  8)

Der Function Code fängt bei mir so an:
const PORT=3000;
const HOST='https://xxx.ddns.net';
Da steht genau mein DynDns-Eintrag.

Dann folgt der Rest, den ich aus der Datei kopiert habe.

So, jetzt erstmal Feierabend für heute! Vielen Dank für deine Geduld bislang!
Marco

Folgendes steht in der lamdda.js:


const PORT=3000;
const HOST='mein.host.name';


Und dort wo const HOST= steht einfach statt 'mein.host.name' einfach genau das eintragen: den dyn-dns-hostnamen!

Also:


const PORT=3000;
const HOST='xxx.ddns.net';


also NUR den Host-Namen ohne https etc.


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

huzzefuzz

Habe es wie erklärt eingetragen, jedoch bekomme ich die gleiche Fehlermeldung:

"errorMessage": "RequestId: 8dd8808f-d616-11e7-8f85-5143d334bb73 Process exited before completing request"