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

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

Vorheriges Thema - Nächstes Thema

Markus.

Hallo Joachim,

Troztdem vielen dank für die Hilfe. Also hab das mit init.d und systemd nochmal gecheckt. Also scheint wirklich so zu sein das mit debian 9 stretch init.d abgelöst ist und nur systemd verwendet wird. Also dürfte die doppelte config kein problem machen da ja bei system start NUR systemd berücksichtigt wird. Eventuell gut zu wissen bei Umstellungen von Jessy auf stretch umd damit verbundenen Service start problemen. Naja jedenfalls für so Linux DAUs wie mir... ;D
So nun mal versuchen durch die neuen Amazon screens durch zublicken und mal einen v3 smarthome skill anzulegen. ::)

Gruß

Markus

MadMax-FHEM

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)

Fixel2012

Zitat von: Fixel2012 am 29 Dezember 2017, 02:30:45
Hi,

bei mir lief alexa bereits seit ein paar Monaten. Ich habe nun allerdings meine jetzige Micro SD auf eine größere geklont.

Seit dem startet der alexa-fhem Service nicht mehr. Kann mir das in dem Zusammenhang eig. gar nicht erklären.

Wie viele hier in dem Thread habe ich folgende Fehlermeldung, konnte sie aber leider nicht lösen:


pi@FHEM:~ $ sudo /etc/init.d/alexa restart
-su: line 0: cd: /opt/fhem/alexa-fhem: Permission denied
-su: /opt/fhem/alexa-fhem/log/alexa-2017-12.log: Permission denied
Alexa starting
Alexa is not running
script done
script done
script done


Der Benutzer im Startscript ist "pi".

hier noch die Ausgabe von ls -la:

pi@FHEM:~ $ sudo ls -la /opt/fhem/
total 183568
drwxr--r-- 17 fhem dialout      4096 Dec 27 04:17 .
drwxr-xr-x  5 root root         4096 Dec 27 01:45 ..
drwxr--r--  6 pi   pi           4096 Dec 28 16:20 alexa-fhem



pi@FHEM:~ $ sudo ls -la /opt/fhem/alexa-fhem
total 60
drwxr--r--  6 pi   pi      4096 Dec 28 16:20 .
drwxr--r-- 17 fhem dialout 4096 Dec 27 04:17 ..
drwxr--r--  2 pi   pi      4096 Apr 25  2017 bin
-rwxr--r--  1 pi   pi      1204 Apr 25  2017 cert.pem
-rwxr--r--  1 pi   pi       573 Feb 19  2017 config-sample.json
-rwxr--r--  1 pi   pi       150 Nov  5  2016 createKey.sh
-rwxr--r--  1 pi   pi      1679 Apr 25  2017 key.pem
-rwxr--r--  1 pi   pi      1183 Dec 23  2016 lambda.js
drwxr--r--  2 pi   pi      4096 Apr 25  2017 lib
drwxr-xr-x  2 pi   pi      4096 Dec 28 16:20 log
drwxr--r--  7 pi   pi      4096 Apr 25  2017 node_modules
-rwxr--r--  1 pi   pi        33 Nov  5  2016 .npmignore
-rwxr--r--  1 pi   pi       373 Apr 26  2017 package.json
-rwxr--r--  1 pi   pi      2830 Nov  8  2016 README.md
-rwxr--r--  1 pi   pi      1597 Apr 26  2017 TODO



habe noch eine allgemeine Frage, die nichts mit alexa-fhem zu tun haben:


pi@FHEM:~ $ cd /opt/fhem/alexa-fhem
-bash: cd: /opt/fhem/alexa-fhem: Permission denied
pi@FHEM:~ $ sudo cd /opt/fhem/alexa-fhem
sudo: cd: command not found


