Beiträge von sschuste
-
-
-
-
Ich hab hier einen dirty hack, mit dem man Alexa einen zufälligen Satz aus einer Liste von Sätzen schicken kann.
sudo nano /usr/local/bin/random_message.sh
Dann dort einfügen:
Bash#!/bin/bash messages=("eins" "zwei" "drei drei" "vier vier vier" "fünf" "ja sowas!") randomMax=$(echo ${#messages[@]}) randomVal=$((RANDOM % randomMax)) # echo "${messages[$randomVal]}" | tr '[:blank:]' _ echo "${messages[$randomVal]}"Abspeichern mit ctrl-x, y und der Returntaste.
Dann leichthändig und lässig pfeifend ein sudo chmod +x /usr/local/bin/random_message.sh drüberschicken.
Aufrufen mit:
alexa_remote_control.sh -d Wohnzimmer -e speak:$(/usr/local/bin/random_message.sh)
Die Anzahl der Sätze in $messages ist höher als fünf, aber bestimmt irgendwann und irgendwo begrenzt. Keine Ahnung. Und die RANDOM-Funktion der bash scheint mir auch nicht gerade die Superwucht zu sein. Egal, zum Herumspielen.
Ich hab das noch nicht in config.json eingebaut, aber ich schätze, da könnte es noch Probleme mit den Anführungszeichen geben. Hab jetzt leider keine Zeit mehr, das Problem zu lösen.In config.json wird das so eingefügt (hier am Beispiel mit homebridge-cmdtrigger) :
{
"accessory": "CmdTrigger",
"name": "Nicht vergessen",
"command": "/usr/local/bin/alexa_remote_control.sh -d ALL -e speak:\"$(/usr/local/bin/random_message.sh)\"",
"delay": "1000"
},Bitte beachten:
Im Beispiel wird alexa_remote_control.sh im Pfad /usr/local/bin aufgerufen. Sollte das bei dir woanders liegen, musst du das natürlich anpassen. Das gleiche gilt für random_message.sh. Achtet bitte auf den Backslash (\) vor den Anführungszeichen und dass er an der richtigen Stelle sitzt.
Wenn ihr mehrere Echos einsetzt und wollt, dass die Ausgabe nur von dem beantwortet wird, den ihr angesprochen habt, dann müsst ihr -d ALL ersetzten durch
-d $(/usr/local/bin/alexa_remote_control.sh -lastalexa)
Stefan
-
Ich würde diese Logik einfach in ein Shell-Script auslagern. Dass heißt, der cmdtrigger ruft ein Shell-Script auf, das aus einer Liste von Sätzen einen zufällig raussucht, und dieses Shell-Script ruft dann alexa_remote_control.sh auf und übergibt den Satz. Wollte ich mir eh bauen. Wenn ich es fertig habe, dann stell ich es hier irgendwo mal rein.
Stefan
-
Hast es mit diesem Befehl versucht?
sudo chown -R $USER /usr/local && npm install -g https://github.com/hallos/homebridge-cmdtrigger
Unter anderem auch mit diesem

