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

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

Vorheriges Thema - Nächstes Thema

mike.d

also ich hab nun mein komplettes Alexa-Konto leer gemacht, meinen Dot zurückgesetzt, alle Daten im Amazon-Developer-Dashboar und im AWS gelöscht - alles neu aufgesetzt wie es im Wiki beschrieben ist und immer noch: keine Reaktion im log der lambda-Funktion, kein Eintrag im Alexa-Log und keine Geräte werden gefunden.

Ich glaube ich gebe auf! :-(

Wenn sich jemand berufen fühlt und Spaß dran hat es per (mac-) Bildschirmfreigabe zu probieren bin ich gerne bereits ein/zwei Bier per PayPal dafür auszugeben!

MadMax-FHEM

Zitat von: Amenophis86 am 25 Februar 2018, 20:06:18
Mal ne kurze Frage zwischen drin. Trotz Such habe ich nix gefunden und die meisten wichtigen Threads haben doch weit über 100 Seiten ;) Weiß jemand etwas zum Stand über Benachrichtigungen über Alexa? Also quasi TTS zu Alexa senden und ausgeben lassen. Ich weiß, dass es immer mal wieder geplant war und dann doch nicht gekommen ist.

Nicht (ganz) so einfach wie mit Google Home und dem GOOGLECAST-Modul...
...aber evtl. mit dem 37_echodevice.pm https://forum.fhem.de/index.php/topic,82631.0.html

Dort kann man einen "Reminder" setzen der "sofort" abgespielt wird...

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: mike.d am 25 Februar 2018, 20:14:02
also ich hab nun mein komplettes Alexa-Konto leer gemacht, meinen Dot zurückgesetzt, alle Daten im Amazon-Developer-Dashboar und im AWS gelöscht - alles neu aufgesetzt wie es im Wiki beschrieben ist und immer noch: keine Reaktion im log der lambda-Funktion, kein Eintrag im Alexa-Log und keine Geräte werden gefunden.

Ich glaube ich gebe auf! :-(

Wenn sich jemand berufen fühlt und Spaß dran hat es per (mac-) Bildschirmfreigabe zu probieren bin ich gerne bereits ein/zwei Bier per PayPal dafür auszugeben!

Custom Skill läuft noch/wieder?
Oder geht jetzt auch das nicht mehr?

Also wenn einer der beiden Skills läuft ist es eigentlich nicht schwer den jeweils anderen auch einzurichten...
Hmmm...

In der config.json hast/hattest du aber immer die oauth-clientID und NICHT die appID für den Smart Home Skill eingetragen!?

Mehr helfen ist zeitlich grad bissi eng...

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)

Amenophis86

Zitat von: MadMax-FHEM am 25 Februar 2018, 20:28:26
Nicht (ganz) so einfach wie mit Google Home und dem GOOGLECAST-Modul...
...aber evtl. mit dem 37_echodevice.pm https://forum.fhem.de/index.php/topic,82631.0.html

Dort kann man einen "Reminder" setzen der "sofort" abgespielt wird...

Gruß, Joachim

Ja die Möglichkeit kenne ich schon, nervt aber die Cookie Sache. Das Amazon das immer noch nicht freigegeben hat, verrückt. Danke für die Info.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

mike.d

Zitat von: MadMax-FHEM am 25 Februar 2018, 20:33:41
Custom Skill läuft noch/wieder?
Oder geht jetzt auch das nicht mehr?

Also wenn einer der beiden Skills läuft ist es eigentlich nicht schwer den jeweils anderen auch einzurichten...
Hmmm...

In der config.json hast/hattest du aber immer die oauth-clientID und NICHT die appID für den Smart Home Skill eingetragen!?

Mehr helfen ist zeitlich grad bissi eng...

Gruß, Joachim

