Hallo zusammen,
ich habe den SmarthomeSkill und den Custom Skill eingerichtet und kann auch Lampen ein und auschalten über Alexa.
Jetzt würde ich gern der Alexa abends sagen "Alexa schließe Haustür zu" und dann soll die Keymatic zu schließen, hat da jemand vielleicht schon was gemacht?
Ich sehe noch nicht ganz durch bei alexamapping, alexaTypes, fhemintents, Custom Slot Types, FHEM_ROOM, Intent Schema,Sample Utterances,homebridgemapping und hoffe das ich mich mit einem Beispiel da irgendwie ran tasten kann.
Grüße
Swen
Willst du wirklich Alexa an deine Haustüre ranlassen? Ich könnte mir da ein schönes Szenario vorstellen. Anrufbeantworter, "Alexa mach die Haustüre auf". Klick...
Zitat von: doman75 am 23 Februar 2017, 12:05:00
Hallo zusammen,
ich habe den SmarthomeSkill und den Custom Skill eingerichtet und kann auch Lampen ein und auschalten über Alexa.
Jetzt würde ich gern der Alexa abends sagen "Alexa schließe Haustür zu" und dann soll die Keymatic zu schließen, hat da jemand vielleicht schon was gemacht?
Ich sehe noch nicht ganz durch bei alexamapping, alexaTypes, fhemintents, Custom Slot Types, FHEM_ROOM, Intent Schema,Sample Utterances,homebridgemapping und hoffe das ich mich mit einem Beispiel da irgendwie ran tasten kann.
Grüße
Swen
Sicherheitsrelevante Dinge wie das Haustürschloss bitte niemals an eine Spracherkennung koppeln die man nicht selbst zu 100% kontrollieren kann!
Im schlimmsten Falle kannst Du nämlich vor der Tür rufen: Alexa, schließe die Haustür auf!
Das wird potentielle Einbrecher natürlich erfreuen!
Gruß
Dan
Vielen Dank für eure Sicherheitsbedenken, ich habe aber ja geschrieben das ich abends sagen will "Alexa, schließe die Haustür zu", also Alexa soll die Haustür zu schließen, aber ein "Alexa, schließe die Haustür auf" soll am Ende natürlich im Sande verlaufen.
Mfg
Swen
Das wäre ja wiederum nicht so bedenklich - allerdings wäre dann eine Bestätigung über einen Schließkontakt oder von Keymatic eine Durchführungsbestätigung noch gut ;-)
Vielleicht ein bisschen Off-topic... Ich finde Alexa und Siri nett, eine nette Spielerei und ab und zu tatsächlich nützlich. Grundsätzlich versuche ich aber die "Automatisierung" groß zu schreiben und "natürliche" Trigger zu finden, um FHEM etwas tun zu lassen, als Beispiel: Wenn ich ins Bett gehe, hänge ich mein Handy ans Ladegerät (mache ich immer) - dies dient als Trigger für vergessene Lichter ausschalten, unnötige Verbraucher ausschalten, Kamera einschalten etc... Wenn ich Keymatic hätte, würde dann auch die Haustüre abgeschlossen. Könnte man natürlich - je nach "Abschliess-Rhythmus" - auch zeitgesteuert o.ä. machen.
Nur so als Anregung (falls du das nicht eh schon machst). :-)
Um auch etwas zum eigentlichen Problem beizutragen: homebridgemapping dürfte wahrscheinlich ausreichen, in Kombination mit einem genericDeviceType, der "auf" (auch wenn du's nicht brauchst) und "zu" versteht, wie z.B. "blind".
Grüße,
Oli
Hallo ,
@KernSani
natürlich passiert das ganze auch automatisiert, aber ich würde eben auch gerne viele Sachen über Alexa mit bedienen können.
ich habe jetzt mal genericDevicetype auf blind gesetzt und alexa gesagt "mache haustür zu", ankommen tut im fhem "set HM_4BCD20 pct0".
Wie bekomme ich über das homebridgemapping hin das er bei dem pct0 ein lock ausführt?
Grüße
Swen
Ich bin mal ganz wagemutig ;D
So vielleicht? Wenn es richtig wäre hätte ich die Mappings halbwegs verstanden.
attr HM_4BCD20 homebridgeMapping HM_4BCD20=pct0,<zu mach befehl>
Kenne den Befehl nicht, den Keymatic benötigt um zu schließen daher... die < >
Und wenn "HM_4BCD20" das nicht der Keymatic selber schon ist, dann musst du das attr HM_4BCD20 mit dem Device ersetzen, der es ist.
Aber wie gesagt............. ich bin auf ganz dünnem Eis... nur irgendwann muss man ja mal anfangen.
HM_4BCD20=pct0,lock das habe ich als homebridgemapping eingetragen aber passieren tut nix. ich versuche mal noch andere konstellationen
HM_4BCD20=pct0,set HM_4BCD20 lock ?
Sonst sag mal was die Logs sagen :-) eventuell kann man es debuggen.
[2017-02-23 15:13:43] [FHEM] homebridgeMapping: HM_4BCD20=pct0,set HM_4BCD20 lock
/opt/fhem/alexa-fhem/lib/fhem.js:858
if( match === undefined || match.length < 4 || !match[3] )
also die letzte variante defintiv nicht, da startet alexa-fhem gar nicht. Ich muss morgen weiter schauen, erstmal vielen Dank für die Hilfe. In den logs sieht man irgendwie nix, ich werde morgen mal mit alexa mit --debug starten da sieht man wohl das mapping.
Grüße
Swen
Hehe dann hab ichs noch immer nicht ganz gepeilt - schade :-D
Generell ist/soll das hier erklärt/sein. ;D ;D ;)
@doman75
schreibe ins alexaMapping
Door=verb=schließe,perfect=geschlossen,articles=die,values=auf:unlock;zu:lock
Dann passe im Custom Skill dein Interaction Model an.
Und in deiner Keymatic unter homebridgeMapping
Door=state,cmd=+,LockCurrentState=lock
eingeben.
Gruß BlasterX
@blasterx Kannst du das hier aufdröseln? :)
"Door=state,cmd=+,LockCurrentState=lock"
Ich verstehe es so:
Door = bezug auf das Mapping
state ist das reading state
cmd=+ Was ist das? Steht dahinter der auszuführende Befehl? Wofür das +?
LockCurrentState kommt woher?
:o 8)
@blasterx
Vielen Dank, funktioniert super. Ich hätte aber auch die bitte wie Master_Nick das du das ganze mal aufdröselt damit man an dem Beispiel sehen kann wie es geht.
Das wäre wirklich toll.
VG
Swen
was ich auch noch nicht verstehe, in der fhem.js gibt es einen Teil:
else if( s.Attributes.model && s.Attributes.model.match(/^HM-SEC-KEY/ ) ) {
this.service_name = 'lock';
this.mappings.TargetDoorState = { reading:'', default:'CLOSED', timeout:500, cmds: ['OPEN:open'] };
this.mappings.LockCurrentState = { reading: 'lock',
values: ['/uncertain/:UNKNOWN', '/^locked/:SECURED', '/.*/:UNSECURED'] };
this.mappings.LockTargetState = { reading: 'lock',
values: ['/^locked/:SECURED', '/.*/:UNSECURED'],
cmds: ['SECURED:lock', 'UNSECURED:unlock'], };
} else if( genericType == 'lock' ) {
this.mappings.TargetDoorState = { reading:'', default:'CLOSED', timeout:500, cmds: ['OPEN:open'] };
this.mappings.LockCurrentState = { reading: 'state',
values: ['/uncertain/:UNKNOWN', '/^locked/:SECURED', '/.*/:UNSECURED'] };
this.mappings.LockTargetState = { reading: 'state',
values: ['/^locked/:SECURED', '/.*/:UNSECURED'],
cmds: ['SECURED:lock+locked', 'UNSECURED:lock+unlocked'] };
das wird auch so erkannt von alexa-fhem aber wie könnte ich den denn benutzen?
Ebenso mit den Contacts, ich habe mal ein mit rein genommen, aber was mache ich jetzt damit? wenn ich frage "status von blablabla" sagt alexa mir nur das der Batteriestand niedrig ist, ich würde aber gern wissen ob der Kontakt zu oder auf ist?
Grüße
Swen
https://forum.fhem.de/index.php/topic,67798.0.html
LG
pah
@ Prof. Dr. Peter Henning Träumchen! 8)