Autor Thema: Brematic Gateway Intertechno  (Gelesen 1596 mal)

MrStonedfire

  • Gast
Brematic Gateway Intertechno
« am: 21 September 2014, 19:05:49 »
Hallo
Ich jetzt mit meinen "Winter-Projekt" begonnen.
Und sogleich taten sich 2 probleme auf.
Aber eins nach den anderen, ich nutze seit Jahren ein Intertechno System um mein Ausenrollo zusteuern.
Jetzt würde ich das ganze gerne mit Fhem steuern.
Das problem jetzt das Rollo fährt über Fhem weder Runter noch Rauf.
Zur weiteren Diagnose habe ich eine ELRO fernbedinung und Zwischensteckdose "umgedippt"??? und nun folgendes festgestellt.

Sender      Steckdose              Rollo
Fhem          An/Aus                  -/-
Elro FB       An/Aus                   -/Aus
Int... FB     An/Aus                 An/Aus

Leider muss ich mir der Elro FB alle vier Tasten gleichzeitig drücken, um meinen code zu senden.
Mein Intertechno Code ist ---Codierrad C-Guppe 1-Taste 2--- was bei Elro ---1An-2Aus-3u.4An-5Aus---.

Ich vermutte aufgrund der ereignisse das die letzten bits für Intertechno nicht ganz korregt sind.
Jemand eine idee ?

99_Utils
}
sub connair($$$){
my ($Master,$Slave,$action) = @_;
my  $SendData="";
my    $sA=0;
my    $sG=0;
my    $sRepeat=10;
my    $sPause=5600;
my    $sTune=350;
my    $sBaud=25;
my    $sSpeed=16;
my    $uSleep=800000;
my    $txversion=2;
my    $HEAD="TXP:$sA,$sG,$sRepeat,$sPause,$sTune,$sBaud,";
my    $TAIL=",$txversion,1,$sSpeed,;";
my    $AN="1,3,1,3,3";
my    $AUS="3,1,1,3,1";
my    $bitLow=1;
my    $bitHgh=3;
my    $seqLow=$bitHgh.",".$bitHgh.",".$bitLow.",".$bitLow.",";
my    $seqHgh=$bitHgh.",".$bitLow.",".$bitHgh.",".$bitLow.",";
my    $i=0;
my    $bit="";   
my    $msg="";

my  $bits=$Master;
    for($i=0; $i<length($bits); $i++) {   
        $bit=substr($bits,$i,1);
        if($bit=="0") {
            $msg=$msg.$seqLow;
        } else {
            $msg=$msg.$seqHgh;
        }
    }
my    $msgM=$msg;
   
    $bits=$Slave;
   
    $msg="";
    for($i=0; $i<length($bits); $i++) {
        $bit=substr($bits,$i,1);
        if($bit=="0") {
            $msg=$msg.$seqLow;
        } else {
            $msg=$msg.$seqHgh;
        }
    }
my    $msgS=$msg;

    if($action eq "on") {
        $SendData = $HEAD.$bitLow.",".$msgM.$msgS.$bitHgh.",".$AN.$TAIL;
    } else {
        $SendData = $HEAD.$bitLow.",".$msgM.$msgS.$bitHgh.",".$AUS.$TAIL;
    }
my ($socket,$data);
#  We call IO::Socket::INET->new() to create the UDP Socket
$socket = new IO::Socket::INET(PeerAddr=>'192.168.0.123:49880',Proto=>'udp') or die "ERROR in Socket Creation : $!\n";
$socket->send($SendData);

$socket->close();

}

config
define Tor dummy
attr Tor alias Tor
attr Tor eventMap BI:on B0:off
attr Tor room Garten
attr Tor setList state:on,off
define Tor_ntfy notify Tor:.* {\
    my $master = "30330";;\
    my $slave = "33330";;\
    my $v=Value("Tor");;\
    if ($v eq "on") {connair("$master","$slave","on")};;\
    if ($v eq "off") {connair("$master","$slave","off")};;\
    }
« Letzte Änderung: 22 September 2014, 19:53:10 von MrStonedfire »

 

decade-submarginal