Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)

Begonnen von Markus M., 22 Mai 2015, 02:01:46

Vorheriges Thema - Nächstes Thema

Markus M.

Zitat von: wmr72 am 05 August 2020, 09:14:51Wenn Owntracks beispielsweise ein "ungenaues" Leave-Event für eine definierte "zone" liefert, dann wird zwar nicht die GPS-Position gesetzt, die Zone selbst wird aber trotzdem auf "inactive" gesetzt.
Ist das Absicht oder ein Bug?
Das gehört so.
Bei den Zonen ist es vor allem wichtig kein enter/leave Event zu verpassen, auch wenn der GPS Empfang gerade mal suboptimal ist.
Wenn du Zonen "versehentlich" nur durch Ungenauigkeit verlässt, musst du sie größer machen.
Aktuell weder Smarthome noch FHEM vorhanden

wmr72

Zitat von: Markus M. am 06 August 2020, 21:40:56
Bei den Zonen ist es vor allem wichtig kein enter/leave Event zu verpassen, auch wenn der GPS Empfang gerade mal suboptimal ist.
Ja, das sehe ich im Prinzip auch so.
Zitat
Wenn du Zonen "versehentlich" nur durch Ungenauigkeit verlässt, musst du sie größer machen.
Hm, mein Owntracks sendet z.T. Zonenupdates mit 1400m Genauigkeit, da müsste ich schon sehr große Zonen definieren.

Markus M.

Zitat von: wmr72 am 07 August 2020, 13:06:23Hm, mein Owntracks sendet z.T. Zonenupdates mit 1400m Genauigkeit, da müsste ich schon sehr große Zonen definieren.

Und das OS filtert sowas nicht aus?
D.h. du hast auch mal stationär leave+enter?
iOS oder Android?
Aktuell weder Smarthome noch FHEM vorhanden

wmr72

Das OS (iOS 13.6) filter die Updates leider nicht aus. Bei genauerem Hinschauen sind das nur Updates für mobile iBeacons, d.h. man betritt z.B. die Zone eines mobilen iBeacon und iOS bzw. Owntracks weiß zu diesem Zeitpunkt nur eine ungenaue GPS-Location. In diesem Moment wird dann aber auch ein ungenaues Update für die GPS-basierten Zonen generiert, "inregions" ist dann z.B. nur noch für "beacon1" gesetzt, alle anderen wie "home", "aroundhome" nicht mehr. Meist wird das wenige Sekunden später durch Owntracks korrigiert, aber das zu diesem Zeitpunkt natürlich schon zu spät, die Zonen wurden zeitweise auf "inactive" gesetzt.

FHEM_Starter

Hallo Markus,

kannst Du mir bitte auf die Sprünge helfen:

Ich habe zwei iPhones, die ich gerne zur Standortabfrage nutzen möchte. Folgendes habe ich bisher getan:

Für jedes Handy ein live tracking device angelegt (ist das überhaupt so richtig?). Das Flag OsmandServer jeweils auf 1 gesetzt, die osmandiid aus dem Feld TrackerID der owntracks app eingetragen.

Zwei Roommates angelegt und sowohl im Attribut rr_presenceDevices als auch im Feld rr_geofenceUUIDs das korrespondierende live tracking Device eingetragen.
Meine beiden notifies reagieren auf die einzelnen tracking Devices.

Ich bin mir nicht sicher, ob nicht hin und wieder das "falsche" Roommate bedient wird. Könnt ihr in den lists einen Fehler erkennen?
Weiterhin habe ich im Logfile die Meldung gefunden, dass die live tracking URL deaktiviert wurde. Gibt es dafür eine Erklärung?

Meine lists der Devices anbei.

Danke und Gruß
Wolfgang

list livetracking Device Tracker_Wolfgang
Internals:
   FUUID      5f4658e6-f33f-21e6-4956-0e1d85448bfeb018
   NAME       Tracker_Wolfgang
   NOTIFYDEV  owntracks
   NR         8152
   NTFY_ORDER 999-Tracker_Wolfgang
   STATE      place
   TYPE       livetracking
   READINGS:
     2020-08-26 16:31:59   accuracy        100
     2020-08-26 15:54:22   address         xxxxx
     2020-08-26 16:31:59   altitude        143
     2020-08-26 16:31:59   batteryPercent  37
     2020-08-26 16:31:59   batteryState    ok
     2020-08-26 16:31:59   connection      wifi
     2020-08-26 16:31:59   id              WS
     2020-08-26 16:31:59   latitude        49.xxxx
     2020-08-26 16:31:59   location        49.xxx,8.xxxx
     2020-08-26 16:31:59   longitude       8.xxxx
     2020-08-26 16:31:59   presence        absent
     2020-08-26 16:31:59   pressure        995.42
     2020-08-26 16:31:59   trigger         manual
     2020-08-26 16:31:59   velocity        0
   helper:
     lastOwnTracks 1598452319