Stefan
-
-
Was bedeutet hier „stateful“ : „true“?
Ich habe keinen blassen Schimmer, aber das Plugin sieht aus, als sei es für mich gedacht. Danke für den Schwung, den du meiner Nase verliehen hast, um mich darauf zu stoßen.
Möglicherweise bleibt der Schalter dann eingeschaltet, nachdem du ihn betätigt hast. Der Normalwert ist ja, dass er wieder ausgeht.
Stefan
-
Wenn ich nun nen Schalter in HomeKit erstellen will für eine Sprachausgabe, muss hier zwingen das script2-plugin verwendet werden? Ich blick da nicht so durch oder tuts da auch ein übersichtlicheres plugin?
Es müsste jedes Plugin funktionieren, dass Shell-Aufrufe machen kann. Die sind nur inzwischen alle viel zu aufgeblasen. Ich selbst nutze homebridge-cmd. Das kann nix und macht daher die Konfiguration einfach. Dort würde ich dann folgende Konfiguration erstellen:
Code"accessories": [ { "accessory": "CMD", "name": "Schlafen gehen", "on_cmd": "/usr/local/bin/alexa_remote_control.sh -d Wohnzimmer -e speak:'Es ist Zeit zum Schlafen gehen'", "off_cmd": "/bin/true" } ]Beim Einschalten würde alexa_remote_control.sh aufgerufen. Ich benutze dazu immer den ganzen Pfad zum Script (hier: /usr/local/bin/). An dieser Stelle können wir auch gleich zum Problem kommen: wenn man etwas einschaltet, dann isses an, nicht wahr? Das heißt, du musst das Script erst wieder ausschalten, bevor du es erneut aufrufen kannst. Dazu ist das off_cmd da, aber da es nix vernünftiges zum Ausschalten gibt, steht in meinem Beispiel einfach nur /bin/true. Dieses Kommando tut nichts außer unsichtbar zu verkünden, dass alles super funktioniert hat.
Wenn du also in Home-App deinen Switch einschaltest, dann quatscht Alexa los. Wenn du ihn wieder ausschaltest (denn von allein geht der nicht aus), dann passiert nix weiter. Klar, du könntest anstatt /bin/true auch eine andere Sprachausgabe verwenden wie zum Beispiel /usr/local/bin/alexa_remote_control.sh -d Wohnzimmer -e speak:'Es ist Zeit zum Aufstehen'.
Stefan
-
Es ist ganz
Könnte jemand nochmals ne Schritt-für-Schritt Anleitung für „dummys“ fixieren? Ich traue mir gerade selber nicht, was genau zu tun ist.
- Installiere jq: sudo apt-get install jq
- Dann: sudo nano /usr/local/bin/alexa_remote_control.sh. Ein leeres Editorfenster erscheint.
- Kopiere alles von dieser Seite: https://loetzimmer.de/patches/alexa_remote_control.sh in das leere Editorfenster.
- Suche die beiden Zeilen, die mit EMAIL='[email protected]' und PASSWORD='Very_Secret_Amazon_Account_Password' beginnen und setze zwischen die Hochkommas deine Amzon-Logindaten ein.
- Speichere die Datei /usr/local/bin/alexa_remote_control.sh ab, indem Du ctrl-x, dann y und dann die Returntaste drückst.
- Mache alexa_remote_control.sh ausführbar:sudo chmod +x /usr/local/bin/alexa_remote_control.sh
- Rufe alexa_remote_control.sh auf:alexa_remote_control.sh. Die Ersteinrichtung läuft.
Danach verfahre wie hier beschrieben: https://blog.loetzimmer.de/201…t-auf-die-shell-echo.html
Oder versuch mal das:
alexa_remote_control.sh -d ALL -e speak:'Guten Tag'
alexa_remote_control.sh -d Wohnzimmer-Dot -e weather
wobei du Wohnzimmer-Dot durch den Namen deines Alexa-Gerätes ersetzt.
Stefan
-
-
Alles anzeigen
Hallo zusammen
Weiss einer was der Unterschied ist zwischen dem threshold beim Anfang der config und dem beim jeweiligen Mobiltelefon?
"platform": "People",
"threshold": 15,
und
"people": [
{
"name": "xxxx",
"target": "192.168.1.x",
"threshold": 15,
"pingInterval": 10000,
"ignoreReEnterExitSeconds": 0
Da gibt's kein Unterschied. Du musst bei deinem Telefon xxxx keinen Threshold angeben, weil er ja bereits oben standardmäßig auf 15 Minuten gesetzt ist. Oben wird einfach der Normalfall gesetzt (neudeutsch: default-Wert). Nehmen wir an, du willst deine WG, die aus 204 Mitbewohnern besteht, mit dem People-plugin beglücken, und du willst, dass bei all denen der Threshold auf 15 Minuten eingestellt ist und bei dir auf 20 Minuten, dann setzt du den oberen Wert auf 15 und lässt ihn unten bei den 204 Mitbewohnern weg. Nur du bekommst 20, und das trägst du dann bei deinem xxxx-Telefon ein.
Stefan
-
Natürlich könnte man den Raspi auch zwingen, manches von dem Zeugs, das er so erzeugt, selber aufzuräumen. Ich verweise da mal auf logrotate, das die hübschen .gz-Dateien erzeugt, die in /var/log so herumgammeln.
Man kann logrotate so konfigurieren, dass es alte Logs erst komprimiert und dann nach einer Weile löscht. Ich hab's jetzt nicht probiert oder getestet, würde aber so verfahren:
Datei anlegen in /etc/logrotate.d
sudo nano /etc/logrotate.d/homebridge
Und dann im Editor eintippseln:
Das würde jede Woche die aktuelle Logdatei umbenennen in homebridge.log.1, dann komprimieren (weekly, compress: erzeugt homebridge.log.1.gz) und das insgesamt vier Mal (rotate 4), also vier Wochen lang. Ältere, schon komprimierte Logs werden automatisch gelöscht.
Man kann die Logs auch täglich oder monatlich rotieren, oder wenn sie eine bestimmte Größe erreicht haben, oder nach einer bestimmten Anzahl von Tagen, und man diese Anweisungen auch mischen. Es gibt da eine Menge Möglichkeiten. Ganz hilfreich finde ich dazu diese Seite: http://www.jamescoyle.net/chea…676-logrotate-cheat-sheet
Stefan
-
Onkyo Receiver [...] Hast du da noch einen Tipp für mich?
Leider nicht. Mein letzter Receiver war von Technics und der segnete 1989 das Zeitliche. Danke, dass du mich da drauf gehoben hast, mir fehlte nämlich noch ein Motto für die Sommerparty 2019. Aber jetzt nehm ich doch glatt "Dreißig Jahre kein Receiver", hihi.
Natürlich habe ich auch mal mit einem Onkyo Receiver geliebäugelt, aber meine Bank hat immer gesagt "wir brauchen keine so teuren Geräte", und so kann ich nur ein bisschen Linux, wahrscheinlich deshalb, weil's nix kostet

Stefan
-
Ok, du hast zwar die Zugriffsrechte für /usr/local geändert (sudo chown -R $USER /usr/local), aber darfst nicht nach /usr/lib/node_modules schreiben. Klar, ist ja auch der falsche Pfad, den du geändert hast. Wenn schon, sollte es sudo chown -R $USER /usr/lib/node_modules heißen.
Trotzdem würde ich nicht zu einem Ändern der Zugriffsrechte raten. Das ist eigentlich nur selten notwendig. Linux-Systeme sind deswegen oft sicherer als Windows-Systeme (oder waren es mal), weil man die Finger davon lässt. Bitte beachten: das soll kein Vorwurf an dich sein.
Aber ich würde empfehlen, es mal so zu versuchen:
sudo su -
npm install -g --unsafe-perm homebridge-onkyo
Klappt das besser?
Stefan
-
Auch kann ich keinen echten Komfort-Gewinn entdecken. Wenn ich sauber werden will, muss ich mich schon selbst unter die Dusche begeben und dann kann ich auch kurz den Hebel umlegen.
Naja, ich könnte auch ins Wohnzimmer gehen und den Lichtschalter drücken. Mach aber nicht mehr.
Stefan
-
Ich habe auch versucht die Befehle unsafe einzugeben, aber es kommt jedes Mal eine Error Meldung.
Leider wird mir das Bild der Fehlermeldung nicht angezeigt, das Forum zeigt mir nur eine weiße Seite an. Würde es große Mühe machen, den Text der Fehlermeldung hier einfach rein zu kopieren?
Stefan
-
Man muss sich in seinen eigenen vier Wänden eine Privatsphäre bzw. im Umkehrschluss einen Sperrbezirk schaffen?! Das Ding wäre bei mir rausgeflogen, wenn ich sowas festgestellt hätte.
So läuft's eben. Bei dir fliegt das Ding dann raus. Bei mir nicht. Ich hab mir den Alexa-Puck beschafft, obwohl ich ziemlich präzise weiß, was das Ding alles anstellen könnte. Meine Frage lautete vor dem Kauf: kann ich damit leben, dass ständig einer zuhört und möglicherweise meine Gespräche aufzeichnet und speichert?
Darüber hab ich eine Weile nachgedacht und bin dann drauf gekommen: ja, damit kann ich leben. Ist mir - erstaunlicherweise - sogar ausgesprochen wurst.
Es ist mir völlig bewusst, dass eine solche Antwort nicht für andere gelten kann. Das muss jeder selbst entscheiden. Und wenn sich jemand dagegen entscheidet, dann ist er noch lange kein Aluhutträger. Nur werde ich Alexa nicht abschalten, falls Besuch eintrifft, dem die Wohnzimmerwanze nicht passt. Hat noch keiner gewollt, aber ich schätze, dass derartige Konflikte noch auf mich zukommen.
Stefan
-
Ist das auch per cmd Switch möglich?
Ja.
-
Ja, aber das würde dann bei jedem manuellen Start der Homebridge ebenfalls passieren und du musst dann immer 2 Minuten warten. Ich habs gerade mal probiert mit
Damit pingst du eine Adresse an, die außerhalb deines Netzwerkes liegt und die garantiert immer funktioniert, weil: Googles DNS. Ist 8.8.8.8 erreichbar und dreimal anpingbar, dann startet homebridge. Wenn nicht, dann schlägt der Start von homebridge fehl, und zwar solange, bis 8.8.8.8 erreichbar ist.
Stefan