FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Grinsekatze am 23 April 2017, 16:45:19

Titel: SOLVED: FHEMWEB: Statt Dropdown Buttons / Schaltflächen?
Beitrag von: Grinsekatze am 23 April 2017, 16:45:19
Hallo ins Rund,

ich stehe gerade vor einem kosmetischen Problem im FHEMWEB: Ich möchte ein Dropdown (on | off) ändern in zwei Schaltflächen (on | off). Ist das möglich, und wenn ja, wie?

Der Dummy ist zzt. so konfiguriert:
define FernseherWohnzimmer_remote dummy
attr FernseherWohnzimmer_remote alias Fernseher
attr FernseherWohnzimmer_remote comment Dummy um den Wohnzimmer-Fernseher fernzusteuern
attr FernseherWohnzimmer_remote devStateIcon on:ios-on-green off:ios-off
attr FernseherWohnzimmer_remote event-on-change-reading .*
attr FernseherWohnzimmer_remote group Multimedia
attr FernseherWohnzimmer_remote icon it_television
attr FernseherWohnzimmer_remote room Wohnzimmer
attr FernseherWohnzimmer_remote setList energy_saving:auto,max,off input:digitalTV,hdmi1,hdmi2,hdmi3,video1,video2 power:on,off screen_mute:on,off statusRequest volume:00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 volumeMute:on,off volume_step:down,up
attr FernseherWohnzimmer_remote userReadings FernseherWohnzimmer:CommandAccepted.*, FernseherWohnzimmer:aspectRatio.*, FernseherWohnzimmer:input.*, FernseherWohnzimmer:power.*, FernseherWohnzimmer:presence.*, FernseherWohnzimmer:screenMute.*, FernseherWohnzimmer:videoOutMute.*, FernseherWohnzimmer:volume.*, FernseherWohnzimmer:volumeMute.*
attr FernseherWohnzimmer_remote webCmd power


Zur kurzen Erklärung: Es handelt sich hierbei um einen Dummy, der per RFHEM das Device FernseherWohnzimmer (mit den selben Sets) an einer zweiten FHEM-Instanz schaltet.

An den angehängten Bildern sieht man gut, wie es zzt. aussieht und wie ich es gerne haben möchte.

Titel: Antw:FHEMWEB: Statt Dropdown Buttons / Schaltflächen?
Beitrag von: justme1968 am 23 April 2017, 16:52:27
was genau soll denn passieren?

soll state auf on und off gesetzt werden oder auf power on und power off? oder soll das reading power gesetzt werden? gibt es einen grund das du readingList nicht verwendest?

Titel: Antw:FHEMWEB: Statt Dropdown Buttons / Schaltflächen?
Beitrag von: Grinsekatze am 24 April 2017, 01:03:35
Es soll power on | off gesetzt werden. Mit readingList habe ich experimentiert, jedoch die Funktion noch nicht richtig verstanden - vermutlich auch, weil ich keine sichtbaren Änderungen bemerkt habe. Ich hatte es mal statt setList benutzt und mal nur attrib FernseherWohnzimmer_remote readingList power definiert. Doch bemerkte ich keine Änderungen - lediglich bei fehlendem setList gab es im FHEMWEB in der Detail-Ansicht keine Set-Auswahl mehr. Die commandref gibt da auch wenig her (waren glaub ich nur 2 Sätze auf englisch).

Der Dummy bildet das Modul LG_RS232 nach. Dort schalte ich den TV entweder über on | off oder power on | power off an bzw. aus. Am TV selbst wird on | off geschaltet. Die Fernbedienung hingegen nutzt power on | power off. Ich habe ich daher ebenfalls für power entschieden.
Titel: Antw:FHEMWEB: Statt Dropdown Buttons / Schaltflächen?
Beitrag von: Grinsekatze am 14 Mai 2017, 12:25:49
Hat keiner einen Tip, wie ich es hinbekomme, dass ich im WEBIF zwei Schaltflächen beim Dummy habe um power on und power off zu schalten?
Titel: Antw:FHEMWEB: Statt Dropdown Buttons / Schaltflächen?
Beitrag von: KernSani am 14 Mai 2017, 13:24:02
Habe gerade ein bisschen experimentiert... sicher nicht die eleganteste Lösung, aber so könntest du annähernd erreichen was du möchtest

defmod test dummy
attr test setList power:on,off
attr test userReadings power {if (ReadingsVal($name,"state",undef) =~/power/) {my @val = split / /,ReadingsVal($name,"state",undef);; return $val[1]}}
attr test webCmd power on:power off
Titel: Antw:FHEMWEB: Statt Dropdown Buttons / Schaltflächen?
Beitrag von: Grinsekatze am 14 Mai 2017, 20:26:30
Danke für die Hilfe!

Mit deiner Version hat es leider nur so halb geklappt - ich hatte dann statt on und off im Web-If immer power on und power off stehen.

Jedoch habe ich durch Deinen Ansatz die offenbar richtige - zumindest hier funktionierende - Lösung gefunden:
attr FernseherWohnzimmer_remote eventMap /power on:on/power off:off/
attr FernseherWohnzimmer_remote devStateIcon on:ios-on-green off:ios-off
attr FernseherWohnzimmer_remote webCmd on:off


Zunächst mit eventMap das auslösende Event (hier "power on" und "power off") auf einen Ausdruck ohne Leerzeichen Mappen (hier "on" und "off", da ich es eh nicht verwende) - dabei auf die Event umschließenden Slashes achten!
Danach können die zuvor gemappten neuen Ausdrücke beliebig mit z.B. devStateIcon oder webCmd aufgerufen werden.
Titel: Antw:SOLVED: FHEMWEB: Statt Dropdown Buttons / Schaltflächen?
Beitrag von: Pfriemler am 15 Mai 2017, 22:23:51
Aus meiner Spielwiese:
Ich nutze uzsu mit einem Dummy:
Ersetze mal in Deiner Setlist
power:on,off
durch
power:uzsuSelectRadio,on,off
Das erzeugt bei mir dann zwei Buttons, die im Ergebnis "power on" bzw. "power off" an den Dummy übergeben.
So etwa?