Attributes:
   addressLanguage de
   addressReading 1
   alias      livetracking Wolfgang
   osmandId   WS
   osmandServer 1
   room       Residents
   stateFormat place
   userReadings presence { if(ReadingsVal($name,"id",0) eq "WS") {(ReadingsVal($name,"zone_0",0) eq "active") ? "present" : "absent"} }
   verbose    5
   zonename_0 zu_Hause
   zonename_1 Arbeit_2
   zonename_2 Urlaub
   zonename_3 OrtB
   zonename_4 Schule
   zonename_5 Arbeit_1
   zonename_6 test


list livetracking Device Tracker_Gabi
Internals:
   FUUID      5f46592c-f33f-21e6-1504-fbb06698a64ba7e0
   NAME       Tracker_Gabi
   NOTIFYDEV  owntracks
   NR         8153
   NTFY_ORDER 999-Tracker_Gabi
   STATE      place
   TYPE       livetracking
   READINGS:
     2020-08-26 16:31:45   accuracy        65
     2020-08-26 14:57:26   address         xxxxx
     2020-08-26 16:31:45   altitude        136
     2020-08-26 16:31:45   batteryPercent  43
     2020-08-26 16:31:45   batteryState    ok
     2020-08-26 16:31:45   connection      wifi
     2020-08-26 15:05:57   heading         232
     2020-08-26 16:31:45   id              GS
     2020-08-26 16:31:45   latitude        49.xxxx
     2020-08-26 16:31:45   location        49.xxxx,8.xxxx
     2020-08-26 16:31:45   longitude       8.xxxx
     2020-08-26 16:31:46   presence        present
     2020-08-26 16:31:45   pressure        997.42
     2020-08-26 16:31:45   trigger         manual
     2020-08-26 15:21:53   velocity        0
     2020-08-26 16:31:45   zone_0          active
     2020-08-26 16:31:45   zone_1          inactive
     2020-08-26 16:31:45   zone_2          inactive
     2020-08-26 16:31:45   zone_3          inactive
     2020-08-26 16:31:45   zone_4          inactive
     2020-08-26 16:31:45   zone_5          inactive
     2020-08-26 16:31:45   zone_6          inactive
   helper:
     lastOwnTracks 1598452305
Attributes:
   addressLanguage de
   addressReading 1
   alias      livetracking Gabi
   osmandId   GS
   osmandServer 1
   room       Residents
   stateFormat place
   userReadings presence { if(ReadingsVal($name,"id",0) eq "GS") {(ReadingsVal($name,"zone_0",0) eq "active") ? "present" : "absent"} }
   verbose    5
   zonename_0 zu_Hause
   zonename_1 Arbeit_2
   zonename_2 Urlaub
   zonename_3 OrtB
   zonename_4 Schule
   zonename_5 Arbeit_1
   zonename_6 test


list act_on_Tracker_Wolfgang_change
Internals:
   DEF        Tracker_Wolfgang:(enter|leave):.* {
  if ($EVTPART0 =~ /enter/) {
if ($EVTPART1 eq "home") {
fhem("set rr_Wolfgang location $EVTPART1");
Log(1, "Standort-Logik Wolfgang bei enter - Standort: $EVTPART1.");
}
else {
fhem("set rr_Wolfgang location $EVTPART1");
Log(1, "Standort-Logik Wolfgang bei enter - Standort: $EVTPART1.");
}
}
elsif ($EVTPART0 =~ /leave/){
fhem("set rr_Wolfgang location unterwegs");
Log(1, "Standort-Logik Wolfgang bei leave - $EVTPART1.");
}
}

   FUUID      5f466b94-f33f-21e6-5f16-3b537857272ac660
   NAME       act_on_Tracker_Wolfgang_change
   NR         8156
   NTFY_ORDER 50-act_on_Tracker_Wolfgang_change
   REGEXP     Tracker_Wolfgang:(enter|leave):.*
   STATE      active
   TYPE       notify
   READINGS:
     2020-08-26 16:27:31   state           active
Attributes:
   room       Residents


list act_on_Tracker_Gabi_change
Internals:
   DEF        Tracker_Gabi:(enter|leave):.* {
  if ($EVTPART0 =~ /enter/) {
if ($EVTPART1 eq "home") {
fhem("set rr_Gabi location $EVTPART1");
Log(1, "Standort-Logik Gabi bei enter - Standort: $EVTPART1.");
}
else {
fhem("set rr_Gabi location $EVTPART1");
Log(1, "Standort-Logik Gabi bei enter - Standort: $EVTPART1.");
}
}
elsif ($EVTPART0 =~ /leave/){
fhem("set rr_Gabi location unterwegs");
Log(1, "Standort-Logik Gabi bei leave - $EVTPART1.");
}
}

   FUUID      5f466dd3-f33f-21e6-cc4f-900757d57cdd372e
   NAME       act_on_Tracker_Gabi_change
   NR         8157
   NTFY_ORDER 50-act_on_Tracker_Gabi_change
   REGEXP     Tracker_Gabi:(enter|leave):.*
   STATE      active
   TYPE       notify
   READINGS:
     2020-08-26 16:27:31   state           active
