diff --git a/fhem/FHEM/98_livetracking.pm b/fhem/FHEM/98_livetracking.pm
index e546fc6f6..58c692da6 100644
--- a/fhem/FHEM/98_livetracking.pm
+++ b/fhem/FHEM/98_livetracking.pm
@@ -58,7 +58,6 @@ sub livetracking_Initialize($) {
"home ".
"swarmHome ".
"owntracksDevice ".
- "traccarDevice ".
"beacon_0 ".
"beacon_1 ".
"beacon_2 ".
@@ -117,7 +116,7 @@ sub livetracking_Define($$$) {
if($req)
{
- $hash->{NOTIFYDEV} = AttrVal($name, "owntracksDevice" , AttrVal($name, "traccarDevice" , "owntracks"));
+ $hash->{NOTIFYDEV} = AttrVal($name, "owntracksDevice" , "owntracks");
}
else
{
@@ -194,7 +193,7 @@ sub livetracking_Set($$@) {
$messagetext = '"content":"'.FmtDateTime(time()).'
FHEM:
'.$messagetext.'",';
}
- fhem('set '.$devname.' msg {"_type":"cmd","action":"action",'.$messagetext.$notifytext.'"tst":'.time().'}');
+ fhem('set '.$devname.' cmd {"_type":"cmd","action":"action",'.$messagetext.$notifytext.'"tst":'.time().'}');
#fhem('set '.$devname.' msg {"_type":"cmd","action":"notify", "content":"'.$notifytext.'","tst":'.time().'}') if($notifytext ne "");
}
@@ -304,9 +303,6 @@ sub livetracking_Attr(@) {
if ($attr && $attr eq 'owntracksDevice') {
$hash->{NOTIFYDEV} = $val if defined $val;
}
- if ($attr && $attr eq 'traccarDevice') {
- $hash->{NOTIFYDEV} = $val if defined $val;
- }
elsif ($attr && $attr =~ /^(zonename_)([0-9]+)/) {
fhem( "deletereading $name zone_".$2 );
}
@@ -688,25 +684,23 @@ sub livetracking_Notify($$)
{
Log3 ($name, 6, "$name OwnTracks data: /n".Dumper($dev));
- if(!($dev->{CHANGED}[0] =~ m/_type":[ ]?"location/ || $dev->{CHANGED}[0] =~ m/_type":[ ]?"position/ || $dev->{CHANGED}[0] =~ m/_type":[ ]?"transition/ || $dev->{CHANGED}[0] =~ m/_type":[ ]?"steps/ || $dev->{CHANGED}[0] =~ m/_type":[ ]?"beacon/ ))
+ my $invaliddata = 1;
+ if(($dev->{CHANGED}[0] =~ m/_type":[ ]?"location/ || $dev->{CHANGED}[0] =~ m/_type":[ ]?"position/ || $dev->{CHANGED}[0] =~ m/_type":[ ]?"transition/ || $dev->{CHANGED}[0] =~ m/_type":[ ]?"steps/ || $dev->{CHANGED}[0] =~ m/_type":[ ]?"beacon/ ))
{
- Log3 ($name, 5, "WRONG OWNTRACKS TYPE ".Dumper($dev->{CHANGED}[0]));
+ $invaliddata = 0;#owntracks
+ }
+ elsif(($dev->{CHANGED}[0] =~ m/position":[ ]?{/))
+ {
+ $invaliddata = 0;#traccar
+ }
+ if($invaliddata == 1){
+ Log3 ($name, 5, "WRONG MQTT TYPE ".Dumper($dev->{CHANGED}[0]));
return undef;
}
$data= substr($dev->{CHANGED}[0],index($dev->{CHANGED}[0], ": {")+2);
$dataset = JSON->new->utf8(0)->decode($data);
- } elsif($devName eq AttrVal($name, "traccarDevice" , "traccar")) {
- if(!($dev->{CHANGED}[0] =~ m/position":[ ]?{/))
- {
- Log3 ($name, 5, "WRONG TRACCAR TYPE ".Dumper($dev->{CHANGED}[0]));
- return undef;
- }
-
- $data= substr($dev->{CHANGED}[0],index($dev->{CHANGED}[0], ": {")+2);
- my $traccardata = JSON->new->utf8(0)->decode($data);
-
} else {
Log3 ($name, 5, "livetracks: Notify ignored from ".$devName);
return undef;
@@ -1287,14 +1281,13 @@ sub livetracking_utf8clean($) {
=item summary Position tracking via OwnTracks, OpenPaths and Swarm
=begin html
-
-
define <name> livetracking <...>
...
All/OpenPaths/Swarm
- owntracksLocation
- owntracksSteps
- address [short/long/lat,lng]
- owntracksMessage
+ location
distance km
+ distance (km)
accuracy m
+ accuracy (m)
altitude m
+ altitude (m)
velocity km/h
+ velocity (km/h)
heading deg
+ heading (deg)
steps steps
+ steps (steps)
walking m
+ walking (m)
floorsup floors
+ floorsup (floors)
floorsdown floors
+ floorsdown (floors)
zone_N active/inactive
+ zone_N (active/inactive)
batteryState ok/low
+ batteryState (ok/low)
batteryPercent %
+ batteryPercent (%)
connection (mobile/wifi/offline/unknown)
+ batteryWarning
+ beacon_N
+ zonename_N
+ home
+ swarmHome
+ filterAccuracy
+ roundDistance, roundAltitude
+ owntracksDevice
+