doch doch, der custom-skill läuft auch wieder...   seltsam! :- (

in der config steht folgendes:

{
    "alexa": {
        "port": 3000,
        "name": "Alexa FHEM",
        "keyFile": "/opt/fhem/alexa-fhem/key.pem",
        "certFile": "/opt/fhem/alexa-fhem/cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "oauthClientID": "amzn1.application-oa2-client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
   
    "connections": [
        {
            "name": "FHEM",
            "server": "127.0.0.1",
            "port": "8083",
            "webname": "fhem",
            "filter": "room=Echo"
        }
    ]
}


edit: ich hab die config.json nun noch um permissions erweitert - so wie im alexa-fhem package (hab jedoch nichts dazu gefunden) - hat leider auch nichts gebracht.
Es bleibt wie verhext - der custom skill funktioniert einwandfrei und zügig. Der Smarthome-Skill verweigert sich vollständig.
Vielen Dank Joachim für deine Hilfe bis hierher - vielleicht hat ja jemand sonst noch einen Einfall, wo ich nach einem Fehler suchen sollte. Wie gesagt, die Bier gegen Bildschirmfreigabe-Einrichtung steht noch... würde ich mich SEHR drüber freuen! :-)

TomLee

OT

Ja die Möglichkeit kenne ich schon, nervt aber die Cookie Sache. Das Amazon das immer noch nicht freigegeben hat, verrückt. Danke für die Info.

Ich hab's heut schonmal erwähnt, bei meiner Schwester wird  seit DEZ 2017jeden Tag 10 Minuten bevor die Rolläden schliessen eine Erinnerung ausgegeben ( auch schon mit dem alten Modul von Markus) es gab bisher keine Aussetzer. Natürlich gabs diconnects ( für Minuten) aber wenn man nicht mehr nutzt ( wie in diesem Fall), scheinbar problemlos nutzbar.

Gruß

Thomas

Skipper

Hilfeeeee,
ich habe alles eingerichtet. Außer die Daten bei Amazon mit den Accounts. Aber lokal alles wie beschrieben bzw. im Video von hier
https://haus-automatisierung.com/hardware/fhem/2017/01/14/fhem-tutorial-reihe-part-23-amazon-echo-alexa-fhem-steuern.html
Aber beim Testlauf von ./bin/alexa bekomme ich nur Fehler:
[2018-3-7 17:48:57] this is alexa-fhem 0.4.4
[2018-3-7 17:48:57] Fetching FHEM devices...
[2018-3-7 17:48:57] [FHEM] starting longpoll: http://192.168.20.10:8084/WEBhue?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1520444937232
[2018-3-7 17:48:57] Server listening on: https://0.0.0.0:3000
[2018-3-7 17:48:57] [FHEM] Checking devices and attributes...
[2018-3-7 17:48:57] [FHEM]   executing: http://192.168.20.10:8084/WEBhue?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2018-3-7 17:48:57] [FHEM]   executing: http://192.168.20.10:8084/WEBhue?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2018-3-7 17:48:57] [FHEM] Fetching FHEM devices...
[2018-3-7 17:48:57] [FHEM] fetching: http://192.168.20.10:8084/WEBhue?cmd=jsonlist2%20room=Lampen&XHR=1
[2018-3-7 17:48:57] [FHEM]   error in longpoll connection: TypeError: Cannot read property 'match' of undefined
[2018-3-7 17:48:57] [FHEM] longpoll ended, reconnect in: 200msec
[2018-3-7 17:48:57] [FHEM]   executing: http://192.168.20.10:8084/WEBhue?cmd=%7B%20addToAttrList(%20%22homebridgeMapping:textField-long%22%20)%20%7D&XHR=1
[2018-3-7 17:48:57] [FHEM] homebridgeMapping attribute created.
[2018-3-7 17:48:57] [FHEM]   executing: http://192.168.20.10:8084/WEBhue?cmd=%7BaddToAttrList(%20%22genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock%22%20)%20%7D&XHR=1
[2018-3-7 17:48:57] [FHEM] SyntaxError: Unexpected token < in JSON at position 0
    at JSON.parse (<anonymous>)
    at FHEM.<anonymous> (/opt/alexa-fhem/lib/fhem.js:1110:34)
    at Request._callback (/opt/alexa-fhem/lib/fhem.js:1387:27)
    at Request.self.callback (/opt/alexa-fhem/node_modules/request/request.js:186:22)
    at Request.emit (events.js:127:13)
    at Request.<anonymous> (/opt/alexa-fhem/node_modules/request/request.js:1163:10)
    at Request.emit (events.js:127:13)
    at Gunzip.<anonymous> (/opt/alexa-fhem/node_modules/request/request.js:1085:12)
    at Object.onceWrapper (events.js:219:13)
    at Gunzip.emit (events.js:132:15)
[2018-3-7 17:48:57] [FHEM] failed to parse <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head root="/fhem"><title>Home, Sweet Home</title><link rel="shortcut icon" href="/fhem/icons/favicon" /><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><link href="/fhem/pgm2/style.css?v=1520442782" rel="stylesheet"/><link href="/fhem/pgm2/jquery-ui.min.css" rel="stylesheet"/><script attr='' type="text/javascript" src="/fhem/pgm2/jquery.min.js"></script><script attr='' type="text/javascript" src="/fhem/pgm2/jquery-ui.min.js"></script><script attr='' type="text/javascript" src="/fhem/pgm2/fhemweb.js"></script><script attr='' type="text/javascript" src="/fhem/pgm2/doif.js"></script></head><body name='Home, Sweet Home' fw_id='464' generated="1520444936" longpoll="1"  data-confirmDelete='1' data-confirmJSError='1' data-addHtmlTitle='1' data-styleData='' data-availableJs='colorpicker,fbcalllist,knob,readingsGroup,readingsHistory,sortable,uzsu,weekprofile,iconButtons,iconLabel,iconRadio,iconSwitch' data-webName='WEBhue '><div id="menuScrollArea"><div><a href="/fhem?"><div id="logo"></div></a></div><div id="menu"><table><tr><td><table class="room roomBlock1"><tr><td><div class="menu_Save_config"><a href="/fhem?cmd=save"><span>Save config</a> <a id="saveCheck" class="changed" style="visibility:hidden">?</span></a></div></td></tr></table></td></tr><tr><td><table class="room roomBlock2"><tr><td><div class="menu_Tablet_UI"><a href="/fhem/ftui/"><span>Tablet-UI</span></a></div></td></tr><tr><td><div class="menu_Alarm_System"><a href="/fhem/?room=AlarmRoom"><span>Alarm System</span></a></div></td></tr></table></td></tr><tr><td><table class="room roomBlock3"><tr><td><div class="menu_Lampen"><a href="/fhem?room=Lampen"><span>Lampen</span></a></div></td></tr></table></td></tr><tr><td><table class="room roomBlock4"><tr><td><div class="menu_Logfile"><a href="/fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2018-03-07.log"><span>Logfile</span></a></div></td></tr><tr><td><div><a href='/fhem/docs/commandref.html' target="_blank"><span>Commandref</span></a></div></td></tr><tr><td><div><a href='http://fhem.de/fhem.html#Documentation' target="_blank"><span>Remote doc</span></a></div></td></tr><tr><td><div class="menu_Edit_files"><a href="/fhem?cmd=style%20list"><span>Edit files</span></a></div></td></tr><tr><td><div class="menu_Select_style"><a href="/fhem?cmd=style%20select"><span>Select style</span></a></div></td></tr><tr><td><div class="menu_Event_monitor"><a href="/fhem?cmd=style%20eventMonitor"><span>Event monitor</span></a></div></td></tr></table></td></tr></table></div></div><div id="hdr"><table border="0" class="header"><tr><td style="padding:0"><form method="post" action="/fhem"><input type="hidden" name="fw_id" value="464"/><input type='text' name='cmd' class='maininput' size='40' value='' autocorrect='off' autocapitalize='off'/></form></td></tr></table></div></body></html>
[2018-3-7 17:48:57] [FHEM] got: undefined results
[2018-3-7 17:48:57] [FHEM] genericDeviceType attribute was not known. please restart.


Ich habe hier aus dem Forum die neueste Version von alexa-fhem.
Node Version ist auch die neueste.
Alexa-fhem läuft nicht auf dem selben Docker Conatiner wie fhem. Sie hat ihren eigenen.
Ich habe es aber auch mit einem neuen Fhem Container mit alexa-fhem probiert mit gleichem Ergebnis.
Ich betreibe Fhem natürlich mit Basic auth auch für die eigens für Alexa generierte Fhem Instanz. Im Moment für leichteres Debug one SSL.
Der Zugriff scheint ja auch zu laufen aber es kommen eben die parsing errors.
Und longpoll ist definitiv an.

Ich gehe schwer davon aus, dass es an mir liegt ich weiß aber nicht woran genau.
Wer kann mir helfen?

Danke

viegener


@Skipper:

http://192.168.20.10:8084/WEBhue?cmd...

Der URL sieht komisch aus --> normalerweise würde ich da statt WEBhue - fhem erwarten, wie kommt es zu diesem URL
Anonsten ist nicht klar, passt die IP-Adresse, der Port etc?

Die Parsingfehler deuten darauf hin, dass da eine HTML-Fehlermeldung (deshalb <) zurückkommt und nicht das erwartete JSON, das spricht auch für falschen URL
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Skipper

Hallo,

also ich habe inzwischen alexa-fhem ans laufen gebracht. Mein Fehler war, dass ich die config-sample.json mit folgendem Attribut übernommen habe:
"webname": "fhem",  Ich habe dort meine WEB Instanz eingetragen, dadurch kam es zu der URL WEBhue.
Ich habe dieses Attribut einfach raus gelöscht und seitdem läuft alexa-fhem.

Nun habe ich aber ein anderes Problem.
Die Screenshoots die man im Netz findet oder auch die Beschreibungen passen nicht mehr auf das was Amazon einem anzeigt.
Von außen ist meine alexa-fhem nun erreichbar. Wenn ich über Lampda einen Test auslöse kommt auch was bei alexa-fhem an (natürlich ist das Feedback an Lampda, keine Devices) aber wenn ich über Alexa.amazon.de suche kommt gar nix bei alexa-fhem an.
Ich denke ich habe irgendwas vergessen, ich weiß aber nicht was.
Wo kann ich also nachgucken?
Danke

Edit: Bei der Zeile callback(null, createError(ERROR_TARGET_OFFLINE) ); aus der lampda.js zeigt mir der Editor aber auch ein Ausrufezeichen und schreibt createERROR is not defined und schreibt was davon, dass ich das definieren soll als global.
Ist das bei euch auch so und damit normal?

TomLee

Durch lesen der letzten 30-40 Beiträge hier oder im anderen Thread findest den Fehler eventuell schon selbst, sonst steht dort auf jedenfall welche vollständigen Angaben nötig sind um Helfenden zu helfen dir zu helfen.

Zitatcallback(null, createError(ERROR_TARGET_OFFLINE) );

Den Fehler kann man ignorieren, Andre schrieb schon das dies im kommenden update behoben wird und hat irgendwo auch schon eine korregierte lambda.js geposted.

matze2310

Hallo zusammen,

komme jetzt bei der Einrichtung nicht mehr weiter...
wenn ich Alexa-FHEM mit FHEM ohne SSL reden lasse, dann funktioniert die Kommunikation.
Nutze ich HTTPS geht es nicht...
Dann kommt folgende Fehlermeldung:
FHEM] longpoll error: Error: self signed certificate, retry in: 30000msec
[3/19/2018, 1:40:10 PM] [FHEM] starting longpoll: https://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1521463210675


