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

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

Vorheriges Thema - Nächstes Thema

justme1968

#405
@rr725: wenn du schreiben würdest wo du probleme hast könnte man dir sicher helfen. bis jetzt hat es noch jeder geschafft. einfach stur die anleitung 1:1 wörtlich befolgen.

der aktuelle skill ist 'fertig'. aber er wird nie bei amazon registriert werden da fhem keine cloud basierte infrastruktur hat an die sich jeder fhem user anmelden kann um sein system zu steuern. jede fhem installation ist komplett eigenständig.

der custom skill wird zwar nicht auf aws lambada angewiesen sein aber auch bei dem geht es nicht ohne selbst einrichten. zum einen aus dem obigen grund und außerdem noch weil jeder andere device namen verwendet und andere fragen stellen will. die generischen fragen und kommandos sind zwar installations unabhängig. die device spezifischen funktionieren aber besser wann man seine eigenen device namen hinterlegt.

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

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

justme1968

@RaspiCOC, olli84: die beiden module machen noch (fast) nichts. es schadet aber nicht sie schon mal anzulegen.

in zukunft wird sich alles was mit der siri und alexa integration zu tun hat und nicht device spezifisch ist über diese beiden module konfigurieren lassen.

aktuell werden nur die beiden attribute siriName und alexaName bekannt gemacht mit denen man die device namen vergeben können wird die siri bzw. alexa verwendet. kommt dann beides im nächsten homebridge-fhem und alexa-fhem update.

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

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

stera

Danke für die Info Andre. Dann fehlt ja bald nur noch Google home. Bin gespannt was sich langfristig durchsetzen wird ;-)

Gruß SteRa

Gesendet von meinem SM-G800F mit Tapatalk


rr725

Zitat von: justme1968 am 17 November 2016, 13:05:33
@rr725: wenn du schreiben würdest wo du probleme hast könnte man dir sicher helfen. bis jetzt hat es noch jeder geschafft. einfach stur die anleitung 1:1 wörtlich befolgen.

Hallo Andre....wie gesagt ich hatte es nur einmal angefangen, komme erst am WE dazu mich intensiv damit zu befassen....., aber wenn Du sagst es hat bisher jeder geschafft........

Pjg

#409
Zitat von: Pjg am 15 November 2016, 13:04:16
Perfekt, jetzt hab auch ich es kapiert.
Danke für die Nachhilfe. ;D

Das war wohl etwas zu früh.

Mein Dummy um den Fernseher einzuschalten wird zwar nach "alexa, schalte Fernsher ein" mit einem OK quittiert, es passiert jedoch nichts.
Auch im Logfile von FHEM kann ich nichts finden.

ZitatAttributes
genericDeviceType switch
homebridgeMapping On:hub:activity,cmdOn=activity.TV.sehen
room alexa
setList on off

Mein Dummy um ZDF einzuschalten wird noch nicht einmal mit einem OK quittiert, eher so eine Tonfolge für leider verloren.
Was bedeutet das genau? Ich denke einmal das man ZDF wohl eher so schrieben muss "zettdeehhefff" damit es verstanden wird,oder?

Außerdem ist mir aufgefallen, dass die mir die Alexa-App Geräte anzeigt, obwohl ich alle skills außer FHEM deaktiviert habe.
Alexa-FHEM selbst liefert nur die Geräte welche ich unter dem Raum alexa anlgelegt habe, aber irgendwie nimmt die App noch andere auf. Entweder alte oder aus Homekit.
Muss ich noch testen.

Wichtiger wäre mir aber nun das einfach schalten über den hub via dummies.
Was könnte also an dem homebridgemapping falsch sein, oder kann man sonst irgendwo sehen (im fhem log wie gesagt kein Eintrag), was schief gelaufen ist?

BananaPI, CUL 433, Somfy RTS, Hue LWL001, Hue LWB004, HM-CFG-LAN, HM-LC-SW2-FM

mrbreil

Guten Tag.

Vielen Dank für diese super Arbeit und auch die richtig gute Anleitung. Ich habe nur eine Frage im Bezug auf die Max Thermostate.

Alexa schalte die Heizung aus
passiert nix

alexa stelle die Heizung auf 10 grad
10 Grad verwende ich überall in fhem, ist also mein aus.

Leider muss die Grad Zahl zwischen 15 und 30 Grad liegen, ist das eine Reglementierung von dir oder durch Amazon?

justme1968

@Pjg: schau auf der console was beim schalten genau passiert. und schau in der alexa app was genau verstanden wurde.

ich vermute es liegt am leerzeichen vor sehen. versuch es mal mit \s oder mit der activity id statt namen.

bei zdf: abkürzungen muss man mit punkten schreiben. also so: z. d. f.

statt dummy: schau mal hier: https://forum.fhem.de/index.php/topic,60886.msg522793.html#msg522793



@mrbreil: ein uns aus gibt es nur wenn es ein mapping für die On characteristic gibt. thermostate haben die nicht automatisch. kann man über homebridgeMapping nachrüsten.

die 15-30 grad sind aktuell in lib/server.js hinterlegt. in der nächsten version ist es konfigurierbar bzw. wird aus dem fhem device ausgelesen.

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

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

Pjg

ein alias mit z.d.f. führte zum Stillstand von alexa-fhem.
Kam nihct mehr zum Server listining...

auf zdf geändert, und dann lief's wieder.
Egal.

Erst mal den Fernseher anschalten.
Da bekomme ich ja zumindest schon einmal ein OK von Alexa, auch wenn nichts passiert.
Habe nun die activity id eingegeben, ohne Erfolg:
On:hub:activity,cmdOn=activity.22002742

Konsole:
[11/17/2016, 5:08:43 PM] [FHEM] Fernseher: executing set cmd for On with value 1
[11/17/2016, 5:08:43 PM] [FHEM]   executing: http://192.168.178.32:8083/fhem?cmd                                       =set%20Fernseher%20on&XHR=1
response :{"header":{"messageId":"a1936617-9bff-45bd-afb4-4d65275e7e56","namespa                                       ce":"Alexa.ConnectedHome.Control","name":"TurnOnConfirmation","payloadVersion":"                                       2"},"payload":{}}
  2016-11-17 17:08:43 caching: Fernseher-state: on


In der App kann ich nichts erkennen, außer das sie Apfelmus erkannt hat bei der Einkaufsliste :-)

Im logfile von FHEM steht nichts.

Mir schwant: Brauche ich evtl. eine Installation von homebridge?
BananaPI, CUL 433, Somfy RTS, Hue LWL001, Hue LWB004, HM-CFG-LAN, HM-LC-SW2-FM

mrbreil

Vielen Dank justme1968.

Gibts den schon ein releasedate ;-) für die neue version?
Und wie muss ich das vorstellen? Mein Spieltrieb ist wirklich geweckt!!!!!
Kann ich dann auch "alexa, Hallo" sagen und mein ROOMMATE status ändern? oder auf Lautstärke "triggern"?
Möchte mit "Lautstärke" die Lautstärke meiner Squeezeplayer steuern und nicht die des Echo.

Etwas das mich auch noch interessiert ist, ob man auf Alexa zukünftig "triggern" kann?
Soll heißen: Wenn ich Alexa sage, wird die Lautstärke der Squeezeplayer reduziert, damit der echo mich besser verstehen kann.
Wird das möglich sein?

Habe meinen Echo erst seit heute 16 Uhr, kam aber dank deiner super Anleitung sehr schnell voran, deshalb diese vielen Fragen.
Habe mich schon versucht bei developer.amazon.com zu belesen, aber leider bin ich keiner Programmiersprache mächtig und mit dem Englisch siehts auch nicht so gut aus.

Ich hatte mir etwas mit Autovoice und Tasker gebastelt, leider ist das Micro des Nexus nicht so super. Deshalb wollte ich den Echo haben. Hat sich auch wirklich gelohnt, kann jetzt in normaler Lautstärke reden.
Bei Autoice habe ich mir immer den kompletten String des erkannten Textes in ein Dummy schreiben lassen und dann durch fhem auswerten lassen. Das war um einiges praktischer als alles am Tablet einzustellen. Alle Funktionen die ich per Sprache steuern möchte kann ich über fhem erledigen. Gibt es eine Möglichkeit das ähnlich mit Alexa zu lösen?
Von Amazon will ich nur die Spracherkennung haben und keine Logik. Außer vielleicht das Ding mit der Einkaufsliste ist sehr praktisch, aber das kann ja fhem auch bald.

Grüße MrBreil

Pjg

#414
Habe nun das device vom hub separat angelegt und wollte nun dieses
Über homebridgemapping steuern. Funktioniert auch nicht.

On:harmony_38790942:activity,cmdOn=command.PowerOn,cmdOff=command.PowerOff

Alexa schaltet den dummy einwandfrei on und off, aber das hierdurch über das
Homebridgemapping was passiert, ist leider nicht der Fall.
Werde wohl auf nen einfachen notify ausweichen und gut.
Trotzdem Danke André für die Mühen.
BananaPI, CUL 433, Somfy RTS, Hue LWL001, Hue LWB004, HM-CFG-LAN, HM-LC-SW2-FM

omnior

Großes Kompliment, insbesondere natürlich an André, die Installation war dank der guten Anleitung recht flott, einzig der secure https Zugang und die Fhem Benutzeranmeldung bzw. die kleinen Anpassungen in der config.json hat mich etwas mehr Zeit gekostet.
Die einfachen Schaltvorgänge sind prima, an den Device Alias muss ich noch optimieren, die Verständlichkeit ist teilweise bei langen Namen nicht perfekt.

Jetzt entsteht natürlich gleich der Wunsch nach weiterer Funktionalität, gerade eine Farbsteuerung der WifiLight wäre natürlich perfekt, wenn ich es richtig gelesen habe ist das für die custom skills angedacht. Nochmal Klasse Arbeit!!

tom2000

Riesen Danke für die Alexa Einbindung. :)

Mich würde mal interessieren, wie genau ihr eure Sachen einbaut.
zb. Fernseher lauter/leiser/mute/umschalten, MAX Heizung oder Hue Szenen.

Soweit ich es verstehe, geht vieles nur über den Weg eine Funktion als Gerät anzulegen.
Wir habt ihr das gelöst? Ein Gerät für Fernseher lauter, eins für leiser usw.?
Klasse wären die entsprechenden Zeilen aus der fhem.cfg und wie Alexa angesprochen wird.
Danke. :)

omnior

Jetzt steh ich doch noch mit dem Startscript von RedCreek auf dem Schlauch.
Wenn ich manuell über die Console mit /etc/init.d/alexa start eingebe, kommt erst eine Passwortabfrage (für meinen FHEM User) und dann startet das Script sauber.
Im FHEM steht aber bei meinem FHEM.Alexa.DOIF, habe eigentlich überprüft, die DEF scheint in Ordnung zu sein, aber in den Readings immer folgender error {system ("sudo /etc/init.d/alexa status > /dev/null 2>&1 &")}: -1 und im state steht jeweils cmd_1, cmd_2, cmd_3 oder cmd_4.
Ich vermute dass ich die Rechtevergabe in der /etc/sudoers noch nicht korrekt gemacht habe, oder habe ich irgendwas anderes blödes übersehen? Kann mir da jemand auf die Sprünge helfen?

mrbreil

Zitat von: justme1968 am 17 November 2016, 16:46:16
@mrbreil: ein uns aus gibt es nur wenn es ein mapping für die On characteristic gibt. thermostate haben die nicht automatisch. kann man über homebridgeMapping nachrüsten.
Kann mir das bitte jemand ein bisschen genauer erklären, werde da aus dem Wiki auch nicht schlau.

Auch verstehe ich nicht ganz wie ich einen Dummy über Alexa benutze.
Wenn ich "genericDeviceType switch" setzte und ein "setlist on off" angebe, kann ich einen Dummy aus und an schalten, aber keine Prozente übergeben.
Wenn ich es als  "genericDeviceType light" setzte, bekomme ich immer mitgeteilt das dieses Gerät das nicht unterstützt.

besitzer

Hi,

erstmal vielen Dank für die Mühe.

Leider bekomme ich immer diese Fehlermeldung beim Start des Dienstes und kann damit so gar nichts anfangen

root@raspberrypi:/var/www/upload/alexa-fhem# ./bin/alexa

/var/www/upload/alexa-fhem/lib/server.js:133
  for( connection of this._config.connections ) {
                  ^^
SyntaxError: Unexpected identifier
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/var/www/upload/alexa-fhem/lib/cli.js:3:14)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)


Könnt ihr mir weiterhelfen?

Danke.

gruß Sven