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

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

Vorheriges Thema - Nächstes Thema

cs-online

Halleluja, nach ganz viel lesen und Eurer Hilfe habe ich das nun soweit, daß der Skill läuft und meine erste Lampe an und aus geht. Dafür erstmal vielen Dank an alle, die bis hierher geholfen haben !!!!!!!!!

Nun habe ich noch das Problem, daß der Dienst nicht automatisch startet. Wenn ich den von Hand als User PI starte, fragt er nach dem root-PW, wenn ich das als sudo starte, dann startet der Dienst und läuft auch. Ich bekomme den auch mit dem FHEM-Start-Dummy ans Laufen. Ich habe das "Jessie" als OS für den Raspi, habe auch alles nach wiki gemacht (glaube ich zumindest), das Ergebnis sieht dann so aus

login as: pi
pi@192.168.2.66's password:

pi@FHEM-Jessie:~ $ sudo systemctl status alexa
● alexa.service - Node.js Alexa Server
   Loaded: loaded (/etc/systemd/system/alexa.service; enabled)
   Active: activating (auto-restart) (Result: exit-code) since So 2017-07-23 12:37:33 CEST; 3s ago
  Process: 1084 ExecStart=/opt/fhem/alexa-fhem/bin/alexa $ALEXA_OPTS (code=exited, status=217/USER)
Main PID: 1084 (code=exited, status=217/USER)

Jul 23 12:37:33 FHEM-Jessie systemd[1]: alexa.service: main process exited, ...R
Jul 23 12:37:33 FHEM-Jessie systemd[1]: Unit alexa.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.
pi@FHEM-Jessie:~ $


Im Journal steht:

login as: pi
pi@192.168.2.66's password:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Jul 23 12:49:09 2017

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

pi@FHEM-Jessie:~ $ sudo journalctl -u alexa
-- Logs begin at So 2017-07-23 12:49:02 CEST, end at So 2017-07-23 12:49:55 CEST
Jul 23 12:49:05 FHEM-Jessie systemd[1]: Starting Node.js Alexa Server...
Jul 23 12:49:05 FHEM-Jessie systemd[1]: Started Node.js Alexa Server.
Jul 23 12:49:05 FHEM-Jessie systemd[1]: alexa.service: main process exited, code
Jul 23 12:49:05 FHEM-Jessie systemd[1]: Unit alexa.service entered failed state.
Jul 23 12:49:16 FHEM-Jessie systemd[1]: alexa.service holdoff time over, schedul
Jul 23 12:49:16 FHEM-Jessie systemd[1]: Stopping Node.js Alexa Server...
Jul 23 12:49:16 FHEM-Jessie systemd[1]: Starting Node.js Alexa Server...
Jul 23 12:49:16 FHEM-Jessie systemd[1]: Started Node.js Alexa Server.
Jul 23 12:49:16 FHEM-Jessie systemd[1]: alexa.service: main process exited, code
Jul 23 12:49:16 FHEM-Jessie systemd[1]: Unit alexa.service entered failed state.
Jul 23 12:49:33 FHEM-Jessie systemd[1]: alexa.service holdoff time over, schedul
Jul 23 12:49:33 FHEM-Jessie systemd[1]: Stopping Node.js Alexa Server...
Jul 23 12:49:33 FHEM-Jessie systemd[1]: Starting Node.js Alexa Server...
Jul 23 12:49:33 FHEM-Jessie systemd[1]: Started Node.js Alexa Server.
Jul 23 12:49:33 FHEM-Jessie systemd[1]: alexa.service: main process exited, code
Jul 23 12:49:33 FHEM-Jessie systemd[1]: Unit alexa.service entered failed state.
Jul 23 12:49:43 FHEM-Jessie systemd[1]: alexa.service holdoff time over, schedul
Jul 23 12:49:43 FHEM-Jessie systemd[1]: Stopping Node.js Alexa Server...
Jul 23 12:49:43 FHEM-Jessie systemd[1]: Starting Node.js Alexa Server...
Jul 23 12:49:44 FHEM-Jessie systemd[1]: Started Node.js Alexa Server.
Jul 23 12:49:44 FHEM-Jessie systemd[1]: alexa.service: main process exited, code
Jul 23 12:49:44 FHEM-Jessie systemd[1]: Unit alexa.service entered failed state.
Jul 23 12:49:54 FHEM-Jessie systemd[1]: alexa.service holdoff time over, schedul
Jul 23 12:49:54 FHEM-Jessie systemd[1]: Stopping Node.js Alexa Server...
Jul 23 12:49:54 FHEM-Jessie systemd[1]: Starting Node.js Alexa Server...
Jul 23 12:49:54 FHEM-Jessie systemd[1]: Started Node.js Alexa Server.
Jul 23 12:49:54 FHEM-Jessie systemd[1]: alexa.service: main process exited, code
Jul 23 12:49:54 FHEM-Jessie systemd[1]: Unit alexa.service entered failed state.
lines 7-29/29 (END)


