From aa7aaca40e5875310d95bd9a9b506edecc0c9629 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sun, 4 Oct 2020 10:22:20 +0200 Subject: [PATCH 1/1] extract up/down from topic --- zc-mqtt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/zc-mqtt b/zc-mqtt index f7bd2b0..9706b5b 100755 --- a/zc-mqtt +++ b/zc-mqtt @@ -83,8 +83,10 @@ while (1) { } my $topic = $msg->topic; - my $dir = $topic; - $dir =~ s{\w+/\w+/(\w+)/\w+}{$1}; + # Inclinometer/ZCT330Ex_SWP_N_YK/869858031634109/up + my $dir = $topic; # leave imei in dir + $dir =~ s{\w+/\w+/(\w+)/(\w+)$}{$1}; + my $up_down = $2; mkdir "$queue" if ( ! -e "$queue" ); mkdir "$queue/$dir" if ( ! -e "$queue/$dir" ); @@ -92,9 +94,8 @@ while (1) { my $function_code = unpack('C',substr($msg->message,2,1)); - write_file "$queue/$dir/$t.up.$function_code", $msg->message; + write_file "$queue/$dir/$t.$up_down.$function_code", $msg->message; -# if ( $msg->topic =~ m{Inclinometer/ZCT330Ex_SWP_N_YK/869858031634109/up} ) { if ( substr($msg->message,2,1) eq "\x07" ) { # heartbeat $topic =~ s/up$/down/; @@ -109,7 +110,7 @@ while (1) { topic => $topic, message => $raw); $pending =~ s{$queue/$dir/.pending/}{}; - rename "$queue/$dir/.pending/$pending", "$queue/$dir/$pending.down.$function_code"; + rename "$queue/$dir/.pending/$pending", "$queue/$dir/$pending.sent.$pending_function_code"; } } -- 2.20.1