alexa-fhem: amazon alexa smart home skill für fhem

Begonnen von justme1968, 05 November 2016, 23:21:32

Vorheriges Thema - Nächstes Thema

omnior

Hallo Joachim, wie ich weiter oben beschrieben hatte, lief ja alles eine ganze Zeitlang, mit dem Standard Skill und auch dem CustomSkill.
Was steht denn im Log von alexa-fhem wenn du es nach dem Eintragen des Dummy startest?
Was meinst Du damit genau? Wenn ich den Alexa Dienst z.B. manuell starte und dann den Dummy ein/ausschalte?

MadMax-FHEM

Ah, gut ich hab jetzt nicht alles verfolgt...

Nein, nach jeder Änderung in der fhem.cfg die Alexa betrifft, also Name geändert, neues Gerät eingefügt (also in den Raum alexa oder wie immer dein Filter ist) etc. muss alexa-fhem neu gestartet bzw. eben die fhem.cfg neu abrufen...

Und dann eben im Log schauen, ob das neue Gerät etc. in diesem Fall eben der Dummy auftaucht...

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)

omnior

#3437
Sorry ich hab es nach wie vor nicht verstanden, welches Log du meinst?

Ich starte momentan beim Debuggen Alexa-fhem immer manuell mit ./bin/alexa --debug
Was ich nicht ganz verstehe, was hier geloggt wird wenn ich die Gerätesuche im Amazon Alexa Dienst starte. Am Ende der Suche wird mir in der Alexa App eben kein Gerät angezeigt, also hat er nix gefunden, aber was bedeuten denn diese Einträge, von denen mehr als diese zwei kommen?

pi@raspberrypi:/opt/fhem/alexa-fhem $ ./bin/alexa
[2017-12-16 12:56:42] using /home/pi/.alexa/config.json
[2017-12-16 12:56:42] ---
[2017-12-16 12:56:42] this is alexa-fhem 0.3.4
[2017-12-16 12:56:42] Fetching FHEM devices...
[2017-12-16 12:56:42] [FHEM] starting longpoll: https://192.168.1.164:8085/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1513425402610
[2017-12-16 12:56:42] Server listening on: https://:::3000
[2017-12-16 12:57:23] accepted new token
**** Received Directive: {"header":{"namespace":"Alexa.ConnectedHome.Discovery","name":"DiscoverAppliancesRequest","payloadVersion":"2","messageId":"94b7ea85-6e88-4ad6-b3b2-8e7365618b32"},"payload":{"accessToken":"Atza|IwEBID9LMlJ-rKuvRYfshfDQaMad0AYXkdXCVDS76CICGhvDV3r5LRGXSLwKsmubz0LZrwlHwihkVKRZtdo881YRIl7PomY2WB_p6fAEaQ8KT9Ix_-7XBOf6fo_M_n3i-46xh7Uk76CGkaEBtqTOnkRhfPJscfPCwNa5mQNJWAgALG-J4D39K5f-xCuY-8pAmJlIsrgXH2MlZfXtFGS7JYlosmSj0FsyjE5GzM1b14ZN0L3gIpne_u_M9LjEVqOq8H34DAjK1jSvJDfUFu4L7_HRhxRvV_ZoIFmmLjFU_wOQ8gnPmpe0UfrD04vyQ3m7qECQwBJWcQaDqLudG5-0_eQf6rSXrf4aHq0kgbcKFzcLdICXk7D8nXvQG2XueMNuCKsMVsxXdtTm94JLdlQwSCqqV0rK1_u4sG034_rYXOFhaYFytxgu3fd4uWyOY2v6gJGLgE_iJa1Eufem-GR66bNC25LWRNkXD5f4W-_0YAvaofTLkg"}}
response :{"header":{"name":"DiscoverAppliancesResponse","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Discovery","messageId":"6155793a-2668-47ab-9114-4f38d313bd7f"},"payload":{"discoveredAppliances":[]}}
**** Received Directive: {"header":{"namespace":"Alexa.ConnectedHome.Discovery","name":"DiscoverAppliancesRequest","payloadVersion":"2","messageId":"097dbda4-a331-4f51-81ed-aebbb2bce7ba"},"payload":{"accessToken":"Atza|IwEBID9LMlJ-rKuvRYfshfDQaMad0AYXkdXCVDS76CICGhvDV3r5LRGXSLwKsmubz0LZrwlHwihkVKRZtdo881YRIl7PomY2WB_p6fAEaQ8KT9Ix_-7XBOf6fo_M_n3i-46xh7Uk76CGkaEBtqTOnkRhfPJscfPCwNa5mQNJWAgALG-J4D39K5f-xCuY-8pAmJlIsrgXH2MlZfXtFGS7JYlosmSj0FsyjE5GzM1b14ZN0L3gIpne_u_M9LjEVqOq8H34DAjK1jSvJDfUFu4L7_HRhxRvV_ZoIFmmLjFU_wOQ8gnPmpe0UfrD04vyQ3m7qECQwBJWcQaDqLudG5-0_eQf6rSXrf4aHq0kgbcKFzcLdICXk7D8nXvQG2XueMNuCKsMVsxXdtTm94JLdlQwSCqqV0rK1_u4sG034_rYXOFhaYFytxgu3fd4uWyOY2v6gJGLgE_iJa1Eufem-GR66bNC25LWRNkXD5f4W-_0YAvaofTLkg"}}
response :{"header":{"name":"DiscoverAppliancesResponse","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Discovery","messageId":"236430fb-0958-4b72-ad29-b1117adea42e"},"payload":{"discoveredAppliances":[]}}