Attributes:
   room       Residents


list rr_Wolfgang
Internals:
   AUTOGONE   1598579593
   CFGFN      ./FHEM/WSP_Wohnung.cfg
   DEF        Bewohner,Aktive_Bewohner
   DURATIONTIMER 1598453638.89845
   FUUID      5c655c13-f33f-21e6-da52-72806196f860bb69
   FVERSION   20_ROOMMATE.pm:0.195330/2019-06-02
   NAME       rr_Wolfgang
   NOTIFYDEV  global,Auto,Tracker_Wolfgang
   NR         4979
   NTFY_ORDER 50-rr_Wolfgang
   READY      1
   RESIDENTGROUPS Bewohner,Aktive_Bewohner
   STATE      absent
   SUBTYPE    adult
   TYPE       ROOMMATE
   READINGS:
....
     2020-08-23 16:10:48   positionBeaconUUID
     2020-08-23 16:10:48   positionTravDistance 0.19
     2020-08-26 15:53:13   presence        absent
     2020-08-26 15:53:13   state           absent
     2016-11-19 17:33:36   wayhome         0
   TIMER:
     rr_Wolfgang_AutoGone:
       HASH       rr_Wolfgang
       MODIFIER   AutoGone
       NAME       rr_Wolfgang_AutoGone
     rr_Wolfgang_DurationTimer:
       HASH       rr_Wolfgang
       MODIFIER   DurationTimer
       NAME       rr_Wolfgang_DurationTimer
Attributes:
   alias      Wolfgang
   devStateIcon .*home:user_available:absent .*absent:user_away:home .*gone:user_ext_away:home .*gotosleep:scene_toilet:asleep .*asleep:scene_sleeping:awoken .*awoken:scene_sleeping_alternat:home .*:user_unknown:home
   group      Bewohner
   icon       people_sensor
   room       Residents
   rr_geofenceUUIDs Tracker_Wolfgang
   rr_locationHome zu_Hause
   rr_locationUnderway unterwegs Urlaub Arbeit_1 OrtB Arbeit_2
   rr_locations zu_Hause,Arbeit_1,Urlaub,OrtB,Arbeit_2,unterwegs
   rr_presenceDevices Auto,Tracker_Wolfgang
   rr_realname alias
   sortby     1
   userReadings mylastLocation { if (ReadingsVal($name,"location",0) ne "unterwegs")  {return ReadingsVal($name,"location",0)} else {} }
   webCmd     state:location


list rr_Gabi
Internals:
   DEF        Bewohner,Aktive_Bewohner
   DURATIONTIMER 1598453701.31853
   FUUID      5f44d363-f33f-21e6-22ee-8396ceaed147b5cc
   FVERSION   20_ROOMMATE.pm:0.195330/2019-06-02
   NAME       rr_Gabi
   NOTIFYDEV  global,Tracker_Gabi
   NR         8149
   NTFY_ORDER 50-rr_Gabi
   READY      1
   RESIDENTGROUPS Bewohner,Aktive_Bewohner
   STATE      home
   SUBTYPE    adult
   TYPE       ROOMMATE
   READINGS:
...
     2020-08-25 17:42:24   lastMood        calm
     2020-08-26 14:21:53   lastState       absent
     2020-08-26 14:21:53   location        zu_Hause
     2020-08-26 14:21:53   mood            calm
     2020-08-26 16:54:01   mylastLocation  zu_Hause
     2020-08-26 14:21:53   presence        present
     2020-08-26 14:21:53   state           home
     2020-08-25 11:02:41   wayhome         0
   TIMER:
     rr_Gabi_DurationTimer:
       HASH       rr_Gabi
       MODIFIER   DurationTimer
       NAME       rr_Gabi_DurationTimer
Attributes:
   alias      Gabi
   devStateIcon .*home:user_available:absent .*absent:user_away:home .*gone:user_ext_away:home .*gotosleep:scene_toilet:asleep .*asleep:scene_sleeping:awoken .*awoken:scene_sleeping_alternat:home .*:user_unknown:home
   group      Bewohner
   icon       people_sensor
   room       Residents
   rr_geofenceUUIDs Tracker_Gabi
   rr_locationHome zu_Hause
   rr_locationUnderway unterwegs Urlaub Arbeit_1 OrtB Arbeit_2
   rr_locations zu_Hause,Arbeit_1,Urlaub,OrtB,Arbeit_2,unterwegs
   rr_presenceDevices Tracker_Gabi
   rr_realname alias
   sortby     1
   userReadings mylastLocation { if (ReadingsVal($name,"location",0) ne "unterwegs")  {return ReadingsVal($name,"location",0)} else {} }
   verbose    5
   webCmd     state:location


