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

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

Vorheriges Thema - Nächstes Thema

justme1968

welchen skill verwendest du jetzt?

für fhem connector brauchst du kein port forwarding mehr.

wenn du vorher einen anderen skill hattest musst du den deaktivieren auch die geräte wenn sie genau so heissen.

siehst du die gerätesuche im log?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

KalleBlomquist

Den Custom Skill, den ich unter amazon developer angelegt habe (nach der alexa fhem Anleitung).

Ich habe alexa-fhem 0.4.4 neu installiert und dann das Alexa-Fhem-Device neu angelegt.
Die Prozedur (Lambda etc.) auf der amazon Developer Seite(n) ist gleich geblieben.

Wenn ich mich unter alexa.amazon einlogge und nach Geräten suche, dann sehe ich im Log des Alexa-Fhem-Devices nichts.

justme1968

geräte suche ist nur für den smart home skill.

nein. du hast das device nicht neu angelegt. du hast versucht ein zweites anzulegen. siehe oben.

bitte schau dir diese anleitung an: https://wiki.fhem.de/wiki/FHEM_Connector
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

KalleBlomquist

Das Alexa-Fhem-Device war nach einem Update verschwunden, daher habe ich dann alxa-fhem neu installiert und es in Fhem neu definiert.

Also gibt es einen neuen Skill ?!
Wenn ich den jetzt nach der Anleitung aktiviere, dann muss ich den "alten" Skill (steht unter Entwickler) deaktivieren, richtig ?

Muss ich die Geräte, die ich bisher mit den Attributen alexaName etc. versorgt habe, dann alle umbenennen (alexaName) und unter den Alexa-Geräten (im Alexa-Login) löschen ?

Irgendwie stehe ich jetzt auf dem Schlauch ?!?!

KalleBlomquist

So nun funktioniert wieder alles :) ;)

Ich habe Alexa-fhem aus dem offiziellen Repository nochmal installiert, dann habe ich den "alten" Alexa-Skill deaktiviert und den neuen Fhem Connector Skill installiert und aktiviert.
Geräte suchen ausgeführt und schon waren alle Devices wieder da. Die schon vorhandenen Devices (mit gleichem Namen und Offline) habe ich dann gelöscht.

Ich habe auch das Gefühl, dass die Kommandos schneller verarbeitet werden.

Schönen Abend noch ...
Gruß Kalle

Feinfinger

Hallo Dirk,

Danke für deine Hilfe, jetzt läuft der Container.

Allerdings nicht zu 100%.

Im Portainer log steht nun folgender Fehler Last output alexa-port(): FAILED

Mein Custom Skill läuft aber und nimmt Anfragen entgegen, somit ist der Port ja offen.

Wie bekomme ich denn jetzt den FHEM-Connector ans laufen, oder ist das im Container nicht möglich?


Gruß Dirk
Proxmox VM - MAPLE-CUL - SIGNALDINO

cabal2k

Hi,

das mit dem Port ist irgendein Fehler in der config. Müsste aber trotzdem laufen.

Was den Connector angeht: Kommt drauf an wie du die Alexa Anbindung denn final haben willst. Wie bisher oder mit offiziellem Skill.
Ich hatte mich anschließend für den einfachsten Weg entschieden. Den fhem/fhem Container. Da ist alles drin was man braucht, auch alexa-fhem.

Bei mir:

docker run -d --name fhem --restart always --network host --privileged -v /dev:/dev -v /storage/fhem:/opt/fhem fhem/fhem
 

Ich glaub das ist langfristig die beste Lösung. Bei mir läuft FHEM auf meinem NUC mit libreELEC und so hab ich alle Abhängigkeiten, ein vernünftiges Perl und die AVR Tools für die CULs. Läuft auf Anhieb.

Deine gesamte FHEM Installation bleibt mit dem Container bestehen, wenn du dein bestehendes FHEM Verzeichnis nimmst (bei mir /storage/fhem). Vorher natürlich Backup machen ;)
die config.json wird dann zur alexa-fhem.cfg im fhem Verzeichnis. Kann man im FHEM Modul aber nachher auch einstellen (attr alexaFHEM-config).
Der "alexa" Part kann dann raus aus der config wenn du nur den SmartHome Skill nutzen willst.

Ich sehe keinen Vorteil darin FHEM nativ auf dem Host laufen zu lassen.

Danke an justme1968, gvzdus, Loredo und alle anderen Beteiligten. Super Arbeit!

Gruß,

Dirk

Feinfinger

@cabal2k

Danke für den Tip, macht alles viel einfacher!

Meine Config rüber und nach 30 Minuten läuft der Laden :-)


Gruß Dirk
Proxmox VM - MAPLE-CUL - SIGNALDINO

link611

Ich schließe mich hier Mal an.

Bin gerade dabei meine 2 raspberries mit einem nuc und Docker abzulösen.
Alexa-fhem habe ich zwischenzeitlich auf einen eigenen Container ausgelagert, im der alten Variante mit config.json. smart Home und advanced.

