FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: knorxi am 11 Dezember 2025, 16:03:27

Titel: webCmd mit einem "+" im Befehl funktioniert nicht
Beitrag von: knorxi am 11 Dezember 2025, 16:03:27
Hallo,
ich habe einen dummy, bei dem ich im webCmd-Attribut ein + habe.
Wenn ich in der Weboberfläche auf den Befehl mit dem + klicke, so wird das Plus abgeschnitten.
Kann ich das irgendwie umgehen?
define dummy_plus_test dummy
attr dummy_plus_test setList Helligkeit+ Helligkeit-
attr dummy_plus_test webCmd Helligkeit+:Helligkeit-
#   CFGFN     
#   FUUID      693ad981-f33f-8d65-9983-a5e88eb7fc6eb02e
#   NAME       dummy_plus_test
#   NR         723
#   STATE      Helligkeit
#   TYPE       dummy
#   eventCount 27
#   READINGS:
#     2025-12-11 15:52:12   state           Helligkeit
#
setstate dummy_plus_test Helligkeit
setstate dummy_plus_test 2025-12-11 15:52:12 state Helligkeit

Titel: Aw: webCmd mit einem "+" im Befehl funktioniert nicht
Beitrag von: rabehd am 11 Dezember 2025, 16:29:17
Helligkeit_up Helligkeit_down
 ;)
Titel: Aw: webCmd mit einem "+" im Befehl funktioniert nicht
Beitrag von: knorxi am 11 Dezember 2025, 16:44:19
@rabehd: Jetzt weiß ich auch, wie du auf deine 0,560 Einträge pro Tag kommst ;)
Titel: Aw: webCmd mit einem "+" im Befehl funktioniert nicht
Beitrag von: rabehd am 11 Dezember 2025, 17:57:09
Da bin ich bestimmt nicht Spitzenreiter.

 8)
Titel: Aw: webCmd mit einem "+" im Befehl funktioniert nicht
Beitrag von: betateilchen am 11 Dezember 2025, 19:50:21
Zitat von: knorxi am 11 Dezember 2025, 16:03:27Wenn ich in der Weboberfläche auf den Befehl mit dem + klicke, so wird das Plus abgeschnitten.
Kann ich das irgendwie umgehen?

Das Problem ist, dass das Pluszeichen im HTML Umfeld eine Sonderrolle hat und ggf. ein Leerzeichen ersetzen kann. Man müsste das vielleicht irgendwie maskieren, aber mir ist noch kein Weg eingefallen, der funktionieren würde. Auch die Verwendung von Helligkeit+ hilft nicht wirklich weiter. Das Pluszeichen wird zwar korrekt dargestellt, aber bei der Ausführung verschwindet es auch da.

Vielleicht wäre die einfachste Lösung tatsächlich, eine andere Bezeichnung zu verwenden.
Titel: Aw: webCmd mit einem "+" im Befehl funktioniert nicht
Beitrag von: rabehd am 11 Dezember 2025, 19:57:55
Zitat von: knorxi am 11 Dezember 2025, 16:44:19@rabehd: Jetzt weiß ich auch, wie du auf deine 0,560 Einträge pro Tag kommst ;)
und schon ist jemand dabei der 10 mal aktiver pro Tag ist
Titel: Aw: webCmd mit einem "+" im Befehl funktioniert nicht
Beitrag von: knorxi am 11 Dezember 2025, 21:31:28
@betateilchen: Danke dir! Das ist wenigstens ein konstruktiver Beitrag
Titel: Aw: webCmd mit einem "+" im Befehl funktioniert nicht
Beitrag von: rudolfkoenig am 12 Dezember 2025, 11:11:22
Einen leicht durchsichtigen Betrug kann man mit Unicode Zeichen anstellen, z.Bsp. mit "Fullwidth Plus Sign" / U+FF0B / +
Copy & Paste machts moeglich :)
Titel: Aw: webCmd mit einem "+" im Befehl funktioniert nicht
Beitrag von: passibe am 12 Dezember 2025, 11:38:08
Könnte man auch über HTML-Code im devStateIcon lösen (ungetestet):

{
    "<div><a href=\"/fhem?cmd.dummy=set $name Helligkeit+ &XHR=1\">Helligkeit+</a> <a href=\"/fhem?cmd.dummy=set $name Helligkeit- &XHR=1\">Helligkeit-</a></div>"
}

(Dann muss man natürlich das, was der Icon sonst darstellt, noch einbauen.)
Titel: Aw: webCmd mit einem "+" im Befehl funktioniert nicht
Beitrag von: knorxi am 13 Dezember 2025, 22:24:55
Danke euch beiden. ,,Fullwidth Plus Sign" klappt leider nicht so richtig. DevStateIcon funktioniert, wenn man in href ,,Helligkeit+" durch ,,Helligkeit%2B" ersetzt.
Habe erst gedacht, dass ich grundsätzlich etwas falsch mache, aber scheinbar kann man das PLUS-Problem nur durch Umwege lösen.
Titel: Aw: webCmd mit einem "+" im Befehl funktioniert nicht
Beitrag von: sfancy am 18 Dezember 2025, 20:13:14
Zitat von: rudolfkoenig am 12 Dezember 2025, 11:11:22Einen leicht durchsichtigen Betrug kann man mit Unicode Zeichen anstellen, z.Bsp. mit "Fullwidth Plus Sign" / U+FF0B / +
Copy & Paste machts moeglich :)
Kann bestätigen, dass dies funktioniert. Habe aus optischen Gründen das "Small Plus Sign" / U+FE62 / ﹢ verwendet.

Für HTTPMOD z.B.
attr Wallbox get01Name charge_mode
attr Wallbox get01OMap 0:Fast, 1:Off, 2:PV, 3:Min﹢PV
...
attr Wallbox set01IMap 0:Fast, 1:Off, 2:PV, 3:Min﹢PV
attr Wallbox set01Name charge_mode