Fehlermedung aus dem Logfile
Disabling livetracking url for Tracker_Gabi GS


rallye

Schönen Nachmittag !

Ich übersiedle mit meinem Problem auf anraten von Otto https://forum.fhem.de/index.php?action=profile;u=11924 von hier => https://forum.fhem.de/index.php/topic,115623.0.html in dieses Topic.

Kurz zusammengefasst: ich habe eine Grienfield-Installation von FHEM auf einem neuen Raspi gemacht. Am alten RasPi hatte ich zur Anwesenheitserkennung mosquitto, das wollte ich mir aufrund der Existenz von MQTT2 ersparen und habe die integrierte Lösung von Rudolf gewählt. Leider habe ich das Problem, dass Livetracking nicht so will wie ich es gerne hätte. Ich habe einen MQTT2_Server
defmod MQTT_Owntracks MQTT2_SERVER 8883 global
attr MQTT_Owntracks autocreate simple
attr MQTT_Owntracks room MQTT

setstate MQTT_Owntracks 2020-11-09 14:51:25 RETAIN {"owntracks/otNici/mobile":"{\u0022_type\u0022:\u0022location\u0022,\u0022acc\u0022:20,\u0022alt\u0022:411,\u0022batt\u0022:73,\u0022conn\u0022:\u0022m\u0022,\u0022inregions\u0022:[\u0022home\u0022],\u0022lat\u0022:48.2106378,\u0022lon\u0022:16.0860261,\u0022t\u0022:\u0022p\u0022,\u0022tid\u0022:\u0022NL\u0022,\u0022tst\u0022:1604927562,\u0022vac\u0022:8,\u0022vel\u0022:0}","owntracks/otSepp/mobile":"{\u0022_type\u0022:\u0022location\u0022,\u0022acc\u0022:1200,\u0022alt\u0022:0,\u0022batt\u0022:96,\u0022conn\u0022:\u0022w\u0022,\u0022inregions\u0022:[\u0022home\u0022],\u0022lat\u0022:48.211376,\u0022lon\u0022:16.0854574,\u0022t\u0022:\u0022u\u0022,\u0022tid\u0022:\u0022SL\u0022,\u0022tst\u0022:1604928325,\u0022vac\u0022:0,\u0022vel\u0022:0}","owntracks/owntracks/mobile":"{\u0022_type\u0022:\u0022location\u0022,\u0022acc\u0022:1200,\u0022alt\u0022:0,\u0022batt\u0022:74,\u0022conn\u0022:\u0022w\u0022,\u0022lat\u0022:48.1667524,\u0022lon\u0022:16.3784887,\u0022t\u0022:\u0022p\u0022,\u0022tid\u0022:\u0022AL\u0022,\u0022tst\u0022:1604929887,\u0022vac\u0022:0,\u0022vel\u0022:0}"}
setstate MQTT_Owntracks 2020-11-04 14:09:52 lastPublish open:
setstate MQTT_Owntracks 2020-11-09 14:24:30 nrclients 3
setstate MQTT_Owntracks 2020-11-09 14:07:10 state Initialized

3 MQTT2_Devices - stellvertretend dieses Listing
defmod MQTT2_seppmobile MQTT2_DEVICE seppmobile
attr MQTT2_seppmobile IODev MQTT_Owntracks
attr MQTT2_seppmobile autocreate 1
attr MQTT2_seppmobile icon it_smartphone@blue
attr MQTT2_seppmobile readingList seppmobile:owntracks/Sepp/mobile:.* { json2nameValue($EVENT) }\
seppmobile:owntracks/owntracks/mobile:.* { json2nameValue($EVENT) }\
seppmobile:owntracks/owntracks/mobile/event:.* { json2nameValue($EVENT) }\
seppmobile:owntracks/otSepp/mobile:.* { json2nameValue($EVENT) }
attr MQTT2_seppmobile room MQTT
attr MQTT2_seppmobile sortby 1
attr MQTT2_seppmobile verbose 5

