Remotecontrol auf mehrere Devices

Begonnen von Nico, 09 November 2013, 20:47:22

Vorheriges Thema - Nächstes Thema

Nico

Hallo, ich habe erfolgreich eine Samsung Fernbedienung mit dem remote Modul angelegt, eigentliches Ziel ist aber eine Universalfernbedienung zu haben, die auf einer Seite/Fernbedienung mehrere verschiedene Devices steuern kann - also etwa TV Power, Dreambox Power, Verstärker Lautstärke, TV Quellen, Wohnzimmer Beleuchtung...

In den remote Attributen kann ich aber soweit ich gesehen habe nur ein device als target für die fernbedienungskommandos angeben.

Wie bekomme ich einzelne Tasten auf verschiedene Geräte verlinkt? :-\

ChrisW

Ich nutze dafür eine Harmony One ;) Funktioniert für sowas super.  Habe da einen IR / FUnk Wandler um auch Strom zu schalten. Hatte es auch mal per IR und FHEM Versucht aber es dann gelassen gibt da irgendwie zu mindest vor 1 Jahr relativ wenig.
Raspberry PI3 mit allem möglichen.

UliM

Huhu,
Du könntest für die unterschiedl. Geräte separate remotecontrols definieren und diese in einem floorplan so anordnen, dass es aussieht als wär's eine.
Oder du lässt von remotecontrol einen dummy schalten, auf den Du notifies hängst, die dann unterschiedliche Geräte triggern.

Passt das für Dich?

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Nico

Chris, ich habe selber eine Harmony hier rumliegen mit einer richtig dicken Staubschicht, leider ist die "lauter" Taste etwas hakelig und somit fast unbenutzbar. Außerdem liegen hier einige Tablets und Smartphones herum mit denen über FHEM Licht, Heizung und HiFi gesteuert werden (teils auch über einen FS20 IRF Umsetzer) und das klappt alles wunderbar. Im Gegensatz zur Harmony hat FHEM halt auch teilweise einen Rückkanal, womit sich Makros deutlich sinnvoller gestalten lassen (ist ein Gerät an? Welcher Kanal läuft? etc.).

Uli - das mit dem Floorplan klingt im ersten Moment nach viel Arbeit - aber vielleicht auch keine schlechte Idee - muß ich mal durchdenken! Das mit dem dummy klingt aber eher nach der Lösung die ich suche. Ich definiere also einen dummy und weise die FB dann dem dummy zu. Und wie schaut dann so ein notify aus? Kannst Du mir da vielleicht ein Beispiel geben? Ich steh da auf dem Schlauch  :-\

define FB_device dummy
define Universalfernbedienung remotecontrol
set Universalfernbedienung makenotify FB_device
attr Universalfernbedienung row00 play:PLAY,pause:PAUSE,louder:VOLUP,quieter:VOLDOWN


Wie kann ich jetzt beispielsweise Play und Pause dem SamsungTV mitgeben und Lauter leiser dem Verstärker?

lg
Nico

Nico

*push*

