Hauptmenü

FHEM und Alexa

Begonnen von MandelHL, 21 Juli 2017, 22:53:34

Vorheriges Thema - Nächstes Thema

MandelHL

Hallo zusammen,

ich bin von meinem Raspberry Pi 2 auf 3 umgestiegen und versuche nun Alexa in FHEM einzubinden.

Nun habe ich mich strikt an die Anleitung gehalten: https://wiki.fhem.de/wiki/Alexa-Fhem

Ich war sehr irritiert, dass Anleitungen für Linux und Windows dabei waren. Bedeutet das, dass ich bei der Wahl "Windows" dann tatsächlich auf meinem Win Betriebssystem installiere? Das ist ja Quatsch, das will ich ja nicht.

Nun habe ich es weitestgehend nach Anleitung auf meinem RaPi installiert und hake bei dem Punkt:
sudo update-rc.d alexa defaults

Ich erhalte die Fehlermeldung:
update-rc.d: error: initscript does not exist: /etc/init.d/alexa
Jetzt habe ich festgestellt, dass durch die Anmeldung über PuTTY als root sich das Verzeichnis "alexa-fhem" nicht im Verzeichnis opt/fhem befindet, sondern im root-Verzeichnis.
Kommt daher die Fehlermeldung? Was muss ich jetzt tun, damit ich weiter vorankomme?

Ich denke, dass ich ansonsten bis dahin alle Paket richtig installiert habe, allerdings auch als root.

Kann mir jemand helfen? Danke.

Grüße
Mandel

thgorjup

#1
Wenn der daemon /etc/init.d/alexa nicht existiert, dann hast du wohl etwas vergessen oder eine Fehlermeldung übersehen.

EDIT: hat denn der chmod "sudo chmod 755 /etc/init.d/alexa" vorher geklappt? ist der daemon vorhanden?
FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy

MKeY

https://haus-automatisierung.com/hardware/fhem/2017/01/14/fhem-tutorial-reihe-part-23-amazon-echo-alexa-fhem-steuern.html
Ich hab es nach der Anleitung gemacht und bin gut zum Erfolg gekommen.
Wichtig ist die Sache mit DynDNS und dem Port 3000

Bei dir kann man schlecht auf die Maschine schauen, gibt viele Fehlermöglichkeiten
Wer Fehler findet, darf sie behalten!
RPi's, D1Mini
Homematic, Hue, Sonoff, Alexa, Xiaomi, ConBee
Prusa MK2.5, Prusa MK3S (MMU2S vorhanden, aber nervtötend)
Lowrider 2CNC

MandelHL

#3
Zitat von: thgorjup am 21 Juli 2017, 22:57:32
Wenn der daemon /etc/init.d/alexa nicht existiert, dann hast du wohl etwas vergessen oder eine Fehlermeldung übersehen.

EDIT: hat denn der chmod "sudo chmod 755 /etc/init.d/alexa" vorher geklappt? ist der daemon vorhanden?

Sorry, aber ich weiß nicht, was Du mit daemon meinst. Ich hatte das Verzeichnis alexa manuell angelegt.
Daraufhin hatte ich zumindest bei dem Befehl "sudo chmod 755 /etc/init.d/alexa" keine Fehlermeldung.

Ist es denn grundsätzlich ein Problem, alles als root ausgeführt zu haben?

EDIT: Ich lese gerade, was es mit daemon auf sich hat. Danke für den Tipp mit der haus-automatisierung. Ich war auf der Seite, aber bei einem anderen Tutorial.

Kann ich denn jetzt trotzdem als root weitermachen? alexa-fhem müsste doch eigentlich in opt/fhem sein und nicht in root.

thgorjup

Scripte die unter /etc/init.d/ gespeichert sind, nennt man daemon.
In der Anleitung steht:

Zitat
Zunächst das Start-up-Skript aus diesem Post herunterladen https://forum.fhem.de/index.php/topic,60244.msg517271.html#msg517271 und unter /etc/init.d/alexa speichern.

