mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
# ABU 20150916 removed print: simpleWriteDate, cleaned init
# ABU 20150918 fixed deprecated warning, fixed warning related to hex-conversion in simple-write git-svn-id: https://svn.fhem.de/fhem/trunk@9390 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
2573503799
commit
3ffb7ca51a
@ -1,5 +1,8 @@
|
|||||||
##############################################
|
##############################################
|
||||||
# $Id$
|
# $Id$
|
||||||
|
# ABU 20150916 removed print: simpleWriteDate, cleaned init
|
||||||
|
# ABU 20150918 fixed deprecated warning, fixed warning related to hex-conversion in simple-write
|
||||||
|
|
||||||
package main;
|
package main;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
@ -51,9 +54,17 @@ TUL_Initialize($)
|
|||||||
$hash->{SetFn} = "TUL_Set";
|
$hash->{SetFn} = "TUL_Set";
|
||||||
$hash->{StateFn} = "TUL_SetState";
|
$hash->{StateFn} = "TUL_SetState";
|
||||||
$hash->{AttrFn} = "TUL_Attr";
|
$hash->{AttrFn} = "TUL_Attr";
|
||||||
$hash->{AttrList}= "do_not_notify:1,0 dummy:1,0 " .
|
#$hash->{AttrList}= "do_not_notify:1,0 dummy:1,0 " .
|
||||||
"showtime:1,0 model:TUL loglevel:0,1,2,3,4,5,6 ";
|
# "showtime:1,0 model:TUL loglevel:0,1,2,3,4,5,6 ";
|
||||||
|
|
||||||
|
$hash->{AttrList}= "do_not_notify:1,0 "
|
||||||
|
."dummy:1,0 "
|
||||||
|
."showtime:1,0 "
|
||||||
|
."model:TUL "
|
||||||
|
."loglevel:0,1,2,3,4,5,6";
|
||||||
|
|
||||||
$hash->{ShutdownFn} = "TUL_Shutdown";
|
$hash->{ShutdownFn} = "TUL_Shutdown";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
@ -226,6 +237,7 @@ TUL_DoInit($)
|
|||||||
sub
|
sub
|
||||||
TUL_Write($$$)
|
TUL_Write($$$)
|
||||||
{
|
{
|
||||||
|
|
||||||
my ($hash,$fn,$msg) = @_;
|
my ($hash,$fn,$msg) = @_;
|
||||||
return if(!defined($fn));
|
return if(!defined($fn));
|
||||||
|
|
||||||
@ -335,13 +347,26 @@ TUL_SimpleWrite(@)
|
|||||||
|
|
||||||
$eibmsg->{'dst'} = $2;
|
$eibmsg->{'dst'} = $2;
|
||||||
my $hexvalues = $3;
|
my $hexvalues = $3;
|
||||||
my @data = map hex($_), $hexvalues =~ /(..)/g;
|
|
||||||
|
#The array has to have a given length. During Hex-conversion Trailing
|
||||||
|
#0 are recognizes for warnings.
|
||||||
|
#Therefore we backup the length, trim, and reappend the 0
|
||||||
|
#
|
||||||
|
#save length and trim right side
|
||||||
|
my $strLen = length ($hexvalues) / 2;
|
||||||
|
$hexvalues =~ s/\s+$//;
|
||||||
|
#convert hex-string to array with dezimal values
|
||||||
|
my @data = map hex($_), $hexvalues =~ /(..)/g;
|
||||||
|
#re-append 0x00
|
||||||
|
for (my $i=0; $strLen - scalar @data; $i++)
|
||||||
|
{
|
||||||
|
push (@data, 0);
|
||||||
|
}
|
||||||
|
|
||||||
# check: first byte is only allowed to contain data in the lower 6bits
|
# check: first byte is only allowed to contain data in the lower 6bits
|
||||||
# to make sure all is fine, we mask the first byte
|
# to make sure all is fine, we mask the first byte
|
||||||
$data[0] = $data[0] & 0x3f if(defined($data[0]));
|
$data[0] = $data[0] & 0x3f if(defined($data[0]));
|
||||||
|
|
||||||
print "SimpleWrite data: @data \n";
|
|
||||||
$eibmsg->{'data'} = \@data;
|
$eibmsg->{'data'} = \@data;
|
||||||
|
|
||||||
sendGroup($hash, $eibmsg);
|
sendGroup($hash, $eibmsg);
|
||||||
@ -586,6 +611,7 @@ sub
|
|||||||
TUL_Attr(@)
|
TUL_Attr(@)
|
||||||
{
|
{
|
||||||
my @a = @_;
|
my @a = @_;
|
||||||
|
|
||||||
Log 2, "Unsupported method TUL_Attr($a[0],$a[1],$a[2],$a[3])";
|
Log 2, "Unsupported method TUL_Attr($a[0],$a[1],$a[2],$a[3])";
|
||||||
|
|
||||||
return undef;
|
return undef;
|
||||||
@ -701,7 +727,9 @@ sub encode_eibd($)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@data = @{$mref->{'data'}};
|
@data = @{$mref->{'data'}};
|
||||||
@data = (0x0) if(!(defined @data) || !(defined $data[0])); #make sure data has at least one element
|
|
||||||
|
@data = (0x0) if(!@data || !defined($data[0])); #make sure data has at least one element
|
||||||
|
#@data = (0x0) if(!(defined @data) || !(defined $data[0])); #make sure data has at least one element
|
||||||
my $datalen = @data;
|
my $datalen = @data;
|
||||||
Log(5,"encode_eibd dst: $mref->{'dst'} apci: $APCI datalen: $datalen data: @data");
|
Log(5,"encode_eibd dst: $mref->{'dst'} apci: $APCI datalen: $datalen data: @data");
|
||||||
@msg = (
|
@msg = (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user