Alexa und Mappings: Unterschied zwischen den Versionen

Aus FHEMWiki
Zeile 20: Zeile 20:
===alexaMapping===
===alexaMapping===
In diesem Attribut finden wir die abstrakten ''Charakteristics'' wieder - und zwar in der allgemeinen Form
In diesem Attribut finden wir die abstrakten ''Charakteristics'' wieder - und zwar in der allgemeinen Form
  Characteristic1=<name11>=<value111>[;<value112>]*[,<name12>=<value121>[;<value122>]*]*
  Characteristic=<name1>=<value11>[;<value12>]*[,<name2>=<value21>[;<value22>]*]*
*<code><name1x></code> ist der Name eines Parameters, z.B. ''verb''
*<code><namex></code> 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 <code>verb=stelle;setze</code>
*Es folgt eine durch Semikolon getrennte Liste von möglichen Werten. Für ''verb'' könnte diese z.B. sein <code>verb=stelle;setze</code>
*Weitere Parameter/Wert-Listen werden durch ein Komma getrennt angehängt.
*Weitere Parameter/Wert-Listen werden durch ein Komma getrennt angehängt, z.B. <code>verb=stelle;setze,valueOn=an;ein,valueOff=aus</code>
Jede ''Characteristic'' kann mehrfach auftauchen - nämlich für jede Aussprachemöglichkeit dieser ''Characteristic''. Beispiele:
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
  On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

Version vom 24. Februar 2017, 04:46 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: clearlö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 abfragbaren 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: Wegen der nicht konsistenten Vertauschung der Seitenbezüge links-rechts ist das eine sehr gewöhnungsbedürftige Notation.

Attribute des Alexa-Devices

alexaMapping

In diesem Attribut finden wir die abstrakten Charakteristics wieder - und zwar in der allgemeinen Form

Characteristic=<name1>=<value11>[;<value12>]*[,<name2>=<value21>[;<value22>]*]*
  • <namex> 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, z.B. verb=stelle;setze,valueOn=an;ein,valueOff=aus

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