HC2 - Alexa "fernsteuern"

Kenne mich auch nicht besonders aus und habe es zum laufen bekommen :slight_smile:

Hier eine super Anleitung von Siio + Image für die HA-Bridge. Steht alles genau beschrieben drin.

https://www.siio.de/amazon-echo-alexa-steuert-fibaro-smart-home/

Das ist eine step by step Anleitung. Ist wirklich gut gemacht. Da kann nicht viel schiefgehen.
Bei mir läuft die Bridge nun seit Sommer problemlos. Und wie man immer so liest, ist die Bridge Lösung besser als der offizielle Skill.

MIB

Ja, mit der HA-Bridge läuft alles wesentlich schneller und sauberer als mit dem Fibaro-Skill… Und das schöne ist, mann kann dann in der Alexa Gruppen anlegen, die dann mehrere Geräte (z.B. Weihnachtsbeleuchtung, etc.) gleichzeitig ein und ausschalten… HC2+Alexa+Pi= tolle Spielerei ! :slight_smile:

Gruß

Matthias

Genau so Matthias :slight_smile:

Ich haue auch noch einen raus, wenn man Logitech Hub hat um TV, Ventilator usw. zu steuern ist die Bridge auch Gold wert. Aber Achtung, bei mir war es so, dass ich bei der Image Version von Siio da Probleme bekommen haben mit Conifg speichern. Müsste jetzt nachschauen welche Version bei mir mit dem ganzen Schick Schnack sauber läuft. Auf jeden Fall ein sehr mächtiges Tool und der arme Pi3 sollte nicht im Schrank verstauben!

Hau HA-Bridge drauf, Kodi als Media Center, wenn man Sonos verwendet gibt es auch Anwendungen dafür … und “mein” nächster Schritt wird hoffentlich Echo Einbindung sein :slight_smile:

So, wünsche euch allein ein schönes Wochenende und bastelt nicht “zu viel” :slight_smile:

VG

Hallo zusammen,

ich bekomme es irgendwie nicht hin, die Dateien “alexa_remote_control.sh” und z.B. “alexaansagewaesche.php” in den Ordner /var/www/html zu kopieren.
Ich habe es geschafft die Ordner zu erstellen und kann via cd /var/www/html auch dahin wechseln.

Leider bekomme ich bei dem Befehl :

cp <Dateipfad> /var/www/html/

immer eine Fehlermeldung:

cp: cannot stat ‘<Dateipfad>alexa_remote_control.sh’: No such file or directory

Den Quellpfad lege ich durch Drag and Drop der Datei in das Terminalfenster fest.

Ich habe es schon mit “sudo cp” versucht und mich via “sudo su” als root angemeldet.

Leider sind meine Kenntnisse in den Linux-Befehlen nicht besonders.

Kann mir jemand sagen was ich falsch mache?

Viele Grüße

Tom

Hallo nochmal,

die Dateien konnte ich nun kopieren, indem ich einen Umweg gegangen bin. Vermutlich keine saubere Lösung, aber es hat funktioniert.:slight_smile:
Ich habe die Dateien zuerst in den Order “/home/pi” kopiert und von da aus per cp-Befehl in den richtigen Ordner.

Danach habe ich alle nötigen Dienste auf dem Pi installiert und kann nun auch über folgenden Befehl meinen Track aus der Amazon-Bibliothekt auf einem Echo abspielen:

sudo /var/www/html/alexa_remote_control.sh -d Küche -s "<Track-ID>"

Soweit so gut. Leider funktioniert die Übergabe von dem Virtuellen Modul im HC2 zum Pi nicht.

Ich habe z.B. im Button1 des VM die IP des pi und das Passwort eingetragen :

RASP = Net.FHttp("192.168.178.67");
RASP:setBasicAuthentication("pi", "raspberry");
---------------------------------------------------
local thisdevice = fibaro:getSelfId();
response = RASP:GET('alexaansagewaesche.php');

Das PHP-Skript heisst auch genau wie in dem Beispiel von Matthias “alexaansagewaesche.php” und liegt im Ordner “/var/www/http”

Beim Drücken des Button 1 bleibt der Echo aber stumm.

Muss ich vielleicht noch irgendwo etwas eintragen? Muss die IP-Adresse des pi noch einmal oben in das VM rein? Spielt der Port (8080) ein Rolle?

Vielen Dank nochmal für Eure Hilfe bislang!

Viele Grüße

Tom

Evtl. Liegt es noch an den Rechten deines Ordners HTML… damit das HC2 dort auch leserechte hat… Am besten mit Filezilla die Rechte ändern… Damit kann man auch gut Dateien kopieren… :wink:

Gruß

Matthias

… und evtl. den User Pi in die Gruppe der Webuser aufnehmen, falls du das noch nicht beim installieren des Webservers gemacht hast…

Hi,

danke für den Tip. Es könnte schon sein, dass es mit Zugriffsrechten zusammenhängt.

Wie gesagt bin ich leider nicht wirklich firm in Sachen Raspberry Pi.

Ich habe aber mal gegoogled und ausgeben lassen welchen Gruppen der User Pi angehört:

pi@raspberrypi:~$ id pi
uid=1000(pi) gid=100(users) groups=100(users),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),101(input),108(netdev),112(ssh),999(spi),998(i2c),997(gpio)

So wie ich das sehe sollte der User in allen Gruppen Rechte haben.

Wenn ich aber versuche die Rechte für die sh-Datei und die php.datei zu verändern erscheint folgende Fehlermeldung:

pi@raspberrypi:/var/www/html$ chmod 777 alexa_remote_control.sh
chmod: changing permissions of ‘alexa_remote_control.sh’: Operation not permitted
pi@raspberrypi:/var/www/html$ 

Laut Filezilla sind die Berechtigungen für die beiden Dateien jeweils “775” also sollten Lese- und Ausführrechte haben.
Dem eigentlichen Ordner “HTML” könnte ich “777” zuweisen, also auch Schreibrechte.

Zugegebenermassen habe ich mir aber jeden Schritt nur “ergoogled” und es könnte durchaus sein, dass ich in der Einrichtungen etwas falsch gemacht habe.
Mich wundert aber dass ich im Terminal mit dem User Pi den Befehl ausführen kann und der Echo dot auch die Datei abspielt. Das HC2 sollte doch über die gleichen Rechte des Users Pi verfügen oder?

Viele Grüße

Tom

Probiers mal mit sudo chmod… oder über Filezilla als Root anmelden und dann die Rechte setzen…

Der User Pi muss auch als Webuser eingerichtet sein…

https://www.raspberrypi.org/forums/viewtopic.php?t=9928

Ich denke mit dem Link ist alles gesagt. :slight_smile:

Wir wollen hier auch kein Raspberry Pi-Forum werden und wir sollten bei SmartHome-Themen bleiben :wink:

Gruß

Entschuldige, du hast Recht…

Gruß

Matthias

Alles gut, du wolltest ja nur helfen, was ich auch gut finde. :slight_smile:

Grundsätzlich passt das Thema natürlich und ist auch interessant. Nur spezielle Fragen zu Webserverkonfiguration usw. sind doch sehr speziell und sollten eher an anderer Stelle geklärt werden.

Gruß

Hast du denn schon eine elegantere Lösung gefunden?

Gruß

Matthias

Hatte bisher noch keine Möglichkeit es zu testen. Vielleicht schau ich mir heute Abend mal das php-Skript an und Code mal ein wenig.

Gruß

Vielen Dank für den Link.

Ich werde mich mal durcharbeiten :wink:

Hast du denn schon eine elegantere Lösung gefunden?

Jo. Eigentlich relativ easy :slight_smile: Zumindest kann man das mit einer PHP-Datei (dort ist nur ein Echo, um es zu testen) lösen:

<?php
echo 'sudo /var/www/html/alexa_remote_control.sh -'. htmlspecialchars($_GET["control"]) .' '. htmlspecialchars($_GET["room"]) .' -'. htmlspecialchars($_GET["control2"]) . '"'. htmlspecialchars($_GET["ID"]) .'"'
?>

Da müsstest du dann noch deine shell_exec ergänzen:

shell_exec('sudo /var/www/html/alexa_remote_control.sh -'. htmlspecialchars($_GET["control"]) .' '. htmlspecialchars($_GET["room"]) .' -'. htmlspecialchars($_GET["control2"]) . '"'. htmlspecialchars($_GET["ID"]) .'"')

Dann kannst du mit beispielsweise folgendem Aufruf aus dem VD heraus arbeiten:

http://verarscht.org/avs/alexa.php?control=d&room=Esszimmer&control2=s&ID=334c30d5-4809-4c62-a72f-be7223fccd59

Das ist schon cool und kann beliebig erweitert werden, so dass man alle möglichen Sachen ausführt.

Echt top, danke nochmal für den Link.

Gruß

PS: Das ist natürlich nur der erste Schritt :wink: Es können alle möglichen Abfragen in das php-Skript gebaut werden. Ich muss das mal testen :wink:

Wenn ich das richtig sehe, hast du im Prinzip nur eine php Datei anstatt wie bei mir im Beispiel mehrere… kannst du dein VD mal bitte Posten, dann teste ich das morgen mal…

LG Matthias