FHEM Forum

FHEM - Entwicklung => Wunschliste => Thema gestartet von: Ralf9 am 29 Dezember 2016, 22:30:07

Titel: Beim set-Befehl ein Untermenü mit Eingabefeld ermöglichen
Beitrag von: Ralf9 am 29 Dezember 2016, 22:30:07
Hallo,

ich möchte beim Signalduino bei der set-Schaltfläche für den CC1101 ein Untermenü einbauen. Das Problem dabei ist, daß ich nicht weiß wie ich beim Untermenü ein Eingabefeld hinbekomme. Ist dies irgendwie möglich?

Gruß Ralf
Titel: Antw:Ist beim set-Befehl ein Untermenü mit Eingabefeld möglich?
Beitrag von: Markus Bloch am 30 Dezember 2016, 09:35:55
Hallo Ralf,

das ist aktuell leider nicht möglich. In einem solchen Fall kann man aktuell nur ein einzelnes Freitextfeld anbieten in dem der User sich dann an die entsprechende Syntax halten muss.

Gruß
Markus
Titel: Antw:Ist beim set-Befehl ein Untermenü mit Eingabefeld möglich?
Beitrag von: Ralf9 am 30 Dezember 2016, 10:22:48
Darf ich mir das wünschen? Ich würde es dann nach Wunschliste verschieben.

Gruß Ralf
Titel: Antw:Ist beim set-Befehl ein Untermenü mit Eingabefeld möglich?
Beitrag von: Markus Bloch am 30 Dezember 2016, 10:35:02
Natürlich, warum nicht. Vielleicht hat jemand eine gute Idee zur Umsetzung.

Gruß
Markus
Titel: Antw:Beim set-Befehl ein Untermenü mit Eingabefeld ermöglichen
Beitrag von: rudolfkoenig am 30 Dezember 2016, 10:46:49
Ich gehe davon aus, dass es sich hier um FHEMWEB geht.
Endbenutzer koennen die im https://fhem.de/commandref.html#widgetOverride beschriebene Widgets verwenden. Modulautoren koennen darueberhinaus in der Detailansicht mit einem FW_detailFn zusaetzliche Eingabemoeglichkeiten schaffen, siehe at, SVG oder notify als Beispiele.
Titel: Antw:Beim set-Befehl ein Untermenü mit Eingabefeld ermöglichen
Beitrag von: Ralf9 am 30 Dezember 2016, 13:06:39
Ja, es geht ums FHEMWEB.

Ich habe mir mal eine kleine Testroutine geschrieben. Wenn ich das richtig sehe, wird das $hash->{FW_detailFn} beim klicken auf set, get oder attr aufgerufen.
Ich weiß nicht wie mir das weiterhelfen soll.

sub SIGNALduino_Initialize($)
{
  my ($hash) = @_;
  ...
  $hash->{FW_detailFn} = "SIGNALduino_detailFn";
  ...
}

sub SIGNALduino_detailFn($$$)
{
my ($fwName, $name, $roomName) = @_;

Log3 $name, 3,"detailFn: fwName = $fwName name = $name roomName = $roomName";
}


Gruß Ralf
Titel: Antw:Beim set-Befehl ein Untermenü mit Eingabefeld ermöglichen
Beitrag von: justme1968 am 30 Dezember 2016, 13:12:18
der wunsch für ein set mehrere widgets zu kombinieren ist schon mehrfach aufgetaucht.

eines der haupt probleme ist das bis jetzt noch niemand eine gute idee hatte mit welcher syntax und rückwärtskompatibel man das in die set ? antwort einbauen kann.

aktuell geht das nur in handarbeit über die FW_detailFn. ein weiteres beispiel ist der interaktive editor in der LigthScene detail ansicht.

gruss
  andre
Titel: Antw:Beim set-Befehl ein Untermenü mit Eingabefeld ermöglichen
Beitrag von: rudolfkoenig am 30 Dezember 2016, 13:12:42
ZitatIch weiß nicht wie mir das weiterhelfen soll.
Doku gibts mWn dazu nicht, aber man kann die von mir verlinkten Module als Beispiel nehmen.
Oder man sucht mit "grep -l FW_detailFn fhem/FHEM/*.pm" einen Anderen, es gibt insg. 20 zur Auswahl.
Titel: Antw:Beim set-Befehl ein Untermenü mit Eingabefeld ermöglichen
Beitrag von: Ralf9 am 30 Dezember 2016, 13:32:45
Zitat von: justme1968 am 30 Dezember 2016, 13:12:18
eines der haupt probleme ist das bis jetzt noch niemand eine gute idee hatte mit welcher syntax und rückwärtskompatibel man das in die set ? antwort einbauen kann.

aktuell geht das nur in handarbeit über die FW_detailFn. ein weiteres beispiel ist der interaktive editor in der LigthScene detail ansicht.

Mir ist nicht klar, wie das mit dem FW_detailFn funktionieren soll, wenn das FW_detailFn erst beim Klicken auf set aufgerufen wird. Das Eingabefeld im Untermenü sollte schon vor dem klicken auf set dargestellt werden.

So eine Art widget das ein Untermenü mit Eingabefeldern macht, würde mir schon reichen. Dies könnte dann so aussehen:
"CC1101"     => "subWithInput, freq,bWidth,rAmpl,sens,PATABLE",

Gruß Ralf
Titel: Antw:Beim set-Befehl ein Untermenü mit Eingabefeld ermöglichen
Beitrag von: justme1968 am 30 Dezember 2016, 13:38:22
die detailFn wird nicht beim klick aufgerufen sondern beim seitenaufbau.

mit der detailFn blendest du oben auf der detail seite zusätzlichen html code ein. hier kannst du dich austoben und beliebige buttons und pulldowns kombinieren. d.h. das set passiert dann nicht über die set zeile sondern über die knöpfe und felder die du selber eingebaut hat.

wie oben geschrieben geht das aktuell nicht mit fhemweb mitteln. zum einen es noch niemand eingebaut hat  und zum anderen weil aktuell noch niemand eine idee zur syntax hat.
Titel: Antw:Beim set-Befehl ein Untermenü mit Eingabefeld ermöglichen
Beitrag von: Markus Bloch am 30 Dezember 2016, 13:44:14
Es gibt hier eine grobe Doku: https://wiki.fhem.de/wiki/DevelopmentFHEMWEB#Plugins