Raspberry Infrarot empfangen und Funk schalten

Begonnen von MP3Chris2712, 13 Dezember 2013, 11:33:40

Vorheriges Thema - Nächstes Thema

MP3Chris2712

hallo,

ich muss erstmal sagen das Fhem ein sagenhafter Server ist.

Suche für meine Idee eine Lösung

An meinem Raspberry hängt ein IR Empfänger und ein 433 Mhz sender (arbeitet wunderbar mit Fhem schaltet alle meine Steckdosen)

nun möchte ich mit meiner Uni-Fernbedienung zb. Harmony meine Funksteckdosen schalten. Also Raspberry empfängt IR und gibt es an Fhem weiter und schaltet meine Dose.

Kann mir da vielleicht wer eine Hilfestellung geben.

MfG

joesy

Hier ein Lösungsansatz auf Basis von LIRC http://www.lirc.org. Ich gehe mal davon aus, dass der IR-Empfänger lirc kompatibel ist. Der einfachste Einpfänger ist der GPIO Homebrew (http://aron.ws/projects/lirc_rpi/). Dazu gibt es im fhem ein Modul http://fhem.de/commandref.html#LIRC. Das Modul benötigt das Lirc::Client Perl-Modul und verwendet lircrcd für die Verbindung zwischen lirc und fhem.

Das Lirc-Module wird folgendermaßen in der fhem.cfg aktiviert
define Lirc LIRC /opt/fhem/lircrc

Der lircd-Daemon verwendet eine Konfigurationsdatei lircd.conf im folgenden Format. Es gibt für viele Fernbedienungen bereits fertige Konfig-Dateien (http://lirc.org/remotes.tar.bz2). Dort werden die Tasten definiert, auf den lirc reagiert.
begin remote                                             
                                                         
  name  Loewe_150_TV                                     
  bits            6                                     
  flags RC5                                             
  eps            30                                     
  aeps          100                                     
                                                           
  one           912   852                                   
  zero          912   852                                   
  plead         939                                         
  pre_data_bits   7                                         
  pre_data       0x40                                       
  gap          90974                                       
  min_repeat    3                                           
  toggle_bit      2                                         
                                                           
      begin codes                                           
          KEY_1         0x0000000000000001   
          KEY_2         0x0000000000000002   
      end codes                                             
                                                           
end remote


Die gewünschten Tasten werden der oben in der fhem.cfg definierten Konfigurationdatei lircrc eingetragen:
begin
    prog = fhem
    button = KEY_1
    config = IR_1
end
begin
    prog = fhem
    button = KEY_2
    config = IR_2
end


Die "config"-Einträge verweisen wiederum auf Notify-Anweisungen in der fhem.cfg. Das folgende Beispiel bewirkt, dass beim Drücken der Taste "KEY_1" ein Lampe eingeschaltet und mit der Taste "KEY_2" ausgeschaltet wird.

define Lirc_Notify_1 notify IR_1 { if ("%" eq "toggle") {fhem "set WZ_Fernsehlampe on"} }
attr Lirc_Notify_1 room IR

define Lirc_Notify_2 notify IR_2 { if ("%" eq "toggle") {fhem "set WZ_Fernsehlampe off"} }
attr Lirc_Notify_2 room IR



Ich hoffe, ich habe nichts wichtiges vergessen.

MP3Chris2712

danke erstmal für deine antwort ich werde mich die tage melden ob es geklappt hat :-)

eszych

Für alle die sich fragen, wie zum Teufel denn der Lirc Client für perl installiert wird (missing Lirc:Client)

In einer Shell auf dem Server - z.B. Raspi - folgenden Befehl absetzen:
perl -MCPAN -e shell
Dann bekommt man eine CPAN Shell
root@fhempi ~ # perl -MCPAN -e shell
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v1.960001)
Enter 'h' for help.

cpan[1]> install Lirc::Client

Dort gibt man dann einfach install Lirc::Client ein und wartet, bis alles fertig ist:

Installing /usr/local/share/perl/5.14.2/Lirc/Client.pm
Installing /usr/local/man/man3/Lirc::Client.3pm
  MGRIMES/Lirc-Client-2.02.tar.gz
  ./Build install  -- OK

cpan[2]>

mit exit die CPAN Shell verlassen - et voila!

Raspberry Pi 2 - FHEM 5.7
HM-LAN, HM-CFG-USB-2
HM-Sec-SCo, HM-Sec-SC-2, HM-TC-IT-WM-W-EU,
HM-LC-SW4-DR, HM-LC-Sw1-DR, HM-ES-PMSw1-DR,    
HM-ES-PMSw1-Pl - Rademacher Hompilot DuoFern