Bedeutet, du musst es runterladen und z.B. per FTP nach /etc/init.d/ kopieren.
Danach erst mit der Anleitung fortfahren.


FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy

MandelHL

Das hatte ich gemacht. Also wie gesagt, das Unterverzeichnis alexa manuell angelegt und darin die Datei "alexa" abgelegt

Dann steht da aber auch, dass das Script davon ausgeht, dass der alexa-fhem script unter /opt/fhem/alexa-fhem liegt.
Das tut er bei mir nicht, wahrscheinlich weil ich als root die Befehle ausgeführt hatte.

Sollte ich das alles jetzt noch mal als Nutzer pi machen und die Einträge im root-Verzeichnis löschen, wie z.B. alexa-fhem?

amenomade

Nicht unbedingt, aber alles muss miteinander kohärent sein:
- standort von config.json
- was in alexa unter init.d gerufen wird und mit welchem User
- mit welchem User und wo npm installiert wurde
- was im alexa.service steht

Im Wiki stehen schon Hinweise:
ZitatDas Verzeichnis .alexa anlegen, und zwar im Home-Verzeichnis desjenigen Benutzers, unter dem Alexa-Fhem laufen soll. Insbesondere ist zu beachten, dass dieser Nutzer u.U. im Startskript explizit gesetzt wird. Mit dem untenstehenden Skript ist das nicht der User fhem, sondern der User pi. Das Symbol ~/ verweist auf das Home-Verzeichnis des Benutzers, der gerade die Installation vornimmt.
Die Datei config-sample.json nach .alexa/config.json kopieren. Achtung: Installiert man alexa-fhem als root-user, zeigt das Symbol ~/ auf /root - und die Konfigurationsdatei wird ggf. bei einem manuellen Start von Alexa-Fhem nicht gefunden.
Achtung: Ggf. müssen auch die Dateien key.pem und cert.pem ins entsprechende Verzeichnis kopiert werden.

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MandelHL

Vielen Dank für Eure Hilfe.

Ich werde die Installation nun noch einmal unter dem User "pi" vornehmen.

Ich bin jetzt bei dem Punkt der Lexa-Fhem - FHEMWiki angekommen, bei dem es darum geht Alexa-Fhem zu installieren.
Die Möglichkeiten sind hier Linux und Windows, wobei ich mit meinem RaPi ja die Linux-Version wählen muss. Nehme ich zumindest an.

Der Punkt ist jetzt:
Die tgz-Datei unter Linux im Hauptverzeichnis von FHEM (typischerweise /opt/fhem) entpacken (nicht unter Windows, das zerstört die Rechteeinstellungen).

Die tgz-Datei habe ich in meinem lokalen Windows-Download-Ordner. Wie kann ich die denn jetzt entpacken, ohne dass ich die Rechteeinstellungen zerstöre?

Sorry für die wahrscheinlich doofe Frage und Danke für Eure Antwort.

Viele Grüße
Mandel

Amenophis86

Datei auf den Pi übertragen und dann

tar -xvzf datei.tgz
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...

MandelHL

Vielen Dank. Das  hat natürlich geklappt und stand ja sogar in der Anleitung. Ich dachte allerdings, dass ich vorher einen Schritt tun müsste.

Ich muss mich leider noch einmal weiter durchfragen. Jetzt hänge ich bei dem Punkt, wobei ich mich dabei an "Alexa-Fhem - FHEMWiki" und der "FHEM Tutorial-Reihe - Part 23" orientiere:
cp config-sample.json ~/.alexa/config.json

Die Datei "config-sample.json" befindet sich in /opt/fhem/alexa-fhem. Das Verzeichnis .alexa existiert ebenfalls, wird auch eingeblendet. Nutzer ist pi.
Nachdem ich den Befehl "cp config-sample.json ~/.alexa/config.json" ausgeführt habe, finde ich die Datei "config.json" nicht in dem Verzeichnis .alexa. Es erscheint allerdings auch keine Fehlermeldung in PuTTY.

