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

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

Vorheriges Thema - Nächstes Thema

Wolle02

Hallo Bluestormx und MadMax-FHEM,

Zitatmir ist aufgefallen, dass Alexa jetzt mehrfach anwortet: "**Gerät** reagiert gerade nicht". An meinen Raspberry habe ich eine Fernbedieung von Funksteckdosen angeschlossen, die ich mit Alexa schalten kann. Zurzeit nur mein Aquariumlicht und meinen Fernseher. Folgendes Szenario als Beispiel:

Anfrage: "Alex, schalte Aquariumlicht EIN." Anwort: "Aquariumlicht reagiert leider nicht."
Anfrage: "Alex, schalte Aquariumlicht AUS." Anwort: "OK"
Anfrage: "Alex, schalte Aquariumlicht EIN." Anwort: "OK"

Das Szenario gestaltet sich folgt, wenn ich anderes anfange:

Anfrage: "Alex, schalte Aquariumlicht AUS." Anwort: "OK"
Anfrage: "Alex, schalte Aquariumlicht EIN." Anwort: "OK"

Gibt es eine Möglichkeit den Fehler einzugrenzen ?

Ich hatte diese Probleme auch, obwohl der Schaltvorgang trotz "...reagiert gerade nicht" trotzdem durchgeführt wurde. MadMax-FHEM hat bestimmt Recht mit der Vermutung, dass die Anfrage irgendwo in einen Timeout läuft.

Ich habe bei mir in der AWS Lambda Funktion unter Basic Settings deshalb das Timeout von 3 auf 5 sec erhörht. Seit dem ist das Problem bei mir weg.

MadMax-FHEM

Timeout hatte ich auch schon mal höher aber da dauert es nur länger und es kommt (bei mir) trotzdem die Antwort: reagiert gerade nicht...

Allerdings werde ich da erst wieder aktiv, wenn ich das mit dem Internet(Provider) gelöst hab, erst dann weiß ich, dass es daran (hoffentlich/sehr wahrscheinlich) nicht liegt.

Gruß und danke, 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)

bluestormx

Zitat von: Wolle02 am 03 November 2017, 14:18:39
Hallo Bluestormx und MadMax-FHEM,

Ich hatte diese Probleme auch, obwohl der Schaltvorgang trotz "...reagiert gerade nicht" trotzdem durchgeführt wurde. MadMax-FHEM hat bestimmt Recht mit der Vermutung, dass die Anfrage irgendwo in einen Timeout läuft.

Ich habe bei mir in der AWS Lambda Funktion unter Basic Settings deshalb das Timeout von 3 auf 5 sec erhörht. Seit dem ist das Problem bei mir weg.

Beide Szenarien haben sich nach dem Aufstehen morgens früh abgespielt. Also wurde mehrere Stunden keine Abfrage mehr druchgeführt. An ein Timeout hatte ich auch gedacht, aber merkwürdigerweise klappt es, wenn ich den aktuellen Zustand nochmal anfrage. Also obwohl ich weiß, dass das Licht aus ist -> "Alex, schalte bitte das Aquariumlicht aus" Antwort: "Ok."


juemuc

#3273
Hallo zusammen,

ich versuche über den smart home skill den Status des HM Tür-/Fensterkontaktes über Alexa abzufragen. Leider bekomme ich das Gerät in Alexa nicht angezeigt. Das Gerät ist wie die anderen auch im ALEXA-Room. Als genericDeviceType habe ich contact eingetragen.

Die AVM-DECT Heizungsthermostate funktionieren bestens. Wer hat einen Tipp? Ich nutze die Version 0.3.5 

VG
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Amenophis86

Zitat von: bluestormx am 03 November 2017, 15:08:51
Beide Szenarien haben sich nach dem Aufstehen morgens früh abgespielt. Also wurde mehrere Stunden keine Abfrage mehr druchgeführt. An ein Timeout hatte ich auch gedacht, aber merkwürdigerweise klappt es, wenn ich den aktuellen Zustand nochmal anfrage. Also obwohl ich weiß, dass das Licht aus ist -> "Alex, schalte bitte das Aquariumlicht aus" Antwort: "Ok."

Es ist klar, dass es beim zweiten Mal klappt. Es muss beim zweiten Mal kein neuer Token erstellt werden und ist daher schneller, das spricht für ein Timeout Problem bei der ersten Abfrage. Setz das Timeout in der Lampda hoch.
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...

Koppl

Hallo,

bin gerade dabei Alexa zu installieren.
Wenn ich das Startupskript einfüge wie beschreiben und es Manuel starten möchte kommen folgende Fehler:

Zitatroot@raspberrypi:/home/pi# sudo /etc/init.d/alexa start
Alexa starting
Alexa is not running
Can't connect to localhost:7072
Can't connect to localhost:7072
script done
script done

Es ist auch das ganz FHEM nicht mehr erreichbar. Ich komme erst wieder in FHEM wenn ich das Skript komplett lösche.
Kann mir jemand bitte weiterhelfen?

Danke.

MadMax-FHEM

Du bist schon eingelogged als root somit ist sudo unnötig...
Nicht das Problem aber halt unnötig bzw. "arbeiten" als root unter Linux ist nie eine gute Idee...

Poste doch mal dein Startscript, sonst wird's mit Hilfe schwer...

Hast du denn einen Telnet-Port (7072) in fhem offen?

Du kannst auch erst mall alle Zeilen mit Zugriff auf 7072 im Startscript auskommentieren.
Die sind (vermutlich) "nur" dazu da um in fhem den Status von alexa-fhem anzuzeigen...

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)

Koppl

