Wunsch: getList in webcmd

Begonnen von Brandenburger, 10 Dezember 2019, 12:12:54

Vorheriges Thema - Nächstes Thema

Brandenburger

Hallo Rudi,

um in einer Raumansicht, für einen get-Aufruf, nicht in das Device wechseln zu müssen, fände ich es gut, in webcmd die jeweiligen get-Befehle aufzunehmen.

Grüße aus Brandenburg

rudolfkoenig

Ich habe es gelesen, habe aber keine einfache/elegante Idee, es umzusetzen:
ZitatwebCmd
Colon separated list of commands to be shown in the room overview for a certain device.  Has no effect on smallscreen devices, see the devStateIcon command for an alternative.
Example: attr lamp webCmd on:off:on-for-timer 10
Gibt es auch Andere, die diesen Wunsch haben?

Roger

Hi,
ich hätte es auch sehr gern. Habe es schon oft vermisst.
Vielleicht über ein neues ATTR?

//Roger
Zotac & RPIs mit 10*FHEM
2*HM-LAN, 2*JeeLink, 2*RS485, SignalESP
HomeMatic, PCA301 Komponenten, ModBus: Stromzähler, Fronius WR, Shelly, Victron

Ellert

Ein Workaround am Beispiel eines dummy:

defmod getter dummy
attr getter readingList getter
attr getter setList getter:iconSwitch,getit,getit
attr getter userReadings command:getter.* {fhem("get <device> <argument>",1);;return 0}
attr getter webCmd getter

Sollte auch mit widgetOverride funktionieren.

Ein Reading wird getriggert, das wiederum triggert ein userReadings in dem der Perl-Befehl auf ein Gerät mit Getter ausgeführt wird.

Wenn Gerätemodule häufiger setList, readingList und webCmd anbieten würden, könnte man einfache Aktionen gleich im Gerät erledigen.

Roger

Hi Ellert,
vielen Dank für die Lösungsmöglichkeit. Als Workaround für den Einzelfall OK.m :)

Derzeit erzeuge ich mit webCmd und eventMap set-Befehle welche ich so benenne, dass sie auch für meine Frau verständlich sind. Insbesondere die Behandlung von Leerzeichen macht es nicht einfacher.  >:(

Damit auch Anfänger eine Chance haben und das ganze auch übersichtlich bleibt stelle ich mir so was vor:

attr <name> webcmdset name1:set-befehl1 para1 para2;name2:set-befehl2 para1 para2;
attr <name> webcmdget name1:get-befehl1 para1 para2;name2:get-befehl2 para1 para2;

Damit soll man set- und get-Befehle im FHEMWEB durch klicken einfach aufgerufen können.
Benennung nach eigenen Vorstellungen.

@Rudi: Ist so was (o.ä.) ohne riesigen Aufwand umsetzbar? (Ich kann leider kein Diff liefern :(, das übersteigt meine Möglichkeiten.)

//Roger
Zotac & RPIs mit 10*FHEM
2*HM-LAN, 2*JeeLink, 2*RS485, SignalESP
HomeMatic, PCA301 Komponenten, ModBus: Stromzähler, Fronius WR, Shelly, Victron

rudolfkoenig

Zitat@Rudi: Ist so was (o.ä.) ohne riesigen Aufwand umsetzbar?
Riesig ist relativ, ich schaetze 2-4 Stunden Umsetzung mit Test und Doku und danach 2-4 Stunden Betreuung, bis es ohne Probleme funktioniert.

Eine Alternative zum erwaehnten Workaround mit dem dummy ist cmdalias.

justme1968

setList, readingList sind nur sinnvoll wenn ein device nicht selber 'weiß' was es für kommandos hat. die devices bei denen das so ist implementieren das normalerweise auch.

webCmd gehört fhemweb und ist somit immer möglich.

das ganze über getrennte webcmdset und webcmdget umzusetzen ist meiner meinung nach ungeschickt. dann kommt als nächstes der wunsch die reihenfolge festzulegen.  und wie soll sich webCmdLabel und widgetOverride auf webcmdset und webcmdget auswirken wenn es ein set und get mit gleichem namen gibt?

besser wäre glaube ich wenn man die webCmd syntax erweitert get und set zu erkennen. z.b. mit einem suffix wie an andere stelle schon verwendet (z.b. :g oder :s). das problem ist eine syntax zu finden die nicht mit der aktuellen kollidiert. #g und #s könnte gehen.

das ganze ist etwas komplexer als es beim ersten ansehen erscheint.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Brandenburger

Ok, ich dachte mir schon, dass es schwer umzusetzen ist. Sonst wär's ja bestimmt schon dabei. Ich nutze dann weiterhin cmdalias.

Grüße aus Brandenburg