Bei dem darauffolgenden Befehl "vi ~/.alexa/config.json" komme ich in ein Script, aus dem ich nicht wieder herauskomme und auch nicht weiß, ob ich hier Änderungen vornehmen muss.
{
    "alexa": {
        "port": 3000,
        "name": "Alexa TEST",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "oauthClientID": "amzn1.application-oa2-client.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    },

    "connections": [
        {
            "name": "FHEM",
            "server": "10.0.1.21",
            "port": "8083",
            "webname": "fhem",
            "filter": "room=alexa"
        }
    ]
}

Ich gehe dann immer auf das "X" oben rechts, um abzubrechen. Das hat wohl zur Folge, dass ich eine Swap-Datei erstellt habe und beim erneuten Ausführen der Datei eine Meldung bekomme:
E325: ATTENTION
Found a swap file by the name "~/.alexa/.config.json.swp"
          owned by: pi   dated: Sun Jul 23 06:42:30 2017
         file name: ~pi/.alexa/config.json
          modified: YES
         user name: pi   host name: raspberrypi
        process ID: 6795
While opening file "/home/pi/.alexa/config.json"
             dated: Sun Jul 23 07:10:00 2017
      NEWER than swap file!

(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r /home/pi/.alexa/config.json"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file "/home/pi/.alexa/.config.json.
swp"
    to avoid this message.
"~/.alexa/config.json" 22 lines, 573 characters
Press ENTER or type command to continue


Ich weiß, dass es einige Fragen sind und hoffe, dass Ihr mir trotzdem helft. Viel scheint ja nicht zu fehlen, zumal ich die Einstellungen bei Amazon schon gemacht habe.

Danke und viele Grüße
Mandel

SlrG

#10
vi ist ein Text-Editor zum Bearbeiten von Dateien. Die Bedienung ist etwas gewöhnungsbedürftig. Zum Speichern und Beenden ESC drücken und dann :wq eingeben gefolgt von Enter (:wq = write & quit). Also solltest Du jetzt erstmal im Netz suchen und Dich mit der Bedienung von vi bekannt machen. Alternativ solltest Du nano als Editor versuchen. Der ist meiner Meinung nach leichter zu bedienen.

Ach ja. Du musst die config.json verändern. Das ist im Wiki aber auch beschrieben: Alexa-Fhem konfigurieren.

MandelHL

#11
Ok, super. Danke.

Es steht da aber nicht, warum die Datei nicht in das Verzeichnis .alexa kopiert wird.
Woran liegt das? Was mache ich falsch?

Eine Sache fällt mir noch auf:
In dem Tutorial-Video steht im PuTTY-Fenster immer vor der Kommandozeile "pi@fhem:~ $"
Bei mir steht "pi@raspberry:~ $". Heißt das, ich habe das home-Verzeichnis nicht richtig eingerichtet?

Wie gesagt, ich finde ich auch die Datei "config.json" nicht, obwohl ich diese per "cp config-sample.json ~/.alexa/config.json" eigentlich umbenannt und in das .alexa-Verzeichnis kopiert haben müsste.

Amenophis86

Zitat von: MandelHL am 23 Juli 2017, 09:25:31
Vielen Dank. Das  hat natürlich geklappt und stand ja sogar in der Anleitung. Ich dachte allerdings, dass ich vorher einen Schritt tun müsste.

Den Befehl habe ich erst hinzugefügt im Wiki nachdem du hier geschrieben hattest, dass du nicht weißt, wie es geht ;)
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...

Sky

Hallo ,

ich hänge bei folgendem Punkt :

Alexa-Fhem aus FHEM heraus starten

Zunächst das Start-up-Skript aus diesem Post herunterladen https://forum.fhem.de/index.php/topic,60244.msg517271.html#msg517271 und unter /etc/init.d/alexa speichern.

Da ich als User Pi keine Berechtigung für das "init.d" Verzeichniss habe ,kann auch nicht das Script dorthin kopieren ( Filezilla ) .

Wer weiß Rat ??

Danke im vorraus.....

Amenophis86

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...