Heute gibt es mal ein Update zum schon früher veröffentlichten IRTrans Plugin.
Damit können sehr einfach viele IRTrans befehle mit GA's verknüpft werden. Neu ist, dass man nun auch den Auslösewert angeben kann. Also ob bei 0 oder bei 1 ausgelöst wird. Dies ist bei etwas spezielleren Geräten wie gewisse Beamer die einen getrennten EIN und AUS Befehl haben sehr praktisch, da man nun beide Befehle auf die gleiche GA legen kann.
Hier mal der neue Source:
Änderungswünsche und Anregungen sind immer willkommen
Wenn das Plugin ein paar Tage stabiel läuft werde ich die neue Version auch im SVN einchecken
Damit können sehr einfach viele IRTrans befehle mit GA's verknüpft werden. Neu ist, dass man nun auch den Auslösewert angeben kann. Also ob bei 0 oder bei 1 ausgelöst wird. Dies ist bei etwas spezielleren Geräten wie gewisse Beamer die einen getrennten EIN und AUS Befehl haben sehr praktisch, da man nun beide Befehle auf die gleiche GA legen kann.
Hier mal der neue Source:
Code:
# Plugin um komfortabel Befehle über den IRTrans auszulösen # Version 0.3 BETA 13.05.2012 # Copyright: swiss (https://knx-user-forum.de/members/swiss.html) # License: GPL (v2) # Aufbau möglichst so, dass man unterhalb der Einstellungen nichts verändern muss! #################### ###Einstellungen:### #################### my @Befehle; my $ip_irtrans = '192.168.1.15'; #IP des IRTrans #Pro Befehl der über den IRTrans ausgelöst werden soll einfach diese Konfigurationszeile kopieren und anpassen. push @Befehle, { name => "Fernseher_Ein/Aus", datenbank => 'philips', befehl => 'power', GAausloeser => "6/2/129", wert => "1" }; push @Befehle, { name => "Roomba putzen", datenbank => 'romba581', befehl => 'clean', GAausloeser => "6/3/100", wert => "1" }; push @Befehle, { name => "Optoma Ein", datenbank => 'optoma', befehl => 'power_on', GAausloeser => "9/6/0", wert => "1" }; push @Befehle, { name => "Optoma Aus", datenbank => 'optoma', befehl => 'power_off', GAausloeser => "9/6/0", wert => "0" }; ###################### ##ENDE Einstellungen## ###################### use LWP::Simple; my $url; my $rcv; # Zyklischer Aufruf nach restart und alle 1T. $plugin_info{$plugname.'_cycle'} = 86400; foreach my $element (@Befehle) { if ($msg{'apci'} eq "A_GroupValue_Write" and $msg{'dst'} eq $element->{GAausloeser} and knx_read($msg{'dst'},0,1) == $element->{wert}) { $url = "http://" . $ip_irtrans . "/send.htm?remote=" . $element->{datenbank} . "&command=" . $element->{befehl}; $rcv = get( $url ); #Hier wird der Befehl per webaufruf an den IR-Trans gesendet. die "Fehler beim aufrufen der URL: $url. Bitte IP überprüfen." unless defined $rcv; if($rcv =~ /Error/){ #Wenn der IRTrans einen fehler meldet, wird das in der Pluginübersicht angezeigt. return("Fehler! Bitte die Einstellungen von " . $element->{name} . " überprüfen."); } }else{ #zyklischer Aufruf # Plugin an Gruppenadresse "anmelden", hierdurch wird das Plugin im folgenden bei jedem eintreffen eines Telegramms auf die GA aufgerufen und der obere Teil dieser if-Schleife durchlaufen $plugin_subscribe{$element->{GAausloeser}}{$plugname} = 1; } } return("Status Ok");