setstate MQTT2_seppmobile 2020-11-09 14:25:27 _type location
setstate MQTT2_seppmobile 2020-11-09 14:25:27 acc 1200
setstate MQTT2_seppmobile 2020-11-09 14:25:27 alt 0
setstate MQTT2_seppmobile 2020-11-09 14:25:27 batt 96
setstate MQTT2_seppmobile 2020-11-09 14:25:27 conn w
setstate MQTT2_seppmobile 2020-11-09 13:04:26 desc home
setstate MQTT2_seppmobile 2020-11-09 13:04:26 event enter
setstate MQTT2_seppmobile 2020-11-09 14:25:27 inregions_1 home
setstate MQTT2_seppmobile 2020-11-09 14:25:27 lat 48.xxxxxx
setstate MQTT2_seppmobile 2020-11-09 14:25:27 lon 16.xxxxxx
setstate MQTT2_seppmobile 2020-11-06 11:51:09 mobile
setstate MQTT2_seppmobile 2020-11-09 13:54:02 subscriptions owntracks/+/+ owntracks/+/+/event owntracks/+/+/info owntracks/+/+/waypoints owntracks/otSepp/mobile/cmd
setstate MQTT2_seppmobile 2020-11-09 14:25:27 t u
setstate MQTT2_seppmobile 2020-11-09 14:25:27 tid SL
setstate MQTT2_seppmobile 2020-11-09 14:25:27 tst 1604928325
setstate MQTT2_seppmobile 2020-11-09 14:25:27 vac 0
setstate MQTT2_seppmobile 2020-11-09 14:25:27 vel 0
setstate MQTT2_seppmobile 2020-11-09 13:04:26 wtst 1541593407564


und ein livetracking das mit einem status XML::Simple is required herumzickt
defmod LT_Sepp livetracking
attr LT_Sepp owntracksDevice MQTT2_seppmobile
attr LT_Sepp room MQTT
attr LT_Sepp stateFormat location
attr LT_Sepp verbose 5

setstate LT_Sepp XML::Simple is required!


Auch die Installation des Paketes libxml-simple-perl das XML::Simple enthält hat nichts gebracht. Otto meint, dass MQTT2 das XML::Simple seines Wissens nicht benötigt... Wie komme ich bitte zu vernünftigen Readings/Informationen um meine Anwesenheitserkennung wieder zum Laufen zu bringen. Die Installation von mosquitto ist die allerallerletzte Option die ich in Betracht ziehe.

Hier noch ein wenig Info aus dem Log:
2020.11.09 14:24:30 4: MQTT2_DEVICE_Parse: MQTT2_seppmobile owntracks/otSepp/mobile => { json2nameValue($EVENT) }
2020.11.09 14:24:30 4: WRONG MQTT TYPE $VAR1 = 't: p';

2020.11.09 14:25:27 4: MQTT2_DEVICE_Parse: MQTT2_seppmobile owntracks/otSepp/mobile => { json2nameValue($EVENT) }
2020.11.09 14:25:27 4: WRONG MQTT TYPE $VAR1 = 't: u';

2020.11.09 14:51:25 4: MQTT2_DEVICE_Parse: MQTT2_alexandermobile owntracks/owntracks/mobile => { json2nameValue($EVENT) }
2020.11.09 15:00:01 3: Login denied via MQTT_Owntracks
2020.11.09 15:07:51 5: in:  PUBLISH: 3(193)(1)(0)(23)owntracks/otSepp/mobile(0)(4){"_type":"location","acc":1200,"alt":0,"batt":95,"conn":"w","inregions":["home"],"lat":48.xxxxx,"lon":16.xxxxx,"t":"p","tid":"SL","tst":1604930869,"vac":0,"vel":0}
2020.11.09 15:07:51 4:   MQTT_Owntracks_91.115.215.96_37086 seppmobile PUBLISH owntracks/otSepp/mobile:{"_type":"location","acc":1200,"alt":0,"batt":95,"conn":"w","inregions":["home"],"lat":48.yyyyy,"lon":16.yyyyy,"t":"p","tid":"SL","tst":1604930869,"vac":0,"vel":0}
2020.11.09 15:07:51 5: out: PUBACK: @(2)(0)(4)
2020.11.09 15:07:51 5:   MQTT_Owntracks_91.115.215.96_37086 seppmobile => owntracks/otSepp/mobile:{"_type":"location","acc":1200,"alt":0,"batt":95,"conn":"w","inregions":["home"],"lat":48.zzzzz,"lon":16.zzzzz,"t":"p","tid":"SL","tst":1604930869,"vac":0,"vel":0}
2020.11.09 15:07:51 5: out: PUBLISH: 0(191)(1)(0)(23)owntracks/otSepp/mobile{"_type":"location","acc":1200,"alt":0,"batt":95,"conn":"w","inregions":["home"],"lat":48.zzzzz,"lon":16.zzzzz,"t":"p","tid":"SL","tst":1604930869,"vac":0,"vel":0}
2020.11.09 15:07:51 5:   MQTT_Owntracks_213.147.161.84_32347 nicimobile => owntracks/otSepp/mobile:{"_type":"location","acc":1200,"alt":0,"batt":95,"conn":"w","inregions":["home"],"lat":48.zzzzz,"lon":16.zzzzz,"t":"p","tid":"SL","tst":1604930869,"vac":0,"vel":0}
2020.11.09 15:07:51 5: out: PUBLISH: 0(191)(1)(0)(23)owntracks/otSepp/mobile{"_type":"location","acc":1200,"alt":0,"batt":95,"conn":"w","inregions":["home"],"lat":48.211376,"lon":16.0854574,"t":"p","tid":"SL","tst":1604930869,"vac":0,"vel":0}
2020.11.09 15:07:51 5:   MQTT_Owntracks_213.147.161.84_32345 nicimobile => owntracks/otSepp/mobile:{"_type":"location","acc":1200,"alt":0,"batt":95,"conn":"w","inregions":["home"],"lat":48.zzzzz,"lon":16.zzzzz,"t":"p","tid":"SL","tst":1604930869,"vac":0,"vel":0}
2020.11.09 15:07:51 5: out: PUBLISH: 0(191)(1)(0)(23)owntracks/otSepp/mobile{"_type":"location","acc":1200,"alt":0,"batt":95,"conn":"w","inregions":["home"],"lat":48.zzzzz,"lon":16.zzzzz,"t":"p","tid":"SL","tst":1604930869,"vac":0,"vel":0}
2020.11.09 15:07:51 5:   MQTT_Owntracks_193.168.6.233_37738 alexandermobile => owntracks/otSepp/mobile:{"_type":"location","acc":1200,"alt":0,"batt":95,"conn":"w","inregions":["home"],"lat":48.zzzzz,"lon":16.zzzzz,"t":"p","tid":"SL","tst":1604930869,"vac":0,"vel":0}
2020.11.09 15:07:51 5: out: PUBLISH: 0(191)(1)(0)(23)owntracks/otSepp/mobile{"_type":"location","acc":1200,"alt":0,"batt":95,"conn":"w","inregions":["home"],"lat":48.xxxxx,"lon":16.xxxxx,"t":"p","tid":"SL","tst":1604930869,"vac":0,"vel":0}
2020.11.09 15:07:51 5: MQTT_Owntracks: dispatch autocreate=simple\000seppmobile\000owntracks/otSepp/mobile\000{"_type":"location","acc":1200,"alt":0,"batt":95,"conn":"w","inregions":["home"],"lat":48.xxxxx,"lon":16.xxxxx,"t":"p","tid":"SL","tst":1604930869,"vac":0,"vel":0}
2020.11.09 15:07:51 4: MQTT2_DEVICE_Parse: MQTT2_seppmobile owntracks/otSepp/mobile => { json2nameValue($EVENT) }
2020.11.09 15:07:51 4: WRONG MQTT TYPE $VAR1 = 'tst: 1604930869';

