FHEM Forum

FHEM => Frontends => Thema gestartet von: Loredo am 04 Oktober 2013, 10:27:26

Titel: webCmd Attribut soll explizit leer bleiben
Beitrag von: Loredo am 04 Oktober 2013, 10:27:26
Hi,

ich möchte gerne, dass bei einigen Modulen gar keine webCmd definiert sind.
Leider legen einige Module das Attribut aber automatisch mit Defaults neu an, sobald ich FHEM neu starte. Wie kann ich ein leeres webCmd setzen, so dass trotzdem nichts angezeigt wird?
Lasse ich das webCmd leer, steht hinterher eine 1 in der Raumübersicht; "" oder '' funktionieren leider auch nicht :-(

Hat jemand einen Tipp?

Gruß
Julian
Titel: Aw: webCmd Attribut soll explizit leer bleiben
Beitrag von: rudolfkoenig am 05 Oktober 2013, 08:32:56
Was passiert, wenn man das Attribut loescht?
Titel: Aw: webCmd Attribut soll explizit leer bleiben
Beitrag von: gki am 05 Oktober 2013, 09:53:59
Hi Julian,

webCmd :

Gruß,
Ines
Titel: Aw: webCmd Attribut soll explizit leer bleiben
Beitrag von: Loredo am 05 Oktober 2013, 10:27:26
Zitat von: rudolfkoenig schrieb am Sa, 05 Oktober 2013 08:32Was passiert, wenn man das Attribut loescht?

Bis zu einem Neustart ist alles gut, danach legen einzelne Module wie z.B. das Structure Modul das Attribut mit entsprechenden Defaults neu an.

Zitat von: gki schrieb am Sa, 05 Oktober 2013 09:53webCmd :
Irgendwie naheliegend - und funktioniert! DANKE !
Titel: Aw: webCmd Attribut soll explizit leer bleiben
Beitrag von: rudolfkoenig am 05 Oktober 2013, 11:16:04
> danach legen einzelne Module wie z.B. das Structure Modul das Attribut mit entsprechenden Defaults neu an.

Structure macht das nicht (ich sollte es wissen, da ich der Maintainer bin).
Wenn andere Module das machen, dann ist das ein Fehler im Modul, und man sollte das dem Modulauthor ausreden.
Wenn ueberhaupt, dann muss sowas anders geloest werden, z.Bsp. mit autocreate.
Titel: Aw: webCmd Attribut soll explizit leer bleiben
Beitrag von: Loredo am 05 Oktober 2013, 23:32:14
Zitat von: rudolfkoenig schrieb am Sa, 05 Oktober 2013 11:16Structure macht das nicht (ich sollte es wissen, da ich der Maintainer bin).

Hm, ich kann nur wiedergeben, was ich bei meinen Leuchten-Gruppen beobachtet habe :-)

Zitat von: rudolfkoenig schrieb am Sa, 05 Oktober 2013 11:16Wenn andere Module das machen, dann ist das ein Fehler im Modul, und man sollte das dem Modulauthor ausreden.
Wenn ueberhaupt, dann muss sowas anders geloest werden, z.Bsp. mit autocreate.

Guter Hinweis, muss ich wohl mal bei meinen Modulen ebenfalls gucken und schauen wie autocreate funktioniert.
Titel: Antw:webCmd Attribut soll explizit leer bleiben
Beitrag von: Carsten am 21 Februar 2016, 17:37:26
Hallo,

ich möchte gerade bei einem Gerät das gleiche erreichen ( kein WebCmd ).
Es handelt sich um einen Z-Wave-Stecker an der Waschmaschine. Der soll zwar seinen Status anzeigen, aber nicht an-/ausschaltbar sein.

webCmd : funktioniert fast. Es wird kein Command mehr angezeigt, allerdings ist dann der Status klickbar und wenn ich draufklicke, erhalte ich eine Fehlermeldung, dass der Befehl ungültig war. ( Welcher Befehl weiß ich nicht )

widgetOverride :noArg funktioniert auch fast. Ich habe dann die Webansicht im Raum, wie ich sie will, aber in der Detailansicht ist die Dropdown-Liste von get und set auch leer.

Im Moment behelfe ich mir mit der Doppelpunkt-Variante, aber es wäre natürlich schöner, wenn man das gar nicht mehr anklicken könnte.
Titel: Antw:webCmd Attribut soll explizit leer bleiben
Beitrag von: justme1968 am 21 Februar 2016, 17:46:36
webCmd : ist für die anklickbaren kommandos rechts vom device status da. das musst du setzen wenn es hier leer bleiben soll.