Einmal komme ich ohne sudo wohl nicht in den Ordner, und mit sudo gibt es die Fehlermeldung, dass es den command wohl nicht geben...  :(
Mit Root geht natürlich alles  :P

Was kann da los sein?


Da die Dateien eigentlich alle schon dem Benutzer pi gehören, weiß ich nicht warum trotzdem permission denied als Fehlermeldung ausgegeben wird.

Würde mich über einen Tipp eurer seits freuen  :)

Gruß,

Fixel

Das Problem hat sich gelöst, in dem ich die Zugriffsrechte geändert habe.

chmod 777 -R /opt/fhem

Ich denke, dass dies aber nicht optimal ist, da dort jeder ausführen, schreiben und lesen darf. Weiß jemand wie das besser lösbar wäre  :o
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

MadMax-FHEM

Also vermutlich steht im Startscript /etc/init.d/alexa der User 'pi' als startender User, der hat nat. keine Rechte in /opt/fhem/...

Entweder den User 'fhem' starten lassen (config.json entsprechend ablegen, müsste: /opt/fhem/.alexa/config.json sein) oder irgendwo hin installieren wo der User 'pi' die notwendigen Rechte hat, beispielsweise: /home/pi/alexa-fhem/ (so habe ich installiert, läuft prima).

Es geht vermutlich auch dem User 'pi' die notwendigen Rechte gehen, also beispielsweise Aufnahme in die Gruppe 'dialout'...

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)

Fixel2012

Danke für deine Vorschläge.

ZitatEntweder den User 'fhem' starten lassen (config.json entsprechend ablegen, müsste: /opt/fhem/.alexa/config.json sein)

Ist das gefahren los machbar? Oder stellt das auch ein gewisses Sicherheitsrisiko da?

ZitatAlso vermutlich steht im Startscript /etc/init.d/alexa der User 'pi' als startender User, der hat nat. keine Rechte in /opt/fhem/...

Ist dies nicht egal, wenn der Ordner opt/fhem/alexa-fhem dem user pi gehört? Der Rest in dem opt/fhem Ordner gehört Fhem.

drwxr--r--  6 pi   pi           4096 Dec 28 16:20 alexa-fhem
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

MadMax-FHEM

Hm, stimmt eigentlich auch wieder, grad getestet...

Eigenartig, dass der cd nicht geht...

Bei mir kein Problem.

Aber trotzdem trenne ich das lieber: jeder User seinen "Bereich" und nicht durcheinandermischen...

Daher habe ich alexa-fhem unter /home/pi installiert und lasse es auch von User pi ausführen...
...oder ich würde (wenn aber wozu? sehe keinen Vorteil) es nach /opt/fhem installieren und dann eben durch User fhem starten...

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)

Fixel2012

Zitat von: MadMax-FHEM am 02 Januar 2018, 01:42:32
...oder ich würde (wenn aber wozu? sehe keinen Vorteil) es nach /opt/fhem installieren und dann eben durch User fhem starten...

Ich sehe dadurch den Vorteil, dass alles was mit fhem zu tun hat an einem Ort liegt. Somit ist es bei einem Server Umzug etc leichter und man vergisst nichts.

Ich werde dann wohl den durch den User Fhem starten lassen.
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

mrSnatz

Hallo,
ich habe jetzt alexa-fhem-0.4.4 installiert. Smart Home Skill mit Payload v3. Portfreigabe funktioniert auch. In Fhem ist auch der Raum alexa mit sonoff Schalter und Homematic Thermostaten. wenn ich ./bin/alexa startet und anschließend im skill nach Gerätetn suche findet er keine und es kommt folgende Meldung.

Hat einer einen Tipp wo mein Fehler liegen könnte???