habe das Zert schon in den Zertifikatsspeicher des RasPi reingenommen, trotzdem.
Hatte dann irgendwo hier im FHEM Forum gelesen man soll auth auf das folgende setzen wenn man ohne User arbeitet:

"auth": {},


Dies ergibt dann aber nur eine weitere Fehlermeldung, nämlich die folgende:

pi@raspberrypi ~/alexa-fhem $ ./bin/alexa
[3/19/2018, 3:08:12 PM] using /home/../.alexa/config.json
[3/19/2018, 3:08:13 PM] ---
[3/19/2018, 3:08:13 PM] this is alexa-fhem 0.4.4
[3/19/2018, 3:08:13 PM] Fetching FHEM devices...
[3/19/2018, 3:08:13 PM] [FHEM] starting longpoll: https://fhem.matzesrv.local:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1521468493101
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: no auth mechanism defined
    at Auth.onRequest (/home/.../alexa-fhem/node_modules/request/lib/auth.js:132:32)
    at Request.auth (/home/../alexa-fhem/node_modules/request/request.js:1349:14)
    at Request.init (/home/../alexa-fhem/node_modules/request/request.js:375:10)
    at new Request (/home/../alexa-fhem/node_modules/request/request.js:128:8)
    at request (/home/../alexa-fhem/node_modules/request/index.js:53:10)
    at /home/../alexa-fhem/node_modules/request/index.js:61:12
    at Function.get (/home/../alexa-fhem/node_modules/request/index.js:100:12)
    at FHEM_startLongpoll (/home/../alexa-fhem/lib/fhem.js:552:22)
    at new FHEM (/home/../alexa-fhem/lib/fhem.js:96:3)
    at Server.run (/home/../alexa-fhem/lib/server.js:268:16)