Jetzt habe ich gelesen, das alexa-fhem im fhem/fhem Image mit drin ist, hier einfach nur den Inhalt der config.json in die alexa-fhem.cfg? Habe vor ein paar wochen das aktuelle Modul installiert und mich schon gewundert was die .cfg macht.

Feinfinger

Hallo,

Also wenn du ,,nur" alexa-fhem nutzen möchtest, musst du garnichts tun, es läuft ,,out of the box".

Wenn du zusätzlich einen Custom-Skill nutzen willst, ist die alexa-fhem.cfg um die entsprechenden Zeilen zu ergänzen.

Gruß Dirk
Proxmox VM - MAPLE-CUL - SIGNALDINO

link611

Also ich bin jetzt erst mal mit meinem FHEM in einen Docker Container umgezogen, soweit läuft jetzt auch alles.

Aktuell ist meine Konfiguration wie folgt:

Container alexa-fhem mit folgender alexa-config.json:

{
    "alexa": {
        "port": 3000,
        "name": "Alexa FHEM",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.xxxxxxxxxxxxxxxxxxxxxxx",
        "oauthClientID": "amzn1.application-oa2-client.xxxxxxxxxxxxxxxxxxxxxxxxx"
    },
   
    "connections": [
        {
            "name": "FHEM",
            "server": "fhem",
            "port": "8085",
            "webname": "fhem",
    "ssl": false,
            "auth": {"user": "user", "pass": "passwort"},
            "filter": "room=Alexa"
        }
    ]
}



damit läuft der Basic Skill und der Advanced Skill über AWS.

dann habe ich jetzt noch den Container für FHEM (dort ist ja Alexa auch mit integriert) dort sieht die alexa-fhem.cfg derzeit so aus (um Fehlermeldungen zu vermeiden):


{
   "sshproxy" : {
      "description" : "FHEM Connector",
      "ssh" : "/usr/bin/ssh"
   },
   "connections" : [
      {
         "port" : "8085",
         "webname" : "fhem",
         "server" : "fhem",
         "filter": "room=Alexa",
         "ssl": false,
         "auth": {"user": "user", "pass": "passwort"},
         "name" : "FHEM",
         "uid" : 999
      }
   ]
}


So, der Proxy leitet aktuell noch alle Anfragen an den alexa-fhem container mit Port 3000. - darum ist Alexa am fhem Container nur zur Zierde da.

Jetzt möchte ich dann doch das integrierte alexa modul im fhem Container nutzen.

Jetzt stelle ich mir die Frage, wofür ist dieser sshproxy in der alexa-fhem.cfg?
Kann ich jetzt wirklich einfach den Inhalt der .json in die alexa-fhem.cfg übernehmen - und dann läuft alles? -  klar, der Proxy muss dann auf den fhem container zeigen.

Feinfinger

Hallo,

Versuche das mal zu erklären.

Wenn du nach Anleitung den Fhem-Connector installierst, das heißt Proxy Key anlegen und Fhem-Connector in der Amazon App aktivierst, laufen die meisten Devices schon, OHNE Port 3000 zu öffnen(Sicherheitsaspekt).

Der SSH Proxy wird von Fhem Verein gestellt.

Die Frage ist jetzt, ob du den Smart-Home Skill und die Erweiterung überhaupt noch benötigst.

Wenn ja, wie beschrieben, die alexa-fhem.cfg um den Teil mit der Skill ID und Port 3000 ergänzen.

Proxmox VM - MAPLE-CUL - SIGNALDINO

link611

Zitat von: Feinfinger am 26 Februar 2019, 11:03:05
Hallo,

Versuche das mal zu erklären.

Wenn du nach Anleitung den Fhem-Connector installierst, das heißt Proxy Key anlegen und Fhem-Connector in der Amazon App aktivierst, laufen die meisten Devices schon, OHNE Port 3000 zu öffnen(Sicherheitsaspekt).

Der SSH Proxy wird von Fhem Verein gestellt.

Die Frage ist jetzt, ob du den Smart-Home Skill und die Erweiterung überhaupt noch benötigst.

Wenn ja, wie beschrieben, die alexa-fhem.cfg um den Teil mit der Skill ID und Port 3000 ergänzen.

Naja, meine Alexa-Integration läuft schon seit Ewigkeiten mit der damaligen Konfiguration (eigenen Smart-Home Skill und eigenen Advanced Skill). Dadurch, dass das seit jeher lief, hab' ich nie umgestellt.
Port 3000 hab' ich bei mir nicht geöffnet, sondern das läuft alles über einen Reverse Proxy der in einem eigenen Container läuft. (FHEM Zugriff muss ja auch da sein :) )

Von daher kenne ich die neue Anleitung, mit Fhem-Connector und Proxy Key, gar nicht.

MadMax-FHEM

