KNX Device Definition - Beispiele: Unterschied zwischen den Versionen

Aus FHEMWiki
KKeine Bearbeitungszusammenfassung
Zeile 7: Zeile 7:


==== Definition eines Sliders ====
==== Definition eines Sliders ====
<syntaxhighlight lang="perl">
<syntaxhighlight lang="text">
define Slider_Test KNX 15/2/2:dpt5:Position
define Slider_Test KNX 15/2/2:dpt5:Position
attr Slider_Test webCmd Position
attr Slider_Test webCmd Position
Zeile 14: Zeile 14:


==== Definition eines Sliders mit Rückmeldung ====
==== Definition eines Sliders mit Rückmeldung ====
<syntaxhighlight lang="perl">
<syntaxhighlight lang="text">
define Slider2_Test KNX 15/2/2:dpt5:Position:set:nosuffix 15/2/3:dpt5:PosStatus:get:nosuffix
define Slider2_Test KNX 15/2/2:dpt5:Position:set:nosuffix 15/2/3:dpt5:PosStatus:get:nosuffix
attr Slider2_Test webCmd Position
attr Slider2_Test webCmd Position
attr Slider2_Test widgetOverride Position:slider,0,5,100
attr Slider2_Test widgetOverride Position:slider,0,5,100
attr Slider2_Test stateCmd { fhem (setreading($NAME,'Position',$state)) if ($gadName eq 'PosStatus); return $state; }
attr Slider2_Test stateCmd { fhem "set $name Position $state" if ($gadName eq 'PosStatus');; return $state;; }
</syntaxhighlight>Das Attr stateCmd setzt den Wert der vom Aktor kommt - in das set-reading, damit der Slider immer auch die aktuelle Position anzeigt.
</syntaxhighlight>Das Attr stateCmd setzt den Wert der vom Aktor kommt - in das set-reading, damit der Slider immer auch die aktuelle Position anzeigt. Die doppelten semicolons sind aus parsing Gründen nötig. Falls man das Atrribut über Device-Detail-view setzt, sind nur einfache ; nötig!
[[Kategorie:Examples]]
[[Kategorie:Examples]]
[[Kategorie:EIB/KNX]]
[[Kategorie:EIB/KNX]]

Version vom 21. September 2021, 12:30 Uhr

Vorwort

Hier soll mit eine Austausch von funktionierenden Beispielen aus dem KNX Bereich stattfinden. Es geht um die Definition, und um die Weiterverarbeitung mittels notify, doif, usw.

Viele Anfragen im Forum beziehen sich auf Probleme bei der Definition und "Weiterverarbeitung" von KNX-Geräten. Alle User sind eingeladen, mit weiteren Beispielen mitzuwirken. Im ersten Schritt werden einige Beispiele aus der Command-Ref hier übertragen, auch um die Command-Ref (in einem zweiten Schritt) etwas kompakter zu gestalten.

Beispiele

Definition eines Sliders

define Slider_Test KNX 15/2/2:dpt5:Position
attr Slider_Test webCmd Position
attr Slider_Test widgetOverride Position-set:slider,0,5,100

Definition eines Sliders mit Rückmeldung

define Slider2_Test KNX 15/2/2:dpt5:Position:set:nosuffix 15/2/3:dpt5:PosStatus:get:nosuffix
attr Slider2_Test webCmd Position
attr Slider2_Test widgetOverride Position:slider,0,5,100
attr Slider2_Test stateCmd { fhem "set $name Position $state" if ($gadName eq 'PosStatus');; return $state;; }

Das Attr stateCmd setzt den Wert der vom Aktor kommt - in das set-reading, damit der Slider immer auch die aktuelle Position anzeigt. Die doppelten semicolons sind aus parsing Gründen nötig. Falls man das Atrribut über Device-Detail-view setzt, sind nur einfache ; nötig!