ein Aufruf vom Status unter init.d liefert:

pi@FHEM-Jessie:~ $ /etc/init.d/alexa status
Alexa is not running
script done


aber dort gestartet, geht's:

pi@FHEM-Jessie:~ $ sudo /etc/init.d/alexa start

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

Alexa starting
Alexa is running PID 1158
script done
script done
pi@FHEM-Jessie:~ $


Bestimmt wieder eine Kleinigkeit, aber ich komm nicht drauf...
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Reinhart

Hallo!

ich hatte ursprünglich ähnliche Probleme mit dem Starten des Services.
Die Ursache war bei mir, weil ich die config.json mit den Keys im Verzeichnis /home/pi/.alexa hatte. Ich hatte damals das so gedeutet, das der User der den Service startet keine Rechte im Home Verzeichnis des Users "pi" hat. Bei mir hat er gemeckert, das ./key.pem nicht gefunden wurde, das ist allerdings bei dir nicht der Fall, ansonsten waren es die gleichen Fehlermeldungen.

Ich habe das Verzeichnis .alexa einfach nach /opt/fhem kopiert, die Startscripte und Configs wieder angepasst und alles läuft seitdem perfekt.

Vielleicht hilft dir das beim Fehlersuchen weiter.
Ach ja, ich habe Stretch installiert, ist aber was die Services betrifft ähnlich dem Jessie.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Markus.

Hi justme1968,

also absolut genial das ganze wenn man das Ergebnis mit all seinen Möglichkeiten sieht.. Vielen dank nochmal !!
Das mit den unterschiedlichen Temperaturreadings funkioniert jetzt auch.
Bei der Milight Lamoe war folgendes Problem.
Ich hatte als alexaname "schlafzimmerlampe" eingetragen aber in der Konsole konnte ich dann sehen das Alexa immer "schlafzimmer lampe" verstanden hat. Also zwei Wörter. Ich habe dann mal den alexaname geändert und es funkioniert soweit mit den Standardeinstellungen. Ob das Device nun in der Alexaapp gefunden wird oder nicht ist mir erstmal egal im Moment, da ich eh nur den Custom skill verwenden möchte. Aber mal zurück zu dem alexaname...kann man sowas irgendwo einstellen oder definieren wie alexa sowas handelt. Also  das "schlafzimmerlampe" und nicht  "schlafzimmer lampe" verstanden wird?

Gruß

Markus

Amenophis86

Du kannst mittels ; mehrer Namen für ein Gerät vergeben und so den Fehler abfangen.
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...

Markus.

#2899
wird dann durch das ; die namen bedingt verknüpft? Ich meine das device reagiert bei einer Definition von Sschlafzimmer;lampe nur wenn beide namen kommen. Oder halt einer von beiden?


Gruß

Markus

justme1968

die lampe reagiert jedem namen aus der Aufzählung. du musst also Schlafzimmerlampe;schlafzimmer lampe setzen.

im allgemeinen ist es aber besser den raum namen nicht mit in den device namen zu stecken sondern den raum namen extra über das alexaRoom attribut anzugeben. und dann licht im schlafzimmer zu sagen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Markus.

ahh okay macht sinn. Aber kann ich z.b. licht dann mehrfach verwenden? also "room Wohnzimmer name licht" und "room Schlafzimmer name licht" ?
und noch ne blöde Frage.. mit welchem Befehl sage ich denn Alexa das die Lampe von rot wieder auf weiß schalten soll?... :-(

gruß

markus

justme1968

ja. jeder name muss nur innerhalb eines raumes eindeutig sein.

ich würde es mal mit 'weiß' probieren ...
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Amenophis86

Dachte das attr Raumname ist für dem Smarthome Skill egal und nur für den Custom Skill gedacht?
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...

justme1968

ja. ich habe vom custom skill gesprochen.

aber sogar für den smart home skill ist es meist besser die devices gleich zu nennen und über die app in die passenden gruppen/räume zu stecken. leider ist das etwas aufwändig.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Markus.

weiß geht nicht, denke es liegt daran das es nirgendwo definiert ist...oder?

Gruß

Markus

TomLee

Hallo,

es kommt ab und an vor das man alle sein Geräte verwirft, die Gruppierungen gehen damit auch verloren. 
Wird es denn vlt. irgendwann mal möglich sein die Gruppierung auf Fhem-Seite zu definieren ?

justme1968

das ist im smart home api nicht vorgesehen.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

TomLee

Was tut man dagegen ?

Feedback geben, Kundenservice kontaktieren und sich eine Verbesserung der App wünschen ?

Kam hier

https://forum.fhem.de/index.php/topic,71899.0.html

bisher Feedback zurück oder sonstige Verbindung zustande ?

justme1968

feedback und kundenservie schaden sicher nicht.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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