Sehr schön, so soll es sein. Gerne geschehen. ¯\_(ツ)_/¯
Alexa.sh v5.11 (stable) - Sprachausgabe und Fernsteuerung für Amazon Echo
Moderator: Co-Administratoren
- blackhole
- Beiträge: 3730
- Registriert: 21.07.2015, 14:03
- System: CCU
- Hat sich bedankt: 184 Mal
- Danksagung erhalten: 587 Mal
Re: Alexa.sh v3.08 - Sprachausgabe und Fernsteuerung für Amazon Echo
Sehr schön, so soll es sein. Gerne geschehen. ¯\_(ツ)_/¯
- blackhole
- Beiträge: 3730
- Registriert: 21.07.2015, 14:03
- System: CCU
- Hat sich bedankt: 184 Mal
- Danksagung erhalten: 587 Mal
Re: Alexa.sh v3.08 - Sprachausgabe und Fernsteuerung für Amazon Echo
blackhole hat geschrieben: ↑09.07.2020, 09:59Ich habe diese neue Option eben in das bereits vorhandene Skript get_lastalexa.sh integriert, so dass die Ausgabe nun nicht mehr nur beispielsweise "Echo Wohnzimmer" lautet, sondern eben beispielsweise "Echo Wohnzimmer: Fenseher einschalten". D.h. "lastalexa" wird mit "lastcommand" kombiniert, entsprechend aufbereitet und in der zugehörigen SysVar ausgegeben.
Das wurde zwischenzeitlich getestet und für gut befunden. Die Erweiterung von get_lastalexa.sh wird somit Bestandteil der nächsten Version werden.
-
- Beiträge: 72
- Registriert: 22.06.2020, 17:41
- System: CCU
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 2 Mal
Re: Alexa.sh v3.08 - Sprachausgabe und Fernsteuerung für Amazon Echo
Hallo Zusammen!
Ich bin noch in der Orientierungsphase.
Was mir auffällt ist folgendes:
Aufrufe der bash-Dateien funktionieren bei mir (RM) nicht.
z.B.
[qoute]
# Check (or get) cookie file
. alexa.sh -a > /dev/null
[/qoute]
geht nicht. Aber
[qoute]
# Check (or get) cookie file
./alexa.sh -a > /dev/null
[/qoute]
geht.
Nach der Anpassung bekomme ich endlich auch die Ausgabe in der console (Terminal), die hier im Forum beschrieben sind.
Leider wird kein Cookie angelegt. Auch bekomme ich "/usr/bin/oathtool: not found als Fehlermeldung.
Frage: Muss ich da noch was installieren?
Auch frage ich mich, die ich die Codes für SET_MFA_SECRET bekommen kann?
In meinem Amazonkonto bekomme ich nur eine 6-stellige Zahl.
Wo habe ich einen Denkfehler?
Gruß
hm4jojo
Ich bin noch in der Orientierungsphase.
Was mir auffällt ist folgendes:
Aufrufe der bash-Dateien funktionieren bei mir (RM) nicht.
z.B.
[qoute]
# Check (or get) cookie file
. alexa.sh -a > /dev/null
[/qoute]
geht nicht. Aber
[qoute]
# Check (or get) cookie file
./alexa.sh -a > /dev/null
[/qoute]
geht.
Nach der Anpassung bekomme ich endlich auch die Ausgabe in der console (Terminal), die hier im Forum beschrieben sind.
Leider wird kein Cookie angelegt. Auch bekomme ich "/usr/bin/oathtool: not found als Fehlermeldung.
Frage: Muss ich da noch was installieren?
Auch frage ich mich, die ich die Codes für SET_MFA_SECRET bekommen kann?
In meinem Amazonkonto bekomme ich nur eine 6-stellige Zahl.
Wo habe ich einen Denkfehler?
Gruß
hm4jojo
-
- Beiträge: 167
- Registriert: 13.10.2018, 20:02
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 19 Mal
Re: Alexa.sh v3.08 - Sprachausgabe und Fernsteuerung für Amazon Echo
Der Erhalt des MFA Secret wird auf der Seite von "Hersteller" https://blog.loetzimmer.de/2017/10/amaz ... -echo.html ab Eintrag Update 2019-07-08 gut beschrieben...
Gruß Marco
- blackhole
- Beiträge: 3730
- Registriert: 21.07.2015, 14:03
- System: CCU
- Hat sich bedankt: 184 Mal
- Danksagung erhalten: 587 Mal
Re: Alexa.sh v3.08 - Sprachausgabe und Fernsteuerung für Amazon Echo
Das ist keine große Überraschung nach deiner fehlerhaften Manipulation. Lass bitte einfach die Finger vom Code, der passt schon.
Halte dich -anders als bisher- wirklich genau an die Installationsanleitung, dann wird auch alles gut.
Das haben schon viele User vor dir geschafft und du bekommst das sicherlich auch hin.
In der PN mit Alexa.sh-Paket und Installationsanleitung steht auch drin, was zu tun ist, falls etwas nicht funktioniert.
Mache also deine Änderungen rückgängig und schicke mir einfach die gefragten Ausgaben per PN.
Der Fehler in deiner Installation ist dann ganz schnell gefunden.
-
- Beiträge: 48
- Registriert: 07.01.2017, 19:19
- Hat sich bedankt: 16 Mal
- Danksagung erhalten: 2 Mal
Re: Alexa.sh v3.08 - Sprachausgabe und Fernsteuerung für Amazon Echo
Hallo,
ich benutze den Parameter -lastalexa um herauszufinden welche Licht Gerwerke an bzw. ausgeschaltet werden.
Über die Echo Namen weiß ich, in welchem Zimmer Lampen geschaltet werden müssen.
Ich habe zwei ALexa Routinen, "Schalte das Licht an bzw. aus".
Dadurch wird eine Variable ALexa_Licht auf true/false gesetzt.
Danach wird ein Skript ausgelöst, welches via Lastalexa den angesprochenen Echo identifiziert und dann alle Lichter im jeweiligen Gewerk ausschaltet.
Bisher habe ich den Rückgabewert direkt in einer Variable gespeichert und dann via Skript alle zugehörigen Aktoren ausgeschaltet.
Zur Ermittlung habe ich dies verwendet:
Nun habe ich auf umgestellt und anschließend die Sysvar ausgelesen.
Problem ist nun, dass die Sysvar nicht rechtzeitig aktualisiert wurde und immer der letzte Wert ausgelesen wird. So steht man in der Küche und das Lich im Wohnzimmer geht aus, da "get_lastalexa.sh" dort zuletzt aufgerufen wurde
Der obige Aufruf über die alexa.sh funktioniert leider nicht, ich muss immer direkt auf die alexa_remote_control.sh gehen.
Gibt es eine Möglichkeit das mit der Alexa.sh zu machen?
Grüße und Danke vorab!
ich benutze den Parameter -lastalexa um herauszufinden welche Licht Gerwerke an bzw. ausgeschaltet werden.
Über die Echo Namen weiß ich, in welchem Zimmer Lampen geschaltet werden müssen.
Ich habe zwei ALexa Routinen, "Schalte das Licht an bzw. aus".
Dadurch wird eine Variable ALexa_Licht auf true/false gesetzt.
Danach wird ein Skript ausgelöst, welches via Lastalexa den angesprochenen Echo identifiziert und dann alle Lichter im jeweiligen Gewerk ausschaltet.
Bisher habe ich den Rückgabewert direkt in einer Variable gespeichert und dann via Skript alle zugehörigen Aktoren ausgeschaltet.
Zur Ermittlung habe ich dies verwendet:
Code: Alles auswählen
var Alexa = "sh /usr/local/addons/alexa/alexa_remote_control.sh -lastalexa &";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(Alexa);
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var Ausgabe = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State().ToLatin();
Ausgabe = Ausgabe.Trim();
Code: Alles auswählen
! system.Exec("/usr/local/addons/alexa/get_lastalexa.sh &");
Problem ist nun, dass die Sysvar nicht rechtzeitig aktualisiert wurde und immer der letzte Wert ausgelesen wird. So steht man in der Küche und das Lich im Wohnzimmer geht aus, da "get_lastalexa.sh" dort zuletzt aufgerufen wurde
Der obige Aufruf über die alexa.sh funktioniert leider nicht, ich muss immer direkt auf die alexa_remote_control.sh gehen.
Gibt es eine Möglichkeit das mit der Alexa.sh zu machen?
Grüße und Danke vorab!
- blackhole
- Beiträge: 3730
- Registriert: 21.07.2015, 14:03
- System: CCU
- Hat sich bedankt: 184 Mal
- Danksagung erhalten: 587 Mal
Re: Alexa.sh v3.08 - Sprachausgabe und Fernsteuerung für Amazon Echo
Timichino hat geschrieben: ↑14.07.2020, 22:37Code: Alles auswählen
! system.Exec("/usr/local/addons/alexa/get_lastalexa.sh &");
Ich gehe davon aus, dass du bei deinen Tests das führende Ausrufezeichen entfernt hast.
Ich gehe auch davon aus, dass du insbesondere den ersten Abschnitt der Anleitung ("alexa.sh, jq und oathtool") verstanden und umgesetzt hast.
Ansonsten sind in den beteiligten Skripten (get_lastalexa.sh und alexa.sh) keine künstlichen/zusätzlichen Verzögerungen eingebaut (v3.08).
Wir empfindlich/zeitkritisch dein Konstrukt in der Praxis ist kann ich allerdings nicht einzuschätzen.
Um dich schrittweise zu nähern, kannst du in deinem bisherigen HM-Script einfach einmal ...
Code: Alles auswählen
(...) /usr/local/addons/alexa/alexa_remote_control.sh -lastalexa (...)
Code: Alles auswählen
(...) /usr/local/addons/alexa/alexa.sh -lastalexa (...)
Zu dem führenden "sh" vor einem Shell-Skript-Aufruf hatte ich hier ja schon mal was geschrieben. Das verursacht Herzbluten.
Schick mir auch mal die in der Installationsanleitung gefragten Ausgaben per PN.
-
- Beiträge: 125
- Registriert: 07.09.2016, 08:44
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 1 Mal
Re: Alexa.sh v3.08 - Sprachausgabe und Fernsteuerung für Amazon Echo
Servus Blackhole,blackhole hat geschrieben: ↑14.07.2020, 15:24blackhole hat geschrieben: ↑09.07.2020, 09:59Ich habe diese neue Option eben in das bereits vorhandene Skript get_lastalexa.sh integriert, so dass die Ausgabe nun nicht mehr nur beispielsweise "Echo Wohnzimmer" lautet, sondern eben beispielsweise "Echo Wohnzimmer: Fenseher einschalten". D.h. "lastalexa" wird mit "lastcommand" kombiniert, entsprechend aufbereitet und in der zugehörigen SysVar ausgegeben.
Das wurde zwischenzeitlich getestet und für gut befunden. Die Erweiterung von get_lastalexa.sh wird somit Bestandteil der nächsten Version werden.
kannst du da ggf. zwei Systemvariablen draus machen? Ich verwende aktuell die Rückgabe von lastalexa direkt in einem Skript um auf den angesprochenen Echo zu antworten.
Das wäre dann nicht mehr so einfach möglich. Alternativ kann ich natürlich deine vorherige Version weiter nutzen, finde aber die Möglichkeit den letzten Befehl einzusehen nicht schlecht.
Mit der bisherigen lastalexa-Rückgabe konnte ich es wunderbar umsetzen, auf meine Fragen direkt die Antwort auf dem angesprochenen Gerät zu bekomme. Super!
Gruß
Sweatchuck
- blackhole
- Beiträge: 3730
- Registriert: 21.07.2015, 14:03
- System: CCU
- Hat sich bedankt: 184 Mal
- Danksagung erhalten: 587 Mal
Re: Alexa.sh v3.08 - Sprachausgabe und Fernsteuerung für Amazon Echo
Sweatchuck hat geschrieben: ↑15.07.2020, 08:24Das wäre dann nicht mehr so einfach möglich ...
Mit der bisherigen lastalexa-Rückgabe konnte ich es wunderbar umsetzen, auf meine Fragen direkt die Antwort auf dem angesprochenen Gerät zu bekomme. Super!
Das ist verständlich.
Sweatchuck hat geschrieben: ↑15.07.2020, 08:24kannst du da ggf. zwei Systemvariablen draus machen? Ich verwende aktuell die Rückgabe von lastalexa direkt in einem Skript um auf den angesprochenen Echo zu antworten.
Ja klar, mache ich.
Für v3.09 sehe ich dann diesbezüglich 3 Skripte vor (get_lastalexa.sh, get_lastcommand.sh und get_lastalexacmd.sh).
Letzteres wird dann die Kombination aus beiden vorgenannten Skripten sein und kann wahlweise verwendet werden.
Das Skript get_lastalexa.sh liefert somit dann auch in der nächsten Paketversion den gleichen Output wie bisher.
-
- Beiträge: 72
- Registriert: 22.06.2020, 17:41
- System: CCU
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 2 Mal
Re: Alexa.sh v3.08 - Sprachausgabe und Fernsteuerung für Amazon Echo
Nach Hinweis vom mskrause und Neuaufsetzen der Skripte aus Alexa.sh v3.08, läuft das ganze jetzt ohne Fehlermeldung bzw. mit Ausgabe.Das ist keine große Überraschung nach deiner fehlerhaften Manipulation. Lass bitte einfach die Finger vom Code, der passt schon.
Halte dich -anders als bisher- wirklich genau an die Installationsanleitung, dann wird auch alles gut.
Das haben schon viele User vor dir geschafft und du bekommst das sicherlich auch hin.
Z.B.
Code: Alles auswählen
root@homematic-raspi:/usr/local/addons/alexa# ./check_cookie.sh
Cookie is good - nothing to do.
15.07.2020 09:49 Uhr
Same content - nothing to do.
root@homematic-raspi:/usr/local/addons/alexa#
mit crontab -e habe ich die Zeile eingefügt. Mit crontab -l sehe ich die neue Zeile. Nach "/etc/init.d/S98crond restart"" veliere ich die neue Zeile.
Code: Alles auswählen
root@homematic-raspi:/usr/local/addons/alexa# crontab -l
0 * * * * /bin/setHWClock.sh >/dev/null 2>/dev/null
1 */6 * * * /bin/SetInterfaceClock
0 4 * * * /usr/sbin/logrotate /etc/logrotate.conf || logger -p error -t "logrotate" "logrotate aborted with error $?"
*/1 * * * * /bin/updateDCVars.tcl >/dev/null 2>/dev/null
7 0 * * * /bin/nice /bin/cronBackup.sh >/dev/null 2>/dev/null
0 3 * * 0 [ ! -e /etc/config/NoFSTRIM ] && /bin/nice /sbin/fstrim --all --quiet >/dev/null 2>/dev/null
0 2 * * * [ ! -e /etc/config/NoBadBlocksCheck ] && /bin/nice /bin/checkBadBlocks.sh >/dev/null 2>/dev/null
*/10 * * * * [ -d /media/usb0/measurement ] && /bin/nice /usr/bin/rsync -aogX --delete-after --no-whole-file --checksum /tmp/measurement/ /media/usb0/measurement/ >/dev/null 2>/dev/null
*/5 * * * * /usr/local/addons/mediola/bin/watchdog
root@homematic-raspi:/usr/local/addons/alexa# crontab -e
root@homematic-raspi:/usr/local/addons/alexa# crontab -l
0 * * * * /bin/setHWClock.sh >/dev/null 2>/dev/null
1 */6 * * * /bin/SetInterfaceClock
0 4 * * * /usr/sbin/logrotate /etc/logrotate.conf || logger -p error -t "logrotate" "logrotate aborted with error $?"
*/1 * * * * /bin/updateDCVars.tcl >/dev/null 2>/dev/null
7 0 * * * /bin/nice /bin/cronBackup.sh >/dev/null 2>/dev/null
0 3 * * 0 [ ! -e /etc/config/NoFSTRIM ] && /bin/nice /sbin/fstrim --all --quiet >/dev/null 2>/dev/null
0 2 * * * [ ! -e /etc/config/NoBadBlocksCheck ] && /bin/nice /bin/checkBadBlocks.sh >/dev/null 2>/dev/null
*/10 * * * * [ -d /media/usb0/measurement ] && /bin/nice /usr/bin/rsync -aogX --delete-after --no-whole-file --checksum /tmp/measurement/ /media/usb0/measurement/ >/dev/null 2>/dev/null
*/5 * * * * /usr/local/addons/mediola/bin/watchdog
33 * * * * /usr/local/addons/alexa/check_cookie.sh > /dev/null
root@homematic-raspi:/usr/local/addons/alexa# /etc/init.d/S98crond restart
Stopping crond: OK
Starting crond: OK
root@homematic-raspi:/usr/local/addons/alexa# crontab -l
0 * * * * /bin/setHWClock.sh >/dev/null 2>/dev/null
1 */6 * * * /bin/SetInterfaceClock
0 4 * * * /usr/sbin/logrotate /etc/logrotate.conf || logger -p error -t "logrotate" "logrotate aborted with error $?"
*/1 * * * * /bin/updateDCVars.tcl >/dev/null 2>/dev/null
7 0 * * * /bin/nice /bin/cronBackup.sh >/dev/null 2>/dev/null
0 3 * * 0 [ ! -e /etc/config/NoFSTRIM ] && /bin/nice /sbin/fstrim --all --quiet >/dev/null 2>/dev/null
0 2 * * * [ ! -e /etc/config/NoBadBlocksCheck ] && /bin/nice /bin/checkBadBlocks.sh >/dev/null 2>/dev/null
*/10 * * * * [ -d /media/usb0/measurement ] && /bin/nice /usr/bin/rsync -aogX --delete-after --no-whole-file --checksum /tmp/measurement/ /media/usb0/measurement/ >/dev/null 2>/dev/null
*/5 * * * * /usr/local/addons/mediola/bin/watchdog
root@homematic-raspi:/usr/local/addons/alexa#
hm4jojo