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

ist in der nächsten version schon eingebaut :)
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

vbs


juelich

Ich habe leider ein blödes Problem:

Irgendetwas hat das Alexa auf dem Raspberry zerschossen. Es fiel mir eigentlich nur auf, dass es nicht lief und sich auch nicht starten lies. Ich habe das Ganze genutzt, um entsprechend der Beschreibung im Wiki ein Update auf die neueste Version zu machen. Als ich Alexa dann erstmal starten wollte kam die Meldung, das der Ordnung Log nicht existiert. Dann habe ich ihn aus dem alten Alexa-fhem in den neuen Ordner kopiert, aber irgendwie kann Alexa nicht darauf zugreifen und startet auch nicht. Ich weiß gar nicht, wo ich jetzt anfangen soll, den Fehler zu suchen.
Blöde Sache. Ich hatte eigentlich nichts auf dem Raspberry verändert, ich weiß nicht, was da passiert sein könnte
Viele Grüße

Markus

pi@raspberrypi ~ $ sudo /etc/init.d/alexa start
-su: /opt/alexa-fhem/log/alexa-2017-03.log: Permission denied
Alexa starting
Alexa is not running
script done
script done


justme1968

Zitat-su: /opt/alexa-fhem/log/alexa-2017-03.log: Permission denied
da stimmen die rechte nicht. mindestens für dieses eine file, vermutlich für das ganze verzeichnis.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

dusti64

Hallo und Guten Morgen :)

ich habe Alexa installiert und es läuft auch erstmal soweit alles. Da ich im Vorfeld schlechte Erfahrungen gemacht hatte, läuft es auf einem Testsystem und die Conf zeigt auf die eigentliche FHEM Installation...
Jetzt zu meiner Frage:
Ich möchte, wie im Wiki beschrieben, den Zugang mit einem Apache Server absichern, zur Zeit geht alles von Hand und den Port 3000 gebe ich dann in der FB frei.
Im Wiki steht "idealerweise auf einer zweiten Maschine". Apache läuft eigentlich aufgrund von zwei Mysql-Installationen und phpmyadmin auf beiden Cubietruck, also Produktiv- und Testsystem. Welches wäre jetzt die beste Variante, um Alexa abzusichern von außen? Ich muss dazu sagen, dass das Testsystem eigentlich nicht permanent laufen soll - wenn alles rund ist, soll Alexa schon umziehen auf das Produktivsystem...
Wo ist denn der entscheidene Vorteil, wenn die Absicherung von einem zweiten System aus passiert?

Vielen Dank und Gruß

Dusti
2x Debian virtualisiert auf QNAP mit FHEM, 2x HMLAN, VCCU, Homatic Heizung+Licht-Rollläden, Alexa mit 2 Echos, Homebridge, Hue, Instar

vbs

Mal eine kurze Frage zu den "fhemIntents":
Nach meinem Verständnis kann man das auf genau zwei Arten nutzen:
{alexaScreenControl("pause")}=pause
gutenMorgen=guten morgen

Der Teil nach dem Gleichheitszeichen ist immer die Sample Utterance. Vor dem Gleichheitszeichen steht entweder Perl-Code oder ein Intent-Name. Perl-Code wird einfach ausgeführt. Falls man die Variante mit dem Intent-Namen nutzt, dann wird dieser beim Aufruf im Reading "fhemIntent" abgelegt und um darauf dann zu reagieren, nutzt man regulär ein notify/DOIF um auf das Reading zu lauschen.
Ist das soweit richtig oder es noch andere Arten das zu nutzen?

justme1968

du kannst links auch noch set ..., get ... und attr ... als fhem kommando verwenden. sonst richtig.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

kossmann

Gibt´s die aktuelle Version eigentlich nur hier im Forum oder auch auf GitHub o.ä. (um eine Aktualisierung automatisieren zu können)?

Esjay

Zitat von: kossmann am 08 März 2017, 17:05:23
Gibt´s die aktuelle Version eigentlich nur hier im Forum oder auch auf GitHub o.ä. (um eine Aktualisierung automatisieren zu können)?
Nur hier im Forum..Git ist langfristig geplant,wenn ich mich recht entsinne.

Elektrofreak

Hallo zusammen,

ich hoffe das hier ist kein doppelter Post :-). Ich habe leider noch keine Info zu dem folgenden Problem gefunden:

Ich habe im Alexa Custom Skill In Interaction Model alles nach der Wiki-Anleitung eingetragen (Intent Schema, Custom Slot Types und Sample Utterances). Leider bekomme ich die folgende Fehlermeldung:

ZitatError: There was a problem with your request: FHEM_article is an invalid name for a custom slot type. Slot type names must begin with an alphabetic character and may contain alphabets, periods, and underscores.

Wo habe ich den Fehler gemacht? Für mich ist der name korrekt  :o. Ich hoffe mir kann jemand weiter helfen :-(

Ma_Bo

#2365
Versuch mal deinen Slot FHEM_Device in Device umzubenennen.

Edit: sehe gerade du hast ja Probleme mit article. Ich kann nachher mal in meine Config schauen, aber bis dahin hat die bestimmt hier schon jemand geholfen... ;)


Gesendet von iPhone mit Tapatalk
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

jojo61

Hallo Elektrofreak

vermutlich hast du die Values mit copy und paste aus dem fhem kopiert. Dann sind noch Tabs mit drin und die mag Amazon nicht.  Du musst in den Values (der die das den) jeweils vorne den Tab löschen.
Zumindest hat das bei mir geholfen.

mfg
jojo

Elektrofreak

#2367
Zitat von: Ma_Bo am 09 März 2017, 05:49:46
Versuch mal deinen Slot FHEM_Device in Device umzubenennen.

Edit: sehe gerade du hast ja Probleme mit article. Ich kann nachher mal in meine Config schauen, aber bis dahin hat die bestimmt hier schon jemand geholfen... ;)

Habe ich probiert, leider immernoch das selbe Problem...

ZitatError: There was a problem with your request: article is an invalid name for a custom slot type. Slot type names must begin with an alphabetic character and may contain alphabets, periods, and underscores.

Zitat von: jojo61 am 09 März 2017, 07:33:44
vermutlich hast du die Values mit copy und paste aus dem fhem kopiert. Dann sind noch Tabs mit drin und die mag Amazon nicht.  Du musst in den Values (der die das den) jeweils vorne den Tab löschen.
Zumindest hat das bei mir geholfen.

Das versuche ich als nächstes, vielen Dank!  ;)

Edit: Das hat geklappt! Vielen Dank.


Leider bekomme ich jetzt beim Testen der Verbindung im Custom Skill bei der Frage:
Zitat[2017-3-9 08:15:34] [ 'amzn1.ask.skill.XXXXXXXXXXXXXXXXX' ]
[2017-3-9 08:15:34] applicationId amzn1.ask.skill.XXXXXXXXXXX not authorized
[2017-3-9 08:15:34] ERROR: InvalidAccessTokenError from ::ffff:34.248.7.7

Ich habe aber die applicationId und oauthClientID in die config.json eingetragen und auch die key und cert-file erzeugt :(. Wer von beiden macht denn hier das Problem? Mein alexa-fhem service oder amazon?  :(

tagedieb

Guten Morgen Elektrofreak

hattest du den Skill schon einmal in Fhem ausprobiert und nun gändert?
dann muss du das feld Sample Utterances leeren, deine Slots vervollständigen und dann aus fhem die Sample utterances kopieren und neu einfügen

Gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

tagedieb

Guten Morgen zusammen

ich habe mein Alexa, mit der Hilfe aus diesem Forum nun endlich "überreden"können, auch MEINE angepassten Aufgaben auszuführen
doch als Antwort bekomme ichbei der Antwort des angeforderten Skill ist ein Problem aufgetreten

fhemIntents{Alexacmd ("kakao")}=bereite kakao zu
in der subsub Alexacmd {

my $Command = $_[0];
my $ALEXAReturn = "OK";
my $FHEMCommand = "set Dummy_test no_alexa_action";  # falls kein passendes Kommando gefunden wird

fhem("set Dummy_test $Command");    # nur zur Kontrolle um zu sehen was ankommt
$Command =~ s/fhemIntent: //;           # das reine Intent extrahieren

my %Alexakommando = (
"kakao" => "set Cafe6 on; kakao wird zubereitet",
);
($FHEMCommand,$ALEXAReturn) = split (/;/, $Alexakommando{$Command});
fhem("$FHEMCommand");
return "$ALEXAReturn";
};

was habe ich hier noch übersehen, das nach der ornungsgemäßen befehlsausführung auch ein netter text kommt?

Über Hilfe würde ich mich freuen

gruss tagedieb

FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3