...usw

MadMax-FHEM

Also wenn nach listenning on port 3000 nix mehr kommt (bis zur Suche) dann kann alexa-fhem schon nichts in deinem fhem finden!

Darum ging es hier die ganze Zeit also auch bereits von amenomade!

Dann kommt die Suchanfrage "Directive .... Discovery" von Alexa, entweder per App oder per Sprachsuche.

Aber da ja bereits alexa-fhem NICHTS gefunden hat kann nat. auch Alexa nichts finden.

Also muss zunächst mal herausgefunden werden warum alexa-fhem schon nichts findet.

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)

omnior


MadMax-FHEM

Wenn du manuell (mit --debug) startest, dann ist die Consolenausgabe das Log... ;)

Ansonsten halt dort wo du beim Start (im Startscript etc.) angibst...
...sollte aber ja bei manuellem Start keine Einträge haben (also keine neuen)...

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)

omnior

ok, aber im Log erscheint ja soweit nix anderes...
langsam bin ich echt am verzweifeln...hatte alles schon mal funktioniert und jetzt geht seit Wochen
gar nix mehr ;D :-[

amenomade

ZitatIch starte momentan beim Debuggen Alexa-fhem immer manuell mit ./bin/alexa --debug

Das sieht man ja... ;)
Zitatpi@raspberrypi:/opt/fhem/alexa-fhem $ ./bin/alexa
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

omnior

Gibt's auch noch Ideen um herauszufinden was das Problem ist bzw. warum Alexa-fhem schon nichts findet?

amenomade

#3444
Zeig bitte ein list von deinem alexa Device.

Anscheinend kommt aus fhem.js nichts. FHEM_startLongpoll antwortet nicht

Blöde Frage: antwortet fhem auf dieser url?
https://192.168.1.164:8085/fhem
und kannst Du die gewünschte Devices (das alexa Device und das Test dummy von Joachim und das Device global) dort erreichen?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

omnior

Hallo amenomade, ich habe jetzt wie vorgeschlagen, heute Nacht ein paar Dinge vereinfacht, die eigentlich den Zugang absichern sollten, aber offensichtlich zu den Problemen führten. Vermutlich hatte ich auch das Problem eingeschleppt, als ich im August  einen Apache2 zur Authentifizierung https://wiki.fhem.de/wiki/Apache_Authentication_Proxy eingebaut hatte, das hat letztlich dann zu dem Verhau geführt.
Ich bin damit nun zwar ein paar "Altlasten" losgeworden, jetzt werden auch wieder die devices erkannt, aber eigentlich ging es mir ja ursächlich darum die Authentifizierung sicherer zu machen.

fhem antwortet jetzt übrigens auf http://192.168.1.164:8085/fhem und nicht auf https

Vielleicht gibt es ja hier einige unter Euch die ihr fhem/raspberry entsprechend abgesichert haben und die dabei auch erfolgreich Alexa am Laufen haben und mir vielleicht noch ein paar Tips geben können wie ich das korrekt einrichte.
Danke auf jeden Fall für Eure Geduld bis hierher...

amenomade

Zitathttp://192.168.1.164:8085/fhem und nicht auf https
Dann musst Du dein config.json entsprechend anpassen.

Funktioniert mittlerweile deine Alexa-fhem?

Wegen Apache: ich habe das auch. Aber zwischen der Fritzbox und des offenen Port auf dem Pi, nicht zwischen alexa-fhem und fhem. Was willst du wissen?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

hauwech

Hallo zusammen,
erstmal vorweg: Ich habe höchsten Respekt vor Leuten, die sich bei einem solchen Thema initial durchgekämpft haben, Hut ab!
Ich habe mich durchs Wiki gehangelt und stehe momentan auf dem Schlauch. Leider habe ich die Zusammenhänge und Abläufe noch nicht vestanden. Mein derzeitiger Status ist folgender:
Wenn ich in der Amazon Developer Console den Custom Skill unter "Test" mit dem Service Simulator teste mit "Alexa, schalte party ein" oder "... aus", dann sehe ich auf meiner lokalen Console (alexa mit ./bin/alexa gestartet) eine ganze Reihe Meldungen und mein Dummy d_Alexa.Party im room=alexa wird geschaltet. So weit ganz gut, das heißt ja, daß eine ganze Reihe von Services und Settings funktioniert.
Wenn ich aber meinem Echo Dot sage:"Alexa, schalte Party ein", kommt nur "Entschuldigung, welches Gerät?" Weder der Echo Dot, noch die Android App, noch die Amazon WebApp kann neue Geräte finden.
In der Lambda Funktion "FHEM" habe ich wie geheißen den Trigger "Alexa Smart Home" hinzugefügt, der hat eine AppID und kann auch enabled werden. Amazon hat dann gemeckert, daß der "Alexa Skills Kit" fehlt, den habe ich noch als Trigger hinzugefügt. Der hat aber weder eine AppID, noch kann er enabled werden, sondern nur einen Link, daß man auf der Developer Seite den Skill konfigurieren kann/soll. Meine config.json sieht so aus: (eine applicationID für den "MySmartHome Basic" Skill, eine für den Custom Skill)
{
    "alexa": {
        "port": 3000,
        "name": "Alexa TEST",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.**********************************",
        "applicationId": "amzn1.ask.skill.**********************************",
        "oauthClientID": "amzn1.application-oa2-client.***********************"
    },

    "connections": [
        {
            "name": "FHEM",
            "server": "127.0.0.1",
            "port": "8083",
            "webname": "fhem",
            "auth": {"user": "MeinFhemUser", "pass": "meinPasswd"},
            "ssl": true,
            "filter": "room=alexa|Schalter"
        }
    ]
}

Beide Skills selbst werden von Alexa gefunden, die habe ich auch verknüpft.
Wo muß ich denn ansetzen??? Habe ich vielleicht irgendwo einen Schritt übersehen?

Danke und Gruß
Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

haempy

Zitat von: hauwech am 17 Dezember 2017, 12:58:55
Hallo zusammen,
erstmal vorweg: Ich habe höchsten Respekt vor Leuten, die sich bei einem solchen Thema initial durchgekämpft haben, Hut ab!
Ich habe mich durchs Wiki gehangelt und stehe momentan auf dem Schlauch. Leider habe ich die Zusammenhänge und Abläufe noch nicht vestanden. Mein derzeitiger Status ist folgender:
Wenn ich in der Amazon Developer Console den Custom Skill unter "Test" mit dem Service Simulator teste mit "Alexa, schalte party ein" oder "... aus", dann sehe ich auf meiner lokalen Console (alexa mit ./bin/alexa gestartet) eine ganze Reihe Meldungen und mein Dummy d_Alexa.Party im room=alexa wird geschaltet. So weit ganz gut, das heißt ja, daß eine ganze Reihe von Services und Settings funktioniert.
Wenn ich aber meinem Echo Dot sage:"Alexa, schalte Party ein", kommt nur "Entschuldigung, welches Gerät?" Weder der Echo Dot, noch die Android App, noch die Amazon WebApp kann neue Geräte finden.
In der Lambda Funktion "FHEM" habe ich wie geheißen den Trigger "Alexa Smart Home" hinzugefügt, der hat eine AppID und kann auch enabled werden. Amazon hat dann gemeckert, daß der "Alexa Skills Kit" fehlt, den habe ich noch als Trigger hinzugefügt. Der hat aber weder eine AppID, noch kann er enabled werden, sondern nur einen Link, daß man auf der Developer Seite den Skill konfigurieren kann/soll. Meine config.json sieht so aus: (eine applicationID für den "MySmartHome Basic" Skill, eine für den Custom Skill)
{
    "alexa": {
        "port": 3000,
        "name": "Alexa TEST",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.**********************************",
        "applicationId": "amzn1.ask.skill.**********************************",
        "oauthClientID": "amzn1.application-oa2-client.***********************"
    },

    "connections": [
        {
            "name": "FHEM",
            "server": "127.0.0.1",
            "port": "8083",
            "webname": "fhem",
            "auth": {"user": "MeinFhemUser", "pass": "meinPasswd"},
            "ssl": true,
            "filter": "room=alexa|Schalter"
        }
    ]
}

Beide Skills selbst werden von Alexa gefunden, die habe ich auch verknüpft.
Wo muß ich denn ansetzen??? Habe ich vielleicht irgendwo einen Schritt übersehen?

Danke und Gruß
Roland
Servus Roland,
vielleicht versteht Alexa dich nicht... Ich habe mit Party auch ein Problem. Nenne es doch mal Küche oder Lampe oder so...
Gruß Roland

Gesendet von meinem HUAWEI VNS-L31 mit Tapatalk


hauwech

Hallo Roland,
Alexa versteht mich erstaunlich gut - obwohl ich Erzgebirgler bin  ;D.
Just nachdem ich meine Frage abgeschickt hatte, habe ich noch einen Satz aufgeschnappt: Man muß sagen:"Alexa, sage fhem schalte Party ein" Das geht!!! Ist aber semantisch etwas umständlich. Immerhin: eine große Hürde ist genommen.

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS