FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: schwatter am 27 Juni 2026, 16:52:18

Titel: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: schwatter am 27 Juni 2026, 16:52:18
gauge.png

Hallo zusammen,

das ist der Hilfe-Thread für die Gauge-Widgets.

Infos zum Einrichten finden sich im Wiki:
https://wiki.fhem.de/wiki/FHEMWEB/Gauge
https://wiki.fhem.de/wiki/FHEMWEB/Widgets#Beigesteuerte_Widgets


Gruß schwatter
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: Nobbynews am 28 Juni 2026, 10:47:40
Danke für die Widgets.
Steht zwar so im Text, aber als kleine Anmerkung:
Zitatattr <devicename> widgetOverride cmd<X>:multigauge,<Ring1>,<Ring2>,<Ring3>,<Label>,<Skalierung>
bzw.
Zitatattr <devicename> widgetOverride cmd<X>:gauge,<Reading>,<Einheit>,<Min>,<Max>,<Farbe/Modus>,<Skalierung>
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: schwatter am 28 Juni 2026, 16:06:23
Danke, die Sonne...hab noch ein paar Stellen angepasst.

Gruß schwatter
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: Nobbynews am 29 Juni 2026, 03:33:04
Ich habe da mal eine Frage:
Wenn ich die Größe der Widgets über die Skalierung mit dem optionalen letzten Parameter verändere,
werden damit ALLE Widgets in der Größe verändert.
Auch dann, wenn jeweils unterschiedliche Faktoren oder Namen für <cmd> eingetragen sind.
Ist das Absicht, oder fehlt mir da das Verständnis?
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: schwatter am 29 Juni 2026, 07:49:13
Moin,

was ich noch auf todo habe, jedes muss noch einzigartiger werden. Wahrscheinlich
hängt das damit zusammen.
Biste so nett und gibst mir ein Beispieldummy? Oder ist das Widget übergriffig
geworden auf nicht-gauge-widgets?

Gruß schwatter
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: Nobbynews am 29 Juni 2026, 11:30:22
Daran wird es nicht scheitern.
Hier device Nr. 1:
define Hideki_30_1 Hideki Hideki_30_1
attr Hideki_30_1 room Hideki
attr Hideki_30_1 stateFormat [$name:temperature] °C, [$name:humidity] %, [$name:battery], [$name:state:t]
attr Hideki_30_1 webCmd cmd1
attr Hideki_30_1 widgetOverride cmd1:multigauge,temperature:°C:#ff0000:10-30-none-none,humidity:%:#0000ff:10-90-none-none,none,Küche,1.5
#   CODE       Hideki_30_1
#   DEF        Hideki_30_1
#   FUUID      6a09604b-f33f-2b56-488a-1b8b0bcff84396ba
#   LASTInputDev SIGNALespDach
#   MSGCNT     3
#   NAME       Hideki_30_1
#   NR         87
#   SIGNALespDach_DMSG P12#75E8BACA2FBEDF51872B01
#   SIGNALespDach_MSGCNT 3
#   SIGNALespDach_Protocol_ID 12
#   SIGNALespDach_RAWMSG MC;LL=-1002;LH=952;SL=-524;SH=458;D=A8FA345AC85E0A09758F4AE;C=489;L=91;R=31;s2;b1;
#   SIGNALespDach_RSSI -58.5
#   SIGNALespDach_TIME 2026-06-29 11:24:30
#   STATE      27.1 °C, 61 %, ok, 2026-06-29 11:24:30
#   TYPE       Hideki
#   eventCount 3
#   lastMSG    7538ce5e71c261f3892b01
#   lastReceive 1782725070.92043
#   READINGS:
#     2026-06-29 11:24:30   battery         ok
#     2026-06-29 11:24:30   batteryState    ok
#     2026-06-29 11:24:30   channel         1
#     2026-06-29 11:24:30   comfort_level   Hum. OK. Temp. uncomfortable (>24.9 or <20)
#     2026-06-29 11:24:30   humidity        61
#     2026-06-29 11:24:30   package_number  1
#     2026-06-29 11:24:30   state           T: 27.1 H: 61
#     2026-06-29 11:24:30   temperature     27.1
#
setstate Hideki_30_1 27.1 °C, 61 %, ok, 2026-06-29 11:24:30
setstate Hideki_30_1 2026-06-29 11:24:30 battery ok
setstate Hideki_30_1 2026-06-29 11:24:30 batteryState ok
setstate Hideki_30_1 2026-06-29 11:24:30 channel 1
setstate Hideki_30_1 2026-06-29 11:24:30 comfort_level Hum. OK. Temp. uncomfortable (>24.9 or <20)
setstate Hideki_30_1 2026-06-29 11:24:30 humidity 61
setstate Hideki_30_1 2026-06-29 11:24:30 package_number 1
setstate Hideki_30_1 2026-06-29 11:24:30 state T: 27.1 H: 61
setstate Hideki_30_1 2026-06-29 11:24:30 temperature 27.1