pi@HomeServer:/opt/fhem/alexa-fhem $ ./bin/alexa
[2018-1-4 09:57:11] using /home/pi/.alexa/config.json
[2018-1-4 09:57:11] ---
[2018-1-4 09:57:11] this is alexa-fhem 0.4.4
[2018-1-4 09:57:11] Fetching FHEM devices...
[2018-1-4 09:57:11] [FHEM] starting longpoll: https://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1515056231296
[2018-1-4 09:57:11] Server listening on: https://:::3000
[2018-1-4 09:57:27] accepted new token
**** Received Directive: {"directive":{"header":{"namespace":"Alexa.Discovery","name":"Discover","payloadVersion":"3","messageId":"a7acc9c0-d28b-4bce-ab91-627175454d92"},"payload":{"scope":{"type":"BearerToken","token":"Atza|IwEBIN7Wpr4mr5N4XhodUAwAE0CbLbGL9reimijYs5KbytRQBHQNZ6YHHL3fhJAXuTougKzUI0DZp50xODubQxQiTTJvT1otf-EQUtLeNJFMG2Pryq5-7NtLo2cMa2O2B9aJzxal5nRTx3khcA9qkKx5Vg2y7Fgh8Exf62DKwFqqD6cwcU15UBliwTQzNsY9QKDhAghkoEuJpUKc7mVu4oIBV8x9Kg0cTcXzsQ-eug4pgvUdM9xtM1yD1DmiWj72b-UvKUcnYSqcFtG3xIAob5I9SO1Xq7sAYkXqncfhraVJCEl4FQke9IQ3wiwui5MO8n7mTDTYXZqJx2SqLbDtUKxz6PmbimehIMqlO-eZ17oZsIezZfHP9cTjdV-yuglhySB8ezA-36A52EY15gBJdIBG7gNNHFNuSEPAFGsmQ5fAq8jF3JgGTK0GpVAzm4NM9jAvk0f-Z1GG7RTtpRVuY1vca8EbMy7e686pqHGVPK_TGuhkPA"}}}}
response :{"event":{"header":{"name":"Discover.Response","payloadVersion":3,"namespace":"Alexa.Discovery","messageId":"6a553d19-1677-45de-aab7-cf30c097aacd"},"payload":{"endpoints":[]}}}
[2018-1-4 09:57:27] accepted new token
**** Received Directive: {"directive":{"header":{"namespace":"Alexa.Discovery","name":"Discover","payloadVersion":"3","messageId":"80da1228-3221-4852-b4b2-adfa04039043"},"payload":{"scope":{"type":"BearerToken","token":"Atza|IwEBIN7Wpr4mr5N4XhodUAwAE0CbLbGL9reimijYs5KbytRQBHQNZ6YHHL3fhJAXuTougKzUI0DZp50xODubQxQiTTJvT1otf-EQUtLeNJFMG2Pryq5-7NtLo2cMa2O2B9aJzxal5nRTx3khcA9qkKx5Vg2y7Fgh8Exf62DKwFqqD6cwcU15UBliwTQzNsY9QKDhAghkoEuJpUKc7mVu4oIBV8x9Kg0cTcXzsQ-eug4pgvUdM9xtM1yD1DmiWj72b-UvKUcnYSqcFtG3xIAob5I9SO1Xq7sAYkXqncfhraVJCEl4FQke9IQ3wiwui5MO8n7mTDTYXZqJx2SqLbDtUKxz6PmbimehIMqlO-eZ17oZsIezZfHP9cTjdV-yuglhySB8ezA-36A52EY15gBJdIBG7gNNHFNuSEPAFGsmQ5fAq8jF3JgGTK0GpVAzm4NM9jAvk0f-Z1GG7RTtpRVuY1vca8EbMy7e686pqHGVPK_TGuhkPA"}}}}
response :{"event":{"header":{"name":"Discover.Response","payloadVersion":3,"namespace":"Alexa.Discovery","messageId":"1e03304f-6d5a-487d-9c22-d6a5d2b5314b"},"payload":{"endpoints":[]}}}
**** Received Directive: {"directive":{"header":{"namespace":"Alexa.Discovery","name":"Discover","payloadVersion":"3","messageId":"a2ff281e-fa7e-4cb8-9c99-56cee7917959"},"payload":{"scope":{"type":"BearerToken","token":"Atza|IwEBIN7Wpr4mr5N4XhodUAwAE0CbLbGL9reimijYs5KbytRQBHQNZ6YHHL3fhJAXuTougKzUI0DZp50xODubQxQiTTJvT1otf-EQUtLeNJFMG2Pryq5-7NtLo2cMa2O2B9aJzxal5nRTx3khcA9qkKx5Vg2y7Fgh8Exf62DKwFqqD6cwcU15UBliwTQzNsY9QKDhAghkoEuJpUKc7mVu4oIBV8x9Kg0cTcXzsQ-eug4pgvUdM9xtM1yD1DmiWj72b-UvKUcnYSqcFtG3xIAob5I9SO1Xq7sAYkXqncfhraVJCEl4FQke9IQ3wiwui5MO8n7mTDTYXZqJx2SqLbDtUKxz6PmbimehIMqlO-eZ17oZsIezZfHP9cTjdV-yuglhySB8ezA-36A52EY15gBJdIBG7gNNHFNuSEPAFGsmQ5fAq8jF3JgGTK0GpVAzm4NM9jAvk0f-Z1GG7RTtpRVuY1vca8EbMy7e686pqHGVPK_TGuhkPA"}}}}
response :{"event":{"header":{"name":"Discover.Response","payloadVersion":3,"namespace":"Alexa.Discovery","messageId":"d3c8ab43-eee9-4d06-b25a-80837d6aeac2"},"payload":{"endpoints":[]}}}
**** Received Directive: {"directive":{"header":{"namespace":"Alexa.Discovery","name":"Discover","payloadVersion":"3","messageId":"3c7c819f-cc59-4239-8eb7-637bf8817a9e"},"payload":{"scope":{"type":"BearerToken","token":"Atza|IwEBIN7Wpr4mr5N4XhodUAwAE0CbLbGL9reimijYs5KbytRQBHQNZ6YHHL3fhJAXuTougKzUI0DZp50xODubQxQiTTJvT1otf-EQUtLeNJFMG2Pryq5-7NtLo2cMa2O2B9aJzxal5nRTx3khcA9qkKx5Vg2y7Fgh8Exf62DKwFqqD6cwcU15UBliwTQzNsY9QKDhAghkoEuJpUKc7mVu4oIBV8x9Kg0cTcXzsQ-eug4pgvUdM9xtM1yD1DmiWj72b-UvKUcnYSqcFtG3xIAob5I9SO1Xq7sAYkXqncfhraVJCEl4FQke9IQ3wiwui5MO8n7mTDTYXZqJx2SqLbDtUKxz6PmbimehIMqlO-eZ17oZsIezZfHP9cTjdV-yuglhySB8ezA-36A52EY15gBJdIBG7gNNHFNuSEPAFGsmQ5fAq8jF3JgGTK0GpVAzm4NM9jAvk0f-Z1GG7RTtpRVuY1vca8EbMy7e686pqHGVPK_TGuhkPA"}}}}
response :{"event":{"header":{"name":"Discover.Response","payloadVersion":3,"namespace":"Alexa.Discovery","messageId":"09cedc12-1724-4974-a7d2-6e92fd5a6905"},"payload":{"endpoints":[]}}}


