[Gelöst] mit WebCmd ein Attribut ändern?

Begonnen von didi-fritz, 24 Januar 2021, 09:48:02

Vorheriges Thema - Nächstes Thema

didi-fritz

Hallo,

gibt es einen Trick, damit ich mit einem WebCmd ein Attribut (anstatt set-Befehle) ändern/setzen kann?

mein Anwendunsfall: ich würde gerne in der Room-View beim AT einen Button haben, der "attr myAt skip_next 1" absetzt. (analog zu active, inactive und execNow. Diese sind Set und können ja via webCmd definiert werden).

könnte man den Code eventuell so ändern, dass wenn das webCmd mit "?" beginnt (wie bei readingsGroup), ein "attr" anstatt ein "set" ausführt?

danke
Didi




rudolfkoenig

Die Aufgabe kann man mit cmdalias loesen, womoeglich gibts es aber auch elegantere Wege.

didi-fritz

ich wollte mir das gloabal für alle AT (ich hab sehr viele) einrichten, wie ich es derzeit mit execNow (webCmd execNow) gemacht habe.

wenn ich dich richtig verstanden habe, müsste ich pro AT einen cmdalias anlegen.
aber wie bring ich diesen dann ins webCmd, damit ich eine schöne Liste in der Roomansicht bekomme?

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

didi-fritz

nein - ich hätte die buttons gerne neben den execNow-buttons (vom webCmd)

didi-fritz

ich habs mir in 01_FHEMWEB.pm eingebaut. schön wäre, wenns in den offiziell aufgenommen würde

# diff 01_FHEMWEB.pm 01_FHEMWEB.pmsav
1479,1486c1479
<       # FW_pH "cmd.$d=set $d $cmd&detail=$d", $cmd, 1, "col1";
<         if(substr($cmd, 0, 1) eq "?")
<         {
<             $cmd=substr($cmd, 1);
<           FW_pH "cmd.$d=attr $d $cmd&detail=$d", $cmd, 1, "col1";
<         } else {
<           FW_pH "cmd.$d=set $d $cmd&detail=$d", $cmd, 1, "col1";
<         }
---
>         FW_pH "cmd.$d=set $d $cmd&detail=$d", $cmd, 1, "col1";
1890,1897c1883
<         # $htmlTxt = FW_pH "cmd.$d=set $d $cmd$rf", $nCmd, 0, "", 1, 1;
<         if(substr($cmd, 0, 1) eq "?")
<         {
<             $cmd=substr($cmd, 1);
<             $htmlTxt = FW_pH "cmd.$d=attr $d $cmd$rf", $nCmd, 0, "", 1, 1;
<         } else {
<             $htmlTxt = FW_pH "cmd.$d=set $d $cmd$rf", $nCmd, 0, "", 1, 1;
<         }
---
>         $htmlTxt = FW_pH "cmd.$d=set $d $cmd$rf", $nCmd, 0, "", 1, 1;



rudolfkoenig

Werde ich nicht uebernehmen, da Attribute nicht regelmaessig geaendert werden sollten.
Und nach gleicher Logik muessten andere Befehel (setreading, deleteattr, etc) auch eingebaut werden.
Eher sollte skipNext zusaetzlich als Befehl angeboten werden.

didi-fritz

ja, "skipNext" als zusaetzlicher Befehl beim AT wäre super!

rudolfkoenig

Habs als skip_next hinzugefuegt, damit Attribut und Befehl den gleichen Namen haben.

didi-fritz