Das device Nr. 2 unterscheidet sich nur in:
attr Hideki_30_2 webCmd cmd2
attr Hideki_30_2 widgetOverride cmd2:multigauge,temperature:°C:#ff0000:10-30-none-none,humidity:%:#0000ff:10-90-none-none,none,Keller,1
Einen Screenshot hat ich mal angehängt.
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: schwatter am 29 Juni 2026, 17:14:27
Tag,

danke. Ich habe es jetzt angepasst und nochmal mit vielen verschiedenen Widgets und Räumen probiert.
Update per contrib (siehe #1)

- dynamisches CSS-Scoping für die Skalierung hinzugefügt


Grußschwatter
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: Nobbynews am 29 Juni 2026, 18:36:26
Passt!
Danke.
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: schwatter am 03 Juli 2026, 09:21:36
Super,

dann werde ich die Widgets am Wochenende offiziell einchecken.
Außer es gibt noch Probleme.

Gruß schwatter
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: Nobbynews am 03 Juli 2026, 09:58:40
Hallo Schwatter,

ja, eine Frage habe ich noch.
Beim Multi-Gauge Widget suggeriert
ZitatFarbe:    Hex-Code oder 'hue-START-ENDE' (z.B. hue-240-1)
für mich, dass es einen Farbverlauf vom START bis ENDE gibt, also einen Farbverlauf
Es wird aber nur eine gleichbleibende Farbe dargestellt.
Wie immer: Mein Fehler?

Norbert
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: schwatter am 03 Juli 2026, 10:42:36
Ja genau so soll es sein. Die Farbe ändert sich zum aktuellen Readingwert.
Dabei wird der Ring immer in der Farbe eingefärbt, die Prozentual
dazu passt.
Da fällt mir ein, beim Einzel-Gauge muss ich nochmal schauen, weil nur
hue-240-1 funktioniert. Nicht aber hue-240-0.

Das hat aber nichts mit dir zu tun? Oben in deinen Beispielen hattest du
nur eine feste Farbe per Hexdecimal. Vielleicht immer noch so?

Gruß schwatter

Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: Nobbynews am 03 Juli 2026, 10:47:44
Zitat von: schwatter am 03 Juli 2026, 10:42:36Ja genau so soll es sein. Die Farbe ändert sich zum aktuellen Readingwert.
Ok, der Ring als Ganzes wird variabel eingefärbt und kein kontinuierlicher Farbverlauf über den Ring selbst.
Also wie gesagt, mein Fehler.
Aktuell habe ich feste Hex-Werte. HUE hatte ich nur mal ausprobiert.

Norbert
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: schwatter am 04 Juli 2026, 09:32:37
Morgen,

Miniupdate im contrib

- fix für hue 0 im Multigauge

Gruß schwatter
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: schwatter am 04 Juli 2026, 22:03:59
Nabend,

ab Morgen stehen die beiden Widgets per Update bereit.
Der Link zum Wiki ist im ersten Post.

Gruß schwatter
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: Nobbynews am 29 Juli 2026, 10:08:22
Hallo schwatter,

ich habe mal zwei Fragen zum Widget:
Frage 1:
Wäre es auch möglich Perl-Code für die Farbe mit einzubauen?
Hintergrund ist der, dass ich an anderer Stelle die Farbe in Abgängigkeit einer Temperatur über color:pahcolor ermittle.
{my $temp=ReadingsNum('Z2_Vorne','temperature',0);
  fhem("set Nachtlicht_EG color ".substr(Color::pahColor(0,15,25,$temp,[0,0,255,120,180,180,40,255,60,255,255,0,255,69,0],0),0,6))}

Frage 2:
Gibt es eine Beschreibung, welche Zahlenwerte die Farben für den HUE-Modus haben können?
Soweit ich gefunden habe, geht HUE für den Farbton ja von 0 bis 65000. Richtig?


Norbert
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: schwatter am 29 Juli 2026, 17:33:04
Tag,

zu 1.
Im Moment wird nur der Wert bzw Range ermittelt, die fest in widgetOverride hinterlegt ist. Das müsste dann erweitert werden, in dem als drittes
auch ein Reading eingelesen werden kann. Mh, momentan habe ich andere Baustellen. Mal sehen, eine Absage erteile ich aber nicht.

zu 2.
Das habe ich vielleicht schlecht kommuniziert bzw. muss ich gegebenfalls umbenennen. Eingebaut ist CSS HSL/HSV: 0–360°
https://developer.mozilla.org/de/docs/Web/CSS/Reference/Values/hue

0° = Rot
60° = Gelb
120° = Grün
180° = Cyan
240° = Blau
300° = Magenta
360° = wieder Rot

Bedeutet, aus hue-120-0 muss ich hsl-120-0 werden.

Gruß schwatter
Titel: Aw: [Gauge] FHEMWEB Messgerätewidget
Beitrag von: Nobbynews am 29 Juli 2026, 21:11:14
Nur keine Hektik. Das ist nice to have.
Ich baue mir das Attrikbut jetzt über ein notify zusammen.
define nHideki_1 notify Hideki_30_1:temperature:.* {\
my $newTemp=ReadingsNum($NAME,'temperature',0);;\
my $oldTemp=OldReadingsNum($NAME,'temperature',0);;\
if ($newTemp != $oldTemp){\
 my $color=substr(Color::pahColor(0,15,25,$newTemp,[0,0,255,120,180,180,40,255,60,255,255,0,255,69,0],0),0,6);;\
 my $string='cmd1:multigauge,temperature:°C:#'.$color.':0-35-none-none,humidity:%:#0000ff:10-90-none-none,none,Küche,1';;\
 fhem("attr -silent $NAME widgetOverride $string");;\
}\
}
#   CFGFN     
#   DEF        Hideki_30_1:temperature:.* {
#my $newTemp=ReadingsNum($NAME,'temperature',0);
#my $oldTemp=OldReadingsNum($NAME,'temperature',0);
#if ($newTemp != $oldTemp){
# my $color=substr(Color::pahColor(0,15,25,$newTemp,[0,0,255,120,180,180,40,255,60,255,255,0,255,69,0],0),0,6);
# my $string='cmd1:multigauge,temperature:°C:#'.$color.':0-35-none-none,humidity:%:#0000ff:10-90-none-none,none,Küche,1';
# fhem("attr -silent $NAME widgetOverride $string");
#}
#}
#   FUUID      6a6a4920-f33f-2b56-0677-eb84762e200b0263
#   NAME       nHideki_1
#   NOTIFYDEV  Hideki_30_1
#   NR         120
#   NTFY_ORDER 50-nHideki_1
#   REGEXP     Hideki_30_1:temperature:.*
#   STATE      2026-07-29 21:07:55
#   TRIGGERTIME 1785352075.34352
#   TYPE       notify
#   eventCount 6
#   READINGS:
#     2026-07-29 20:55:41   state           active
#     2026-07-29 21:07:55   triggeredByDev  Hideki_30_1
#     2026-07-29 21:07:55   triggeredByEvent temperature: 24.1
#
setstate nHideki_1 2026-07-29 21:07:55
setstate nHideki_1 2026-07-29 20:55:41 state active
setstate nHideki_1 2026-07-29 21:07:55 triggeredByDev Hideki_30_1
setstate nHideki_1 2026-07-29 21:07:55 triggeredByEvent temperature: 24.1


Was die Farben angeht, habe ich ja etwas total falsch verstanden.