Zitat von: MadMax-FHEM am 05 November 2017, 13:03:37
Du bist schon eingelogged als root somit ist sudo unnötig...
Nicht das Problem aber halt unnötig bzw. "arbeiten" als root unter Linux ist nie eine gute Idee...

Poste doch mal dein Startscript, sonst wird's mit Hilfe schwer...

Hast du denn einen Telnet-Port (7072) in fhem offen?

Du kannst auch erst mall alle Zeilen mit Zugriff auf 7072 im Startscript auskommentieren.
Die sind (vermutlich) "nur" dazu da um in fhem den Status von alexa-fhem anzuzeigen...

Gruß, Joachim

Hier das Skript:
#!/bin/sh
### BEGIN INIT INFO
# Provides: alexa
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time for alexa
# Description: Enable service provided by daemon.
### END INIT INFO
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
PID=`pidof alexa`
export ALEXAPATH="/opt/fhem/alexa-fhem"
export LOGPATH="/opt/fhem/log"
case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
        echo "Alexa is already running"
        perl /opt/fhem/fhem.pl 7072 "setreading Alexa.Status info Alexa is already running"
        perl /opt/fhem/fhem.pl 7072 "set Alexa.Status on"
        perl /opt/fhem/fhem.pl 7072 "set Alexa off"
else
        su - "pi" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &"
        echo "Alexa starting"
        sleep 2
$0 status
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
        echo "Alexa is not running"
        perl /opt/fhem/fhem.pl 7072 "setreading Alexa.Status info Alexa is not running"
        perl /opt/fhem/fhem.pl 7072 "set Alexa.Status off"
        perl /opt/fhem/fhem.pl 7072 "set Alexa off"
else
        kill $PID
        echo "Alexa closed"
        perl /opt/fhem/fhem.pl 7072 "setreading Alexa.Status info Alexa closed"
        perl /opt/fhem/fhem.pl 7072 "set Alexa.Status off"
        perl /opt/fhem/fhem.pl 7072 "set Alexa off"
fi
;;
restart)
if ! ps -p $PID > /dev/null 2>&1; then
        $0 start
else
        $0 stop
        $0 start
fi
;;
status)
if ps -p $PID > /dev/null 2>&1; then
        echo "Alexa is running PID $PID"
        perl /opt/fhem/fhem.pl 7072 "setreading Alexa.Status info Alexa running as PID $PID"
        perl /opt/fhem/fhem.pl 7072 "set Alexa.Status on"
        perl /opt/fhem/fhem.pl 7072 "set Alexa off"
else
        echo "Alexa is not running"
        perl /opt/fhem/fhem.pl 7072 "setreading Alexa.Status info Alexa is not running"
        perl /opt/fhem/fhem.pl 7072 "set Alexa.Status off"
        perl /opt/fhem/fhem.pl 7072 "set Alexa off"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
echo "script done"
exit 0


Telnet-Port 7072 ist offen

MadMax-FHEM

#3278
Trotzdem schon mal die Zeilen auskommentiert und probiert?

Was passiert, wenn du eines der Kommandos aus dem Script direkt auf der Console eingibst?

Immer noch als root unterwegs?
Wenn ja: warum?

EDIT: für Installationsprobleme etc. gibt es den "Problem-Thread". Ist im ersten Beitrag verlinkt (denke ich) vielleicht besser dort noch mal bzw. weiter machen...

EDIT2: was passiert, wenn du im Pfad '/opt/fhem/alexa-fhem' als User 'pi' './bin/alexa' eingibst? Vorher das Script mal deaktivieren oder (falls es doch laufen sollte) alexa-fhem beenden...

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)

juemuc

Zitat von: juemuc am 03 November 2017, 23:10:06
Hallo zusammen,

ich versuche über den smart home skill den Status des HM Tür-/Fensterkontaktes über Alexa abzufragen. Leider bekomme ich das Gerät in Alexa nicht angezeigt. Das Gerät ist wie die anderen auch im ALEXA-Room. Als genericDeviceType habe ich contact eingetragen.

Die AVM-DECT Heizungsthermostate funktionieren bestens. Wer hat einen Tipp? Ich nutze die Version 0.3.5 

VG
Jürgen

Hallo zusammen,

laut dieser Info
Zitatedit 2017-04-16:
- fix für fehlende echo id im event von amazon
- fit für batterie status, ausgabe von fenster und contact sensor status
sollte es doch funktionieren. Wer hat eine Idee?

Viele Grüße

Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

amenomade

@juemuc: zeig mal die alexa-fhem Log beim Start mit --debug (./bin/alexa --debug) - wenn alexa-fhem als Dienst installiert ist, zuerst den Dienst stoppen, vor dem manuellen Start.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

juemuc

Zitat von: amenomade am 05 November 2017, 17:57:34
@juemuc: zeig mal die alexa-fhem Log beim Start mit --debug (./bin/alexa --debug) - wenn alexa-fhem als Dienst installiert ist, zuerst den Dienst stoppen, vor dem manuellen Start.

@amenomade: Ich habe die Logdatei einmal angehängt. Hier ist der Türkontakt enthalten.
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

amenomade

Hmm a priori nicht schlecht. Was kommt dann in der alexa --debug Log, wenn Du in der App eine Suche startest?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

juemuc

Zitat von: amenomade am 05 November 2017, 19:08:36
Hmm a priori nicht schlecht. Was kommt dann in der alexa --debug Log, wenn Du in der App eine Suche startest?

Wie starte ich den den debug-Modus?
sudo systemctl start alexa --debug liefert die Meldung "systemctl: Unbekannte Option »--debug"
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

amenomade

Nein.
sudo systemctl stop alexa
cd /opt/fhem/alexa-fhem
./bin/alexa --debug


oder etwas in der Art. Du musst den Dienst stoppen, und alexa manuell starten.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus