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

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

Vorheriges Thema - Nächstes Thema

RaspiCOC

Und genau das nehme ich gleich noch mal ins Wiki auf. Wie gesagt, manchmal ist sudo erforderlich, wird dann aber nicht in Anleitungen geschrieben.

Gesendet von meinem SM-G925F mit Tapatalk


besitzer

Hallo Andre,
zu Deiner Frage:

Zitat von: justme1968 am 28 November 2016, 17:35:46
hast du ein alexa device angelegt?

Meinst Du damit, ob ich einem Dummy Lichtschalter oder ähnliches angelegt habe oder muss ich meine Alexa auch irgendwie als Gerät in FHEM anlegen?

Ich habe die Version 1.3 nun mal auf einem anderen Debian installiert und bekomme da die Meldung, dass kein Alexa Device gefunden werden kann und eine Zeile drunter, dass er meinen Testlichtschalter gefunden hat:

[2016-11-29 13:19:07] [FHEM] Fetching FHEM devices...
[2016-11-29 13:19:07] [FHEM] fetching: http://xyz.net:8083/fhem?cmd=jsonlist2%20room=alexa&XHR=1
[2016-11-29 13:19:07] Server listening on: https://:::3000
[2016-11-29 13:19:07] [FHEM] no alexa device found. please define it.
[2016-11-29 13:19:07] [FHEM] got: 1 results
[2016-11-29 13:19:07] [FHEM] Testlicht is switch
[2016-11-29 13:19:07] [FHEM] Testlicht has
[2016-11-29 13:19:07] [FHEM]   On [state;on,off]
  2016-11-29 13:19:07 caching: Testlicht-state: off


Liegt da evtl. der Fehler?



justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

besitzer

#273
Habe ich nun hinzugefügt.
Jetzt sagt er mir Alexa device is alexa. Sieht also gut aus.
Aber leider werden immer noch keine Geräte in der Alexa App gefunden.

Ich bin nun noch einmal alle Einrichtungsschritte durchgegangen.
Dabei ist mir aufgefallen, dass wenn ich bei AWS meine FHEM Funktion testen möchte, dann kommt die Aussage:

InvalidCharacterError

Eigentlich musste ich laut Anleitung an dieser Stelle doch nur meine externe Host Adresse angeben.
const PORT=3000;
const HOST='besit....ddns.net';



Auf meinen PI kommt dann die Meldung:

