Webelemente ohne setList nutzen

Begonnen von Damian, 03 März 2017, 19:47:48

Vorheriges Thema - Nächstes Thema

Damian

Weil es in der aktuellen Commandref nicht so ausführlich steht:

Mit der aktuellen Version können beliebige Elemente über webCmd definiert werden, auf die man triggern kann, ohne setList-Attribut zu benutzen:

Bsp:

defmod di_t DOIF (1)(tue etwas)
DOELSEIF (1)(tue etwas anderes)
DOELSEIF ...

attr di_t cmdState Frühjahr|Sommer|Herbst|Winter
attr di_t webCmd Frühjahr:Sommer:Herbst:winter



Aufgrund der gleichen Bennenung der Stati wird hier cmd_1, cmd_2 usw. bedingungslos ausgeführt

oder mit Nutzung eines eigenen Readings mit Statusdarstellung im DOIF-Modul:

defmod di_t DOIF ([$SELF:"Frühjahr"])(setreading $SELF Jahreszeit Frühjahr, tue etwas)
DOELSEIF ([$SELF:"Sommer"])(setreading $SELF Jahreszeit Sommer, tue sonst etwas)
DOELSEIF....

attr di_t webCmd Frühjahr:Sommer:Herbst:Winter
attr di_t state [$SELF:Jahreszeit]



Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

... und weil nach beliebigen Texten über Webinterface gefragt wurde (passt jetzt nicht ganz zum Titel, aber vielleicht doch ganz interessant)


defmod di_t DOIF ([$SELF:"Eingabe blabla"])(set bla1 on)
attr di_t setList Eingabe


Wenn man "blabla" unter Eingabe eingibt, wird "set bla1 on" ausgeführt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

#2
... und wenn wir schon dabei sind, hier die Variante mit Auswahlmöglichkeit, die ebenso ohne Extra-Readings auskommt:

defmod di_t DOIF ([$SELF:"Eingabe bla1"])(tue etwas)
  DOELSEIF ([$SELF:"Eingabe bla2"])(tue sonst was)

attr di_t setList Eingabe:bla1,bla2
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF