X-Git-Url: https://git.realraum.at/?p=svn42.git;a=blobdiff_plain;f=rf433rcv%2Fpc%2Frealraum_codes.pl;h=91bab7783a64f6a313565b98ede95f5e90f07bb2;hp=774d6df5eeb29aa6913517b05bd14b7cabcdb783;hb=5b00dab1a7d2ac2d8a593f0bd6e85a7194e2c9bd;hpb=b95eb9f048feef2b6f066ce676096645d7e898f3 diff --git a/rf433rcv/pc/realraum_codes.pl b/rf433rcv/pc/realraum_codes.pl index 774d6df..91bab77 100755 --- a/rf433rcv/pc/realraum_codes.pl +++ b/rf433rcv/pc/realraum_codes.pl @@ -3,9 +3,10 @@ use strict; my %remotes = ( - schwarz => [\&schwarz, "01110101a1b1c1000000dddd"] , - weiss => \&weiss, - pollin => \&pollin, + schwarz => [\&schwarz, "swia1b1c1000000dddd"] , + weiss => [\&weiss,"0c0d01010b0001010001010a"], + pollin => [\&pollin,"0q0w0e0r0tbbbbbbbbbbaaaa"], + rsl336t => [\&rsl336t,"switchbutton010101oo"], ); &main(); @@ -30,18 +31,78 @@ sub main sub schwarz { - my ($swicht_cnt, $on) = @_ or die "parameters swicht_cnt {0|1}"; - my $data = {a=>0, b=> 0, c=> 0, dddd=> ($on? "1100":"0011")}; - $data->{chr(ord('a')+$swicht_cnt-1)}=1; + my ($switch, $button, $on) = @_ or die "parameters {a|b|c|d} {1|2|3} {0|1}"; + my $switchdata = { + a => '11010101', + b => '01110101', + c => '01011101', + d => '01010111', + }; + my $data = { + swi=> $switchdata->{$switch}, + a=> 0, + b=> 0, + c=> 0, + dddd=> ($on? "1100":"0011")}; + $data->{chr(ord('a')+$button-1)}=1; return $data; } sub weiss { - + my ($switch,$taste,$on) = @_ or die "parameters {a|b|c|d} {1|2} {0|1}"; + my $data = { + a=> ($on?'1':'0'), + b=> ($taste==1?'0':'1'), + c=>0, + d=>0, + }; + if($switch eq 'b') + { + $data->{c}=1; + } elsif ($switch eq 'c') { + $data->{d}=1; + } elsif ($switch eq 'd') { + $data->{c}=1; + $data->{d}=1; + } + return $data; } sub pollin { + my ($switch,$taste,$on) = @_ or die "parameters 00000 {a|b|c|d} {0|1}"; + my %tasten = ( + a => '0001010101', + b => '0100010101', + c => '0101000101', + d => '0101010001', + e => '0101010100', + ); + my $data = { + aaaa=> ($on?'0001':'0100'), + bbbbbbbbbb=> $tasten{$taste}, + }; + my @switches = split //,$switch; + @switches = map { $_?'0':'1'} @switches; + @{$data}{qw/q w e r t/}=@switches; +# print join ',',%$data; + return $data; +} +sub rsl336t +{ + my ($switch,$button,$on) = @_ or die "parameters {a|b|c|d} {a|b|c|d} {0|1}"; + my %tasten = ( + a => '00010101', + b => '01000101', + c => '01010001', + d => '01010100', + ); + my $data = { + oo=> ($on?'01':'00'), + switch=> $tasten{$switch}, + button=> $tasten{$button}, + }; + return $data; }