SetList: Unterschied zwischen den Versionen
(→Syntax: Definitonsbespiel hinzugefügt, aber ohne Erklärung) |
F Klee (Diskussion | Beiträge) |
||
(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: | ||
:<code><nowiki>attr <device> setList <Reading1>:⟨<Modifier1>,⟩<Value1>,<Value2>,<...> <Reading2>:⟨<Modifier2>,⟩<Value1>,<Value2>,<...> ...</nowiki></code> | |||
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 == | ||
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
- Ausführliche Beschreibung (mit Beispielen) zu eventMap, devStateIcon, setList und webCmd in diesem Forenthread