Markus.

Hast du einen Alexaroom filter in der Config.json definiert?

Gruß

Markus

MadMax-FHEM

Zeig doch mal den Filtereintrag der config.json und ein list eines Gerätes welches gefunden werden sollte...

alexa-fhem findet schon nichts...
...da kann dann auch in der App nix gefunden werden.

Und bitte: code-Tags (das '#' im "Menü")...
...geht nachträglich für deine bereits geposteten Ausgaben.
Liest sich deutlich besser!

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)

viegener

Wenn ich das log richtig lese, findet alexa-fhem keine devices (ich sehe auch nichts vom alexa device):

Nach:

[2018-1-4 09:57:11] Fetching FHEM devices...
[2018-1-4 09:57:11] [FHEM] starting longpoll: https://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1515056231296


sollten Einträge kommen, die beschreiben, dass er einen Alexa device in fhem gesucht und gefunden hat und auch weitere devices (im alexa-Room in fhem) abfragt.

- Also hast Du einen alexa device in fhem angelegt?
- Gibt es devices im alexa-room (oder wie bei dir das mapping ist)
- ist bei diesen devices die Konfiguration für den smart home skill korrekt
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

mrSnatz

@MadMax-FHEM hier meine Config.
{
    "alexa": {
        "port": 3000,
        "name": "MyFHEM",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "oauthClientID": "amzn1.application-oa2-client.XXXXXXXXXXXXXXXXXXXXXXXXXX",
        "permissions": {"<skill-id>": { "client_id": "xyz", "client_secret": "123"}}
    },
   
    "connections": [
        {
            "name": "FHEM",
            "server": "127.0.0.1",
            "port": "8083",
            "webname": "fhem",
            "filter": "room=alexa",
            "ssl": true,
            "auth": {"user": "XXXXXXXX", "pass": "XXXXXXXXX", "ssl": true}
        }
    ]
}