[2016-11-29 15:51:56] client not authorized: {"error_description":"The request has an invalid parameter : access_token","error":"invalid_token"}
response :{"header":{"name":"InvalidAccessTokenError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"8b4IDgelöschte3504a"},"payload":{}}


Starte ich aber eine Suche über die Alexa App wird das Token wieder akzeptiert.

Außerdem ist aufgefallen, dass bei manchen Starts von ./bin/alexa die Zeile "executing: http://..." am Ende des Screens angezeigt wird und manchmal nicht:

[2016-11-29 16:02:41] [FHEM]   On [state;on,off]
  2016-11-29 16:02:41 caching: Testlicht-state: off
[2016-11-29 16:02:41] [FHEM] alexa device is alexa
[2016-11-29 16:02:41] [FHEM]   executing: http://192.168.1.200:8083/fhem?cmd=%7B$defs%7Balexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.1.3%22%7D&XHR=1


Manchmal bleibt es eben bei chaching Device stehen...

In Screenshots habe ich gesehen, dass bei anderen auch mal die externe IP noch angezeigt wird.

Läuft es bei mir irgendwie nicht richtig durch?

Entschuldigt, dass ich diese Dinge alles Frage, aber ich bin einfach nicht anders in der LAge meine Alexa ans Laufen zu bekommen
In anderen

RaspiCOC

Ich habe noch das Problem, dass ich aus der config.json folgende zwei Zeilen entfernen musste, um Alexa zum Laufen zu bekommen:

        "nat-pmp": "192.168.1.1",
        "nat-upnp": true,


Als Ursache vermute ich, dass bei der Installation was schief gegangen war (Eigentümerrechte...). Ich würde also die Installation noch mal wiederholen wollen. Reicht es hierzu, den kompletten Ordner /opt/alexa-fhem zu löschen und den Installationsvorgang noch mal zu wiederholen?

Da ich den Port 3000 hart geöffnet habe, läuft dennoch alles problemlos, will nur gern am Standard bleiben.

thm2014

Beim FHEM Update gestern wurde wohl die "39_alexa.pm" aktualisiert, jetzt ist das zuvor angelegte module alexa defekt und neu anlegen wie hier zuvor geschrieben mit "define alexa alexa" führt ebenfalls zu "Cannot load module alexa".

Idee dazu?

justme1968

@besitzer: wo genau kommt die meldung? wen etwas ankommt ist das schon mal gut. die reihenfolge der ausgabe ist zum teil zufällig. das ist ok.

die frage ist was als antwort auf der console und im aes log kommt wenn du die geräte suche startest.

@RaspiCOC: die beiden zeilen versuchen den port automatisch per pmp oder upnp freizugeben. scheinbar nacht das aber bei den meisten probleme.

@thm2014: was steht im log? vermutlich fehlt das perl JSON modul. das ist als voraussetzung dazu gekommen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

thm2014

Du hast recht, habe ich übersehen, dabei steht es ja sogar im alexa-modul. Das perl JSON modul war wirklich nicht installiert. Habs nachgeholt und FHEM neugestartet. Danke! apt-get install libjson-perl

visionsurfer

Hallo,

ein User hier aus dem Forum hat mir geholfen Alexa nach Anleitung und Wiki zu installieren.
Es wurden auch das DOIF und die beiden dummys angelegt: FHEM.Alexa.DOIF und FHEM.Alexa und FHEM.Alexa.Status.

Grundsätzlich läuft alles. Ich kann alles per Alexa steuern und schalten.

Ich habe nur das Problem das ich einmal am Tag einen restart machen muss, bzw. einmal auf stop drücke und dann wieder start.

Ansonsten kommt von Alexa die Fehlermeldung: Dieser Befehl funktioniert für das Gerät Schlafzimmerlicht nicht.
Also meine Alexa bleibt quasi alle ca. 24 Stunden hängen (wobei es nicht genau 24 Stunden sind, ich hab noch keine genau Zeit gefunden. Definitiv einmal am Tag).

Ich spreche z.B. den Befehl: Alexa, schalte Schlafzimmerlicht an. Dann kommt die oben beschriebene Meldung. Wenn ich dann über den dummy Device, den Dienst einmal stoppe und dann wieder starte, funktioniert es danach mit dem gleichen Sprachbefehl sofort wieder problemlos. Bis zum nächsten mal, wenn es wieder hängen bleibt (nach ein paar Stunden).

Kennt jemand das Problem ?

Grüße,
Visionsurfer

besitzer

Hallo Andre,

ich habe hier die Meldungen von meiner Console und von AWS:

Console:
pi@raspberrypi:/var/alexa/alexa-fhem $ ./bin/alexa
[2016-11-30 13:07:02] using /home/pi/.alexa/config.json
[2016-11-30 13:07:03] ---
[2016-11-30 13:07:03] this alexa-fhem 0.1.3
[2016-11-30 13:07:03] Fetching FHEM devices...
[2016-11-30 13:07:03] [FHEM] Checking devices and attributes...
[2016-11-30 13:07:03] [FHEM]   executing: http://192.168.1.200:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-11-30 13:07:03] [FHEM]   executing: http://192.168.1.200:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2016-11-30 13:07:03] [FHEM] starting longpoll: http://192.168.1.200:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1480507623532
[2016-11-30 13:07:03] [FHEM] Fetching FHEM devices...
[2016-11-30 13:07:03] [FHEM] fetching: http://192.168.1.200:8083/fhem?cmd=jsonlist2%20room=alexa&XHR=1
[2016-11-30 13:07:03] Server listening on: https://:::3000
[2016-11-30 13:07:03] [FHEM] alexa device is alexa
[2016-11-30 13:07:03] [FHEM]   executing: http://192.168.1.200:8083/fhem?cmd=%7B$defs%7Balexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.1.3%22%7D&XHR=1
[2016-11-30 13:07:03] [FHEM] got: 1 results
[2016-11-30 13:07:04] [FHEM] Testlicht is switch
[2016-11-30 13:07:04] [FHEM] Testlicht has
[2016-11-30 13:07:04] [FHEM]   On [state;on,off]
  2016-11-30 13:07:04 caching: Testlicht-state: off
[2016-11-30 13:07:22] accepted new token
**** Received Directive: {"header":{"namespace":"Alexa.ConnectedHome.Discovery","name":"DiscoverAppliancesRequest","payloadVersion":"2","messageId":"e563c784-93aa-text gelöscht"},"payload":{"accessToken":"Atza|Textgelöscht4uQnj47LAqJItvg"}}
response :{"header":{"name":"DiscoverAppliancesResponse","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Discovery","messageId":"622c8697-"},"payload":{"discoveredAppliances":[{"applianceId":"Testlicht","manufacturerName":"FHEMdummy","modelName":"FHEM<unknown>","version":"<unknown>","friendlyName":"Testlichtalexa","friendlyDescription":"name: Testlicht, alias: Testlichtalexa, room: alexa","isReachable":true,"actions":["turnOn","turnOff"],"additionalApplianceDetails":{"device":"Testlicht"}}]}}
[2016-11-30 13:08:38] accepted new token
**** Received Directive: {"header":{"namespace":"Alexa.ConnectedHome.Discovery","name":"DiscoverAppliancesRequest","payloadVersion":"2","messageId":"49edb4e4-b883-"},"payload":{"accessToken":"Atza|_BtLSSSw-5NuEaMDWjpLXtSz_F0irOtUC9Jo-AFmAE7KSrKg2Y7XKbJmR0I6fAGpt8ekgyu4uQnj47LAqJItvg"}}
response :{"header":{"name":"DiscoverAppliancesResponse","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Discovery","messageId":"78b15c7b-4294-"},"payload":{"discoveredAppliances":[{"applianceId":"Testlicht","manufacturerName":"FHEMdummy","modelName":"FHEM<unknown>","version":"<unknown>","friendlyName":"Testlichtalexa","friendlyDescription":"name: Testlicht, alias: Testlichtalexa, room: alexa","isReachable":true,"actions":["turnOn","turnOff"],"additionalApplianceDetails":{"device":"Testlicht"}}]}}
[2016-11-30 13:10:05] accepted new token
**** Received Directive: {"header":{"namespace":"Alexa.ConnectedHome.Discovery","name":"DiscoverAppliancesRequest","payloadVersion":"2","messageId":"a300ee56-825a-"},"payload":{"accessToken":"Atza|"}}
response :{"header":{"name":"DiscoverAppliancesResponse","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Discovery","messageId":"afa504be"},"payload":{"discoveredAppliances":[{"applianceId":"Testlicht","manufacturerName":"FHEMdummy","modelName":"FHEM<unknown>","version":"<unknown>","friendlyName":"Testlichtalexa","friendlyDescription":"name: Testlicht, alias: Testlichtalexa, room: alexa","isReachable":true,"actions":["turnOn","turnOff"],"additionalApplianceDetails":{"device":"Testlicht"}}]}}



AWS Console:


12:05:50
START RequestId: 55cdeb92-b6f5-Version: $LATEST

12:05:50
2016-11-30T12:05:50.590Z 55cdeb92EVENT: [object Object]

12:05:50
2016-11-30T12:05:50.590Z 55cdeb92-b6f5-CONTEXT: [object Object]

12:05:51
2016-11-30T12:05:51.996Z 55cdeb92-problem with request: connect ECONNREFUSED 217.240.204.243:3000

12:05:52
2016-11-30T12:05:52.009Z ReferenceError: createError is not defined at ClientRequest.<anonymous> (/var/task/index.js:41:20) at emitOne (events.js:77:13) at ClientRequest.emit (events.js:169:7) at TLSSocket.socketErrorListener (_http_client.js:256:9) at emitOne (events.js:77:13) at TLSSocket.emit (events.js:169:7) at emitErrorNT (net.

12:05:52
END RequestId: 55cdeb92-b6f5-11e6-
12:05:52
REPORT RequestId: 55cdeb92-b6f5-11e6-Duration: 1481.98 ms Billed Duration: 1500 ms Memory Size: 128 MB Max Memory Used: 19 MB

12:05:52
Process exited before completing request

12:07:15
START RequestId: 88bf9b5d-b6f5-11e6-Version: $LATEST

12:07:15
2016-11-30T12:07:15.893Z 88bf9b5d-EVENT: [object Object]

12:07:15
2016-11-30T12:07:15.930Z 88bf9b5d-CONTEXT: [object Object]

12:07:20
END RequestId: 88bf9b5d-b6f5-
12:07:20
REPORT RequestId: 88bf9b5d-b6f5-Duration: 5000.09 ms Billed Duration: 5000 ms Memory Size: 128 MB Max Memory Used: 7 MB

12:07:20
2016-11-30T12:07:20.889Z 88bf9b5d-b6f5-Task timed out after 5.00 seconds

12:08:31
START RequestId: b5a63506-b6f5-Version: $LATEST

12:08:31
2016-11-30T12:08:31.390Z b5a63506-EVENT: [object Object]

12:08:31
2016-11-30T12:08:31.429Z b5a63506-CONTEXT: [object Object]

12:08:36
END RequestId: b5a63506-b6f5-
12:08:36
REPORT RequestId: b5a63506-b6f5-Duration: 5003.51 ms Billed Duration: 5000 ms Memory Size: 128 MB Max Memory Used: 8 MB

12:08:36
2016-11-30T12:08:36.253Z b5a63506Task timed out after 5.00 seconds

12:09:58
START RequestId: e9c82705-b6f5-11e6-Version: $LATEST

12:09:58
2016-11-30T12:09:58.889Z e9c82705-EVENT: [object Object]

12:09:58
2016-11-30T12:09:58.909Z e9c82705-CONTEXT: [object Object]

12:10:03
END RequestId: e9c82705-b6f5-
12:10:03
REPORT RequestId: e9c82705-b6f5-11e6-Duration: 5002.12 ms Billed Duration: 5000 ms Memory Size: 128 MB Max Memory Used: 8 MB

12:10:03
2016-11-30T12:10:03.693Z e9c82705-b6f5-Task timed out after 5.00 seconds


Hoffe Du wirst daraus schlau...
Die Timeout Zeit habe ich bereits auf 5 sec. erhöht.

Danke für deine Hilfe

Gruß Sven

justme1968

ich werde aus deinem log nicht schlau.

laut konsole kommt eine anfrage rein und wird auch beantwortet.

laut cloudwatch log kommt (meist) auch etwas zurück.

aber danach gibt es einen timeout. das passt nicht zusammen.

nach der EVENT und CONTEXT zeile sollte eine STATUS: 200 zeile kommen und dann der inhalt der nachricht.

stimmt der aws code wirklich und ist komplett?

auch sind die zeiten zwischen kosnole und cloudwatch log etwa 2 minuten auseinander.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

besitzer

Habe den AWS Code schon neu rein kopiert.
Hier muss ich doch nur den Host ändern und sonst nichts, oder?
Anschließend auf speichern. Oder muss ich meinen Skill dann noch ändern oder neu generieren oder sowas?

Wenn ich meinen AWS Code testen möchte, erhalte ich ja auch diesen Fehler: InvalidCharacterError
Aber was kann das sein?

justme1968

schau mal weiter oben im thread. den InvalidCharacterError error hatte schon mal jemand.

du hast nicht zufällig ein rotes x irgendwo links im aws quelltext ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

visionsurfer

Hi Andre,

hast du schon mal irgendwo gehört das der Dienst einfach stehen bleibt ?
Siehe Fehlerbeschreibung ein paar Threads weiter oben ?

Grüße,
Visionsurfer

justme1968

einfach stehen bleiben gibt es nicht.

schau ob es eine konsolen ausgabe gibt.

am besten ist es das statt script so zu ändern das alexa-fhem neu gestartet wird falls es ein problem gab. das geht wunderbar mit dem forever node modul
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968