Ich verzweifel hier echt bald....
hier meine Konfig.

..@raspberrypi ~ $ cat .alexa/config.json
{
    "alexa": {
        "port": 3000,
        "name": "Alexa FHEM",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": [ "" ],
        "oauthClientID": [ "" ]
    },

    "connections": [
        {
            "name": "FHEM",
            "server": "172.31.0.6",
            "auth": {},
            "port": "8083",
            "webname": "fhem",
            "ssl": true,
            "filter": "room=Alexa"
        }
    ]
}


Ich hoffe ihr könnt mir helfen.

Gruß
Matze

Tuxi70

applicationId und oauthClientID fehlen. Daher wohl die Fehlermeldung "Error: no auth mechanism defined". Es ist Ratsam, sich das Wiki https://wiki.fhem.de/wiki/Alexa-Fhem durch zu lesen.
FRITZ!Box: Fon WLAN 7560, FW: 7.0
James: Raspberry Pi 3 Alexa-Fhem 0.4.4 & FHEM 5.8 Latest Revision: 16799 & SVG-DBLog MySQL 3.10.8
Netz : VDSL 1&1 50.000 3x FRITZ!Powerline 530E FW: 1.4.0-00
Smarthome: 4x Comet DECT Thermostat Firmware: 3.68 8x FritzDECT200 Firmware: 4.08
Steuerung: Alexa