Habe meinen Fehler aber gerade selber gefunden. Manchmal denke ich einfach zu kompliziert. Hatte noch in der internen weiterleitung ssl true drin. obwohl ich FHEM über HTTP ansteuer. HTTPS in Fhem auf 1 gesetzt und schon wird alles gefunden.

Ich danke trotzdem für die schnelle Hilfe. Ist ja nicht selbstverständlich. Danke

MadMax-FHEM

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)

AitschPi

Noch ein allgemeiner Hinweis, über den ich gerade gestolpert bin:

Bei mir läuft alexa-fhem über den Nutzer pi, fhem über fhem. Beim Neustart heute wollte die Dame nicht starten, ein log konnte ich auch nicht abrufen. Da lag genau das Problem:
Bei der Erstinstallation wurde die Logdatei von pi angelegt, jetzt von fhem. Doch pi durfte die neue Datei nicht zum Schreiben öffnen...
Mit einem chmod 666 habe ich das Problem behoben. Fhem ist weiter Eigentümer und pi darf Schreiben. Vorsorglich habe ich mit touch schon mal Dateien für Februar und März angelegt.


Gesendet von iPhone mit Tapatalk Pro
Echte Männer essen keinen Honig, sie kauen Bienen.

viegener

Zitat von: AitschPi am 05 Januar 2018, 06:20:25
Noch ein allgemeiner Hinweis, über den ich gerade gestolpert bin:

Bei mir läuft alexa-fhem über den Nutzer pi, fhem über fhem. Beim Neustart heute wollte die Dame nicht starten, ein log konnte ich auch nicht abrufen. Da lag genau das Problem:
Bei der Erstinstallation wurde die Logdatei von pi angelegt, jetzt von fhem. Doch pi durfte die neue Datei nicht zum Schreiben öffnen...
Mit einem chmod 666 habe ich das Problem behoben. Fhem ist weiter Eigentümer und pi darf Schreiben. Vorsorglich habe ich mit touch schon mal Dateien für Februar und März angelegt.


Gesendet von iPhone mit Tapatalk Pro

Von welcher log-datei sprichst Du? --> Nodejs- alexa?

Dazu gibt es vermutlich eine ganze Reihe von Hinweisen:
- Einrichtung von alexa mit dem Benutzer machen, unter dem alexa später läuft, sonst sind Rechteprobleme zu erwarten
- alexa-Skript immer nur mitdemselben Benutzer starten, sonst sind Rechteprobleme zu erwarten
- Immer erst testweise im Terminalfenster starten bis alles funktioniert, dann sieht man die Ausgabe sofort (aber wieder auf den Benutzer achten)
- Meine Empfehlung: wenn pi-user (oder anderer nicht fhem-user) benutzt wird, sollten die Dateien auch nicht in opt/fhem sondern im Verzeichnis des Benutzers liegen unter dem das Skript läuft ansonsten fhem-user auch für alexa-skript nutzen
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können