@Uli/all:
kann mir bitte jemand ein notify-Beispiel geben für eine Taste an TV und eine an den Verstärker? Ich bekomms leider alleine nicht hin ;(

BenWend

#5
Hallo,

ich habe mich mal etwas mit der Fernbedienung auseinandergesetzt und ich finde sie bisher exzellent.

Da ich die Fernbedienung auch als Universalfernbedienung nutzen möchte, hier mein bisheriger Testcodeschnipsel (ich bin noch arg am ausprobieren und beschäftige mich erst seit gestern mit der Fernbedienung).

Ich steuere damit 4 Geräte:

1.) Onkyo an/aus via TCP/IP (noch nach der alten Methode http://forum.fhem.de/index.php?topic=13164.0 - sollte mittlerweile aber einfacher gehen)
2.) Fernseher an/aus via EGPM2LAN (http://fhem.de/commandref_DE.html#EGPM2LAN)
3.) DVB Receiver an/aus via EGPM2LAN
4.) Apple TV an (Tastendruck) via iTach (http://www.fhemwiki.de/wiki/ITach)

#LGTV

define WZIPAC_Tv EGPM WZIPAC 1
attr WZIPAC_Tv room Multimedia

#DVBS

define WZIPAC_Dvbs EGPM WZIPAC 2
attr WZIPAC_Dvbs room Multimedia

#ATVWZ Dummy

define ATVWZ dummy
attr ATVWZ room iTach
attr ATVWZ setList up down left right play menu select
attr ATVWZ webCmd up:down:left:right:play:menu:select

# ATVWZ Befehle

define ATVWZ_down notify ATVWZ:down.* {system("perl /opt/fhem/FHEM/itach2.pl sendir,1:2,1,39000,1,1,348,172,21,22,21,63,21,63,21,63,21,22,21,63,21,63,21,63,21,63,21,63,21,63,21,22,21,22,21,22,21,22,21,63,21,63,21,22,21,63,21,63,21,22,21,22,21,22,21,22,21,22,21,63,21,22,21,63,21,22,21,63,21,22,21,63,21,1472,347,86,21,780");;}

# Onkyo Dummy

define Onkyo_WZ dummy
attr Onkyo_WZ room Multimedia
attr Onkyo_WZ setList on off
attr Onkyo_WZ webCmd on:off

# Onkyo Befehle

define Onkyo_on notify Onkyo_WZ:on.* {system("perl /opt/fhem/FHEM/onkyo.pl PWR01");;}
define Onkyo_off notify Onkyo_WZ:off.* {system("perl /opt/fhem/FHEM/onkyo.pl PWR00");;}

#Universalfernbedienung

define rc_1 remotecontrol
attr rc_1 fp_remote1 100,100,0,
attr rc_1 rc_iconpath icons/remotecontrol
attr rc_1 rc_iconprefix black_btn_
attr rc_1 row00 Onkyo_WZ on:on, WZIPAC_Tv on:on,WZIPAC_Dvbs on:on, ATVWZ down:on,5:on,
attr rc_1 row01 1:onkyo,2:lg50,3:dvbs,4:atv,5:dvd,
attr rc_1 row02 Onkyo_WZ off:off, WZIPAC_Tv off:off,WZIPAC_Dvbs off:off, ATVWZ up:off,5:off,
define notify_rc1 notify rc_1 set $EVENT



Das Prinzip ist also eigentlich ganz einfach. Ich nehme im $EVENT nicht nur den zu sendenden Befehl (z.B. on/off) sondern auch das anzusprechende Gerät (z.B. ATVWZ/Onkyo_WZ) mit auf bzw. den entsprechenden dummy (wenn ich ein Gerät nicht direkt mit "set" ansprechen kann). Die Universalfernbedienung sendet dann "set Gerätename Befehl).

Im o.g. Beispiel spreche ich die EGPM2LAN-Steckerleiste direkt an (TV/DVBS on/off).

Bzgl. Apple Tv und Fernseher gehe ich den Umweg über einen dummy. Der dummy wiederum spricht dann den iTach direkt an, der die Infrarotbefehle sendet.

Im nächsten Schritt werde ich jetzt peu à peu alle relevanten Fernbedienungen mit den wichtigsten Befehlen einpflegen und weiter ausprobieren, wie die Lösung in der Praxis läuft (insbesondere wie die Reaktionszeiten sind und wie aufeinander folgende Befehle [z.B. 1+0+enter=10] funktionieren).

Werde dann gerne auch noch einmal berichten.

Schöne Grüße

Ben

 



Nico

Hallo Ben, vielen Dank für Deine Codezeilen - ich werde mich bei nächster Gelegenheit mal daran machen meine Fernbedienung entsprechend zusammenzustellen.
Vielen Dank für Deinen Input!!