Zitat von: link611 am 26 Februar 2019, 11:40:46
Port 3000 hab' ich bei mir nicht geöffnet

Das ist totaler Quatsch!
Weil irgendwie MUSS Amazon VON AUSSEN ja auf deine Installation kommen (zumindest bei den "alten" Developer-Skills)...
Und wie in deinder Config zu lesen, ist ein Port (3000) offen...
...ob das dann von außen auch Port 3000 ist, ist eine andere Geschichte...
...und ob das dann direkt auf alexa-fhem geht oder indirekt über Proxy ebenfalls...



Zitat von: link611 am 26 Februar 2019, 11:40:46
Von daher kenne ich die neue Anleitung, mit Fhem-Connector und Proxy Key, gar nicht.

Wenn du docker Container verwendest kriegst du von keiner Installation was mit... ;)
...weil die im passenden Container ja bereits erledigt ist...

Was ist dann eigentlich jetzt das Problem bzw. die Frage!?

Alles Relevante wurde ja bereits von Feinfinger beantwortet:

Entweder: die Custom Skill Dinge aus der "alten" config in die neue config (denn wie es aussieht gehen beide auf das selbe fhem los!?), wenn du das weiterhin nutzen willst. Und halt weiterhin Port auf und entsprechend "umleiten". Die Smart Home Skill Dinge laufen vermutlich eh schon parallel bzw. spätestens nach fhem Skill Aktivierung (geht ja auf das selbe fhem los!? und auch der Filter ist ja der selbe). Dann brauchst du eigentlich das alte alexa-fhem Docker nicht mehr (außer da sind noch andere Dinge drin).

Oder: nur noch Smart Home Skill. Dann einfach den alten alexa-Docker abschalten (sofern der nicht noch was anderes macht), Port und Proxy-Umleitung ebenfalls unnötig. Und da beides auf das gleiche fhem losgeht (zumindest laut config), einfach den fhem Connector/Skill aktivieren/verknüpfen und gut is...

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)

link611

Zitat von: MadMax-FHEM am 26 Februar 2019, 12:19:45
Das ist totaler Quatsch!
Weil irgendwie MUSS Amazon VON AUSSEN ja auf deine Installation kommen (zumindest bei den "alten" Developer-Skills)...
Und wie in deinder Config zu lesen, ist ein Port (3000) offen...
...ob das dann von außen auch Port 3000 ist, ist eine andere Geschichte...
...und ob das dann direkt auf alexa-fhem geht oder indirekt über Proxy ebenfalls...

das stimmt, port 3000 ist da, aber nicht nach außen frei, das meinte ich damit.


Zitat von: MadMax-FHEM am 26 Februar 2019, 12:19:45
Wenn du docker Container verwendest kriegst du von keiner Installation was mit... ;)
...weil die im passenden Container ja bereits erledigt ist...

das ist schon klar, aber wie ich bereits geschrieben habe, bin ich gestern auf den Docker Container umgezogen, das heißt zuvor lief noch alles über die alte alexa integration und die neue habe ich mir nie angesehen.
[/quote]

Zitat von: MadMax-FHEM am 26 Februar 2019, 12:19:45
Was ist dann eigentlich jetzt das Problem bzw. die Frage!?

siehe oben, ob ich einfach den Inhalt der .json in die alexa-fhem.cfg einfügen kann. das hast du mir aber jetzt auch nochmals beantwortet.


Zitat von: MadMax-FHEM am 26 Februar 2019, 12:19:45
Alles Relevante wurde ja bereits von Feinfinger beantwortet:

Entweder: die Custom Skill Dinge aus der "alten" config in die neue config (denn wie es aussieht gehen beide auf das selbe fhem los!?), wenn du das weiterhin nutzen willst. Und halt weiterhin Port auf und entsprechend "umleiten". Die Smart Home Skill Dinge laufen vermutlich eh schon parallel bzw. spätestens nach fhem Skill Aktivierung (geht ja auf das selbe fhem los!? und auch der Filter ist ja der selbe). Dann brauchst du eigentlich das alte alexa-fhem Docker nicht mehr (außer da sind noch andere Dinge drin).

Oder: nur noch Smart Home Skill. Dann einfach den alten alexa-Docker abschalten (sofern der nicht noch was anderes macht), Port und Proxy-Umleitung ebenfalls unnötig. Und da beides auf das gleiche fhem losgeht (zumindest laut config), einfach den fhem Connector/Skill aktivieren/verknüpfen und gut is...

Gruß, Joachim

wie ursprünglich erwähnt, habe ich im fhem docker erstmal etwas eingetragen, um Fehlermeldungen zu vermeiden, aus meiner Sicht ist da erstmal nichts konfiguriert, weil ich erstmal nur wollte, dass mir die Log nicht zuballert.

Aber ich glaube ich sollte dann doch mal auf den FHEM Connector umstellen. bekomme nur keine Readings im alexa-device...