2020.11.09 15:08:27 4: Closing second connection for nicimobile/213.147.161.84 without lwt
2020.11.09 15:08:27 4: Connection closed for MQTT_Owntracks_213.147.161.84_32345: Connection timed out


Danke an die Experten
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Markus M.

Hast du im Livetracking Device das disable Attribut wieder entfernt?
Wenn das nicht klappt kannst mal die Version hier ohne XML Abhängigkeit ausprobieren.
Scheint aber dem Log nach ganz unabhängig von livetracking auch noch andere MQTT Probleme zu geben.
Im MQTT Device erwartet livetracking keine Einzelreadings sondern einen JSON String.
Also z.B. ein Reading "seppmobile" mit dem Inhalt {"_type":"location","acc":20,"alt":411,"batt":73,"conn":"m","inregions":["home"],"lat":48.2106378,"lon":16.0860261,"t":"p","tid":"NL","tst":1604927562,"vac":8,"vel":0}
Aktuell weder Smarthome noch FHEM vorhanden

rallye

Zitat von: Markus M. am 09 November 2020, 15:50:11
Hast du im Livetracking Device das disable Attribut wieder entfernt?
Ja, das disable ist entfernt.
Zitat von: Markus M. am 09 November 2020, 15:50:11
Wenn das nicht klappt kannst mal die Version hier ohne XML Abhängigkeit ausprobieren.
Werde ich morgen in Angriff nehmen (geht sich heute nicht mehr aus. Kann ich das attached File ganz einfach gegen jenes in /opt/fhem/FHEM austauschen ?)
Zitat von: Markus M. am 09 November 2020, 15:50:11
Scheint aber dem Log nach ganz unabhängig von livetracking auch noch andere MQTT Probleme zu geben.
Im MQTT Device erwartet livetracking keine Einzelreadings sondern einen JSON String.
Also z.B. ein Reading "seppmobile" mit dem Inhalt {"_type":"location","acc":20,"alt":411,"batt":73,"conn":"m","inregions":["home"],"lat":48.xxxxx,"lon":16.xxxxx,"t":"p","tid":"NL","tst":1604927562,"vac":8,"vel":0}
Jetzt bin ich überfordert. WAS genau soll ich diesbezüglich tun ? Ich habe den MQTT2-Server mittels define definiert, die MQTT2-Devices wurden automatisch erzeugt und das Livetrack habe ich auch mittels define definiert. Was sollte/könnte ich tun um einen solchen JSON String zu übergeben ?
Sorry, so gut bin ich (noch) nicht.

Danke
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

rallye

