FHEMWEB/ControlMiniDash: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Datei:Controlminidash.png == ControlMiniDash – kompaktes Dashboard-Widget == Dieses Widget stellt ein kompaktes Dashboard bereit, das direkt in einem Device definiert werden kann. Es wurde ursprünglich für ein Klimaanlagen-Setup entwickelt und dient als flexibles, visuelles Bedienelement für Geräte wie z. B. den HmIP-WTH-2. Das Widget besteht aus zentralen Informationstexten, einem farbigen Außenring, einem Sliderbutton für die Solltemperatu…“) |
Keine Bearbeitungszusammenfassung |
||
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
[[Datei:Controlminidash.png]] | [[Datei:Controlminidash.png|Mini|rechts]] | ||
== ControlMiniDash – kompaktes Dashboard-Widget == | == ControlMiniDash – kompaktes Dashboard-Widget == | ||
Dieses Widget stellt ein kompaktes Dashboard bereit, das direkt in einem Device definiert werden kann. | Dieses Widget stellt ein kompaktes Dashboard bereit, das direkt in einem Device im [[FHEMWEB]] ([[PGM2]]) Frontend | ||
Es wurde ursprünglich für ein Klimaanlagen-Setup entwickelt und dient als flexibles, visuelles Bedienelement | definiert werden kann. Es wurde ursprünglich für ein Klimaanlagen-Setup entwickelt und dient als flexibles, | ||
für Geräte wie z. B. den HmIP-WTH-2. | visuelles Bedienelement für Geräte wie z. B. den HmIP-WTH-2. | ||
Das Widget besteht aus zentralen Informationstexten, einem farbigen Außenring, einem Sliderbutton für die | Das Widget besteht aus zentralen Informationstexten, einem farbigen Außenring, einem Sliderbutton für die | ||
| Zeile 10: | Zeile 10: | ||
=== Hilfe === | === Hilfe === | ||
Forenthread zum | * Forenthread zum {{Link2Forum|Topic=142831|LinkText=ControlMiniDash Widget}} | ||
| Zeile 35: | Zeile 35: | ||
Beispiel ohne Buttons: | Beispiel ohne Buttons: | ||
<syntaxhighlight lang="Perl"> | |||
attr <device> webCmd climacontrol | attr <device> webCmd climacontrol | ||
attr <device> widgetOverride climacontrol:controlminidash,measured-temp,humidity,desired-temp,state,#,#,#,#,#,# | attr <device> widgetOverride climacontrol:controlminidash,measured-temp,humidity,desired-temp,state,#,#,#,#,#,# | ||
</syntaxhighlight> | |||
Beispiel mit FhemSVG-Buttons: | Beispiel mit FhemSVG-Buttons: | ||
<syntaxhighlight lang="Perl"> | |||
attr <device> webCmd climacontrol | attr <device> webCmd climacontrol | ||
attr <device> widgetOverride climacontrol:controlminidash,measured-temp,humidity,desired-temp,state,sani_heating_manual@controlMode.manual,rc_MINUS@temp-5,sani_heating_boost@boost,sani_heating_automatic@controlMode.automatic,rc_PLUS@temp+5,sani_heating_mode@night_day' | attr <device> widgetOverride climacontrol:controlminidash,measured-temp,humidity,desired-temp,state,sani_heating_manual@controlMode.manual,rc_MINUS@temp-5,sani_heating_boost@boost,sani_heating_automatic@controlMode.automatic,rc_PLUS@temp+5,sani_heating_mode@night_day' | ||
</syntaxhighlight> | |||
Wenn im Device keine Luftfeuchte/Humidity vorhanden ist, kann diese mit # an der dritten Position ausgeblendet werden. | Wenn im Device keine Luftfeuchte/Humidity vorhanden ist, kann diese mit # an der dritten Position ausgeblendet werden. | ||
<syntaxhighlight lang="Perl"> | |||
attr HmIP_KLHR_STHD webCmd controlMD auto:manu:boost:on:off | attr HmIP_KLHR_STHD webCmd controlMD auto:manu:boost:on:off | ||
attr HmIP_KLHR_STHD widgetOverride controlMD:controlminidash,measured-temp,#,desired-temp,HEATING_COOLING,#,#,#,#,#,# | attr HmIP_KLHR_STHD widgetOverride controlMD:controlminidash,measured-temp,#,desired-temp,HEATING_COOLING,#,#,#,#,#,# | ||
</syntaxhighlight> | |||
=== Parameterübersicht === | === Parameterübersicht === | ||
| Zeile 81: | Zeile 83: | ||
| Das Reading ist frei wählbar. | | Das Reading ist frei wählbar. | ||
|- | |- | ||
| <code>btnXIcon | | <code>btnXIcon@btnXCmd </code> | ||
| Button-Attribute | | Button-Attribute | ||
| Individuelle Definition von Icon und Befehl für die sechs möglichen Buttons. | | Individuelle Definition von Icon und Befehl für die sechs möglichen Buttons. | ||
| Zeile 99: | Zeile 101: | ||
Beispiel-Definition: | Beispiel-Definition: | ||
<syntaxhighlight lang="Perl"> | |||
defmod widgetControlUserAttr dummy | defmod widgetControlUserAttr dummy | ||
attr widgetControlUserAttr userattr btn1Cmd btn1Color btn1Icon btn2Cmd btn2Color btn2Icon btn3Cmd btn3Color btn3Icon btn4Cmd btn4Color btn4Icon btn5Cmd btn5Color btn5Icon btn6Cmd btn6Color btn6Icon | attr widgetControlUserAttr userattr btn1Cmd btn1Color btn1Icon btn2Cmd btn2Color btn2Icon btn3Cmd btn3Color btn3Icon btn4Cmd btn4Color btn4Icon btn5Cmd btn5Color btn5Icon btn6Cmd btn6Color btn6Icon | ||
| Zeile 129: | Zeile 132: | ||
setstate widgetControlUserAttr 2025-11-30 11:42:48 measured-temp 19 | setstate widgetControlUserAttr 2025-11-30 11:42:48 measured-temp 19 | ||
setstate widgetControlUserAttr 2025-11-30 11:51:21 state heating | setstate widgetControlUserAttr 2025-11-30 11:51:21 state heating | ||
</syntaxhighlight> | |||
=== Mit DOIF diverse Widgets in einem Table zusammenfassen === | === Mit DOIF diverse Widgets in einem Table zusammenfassen === | ||
<syntaxhighlight lang="Perl"> | |||
defmod di_widget DOIF ## | defmod di_widget DOIF ## | ||
attr di_widget room Test | attr di_widget room Test | ||
| Zeile 145: | Zeile 149: | ||
widget([TH_Keller_HM:desired-temp],$_param,$_set)|\ | widget([TH_Keller_HM:desired-temp],$_param,$_set)|\ | ||
widget([TH_Bad_HM:desired-temp],$_param,$_set) | widget([TH_Bad_HM:desired-temp],$_param,$_set) | ||
</syntaxhighlight> | |||
[[Kategorie:Code Snippets]] | |||
[[Kategorie:FHEM Frontends]] | |||
Aktuelle Version vom 9. Dezember 2025, 21:10 Uhr
ControlMiniDash – kompaktes Dashboard-Widget
Dieses Widget stellt ein kompaktes Dashboard bereit, das direkt in einem Device im FHEMWEB (PGM2) Frontend definiert werden kann. Es wurde ursprünglich für ein Klimaanlagen-Setup entwickelt und dient als flexibles, visuelles Bedienelement für Geräte wie z. B. den HmIP-WTH-2.
Das Widget besteht aus zentralen Informationstexten, einem farbigen Außenring, einem Sliderbutton für die Solltemperatur sowie bis zu sechs frei definierbaren Buttons.
Hilfe
- Forenthread zum ControlMiniDash Widget
Funktionen
Zentrale Textelemente
Vier Textelemente werden in der Mitte angezeigt:
- Gemessene Temperatur
- Luftfeuchtigkeit
- Solltemperatur
- Freitextfeld / Statusfeld
Interaktion
- Der runde Button auf dem Außenring ermöglicht das direkte Erhöhen oder Verringern der Solltemperatur.
- Der Außenring ändert seine Farbe abhängig von der aktuellen Temperatur (7 °C bis 30 °C).
- Links (1–3) und rechts (4–6) können jeweils drei frei belegbare Buttons definiert werden.
- Für die Buttons können sowohl Data-URL-SVG als auch FHEM-SVG-Icons verwendet werden.
Einrichtung im Device
Das Widget wird über webCmd und widgetOverride aktiviert.
Beispiel ohne Buttons:
attr <device> webCmd climacontrol
attr <device> widgetOverride climacontrol:controlminidash,measured-temp,humidity,desired-temp,state,#,#,#,#,#,#
Beispiel mit FhemSVG-Buttons:
attr <device> webCmd climacontrol
attr <device> widgetOverride climacontrol:controlminidash,measured-temp,humidity,desired-temp,state,sani_heating_manual@controlMode.manual,rc_MINUS@temp-5,sani_heating_boost@boost,sani_heating_automatic@controlMode.automatic,rc_PLUS@temp+5,sani_heating_mode@night_day'
Wenn im Device keine Luftfeuchte/Humidity vorhanden ist, kann diese mit # an der dritten Position ausgeblendet werden.
attr HmIP_KLHR_STHD webCmd controlMD auto:manu:boost:on:off
attr HmIP_KLHR_STHD widgetOverride controlMD:controlminidash,measured-temp,#,desired-temp,HEATING_COOLING,#,#,#,#,#,#
Parameterübersicht
| Abschnitt | Bedeutung | Beschreibung |
|---|---|---|
<beliebigerName>
|
webCmd-Zuweisung | Gibt an, welches webCmd das Widget repräsentiert.
|
controlminidash
|
Widget-Typ | Aktiviert das Dashboard-Widget. |
measured-temp
|
Reading | Anzeige der gemessenen Temperatur. |
humidity
|
Reading | Anzeige der Luftfeuchtigkeit. Nicht vorhanden → mit # deaktivieren.
|
desired-temp
|
Reading / Setter | Anzeige und Steuerung der Solltemperatur. |
state
|
Anzeige eines Status- oder Textfelds. | Das Reading ist frei wählbar. |
btnXIcon@btnXCmd
|
Button-Attribute | Individuelle Definition von Icon und Befehl für die sechs möglichen Buttons.
Beispiel:sani_heating_automatic@controlMode.automatic |
#
|
Button ausblenden | Beispiel:
|
Individualisierung per userattr
Damit können Fhemcmd's, Farbe und Icon für jeden der sechs Buttons separat konfiguriert werden.
Beispiel-Definition:
defmod widgetControlUserAttr dummy
attr widgetControlUserAttr userattr btn1Cmd btn1Color btn1Icon btn2Cmd btn2Color btn2Icon btn3Cmd btn3Color btn3Icon btn4Cmd btn4Color btn4Icon btn5Cmd btn5Color btn5Icon btn6Cmd btn6Color btn6Icon
attr widgetControlUserAttr btn1Cmd set widgetControlUserAttr state cooling
attr widgetControlUserAttr btn1Color blue
attr widgetControlUserAttr btn1Icon data:image/svg+xml;;charset=utf-8,%3Csvg%20xmlns...
attr widgetControlUserAttr btn2Cmd { fhem("set widgetControlUserAttr desired-temp ".(ReadingsVal("widgetControlUserAttr","desired-temp",0)-0.5)) }
attr widgetControlUserAttr btn2Color blue
attr widgetControlUserAttr btn2Icon data:image/svg+xml;;charset=utf-8,%3Csvg%20xmlns...
attr widgetControlUserAttr btn3Cmd set widgetControlUserAttr state off
attr widgetControlUserAttr btn3Icon data:image/svg+xml...
attr widgetControlUserAttr btn4Cmd set widgetControlUserAttr state heating
attr widgetControlUserAttr btn4Color red
attr widgetControlUserAttr btn4Icon data:image/svg+xml...
attr widgetControlUserAttr btn5Cmd { fhem("set widgetControlUserAttr desired-temp ".(ReadingsVal("widgetControlUserAttr","desired-temp",0)+0.5)) }
attr widgetControlUserAttr btn5Color red
attr widgetControlUserAttr btn5Icon data:image/svg+xml...
attr widgetControlUserAttr btn6Cmd set widgetControlUserAttr state on
attr widgetControlUserAttr btn6Color green
attr widgetControlUserAttr btn6Icon data:image/svg+xml...
attr widgetControlUserAttr readingList measured-temp humidity desired-temp state
attr widgetControlUserAttr room Test
attr widgetControlUserAttr setList measured-temp humidity desired-temp state
attr widgetControlUserAttr subType Thermostat
attr widgetControlUserAttr webCmd climacontrol
attr widgetControlUserAttr widgetOverride climacontrol:controlminidash,measured-temp,humidity,desired-temp,state,#,#,#,#,#,#
setstate widgetControlUserAttr heating
setstate widgetControlUserAttr 2025-11-30 11:51:37 desired-temp 20.0
setstate widgetControlUserAttr 2025-11-30 11:42:42 humidity 56
setstate widgetControlUserAttr 2025-11-30 11:42:48 measured-temp 19
setstate widgetControlUserAttr 2025-11-30 11:51:21 state heating
Mit DOIF diverse Widgets in einem Table zusammenfassen
defmod di_widget DOIF ##
attr di_widget room Test
attr di_widget uiTable {package ui_Table;;\
$_param='controlminidash,measured-temp,humidity,desired-temp,state,sani_heating_manual@controlMode.manual,rc_MINUS@temp-5,sani_heating_boost@boost,sani_heating_automatic@controlMode.automatic,rc_PLUS@temp+5,sani_heating_mode@night_day';;\
$_set="set desired-temp";;\
}\
widget([TH_DG_HM:desired-temp],$_param,$_set)|\
widget([TH_Kz_w_HM:desired-temp],$_param,$_set)\
widget([TH_Kz_o_HM:desired-temp],$_param,$_set)|\
widget([TH_Kueche_HM:desired-temp],$_param,$_set)\
widget([TH_Keller_HM:desired-temp],$_param,$_set)|\
widget([TH_Bad_HM:desired-temp],$_param,$_set)
