Hallo FHEM Gemeinde,
ich möchte gerne die RC um eine Power Taste erweitern.
Auf dieser Taste soll sich ein toggle mit set wol_htpc on und set wol_htpc shutdown befinden.
Wie kann ich das lösen?
Im Wiki kann ich nichts genaues finden.
Gruß
./stiftmaster
Hi,
die rc ist ja ein eigenes fhem-device.
Du kannst eine beliebige Taste definieren, z.B. simsalabim:PLAY
Wenn dann die Taste PLAY gedrückt wird, wird ein event rc1:simsalabim ausgelöst.
Definier Dir einfach die Taste die Du willst, ordne ihr einen erdachten Befehlsnamen zu (z.B. simsalabmim) und schau Dir dann im eventmonitor an, welcher event generiert wird, wenn Du die Taste drückst.
Wenn Deine remote z.B. rc1 heisst, kannst Du den Tastendruck mit einem notify abgreifen, das z.B. auf rc1:simsalabim reagiert und die Aktion ausführt, die Du möchtest.
define n_rc1 notify rc1:simsalabim set lampe on
Alles ungetestet - poste doch hier Deine Lösung wenn alles funzt.
Gruß, Uli
PS: Siehe auch fhemwiki.de unter Stichwort "remotecontrol".
Dank Dir Uli für deine Erklärung.
Ich habe mir also eine fünfte Reihe in der RC erzeugt Befehl:Icon
row05 wol_htpc_on:POWEROFF3
Und mein notify erszeugt
define wolon_rc_xbmc notify rc_xbmc:wol_htpc_on set wol_htpc on
Das wol Paket wird gesendet und der HTPC startet :D, wie kann ich jetzt aber je nach state ein wol_htpc on oder wol_htpc shutdown übermitteln?
Danke für Deine Hilfe
./stift
Hi,
prima dass es geklappt hat.
Entweder mit 2 unterschiedlichen Tasten auf der remotecontrol, oder indem Du Deinem notify perl-code mitgibst.
Ich kenne state und readings des htpc-device nicht, aber Du könntest sowas machen wie:
define wolon_rc_xbmc notify rc_xbmc:wol_htpc_on { fhem("set wol_htpc ".Value("htpc") eq "off" ? "on" : "shutdown");}
(ungetestet).
Bin auf Deine Lösung gespannt.
Gruß, Uli
PS: Die verwendete Schreibeweise hat die Form <Bedingung>?<Ergebnis wenn Bedingung wahr>:<Ergebnis sonst> , siehe perl
:o ich glaub da stoß ich an meine Grenzen ;D, aber ich versuch es.....
Als Distri läuft Openelec / Kodi, ich hatte mir als Notlösung ja schon einen separaten Schalter gebastelt, welcher je nach state Ein/Aus geschaltet hat.
Der State ist ist opend oder disconnected.
Definiert habe ich es so:
devStateIcon Initialized:rc_RED:poweron opened:general_aus:poweroff disconnected:general_an:poweron
Dafür gab es folgende Attribute:
powerCmdOff set XBMC shutdown
powerCmdOn set wol_htpc on
Hi,
dann anders gefragt: abhängig von welchem Wert soll entschieden werden, ob on oder shutdown gesendet werden soll?
Ein internal? (z.B. STATE)
Oder ein reading? Welches?
=8-)
Gehen würde womöglich beides, welches ist denn einfacher zu realisieren?
Internals:
CFGFN ./cfg_multimedia.cfg
DEF 192.168.200.3 tcp
DeviceName 192.168.200.3:9090
Host 192.168.200.3
LAST_PING 1422110540.72414
LAST_PONG 1422110540.7292
NAME XBMC
NEXT_OPEN 1422110719.11103
NR 56
PARTIAL
Port 9090
Protocol tcp
STATE disconnected
TYPE XBMC
Pendingevents:
Pendingplayercmds:
668575
714521
Readings:
2014-12-14 02:42:38 currentTrack 12
2015-01-24 15:14:20 fullscreen off
2014-12-14 02:42:38 label The Struggle Within
2014-12-13 23:21:14 movieid 16
2015-01-24 15:14:20 mute off
2015-01-24 15:14:20 name Kodi
2015-01-24 15:14:20 partymode
2015-01-24 15:14:20 playStatus stopped
2015-01-18 00:08:03 playlist add
2015-01-24 15:14:20 repeat
2015-01-24 15:14:20 shuffle
2015-01-24 15:14:20 skin Confluence(skin.confluence)
2014-12-14 02:42:38 songid 97682
2015-01-24 15:14:20 speed
2015-01-24 15:44:19 state disconnected
2015-01-24 15:43:13 system quit
2015-01-24 15:14:20 time
2015-01-24 15:14:20 totaltime
2015-01-18 00:08:04 type movie
2015-01-24 15:14:20 version 14.0-ad747d9 stable
2015-01-24 12:02:56 videolibrary scanfinished
2015-01-24 15:14:20 volume 88
2014-12-13 23:21:14 year 2015
Attributes:
devStateIcon Initialized:rc_RED:poweron opened:general_aus:poweroff disconnected:general_an:poweron
group Beleuchtung Multimedia steuern,Multimedia
icon it_television
pingInterval 60
powerCmdOff set XBMC shutdown
powerCmdOn set wol_htpc on
room Wohnzimmer
Also
define wolon_rc_xbmc notify rc_xbmc:wol_htpc_on { fhem("set wol_htpc ".Value("XBMC") eq "disconnected" ? "on" : "shutdown");}
?
Also wenn der STATE von XBMC "disconnected" ist, soll wol_htpc ein "on" senden, anderenfalls ein "shutdown".
Oder wie?
=8-)
Hm,
also beim einschalten wird wol benutzt mit dem command
set wol_htpc on
und für das herunterfahren das XBMC command
set XBMC shutdown
Hi,
aha. Du sagst immer noch nicht, von was das abhängig sein soll...
Letzter Vorschlag meinerseits:
define wolon_rc_xbmc notify rc_xbmc:wol_htpc_on { if (Value('XBMC') eq 'disconnected') {fhem('set wol_htpc on') } else { fhem('set XBMC shutdown') } }
Falls auch das nicht geht, nimm einfach 2 Tasten :)
Viel Erfolg damit,
Uli
Auf die Quick&Dirty Lösung mit 2 Tasten darf ich verzichten, Deine Lösung klappt jetzt wunderbar.
Vielen Dank für Deine Geduld, jetzt noch das geschriebene verinnerlichen und auf zu neuen Spielereien :D