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

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

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

Wobei man seit Stretch nicht mehr direkt in die sudoers Datei schreibt/schreiben sollte (kann bei einem Update mal wieder überschrieben werden wie im Readme oder der Datei selbst vermerkt ist) sondern im Verzeichnis sudoers.d eine Datei pro User (Übersicht) oder zumindest nur dort eine Datei mit Anpassungen haben sollte...

Und ja, Tommy82 hat (vermutlich) recht...

Wobei es wahrscheinlicher ist, dass der Eintrag für den User fhem fehlt, da ja das "abfragende/steuernde" Modul in fhem und somit unter dem User fhem läuft und somit die Befehle ebenfalls als User fhem ausgeführt werden...

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)

Axxl

Ich habe das Modul zum Laufen bekommen ! Juhuu !

Nun geht es an das Einrichten meiner Geräte, daher eine kleine Frage :

alexaRoom ? Funktioniert das ? Ich habe einige Lichter, dich ich jedoch nicht genau spezifizieren will. Würde folgendes funktionieren:

alexaName : Licht
alexaRoom : Wohnzimmer

"Alexa , schalte Licht im Wohnzimmer ein ?" Ich bekomme das nicht hin.

mit "alexaName : Licht im Wohnzimmer" geht es allerdings.. aber ich hatte gehofft das alexaRoom irgendwas macht ?

Danke !

MadMax-FHEM

Zitat von: Axxl am 24 November 2018, 23:10:47
Ich habe das Modul zum Laufen bekommen ! Juhuu !

Nun geht es an das Einrichten meiner Geräte, daher eine kleine Frage :

alexaRoom ? Funktioniert das ? Ich habe einige Lichter, dich ich jedoch nicht genau spezifizieren will. Würde folgendes funktionieren:

alexaName : Licht
alexaRoom : Wohnzimmer

"Alexa , schalte Licht im Wohnzimmer ein ?" Ich bekomme das nicht hin.

mit "alexaName : Licht im Wohnzimmer" geht es allerdings.. aber ich hatte gehofft das alexaRoom irgendwas macht ?

Danke !

alexaRoom ist nur für den Custom Skill relevant.
Im Smart Home Skill gibt es Gruppen in der Alexa App...
(oder man kann mittlerweilen so einiges mit Routinen machen)

Siehe auch hier: https://forum.fhem.de/index.php/topic,60452.msg862849.html#msg862849

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)

Stonemuc

Zitat von: Tommy82 am 24 November 2018, 17:08:53
Ja das hört sich stark nach einem rechte Problem an, ich hab im Wiki was dazu ergänzt, schreib in deiner sudoers mal den User unter dem dein Alexa Prozess läuft mit dem NOPASSWD Attribut als letzten Eintrag in die sudoers, dann sollte es gehen

Ansonsten poste mal deine sudoers

Gesendet von iPhone mit Tapatalk

Bei mir sieht es so aus:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root ALL=(ALL:ALL) ALL
pi ALL=(ALL:ALL) ALL
fhem ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Tommy82

Sollte bei dir der User für Alexa der User fhem sein, dann fehlt das NOPASSWD attribut, sollte so ähnlich aussehen
fhem    ALL = NOPASSWD: ALL

Damit braucht der User fhem niergens ein Passwort zum ausführen von sudo einzugeben, man kann das auch noch auf einzelne System bereiche eingrenzen.

Es könnte aber sein das es dann immer noch nicht geht, dann sollte es helfen diese Zeile ganz am Ende der sudoers einzufügren, dann gehts!
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

MadMax-FHEM

Trotzdem noch mal der Hinweis: der Befehl den Service zu starten/stoppen wird von fhem aus ausgeführt, daher muss dafür (also User fhem) der Eintrag erfolgen.

Welcher User dann über Service-Mittel (die von fhem genutzt werden) gestartet wird muss dann dort richtig eingestellt sein...

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)

Stonemuc

Ich kapier gerade nix...FHEM läuft bei mir unter User fhem. FHEM-Alexa läuft bei mir allerdings unter dem User pi. Was trage ich da jetzt genau in der sudoers Datei ein?
Muss ich einfach als letzte Zeile

NOPASSWD:ALL

hinzufügen?
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

MadMax-FHEM

#2497
Noch mal in noch ausführlicher:

vorausgesetzt alexa-fhem wird bzw. kann durch den Service alexa gestartet, dann ist dort alles richtig konfiguriert.

Der User der alexa-fhem startet (also im Dienstscript hinterlegt ist) braucht kein sudo, zumindest sollte er nicht also NICHT wegen alexa-fhem.
Sonst ist dort etwas falsch konfiguriert.