matze2310

@Tuxi, Danke erstmal für deine Anwort.

die ApplicationID und die OAuthID habe ich nur Sicherheitsgünden rausgenommen.
Natürlich sind diese in der echten config.json eingetragen
Sonst würde ja auch nichts gehen wenn ich HTTP verwende, aber da funktioniert ja alles.

EDIT:
habe jetzt irgendein Dummy User eingetragen.
jetzt kommt wieder die blöde Meldung mit dem Self-signed Zertifikat.
[3/20/2018, 12:29:29 PM] [FHEM] starting longpoll: https://"IP":8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1521545369233
[3/20/2018, 12:29:29 PM] [FHEM] longpoll error: Error: self signed certificate, retry in: 15000msec


Wie zur hölle bekomme ich es hin dass der sich mit meinem Self-Signed Zertifikat verbindet.

EDIT2:
habe nun in einem anderem Thread gelesen Webauth ist bei HTTPS zwingend erforderlich.
Leider erhalte ich jetzt immer noch die gleiche Fehlermeldung....
Mein Konfig sieht nun so aus:
    "alexa": {
        "port": 3000,
        "name": "Alexa FHEM",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": [ "amzn1.ask.skill........" ],
        "oauthClientID": [ "amzn1.application-oa2-client......." ]
    },

    "connections": [
        {
            "name": "FHEM",
            "server": "IP",
            "port": "8083",
            "webname": "fhem",
            "auth": {"user": "USER", "pass": "PASSWORD" },
            "ssl": true,
            "filter": "room=Alexa"

Tuxi70

FRITZ!Box: Fon WLAN 7560, FW: 7.0
James: Raspberry Pi 3 Alexa-Fhem 0.4.4 & FHEM 5.8 Latest Revision: 16799 & SVG-DBLog MySQL 3.10.8
Netz : VDSL 1&1 50.000 3x FRITZ!Powerline 530E FW: 1.4.0-00
Smarthome: 4x Comet DECT Thermostat Firmware: 3.68 8x FritzDECT200 Firmware: 4.08
Steuerung: Alexa

matze2310

hab ich gemacht...brachte aber auch nix...wieder der gleiche Fehler.
Ist egal...nutze nun den Port vom WEBphone, da ich der noch auch HTTP läuft und eh nicht veröffentlicht ist.
Danke trotzdem.

EDIT:
ich verzweifel hier echt nochmal...
vielleicht könnt ihr ja helfen....
Also nachdem die APP nun funktioniert und installiert ist, findet diese keine Geräte.
Auf meiner Firewall sehe ich aber auch keine Anfrage eingehen auf Port 3000.
Mache ich einen Test über die Amazon Lambda Function, dann sehe ich den Zugriff über Port 3000 reinkommen und der Test ist auch erfolgreich.
Nur wenn ich die APP benutze dann kommen keine Anfragen von aussen rein....