widgetOverride ist dazu da um in der webCmd liste bestimmte widgets für ein kommando zu verwenden und nicht das vom modul vorgesehene. wenn du keine webCmds hast bewirkt widgetOverride nichts (bzw. nur in der detail ansicht etwas?).

devStateIcon ist für das icon bzw. den status selber da. wenn du willst das icon bzw status nicht anklickbar sind musst du es passend setzen.

gruss
  andre
Titel: Antw:webCmd Attribut soll explizit leer bleiben
Beitrag von: Carsten am 21 Februar 2016, 17:56:15
Hi Andre,
Zitat von: justme1968 am 21 Februar 2016, 17:46:36
webCmd : ist für die anklickbaren kommandos rechts vom device status da. das musst du setzen wenn es hier leer bleiben soll.
ja, das funktioniert auch insofern, dass das Kommando weg/leer ist. Das Problem ist, dass dann aber (zumindest bei meiner Waschmaschine) der Status anklickbar wird, wobei ein Klick zu einer Meldung führt, dass der Befehl unbekannt sei.
Titel: Antw:webCmd Attribut soll explizit leer bleiben
Beitrag von: marvin78 am 21 Februar 2016, 17:58:05
Und das ist das gewöhnliche verhalten (in Kombination mit der devSteteIsocn Lösung, die justme1968 erwähnt hat). Keine Fehlermeldung, nur eine Meldung. Works as designed.
Titel: Antw:webCmd Attribut soll explizit leer bleiben
Beitrag von: Carsten am 21 Februar 2016, 18:45:05
Hmm...
wie muss ich denn devstateIcon setzen für "kein Befehl"?
Mein stateFormat sieht aktuell so aus:
Verbrauch: power Waschmaschine: Status_Waschmaschine

devStateIcon hatte ich vorher gar nicht gesetzt, hab ich jetzt mal auf
Verbrauch.*:noIcon:

Jetzt erhalte ich beim klicken die Meldung
no set argument specified
Das ist ein bißchen besser, aber lieber wäre mir, wenn man gar nicht erst klicken könnte.
Titel: Antw:webCmd Attribut soll explizit leer bleiben
Beitrag von: marvin78 am 21 Februar 2016, 18:49:54
attr devStateIcon .*:ICON:

Die Meldung ist normal. Wie gesagt: works as designed. Mit ein wenig eigenem Javascript könntest du hier sicher dein gewünschtes Verhalten einbauen.

Es gibt viele Frontends bei denen man vieles bis alles selbt definieren kann (smartVisu, FTUI, ReadingsGroup...). Eventuell solltest du dir sowas anschauen.
Titel: Antw:webCmd Attribut soll explizit leer bleiben
Beitrag von: justme1968 am 21 Februar 2016, 18:59:49
wenn du kein kommando willst dann musst du den dritten teil auch weg lassen:attr <device> devStateIcon .*:ICON

man beachte den fehlenden zweiten doppelpunkt.

.*:ICON:  -> leeres kommando
.*:ICON   -> kein kommando

gruss
  andre
Titel: Antw:webCmd Attribut soll explizit leer bleiben
Beitrag von: Carsten am 21 Februar 2016, 19:10:07
Zitat von: justme1968 am 21 Februar 2016, 18:59:49
.*:ICON   -> kein kommando

Ohne den zweiten Eventlog kommt zwar keine Meldung, aber mein Z-Wave-Stick leuchtet kurz und ich sehe ich im Eventlog

2016-02-21 19:02:39 ZWave bd_Waschmaschine on


wenn ich dann noch attr bd_Waschmaschine eventMap /on.*:Läuft/off.*:Fertig setze, kommt beim Klick wieder Unknown argument on.*, choose one of associationAdd associationDel [...]
Wahrscheinlich versucht er ein set bd_Waschmaschine Läuft
Titel: Antw:webCmd Attribut soll explizit leer bleiben
Beitrag von: justme1968 am 21 Februar 2016, 19:24:19
sobald dein device on und off kommandos hat greifen an manchen stellen (leider) diverse fallbacks.

um das los zu werden kannst du noFhemwebLink als kommando angeben. also so:attr <device> devStateIcon .*:ICON: noFhemwebLink

gruss
  andre
Titel: Antw:webCmd Attribut soll explizit leer bleiben
Beitrag von: Carsten am 21 Februar 2016, 19:34:18
Perfekt!
Funktioniert wie gewünscht.

Vielen Dank!