Wenn das, also alexa-fhem per Service-Befehl starten nicht geht, dann erst mal das zum Laufen bringen...


Ein "Kontrollieren" des alexa Service (start, stop, restart, status) in fhem durch das Modul Serviced braucht aber sudo...
Ergo braucht der User fhem zumindest dafür sudo ohne Passwort weil ja keiner beim Knöpfchen Drücken ein Passwort eingeben kann...


Es sollte aber alexa-fhem automatisch bei Sysremstart gestartet werden.

Das "Kontrollieren" aus fhem heraus ist nur "einfach" da bei Änderungen in fhem manchmal einen Neustart von alexa-fhem benötigen.

Dann kann man entweder auf die Linux Console und dort per sudo service alexa restart einen Neustart durchführen oder eben in fhem das "Knöpfchen" drücken... ;)

Wichtig für das Serviced Modul ist noch, ob initd oder systemd verwendet wird/eingerichtet wurde, um alexa-fhem zu starten...

Deutlicher kann ich nicht mehr erläutern...

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)

Tommy82

Um der Ursache genauer auf den Grund zu gehen, log dich mal per ssh auf deinem Fhem Rechner mit dem User fhem ein und frag dort mal per
sudo systemctl status alexa
Den Status ab, wenn dann die Passwort Abfrage kommt stimmt etwas in der sudoers nicht, sofern der User fhem der fhem User ist


Gesendet von iPhone mit Tapatalk
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

MadMax-FHEM

Zitat von: Tommy82 am 25 November 2018, 16:05:06
Um der Ursache genauer auf den Grund zu gehen, log dich mal per ssh auf deinem Fhem Rechner mit dem User fhem ein und frag dort mal per
sudo systemctl status alexa
Den Status ab, wenn dann die Passwort Abfrage kommt stimmt etwas in der sudoers nicht, sofern der User fhem der fhem User ist


Gesendet von iPhone mit Tapatalk

Genau, so liesse sich das prüfen...

Problem könnte sein, dass fhem ein User (zumindest bei Standardinstallation) ohne Login-Shell ist, ein Einloggen also (erst mal) nicht möglich ist...

Daher hab ich das erst mal auch nicht als Prüfungsmethode genannt... ;)

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)

Stonemuc

Der alexa serrvice läuft bei mir doch komplett ohne Probleme, auch im Autostart über systemd.
Nur bekomme ich über das serviced Modul den Fehler.

Das einloggen über ssh mit user fhem versuch ich morgen mal, bin aktuell in der Arbeit...aber dürfte das ganze alexa-fhem dann nicht laufen, wenn ich da ein Problem hätte?
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

MadMax-FHEM

#2501
Zitat von: Stonemuc am 25 November 2018, 19:50:43
Der alexa serrvice läuft bei mir doch komplett ohne Probleme, auch im Autostart über systemd.
Nur bekomme ich über das serviced Modul den Fehler.

Das einloggen über ssh mit user fhem versuch ich morgen mal, bin aktuell in der Arbeit...aber dürfte das ganze alexa-fhem dann nicht laufen, wenn ich da ein Problem hätte?

BITTE AUSEINANDERHALTEN:

alexa-fhem und alexa Service ist das eine und sind Betriebssystem Dinge (alexa-fhem ist ein "Programm" das per alexa-Service "kontrolliert" wird)
Dort gibt es User-Einstellungen NUR dafür und die passen ja offenbar, sonst würde das nicht laufen...
Zum Steuern per Service, also "service alexa start|stop|restart|status" geht nur per sudo (außer "man" ist schon root / NICHT zu empfehlen!)



Systemd-Modul in fhem steuert eben genau diesen alexa-Service mittels "Knöpfen" aus fhem heraus (weil der Service / alexa-fhem neu gestartet werden muss, wenn was alexa-fhem-Betreffendes [in fhem] geändert wird: neues Gerät "für" Alexa, Name geändert, ...).
Dazu braucht auch das Modul eben sudo!! Da aber niemand ein Passwort eingeben kann und fhem (meist) unter dem User fhem läuft (also auch das Modul) braucht eben der User fhem (oder welcher auch immer der "fhem-User" ist) sudo OHNE Passwort!
Sonst kann das Modul eben den alexa-Service (und somit alexa-fhem) NICHT "steuern"...


Anders, noch simpler kann (und will/werde) ich es nicht mehr erläutern!


EDIT: das Serviced-Modul für Alexa ist KEIN Muss. Es ist nur bequemer, da man eben nicht auf die Linux-Console muss um den alexa-Service/alexa-fhem neu zu starten (z.B. per sudo service alexa restart / sudo systemctl alexa restart).


EDIT2: Anmerkung: was NICHT mehr geht, wenn man (alexa-fhem) mittels systemd startet (seit Stretch bzw. Jessie Standard-Startmethode) ist das "Steuern" aus fhem heraus mittels DUMMY/DOIF wie im Wiki beschrieben! Das geht nur zusammen mit dem "initd-Script" (/etc/initd/alexa)...

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)

MadMax-FHEM

Zitat von: Stonemuc am 25 November 2018, 19:50:43
Das einloggen über ssh mit user fhem versuch ich morgen mal, bin aktuell in der Arbeit...aber dürfte das ganze alexa-fhem dann nicht laufen, wenn ich da ein Problem hätte?

Bei fhem, Standardinstallation wird das NICHT gehen!
(ohne was zu tun)

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)

sven.scherf

Hallo,

ich habe es nun auch geschafft und kann über IPv4 meinen Raspi auf Port 3000 erreichen.
Der alexa Service habe zum Testen mit dem User Pi manuell gestartet sodass ich hier Anfragen sehen kann.

Wenn ich nun über einen Browser(Handynetz) meinen Pi auf Port 3000 über feste-ip.net anspreche sehe ich die Ausgabe SyntaxError. Dies ist ja so OK da ich ihm kenen json übergebe.

Wenn ich nun über Alexa WebSite meine Geräte suche klappt dies nicht, auf der Pi Console sehe ich auch keine Anfrage.
Meinen Alexa Skill ist aktiviert dies habe ich gerade nochmal gecheckt.

Mein Skill wird in Alexa unter Entwickerskill geführt ist dies so OK ?

Beim Lambda Service habe ich die IP Adresse vom dem Portmapper bei fest-ip.net und deren Port eingetragen der mir dort zugeteilt wird.
Bei diesem Service fällt mir auf, dass der Test nicht funktioniert.
Dieser schlägt fehl mit
{
  "errorMessage": "RequestId: ffa59b4f-f19e-11e8-b49f-0bb9ea30e80a Process exited before completing request"
}


START RequestId: ffa59b4f-f19e-11e8-b49f-0bb9ea30e80a Version: $LATEST
2018-11-26T17:16:23.137Z ffa59b4f-f19e-11e8-b49f-0bb9ea30e80a EVENT: [object Object]
2018-11-26T17:16:23.138Z ffa59b4f-f19e-11e8-b49f-0bb9ea30e80a CONTEXT: [object Object]
2018-11-26T17:16:23.811Z ffa59b4f-f19e-11e8-b49f-0bb9ea30e80a problem with request: getaddrinfo ENOTFOUND fhem-sven-home.feste-ip.net fhem-sven-home.feste-ip.net:42783
2018-11-26T17:16:23.812Z ffa59b4f-f19e-11e8-b49f-0bb9ea30e80a ReferenceError: createError is not defined
    at ClientRequest.request.on (/var/task/index.js:42:5)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at TLSSocket.socketErrorListener (_http_client.js:387:9)
    at emitOne (events.js:116:13)
    at TLSSocket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:64:8)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickDomainCallback (internal/process/next_tick.js:218:9)
END RequestId: ffa59b4f-f19e-11e8-b49f-0bb9ea30e80a
REPORT RequestId: ffa59b4f-f19e-11e8-b49f-0bb9ea30e80a Duration: 735.38 ms Billed Duration: 800 ms Memory Size: 128 MB Max Memory Used: 20 MB
RequestId: ffa59b4f-f19e-11e8-b49f-0bb9ea30e80a Process exited before completing request



Wo kann ich hier ansetzen ?

Viele Grüße

Sven
Raspi 3 mit CUL Stick 433/868MHZ, Homematic

MadMax-FHEM

Wie und mit welchen "Daten" greifst du per Handy zu!?

Mit den selben Angaben (Name/IP und Port) wie bei AWS Lambda eingetragen!?

Und wirklich AUSSERHALB des eigenen (WLAN) Netzes!?

Das mit dem Error ist wohl (wie du erkannt hast vermutlich) ok.

Auch beim Test über AWS-Lambda kommt in der Console ein Fehler (gleicher Grund)...
...aber in AWS-Lambda sollte nat. "OK" kommen...

Evtl. mal ins Cloud Watch Log schauen...
...mehr kann ich auch nicht sagen.

Die Anfrage aus AWS-Lambda muss halt ankommen (können) sonst wird das nat. nicht gehen (können).

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)