Alexa und Mappings
Auf dieser Seite soll das Zusammenwirken zwischen Sensoren/Aktoren in FHEM, dem Programm Alexa-Fhem und den Amazon Web Services erläutern.
Allgemeine Darstellung
Die Sensoren/Aktoren werden über zwei Attribute mit der Sprachsteuerung verbunden.
genericDeviceType
Das Attribut genericDeviceType 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
Das Attribut homebridgeMapping beinhaltet eine durch Leerzeichen getrennte Liste von Datenpaaren
attr meinSensor homebridgeMapping clear <Characteristic1>=<reading1>[,values=<regex11>:<value11>[,<regex12>:<value12>]*] [<Characteristic2>=<reading2>[,values=<regex21>:<value21>[,<regex22>:<value22>]*]*
- Das erste Schlüsselwort hat eine besondere Bedeutung:
clear
löscht Standardmappings - das wird in der Regel nicht notwendig sein, schadet aber nicht - Der Begriff Characteristic ist der Homekit-Software entlehnt, er bezeichnet einen durch die Sprachsteuerung abfragbarne oder setzbaren Aspekt des Sensors/Aktors.
<Characteristic1>=<reading1>
verbindet diesen logischen Kanal (linke Seite) mit einem reading des Sensors/Aktors (rechte Seite). - 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.
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