SetList: Unterschied zwischen den Versionen

Aus FHEMWiki
(→‎Syntax: Definitonsbespiel hinzugefügt, aber ohne Erklärung)
 
(14 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 8: Zeile 8:
== Syntax ==
== Syntax ==
Das ''setList'' Attribut wird in der folgenden Weise spezifiziert:
Das ''setList'' Attribut wird in der folgenden Weise spezifiziert:
define Raumtemperatur dummmy
:<code><nowiki>attr <device> setList <Reading1>:⟨<Modifier1>,⟩<Value1>,<Value2>,<...> <Reading2>:⟨<Modifier2>,⟩<Value1>,<Value2>,<...> ...</nowiki></code>
attr Raumtemperatur setList state:slider,10,0.5,30,1
Es ist auch möglich, zur Verbesserung der Übersichtlichkeit und Lesbarkeit, das setList Attribut mehrzeilig zu formulieren.


== Einschränkungen ==  
== Einschränkungen ==  
Dieses Attribut existiert nur bei [[dummy]]- und [[readingsProxy]]-Devices.  
Dieses Attribut existiert nur bei [[DOIF]]-, [[dummy]]-, [[MSwitch]]- und [[readingsProxy]]-Devices.
[[MQTT2 DEVICE]] nutzt setList um Änderungen an State bzw. Readings an den Server zu übermitteln, der diese dann an die eigentlichen Geräte weitergibt oder dort vorhält. Für jedes Reading ist eine eigene Zeile erforderlich, das Aussehen in der Detailansicht des Geräts kann direkt über eine entsprechende widget-Definition vorgenommen werden.


== Beispiele ==
== Beispiele ==
Mit der Definition ...
 
In diesem ersten Beispiel wird der ''state'' als Schiebebalken (slider) angezeigt. Wobei die erste Zahl den niedrigsten möglichen Wert angibt. Die zweite den Wert, um den jeweils erhöht wird. Und die dritte den maximal möglichen Wert.
define Raumtemperatur dummy
attr Raumtemperatur setList :slider,10,0.5,30
 
Hier wird für den ''state'' eine Uhrzeit angegeben. Die kann mit zwei Schiebebalken (einer für die Stunden, einer für die Minuten) gesetzt werden.
define Wecker_Uhrzeit dummy
attr Wecker_Uhrzeit setList :time
 
Möchte man Farbwerte einstellen, kann man ''colorpicker'' verwenden. Damit kann dann auf einer Palette eine Farbe gewählt werden.
define Farbe dummy
attr Farbe setList :colorpicker
 
 
define Wecker_Uhrzeit dummy
attr Wecker_Uhrzeit setList state:AUS,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:35,06:40,06:45,06:50,06:55,07:00,07:05,07:10,07:15,07:20,07:25,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45
attr Wecker_Uhrzeit readingList state
attr Wecker_Uhrzeit webCmd state
 
define Beschattung_auto dummy
attr Beschattung_auto setList state:aktiv,passiv
attr Beschattung_auto readingList state
attr Beschattung_auto webCmd state
 
define Heizungsmodus dummy
attr Heizungsmodus setList state:auto,FHEM,Frostschutz,AUS
attr Heizungsmodus readingList state
attr Heizungsmodus webCmd state
 
define TV_ProgrammKanal dummy
attr TV_ProgrammKanal setList ARD_Ch ZDF_Ch HR_Ch RTL_Ch Sat1_Ch VOX_Ch Pro7_Ch Kabel1_Ch COMEDYCENTRAL_Ch DREISAT_Ch ARTE_Ch EINSPLUS_Ch EINSFESTIVAL_Ch ZDFNEO_Ch NDR_Ch MDR_Ch BR_Ch RBB_Ch SWR_Ch WDR_Ch RTL2_Ch SUPERRTL_Ch SPORT1_Ch EUROSPORT_Ch DMAX_Ch N24_Ch NTV_Ch RTLNITRO_Ch SAT1GOLD_Ch SIXX_Ch TELE5_Ch
attr TV_ProgrammKanal readingList state
 
define benzinpreis dummy
attr benzinpreis readingList SuperE5_2 SuperPlus_2
attr benzinpreis setList SuperE5_2:slider,140,1,200 SuperPlus_2:slider,140,1,200
attr benzinpreis stateFormat SuperE5, SuperPlus
attr benzinpreis userReadings SuperE5 {(ReadingsVal("oil","SuperE5_2",0) / 100 )}, SuperPlus {(ReadingsVal("oil","SuperPlus_2",0) / 100 )}
attr benzinpreis webCmd SuperE5_2:SuperPlus_2


== Links ==
== Links ==

Aktuelle Version vom 28. Oktober 2023, 14:10 Uhr


Das Attribut setList dient dazu, bei generischen Devices die Liste der möglichen set Kommandos zu spezifizieren.


Todo: Bitte analog zu eventMap mit Inhalt füllen.


Syntax

Das setList Attribut wird in der folgenden Weise spezifiziert:

attr <device> setList <Reading1>:⟨<Modifier1>,⟩<Value1>,<Value2>,<...> <Reading2>:⟨<Modifier2>,⟩<Value1>,<Value2>,<...> ...

Es ist auch möglich, zur Verbesserung der Übersichtlichkeit und Lesbarkeit, das setList Attribut mehrzeilig zu formulieren.

Einschränkungen

Dieses Attribut existiert nur bei DOIF-, dummy-, MSwitch- und readingsProxy-Devices. MQTT2 DEVICE nutzt setList um Änderungen an State bzw. Readings an den Server zu übermitteln, der diese dann an die eigentlichen Geräte weitergibt oder dort vorhält. Für jedes Reading ist eine eigene Zeile erforderlich, das Aussehen in der Detailansicht des Geräts kann direkt über eine entsprechende widget-Definition vorgenommen werden.

Beispiele

In diesem ersten Beispiel wird der state als Schiebebalken (slider) angezeigt. Wobei die erste Zahl den niedrigsten möglichen Wert angibt. Die zweite den Wert, um den jeweils erhöht wird. Und die dritte den maximal möglichen Wert.

define Raumtemperatur dummy
attr Raumtemperatur setList :slider,10,0.5,30

Hier wird für den state eine Uhrzeit angegeben. Die kann mit zwei Schiebebalken (einer für die Stunden, einer für die Minuten) gesetzt werden.

define Wecker_Uhrzeit dummy
attr Wecker_Uhrzeit setList :time

Möchte man Farbwerte einstellen, kann man colorpicker verwenden. Damit kann dann auf einer Palette eine Farbe gewählt werden.

define Farbe dummy
attr Farbe setList :colorpicker


define Wecker_Uhrzeit dummy
attr Wecker_Uhrzeit setList state:AUS,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:35,06:40,06:45,06:50,06:55,07:00,07:05,07:10,07:15,07:20,07:25,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45
attr Wecker_Uhrzeit readingList state
attr Wecker_Uhrzeit webCmd state
define Beschattung_auto dummy
attr Beschattung_auto setList state:aktiv,passiv
attr Beschattung_auto readingList state
attr Beschattung_auto webCmd state
define Heizungsmodus dummy
attr Heizungsmodus setList state:auto,FHEM,Frostschutz,AUS
attr Heizungsmodus readingList state
attr Heizungsmodus webCmd state
define TV_ProgrammKanal dummy
attr TV_ProgrammKanal setList ARD_Ch ZDF_Ch HR_Ch RTL_Ch Sat1_Ch VOX_Ch Pro7_Ch Kabel1_Ch COMEDYCENTRAL_Ch DREISAT_Ch ARTE_Ch EINSPLUS_Ch EINSFESTIVAL_Ch ZDFNEO_Ch NDR_Ch MDR_Ch BR_Ch RBB_Ch SWR_Ch WDR_Ch RTL2_Ch SUPERRTL_Ch SPORT1_Ch EUROSPORT_Ch DMAX_Ch N24_Ch NTV_Ch RTLNITRO_Ch SAT1GOLD_Ch SIXX_Ch TELE5_Ch
attr TV_ProgrammKanal readingList state
define benzinpreis dummy
attr benzinpreis readingList SuperE5_2 SuperPlus_2
attr benzinpreis setList SuperE5_2:slider,140,1,200 SuperPlus_2:slider,140,1,200
attr benzinpreis stateFormat SuperE5, SuperPlus
attr benzinpreis userReadings SuperE5 {(ReadingsVal("oil","SuperE5_2",0) / 100 )}, SuperPlus {(ReadingsVal("oil","SuperPlus_2",0) / 100 )}
attr benzinpreis webCmd SuperE5_2:SuperPlus_2

Links