Soweit ich es bisher verstehe (nach commandref und Source Code), kann beim devStateIcon das Kommando immer nur als Parameter für den set-Befehl für das eigene Gerät angegeben werden.
Wäre es nicht gut, wenn man das so erweitern würde, dass man dort beliebige FHEM-Befehle oder sogar Perl-Code angeben kann?
Hintergrund ist der, dass ich bei mir zB verschiedene Geräte über andere Geräte ein-/ausschalte. Das sind bei mir zum Beispiel Funksteckdosen, WakeOnLan-Befehle und HDMI-CEC-Commands (per Dreambox-Plugin). Diese muss ich in FHEM über ein Zweitgerät auslösen, so dass das wohl scheinbar nicht in dem devStateIcon des Hauptgeräts zu realisieren ist, oder?
Ich hatte für diesen Zweck zB in das XBMC-Modul ein Attribut "powerCmdOn" eingebaut, welches man mit einem beliebigen FHEM-Befehl füllen kann. Dann kann man dies zB per "set wz_xbmc powerCmdOn" triggern und dadurch auch ins devStateIcon einbauen. Aber das ist ja irgendwie nur ein Workaround und es wäre schöner, wenn es für sowas einen generischen Weg in FHEM geben würde.
devStateIcon kann jetzt schon als Perl-Code definiert werden, und damit beliebiges zusammengebastelt werden.
Um weitere Aktionen beim Ausfuehren eines Befehls auszuloesen dient im FHEM das notify. Ich sehe es noch nicht, warum es besser ist einen FHEMWEB spezifischen Mechanismus zu erfinden, um notify teilweise zu ersetzen.
Zitat von: rudolfkoenig am 27 Januar 2015, 07:26:25
devStateIcon kann jetzt schon als Perl-Code definiert werden, und damit beliebiges zusammengebastelt werden.
Ja schon, aber so wie ich es verstehe, muss in dem Fall ja auch ein String der Form "STATE:icon:cmd" zurückgegeben werden, wobei cmd wiederum "nur" als Parameter für ein "set" genutzt werden kann, oder? Würde also erstmal nicht weiterhelfen.
Zitat von: rudolfkoenig am 27 Januar 2015, 07:26:25
Um weitere Aktionen beim Ausfuehren eines Befehls auszuloesen dient im FHEM das notify. Ich sehe es noch nicht, warum es besser ist einen FHEMWEB spezifischen Mechanismus zu erfinden, um notify teilweise zu ersetzen.
Hm, die Idee gefällt mir, setzt jedoch vorraus, dass das Gerät ein set-Befehl hat, wo man sich dranhängen kann oder? Also im Falle von STV gibt es ein POWERON-set, welches bei mir aber nicht funktioniert. Daran könnte ich ein notify hängen.
Im Falle von XBMC jedoch gibt es AFAIK kein sinnvolles set, wo man sich dranhängen könnte.
Evtl. verstehe ich ja etwas falsch oder stehe auf dem Schlauch. In dem Falle könnte mir evtl. jemand mit einem Beispiel auf die Sprünge helfen? Meiner momentan bescheidenen Meinung nach, ist einfach das cmd von devStateIcon nicht so flexibel, wie man es von Commands an anderen Stellen gewohnt ist. Aber evtl. bin ich auf einem falschen Pfad...
Muss ja nicht unbedingt ein echtes Gerät sein, evtl. tut's ja auch ein Dummy?
die {..} version von devStateIcon kann neben STATE:icon:cmd auch direkt html code zurück geben. dam könntest du dir dann z.b. mit etwas wie readingsGroup_makeLink() den html code für ein icon und jede beliebiges fhem kommando zurück geben lassen und als device icon verwenden.
ist ein bisschen handarbeit aber geht für jedes device.
gruss
andre
Danke für den Tipp, werde ich mal reinschauen. Muss jedoch gestehen, dass das aus Benutzersicht erstmal recht fummelig klingt...
ist es auch :)
aber wenn du es in eine sub steckst und im wiki postest nicht mehr ;)
gruß
andre
Rince hat eine super Idee gepostet, um das ganze per cmdalias zu lösen:
http://forum.fhem.de/index.php/topic,32577.msg253256.html#msg253256
Gefällt mir sehr gut.
Hallo,
Keine Ahnung ob das hier passt.
Ich möchte gerne an meinen somfy Rollläden über das stateicon einen 3ten Befehl (go my) realisieren. Ist dies möglich? Also bei jedem tap darauf erst up dann my dann down dann my dann my. (My ist auch stop.)
oder gibts nen fűr sowas workaround?
danke
notify. Ich wuerde es nicht als workaround bezeichnen.