Ist sich heute doch noch ausgegangen... Hab's installiert. Der spezifische Fehler ist zwar weg, aber ein zufriedenstellendes Ergebnis habe ich trotzdem nicht erhalten ...
defmod LT_Sepp livetracking
attr LT_Sepp owntracksDevice MQTT2_seppmobile
attr LT_Sepp room MQTT
attr LT_Sepp stateFormat location
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

Du musst z.B sowas machen:
attr MQTT2_seppmobile readingList seppmobile:owntracks/Sepp/mobile:.* seppmobile

Ich habe das eben probiert, danach funktioniert dein livetracking Device :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rallye

Danke für Deine Bemühungen, Otto. Ich hab das mal so hineingeschrieben (ohne zu wissen was ich dabei tue) aber leider kein anderes Ergebnis erhalten (bin ich evtl. zu blöd dafür ??).
Internals:
   CID        seppmobile
   DEF        seppmobile
   DEVICETOPIC MQTT2_seppmobile
   FUUID      5fa2b93e-f33f-55a1-079c-094ceed909e58d68
   IODev      MQTT_Owntracks
   NAME       MQTT2_seppmobile
   NR         262
   STATE      ???
   TYPE       MQTT2_DEVICE
   .attraggr:
   .attrminint:
   READINGS:
     2020-11-10 11:42:35   _type           location
     2020-11-10 11:42:35   acc             13
     2020-11-10 11:42:35   alt             411
     2020-11-10 11:42:35   batt            45
     2020-11-10 11:42:35   conn            w
     2020-11-10 00:43:39   desc            home
     2020-11-10 00:43:39   event           enter
     2020-11-10 11:42:35   inregions_1     home
     2020-11-10 11:42:35   lat             48.xxxxx
     2020-11-10 11:42:35   lon             16.xxxxx
     2020-11-06 11:51:09   mobile         
     2020-11-10 11:32:33   subscriptions   owntracks/+/+ owntracks/+/+/event owntracks/+/+/info owntracks/+/+/waypoints owntracks/otSepp/mobile/cmd
     2020-11-10 11:42:35   t               p
     2020-11-10 11:42:35   tid             SL
     2020-11-10 11:42:35   tst             1605004953
     2020-11-10 11:42:35   vac             8
     2020-11-10 11:42:35   vel             0
     2020-11-10 00:43:39   wtst            1541593407564
Attributes:
   IODev      MQTT_Owntracks
   icon       it_smartphone@blue
   readingList seppmobile:owntracks/Sepp/mobile:.* seppmobile
seppmobile:owntracks/otSepp/mobile:.* { json2nameValue($EVENT) }
   room       MQTT
   sortby     1
   verbose    3

und
Internals:
   FUUID      5fa975f5-f33f-55a1-af5f-f1fda0d7b0782c58
   NAME       LT_Sepp
   NOTIFYDEV  MQTT2_seppmobile
   NR         272
   NTFY_ORDER 999-LT_Sepp
   STATE      ???
   TYPE       livetracking
   READINGS:
   helper:
Attributes:
   owntracksDevice MQTT2_seppmobile
   room       MQTT
   stateFormat location


So nebenbei: das "attr seppmobile seppmobile:owntracks/otSepp/mobile:.* { json2nameValue($EVENT) }" kommt von ganz alleine, wenn ich die position von owntracks schicke ...


Wenn das bei Dir funktioniert wäre es toll, wenn du mir die lists/raw Data posten könntest damit ich das "abkupfern" kann ? Der Vollständigkeit halber: ich hab das Modul 98_livetracking.pm von Markus in meiner Bibliothek ...

Danke

