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

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

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

#810
Das hier: http://www.computerhilfen.de/info/fhem-mit-dem-amazon-echo-per-sprache-steuern.html sieht zwar irgendwie einfacher aus als "alexa-fhem" und es gibt noch eine ähnliche "Bridge": https://github.com/bwssytems/ha-bridge, etwas älter/weniger gepflegt!?

Habe beides mal probiert. Lief recht einfach und auch die "On-/Off-Webcommands" laufen von der Oberfläche der Bridge...

...ABER: ich habe es (bislang) noch nicht geschafft, dass Alexa meine Geräte findet die ich dort angelegt habe.

Also bin ich dann doch dazu übergegangen alexa-fhem (auch wenn es etwas "unübersichtlich" aussieht) auszuprobieren...
...funktioniert!

Und mit der Zeit wird es dann schon klarer was wie wo... ;-)

Und: hat mehr Potential für die Zukunft: custom skill etc.

Bei der "simplen" Bridge-Lösung (egal welche) geht halt (bislang) nur "on/off/dimm"...
...ist also wohl sehr eng auf Lampen/Licht beschränkt.

Klar lässt sich "tricksen" weil ja in fhem festgelegt werden kann was ein "LichtBlaBlaBla on/off/dimm" letztendlich machen soll...

Das einzige was ich an der Bridge-Lösung gut finde/fand: kein offener Port etc.

EDIT: ach ja und das mit der Kreditkarte (hat mich anfangs auch geschreckt und noch mal sein lassen / jetzt habe ich es trotzdem).

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)

justme1968

bei aws lambda sind eine million anderagen pro monat kostenlos. da kommst du als alleiniger anwender deiner installation beim besten willen nicht hin. d.h. es ist für dich kostenlos.


nein. die idee mit ha bridge ist nicht gut :). du kannst zwar theoretisch auch anderes schalten als nur lampen, in der praxis aber nur sehr eingeschränkt.

sobald du z.b. bei ha bridge etwas anderes als lampen konfigurierst kannst du nicht mehr sagen 'schalte das licht im wohnzimmer an' weil jedes andere gerät auch als licht gilt. egal ob av gerät oder rolladen oder was auch immer.

wenn du sowieso homebridge verwendest hast du mit alexa-fhem jetzt schon den vorteil das die konfiguration fast identisch ist und kannst alles was mit ha bridge auch geht nur besser. mit dem nächsten update des custom skill sind dann noch viel mehr dinge möglich. dafür musst du nur bei dir lokal etwas austauschen und drei felder in der amazon skill konfiguration ergänzen. alles andere auf amazon seite bleibt ansonsten gleich.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

StephanFHEM

Zitat von: justme1968 am 13 Dezember 2016, 10:47:08
@StephanFHEM: ich vermute du hast zwei node versionen auf deinem system und beim automatisch start wird die falsche (alte) verwendet.

Das war auch mein Gedanke. Ich habe Raspbian Jessie und hatte schon bei der Installation der wiki probleme mit npm (das kannte er nicht) hab es dann nach einer anderen anleitung nachinstalliert und das ist irgendwie im alexa-verzeichnis gelandet. Wenn ich von da aus Alexa starte gehts auch. Wenn ich alexa aus der hauptebene starte gehts auch in der console nicht. Dennoch schaffe ich es aber nicht ein update von node oder nodejs zu bekommen. Alles was ich versucht habe lief ins leere.
Ich muss dazu sagen: bin zwar schnell und findig mit solchen sachen aber absoluter unix neuling:-)

retikulum

#813
Hi nochmal.

Vergesst die vorigen Probleme. Ich hab ein paar Berechtigungsprobleme lösen müssen und außerdem node auf 7.2.1 gebracht. Echt zum Haare raufen :-o .
Außerdem war die IP des FHEM-Servers wieder auf Standard zurückgesetzt (wahrscheinlich durch ein neuerliches npm install).
Nun kann ich auch endlich zum Port 3000 verbinden. Der Skill Test "Hallo Welt" antwortet nun auch.

Allerdings das nächste Problem:

Geräteliste wird nicht abgerufen.... das  Atrribut genericDeviceType ist nicht wählbar... taucht nicht in der Liste auf. Was muss ich noch installieren?

Edit:
In den Logs gibts den Fehler hier:
[2016-12-13 17:37:38] [FHEM] starting longpoll: http://192.168.178.40:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1481647058422
[2016-12-13 17:37:41] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 30000msec

BobbyD

Hallo,

das ist vielleicht bissel OT aber kann man irgendwie das Sonus System mit verwenden. Das klinkt ja so als ob man damit dem AVS oder anderen Cloud-Service nutzen kann und dazu nicht wirklich den Echo oder Dot brauch.
Vielleicht kann man damit dann aus FHEM heraus Alexa o. ähnlich antriggern?

Sonus is a speech to text library you can use to quickly and easally add a VUI (Voice User Interface) to any hardware or software project. Just like Alexa, Google Now, and Siri, Sonus is always listening offline for a customizable hotword. Once that hotword is detected your speech is streamed to the cloud recognition service of your choice - then you get the results.
Platform Support
     Linux - most major distros (Including Raspbian)
    macOS
    Windows
Streaming Recognition Services

    Google Cloud Speech
    Alexa Voice Services
    Wit.ai
    Microsoft Cognitive Services
    Houndify


Bobby

justme1968

#815
jein. sonus erkennt nur das schlüsselwort lokal und übergibt dann alles andere an weiter an avs.

um alexa raspberry beispiel von amazon wird es sogar verwendet.

der knackpunkt am echo sind aber die vielen mikrofone und die erkennung aus der ferne und bei nebengeräuschen.

mit einem einzelnen mikro bist du hier sehr
viel schlechter.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

BobbyD

Hallo Andre,

das stimmt, ich bin dann aber nicht mehr an das Hotword "Alexa" gebunden sonder kann das frei wählen.
Das mit dem Mic ist der Knackpunkt. Ich wollte mal so ein PS3 Eye probieren, das hat auch ein Mikroarray eingebaut.
Vielleicht kann man damit auch die Services mischen, also was bei AVS nicht geht geht vlt. besser mit Googlevoiceservice. so das man die kombinieren kann.
Na ja war nur ein Gedanke.

Bobby

MadMax-FHEM

#817
@justme1968:

lässt sich dann das Schlüsselwort "frei" festlegen!? :-)
EDIT: ah, ok, ginge also...

Hoffentlich kommt das bei Alexa auch (bald) mal!!
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)

justme1968

du hast doch jetzt schon die wahl zwischen drei wörtern :)

aber im ernst: es gibt dinge im api dir wichtiger sind und von amazon umgesetzt werden sollten statt das schlüsselwort.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

MadMax-FHEM

Zitat von: justme1968 am 13 Dezember 2016, 20:18:39
du hast doch jetzt schon die wahl zwischen drei wörtern :)

aber im ernst: es gibt dinge im api dir wichtiger sind und von amazon umgesetzt werden sollten statt das schlüsselwort.

Ich dachte 3:

Alexa
Amazon
Echo

Alle nicht schön ;-)
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)

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

MadMax-FHEM

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)

StephanFHEM

das war ja ein Akt! Ich habe das Skript in init.d in FHEM zum Laufen bekommen.
Es gab mehrere Fehler die ich lösen musste. Falls noch mehr damit ein Problem haben sollten hier kurz mein Lösungsweg. Evnt. kann es dem einen oder anderen helfen.

1. Fehler:
es waren tatsächlich 2 Versionen von Node.js installiert. Eine davon zu alt und die andere nur Local in dem Verzeichnis. Damit konnte ich zwar direkt im Alexa-Verzeichnis den Dienst in der Console starten (local) aber nicht von einem anderen Verzeichnis oder FHEM aus

Lösung:
node.js deinstallieren
sudo apt-get remove nodered -y
sudo apt-get remove nodejs nodejs-legacy -y
sudo apt-get remove npm -y


dann über https://nodejs.org/en/download/ den Link zur richtigen neuen Datei raussuchen (bei mir Raspberry Pi ARM61) und wie folgt installieren
sudo wget https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-armv6l.tar.xz
sudo tar -xvf node-v6.9.2-linux-armv6l.tar.xz
cd node-v6.9.2-linux-armv6l
sudo cp -R * /usr/local/
sudo reboot


damit war der erste Fehler behoben

2. Fehler:
Start des Scriptes über Konsole war damit aus jedem Verzeichnis möglich. Es gab dann nur noch Probleme mit den Benutzerrechten (evnt. auch bei der Alexa-Log-Datei).

Lösung:
Benutzer-Rechte anpassen von User FHEM und ihn der Gruppe sudo hinzufügen
sudo gpasswd -a fhem sudo

Das Script von Seite 11 anpassen in Zeile 24
su - "pi" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &"
in
sudo su - "pi" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &"

Grüße
Stephan

RaspiCOC

Zitat von: HenrikAachen am 13 Dezember 2016, 13:47:47
Ich habe angefangen, bin beim AWS Lambda aber ausgestiegen. Dort musste ich Kreditkarten hinterlegen für den Cloud service etc.
Hat mich dann abgeschreckt. Muss man das dann monatlich zahlen?

Hmmm... es steht doch schon seit Tagen der Hinweis auf die Kreditkarte in Wiki mit drin. Ja, das Wiki ist mitunter noch etwas holprig und wird es auch sicher bleiben, da die Installation nun einmal etwas sprunghaft ist. Daher auch der Hinweis, erst mal ALLES zu lesen und dann anzufangen. Wer das Wiki verbessern möchte kann und soll dies gern tun (d.h. bei den Admins einen Zugang erbitten). Justme1968 hat glaube ich schon mehr als genug zu tun und seine Prio liegt sicherlich nicht auf dem Wiki.

Sorry, aber nach der x-ten Kreditkartendiskussion musste ich das jetzt mal loswerden...

visionsurfer

@justme1968.

Ich habe mittlerweile rausgebekommen an was es bei mit mit dem ReadingProxy und lightscene gelegen hat. Mit meiner Szene Kochen. Es liegt wohl am Alias. Alexa scheint mit dem Begriff oder mit dem Alias "kochen" ein Problem zu haben. Wie schon beschrieben, funktioniert es wunderbar das ich sagen kann "Alexa, schalte kochen ein". Aber es funktioniert nicht "Alexa, schalte kochen aus".
Bei aus passiert einfach gar nichts.

Ich hab das ganze nun mal mit einem anderen Alias umbenannt. Von "kochen" auf "vorbereiten". Mit diesem Begriff klappt es perfekt. Ich kann es wunderbar anschalten und auch ausschalten.

Kannst du eventuell einen Tipp geben wie man das in Verbindung mit Lightscene von den Begrifflichkeiten am besten aufbauen sollte ? Weil ich bin gerade krampfhaft am überlegen wie ich meine Scenen dann nennen soll, wenn "kochen" nicht geht.

Ich habe parallel dazu mir auch mal eine Lightscene im Schlafzimmer eingerichtet. Das ganze dann auch wieder mit ReadingProxy als extra Device gemacht. Dort habe ich es "gutenacht" genannt. Funktioniert perfekt. An und aus. So wie es sein soll.

Viel besser wäre natürlich sowas wie "Alexa, schalte scene kochen an". Ich hab es mal mit dem Alias so probiert. Also ich hab unter Alias "scene kochen" eingetragen. Das mag Alexa nicht und versteht es auch nicht. Geht es eventuell mit "scenekochen" ?

Hast du sowas vielleicht selbst im Einsatz ?

Grüße,
Visionsurfer