98_livetracking: CSV data from OwnTracks

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@19257 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
moises 2019-04-24 19:47:07 +00:00
parent 81ae18dd5c
commit 4ee7559d5f

View File

@ -888,10 +888,10 @@ sub livetracking_ParseOwnTracks
my $name = $hash->{NAME}; my $name = $hash->{NAME};
#//rcmcronny CSV DECODING #//rcmcronny CSV DECODING
if($data =~ m/[0-9]{2},[A-Z,a-z,0-9]{8},[f|c|a|k|L|l|m|t|T|v|s]{1},[0-9]{8},[0-9]{8},[0-9]{1,5},[0-9]{1,5},[0-9]{1,5},[0-9]{1,5},[0-9]{1,5}/) if($data =~ m/[A-Za-z0-9]{2},[A-Za-z0-9]{8},[f|c|a|k|L|l|m|t|T|v|s]{1},[0-9]{8},[0-9]{8},[0-9]{1,5},[0-9]{1,5},[0-9]{1,5},[0-9]{1,5},[0-9]{1,5}$/)
{ {
Log3 ($name, 4, "$name - CSV encoded payload detected -> ".Dumper($data)); Log3 ($name, 4, "$name - CSV encoded payload detected -> ".Dumper($data));
my ($csv_tid, $csv_tst, $csv_t, $csv_lat, $csv_lon, $csv_cog, $csv_vel, $csv_alt, $csv_dist, $csv_trip) = $data =~ m/([0-9]{2}),([A-Z,a-z,0-9]{8}),([f|c|a|k|L|l|m|t|T|v|s]{1}),([0-9]{8}),([0-9]{8}),([0-9]{1,5}),([0-9]{1,5}),([0-9]{1,5}),([0-9]{1,5}),([0-9]{1,5})/; my ($csv_tid, $csv_tst, $csv_t, $csv_lat, $csv_lon, $csv_cog, $csv_vel, $csv_alt, $csv_dist, $csv_trip) = $data =~ m/([A-Za-z0-9]{2}),([A-Za-z0-9]{8}),([f|c|a|k|L|l|m|t|T|v|s]{1}),([0-9]{8}),([0-9]{8}),([0-9]{1,5}),([0-9]{1,5}),([0-9]{1,5}),([0-9]{1,5}),([0-9]{1,5})$/;
$data = '{ $data = '{
"_type": "location", "_type": "location",
"t": "'.$csv_t.'", "t": "'.$csv_t.'",
@ -1184,7 +1184,7 @@ sub livetracking_Notify($$)
$invaliddata = 0;#traccar $invaliddata = 0;#traccar
Log3 ($name, 4, "$name Detected Traccar data from MQTT device notify"); Log3 ($name, 4, "$name Detected Traccar data from MQTT device notify");
} }
elsif(($dev->{CHANGED}[0] =~ m/[0-9]{2},[A-Z,a-z,0-9]{8},[f|c|a|k|L|l|m|t|T|v|s]{1},[0-9]{8},[0-9]{8},[0-9]{2},[0-9]{1},[0-9]{2},[0-9]{1},[0-9]{1}/)) elsif(($dev->{CHANGED}[0] =~ m/[A-Za-z0-9]{2},[A-Za-z0-9]{8},[f|c|a|k|L|l|m|t|T|v|s]{1},[0-9]{8},[0-9]{8},[0-9]{1,5},[0-9]{1,5},[0-9]{1,5},[0-9]{1,5},[0-9]{1,5}$/))
{ {
$invaliddata = 0;#owntracks-csv $invaliddata = 0;#owntracks-csv
Log3 ($name, 4, "$name Detected OwnTracks CSV ENCODED data from MQTT device notify"); Log3 ($name, 4, "$name Detected OwnTracks CSV ENCODED data from MQTT device notify");