From 4d7646183ec6e5d25b97c2fd6847c3ba851994ac Mon Sep 17 00:00:00 2001 From: justme-1968 Date: Mon, 30 Sep 2013 21:56:00 +0000 Subject: [PATCH] display string registers as text git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@3984 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/34_SWAP.pm | 14 ++++++++--- FHEM/lib/SWAP/justme/epd.xml | 48 ++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 FHEM/lib/SWAP/justme/epd.xml diff --git a/FHEM/34_SWAP.pm b/FHEM/34_SWAP.pm index 0286b19bf..833db1d17 100755 --- a/FHEM/34_SWAP.pm +++ b/FHEM/34_SWAP.pm @@ -37,7 +37,7 @@ use constant { STATUS => '00', COMMAND => '02', BIN => 1, NUM => 2, - STRING => 3, + STR => 3, STREAM => 4, IN => 1, OUT => 2, }; @@ -134,7 +134,7 @@ readDeviceXML($$) my ($product, $file_name) = @_; my $map = { bin => BIN, num => NUM, - string => STRING, + str => STR, stream => STREAM, inp => IN, out => OUT, }; @@ -583,7 +583,7 @@ SWAP_Get($@) return $ret; } } - + foreach my $cmd ( sort keys ( %{$gl} ) ) { $list .= " "; $list .= $cmd; @@ -741,6 +741,14 @@ SWAP_updateReadings($$$) } else { $value = substr($data, $position*2, $endpoint->{size}*2); } + if( $endpoint->{type} == STR ) { + my $v = ""; + for( my $i = 0; $i < length($value)-6; $i+=2 ) { + $v .= sprintf( "%c", hex(substr($value, $i, 2)) ); + } + #$value = $v; + readingsBulkUpdate($hash, lc($endpoint->{name}), $v); + } readingsBulkUpdate($hash, SWAP_regName($rid,$i,$endpoint), $value); ++$i; } diff --git a/FHEM/lib/SWAP/justme/epd.xml b/FHEM/lib/SWAP/justme/epd.xml new file mode 100644 index 000000000..e7d7c96f8 --- /dev/null +++ b/FHEM/lib/SWAP/justme/epd.xml @@ -0,0 +1,48 @@ + + + justMe + ePaper Display + false + + + + 18 + + + + + 3 + + + 0 + 1 + + + 1 + 2 + + + + + 6 + + + 0 + 2 + + + 2 + 2 + + + 4 + 1 + + + 5 + 1 + + + + +