Alexa und Mappings: Unterschied zwischen den Versionen
Zeile 9: | Zeile 9: | ||
===homebridgeMapping=== | ===homebridgeMapping=== | ||
Dieses Attribut beinhaltet eine durch Leerzeichen getrennte Liste von Datenpaaren | Dieses Attribut beinhaltet eine durch Leerzeichen getrennte Liste von Datenpaaren, in der einfachsten Form | ||
attr meinSensor homebridgeMapping clear <Characteristic1>=<reading1> | attr meinSensor homebridgeMapping clear <Characteristic1>=<reading1> <Characteristic2>=<reading2> <Characteristic3>=<reading3> ... | ||
*Das erste Schlüsselwort hat eine besondere Bedeutung: <code>clear</code>löscht Standardmappings - das wird | *Das erste Schlüsselwort hat eine besondere Bedeutung: <code>clear</code>löscht Standardmappings - das wird meist nicht notwendig sein, schadet aber nichts | ||
*Der Begriff ''Characteristic'' ist der Homekit-Software entlehnt, er bezeichnet einen durch die Sprachsteuerung | *Der Begriff ''Characteristic'' ist der Homekit-Software entlehnt, er bezeichnet einen durch die Sprachsteuerung abfragbare oder setzbaren Aspekt des Sensors/Aktors. <code><Characteristic1>=<reading1></code> verbindet diesen logischen Kanal (linke Seite) mit einem ''reading'' des Sensors/Aktors aus FHEM (rechte Seite). | ||
Eventuell müssen dabei noch die Werte des ''readings'' an diejenigen Werte angepasst werden, die von der ''Characteristic'' erwartet oder geliefert werden: | |||
attr meinSensor homebridgeMapping clear <Characteristic1>=<reading1>,values=<regex11>:<value11>;<regex12>:<value12>;.. | |||
*Die durch Semikolon getrennte Liste der möglichen Werte stellt eine Verbindung zwischen den möglichen Werten des FHEM-Readings (linke Seite, gematcht durch einen Regulären Ausdruck) und den von der ''Characteristic'' erwarteten Werten (rechte Seite) her. '''Achtung''': Auch wegen der Vertauschung der Seitenbezüge links-rechts ist das eine sehr gewöhnungsbedürftige und nicht konistente Notation. | *Die durch Semikolon getrennte Liste der möglichen Werte stellt eine Verbindung zwischen den möglichen Werten des FHEM-Readings (linke Seite, gematcht durch einen Regulären Ausdruck) und den von der ''Characteristic'' erwarteten Werten (rechte Seite) her. '''Achtung''': Auch wegen der Vertauschung der Seitenbezüge links-rechts ist das eine sehr gewöhnungsbedürftige und nicht konistente Notation. | ||
Version vom 24. Februar 2017, 04:40 Uhr
Auf dieser Seite soll das Zusammenwirken zwischen Sensoren/Aktoren in FHEM, dem Programm Alexa-Fhem und den Amazon Web Services erläutern.
Attribute der Sensoren/Aktoren
Die Sensoren/Aktoren werden über zwei Attribute mit der Sprachsteuerung verbunden.
genericDeviceType
Dieses Attribut kennt standardmäßig nur wenige Werte, die per Drop-Down-Liste ausgewählt werden können. Andere Werte müssen über das Befehlsfeld zugewiesen werden:
attr meinSensor genericDeviceType <meinDeviceType>
homebridgeMapping
Dieses Attribut beinhaltet eine durch Leerzeichen getrennte Liste von Datenpaaren, in der einfachsten Form
attr meinSensor homebridgeMapping clear <Characteristic1>=<reading1> <Characteristic2>=<reading2> <Characteristic3>=<reading3> ...
- Das erste Schlüsselwort hat eine besondere Bedeutung:
clear
löscht Standardmappings - das wird meist nicht notwendig sein, schadet aber nichts - Der Begriff Characteristic ist der Homekit-Software entlehnt, er bezeichnet einen durch die Sprachsteuerung abfragbare oder setzbaren Aspekt des Sensors/Aktors.
<Characteristic1>=<reading1>
verbindet diesen logischen Kanal (linke Seite) mit einem reading des Sensors/Aktors aus FHEM (rechte Seite).
Eventuell müssen dabei noch die Werte des readings an diejenigen Werte angepasst werden, die von der Characteristic erwartet oder geliefert werden:
attr meinSensor homebridgeMapping clear <Characteristic1>=<reading1>,values=<regex11>:<value11>;<regex12>:<value12>;..
- Die durch Semikolon getrennte Liste der möglichen Werte stellt eine Verbindung zwischen den möglichen Werten des FHEM-Readings (linke Seite, gematcht durch einen Regulären Ausdruck) und den von der Characteristic erwarteten Werten (rechte Seite) her. Achtung: Auch wegen der Vertauschung der Seitenbezüge links-rechts ist das eine sehr gewöhnungsbedürftige und nicht konistente Notation.
Attribute des Alexa-Devices
alexaMapping
In diesem Attribut finden wir die abstrakten Charakteristics wieder - und zwar in der allgemeinen Form
Characteristic1=<name11>=<value111>[;<value112>]*[,<name12>=<value121>[;<value122>]*]*
<name1x>
ist der Name eines Parameters, z.B. verb- Es folgt eine durch Semikolon getrennte Liste von möglichen Werten. Für verb könnte diese z.B. sein
verb=stelle;setze
- Weitere Parameter/Wert-Listen werden durch ein Komma getrennt angehängt.
Jede Characteristic kann mehrfach auftauchen - nämlich für jede Aussprachemöglichkeit dieser Characteristic. Beispiele:
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200 Hue=verb=färbe,values=rot:0;grün:120;blau:220
Beispiele
Temperatur- und Feuchtesensor
Kombinierte Temperatur-Feuchtesensoren haben in der Regel Readings "humidity" und "temperature". Homekit unterstützt einen "HumiditySensor" Service. Dieser ist in homebridge-fhem nicht standardmäßig vorhanden (kann also nicht aus dem dropdown ausgewählt werden, sondern muss über das Befehlsfeld zugewiesen werden):
attr meinSensor genericDeviceType HumiditySensor
Im nächsten Schritt werden die Readings gemappt:
attr meinSensor homebridgeMapping clear CurrentRelativeHumidity=humidity CurrentTemperature=temperature