Alexa und Mappings: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 17: | Zeile 17: | ||
*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. | *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. | ||
==Liste der unterstützten ''Characteristics''== | ==Attribute des Alexa-Devices== | ||
===alexaMapping=== | |||
In diesem Attribut finden wir die abstrakten ''Characteristics'' wieder - und zwar in der allgemeinen Form | |||
Characteristic=<name1>=<value11>[;<value12>]*[,<name2>=<value21>[;<value22>]*]* | |||
*<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> | |||
*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: | |||
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 | |||
==Liste der unterstützten ''Characteristics'' und ihrer Parameter= | |||
===''Characteristics''== | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Zeile 54: | Zeile 67: | ||
| alle anderen Homebridge Characteristic | | alle anderen Homebridge Characteristic | ||
|} | |} | ||
===Parameter=== | |||
{| class="wikitable" | |||
|- | |||
! Name !! Typ !! Parameter | |||
|- | |||
| values || Dieser Parameter enthält eine durch Semikolon getrennte Liste von Entsprechungen der Form <code>FHEM-Wert:Homekit-Wert</code>. Jeder FHEM-Wert kann ein Literal (String) sein, oder ein Regulärer Ausdruck der Form /regex/. Jeder Homekit-Wert kann ein Literal (String) sein, oder ein für diese ''Characteristic'' definierter Term. | |||
|- | |||
| Brightness | |||
|- | |||
*Parameter each from value can be a literal value or a regex of the form /regex/ each to value can be a literal value or a homekit defined term for this characteristic if to is exaktly # then it is set to the current value. usefull for regex ranges | *Parameter each from value can be a literal value or a regex of the form /regex/ each to value can be a literal value or a homekit defined term for this characteristic if to is exaktly # then it is set to the current value. usefull for regex ranges | ||
==Beispiele== | ==Beispiele== |
Version vom 24. Februar 2017, 08:39 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 optionale Schlüsselwort
clear
hat eine besondere Bedeutung: Es 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 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 Characteristics 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
=Liste der unterstützten Characteristics und ihrer Parameter
=Characteristics
Name | Typ | Parameter |
---|---|---|
On | Boolean | valueOn, cmdOn, cmdOff |
Brightness | ||
Hue | ||
Saturation | ||
CurrentTemperaure | ||
TargetTemperature | ||
CurrentRelativeHumidity | ||
CurrentAmbientLightLevel | ||
AirQuality | ||
CurrentDoorState | ||
OccupancyDetected | ||
StatusLowBattery | ||
SecuritySystemCurrentState | ||
SecuritySystemTargetState | ||
FirmwareRevision | ||
alle anderen Homebridge Characteristic |
Parameter
- Parameter each from value can be a literal value or a regex of the form /regex/ each to value can be a literal value or a homekit defined term for this characteristic if to is exaktly # then it is set to the current value. usefull for regex ranges
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
Name | Typ | Parameter |
---|---|---|
values | Dieser Parameter enthält eine durch Semikolon getrennte Liste von Entsprechungen der Form FHEM-Wert:Homekit-Wert . Jeder FHEM-Wert kann ein Literal (String) sein, oder ein Regulärer Ausdruck der Form /regex/. Jeder Homekit-Wert kann ein Literal (String) sein, oder ein für diese Characteristic definierter Term.
| |
Brightness |