From 2cc881b4a3e40398dd570f5f4fa734e4215a212c Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Fri, 24 Apr 2020 12:35:32 +0000 Subject: [PATCH] 10_FBDECT.pm: add lastpressedtimestamp_kurz for DECT400 (Forum #94700) git-svn-id: https://svn.fhem.de/fhem/trunk@21766 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_FBDECT.pm | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/10_FBDECT.pm b/fhem/FHEM/10_FBDECT.pm index 7bb9d15fc..f58eab28d 100644 --- a/fhem/FHEM/10_FBDECT.pm +++ b/fhem/FHEM/10_FBDECT.pm @@ -246,6 +246,8 @@ my %fbhttp_readings = ( summeractive => '"summeractive:".($val ? "yes":"no")', holidayactive => '"holidayactive:".($val ? "yes":"no")', lastpressedtimestamp => '"lastpressedtimestamp:".($val=~m/^\d{10}$/ ? FmtDateTime($val) : "N/A")', + lastpressedtimestamp_kurz => '"lastpressedtimestamp_kurz:".($val=~m/^\d{10}$/ ? FmtDateTime($val) : "N/A")', + lastpressedtimestamp_lang => '"lastpressedtimestamp_lang:".($val=~m/^\d{10}$/ ? FmtDateTime($val) : "N/A")', ); sub @@ -254,9 +256,28 @@ FBDECT_ParseHttp($$$) my ($iodev, $msg, $type) = @_; my $ioName = $iodev->{NAME}; my %h; + my $omsg; - $msg =~ s,<([^/>]+?)>([^<]+?)<,$h{$1}=$2,ge; # Quick & Dirty: Tags - $msg =~ s, ([a-z]+?)="([^"]*)",$h{$1}=$2,ge; # Quick & Dirty: Attributes + $omsg = $msg; + $omsg =~ s,<([^/>]+?)>([^<]+?)<,$h{$1}=$2,ge; # Quick & Dirty: Tags + $omsg = $msg; + $omsg =~ s, ([a-z]+?)="([^"]*)",$h{$1}=$2,ge; # Quick & Dirty: Attributes + + if($h{lastpressedtimestamp}) { # Dect400/#94700 + sub dp($$$); + sub + dp($$$) + { + my ($ln, $txt,$hptr) = (@_); + $txt =~ s#<([^/\s>]+?)[^/]*?>(.*?)# + my ($n,$c) = ($1,$2); + $ln = $1 if($n eq "name" && $c =~ m/.*(kurz|lang)$/); + $hptr->{"${n}_$ln"} = $c if($n eq "lastpressedtimestamp" && $ln); + dp($ln, $c, $hptr) if($c && $c =~ m/^<.*>$/); + #gex; + } + dp("", $msg, \%h); + } my $ain = $h{identifier}; $ain =~ s/[-: ]/_/g;