EventMap: Unterschied zwischen den Versionen

Aus FHEMWiki
(Beispiel "dim xx" aus Forum als Beispiel eingefügt)
(RegExp in mehrzeilig definierter eventMap)
Zeile 11: Zeile 11:


Es können auch mehrere "alte" Werte über reguläre Ausdrücke zusammengefasst auf einen einzelnen neuen Wert umgesetzt werden.
Es können auch mehrere "alte" Werte über reguläre Ausdrücke zusammengefasst auf einen einzelnen neuen Wert umgesetzt werden.
Ab der Fhem-[[version|Version]] vom 27.10.2015 ist es auch möglich, zur Verbesserung der Übersichtlichkeit und Lesbarkeit, das ''eventMap'' Attribut mehrzeilig zu formulieren. Siehe dazu auch  {{Link2Forum|Topic=43023|Message=350289|LinkText=diesen Forenbeitrag}}.


== Einschränkungen ==  
== Einschränkungen ==  
Zeile 29: Zeile 31:
Eine ''eventMap'' Definition, die das erfüllt:
Eine ''eventMap'' Definition, die das erfüllt:
:<code>on:Hoch off:Runter dim.[789]\d:Hoch dim.*:Runter</code>
:<code>on:Hoch off:Runter dim.[789]\d:Hoch dim.*:Runter</code>
=== Reguläre Ausdrücke in eventMap ===
Eine ''eventMap'' mit komplexeren [[Regulärer Ausdruck|regulären Ausdrücken]] und unsymmetrischem "Device" zu "User" mapping ist in {{Link2Forum|Topic=43023|Message=350289|LinkText=diesem Forenbeitrag}} erläutert.


== Links ==
== Links ==

Version vom 26. Oktober 2015, 20:25 Uhr


Das Attribut eventMap dient dazu, Ereignisse (bzw. Status), die ein Device unterstützt, auf eine andere Schreibweise oder Übersetzung umzuleiten (zu mappen) oder mehrere gleichartige Werte auf einen einzelnen neuen Wert zusammenzufassen.

Syntax

Das eventMap Attribut wird in der folgenden Weise spezifiziert:

attr <device> eventMap /old1:new1/old2:new2/[old_n:new_n/]

wobei der Wert des Attributs eine Liste von Wertepaaren ist, bei der der alte Wert vom darauffolgenden neuen Werte durch einen Doppelpunkt getrennt wird. Die Wertepaare können im einfachsten Fall durch Leerzeichen voneinander getrennt sein, sofern die spezifizierten Wertepaare jedoch selbst Leerzeichen enthalten können, muss ein anderes Trennzeichen (Delimiter) wie z.B. "/" oder "," benutzt werden.

Es können auch mehrere "alte" Werte über reguläre Ausdrücke zusammengefasst auf einen einzelnen neuen Wert umgesetzt werden.

Ab der Fhem-Version vom 27.10.2015 ist es auch möglich, zur Verbesserung der Übersichtlichkeit und Lesbarkeit, das eventMap Attribut mehrzeilig zu formulieren. Siehe dazu auch diesen Forenbeitrag.

Einschränkungen

Werden mit eventMap Werte umdefiniert, müssen zumindest in manchen Situationen (z.B. devStateIcon) die "neuen" Werte verwendet werden.

Beispiele

Mit der Definition

attr meinDevice eventMap on:An off:Aus

wird on zu An und off zu Aus "umdefiniert".

Sollen beispielsweise alle "off-for-timer..." Ereignisse auf "hell" und alle "on-for-timer..." auf "dunkel" umgesetzt werden, kann das mit

attr eventMap off.*:hell on.*:dunkel

erreicht werden.

Dimmstufen zusammenfassen

Aus diesem Thema stammt die "Aufgabe"

dim 70 bis dim 99 soll als Hoch interpretiert werden, alles andere mit dim als Runter. Weiterhin on als Hoch und off als Runter

Eine eventMap Definition, die das erfüllt:

on:Hoch off:Runter dim.[789]\d:Hoch dim.*:Runter

Reguläre Ausdrücke in eventMap

Eine eventMap mit komplexeren regulären Ausdrücken und unsymmetrischem "Device" zu "User" mapping ist in diesem Forenbeitrag erläutert.

Links