Nur der Vollständigkeit halber ...
Internals:
   AuthenticationDeniedBy MQTT_secSepp
   CONNECTS   4
   DEF        8883 global
   FD         31
   FUUID      5fa2a6c4-f33f-55a1-4fd6-657034382d3efb57
   NAME       MQTT_Owntracks
   NR         261
   PORT       8883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   .attraggr:
   .attrminint:
   .clientArray:
     MQTT2_DEVICE
   READINGS:
     2020-11-10 11:50:00   RETAIN          {"owntracks/otAlex/mobile":"{\u0022_type\u0022:\u0022location\u0022,\u0022acc\u0022:34,\u0022alt\u0022:422,\u0022batt\u0022:56,\u0022conn\u0022:\u0022m\u0022,\u0022inregions\u0022:[\u0022home\u0022],\u0022lat\u0022:48.2114768,\u0022lon\u0022:16.0864102,\u0022t\u0022:\u0022p\u0022,\u0022tid\u0022:\u0022AL\u0022,\u0022tst\u0022:1605005401,\u0022vac\u0022:5,\u0022vel\u0022:0}","owntracks/otNici/mobile":"{\u0022_type\u0022:\u0022location\u0022,\u0022acc\u0022:20,\u0022alt\u0022:414,\u0022batt\u0022:82,\u0022conn\u0022:\u0022m\u0022,\u0022inregions\u0022:[\u0022home\u0022],\u0022lat\u0022:48.2106357,\u0022lon\u0022:16.0860191,\u0022t\u0022:\u0022p\u0022,\u0022tid\u0022:\u0022NL\u0022,\u0022tst\u0022:1605004707,\u0022vac\u0022:8,\u0022vel\u0022:0}","owntracks/otSepp/mobile":"{\u0022_type\u0022:\u0022location\u0022,\u0022acc\u0022:13,\u0022alt\u0022:411,\u0022batt\u0022:45,\u0022conn\u0022:\u0022w\u0022,\u0022inregions\u0022:[\u0022home\u0022],\u0022lat\u0022:48.2106784,\u0022lon\u0022:16.0860518,\u0022t\u0022:\u0022p\u0022,\u0022tid\u0022:\u0022SL\u0022,\u0022tst\u0022:1605004953,\u0022vac\u0022:8,\u0022vel\u0022:0}","owntracks/owntracks/mobile":"{\u0022_type\u0022:\u0022location\u0022,\u0022acc\u0022:34,\u0022alt\u0022:422,\u0022batt\u0022:64,\u0022conn\u0022:\u0022w\u0022,\u0022inregions\u0022:[\u0022home\u0022],\u0022lat\u0022:48.2114768,\u0022lon\u0022:16.0864102,\u0022t\u0022:\u0022p\u0022,\u0022tid\u0022:\u0022AL\u0022,\u0022tst\u0022:1604940963,\u0022vac\u0022:5,\u0022vel\u0022:0}"}
     2020-11-04 14:09:52   lastPublish     open:
     2020-11-10 11:50:00   nrclients       3
     2020-11-10 11:31:33   state           Initialized
   clients:
     MQTT_Owntracks_89.144.222.62_34762 1
     MQTT_Owntracks_91.115.215.96_39946 1
     MQTT_Owntracks_91.115.215.96_45600 1
   retain:
     owntracks/otAlex/mobile:
       ts         1605005400.34356
       val        {"_type":"location","acc":34,"alt":422,"batt":56,"conn":"m","inregions":["home"],"lat":48.xxxxx,"lon":16.xxxxx,"t":"p","tid":"AL","tst":1605005401,"vac":5,"vel":0}
     owntracks/otNici/mobile:
       ts         1605004711.99611
       val        {"_type":"location","acc":20,"alt":414,"batt":82,"conn":"m","inregions":["home"],"lat":48.xxxxx,"lon":16.xxxxx,"t":"p","tid":"NL","tst":1605004707,"vac":8,"vel":0}
     owntracks/otSepp/mobile:
       ts         1605004955.13479
       val        {"_type":"location","acc":13,"alt":411,"batt":45,"conn":"w","inregions":["home"],"lat":48.xxxxx,"lon":16.xxxxx,"t":"p","tid":"SL","tst":1605004953,"vac":8,"vel":0}
     owntracks/owntracks/mobile:
       ts         1605004294.16575
       val        {"_type":"location","acc":34,"alt":422,"batt":64,"conn":"w","inregions":["home"],"lat":48.xxxxx,"lon":16.xxxxx,"t":"p","tid":"AL","tst":1604940963,"vac":5,"vel":0}
Attributes:
   autocreate simple

   room       MQTT
   verbose    5
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

Du probierst zuviel rum und dadurch entstehen immer wieder neue Varianten:
Zitatseppmobile:owntracks/Sepp/mobile:.* seppmobile
seppmobile:owntracks/otSepp/mobile:.* { json2nameValue($EVENT) }

Also damit Du verstehst was Du tun musst: aus dem Mapping { json2nameValue($EVENT) } musst Du einfach ein Reading z.B. seppmobile machen.
Der Ausdruck { json2nameValue($EVENT) } löst den json String in einzelne Readings auf, das will aber das Modul livetracking auch tun. Deswegen will das den "rohen" json String.

Wenn es aktuell so aussieht seppmobile:owntracks/otSepp/mobile:.* { json2nameValue($EVENT) } musst Du das draus machen:  seppmobile:owntracks/otSepp/mobile:.*  seppmobil
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rallye

Danke. Dazu eine Frage: ich muss attr MQTT2_seppmobile autocreate 0 setzen, sonst erzeugt das Ding immer eine weitere Zeile in der readingList. Korrekt ?
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

Also wenn schon dann no - aber musst Du nicht.
Ich habe einfach beide Zeilen drin. In deinem anderen Thread habe ich ein Beispiel gepostet.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rallye

Danke vorerst. Ich habe Deine Samples im anderen Thread gesehen und muss das mal "nachbauen". Was mir als Erstes aufgefallen ist: ich habe keinen MQTT2_Client definiert...
Bin morgen den ganzen Tag unterwegs, werde also erst Donnerstag dazukommen.
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor