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

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

Vorheriges Thema - Nächstes Thema

besitzer

#240
Ich kann mal versuchen den LTE Teil auszuschalten. Wenn es mit meiner Dyndns dann noch funktioniert.
Ich habe in AWS schon den Testknopf gesehen. Weiß aber nicht was ich da für eine Test-Funktion auswählen soll und erst recht nicht welchen Code ich da eingeben soll?!

Wenn ich da Alexa Smart Home auswähle wird mir dieser Code vorbelegt. Muss ich den Editieren nd ja mit welchen Werten?

"header": {
    "payloadVersion": "1",
    "namespace": "Control",
    "name": "SwitchOnOffRequest"
  },
  "payload": {
    "switchControlAction": "TURN_ON",
    "appliance": {
      "additionalApplianceDetails": {
        "key2": "value2",
        "key1": "value1"
      },
      "applianceId": "sampleId"
    },
    "accessToken": "sampleAccessToken"
  }
}


Gruß sven

justme1968

es ist egal was du auswählst. es kommt nur drauf an ob etwas zurück kommt. auch wenn es eine fehlermeldung von alexa-fhem ist.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

sauserl

Ich nochmal. Warum wird meine config.json in dem Verzeichnis gesucht:

[2016-11-24 18:40:55] using /root/.alexa/config.json
[2016-11-24 18:40:55] Couldn't find a config.json file at '/root/.alexa/config.json'. Look at config-sample.json for an example.


Mein alexa-fhem ist in /opt/fhem/



justme1968

weil es im homeverzeichniss des users stehen muss der alexa-fhem startet und du als root startest.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

sauserl

#244
Und woran erkenne ich das? Bei gängigen Anleitungen ist das doch nicht so vorgesehen, oder?
Wie kann ich das ändern?


pi@raspberrypi:/opt/fhem/alexa-fhem $ ./bin/alexa
bash: ./bin/alexa: Keine Berechtigung
pi@raspberrypi:/opt/fhem/alexa-fhem $ ~

justme1968

du hast wärend der installation irgendetwas als root gemacht.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

schlingi

Noch eine Frage: Die Spracherkennung läuft problemlos solange putty geöffnet ist. Schließe ich putty, funktioniert sie nicht mehr. Offenbar wird durch das Schließen von putty auch das Programm geschlossen. Wie kann ich das verhindern?

Esjay

Zitat von: schlingi am 26 November 2016, 11:08:19
Noch eine Frage: Die Spracherkennung läuft problemlos solange putty geöffnet ist. Schließe ich putty, funktioniert sie nicht mehr. Offenbar wird durch das Schließen von putty auch das Programm geschlossen. Wie kann ich das verhindern?

Schau mal hier https://forum.fhem.de/index.php?topic=60244.150

Einfach die Seite komplett durchlesen. Dort sind 2 Möglichkeiten beschrieben.

Grüße


besitzer

#249
Hallo Justme1968,

ich habe den Test bei AWS mit Standardwerten durchgeführt. Diese Anfrage kommt auch an, sagt natürlich, dass der Token ungültig ist:

[2016-11-26 22:12:26] 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":"651a5b96-testentfernt"},"payload":{}}



justme1968

das schaut eigentlich gut aus. eigentlich sollte es gehen ...

und die geräte suche von der alexa app aus ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

besitzer

Die Suche aus der Alexa App bringt auch kein Ergebnis bzw. gefundenes Gerät.

So langsam verzweifle ich irgendwie.
Habe nun auf nur DSL am Router umgestellt und mein Dummy Device gegen eine steuerbare Steckdose getauscht. Es wir die Firmware etc. erkannt aber nicht in meine Alexa Geräteliste eingefügt?!

pi@raspberrypi:/var/alexa/alexa-fhem $ ./bin/alexa
[2016-11-26 22:51:49] using /home/pi/.alexa/config.json
[2016-11-26 22:51:49] ---
[2016-11-26 22:51:49] Fetching FHEM devices...
starting longpoll: http://192.168.1.200:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1480197109962
[2016-11-26 22:51:50] [FHEM] Checking genericDeviceType...
[2016-11-26 22:51:50] [FHEM]   executing: http://192.168.1.200:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-11-26 22:51:50] [FHEM] Fetching FHEM devices...
[2016-11-26 22:51:50] [FHEM] fetching: http://192.168.1.200:8083/fhem?cmd=jsonlist2%20room=alexa&XHR=1
Server listening on: https://:::3000
[2016-11-26 22:51:50] [FHEM] got: 2 results
[2016-11-26 22:51:50] [FHEM] eg.zwischenstecker_Kueche is switch
[2016-11-26 22:51:50] [FHEM] eg.zwischenstecker_Kueche has
[2016-11-26 22:51:50] [FHEM]   FirmwareRevision [D-firmware]
  2016-11-26 22:51:50 caching: eg.zwischenstecker_Kueche-D-firmware: 1.6
[2016-11-26 22:51:50] [FHEM] eg.zwischenstecker_Kueche_Sw is switch
[2016-11-26 22:51:50] [FHEM] eg.zwischenstecker_Kueche_Sw has
[2016-11-26 22:51:50] [FHEM]   On [state;on,off]
  2016-11-26 22:51:50 caching: eg.zwischenstecker_Kueche_Sw-state: off
[2016-11-26 22:52:22] accepted new token
**** Received Directive: {"header":{"namespace":"Alexa.ConnectedHome.Discovery","name":"DiscoverAppliancesRequest","payloadVersion":"2","messageId":""},"payload":{"accessToken":"Atza|-xgjvAMd9YLXThPw"}}
response :{"header":{"name":"DiscoverAppliancesResponse","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Discovery","messageId":""},"payload":{"discoveredAppliances":[{"applianceId":"CUL_HM_2D47C601","manufacturerName":"FHEMCUL_HM","modelName":"FHEMHM-ES-PMSw1-Pl","version":"<unknown>","friendlyName":"eg.zwischenstecker_Kueche_Sw","friendlyDescription":"name: eg.zwischenstecker_Kueche_Sw, alias: eg.zwischenstecker_Kueche_Sw, room: alexa","isReachable":true,"actions":["turnOn","turnOff"],"additionalApplianceDetails":{"device":"eg.zwischenstecker_Kueche_Sw"}}]}}


Kann es sein, dass ich irgendwas vergessen habe in FHEM hinzuzufügen? Muss ich ALexa als Device anlegen oder ein fehlendes Attribut der Geräte die Alexa finden soll?
Muss ich vielleicht nochmal von vorne Anfangen?

Gruß Sven

justme1968

die antwort auf die discovery nachricht geht raus. auch das schaut gut aus.

aber setz mal alias oder alexaName für das device. vielleicht kommt liegt es daran. sind hier nicht erwünscht. und mit dem namen eg.zwischenstecker_Kueche_Sw kannst du das ding sowieso niemals ansprechen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

RaspiCOC

So, nachdem alles mit dem non-custom Skill rund lief, habe ich jetzt ein paar neue Herausforderungen...

Rahmenbedingungen:


  • Ich bin auf Jessie im next-Branch unterwegs, da ich meinen Pi3 von SSD booten lasse. Will nicht ausschließen, dass dies zu unerwünschten Effekten führt.
  • Habe neben dem non-custom Skill auch den Custom-Skill in alexa.amazon.de aktiviert.
  • Ich musste die zwei UPNP-Einträge in der ~/.alexa/config.json rausnehmen, da alexa.js gleich nach dem Start einen Exit gemacht hat.

Folgende Auffälligkeiten habe ich nun:


  • Meine bisher im Alexa Raum befindlichen Devices lassen sich weiterhin problemlos schalten. Aber, die Kommandos, die m.E. eindeutig vom non-custom Skill behandelt werden, tauchen nicht mehr in der Alexa App auf. Seltsam.
  • Unter Smart Home in der Alexa App taucht auch nur der non-custom Skill (hier: Homeservice) auf. Der Custom Skill ist nicht sichbar. Siehe Screenshot.
  • Ich frage: "Alexa, wie ist der Status von Kaffee?". Laut Alexa App wird das eindeutig vom Custom-Skill bearbeitet. Alexa antwortet jetzt in dem sie mir den Status aller im Alexa-Raum befindlichen Devices aufzählt. Die sind aber nicht einmal korrekt. Habe dann auf der Konsole alexa gestartet und habe dort die korrekten Status angezeigt bekommen. Alexa erzählt mir aber was anderes.
  • Starte ich: "Alexa, starte Hausautomatisierung" werde ich freundlich begrüsst. Egal, was ich dann sage, ich bekomme nur ein "Noch jemand da..." als Antwort.
  • Ich dachte das Attribut "alexaName" taucht irgendwie unter meinen Smart Home Geräten auf. Das ist aber irgendwie nicht der Fall. Bei mir kommen in der Alexa App der Devicename, Alias und Room an. Soll das so sein?

Ich muss zugeben, dass ich inzwischen bei knapp 100 Posts pro Tag in den letzten Tagen nicht mehr alles gelesen habe. Was könnten die Ursachen für die oben aufgeführten Probleme sein?



RaspiCOC

#254
Hmmm... vielleicht hätte ich den obigen Post eher im anderen Thread machen sollen.

zu 3.: Problem zumindest teilweise gelöst. Bin auch in diese Falle getappt: https://forum.fhem.de/index.php/topic,60244.msg529779.html#msg529779. Jetzt reagiert der Custom-Skill wie er es soll. Wie schnell macht alexa einen Refresh des Status?
zu 4.: Hat sich mit 3. auch erledigt.
zu 5.: Mir war nicht klar, dass der AlexaName für die Ansage verwendet wird.

Ergänzung zu 3.: ReadingsProxies scheinen keinen Status zu übergeben: https://forum.fhem.de/index.php/topic,60244.msg530538.html#msg530538