Alexa und Mappings: Unterschied zwischen den Versionen

Aus FHEMWiki
Zeile 30: Zeile 30:


==Beispiele==
==Beispiele==
=== Fenstersensor ===
Ein Fenstersensor liefert für sein ''reading'' state die Werte open oder closed. Homekit unterstützt einen Service "ContactSensor", der allerdings andere Datenwerte kennt. Das Mapping lautet in diesem Fall
attr meinSensor homebridgeMapping ContactSensorState=state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED


=== Temperatur- und Feuchtesensor ===
=== 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):
Kombinierte Temperatur-Feuchtesensoren haben in der Regel ''readings'' "humidity" und "temperature". Homekit unterstützt einen Service "HumiditySensor". 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):
<code>attr meinSensor genericDeviceType HumiditySensor</code>
<code>attr meinSensor genericDeviceType HumiditySensor</code>


Im nächsten Schritt werden die Readings gemappt:
Im nächsten Schritt werden die Readings gemappt:
 
attr meinSensor homebridgeMapping clear CurrentRelativeHumidity=humidity CurrentTemperature=temperature
<code>attr meinSensor homebridgeMapping clear CurrentRelativeHumidity=humidity CurrentTemperature=temperature</code>





Version vom 24. Februar 2017, 05:51 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

Fenstersensor

Ein Fenstersensor liefert für sein reading state die Werte open oder closed. Homekit unterstützt einen Service "ContactSensor", der allerdings andere Datenwerte kennt. Das Mapping lautet in diesem Fall

attr meinSensor homebridgeMapping ContactSensorState=state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED

Temperatur- und Feuchtesensor

Kombinierte Temperatur-Feuchtesensoren haben in der Regel readings "humidity" und "temperature". Homekit unterstützt einen Service "HumiditySensor". 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