Hallo,
aktuell habe ich etwas Zeit und bin dabei alexa-fhem von meinen Testsystemen*) auf mein Hauptsystem zu "migrieren"...
...parallel bekomme ich nat. mit, dass auch mit dem Smart Home Skill "immer mehr geht" :)
Daher probiere ich aktuell (vor dem "Umzug") noch ein wenig aus, was ich wie haben will, also (für mich) geschickteste Umsetzung gewisser Dinge.
Dabei "stolpere" ich nat. immer wieder über homeBridgeMapping (bislang habe ich mich immer davor gedrückt ;) ).
Einiges mache ich (noch immer) per Dummy wo ich dann gleich mit den "richtigen" Readings arbeite.
Beispiel:
Fernseher (wobei Fernseher als Name nicht gut ist ;) mit t.v. geht es ganz gut)
Internals:
FUUID 5c73f4ce-f33f-ff8d-7039-42a91f21401abc05
NAME dmTV
NR 44
STATE on
TYPE dummy
OLDREADINGS:
2019-02-25 18:55:08 volume 90
READINGS:
2019-02-25 19:44:43 mute 0
2019-02-25 15:53:08 state on
2019-02-25 19:44:43 volume 100
Attributes:
alexaName t.v.
genericDeviceType speaker
oldreadings volume
readingList volume mute
room alexa
setList on off mute volume
Jaja, ich weiß: dummy und notify ist für Dummies ;)
Aber es gibt einen Grund: wenn ein bestimmter Befehl von Alexa kommt, dann prüfe ich in einer Sub noch einiges bevor ich dann den tatsächlichen Befehl ausführe...
Da wüsste ich jetzt nicht wie ich das mit homeBridgeMapping und dann ja dort "direkten Befehlen" anstellen sollte...
Beim genannten Dummy funktionieren die Befehle (lauter, leiser, mute), weil die Readings (zufällig) passend sind (da hatte ich Glück ;) ).
Jetzt wollte ich weiter gehen (weil ich mitgekriegt habe, dass inzwischen Multimedia geht) und eben ein "media-Device" anlegen...
...und jetzt kommt das eigentliche Problem:
was Alexa alles in welcher Sprache kann findet sich ja auf Amazon-Developer, z.B. hier: https://developer.amazon.com/de/docs/device-apis/message-guide.html (und dann halt durchhangeln / irgendwo war auch ein besserer Link, finde ich aber grad nicht)
ABER: wie kann ich feststellen, WAS alexa-fhem jeweils davon bereits unterstützt?
(habe schon den Code duchsucht aber manchmal finde ich was, dann wieder nicht, habe aber gelesen, dass es bereits unterstützt wird)
Code von alexa-fhem durchsuchen wäre ok, wenn ich immer so wüsste wo (also in welcher Datei was) suchen... ;)
Dann die Frage: wie finde ich die Namen der Readings mit denen es "automatisch" klappen würde? Ebenfalls im Code?
(wenn ich wüsste wo suchen!?)
Wenn ich ein homeBridgeMapping bräuchte: wo kann ich dann rausfinden, wie die "Characteristic" heißt?
Ich habe mal folgende Quelle gefunden: https://github.com/KhaosT/HAP-NodeJS/blob/master/lib/gen/HomeKitTypes.js
Bin ich da richtig?
Gibt es eine bessere?
Kann man das auch im Code finden!?
Sorry für die lange Geschichte/Frage aber ich denke das ist für viele interessant!?
Vielen Dank schon mal, Joachim
*) Testsysteme/alexa-fhem "Infrastruktur":
- Hauptsystem: alexa-fhem (legacy), fhem (alexa-Modul) aktuell, Smart Home Skill (Developer)
- Testsystem 1: 3x Custom Skill und Smart Home Skill (Developer) eingebunden per config.json des "Hauptsystems" (fhem-connection)
- Testsystem 2: alexa-fhem (aktuell), fhem (alexa-Modul) aktuell, Smart Home Skill (fhem Connector) -> aktuelle "Spielwiese" ;)
es steht alles hier: https://wiki.fhem.de/wiki/FHEM_Connector#Was_geht_alles_.3F (https://wiki.fhem.de/wiki/FHEM_Connector#Was_geht_alles_.3F)
inklusive dem 'besseren' link :).
wenn was fehlt: bitte ergänzen.
wenn du selber suchen magst:
was alexa-fhem kann findest du am besten über die deviceToEndpoints routine in lib/server.js. da werden die characteristics auf alexa typen umgebaut. wenn du in lib/fhem dann nach der characteristic suchst findest du welches readings oder set das automatische anlegen einer characteristic anstößt.
in den alexa (debug) ausgaben beim start siehst du auch was alles automatisch angelegt wird.
prüfen kannst du vorher z.b. auch mit cmdalias. über das alexa device kannst du rausfinden ob ein kommando gerade von alexa kommt oder von woanders. ob das besser ist als dummy... kommt drauf an :)
Hallo André,
vielen Dank!
Dann weiß ich ja wo ich weiter suchen/schauen kann!
EDIT: SUPER! Ja, so komme ich weiter... Jetzt muss nur noch Amazon am Verstehen "arbeiten" ;) Mal geht es (eine zeitlang) gut, dann wieder (mal gar) nicht...
Zitat von: justme1968
über das alexa device kannst du rausfinden ob ein kommando gerade von alexa kommt oder von woanders
Äh, wo sehe ich das?
Hab grad geschaut aber ich kann kein Reading etc. entdecken wo ich was/sowas sehen könnte!?
Gruß, Joachim
das internal active des alexa device wird von 0 auf 1 geändert und nach dem kommando wieder zurück.
Zitat von: justme1968 am 26 Februar 2019, 14:24:49
das internal active des alexa device wird von 0 auf 1 geändert und nach dem kommando wieder zurück.
Hmmm, hab grad mal geschaut, hat sich nichts geändert...
Wird ein Internal überhaupt in der Weboberfläche (so schnell) angezeigt?
Und andere Frage: woher sollte ein Kommando sonst (noch) kommen? ;)
Aber das ist nur Nebensache...
Gruß, Joachim
das kannst du im fronten nicht sehen. nur wenn du im notify direkt auf das internal schaust.
ZitatUnd andere Frage: woher sollte ein Kommando sonst (noch) kommen? ;)
über klick im frontend, über ein at, über siri, über ... 1000 möglichkeiten ohne alexa :)
Zitat von: justme1968 am 26 Februar 2019, 15:32:08
das kannst du im fronten nicht sehen. nur wenn du im notify direkt auf das internal schaust.
ok.
Zitat von: justme1968 am 26 Februar 2019, 15:32:08
über klick im frontend, über ein at, über siri, über ... 1000 möglichkeiten ohne alexa :)
Haha, aktuell reicht mir schon der "Kampf" mit Alexa...
...da brauche ich nicht noch weitere Eingabemöglichkeiten ;)
Gruß, Joachim
Hier mal für mich einen Link wo homebridgeMapping erklärt wird: https://forum.fhem.de/index.php/topic,48558.msg402024.html#msg402024
Vielleicht steige ich ja noch dahinter... ;)
Gruß, Joachim