Unterschied :noArg zwischen Get/Set

Begonnen von olwaldi, 01 Februar 2026, 14:24:00

Vorheriges Thema - Nächstes Thema

olwaldi

Ist mir gerade im Modul DENON_AVR aufgefallen:

:noArg soll ja FHEMWEB ermöglichen, bei set- oder get-Befehlen in der GUI kein Eingabefeld vorzusehen. Funktioniert. Aber wenn dann (wie erwartet) die Usage-Meldung ausgegeben wird, wird bei get das Suffix :noArg mit ausgegeben, bei set hingegen erwartungsgemäß nicht. Ähnlich unerwartet wird bei get in der Usage-Meldung die Liste der Möglichkeiten mit ausgegeben

Das betrifft nicht nur DENON_AVR. Ähnlich verhält sich z.B. auch FRITZBOX bei
get FritzBox unbekanntund liefert
Unknown argument unbekannt, choose one of luaQuery luaData javaScript luaDectRingTone luaFunction luaInfo:lanDevices,ledSettings,vpnShares,wlanNeighborhood,mobileInfo,globalFilters,smartHomeDevices,smartHomeAutomation,kidProfiles,userInfos smartHomePreDef fritzLog lanDeviceInfo tr064Command tr064ServiceList:tr64,igd callApifromList:data.lua,query.lua,tr064,javascript showFritzOS:noArg


Grüßle, Michael

rudolfkoenig

Zitatwird bei get das Suffix :noArg mit ausgegeben, bei set hingegen erwartungsgemäß nicht.
Erwartungsgemaess ist das nicht: FHEMWEB stellt anhand diesen Suffixen fest, welches Widget gewuenscht ist.
Wenn nichts angegeben ist, wird ein simples Textfeld angeboten.

olwaldi

Zitat von: rudolfkoenig am 01 Februar 2026, 18:04:44Erwartungsgemaess ist das nicht: FHEMWEB stellt anhand diesen Suffixen fest, welches Widget gewuenscht ist.
Wenn nichts angegeben ist, wird ein simples Textfeld angeboten.
Die Widgetwahl funktioniert ja auch wie erwartet. Aber der usage-String hat ja auch die "Bedeutung" als Fehlermeldungstext. Und da sollte m.E.n. die Widget-Suffixe weggestrippt werden und NICHT als Text mit angezeigt werden. Beim Set ist das auch so, nur eben nicht bem Get.

Grüßle, Michael

rudolfkoenig

Hat 'ne weile gedauert, bis ich es verstanden habe: es geht um das in der Eingabezeile eingetippte "get XX ?" vs. "set XX ?".

Die Ursache war, dass bei get die Seite nicht neu geladen wird, nur das Ergebnis des Befehls wird angezeigt.
Bei set wird die Seite neu geladen, weil davon ausgegangen wird, dass sich was aendert.
Bei Neuladen werden die Befehls-Parameter in 01_FHEMWEB.pm entfernt.

Ich habe das jetzt fuer get in fhemweb.js nachgeholt.