FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: groeg am 02 August 2015, 20:47:12

Titel: IRTrans Modul zum verbessern
Beitrag von: groeg am 02 August 2015, 20:47:12
Hallo Leute,

da ich leider kein Modul für das Infrarotempfangsgerät von IRTrans gefunden habe versuchte ich mal ein eigenes zu Programmieren.
Das ist mir soweit auch gelungen. Es gibt aber noch einiges daran zu verbessern.
Leider sind meine Programmierkenntnisse besch......

Vieleicht findet sich ja hier jemand der das Modul weiter entwickeln möchte.

Was geht:
Es können Befehle empfangen und auch gesendet werden.
Das IRTrans Gerät braucht aber eine Datenbank dafür mit den programmierten Befehlen.

Was mir noch fehlen würde: Falls die Verbindung abbricht ein automatisches Reconnect.

Viel Spass damit.
Titel: Antw:IRTrans Modul zum verbessern
Beitrag von: dirkeden am 11 August 2015, 20:51:13
Danke für das Modul IRTrans. Ich Nutze es um die Befehle tv on und tv off von der IR Fernbedienung zu empfangen.
Titel: Antw:IRTrans Modul zum verbessern
Beitrag von: groeg am 15 August 2015, 10:12:23
Oder du kannst auch wenn du z.B. eine Harmony besitzt ein Profil erstellen und über das Befehle an Fhem zu schicken. Ich steuere so mit der Fernbedienung noch das Wohnzimmerlicht und Hintergrundbeleuchtung und auch meine Rollos  ;)
Titel: Antw:IRTrans Modul zum verbessern
Beitrag von: dirkeden am 16 August 2015, 12:00:43
Ok, eine Harmony hab ich, das Wohnzimmerlicht steuere ich  ich über den Zustand vom  dummy d_Fernseher und der Helligkeit (twilight).

define myIRTrans IRTrans 192.168.xxx.yyy 21000
attr myIRTrans room System
define di_Fernseheronoff DOIF ([myIRTrans:ir_remote] eq "tv" and [myIRTrans:ir_command] eq "on") ( set d_Fernseher on) DOELSEIF ([myIRTrans:ir_remote] eq "tv" and [myIRTrans:ir_command] eq "off") ( set d_Fernseher off)
define n_d_Fernseher_change notify d_Fernseher {Fernsehonoff()}


in 99_myUtils.pm
sub Fernsehonoff()
{
  my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
  $Monat+=1;
  $Jahrestag+=1;
  $Jahr+=1900;
my $helligkeit = ReadingsVal("myTwilight","light",6);
my $TVonoff = ReadingsVal("d_Fernseher","state","off");
my $hueonoff = ReadingsVal("Alle_HUE","state","off");
if ($TVonoff eq "on")
   {
     if ($helligkeit < 4) {fhem("set Alle_HUE on")}
   }
if ($TVonoff eq "off")
   {
    if ($hueonoff eq "on") {fhem("set Alle_HUE off")}
   }
}
Titel: Antw:IRTrans Modul zum verbessern
Beitrag von: justme1968 am 16 August 2015, 18:06:25
wenn du einen harmony hub hast kannst du den fernseher doch als harmony device in fhem anlegen und über das reading powerState gehen. ohne dummy und ir empfänger. den brauchst du nur wenn du direkt über eine harmony taste etwas in fhem auslösen möchtest.

gruß
  andre
Titel: Antw:IRTrans Modul zum verbessern
Beitrag von: dirkeden am 17 August 2015, 19:56:28
Den Harmony Hub habe ich noch nicht sondern eine Harmony 890 Remote, daher der Weg über IRTrans.
Danke für den Tipp.
Titel: Antw:IRTrans Modul zum verbessern
Beitrag von: marvin78 am 08 Oktober 2015, 09:54:18
Da der Thread ja heißt "IRTrans Modul zum verbessern", und eine verbesserte Version bei mir schon eine Weile sehr sehr zuverlässig ihren Dienst tut, erlaube ich mir, hier die genannte Version anzuhängen. Wobei das eventuell so nicht mehr in die Rubrik Codeschnipsel passt, sondern eher unter "Unterstützende Dienste".

Es arbeitet jetzt mit DevIo und ich habe einiges an DefFn_X ReadFn_X und SetFn_X geschraubt. Es sollte deutlich zuverlässiger sein. Es ist möglich, das Device zu deaktivieren. Die vorhandenen Remotes und Commands werden nun vom IRTRans-Device in den hash geladen und auch als set Kommandos direkt zur Verfügung gestellt. Dafür wurde das get entfernt. Die Doku habe ich angepasst.

Hier gibt es das Modul: >> Klick << (http://forum.fhem.de/index.php?topic=41946.msg341803#msg341803)