FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Markus M. am 22 Mai 2015, 02:01:46

Titel: Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: Markus M. am 22 Mai 2015, 02:01:46
FHEM kann euch nun endlich überall hin folgen :)

Wie bei Geofæncy geht es auch hier um Koordinaten, allerdings weniger um Trigger über Push Nachrichten sondern mehr um das kontinuierliche Aufzeichnen der eigenen Position.


Unterstützt werden folgende Dienste:
- OwnTracks über MQTT Device
- Traccar über OsmAnd integriert
- Swarm (FourSquare): Social Checkins, weit verbreiteter Dienst
  Nutze ich schon einige Jahre, kann durch definierte Venues auch sehr leicht als Trigger für Aktionen verwendet werden
- OpenPaths: Beliebter Dienst zum Selbst-Tracking mit hoher Datensicherheit
  Leider ist die Verfügbarkeit nicht sehr hoch und seit iOS11 funktioniert es eher schlecht als recht :(

- Life360: Familien-Tracking, ungetestet


Die Readings:
- location: Die GPS Koordinaten
- distance: Entfernung zum Zuhause in km, falls das Attribut home gesetzt ist
- place: Ort des letzten Swarm Checkins oder Name der OwnTracks Zone
- altitude: Meereshöhe der Koordinaten (OpenPaths, OwnTracks)
- accuracy: Genauigkeit
- velocity: Geschwindigkeit (OwnTracks)
- heading: Richtung (OwnTracks)
- deviceX: Client für OpenPaths und Swarm
- zone_n: OwnTracks Zone, active/inactive
- steps: Schritte/Tag (OwnTracks, iOS, request only)
- beacon: iBeacon UUID,major,minor (OwnTracks, iOS)
- beacon_n_proximity/accuracy/rssi: iBeacon Details
- id: Tracker ID (OwnTracks)
- doze: Doze Mode (OwnTracks, Android)

Set:
- owntracksMessage: Nachricht an OwnTracks Client (mit FHEM Header oder eigenem HTML Code)

Die Attribute:
- home: Referenzkoordinaten des Zuhauses zur Entfernungsberechnung
- swarmHome: von Swarm gemeldete Position des eigenen Zuhauses, falls vorhanden (Statische Ungenauigkeit scheint ein Privacy Feature zu sein)
- interval: Reload Intervall für OpenPaths/Swarm (mit Swarm bitte keinesfalls <5 Minuten setzen, die haben ein User- und Applicationlimit)
- roundAltitude: Rundung der Meereshöhe in Metern (z.B. 5)
- roundDistance: Rundung der Entfernung in Kilometern (z.B. 0.1)
- filterAccuracy: Mindestgenauigkeit für Positionsdaten in Metern (z.B. 400)
- owntracksDevice: Name des OwnTracks Devices (MQTT_DEVICE)
- zonename_n: Zonenname aus Owntracks zur Zuweisung der Zone Readings
- beacon_n: Empfang detaillierter iBeacon-Informationen (UUID,major,minor)


Für OwnTracks mit MQTT müssen folgende Subscriptions vorhanden sein:
- devicename für die Location
- event für Zonen
- beacon für Beacons
- cmd, msg, steps für Zusatzfunktionen


Den Token für Swarm bekommt ihr manuell hier:
https://foursquare.com/oauth2/authenticate?client_id=EFWJ0DNVIREJ2CY1WDIFQ4MAL0ZGZAZUYCNE0NE0XZC3NCPX&response_type=token&redirect_uri=http://localhost&display=wap (https://foursquare.com/oauth2/authenticate?client_id=EFWJ0DNVIREJ2CY1WDIFQ4MAL0ZGZAZUYCNE0NE0XZC3NCPX&response_type=token&redirect_uri=http://localhost&display=wap) (Parameter aus dem Callback kopieren)
Bei OpenPaths findet ihr die Keys auf der Übersichtsseite.


Swarm und OwnTracks laufen bei mir schon eine ganze Weile stabil, OpenPath funktioniert  nicht mehr und Life360 ist größtenteils ungetestet.
Wer das ganze mal testen möchte darf sich also nicht beschweren, wenn es ihm um die Ohren fliegt ;)

Viel Spass!
Markus


UPDATE: 2022-06-10
clearPlace Feature, OpenPaths entfernt
UPDATE: 2018-11-05
Reverse geocoding, added module to SVN
UPDATE: 2018-06-01
Battery Readings, fixes, documentation
UPDATE: 2017-04-14
AttrVal bugfix
UPDATE: 2017-01-16
Tracker ID & Android doze mode logging (OwnTracks)
UPDATE: 2017-01-15
Bugfixes
UPDATE: 2016-08-15
OwnTracks Message mit Featured Content ersetzt (Funktion wurde abgelöst)
UPDATE: 2016-02-06
iBeacon Details
UPDATE: 2016-02-01
OwnTracks message fix, message TTL
UPDATE: 2016-01-20
OwnTracks message/request [sl12], steps, beacons
UPDATE: 2016-01-20
filterAccuracy, fixed timestamps
UPDATE: 2016-01-16
OwnTracks zones
UPDATE: 2016-01-12
Places from OwnTracks enter/leave
UPDATE: 2015-07-28
Bugfix for timestamps
UPDATE: 2015-07-27
Logging, Bugfix
UPDATE: 2015-06-28
OpenPaths: JSON changes
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: smurfix am 22 Mai 2015, 09:42:58
Ich sag dazu nur: Owntracks. Die App loggt nicht in irgendeine Cloud, sondern an deinen eigenen MQTT-Broker. Und FHEM kann mit MQTT reden.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: slor am 22 Mai 2015, 11:02:21
Danke Markus!
Endlich was, für das es auch Windows Phone Apps gibt.
Dort gibt es bislang kein Support für geofances.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 22 Mai 2015, 14:11:33
Zitat von: smurfix am 22 Mai 2015, 09:42:58
Ich sag dazu nur: Owntracks. Die App loggt nicht in irgendeine Cloud, sondern an deinen eigenen MQTT-Broker. Und FHEM kann mit MQTT reden.

Sieht interessant aus, scheint auch gleich noch die aktuelle Geschwindigkeit zu liefern.
Die Hürde für MQTT liegt aber eine ganze Stufe höher als einfach mal eben Zugangsdaten einzutragen und eventuell noch ein Perl Modul zu installieren.
Ich kann mir das bei Gelegenheit mal ansehen.
Ansonsten sehe ich aber nichts was dagegen spricht, die Daten bei OpenPaths zu haben - ganz im Gegenteil.


EDIT:
Ich hab leider wenig Zeit, mich in das Thema MQTT einzuarbeiten.
Wenn jemand eine Anleitung schreibt, wie man mit minimalem Aufwand Owntracks mit dem FHEM MQTT Modul verbindet, baue ich eine Integration in das Modul ein.

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 23 Mai 2015, 19:46:46
Ein kleines Update:

- Life360 bekommt jetzt auch nach dem Tageswechsel wieder Werte
- neues Reading accuracy (Life360, OwnTracks)
- OwnTracks kann integriert werden:
  Dazu muss man MQTT und ein MQTT_DEVICE für OwnTracks einrichten, das die Daten in einem Reading als Event liefert.
  Wenn man den Namen im Attribut owntracksDevice hinterlegt, werden die Daten vom Modul gelesen.
  Die App ist allerdings noch etwas verbesserungswürdig...

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 06 Juni 2015, 00:08:46
OpenPaths ist wieder da, zeigt aber leider nur alte Daten bis letzte Woche.
Die App scheint aktuell wohl nicht zu synchronisieren.

Ich nutze aktuell nebenher OwnTracks über das MQTT Modul.

Hier ein weblink mit dem ihr euren aktuellen Standort in FHEM visualisieren könnt, alle Bedienelemente geschickt abgeschnitten, iFrame nicht-interaktiv gesetzt so dass es wirklich nur ein Kartenausschnitt ist ;)
htmlCode {'<div style="width: 400; overflow: hidden; height: 300px;"><iframe src="https://www.google.com/maps/embed/v1/place?key=APIKEYFORGOOGLEMAPSEMBEDDED&q='.ReadingsVal('livetracking','location','').' " width="480" height="480" frameborder="0" style="pointer-events:none; border:0; margin-top: -100px; margin-left: -30px;"></iframe></div>'}
Ihr braucht nur noch euren eigenen Google Maps Developer Key.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: klausw am 11 Juni 2015, 12:18:42
Hallo Markus,

ich habe gerade dein Modul auf mein Pi kopiert und möchte es mit Owntracks benutzen.
Die fehlenden Perl Module installiert:
sudo apt-get -y install libnet-oauth-perl
sudo apt-get -y install libmath-round-perl


wie muss das define aussehen?

derzeit habe ich:
define tracking livetracking dummy
und
attr owntracksDevice mqtt_pos
im Device mqtt_pos gibt es das reading position welches regelmäßig aktualisiert wird.

leider bleibt STATE auf ??? stehen
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: stromer-12 am 11 Juni 2015, 21:00:54
Ich benutze bei mir auf Android "MyLiveTracker" um meinen Geräten zu folgen.

Gesendet von meinem GT-I9295

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 13 Juni 2015, 00:21:23
Zitat von: klausw am 11 Juni 2015, 12:18:42
wie muss das define aussehen?
derzeit habe ich:
define tracking livetracking dummy

Nur OwnTracks zu verwenden hatte ich nicht vorgesehen.
Im ersten Post ist eine aktualisierte Version, du kannst livetracking ohne Parameter definieren, also define tracking livetracking und dann das Attribut setzen.
STATE verwende ich grundsätzlich nicht für Readings, dafür gibt es stateFormat.
Eigentlich solltest du aber auch mit deiner Definition schon Daten sehen können, es sei denn mein Code funktioniert nicht ganz...
Wenn die neue Version immer noch nichts tut, gib deinem mqtt Device mal den Namen "owntracks" und löse ein Event aus.


Zitat von: stromer-12 am 11 Juni 2015, 21:00:54
Ich benutze bei mir auf Android "MyLiveTracker" um meinen Geräten zu folgen.

Sorry, gibt leider keine kostenlose iOS App und das Portal scheint nicht wirklich public zu sein.

Markus
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: stromer-12 am 13 Juni 2015, 12:07:34
Mit mylifetracker schicke ich mir mit der App die Geo-Daten und Akkustand direkt nach Hause.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: klausw am 14 Juni 2015, 00:03:24
Hallo MArkus,

die neuste Version deines Moduls habe ich jetzt drin.

Definition:

define owntracks MQTT_DEVICE
attr owntracks IODev mqtt
attr owntracks stateFormat position
attr owntracks subscribeReading_position owntracks/klaus

define tracking livetracking
attr tracking owntracksDevice owntracks
attr tracking stateFormat location


state steht auch auf initialized.

Aber es werden keine Readings angelegt und im Log steht:

2015.06.13 23:55:50 2: WRONG TYPE $VAR1 = 'transmission-state: incoming publish received';
2015.06.13 23:55:50 2: WRONG TYPE $VAR1 = 'position: {"_type": "location", "lat": "50.6372028", "lon": "8.8236878", "tst": "1434232504", "acc": "20.0", "batt": "48"}';


Grüße
Klaus
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 14 Juni 2015, 01:39:34
Zitat von: klausw am 14 Juni 2015, 00:03:24es werden keine Readings angelegt und im Log steht:
2015.06.13 23:55:50 2: WRONG TYPE $VAR1 = 'position: {"_type":_"location", ...

Faszinierend, das Leerzeichen fehlt bei mir.
Nächster Versuch, siehe Anhang :)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: klausw am 14 Juni 2015, 12:34:34
Komisch, Owntracks sollte doch immer gleiche Formattierungen liefern.
Naja Software halt  8)

Das Modul wird jetzt gar nicht mehr geladen:
2015.06.14 11:50:51 1: reload: Error:Modul 98_livetracking deactivated:
Not enough arguments for main::round at ./FHEM/98_livetracking.pm line 436, near "$altitudeRound)"
Not enough arguments for main::round at ./FHEM/98_livetracking.pm line 569, near "$altitudeRound)"
Not enough arguments for main::round at ./FHEM/98_livetracking.pm line 907, near "$dist)"

2015.06.14 11:50:51 0: Not enough arguments for main::round at ./FHEM/98_livetracking.pm line 436, near "$altitudeRound)"
Not enough arguments for main::round at ./FHEM/98_livetracking.pm line 569, near "$altitudeRound)"
Not enough arguments for main::round at ./FHEM/98_livetracking.pm line 907, near "$dist)"
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 14 Juni 2015, 12:43:46
Ok, keine Updates mehr während ich nicht zuhause bin ;)
Heute Abend gibt es eine neue Version die dann hoffentlich funktioniert.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: klausw am 14 Juni 2015, 13:39:36
Zitat von: Markus M. am 14 Juni 2015, 12:43:46
Ok, keine Updates mehr während ich nicht zuhause bin ;)
Heute Abend gibt es eine neue Version die dann hoffentlich funktioniert.
Sowas geht schief, das hätte ich dir gleich sagen können   ;D

In Zeile 23 habe ich
use Math::Round ();
zurück nach:
use Math::Round;
geändert.
Damit ist der Fehler weg und ich bekomme accuracy, battery und location als readings.
Im Log habe ich aber immer noch:
2015.06.14 13:09:57 2: WRONG TYPE $VAR1 = 'transmission-state: incoming publish received';

2015.06.14 13:09:57 2: tracking OwnTracks: 2015-06-14 13:10:01  {"_type": "location", "lat": "50.1372042", "lon": "8.6236961", "tst": "1434280201", "acc": "21.21", "batt": "76"}


Derzeit funktioniert es ja nur mit owntracksDevice owntracks
Hast du vor den Namen noch variabel zu machen?
Das wäre hilfreich, wenn mehrere Geräte Verwendung finden sollen.

Dann hätte ich noch zwei Vorschläge

Das Modul Math::Round ist vermutlich auf vielen Systemen (beim Pi weiss ich es) nicht standardmäßig vorhanden.
Was würdest du davon halten, stattdessen sptintf zu verwenden?
Damit lässt sich auch runden und es wird kein zusätzliches Modul benötigt.

Das Modul Net::OAuth wird, wenn ich es richtig gesehen habe nur von Life360 verwendet. Bei Owntracks ist es nicht notwendig.
Es ist möglich zu prüfen, ob das Modul existiert und dann nur eine Fehlermeldung auszugeben, wenn es auch benötigt wird. In diesem Fall muss es nicht zwingend installiert werden.

...
use strict;
use warnings;
use Time::Local;

use Math::Round;
#use Net::OAuth;

use URI::Escape;
use Data::Dumper;

my $libcheck_hasOAuth = 1;

sub livetracking_Initialize($) {
  my ($hash) = @_;
  my $name = $hash->{NAME};

  eval "use Net::OAuth;";
  $libcheck_hasOAuth = 0 if($@);

  $hash->{DefFn} = "livetracking_Define";
...


mit if( $libcheck_hasOAuth ); kannst du auch einzelne Attribute ausblenden:

  $hash->{AttrList} = "disable:1 ".
"roundAltitude ".
"roundDistance ".
"interval ".
"home ".
"swarmHome ".
# "life360_userid ".
"life360_circle ".
"owntracksDevice ".
$readingFnAttributes;

  $hash->{AttrList} .= "life360_userid " if( $libcheck_hasOAuth );


In der Define Subroutine wird mit:
$hash->{OAuth_exists} = $libcheck_hasOAuth if($libcheck_hasOAuth);
Ein Internal angelegt, auf welches du im Definierten Deviece Zugriff hast.

Nun kannst du mit if ($hash->{OAuth_used}) vor Verwendung prüfen ob das Modul auch geladen ist





Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 14 Juni 2015, 20:01:18
Das im Log ist normal, habe jetzt allerdings den LogLevel geändert.
OAuth wird von OpenPaths verwendet, ich hab mich mal an der Änderung versucht.
Das Runden habe ich auch anders gelöst.

Der Gerätename für OwnTracks sollte bereits variabel sein, scheint aber nicht zu funktionieren.
Ich weiss leider nicht warum.

Du kannst die neue Version im Anhang im ersten Post mal testen.

Markus
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: klausw am 15 Juni 2015, 00:24:24
Zitat von: Markus M. am 14 Juni 2015, 20:01:18
Das im Log ist normal, habe jetzt allerdings den LogLevel geändert.
OAuth wird von OpenPaths verwendet, ich hab mich mal an der Änderung versucht.
Das Runden habe ich auch anders gelöst.
Alle 3 Dinge funktionieren.
Dummerweise bleibt state wieder auf Initialized und die Readings ändern sich nicht mehr bei Aktualisierung des
Devices owntracks

Zitat von: Markus M. am 14 Juni 2015, 20:01:18
Der Gerätename für OwnTracks sollte bereits variabel sein, scheint aber nicht zu funktionieren.
Ich weiss leider nicht warum.
Evtl. Muss das NOTIFYDEV speziell initialisiert werden.
Vielleicht reicht auch schon eine AttrFn:

sub livetracking_Attr(@) {
  my ($command, $name, $attr, $val) = @_;
  my $hash = $defs{$name};
  if ($attr && $attr eq 'owntracksDevice') {
    $hash->{NOTIFYDEV} = $val if defined $val;
  }
  return undef;
}


und natürlich noch $hash->{AttrFn}   = "livetracking_Attr"; unter Initialize.

Nun würde bei Änderung des Attributes owntracksDevice das NOTIFYDEV angepasst.
In der Routine kann man natürlich noch schauen, ob der Name wirklich als Device existiert und ob es auch wirklich vom Typ MQTT ist.

Testen kann ich es nicht, da wie gesagt die Readings überhaupt nicht mehr aktualisiert werden.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Firetic am 15 Juni 2015, 09:39:35
Ich versuche gerade das Modul einmal in Betrieb zu nehmen. Leider ist mir nicht ganz  klar wo genau ich meine OpenPaths ID eingeben muss...

Vielleicht kann mir ja jemand auf die Sprünge helfen.

Vielen Dank
Firetic


Added: Habe jetzt mit

"define Tracking livetracking 0 0 <mein openpaths_key> <mein openpaths_secret> 0 "

Leider reagiert danach FHEM gar nicht mehr und ich musste meine fhem.cfg Sicherung zurückspielen...

Ist das ersetzten der nicht benötigten Parametern mit der 0 überhaupt möglich?

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Ma_Bo am 27 Juni 2015, 07:28:04
Hallo, mich interessiert es auch sehr meine GPS Daten irgendwie in mein fhem zu bekommen.

Zur Zeit schaue ich, mit welcher App (Android oder iPhone) ich am besten "Echtzeit" Tracking erreichen kann.

Getestet und eine fast "Live" Übertragung schaffen derzeit folgende Apps :

RTT2 (Android) kostenlos und Sende-Intervall lässt sich bis 5s runterstellen, WEB Oberfläche zum beobachten des Trackers(Handy): http://www.greenalp.com/RealTimeTracker/
inViu routes (Android) kostenlos und Sende-Intervall lässt sich bis 5s runterstellen, WEB Oberfläche zum beobachten des Trackers(Handy) : https://www.enaikoon.com/de/apps/plugins/routes/
IM Map Navigator (Android und iPhone) nicht kostenlos, es kann nur über die Apps kommuniziert werden, keine WEB Oberfläche, Sende Intervall ab 3s bis 60s https://play.google.com/store/apps/details?id=nfadev.sn.immnavigatorlite

Lässt sich mit einem der dreien in fhem was machen ?

Ich habe leider null Ahnung vom programmieren und hätte gerne einen Real Time Tracker, der in fhem integrierbar ist.

Grüße Marcel

###### Edit
Lässt sich mit dem Android Device Manager was machen ? : https://www.google.com/android/devicemanager

###### Edit 2
Nach ein wenig Recherche im Netz, die App owntracks mit einem eigenen MQTT Server, sollte ja genau das alles erfüllen, was ich mir vorstelle.
Eine gute Anleitung habe ich hier gefunden : http://blog.unixweb.de/live-tracking-mit-mqtt-und-owntracks-auf-dem-raspberry-pi/
Werde das die Tage mal ausprobieren.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 27 Juni 2015, 12:04:08
Zitat von: klausw am 15 Juni 2015, 00:24:24
Alle 3 Dinge funktionieren.
Dummerweise bleibt state wieder auf Initialized und die Readings ändern sich nicht mehr bei Aktualisierung des
Devices owntracks

Ich habe leider keine Ahnung warum es nicht funktioniert.
Im Anhang ist ein Test für de Devicenamen.


Zitat von: Firetic am 15 Juni 2015, 09:39:35
Added: Habe jetzt mit
"define Tracking livetracking 0 0 <mein openpaths_key> <mein openpaths_secret> 0 "
Ist das ersetzten der nicht benötigten Parametern mit der 0 überhaupt möglich?

Nein, natürlich nicht. Wenn du die weglässt sollte es funktionieren.


Zitat von: Ma_Bo am 27 Juni 2015, 07:28:04
Hallo, mich interessiert es auch sehr meine GPS Daten irgendwie in mein fhem zu bekommen.
Nach ein wenig Recherche im Netz, die App owntracks mit einem eigenen MQTT Server, sollte ja genau das alles erfüllen, was ich mir vorstelle.

Und dabei ist dir nicht aufgefallen, dass OwnTracks hier schon integriert ist? :)

Gruss, Markus
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: stromer-12 am 27 Juni 2015, 17:57:45
Zitat von: Markus M. am 27 Juni 2015, 12:04:08
Ich habe leider keine Ahnung warum es nicht funktioniert.
Im Anhang ist ein Test für de Devicenamen.

Bei mir lag es an Leerzeichen im Übergabestring vom MQTT-Device.

@@ -566,7 +567,7 @@
     Log3 ($name, 5, "livetracks: Notify ignored from ".$devName);
     return undef;
   }
-  if($dev->{CHANGED}[0] !~ m/_type":"location/ && $dev->{CHANGED}[0] !~ m/_type":"position/ )
+  if($dev->{CHANGED}[0] !~ m/_type":[ ]?"location/ && $dev->{CHANGED}[0] !~ m/_type":[ ]?"position/ )
   {
     Log3 ($name, 3, "WRONG TYPE ".Dumper($dev->{CHANGED}[0]));
     return undef;


Damit wird bei mir mit owntracks und owntracks_beta geloggt.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 27 Juni 2015, 21:42:47
Zitat von: stromer-12 am 27 Juni 2015, 17:57:45
Bei mir lag es an Leerzeichen im Übergabestring vom MQTT-Device.
Damit wird bei mir mit owntracks und owntracks_beta geloggt.

Ist das Leerzeichen mit deinem Code optional?
Ich nehme an du verwendest Android?! Ich habe bei mir keine Leerzeichen.

Ein Update ist im ersten Post.

OwnTracks hat übrigens einen gravierenden Nachteil: wenn der Broker läuft aber in FHEM irgendwas schiefgeht, sind die Daten weg.
Hat jemand eine Idee wie man das verhindern kann?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: stromer-12 am 27 Juni 2015, 23:24:34
Zitat von: Markus M. am 27 Juni 2015, 21:42:47
Ist das Leerzeichen mit deinem Code optional?
Ich nehme an du verwendest Android?! Ich habe bei mir keine Leerzeichen.

Ja ich habe Android. Auf dem einen Gerät läuft owntracks V0.5.11 auf dem anderen owntracks V0.5.17.
Die ältere Version liefert Leerzeichen, bei der neueren Version sind diese nicht mehr vorhanden.

V0.5.11
owntracks/fhem/Giga {"_type": "location", "lat": "xx.xxxxx", "lon": "xx.xxxxxxx", "tst": "1435419188", "acc": "23.0", "batt": "100"}

V0.5.17
owntracks/fhem/Companion {"_type":"location","lat":xx.xxxxxxx,"lon":xx.xxxxxxxx,"tst":1435434279,"acc":10,"batt":66,"tid":"1"}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Firetic am 28 Juni 2015, 14:14:15
Habe es jetzt geschafft ein define zu erstellen.

Leider erhalte ich im Logfile immer die Meldung "invalid json detected: >>400: NOT AUTHORIZED<<"...

Hab ich noch irgendeinen Schritt vergessen?

Vielen Dank :-)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 28 Juni 2015, 14:22:58
Zitat von: Firetic am 28 Juni 2015, 14:14:15
Habe es jetzt geschafft ein define zu erstellen.
Leider erhalte ich im Logfile immer die Meldung "invalid json detected: >>400: NOT AUTHORIZED<<"...
Hab ich noch irgendeinen Schritt vergessen?

Wenn du mir verrätst was du definiert hast, kann ich dir vielleicht helfen.
Keys etc. bitte anonymisieren ;)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Firetic am 28 Juni 2015, 14:27:14
Sorry hab ich vergessen :-)

Mein Define lautet:

define Firetic_Tracking livetracking "Access key" "Secret Key"

Also beide Keys von der OpenPaths Homepage und natürlich ohne ""... Mehr habe ich dann nicht gemacht.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 28 Juni 2015, 14:43:35
NOT AUTHORIZED ist seltsam...
Ich habe gar nichts bekommen, weil OpenPaths wohl was an der Struktur der Messages geändert hat.
Das Update ist im ersten Post. Wenn es damit nicht klappt, musst du deine Keys mal überprüfen.

Scheint wohl auch wieder Serverprobleme zu geben :(
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Firetic am 28 Juni 2015, 19:43:34
Hat leider nichts gebracht. Erhalte jetzt den Fehler:

"...invalid json detected: >>400: NOT AUTHORIZED<< openpathsdata".

Habe die Keys nochmal überprüft und auch alles nochmal neu angelegt... Aber vielleicht hat es ja wirklich was mit dem Server zu tun - mal gucken ob es morgen anders aussieht.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Ma_Bo am 29 Juni 2015, 16:56:39
ZitatZitat von: Ma_Bo am 27 Juni 2015, 07:28:04
Hallo, mich interessiert es auch sehr meine GPS Daten irgendwie in mein fhem zu bekommen.
Nach ein wenig Recherche im Netz, die App owntracks mit einem eigenen MQTT Server, sollte ja genau das alles erfüllen, was ich mir vorstelle.

ZitatUnd dabei ist dir nicht aufgefallen, dass OwnTracks hier schon integriert ist? :)

Gruss, Markus

Doch, aber erst im nachhinein, da hatte ich den Post schon geschrieben.

Ich habe noch was interessantes gefunden : http://www.rosenkranz-software.de/gpslogathome/doku.html

Die App sendet auch an eigene HTTP Server, ist das nicht auch was für fhem ?

Gruß Marcel
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Ma_Bo am 11 Juli 2015, 01:50:46
@ Markus M. : Hast du ein Backend wie Pista für owntracks laufen...?
Falls ja kannst du mir ein Howto zeigen oder einen Link, bekomme es leider nicht hin, habe jetzt zwar meine Daten in fhem, aber möchte dennoch ein Backend wie Pist oder ählich haben, damit man auch mit den Daten die anfallen, was machen kann...

Grüße Marcel

#### Edit
Ich habe im Log immer soetwas hier stehen :

2015.07.11 02:14:39 3: WRONG TYPE $VAR1 = 'transmission-state: incoming publish received';
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Firetic am 27 Juli 2015, 12:21:05
Habe in den letzten Wochen jetzt nochmal ein wenig rumgebastelt...

Leider waren allen Versuche nicht von besonderem Erfolg gekrönt :-( Bei "Openpath" scheint es nicht an der Homepage zu liegen ich erhalte immer wieder die Fehlermeldung "...invalid json detected: >>400: NOT AUTHORIZED<< openpathsdata" im Log.

Deshalb habe ich dann versucht mit "owntracks" probiert. Leider scheitere auch hier hier im letzten Punkt an der Meldung im Log: "WRONG TYPE $VAR1 = 'transmission-state: incoming publish received';"

Als Attribute habe ich im Device nur "owntracksDevice=owntracks" und "stateFormat=location" definiert... Es scheint ja auch wie gewollt irgendetwas empfangen zu werden.

Hat vielleicht noch irgendjemand eine Idee bezüglich "Openpath" oder auch "Owntracks"

Gruß Firetic

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 27 Juli 2015, 12:38:04
Openpaths funktioniert bei mir auch nicht mehr, ich bekomme nur noch ein leeres JSON. Muss ich mir bei Gelegenheit mal anschauen.
Deine Owntracks Meldung ist normal, das ist nur Debugging. Du solltest aber auch ein Notify mit den Daten bekommen?!
Hast du die letzte Version?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Firetic am 27 Juli 2015, 13:38:47
Ich benutze die Version aus dem ersten Post in der neusten Version... Müsste also passen.

Erhalte im Log nichts anderes außer dieser Meldung. Habe mir jetzt auch nochmal den Event-Monitor angeschaut, auch da taucht nur diese Meldung auf...
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 27 Juli 2015, 23:09:51
OpenPaths: Ich hatte da wohl einen Fehler in meinem Perl, keine Ahnung warum. Das hat geholfen:
sudo apt-get install liblwp-authen-oauth-perl



Bei Owntracks stimt bei dir irgendwas nicht.
Was hast du im owntracks device stehen?
Da muss ein Reading sein das so heisst wie dein Gerät.

Hier mal die Settings...
OwnTracks App:
UserID: fhem
DeviceID: iphone

OwnTracks device in FHEM:
publishSet: owntracks/fhem/iphone
subscribeReading_iphone: owntracks/fhem/iphone

Ich habe ein Reading mit dem Namen iphone, das die Daten enthält.
Damit müsste es klappen. Da ich ein event-on-change-reading darauf habe, bekomme ich die bei dir ausgefilterten Meldungen gar nicht erst.
Sieht das bei dir in etwa gleich aus?


Im ersten Post ist übrigens noch eine neue Version des Moduls.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Firetic am 28 Juli 2015, 07:43:06
Vielen Dank - habe jetzt schonmal ein erstes Erfolgserlebnis :-D

mir fehlte der Eintrag "publishSet: owntracks/fhem/iphone". Jetzt scheint es zu funktionieren :-)

Kann ich jetzt eigentlich auch einfach noch ein zweites Device überprüfen wenn eich einfach

publishSet: owntracks/fhem/iphone2
subscribeReading_iphone: owntracks/fhem/iphone2


hinzufüge?

Openpaths bringt leider keine Veränderung - immer noch die unveränderte Fehlermeldung (habe das Modul upgedated und das Perl "Update" gemacht). Kann es sein das er irgendwie auf eine alte fehlerhafte Authentifizierung zugreift die ich noch löschen müsste?!

Auf jeden Fall nochmal Danke :-)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 28 Juli 2015, 13:25:17
Das mit dem zweiten Gerät sollte so funktionieren wenn du die Subscription zusätzlich hinzufügst.
Die Syntax kenne ich allerdings nicht und ich müsste dann wohl noch einen Filter ins Modul einbauen.
Wenn du das hinkriegst sag mir Bescheid, dann kann ich das mal versuchen.

OpenPaths könntest du hiermit mal kurz mit deinen Nutzerdaten testen (openpathstest.pl):
#!/usr/bin/perl


use strict;
use warnings;
use Time::Local;


use LWP::Authen::OAuth;
#use LWP::Useragent;
use Net::OAuth;
use Data::Dumper;
use Math::Round;
use JSON;



my $nonce = "";
for (my $i=0;$i<32;$i++) {
  my $r = int(rand(62));
  if ($r<10) { $r += 48; }
  elsif ($r<36) { $r += 55; }
  else { $r += 61; }
  $nonce .= chr($r);
}

my $ua = LWP::UserAgent->new;

my $request = Net::OAuth->request("request token")->new(
  consumer_key => 'KEYKEYKEYKEYKEYKEYKEYKEY',
  consumer_secret => 'SECRETSECRETSECRET',
  request_url => 'https://openpaths.cc/api/1',
  request_method => 'GET',
  signature_method => 'HMAC-SHA1',
  timestamp => time(),
  nonce => $nonce,
);

$request->sign;

my $httprequest = HTTP::Request->new(GET => $request->to_url."&num_points=5");
my $response = $ua->request($httprequest); # start_time, end_time, num_points

print $response->content;
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Firetic am 28 Juli 2015, 18:31:35
Ich habe jetzt mal ein zweites "MQTT_DEVICE" als owntracks2 angelegt und danach einfach ein zweites livetracking device. Das scheint jetzt so eigentlich auch zu funktioneren...

Wie teste ich den den Code denn? Habe den Code mit meinen Zugangsdaten angepasst und dann openpathstest.pl angelegt - nur wie ich das aufrufe ist mir leider nicht klar ???

Außerdem versuche ich mir jetzt den Kartenausschnitt anzeigen zu lassen - das bekomme ich leider auch nicht hin.
Ich habe mir den Google Developer Code erstellt und wollte danach ein weblink mit deiner Codezeile von Seite 1 erstellen.
Leider kommen mehrere Fehlermeldungen:
Unknown command overflow:, try help.
Unknown command height:, try help.
Unknown command "><iframe, try help.
Unknown command border:0, try help.
Unknown command margin-top:, try help.
Unknown command margin-left:, try help.
Unknown command "></iframe></div>'}, try help.

Hast du da auch noch eine Idee  :)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 28 Juli 2015, 20:15:47
Zitat von: Firetic am 28 Juli 2015, 18:31:35
Wie teste ich den den Code denn? Habe den Code mit meinen Zugangsdaten angepasst und dann openpathstest.pl angelegt - nur wie ich das aufrufe ist mir leider nicht klar ???

In der Konsole, mit perl openpathstest.pl
Da müssten dann 5 Datensätze rauskommen.

ZitatAußerdem versuche ich mir jetzt den Kartenausschnitt anzeigen zu lassen - das bekomme ich leider auch nicht hin.
Ich habe mir den Google Developer Code erstellt und wollte danach ein weblink mit deiner Codezeile von Seite 1 erstellen.
Leider kommen mehrere Fehlermeldungen

Ok, das klappt bei mir direkt irgendwie auch nicht... Oops :)
Leg einfach einen Dummy-weblink an und ändere die Definition in der Weboberfläche dann auf:
htmlCode {'<div style="width: 400; overflow: hidden; height: 300px;"><iframe src="https://www.google.com/maps/embed/v1/place?key=KEYKEYKEYKEYKEY&q='.ReadingsVal('livetracking','location','').' " width="480" height="480" frameborder="0" style="pointer-events:none; border:0; margin-top: -100px; margin-left: -30px;"></iframe></div>'}
Wenn dein Device nicht livetracking heisst, musst du das natürlich noch anpassen.

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Firetic am 28 Juli 2015, 20:31:19
Danke so hat es geklappt - der Kartenausschnitt wird angezeigt :-)

Der Test mit perl openpathstest.pl hat ebenfalls ohne Probleme funktioniert. Bekomme wie von dir beschrieben 5 Readings angezeigt...
Was heißt das jetzt genau?

Vielen Dank :-)

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 28 Juli 2015, 20:42:40
Zitat von: Firetic am 28 Juli 2015, 20:31:19
Der Test mit perl openpathstest.pl hat ebenfalls ohne Probleme funktioniert. Bekomme wie von dir beschrieben 5 Readings angezeigt...
Was heißt das jetzt genau?
Dass es auch in FHEM funktionieren sollte.
Setz mal verbose=5, ruf auf dem Telefon die Openpaths App 2x auf und mach danach einen Reload im Device mit get livetracking OpenPaths und sieh dir das Log an.
Besonders ob in der ausgegebenen URL Key und Secret so stimmen, zur Not in den Browser kopieren und auch nochmal mit der Seite vergleichen. Da sollte die Position natürlich auch aktuelle Werte haben, sonst stimmt mit der App selbst was nicht.
Auto Sync in den Optionen hast du aktiviert?!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Firetic am 28 Juli 2015, 21:01:54
Habe das Loglevel hochgesetzt und das Modul aktualisiert.
Den Key finde ich in der ausgegebenen URL auch wieder allerdings das Sekret finde ich nicht wieder

https://openpaths.cc/api/1?oauth_consumer_key=KEY&oauth_nonce=??&oauth_signature=??&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1438109742.53551&oauth_version=1.0&start_time=1438106142.54356&num_points=50

Den Part wo die Fragezeichen stehen habe ich mal ersetzt....
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 28 Juli 2015, 21:32:56
ARGH!!!
Zitat...timestamp=1438109742.53551...

Mach mal ein Update mit der Version im ersten Post und probier das ganze nochmal.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Firetic am 28 Juli 2015, 21:56:13
Funktioniert :-) Super

Da ich aber jetzt auch owntracks am laufen habe, bleibe ich wohl dabei ;-)


Vielen Dank für die super Hilfe...
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Mitch am 15 Oktober 2015, 14:46:20
Sehr geniale Arbeit, Danke!

Hatte mir gerade dieses Wochenende Gedanken gemacht, wie ich meine Heizungssteuerung optimieren könnte.
Im Moment wir bei Abwesenheit länger als 2 Stunden die Heizung um 2 Grad abgesenkt.
Bei Ankunft wird hochgeregelt.

Meine Überlegung war, das ganze über einen Radius zu steuern.
Bei Abwesenheit > 10km Heizung absenken
Und bei Annäherung < 10km wieder hochregeln

Im Moment mache ich die Anwesenheits-Erkennung über Geofancy. Funktioniert auch tadellos, allerdings gibt es da keine Möglichkeit über den Radius.


Nun meine Frage dazu, weil ich keine extra App auf allen Devices möchte:
Kann man die Freunde App von Apple einbinden?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 18 Oktober 2015, 19:17:48
Du meinst damit das iOS9 Feature?
Leider nicht möglich, da es noch nicht mal eine Web Integration gibt.


Sent from my iPhone using Tapatalk
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 18 Oktober 2015, 19:17:56
Du meinst damit das iOS9 Feature?
Leider nicht möglich, da es noch nicht mal eine Web Integration gibt.


Sent from my iPhone using Tapatalk
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Loredo am 18 Oktober 2015, 19:20:19
Zitat von: Mitch am 15 Oktober 2015, 14:46:20
Im Moment mache ich die Anwesenheits-Erkennung über Geofancy. Funktioniert auch tadellos, allerdings gibt es da keine Möglichkeit über den Radius.


Doch, müsste gehen.
Du kannst dafür die wayhome-Funktion nutzen und dort den Radius auf 10km einstellen. Dann kannst du auf den entsprechenden Wayhome-Wert triggern.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Mitch am 18 Oktober 2015, 19:31:35
Wayhome Funktion?

Kannst Du mir dazu etwas sagen, wie das geht, oder einen Link, wo ich das nachlesen kann.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 18 Oktober 2015, 19:34:03
Was spricht gegen OwnTracks?
Da kannst du beliebig Radien um Punkte anlegen und bekommst jeweils Enter/Leave Notifications.


Sent from my iPhone using Tapatalk
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Mitch am 18 Oktober 2015, 22:36:32
Muss ich mir mal ansehen.
Allerdings muss ich doch da noch irgend wie einen MQFF Server (oder so ähnlich  ;D ) installieren?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Loredo am 19 Oktober 2015, 11:43:56
Zitat von: Mitch am 18 Oktober 2015, 19:31:35
Wayhome Funktion?

Kannst Du mir dazu etwas sagen, wie das geht, oder einen Link, wo ich das nachlesen kann.


Aus der Commandref http://fhem.de/commandref_DE.html#ROOMMATE:


Zitat
Immer wenn eine Lokation mit dem Namen 'wayhome' gesetzt wird, wird das Reading 'wayhome' auf '1' gesetzt, sofern die Anwesenheit zu diesem Zeitpunkt 'absent' ist. Sofern das Attribut rr_locationWayhome gesetzt wurde, so führt das VERLASSEN einer dort aufgeführten Lokation ebenfalls dazu, dass das Reading 'wayhome' auf '1' gesetzt wird. Es gibt also 2 Möglichkeiten den Nach-Hause-Weg-Indikator zu beeinflussen (implizit und explizit).
Die Ankunft zu Hause setzt den Wert von 'wayhome' zurück auf '0'.


[...]



       
  • rr_locationWayhome - das Verlassen einer Lokation, die hier aufgeführt ist, lässt das Reading 'wayhome' auf '1' setzen; mehrere Einträge durch Leerzeichen trennen; Standard ist "wayhome"







Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: andipilz am 19 Oktober 2015, 16:38:50
Hallo!

Hat hier schon jemand das Setup am laufen:

- OwnTracks auf iOS und Android
- Eigener MQTT Server auf dem gleichen Host, wie FHEM (also ohne SSH über Localhost und Port 1883)
- Anwesenheitserkennung mit FHEM basierend auf den OwnTracks Geo Daten bzw. Events, die von Waypoints ausgelöst werden.
- Damit einen Ersatz für Geofancy, dass wegen schlechtem Mobilfunk Empfang leider immer wieder "vergisst" das iPhone/Android als "zuhause" zu melden.

Ich bekomme das bei mir nicht zum Laufen. Wahrscheinlich sitze ich nur schwer auf der Leitung.

Gruß Andi
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 19 Oktober 2015, 17:05:29
Alles davon, ohne es wirklich für Anwesenheitserkennung zu nutzen.
Wie weit bist du bzw. was möchtest du wissen?


Sent from my iPhone using Tapatalk
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: andipilz am 19 Oktober 2015, 17:13:01
Hallo Markus!

Danke für die schnelle Reaktion.

Ich habe nun schon MQTT konfiguriert und die Verbindung zum Broker steht.

Ich habe aber noch das Problem mit MQTT_BRIDGE, die Events von QwnTracks owntracks/+/+/waypoints mit enter oder leave auf meine ROOMMATE Devices pro Person zu übertragen.

Wie gesagt, ich vermute, ich habe einen Knoten im Kopf ...  ;)

Gruß Andi
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 19 Oktober 2015, 18:15:05
Eins von diesen + entspricht deinem Devicenamen, der sich pro Person unterscheiden sollte.


Sent from my iPhone using Tapatalk
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: andipilz am 19 Oktober 2015, 18:18:30
Genau! Und das würde ich gerne mit einem notify o.ä. auswerten, um damit dann die ROOMMATES richtig setzen zu können ...

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: WumpE am 12 Januar 2016, 07:54:09
Zitat von: andipilz am 19 Oktober 2015, 16:38:50
Hallo!

Hat hier schon jemand das Setup am laufen:

- OwnTracks auf iOS und Android
- Eigener MQTT Server auf dem gleichen Host, wie FHEM (also ohne SSH über Localhost und Port 1883)
- Anwesenheitserkennung mit FHEM basierend auf den OwnTracks Geo Daten bzw. Events, die von Waypoints ausgelöst werden.
- Damit einen Ersatz für Geofancy, dass wegen schlechtem Mobilfunk Empfang leider immer wieder "vergisst" das iPhone/Android als "zuhause" zu melden.

Ich bekomme das bei mir nicht zum Laufen. Wahrscheinlich sitze ich nur schwer auf der Leitung.

Gruß Andi

jup ich ohne roommates.
hatte bisher egigeozone auf meiner frau ihrem galaxy s2 laufen. jetzt hat sie sich nen z5  compact geholt seitdem spinnt egigeozone rum. ich brauch also noch nen tool zur plausibilitätsprüfung und habe mich für owntracks entschieden. nach anlaufschwierigkeiten funzt das jetzt auch auf dem z5c und meinem iphone 6 mit ios 9.2

waypoints habe ich noch nicht konfiguriert, da ich noch nicht wirklich weiss wie ich die hier auswerten könnte. da könnte jemand der das schon hat, mal nen tut schreiben. mqtt broker habe ich, sowie 2x mqtt_device und 2xlivetracking auf das jeweilige mqtt_device

grüße stefan
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: andipilz am 12 Januar 2016, 20:37:11
Hmm, also im Moment sieht meine .cfg so aus, was mir die notwendigen Infos liefert, aber das triggern eines weiteren notify, um dann den Home/absent status in roommates zu setzen geht nicht:

define myMQTT MQTT localhost:1883
attr myMQTT keep-alive 60
attr myMQTT room Residents
# MQTT_DEVICE for Events/Waypoints
define myMQTT_OT_Event_Andi MQTT_DEVICE
attr myMQTT_OT_Event_Andi IODev myMQTT
attr myMQTT_OT_Event_Andi room Residents
attr myMQTT_OT_Event_Andi stateFormat event
attr myMQTT_OT_Event_Andi subscribeReading_sacher owntracks/ap/sacher/event
#attr myMQTT_OT_Event_Andi autoSubscribeReadings owntracks/+/+/event
#
# Create additional Readings from JSON message
#
define n_myMQTT_OT_Event notify (myMQTT_OT_Event_Andi:sacher:.*) { \
  my $evt     = $EVENT;; \
  my $data    = substr($evt,index($evt, ": {")+2);; \
  my $dataset = JSON->new->utf8(0)->decode($data);; \
  my $place   = $dataset->{desc};; \
  my $event   = $dataset->{event};; \
  setReadingsVal($defs{$NAME}, "Transition", $event, FmtDateTime($dataset->{tst}));; \
  setReadingsVal($defs{$NAME}, "Place", $place, FmtDateTime($dataset->{tst}));; \
}


Das mit dem Autosubscribe funktioniert nicht. Die zusätzlichen Reading werden "umgeschrieben". Aber wo kommt dann der Träger her, um den status der roommates zu setzen?

Gruß Andi
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: stromer-12 am 12 Januar 2016, 21:06:15
Ich hatte das bei mir mit ins notify geschrieben.

    if ($place eq "home"){\
      my $loc = ($event eq "enter")      ? "home"         : "underway";;\
      my $pr  = ( " $loc " eq " home " ) ? "present"      : "absent";;\
      CommandSet(undef, "<ROOMMATE-Name>:FILTER=presence!=$pr location $loc");;\
    }\
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 12 Januar 2016, 21:12:36
Mein Beispiel sieht so aus:

MQTT Server, ein Device je Phonedefine mqtt MQTT 127.0.0.1:1883

define owntracks MQTT_DEVICE
attr owntracks IODev mqtt
attr owntracks event-on-change-reading iphone,iphoneevent
attr owntracks subscribeReading_iphone owntracks/fhem/iphone
attr owntracks subscribeReading_iphoneevent owntracks/fhem/iphone/event


In Owntracks werden Zonen angelegt.
Die haben einen Ort und entweder einen Radius oder eine iBeacon ID.
An dieser Stelle bekomme ich dann zusätzlich zu den Geodaten auch schon enter/leave Events und könnte darauf reagieren.
(Neue Modulversion im ersten Post!)

iphone: {"t":"b","tst":1452622574,"acc":65,"_type":"location","alt":312,"lon":11.00000000,"vac":16,"lat":49.00000000,"batt":98,"tid":"MM"}
iphoneevent: {"t":"b","tst":1452622574,"acc":65,"_type":"transition","event":"enter","lon":11.00000000,"lat":49.00000000,"wtst":1446125801,"tid":"MM","desc":"Home"}


Im Livetracking wird bei enter das Reading place mit der Description befüllt, bei leave wird das Reading (sofern der Inhalt noch übereinstimmt) gelöscht.
Extra Events vom Modul gibt es allerdings nicht mehr.
Braucht ihr die? Kann ich gerne hinzufügen um dir die JSON Orgie zu ersparen. Wie hättest du es gerne? :)


Falls übrigens jemand noch eine kleine dynamische Karte in der FHEM Oberfläche anzeigen möchte:
define live_map weblink htmlCode {'<div style="width: 400;; overflow: hidden;; height: 300px;;"><iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyDG9YXIhKBhqclZizcSzJ0ROiE0qgVfwzI&q='.ReadingsVal('livetracking','location','').' " width="480" height="480" frameborder="0" style="pointer-events:none;; border:0;; margin-top: -100px;; margin-left: -30px;;"></iframe></div>'}


Viele Grüsse,
Markus
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: klausw am 14 Januar 2016, 12:57:08
Zitat von: Markus M. am 12 Januar 2016, 21:12:36
Im Livetracking wird bei enter das Reading place mit der Description befüllt, bei leave wird das Reading (sofern der Inhalt noch übereinstimmt) gelöscht.
Das mit den Zonen ist ne schöne Funktion.
Was ich super finden würde, wären readings (z.B. der Zonenname) hinter denen sowas wie entered/left present/absent oder was in der art steht. Also ein Reading pro Zone.
So könnte man z.B. seine Arbeitszeiten tracken
Daheim das wlan schalten ...
Also mehrere Zonen komfortabel nutzen.

Zitat von: Markus M. am 12 Januar 2016, 21:12:36
Falls übrigens jemand noch eine kleine dynamische Karte in der FHEM Oberfläche anzeigen möchte:
define live_map weblink htmlCode {'<div style="width: 400;; overflow: hidden;; height: 300px;;"><iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyDG9YXIhKBhqclZizcSzJ0ROiE0qgVfwzI&q='.ReadingsVal('livetracking','location','').' " width="480" height="480" frameborder="0" style="pointer-events:none;; border:0;; margin-top: -100px;; margin-left: -30px;;"></iframe></div>'}

Klappt super. Hat nur einen Weile gedauert bis ich meinen eigenen Key hatte.
Lässt sich die Karte auch dynamisch zoom/verschieben erstellen? :)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 14 Januar 2016, 13:28:17
Zitat von: klausw am 14 Januar 2016, 12:57:08
Das mit den Zonen ist ne schöne Funktion.
Was ich super finden würde, wären readings (z.B. der Zonenname) hinter denen sowas wie entered/left present/absent oder was in der art steht. Also ein Reading pro Zone.
So könnte man z.B. seine Arbeitszeiten tracken. Daheim das wlan schalten ... Also mehrere Zonen komfortabel nutzen.

Guter Plan, nur wie?
Ich kann nicht einfach zone_Zonenname nehmen, da man sonst keine Leerzeichen mehr verwenden könnte.
Idee: zone_0, zone_1, etc. als Reading, dazu noch Attributes zone_N_name für die Zuweisung.
Reichen 10 für den Anfang? :)



ZitatKlappt super. Hat nur einen Weile gedauert bis ich meinen eigenen Key hatte.
Lässt sich die Karte auch dynamisch zoom/verschieben erstellen? :)

Hat der der drin war nicht funktioniert? Ist nicht meiner sondern der erste den Google ausgespuckt hat  8)
Klar geht interaktiv auch, dazu musst du nur das div außenrum weglassen. Dann hast du auch die Bedienelemente wieder mit drin.
Ich hab nur ewig gebraucht bis ich diese Karte mit nur der Ansicht hinbekommen hatte und hab sie deshalb so gepostet.
Wenn du auf dem entsprechenden Rechner einloggst, siehst du auch Wegzeiten und Google Places.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: klausw am 14 Januar 2016, 13:54:43
Zitat von: Markus M. am 14 Januar 2016, 13:28:17
Guter Plan, nur wie?
Ich kann nicht einfach zone_Zonenname nehmen, da man sonst keine Leerzeichen mehr verwenden könnte.
Idee: zone_0, zone_1, etc. als Reading, dazu noch Attributes zone_N_name für die Zuweisung.
Reichen 10 für den Anfang? :)
10 ist nicht verkert :) Brauchst du eine fixe Nummer? Mit foreach geht sowas doch dynamisch ;)
Leerzeichen? Ach du meinst im Zonennamen? Ja dann ist die Numerierung auch gut.

Zitat von: Markus M. am 14 Januar 2016, 13:28:17
Hat der der drin war nicht funktioniert? Ist nicht meiner sondern der erste den Google ausgespuckt hat  8)
Klar geht interaktiv auch, dazu musst du nur das div außenrum weglassen. Dann hast du auch die Bedienelemente wieder mit drin.
Ich hab nur ewig gebraucht bis ich diese Karte mit nur der Ansicht hinbekommen hatte und hab sie deshalb so gepostet.
Wenn du auf dem entsprechenden Rechner einloggst, siehst du auch Wegzeiten und Google Places.
Habe den gar nicht getestet.
Ah, das versuche ich mal, danke
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Wolle02 am 15 Januar 2016, 14:33:28
Hallo,
ich habe das Modul bei mir gut einbinden können und es funktioniert zusammen mit Owntrack und MQTT auch ganz hervorragend. Ist es eventuell möglich dem Modul auch eine Logfilefunktion zu spendieren, so dass man die Geodaten ablegen kann? Mann könnte sich daraus dann eine History zusammenbasteln

Gruß
Wolle
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 16 Januar 2016, 01:00:08
Zitat von: klausw am 14 Januar 2016, 13:54:4310 ist nicht verkert :) Brauchst du eine fixe Nummer? Mit foreach geht sowas doch dynamisch ;)
Leerzeichen? Ach du meinst im Zonennamen? Ja dann ist die Numerierung auch gut.

Update im ersten Post, wie gewünscht ;)
zonname_n sollte mit Regex funktionieren, um beispielsweise mehrere Zonen zu einer zusammenfassen zu können.
Das wird dann interessant wenn du dir ne iBeacon in jeden Raum stellst.
Gib mal Bescheid ob es funktioniert.


Zitat von: Wolle02 am 15 Januar 2016, 14:33:28Ist es eventuell möglich dem Modul auch eine Logfilefunktion zu spendieren, so dass man die Geodaten ablegen kann? Mann könnte sich daraus dann eine History zusammenbasteln

Ich verstehe die Frage nicht ganz.
Wenn du das Reading location im FHEM Logging hast, hast du einen kompletten Verlauf deiner History - dafür ist das Modul ja schliesslich da.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Wolle02 am 16 Januar 2016, 09:29:06
Hallo Markus,

ZitatWenn du das Reading location im FHEM Logging hast, hast du einen kompletten Verlauf deiner History - dafür ist das Modul ja schliesslich da.

Leider verstehe ich deine Antwort nicht ganz. Welches Modul meinst du da jetzt? Ein Modul "Logging" finde ich nicht. Kannst du den Weg etwas präzisieren oder das Modul aus der Commandref benennen?

Danke und Gruß
Wolle
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Wolle02 am 16 Januar 2016, 09:57:42
Ahhh, jetzt hab ich verstanden was du meinst. Den Befehl cratelog kannte ich noch gar nicht. Hab ihn gerade in der Commandref gefunden. Bislang wurden die Logfiles bei mir immer gleich vom Modul mit angelegt. Jetzt loggt es brav; genauso wie ich es mir vorgestellt hatte.   :)

Aber eine andere Frage hätte ich jetzt:
Ich benutzte dein Modul mit Owntracks über das MQTT_DEVICE "owntracks". Das funktioniert soweit auch ganz prächtig. Jetzt habe ich in der Android-App Owntracks ein zweites Handy hinzugefügt, so dass im MQTT_DEVICE nun zwei Readings auftauchen. Handy_1 und Handy_2.
Scheinbar wird immer nur die letzte Koordinate die per MQTT übertragen wurde in das reading location in deinem Modul übertragen, so dass ich nicht unterscheiden kann welche Koordinate das jetzt gerade ist.
Kann man dein Modul irgendwie Mehrbenutzerfähig machen ohne für jedes Handy ein eigenes MQTT_DEVICE und ein eigenes Modul livetracking definieren zu müssen?

Gruß
Wolle
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Papaloewe am 16 Januar 2016, 10:02:05
Dazu einfach ein zweites MQTT_Device anlegen.

OK, hatte den letzten Satz nicht wahrgenommen, sorry.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Wolle02 am 16 Januar 2016, 10:42:21
Na genau das soll ja eben nicht das Ziel sein. Das sollte sich doch auch bestimmt irgendwie über die unterschiedlichen Readings im MQTT_DEVICE lösen lassen oder?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 16 Januar 2016, 11:58:55
Zitat von: Wolle02 am 16 Januar 2016, 09:57:42Kann man dein Modul irgendwie Mehrbenutzerfähig machen ohne für jedes Handy ein eigenes MQTT_DEVICE und ein eigenes Modul livetracking definieren zu müssen?

Definitiv nein.
MQTT nicht weil ich dazu gerade keine Zeit habe, livetracking nicht weil das keinen Sinn macht.
livetracking ist für genau eine Person je Instanz konzipiert.
Es hängt ja nicht nur OwnTracks dran, da ist auch noch Swarm und OpenPaths mit drin, die man durchaus parallel nutzen kann.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Wolle02 am 16 Januar 2016, 16:13:25
Alles klar, dann hab ich das jetzt doch mit zwei MQTT_DEVICE gelöst. Jetzt such ich nur noch nach einem Weg wie man beide Standorte auf einer GoogleMaps Karte darstellen kann. Auf den Googleseiten selber bin ich bislang nicht fündig geworden und ich bin mir auch gar nicht sicher, ob das Google mit der Embed API überhaupt zulässt.
Weißt du das zufälligerweise?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: stromer-12 am 16 Januar 2016, 18:42:09
guggst du hier (https://developers.google.com/maps/documentation/static-maps/intro)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Loredo am 17 Januar 2016, 13:58:56
Mal ne andere Frage meinerseits:
Wie sind den die Erfahrungen was den Akku angeht, wenn permanent getrackt wird?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Loredo am 17 Januar 2016, 17:45:00
Wenn ihr eine direkte Anbindung an ROOMMATE und GUEST analog zum neuen GEOFANCY Attribut r*_geofenceUUIDs haben möchtet, lasst es mich wissen.
Markus müsste dafür die vorhandenen Funktionen ROOMATE_SetLocation() bzw. GUEST_SetLocation() direkt benutzen können. Ihr erspart euch den Umweg über den Location-Setter und könnt gleichzeitig auch die Geo-Koordinaten sowie den entry/exist Status mit übergeben.




Gruß
Julian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 17 Januar 2016, 21:34:49
ROOMMATE / GUEST nutze ich nicht, kann das bei Bedarf aber gerne einbauen.

Wenn übrigens jemand die komplette Familie auf einer Karte visualisieren möchte, gehr das so:
https://maps.googleapis.com/maps/api/staticmap?size=800x500&scale=2&style=feature:poi|element:labels|visibility:off&style=feature:transit|element:labels|visibility:simplified|inverse_lightness:false|saturation:-80&maptype=roadmap&key=YOURKEYNEEDSTOBEACTIVATEDFORTHESTATICMAPSAPI&markers=color:red|label:M|49.0,11.0&markers=color:blue|label:X|49.01,11.01

Farbe, ein Grossbuchstabe für den Marker und jeweils die Location in die URL, bei Bedarf weitere markers-Elemente hinzufügen.
Der Zoom und der Mittelpunkt wird automatisch so gesetzt dass alle drauf passen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Baumi am 18 Januar 2016, 10:29:26
Zitat von: Markus M. am 17 Januar 2016, 21:34:49
ROOMMATE / GUEST nutze ich nicht, kann das bei Bedarf aber gerne einbauen.

Meine Anwesenheitserkennung baut auf ROOMMATE auf, und am Wochenende werde ich wohl mal Owntracks und dieses Modul hier einbauen. Insofern wäre ich auf jeden Fall an einer direkten Kommunikation der beiden Module interessiert. :-)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: sl12 am 19 Januar 2016, 21:40:05
Ich habe festgestellt das owntracks eine cmd API hat, mit der man sich auf anfrage die aktuelle Position senden lassen kann.

Besteht Interesse sowas in das Modul einzubauen?

PS: Ich wäre auch an eine Anbindung an ROOMMATE interessiert.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: regenbieger am 19 Januar 2016, 23:01:01
Hi ich setze owntracks<=>cloudMQTT<=>LAN RPI2 mit Mosquitto und FHEM ein.
Klappt super!!! Danke für die klasse Idee und die Umsetzung
- ein Filter auf die Genauigkeit(acc) der Werte wäre prima.
- Das Modul lief erst nachdem ich ein use JSON; in Zeile 20 geschmissen hatte.
- Im Log stehen öfters folgende Einträge:WRONG TYPE $VAR1 = 'XXXX: {"_type":"lwt","tst":1453206697}';
   da wird wohl das mqtt Testament nicht ignoriert oder interpretiert.
- die owntracks api bietet noch mehr als cmd ich werde gerne testen wenn jemand was in die Richtung weiter frickelt.
Zur Darstellung für jemand der kein Googleoris DEV Key haben muss für 3 Schmartphons einen weblink definieren mit dem Inhalt (natürlich n bischen anpassen):

htmlCode {'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function LoadGmaps() {
var myLatlng = new google.maps.LatLng('.ReadingsVal('tracking1','location','').');
var myLatlng1 = new google.maps.LatLng('.ReadingsVal('tracking2','location','').');
var myLatlng2 = new google.maps.LatLng('.ReadingsVal('tracking3','location','').');
var myOptions = {
zoom: 16,
center: myLatlng,
disableDefaultUI: true,
panControl: false,
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.SMALL
},

mapTypeControl: false,
streetViewControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("MyGmaps"), myOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"Mob1 '.ReadingsTimestamp('tracking1','location','').'"
});
var marker = new google.maps.Marker({
position: myLatlng1,
map: map,
title:"Mob2 '.ReadingsTimestamp('tracking2','location','').'"
});
var marker = new google.maps.Marker({
position: myLatlng2,
map: map,
title:"Mob3 '.ReadingsTimestamp('tracking3','location','').'"
});
}
</script>
</head>
<body onload="LoadGmaps()" onunload="GUnload()">
<!-- Maps DIV : you can move the code below to where you want the maps to be displayed -->
<div id="MyGmaps" style="width:300px;height:300px;border:1px solid #CECECE;"></div>
<!-- End of Maps DIV -->
</body>
</html>'}


Ich recherchiere zur Zeit die Darstellung über OpenStreetMaps, sollte fast genau so einfach gehen und ist nicht so goggelastig.
mfg bei nun:
Outside Temperature    -9,6°C
;)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: klausw am 19 Januar 2016, 23:04:27
Zitat von: Markus M. am 16 Januar 2016, 01:00:08
Update im ersten Post, wie gewünscht ;)
zonname_n sollte mit Regex funktionieren, um beispielsweise mehrere Zonen zu einer zusammenfassen zu können.
Das wird dann interessant wenn du dir ne iBeacon in jeden Raum stellst.
Gib mal Bescheid ob es funktioniert.
Danke, bin leider erst jetzt zum Testen gekommen.
Ich habe zonename_0 und 1 definiert. Dabei habe ich die gleichen Bezeichnungen wie in Owntracks verwendet.
Die Events werden auf dem Handy angezeigt (z.B. Device... enters name)
Aber es wird kein Reading angelegt.
Handy läuft mit Android, du hast nen Apfel glaube ich, evtl. gibt es da Unterschiede?

ROOMMATE / GUEST ... nutze ich noch nicht, aber wenn es ins Modul integriert wird wäre das was für mich.

Es lassen sich auch Nachrichten an das Owntracks auf dem Handy schicken. Ich habe das mit NodeRed mal getestet:
{ "payload": { "_type": "msg", "title": "Versuch", "desc": "nur ein Test", "icon": "fa-smile-o", "prio": 2, "tst": 1453240874.183, "ttl": 120 }, "_msgid": "7e4d542a.81b2ac" }

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 20 Januar 2016, 01:12:34
Zitat von: regenbieger am 19 Januar 2016, 23:01:01- ein Filter auf die Genauigkeit(acc) der Werte wäre prima.
Alles bei Werten > X Meter ignorieren? Probier die neue Version aus.

Zitat- Das Modul lief erst nachdem ich ein use JSON; in Zeile 20 geschmissen hatte.
Oops, sorry :) Nachgetragen.

Zitat- Im Log stehen öfters folgende Einträge:WRONG TYPE $VAR1 = 'XXXX: {"_type":"lwt","tst":1453206697}';
   da wird wohl das mqtt Testament nicht ignoriert oder interpretiert.
Doch, nur dummerweise mit Loglevel 3... Jetzt 5.

Zitat- die owntracks api bietet noch mehr als cmd ich werde gerne testen wenn jemand was in die Richtung weiter frickelt.
Aktuell leider keine Zeit mir das anzusehen. Wenn jemand einen Ansatz sieht, immer her damit.


ZitatZur Darstellung für jemand der kein Googleoris DEV Key haben muss für 3 Schmartphons einen weblink definieren mit dem Inhalt (natürlich n bischen anpassen)

Cool! Wenn ich grade nen Plan hätte wie ich eine anständige History im Modul bekomme, würde ich sowas bei Gelegenheit direkt mit einbauen.

ZitatIch recherchiere zur Zeit die Darstellung über OpenStreetMaps, sollte fast genau so einfach gehen und ist nicht so goggelastig.

Ich möchte definitiv Google, und zwar mit der coolen neuen Google Maps Roads API (https://developers.google.com/maps/documentation/roads/intro) :)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 20 Januar 2016, 01:55:37
Zitat von: klausw am 19 Januar 2016, 23:04:27
Danke, bin leider erst jetzt zum Testen gekommen.
Ich habe zonename_0 und 1 definiert. Dabei habe ich die gleichen Bezeichnungen wie in Owntracks verwendet.
Die Events werden auf dem Handy angezeigt (z.B. Device... enters name)
Aber es wird kein Reading angelegt.
Handy läuft mit Android, du hast nen Apfel glaube ich, evtl. gibt es da Unterschiede?

Kannst mal posten was bei höchstem Loglevel aus MQTT rauskommt?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: klausw am 20 Januar 2016, 10:13:22
Zitat von: Markus M. am 20 Januar 2016, 01:55:37
Kannst mal posten was bei höchstem Loglevel aus MQTT rauskommt?
Hmm schwieriger als erwartet: beim Ein-/Austritt werden die Events mit Uhrzeit im Infobereich des Handys angezeigt. Allerdings wird keine Botschaft über MQTT abgesetzt.
Ich finde aber auch keine Option mit der ich das Aktivieren kann.
Läuft das hier bei jemandem mit einem Android Handy?
Titel: Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 20 Januar 2016, 12:41:17
Ich habe bei meinen Zonen eine Checkbox "Share".
Hast du die aktiviert?
Funktioniert dir Kommunikation grundsätzlich?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: klausw am 20 Januar 2016, 12:56:42
Zitat von: Markus M. am 20 Januar 2016, 12:41:17
Ich habe bei meinen Zonen eine Checkbox "Share".
Hast du die aktiviert?
Funktioniert dir Kommunikation grundsätzlich?
Das kommt im FHEM Log an:
2016.01.20 12:43:59 4: tracking OwnTracks: 2016-01-20 12:43:55  {"_type":"location","lat":50.1376864,"lon":8.5951924,"tst":1453290235,"acc":1057,"batt":78,"tid":"m7"}
Ja, share ist aktiviert.
Nur wird bei eintritt/verlassen keine Botschaft gesendet.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 20 Januar 2016, 13:29:57
Ist das der Logeintrag vom MQTT Device oder livetracking?
Ich bräuchte ersteren. Die Frage ist quasi, ob die Zonen Events überhaupt auf deinem Rechner ankommen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: regenbieger am 20 Januar 2016, 17:05:40
event kommen von owntracks:

livetracking trackingM location: 53.86327066666667,6.49774694166667
livetracking trackingM accuracy: 21 m
livetracking trackingM place: home
livetracking trackingM zone_0: active
livetracking trackingM distance: 0 km
MQTT_DEVICE owntracksM mevent: {"_type":"transition","lat":53.86327066666666,"lon":6.497746941666668,"acc":21,"tst":1453304836,"wtst":1452953891,"desc":"home","event":"enter","tid":"1"}

mit zonename_0 = home schaltet livetracking die zone_0 dann als active, keine Ahnung ob das so reicht. Mal heute abend sehen ob das in FHEM dann brauchbare Geofenceevents gibt.  :)
Sieht aber doch erstamal gut aus. Aber es war ja nicht die rede von meinem Rechner hehe
Komisch nur das in den Events livetracking vor dem mqtt die events schreibt, als hätte es schon eine vorahnung.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 20 Januar 2016, 20:52:26
Brauchbar sind die Zonen über OwnTracks leider nicht, da nie sicher ist ob die Events auch tatsächlich im Modul ankommen und es manchmal auch Falschmeldungen gibt   :(
Macht aber eigentlich nichts, da man stattdessen ja einfach die Entfernung zum Zuhause verwenden kann.
Das zusammen mit dem neuen Filter auf Accuracy sollte klappen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: sl12 am 20 Januar 2016, 22:04:46
Ich habe mich mal an der Anbindung der OwnTracks API versucht.

Falls einer von euch das mal Testen möchte folgendes vorbereiten:
- Bei dem mqtt device die Werte "msg" und "cmd" hinzufügen
z.B:

attr owntracks_mqtt_device publishSet_msg owntracks/user/device/msg
attr owntracks_mqtt_device publishSet_cmd owntracks/user/device/cmd


- In der OwnTracks App unter Preferences / Advanced folgendes aktivieren:
Messaging
Remote report location

Nach einspielen der Angepassten 98_livetracking.pm gibt es ein Set "OtSendMessage" um Nachrichten an OwnTracks zu senden und ein "OtRequestLocation" um die aktuelle Position übermitteln zu lassen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: regenbieger am 20 Januar 2016, 23:34:32
sl12,
location request funzt  :) ,
messages leider nicht  :( , die messages gehen zwar richtig raus, kommen aber auf dem smartfon nicht an (Android S4).
habe nochmal die spec von owntracks gelesen, muss wohl an owntracks liegen, im mqtt sieht alles sauber aus.
Manuell gepublished mit den vorgaben aus dem owntracks booklet geht genauso wenig.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 21 Januar 2016, 00:24:14
Nice: {"_type":"steps","tst":1453328353,"to":1453328353,"steps":5102,"distance":4637.487476262148,"from":1453244400}

Update ist in im ersten Thread, Danke an sl12 :)
Messaging klappt bei mir nur wenn ich die App gerade aktiv habe - liegt wahrscheinlich an meinen MQTT Einstellungen?!
Gibt es da irgendwo QOS Einstellungen?

attr owntracks qos at-least-once

Weiss zufällig jemand wie ich die SetFn nur aktiviere wenn das OwnTracks Attribut gesetzt ist?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Baumi am 21 Januar 2016, 14:16:16
Zitat von: Markus M. am 20 Januar 2016, 20:52:26
Macht aber eigentlich nichts, da man stattdessen ja einfach die Entfernung zum Zuhause verwenden kann.
Das zusammen mit dem neuen Filter auf Accuracy sollte klappen.

Kannst Du kurz erklären, wie das mit der Entfernung zu einem bestimmten Punkt geht? Oder steht das schon im Thread hier und ich hab's nur übersehen?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: Markus M. am 21 Januar 2016, 16:18:45
Sollte im ersten Post sein: ins Attribut home einfach die Location eintragen, dann bekommst du ein Reading distance.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Baumi am 21 Januar 2016, 19:22:25
Zitat von: Markus M. am 21 Januar 2016, 16:18:45
Sollte im ersten Post sein: ins Attribut home einfach die Location eintragen, dann bekommst du ein Reading distance.

Danke, hatte ich tatsächlich übersehen. Funktioniert super.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 01 Februar 2016, 12:11:32
Man kann jetzt auch mehr als ein Wort an OwnTracks senden und die TTL in einem Attribut festlegen.
Mehrere Zonen sind über ein Event aktivierbar (RegEx im Zonennamen)

;) Markus

P.S.: Irgendwelche Gründe (abgesehen von der noch fehlenden Doku), die gegen eine offizielle Veröffentlichung des Moduls sprechen? Meinem Gefühl nach läuft es mittlerweile stabil genug.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 01 Februar 2016, 16:37:40
Hatte noch immer keine Zeit die Zonen zu testen, aber abgesehen davon...
Läuft stabil, wäre super wenn es in das SVN reinkommt.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sqare)
Beitrag von: klausw am 01 Februar 2016, 16:49:42
Ist die Frage:
Zitat von: Markus M. am 21 Januar 2016, 00:24:14
Weiss zufällig jemand wie ich die SetFn nur aktiviere wenn das OwnTracks Attribut gesetzt ist?
noch aktuell?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 01 Februar 2016, 18:24:56

Zitat von: klausw am 01 Februar 2016, 16:49:42
Ist die Frage:noch aktuell?

Ja, das fehlt noch.
Klappt aber wahrscheinlich nicht wirklich, das beim Anlegen des Attributs im UI zu aktivieren.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 01 Februar 2016, 19:35:03
Zitat von: Markus M. am 01 Februar 2016, 18:24:56
Ja, das fehlt noch.
Klappt aber wahrscheinlich nicht wirklich, das beim Anlegen des Attributs im UI zu aktivieren.
Doch, das sollte klappen:

Die Sets werden dynamisch erzeugt: Wenn du die Detailseite vom Modul aufrufst, dann führt die fhem.pl "set name ?" aus.
Dann sollte deine SetFn sowas wie
Unknown argument ? choose one of deine sets mit leerzeichen getrennt
an die fhem.pl zurückliefern. Diese werden dann auf der Detailseite angezeigt.
Wenn undef zurückgeliefert wird, dann wird set auf der Detailseite nicht angezeigt.

Also an der Stelle wo du sowas wie:
return 'Unknown argument ' . $cmd . ', choose one of ...
ausführst, einfach mit
AttrVal($name, "attributname", "defaultvalue")
auf das Attribut prüfen und mit
return undef
die Sets verschwinden lassen, wenn das Attribut nicht vorhanden ist.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 02 Februar 2016, 00:01:26
Zitat von: klausw am 01 Februar 2016, 19:35:03
Doch, das sollte klappen

return undef

Aaaah! Das war das Problem...
Danke!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 12 Februar 2016, 17:49:17
Hier mal ein Beispiel für eine 24h History als Grafik:

define history_map weblink htmlCode {'<div style="pointer-events:none;; overflow: hidden;; width: 620;; height: 455px;;"><img src="'.maphistory().'" width="620" height="480" style="border:0;; margin-top: 0px;; margin-bottom: -25px;;"></img></div>'}

sub maphistory {
  my $seconds = $_[0];
  $seconds = 24*60*60 if(!defined($seconds));

  my $googlekey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
  my $dblogdevice = "fhemDbLog";

  my $from = FmtDateTime(time()-$seconds);
  my $to = FmtDateTime(time());
  $from =~ s/\ /_/g;
  $to   =~ s/\ /_/g;
  my $path = '';

  ########################################
  my $livetrackingdevice = "livetracking";
  my $currentlocation = ReadingsVal($livetrackingdevice,'location','');
  my $locationhistory = fhem("get $dblogdevice - - $from $to $livetrackingdevice:location",1);
  my @locations = split("\n", $locationhistory);
  $path .= "&markers=color:reduce|label:M|$currentlocation";
  $path .= "&path=color:0xff0000dd|weight:2";

  my $oldlat = '';
  my $oldlon = '';
  foreach my $location (@locations)
  {
    next if($location =~ /#/);
    $location =~ s/^.* //g;
    my @latlon = split(",",$location);
    my $lat = substr($latlon[0],0,7);
    my $lon = substr($latlon[1],0,7);

    $path .= "|".$lat.",".$lon if(length($path) < 1800 && ($lat ne $oldlat || $lon ne $oldlon));
    $oldlat = $lat;
    $oldlon = $lon;
  }
########################################

  return "https://maps.googleapis.com/maps/api/staticmap?language=en&size=620x480&scale=2&key=$googlekey&style=feature:poi|element:labels|visibility:off&style=feature:transit|element:labels|visibility:simplified|saturation:-80&maptype=roadmap$path";
}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Luigi am 01 März 2016, 21:09:03
Ich bekomm seit einiger Zeit immer wieder folgende Fehlermeldung:

Modification of non-creatable array value attempted, subscript -1 at ./FHEM/98 livetracking.pm line 839.

und FHEM stürzt ab.


Internals:
   CHANGED
   NAME       tracking
   NOTIFYDEV  owntracks
   NR         731
   NTFY_ORDER 999-tracking
   STATE      46.xxxxx,12.xxxx
   TYPE       livetracking
   Readings:
     2016-03-01 20:56:14   accuracy        20 m
     2016-03-01 20:56:14   battery         38 %
     2016-03-01 20:56:14   distance        0 km
     2016-03-01 20:56:14   location        46.xxxx,12.xxxx
     2016-03-01 19:17:35   place           atWork
     2016-03-01 19:20:03   zone_1          inactive
   Helper:
     lastOwnTracks 1456862174
Attributes:
   comment    1
   event-on-change-reading place,location,zone_0,zone_1
   filterAccuracy 100
   home       46.xxxx,12.xxxx
   room       99_System
   stateFormat location
   zonename_0 atHome
   zonename_1 atWork


Gruß Luigi
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 01 März 2016, 22:22:05
Zitat von: Luigi am 01 März 2016, 21:09:03
Ich bekomm seit einiger Zeit immer wieder folgende Fehlermeldung:
Modification of non-creatable array value attempted, subscript -1 at ./FHEM/98 livetracking.pm line 839.
und FHEM stürzt ab.

Dann probier doch mal die aktuelle Version aus dem ersten Post.
Bei der steht in Zeile 839 nämlich nur ein Kommentar ;)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: regenbieger am 31 März 2016, 12:01:55
hi, leider schaffe ich es nicht mit Openstreetmap linien zu zeichnen, fallback ist nun doch eine Googleapikey.
@Markus M. vielen dank für deine Vorlage, hier nun meine Version: (Pos schaltet die Info durch,Ani schaltet Mäusekino an und aus)

define history_map weblink htmlCode {getGWebMap()}

sub getGWebMap() {
    my $seconds = $_[0];
  $seconds = 24*60*60 if(!defined($seconds));

  my $dblogdevice = "FILLinYOURdblogdevice";
  my $livetrackingdevice = "FILLinYOURlivetrackingdevice";
  my $googlekey = "FILLinYOURkey";


  my $OSMCreate = '';
  my $OSMPath = '';
  my $OSMMarkers = '';
  my $OSMInfo = '';

  my $from = FmtDateTime(time()-$seconds);
  my $to = FmtDateTime(time());
  $from =~ s/\ /_/g;
  $to   =~ s/\ /_/g;

  my $currentlocation = ReadingsVal($livetrackingdevice,'location','');
  my $locationhistory = fhem("get $dblogdevice - - $from $to $livetrackingdevice:location",1);
  my @locations = split("\n", $locationhistory);

  my @cclatlon = split(",",$currentlocation);
  my $oldlat = '0';
  my $oldlon = '0';


  foreach my $location (@locations)
  {
    next if($location =~ /#/);
    my @nfoct = split(" ",$location);
    my @nfott = split("_",$nfoct[0]);
    $location =~ s/^.* //g;
    my @latlon = split(",",$location);
    #my $lat = substr($latlon[0],0,7);
    #my $lon = substr($latlon[1],0,7);
    my $lat = $latlon[0];
    my $lon = $latlon[1];
    my $dist = abs($lat-$oldlat) + abs($lon-$oldlon);
    if($dist > 0.0002) {
       $OSMInfo .= "infowins.push(new google.maps.InfoWindow({content:'".$nfott[1]."',disableAutoPan: true}));";
       $OSMMarkers .= "markers.push(new google.maps.Marker({position:{lat:".$lat.",lng:".$lon;
       $OSMMarkers .= "},map: map,title:'".$nfott[1]."',";
       $OSMMarkers .= "icon: {path: google.maps.SymbolPath.CIRCLE,scale:6,";
       $OSMMarkers .= "fillColor:'yellow',fillOpacity: 0.4,strokeColor:'blue',strokeWeight:1}}));";
       $OSMPath .= "{lat:".$lat.",lng:".$lon."},";
       $oldlat = $lat;
       $oldlon = $lon;
    }
   }

    $OSMInfo .= "infowins.push(new google.maps.InfoWindow({content:'Jetzt',disableAutoPan: true}));";
    $OSMMarkers .= "markers.push(new google.maps.Marker({position:{lat:".$cclatlon[0].",lng:".$cclatlon[1];
    $OSMMarkers .= "},map: map,title:'Jetzt',";
    $OSMMarkers .= "icon: {path: google.maps.SymbolPath.CIRCLE,scale:6,";
    $OSMMarkers .= "fillColor:'yellow',fillOpacity: 0.4,strokeColor:'blue',strokeWeight:1}}));";
    $OSMPath .= "{lat:".$cclatlon[0].",lng:".$cclatlon[1]."}";

  $OSMCreate .= "<!DOCTYPE html>";
  $OSMCreate .= "<html><head><title>Kartograph</title>";
  $OSMCreate .= "<style>#floating-panel {position: absolute;top: 4px;left: 25%;";
  $OSMCreate .= "z-index: 5;background-color: #fff;padding: 1px;border: 1px solid #999;";
  $OSMCreate .= "text-align: center;font-family: 'Roboto','sans-serif';line-height: 18px;";
  $OSMCreate .= "padding-left: 3px;}</style>";
  $OSMCreate .= "</head>";
  $OSMCreate .= "<body><div id='floating-panel'>";
  $OSMCreate .= "<input onclick='clearMarkers();' type=button value='Pos'>";
  $OSMCreate .= "<input onclick='showMarkers();' type=button value='Ani'>";
  $OSMCreate .= "</div>";
  $OSMCreate .= "<div id='mapdiv' ";
  $OSMCreate .= "style='width:800px;height:600px;border:1px solid #CECECE;'";
  $OSMCreate .= "></div>";
  $OSMCreate .= "<script>";
  $OSMCreate .= "var map;";
  $OSMCreate .= "var statemark = 2;";
  $OSMCreate .= "var stateani = 1;";
  $OSMCreate .= "var markers = [];";
  $OSMCreate .= "var infowins = [];";
  $OSMCreate .= "function initMap() {";
  $OSMCreate .= "map = new google.maps.Map(document.getElementById('mapdiv'), {";
  $OSMCreate .= "zoom:16,center: {lat: ".$cclatlon[0].", lng: ".$cclatlon[1]."},mapTypeId: google.maps.MapTypeId.ROADMAP});";
  $OSMCreate .= "var LLCoordinates = [".$OSMPath."];";
  $OSMCreate .= "var lineSymbol = { path: google.maps.SymbolPath.FORWARD_OPEN_ARROW };";
  $OSMCreate .= "var LLPath = new google.maps.Polyline({ path: LLCoordinates , geodesic: true,";
  $OSMCreate .= "strokeColor: '#FF0000', strokeOpacity: 0.5, strokeWeight: 3,";
  $OSMCreate .= "icons: [{ icon: lineSymbol, offset: '2%' , repeat: '2%' }] });";
  $OSMCreate .= "LLPath.setMap(map);";
  $OSMCreate .= $OSMMarkers;
  $OSMCreate .= $OSMInfo;
  $OSMCreate .= "animateCircle(LLPath);}";
  $OSMCreate .= "function animateCircle(line) {var count = 0;window.setInterval(function() {";
  $OSMCreate .= " count = (count + 1) % 2000;if (stateani == 1){var icons = line.get('icons');";
  $OSMCreate .= " icons[0].offset = (count / 20) + '%';line.set('icons', icons);}}, 20);}";
  $OSMCreate .= "function setMapOnAll(map) { for (var i = 0; i < markers.length; i++) {";
  $OSMCreate .= "markers[i].setMap(map);}}";
  $OSMCreate .= "function setInfoOffAll() { for (var i = 0; i < infowins.length; i++) {";
  $OSMCreate .= "infowins[i].close();}}";
  $OSMCreate .= "function setInfoOnAll(map) { for (var i = 0; i < markers.length; i++) {";
  $OSMCreate .= "infowins[i].open(map, markers[i]);}}";
  $OSMCreate .= "function clearMarkers() {";
  $OSMCreate .= "if (statemark == 0){setInfoOffAll();setMapOnAll(null);}";
  $OSMCreate .= "if (statemark == 1){setMapOnAll(map);}";
  $OSMCreate .= "if (statemark == 2){setInfoOnAll(map);}";
  $OSMCreate .= "statemark = statemark + 1;";
  $OSMCreate .= "if (statemark == 3){statemark = 0;}";
  $OSMCreate .= "}";
  $OSMCreate .= "function showMarkers() {if (stateani == 1){stateani=0;}else{stateani=1;}}";
  $OSMCreate .= "</script>";
  $OSMCreate .= "<script async defer src='https://maps.googleapis.com/maps/api/js?";
  $OSMCreate .= "key=".$googlekey."&signed_in=true&callback=initMap&libraries=geometry'></script>";
  $OSMCreate .= "</body></html>";

    return $OSMCreate;
}


Übrigens, die Ruhe hier im Thread ist aus meiner Sicht ein Zeichen für die Zufriedenheit der User und keine Leichenstarre  ;) also wenn es jemand mal einchecken könnte wäre es toll  ::)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Lowbird am 03 August 2016, 15:33:04
Hallo Freunde des gepflegten Trackings!

Ich benötige eure Hilfe. Ich habe mich jetzt tagelang daran versucht, es zum laufen zu bringen. Aber es klappt noch nicht so ganz.

Was habe ich bis jetzt gemacht?:

Ich habe Mosquitto am laufen...

# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /var/run/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/
log_timestamp true
password_file /etc/mosquitto/passwd


autosave_interval 60
connection_messages true
log_dest stderr
log_dest topic
log_type error
log_type warning
log_type notice
log_type information
log_type all
log_type debug
log_timestamp true
listener 1883 127.0.0.1
listener 8883


log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d


In Mosquitto einen User test angelegt. FHEM und Mosquitto laufen beide auf dem selben System (Jessie)


Hier mal die List´s der angelegten Devices:

MQTT: Internals:
   DEF        127.0.0.1:8883
   DeviceName 127.0.0.1:8883
   FD         4
   NAME       mqtt
   NOTIFYDEV  global
   NR         134
   NTFY_ORDER 50-mqtt
   PARTIAL
   STATE      opened
   TYPE       MQTT
   buf
   msgid      3
   ping_received 1
   timeout    60
   Readings:
     2016-08-03 14:52:46   connection      active
     2016-08-02 23:19:22   state           opened
   Messages:
     1:
       timeout    1470173861.09593
     10:
       timeout    1470206979.07882
     100:
       timeout    1470208139.17011
     101:
       timeout    1470208146.41438
     102:
       timeout    1470208153.19134
     103:
       timeout    1470208160.30522
     104:
       timeout    1470208167.1802
     105:
       timeout    1470208174.33053
     106:
       timeout    1470208181.18651
     107:
       timeout    1470208188.35399
     108:
       timeout    1470208195.19315
     109:
       timeout    1470208202.40021
     11:
       timeout    1470206979.15666
     110:
       timeout    1470208209.18443
     111:
       timeout    1470208216.36186
     112:
       timeout    1470208223.26511
     113:
       timeout    1470208230.33551
     114:
       timeout    1470208237.2272
     115:
       timeout    1470208244.42288
     116:
       timeout    1470208251.22663
     117:
       timeout    1470208258.33852
     118:
       timeout    1470208265.20626
     119:
       timeout    1470208274.56868
     12:
       timeout    1470206994.4941
     120:
       timeout    1470208296.57577
     121:
       timeout    1470208308.39703
     122:
       timeout    1470208310.41228
     123:
       timeout    1470208310.41859
     124:
       timeout    1470208310.42436
     125:
       timeout    1470208310.43
     126:
       timeout    1470208317.61233
     127:
       timeout    1470208322.23252
     128:
       timeout    1470208330.69051
     129:
       timeout    1470208330.85422
     13:
       timeout    1470207012.2736
     130:
       timeout    1470208330.86022
     131:
       timeout    1470208330.86577
     132:
       timeout    1470208330.87142
     133:
       timeout    1470208330.87687
     134:
       timeout    1470208337.25443
     135:
       timeout    1470208354.57176
     136:
       timeout    1470208357.51454
     137:
       timeout    1470208369.22504
     138:
       timeout    1470208370.04456
     139:
       timeout    1470208380.12586
     14:
       timeout    1470207025.26716
     140:
       timeout    1470208380.44387
     141:
       timeout    1470208380.44996
     142:
       timeout    1470208392.31026
     143:
       timeout    1470208401.68704
     144:
       timeout    1470208409.43351
     145:
       timeout    1470208416.2671
     146:
       timeout    1470208423.18233
     147:
       timeout    1470208430.29404
     148:
       timeout    1470208437.18266
     149:
       timeout    1470208444.36084
     15:
       timeout    1470207039.81215
     150:
       timeout    1470208450.19103
     151:
       timeout    1470208456.29951
     152:
       timeout    1470208462.19593
     153:
       timeout    1470208469.3912
     154:
       timeout    1470208475.29222
     155:
       timeout    1470208481.50097
     156:
       timeout    1470208487.19313
     157:
       timeout    1470208493.32506
     158:
       timeout    1470208499.16023
     159:
       timeout    1470208506.33767
     16:
       timeout    1470207051.02613
     160:
       timeout    1470208513.21227
     161:
       timeout    1470208520.37575
     162:
       timeout    1470208527.20295
     163:
       timeout    1470208534.37304
     164:
       timeout    1470208541.20382
     165:
       timeout    1470208548.37031
     166:
       timeout    1470208555.18397
     167:
       timeout    1470208562.42922
     168:
       timeout    1470208570.25383
     169:
       timeout    1470208579.43198
     17:
       timeout    1470207062.38729
     170:
       timeout    1470208588.34125
     171:
       timeout    1470208590.49457
     172:
       timeout    1470208597.36265
     173:
       timeout    1470208606.33604
     174:
       timeout    1470208614.28538
     175:
       timeout    1470208622.47768
     176:
       timeout    1470208630.16023
     177:
       timeout    1470208637.33842
     178:
       timeout    1470208637.40286
     179:
       timeout    1470208645.28171
     18:
       timeout    1470207076.45512
     180:
       timeout    1470208652.46605
     181:
       timeout    1470208660.19866
     182:
       timeout    1470208668.35362
     183:
       timeout    1470208668.60894
     184:
       timeout    1470208676.21851
     185:
       timeout    1470208684.33201
     186:
       timeout    1470208684.39295
     187:
       timeout    1470208691.24874
     188:
       timeout    1470208698.29547
     189:
       timeout    1470208698.3638
     19:
       timeout    1470207414.6578
     190:
       timeout    1470208705.25883
     191:
       timeout    1470208713.37666
     192:
       timeout    1470208721.23948
     193:
       timeout    1470208728.35462
     194:
       timeout    1470208735.26021
     195:
       timeout    1470208743.39509
     196:
       timeout    1470208743.46621
     197:
       timeout    1470208751.20754
     198:
       timeout    1470208758.32818
     199:
       timeout    1470208765.20167
     2:
       timeout    1470174090.0028
     20:
       timeout    1470207439.16311
     200:
       timeout    1470208772.36167
     201:
       timeout    1470208772.42991
     202:
       timeout    1470208779.20219
     203:
       timeout    1470208786.3824
     204:
       timeout    1470208793.2033
     205:
       timeout    1470208800.38091
     206:
       timeout    1470208808.25153
     207:
       timeout    1470208817.50318
     208:
       timeout    1470208826.39738
     209:
       timeout    1470208828.56437
     21:
       timeout    1470207447.30438
     210:
       timeout    1470208834.57566
     211:
       timeout    1470208842.35969
     212:
       timeout    1470208850.19748
     213:
       timeout    1470208858.33388
     214:
       timeout    1470208858.40436
     215:
       timeout    1470208865.2328
     216:
       timeout    1470208872.36208
     217:
       timeout    1470208872.43214
     218:
       timeout    1470208879.25393
     219:
       timeout    1470208887.34924
     22:
       timeout    1470207456.38369
     220:
       timeout    1470208895.27931
     221:
       timeout    1470208903.41419
     222:
       timeout    1470208911.33545
     223:
       timeout    1470208919.38909
     224:
       timeout    1470208919.45138
     225:
       timeout    1470208927.25272
     226:
       timeout    1470208935.35599
     227:
       timeout    1470208943.21932
     228:
       timeout    1470208951.40626
     229:
       timeout    1470208951.47989
     23:
       timeout    1470207465.28295
     230:
       timeout    1470208959.21241
     231:
       timeout    1470208967.35292
     232:
       timeout    1470208967.40358
     233:
       timeout    1470208976.3494
     234:
       timeout    1470208979.48885
     235:
       timeout    1470208986.47798
     236:
       timeout    1470208998.32927
     237:
       timeout    1470209012.37402
     238:
       timeout    1470209029.4478
     239:
       timeout    1470209045.42921
     24:
       timeout    1470207474.49216
     240:
       timeout    1470209057.42199
     241:
       timeout    1470209068.36852
     242:
       timeout    1470209079.48497
     243:
       timeout    1470209090.40424
     244:
       timeout    1470209101.35877
     245:
       timeout    1470209112.37736
     246:
       timeout    1470209123.46969
     247:
       timeout    1470209134.35247
     248:
       timeout    1470209143.41852
     249:
       timeout    1470209152.42408
     25:
       timeout    1470207485.25276
     250:
       timeout    1470209161.43787
     251:
       timeout    1470209170.38832
     252:
       timeout    1470209179.38197
     253:
       timeout    1470209188.38013
     254:
       timeout    1470209197.38579
     255:
       timeout    1470209207.38749
     256:
       timeout    1470209218.38229
     257:
       timeout    1470209229.35458
     258:
       timeout    1470209239.42121
     259:
       timeout    1470209249.41937
     26:
       timeout    1470207574.5386
     260:
       timeout    1470209258.44246
     261:
       timeout    1470209267.35995
     262:
       timeout    1470209276.40934
     263:
       timeout    1470209285.35246
     264:
       timeout    1470209294.40315
     265:
       timeout    1470209303.43329
     266:
       timeout    1470209311.25075
     267:
       timeout    1470209320.35211
     268:
       timeout    1470209329.36976
     269:
       timeout    1470209331.58819
     27:
       timeout    1470207585.35397
     270:
       timeout    1470209338.58234
     271:
       timeout    1470209347.37396
     272:
       timeout    1470209356.49325
     273:
       timeout    1470209365.39134
     274:
       timeout    1470209377.41154
     275:
       timeout    1470209425.34618
     276:
       timeout    1470209436.13572
     277:
       timeout    1470209445.41251
     278:
       timeout    1470209454.52022
     279:
       timeout    1470209465.30082
     28:
       timeout    1470207604.11792
     280:
       timeout    1470209506.43658
     281:
       timeout    1470209613.73629
     282:
       timeout    1470216214.8207
     283:
       timeout    1470216214.84598
     284:
       timeout    1470216214.85205
     285:
       timeout    1470216214.85771
     286:
       timeout    1470216214.86333
     287:
       timeout    1470216214.8688
     288:
       timeout    1470216214.87476
     289:
       timeout    1470216214.88027
     29:
       timeout    1470207604.22788
     290:
       timeout    1470216214.88636
     291:
       timeout    1470216214.89193
     292:
       timeout    1470216214.89752
     293:
       timeout    1470216214.90315
     294:
       timeout    1470216214.90878
     295:
       timeout    1470216214.91475
     296:
       timeout    1470216214.92026
     297:
       timeout    1470216214.9257
     298:
       timeout    1470216214.93128
     299:
       timeout    1470216215.83426
     3:
       timeout    1470176226.48803
     30:
       timeout    1470207612.33902
     300:
       timeout    1470216215.85531
     301:
       timeout    1470216215.86138
     302:
       timeout    1470216215.86711
     303:
       timeout    1470216215.87267
     304:
       timeout    1470216215.87824
     305:
       timeout    1470216215.88417
     306:
       timeout    1470216215.88985
     307:
       timeout    1470216215.89592
     308:
       timeout    1470216215.9015
     309:
       timeout    1470216215.90712
     31:
       timeout    1470207620.2042
     310:
       timeout    1470216215.91258
     311:
       timeout    1470216215.91809
     312:
       timeout    1470216215.92354
     313:
       timeout    1470216215.92944
     314:
       timeout    1470216216.01111
     315:
       timeout    1470216216.01719
     316:
       timeout    1470216216.89538
     317:
       timeout    1470216216.90158
     318:
       timeout    1470216216.90715
     319:
       timeout    1470216216.91255
     32:
       timeout    1470207629.36139
     320:
       timeout    1470227870.75878
     321:
       timeout    1470228143.16068
     322:
       timeout    1470228174.52611
     323:
       timeout    1470228204.2091
     33:
       timeout    1470207638.32379
     34:
       timeout    1470207640.47039
     35:
       timeout    1470207647.35961
     36:
       timeout    1470207655.19294
     37:
       timeout    1470207666.37134
     38:
       timeout    1470207670.20534
     39:
       timeout    1470207679.62941
     4:
       timeout    1470206917.3947
     40:
       timeout    1470207679.89305
     41:
       timeout    1470207684.22152
     42:
       timeout    1470207690.55142
     43:
       timeout    1470207699.5669
     44:
       timeout    1470207704.54522
     45:
       timeout    1470207711.77368
     46:
       timeout    1470207718.35889
     47:
       timeout    1470207718.44691
     48:
       timeout    1470207725.09093
     49:
       timeout    1470207732.27942
     5:
       timeout    1470206917.45889
     50:
       timeout    1470207739.15512
     51:
       timeout    1470207746.47747
     52:
       timeout    1470207753.33581
     53:
       timeout    1470207760.35448
     54:
       timeout    1470207767.17194
     55:
       timeout    1470207774.35062
     56:
       timeout    1470207781.16496
     57:
       timeout    1470207788.34036
     58:
       timeout    1470207795.16546
     59:
       timeout    1470207802.29566
     6:
       timeout    1470206917.4649
     60:
       timeout    1470207811.33878
     61:
       timeout    1470207824.34428
     62:
       timeout    1470207846.38926
     63:
       timeout    1470207866.33045
     64:
       timeout    1470207881.36549
     65:
       timeout    1470207890.41116
     66:
       timeout    1470207897.20427
     67:
       timeout    1470207904.34682
     68:
       timeout    1470207911.1706
     69:
       timeout    1470207918.35911
     7:
       timeout    1470206917.47049
     70:
       timeout    1470207925.18665
     71:
       timeout    1470207932.32017
     72:
       timeout    1470207939.21134
     73:
       timeout    1470207946.33136
     74:
       timeout    1470207953.20824
     75:
       timeout    1470207960.33356
     76:
       timeout    1470207966.16958
     77:
       timeout    1470207972.39701
     78:
       timeout    1470207978.27068
     79:
       timeout    1470207985.28365
     8:
       timeout    1470206935.40293
     80:
       timeout    1470207992.19675
     81:
       timeout    1470207999.3682
     82:
       timeout    1470208007.2187
     83:
       timeout    1470208017.32633
     84:
       timeout    1470208029.33073
     85:
       timeout    1470208029.40157
     86:
       timeout    1470208040.49284
     87:
       timeout    1470208049.49158
     88:
       timeout    1470208057.18866
     89:
       timeout    1470208064.37215
     9:
       timeout    1470206951.2831
     90:
       timeout    1470208071.20285
     91:
       timeout    1470208078.40086
     92:
       timeout    1470208084.2073
     93:
       timeout    1470208091.31106
     94:
       timeout    1470208098.15192
     95:
       timeout    1470208105.47387
     96:
       timeout    1470208112.23004
     97:
       timeout    1470208118.4608
     98:
       timeout    1470208125.2817
     99:
       timeout    1470208132.37418
Attributes:
   room       Tracking
   verbose    5


owntracks: Internals:
   CHANGED
   IODev      mqtt
   NAME       owntracks
   NR         135
   STATE      incoming publish received
   TYPE       MQTT_DEVICE
   qos        1
   retain     0
   Readings:
     2016-08-03 14:42:24   transmission-state incoming publish received
   Message_ids:
   Publishsets:
     :
       topic      owntracks/test/iphone
       values:
   Sets:
   subscribe:
     owntracks/test/iphone
   subscribeExpr:
     ^owntracks\/test\/iphone$
   Subscribereadings:
     owntracks/test/iphone .*
Attributes:
   IODev      mqtt
   autoSubscribeReadings owntracks/test/iphone
   event-on-change-reading iphone,iphoneevent
   publishSet owntracks/test/iphone
   qos        at-least-once
   room       Tracking
   stateFormat transmission-state
   subscribeReading_.* owntracks/test/iphone


tracking (livetracking):
Internals:
   NAME       tracking
   NOTIFYDEV  owntracks
   NR         136
   NTFY_ORDER 999-tracking
   STATE      Initialized
   TYPE       livetracking
   Helper:
Attributes:
   owntracksDevice owntracks
   room       Tracking
   stateFormat location
   verbose    5


Das Endgerät, was die Daten sendet, ist ein iphone. Der Status der OwnTracks App steht auf Connected, daher sollte ja zumindest mal der Mosquitto richtig laufen.

Ich bekomme auch im Log Daten angezeigt, die auch defintiv zum Telefon passen.

2016.08.03 09:25:47.387 5: SW: 400200ff
2016.08.03 09:25:58.379 5: MQTT mqtt message received: Publish/at-least-once owntracks/test/iphone/256
  7b 22 63 6f 67 22 3a 37 31 2c 22 62 61 74 74 22  {"cog":71,"batt"
  3a 36 34 2c 22 6c 6f 6e 22 3a 31 33 2e 32 38 39  :64,"lon":13.289
  31 30 36 38 32 33 35 31 36 33 35 2c 22 61 63 63  10682351635,"acc
  22 3a 35 2c 22 70 22 3a 31 30 30 2e 36 31 36 37  ":5,"p":100.6167
  37 35 35 31 32 36 39 35 33 2c 22 76 65 6c 22 3a  755126953,"vel":
  36 38 2c 22 76 61 63 22 3a 38 2c 22 6c 61 74 22  68,"vac":8,"lat"
  3a 35 32 2e 35 33 32 38 37 31 30 33 30 33 31 39  :52.532871030319
  39 37 2c 22 74 73 74 22 3a 31 34 37 30 32 30 39  97,"tst":1470209
  31 35 32 2c 22 61 6c 74 22 3a 34 32 2c 22 5f 74  152,"alt":42,"_t
  79 70 65 22 3a 22 6c 6f 63 61 74 69 6f 6e 22 2c  ype":"location",
  22 74 69 64 22 3a 22 63 68 22 7d                 "tid":"ch"}
2016.08.03 09:25:58.382 5: MQTT mqtt message sent: PubAck/at-most-once 256
2016.08.03 09:25:58.382 5: SW: 40020100
2016.08.03 09:26:09.352 5: MQTT mqtt message received: Publish/at-least-once owntracks/test/iphone/257
  7b 22 63 6f 67 22 3a 33 37 2c 22 62 61 74 74 22  {"cog":37,"batt"
  3a 36 34 2c 22 6c 6f 6e 22 3a 31 33 2e 32 39 31  :64,"lon":13.291
  37 39 34 31 34 35 34 39 32 31 38 2c 22 61 63 63  79414549218,"acc
  22 3a 31 30 2c 22 70 22 3a 31 30 30 2e 36 35 32  ":10,"p":100.652
  31 30 37 32 33 38 37 36 39 35 2c 22 76 65 6c 22  1072387695,"vel"
  3a 36 38 2c 22 76 61 63 22 3a 38 2c 22 6c 61 74  :68,"vac":8,"lat
  22 3a 35 32 2e 35 33 33 37 34 35 36 34 30 30 30  ":52.53374564000
  36 34 31 2c 22 74 73 74 22 3a 31 34 37 30 32 30  641,"tst":147020
  39 31 36 33 2c 22 61 6c 74 22 3a 33 39 2c 22 5f  9163,"alt":39,"_
  74 79 70 65 22 3a 22 6c 6f 63 61 74 69 6f 6e 22  type":"location"
  2c 22 74 69 64 22 3a 22 63 68 22 7d              ,"tid":"ch"}
2016.08.03 09:26:09.354 5: MQTT mqtt message sent: PubAck/at-most-once 257
2016.08.03 09:26:09.354 5: SW: 40020101


Wenn ich die Koordinaten vergleiche, dann passt das zu dem Bewegungsmuster meines Handys.  ;)

Also scheint die Schnittstelle FHEM zu Mosquitto auch zu funktionieren. Zumindest schließe ich das aus den vorhanden Logeinträgen.


Jetzt allerdings meine Frage(n): Was genau macht das Device tracking (livetracking). Ich weiß nicht wie ich das einbinden soll oder kann. Egal welches Device ich als owntracksDevice deklariere, es ändert sich nichts.

Woher kommen die Timeouts beim Device mqtt, und beeinträchtigen Sie die Funtktion?

Ich habe keine Readings, welche es mir erlaubt die Positionsdaten zu loggen. Evtl für einen späteren Verlauf.


Ich hoffe ich habe erstmal ausreichend Informationen dargestellt um eine Hilfestellung zu bekommen.

Wenn weitere Infos benötigt werde, immer raus damit!


Seid bitte nachsichtig mit mir, ich stehe noch am Anfang was pearl und FHEM angeht. Ich habe auch versucht aus der CommandRef schlau zu werden, aber leider ist Diese für mich als DAU doch sehr spärlich beschrieben, bzw verstehe ich es nicht so ganz.  :-\


Ich danke im Voraus

LG Chris



Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 15 August 2016, 11:57:03
Als owntracksDevice musst du ein MQTT_DEVICE definieren.
Das muss die passenden Subscriptions haben.
(Siehe Screenshot)


Update: OwnTracks Messaging angepasst auf neue Featured Funktion
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Lowbird am 15 August 2016, 14:18:15
Hallo Markus.

Ich dachte ich hätte dieses bereits getan. Das zweites List zeigt das Device:

Internals:
   CHANGED
   IODev      mqtt
   NAME       owntracks
   NR         135
   STATE      incoming publish received
   TYPE       MQTT_DEVICE
   qos        1
   retain     0
   Readings:
     2016-08-03 14:42:24   transmission-state incoming publish received
   Message_ids:
   Publishsets:
     :
       topic      owntracks/test/iphone
       values:
   Sets:
   subscribe:
     owntracks/test/iphone
   subscribeExpr:
     ^owntracks\/test\/iphone$
   Subscribereadings:
     owntracks/test/iphone .*
Attributes:
   IODev      mqtt
   autoSubscribeReadings owntracks/test/iphone
   event-on-change-reading iphone,iphoneevent
   publishSet owntracks/test/iphone
   qos        at-least-once
   room       Tracking
   stateFormat transmission-state
   subscribeReading_.* owntracks/test/iphone


leider hat es nicht alle deiner beschriebenen Subscriptions.

Habe eigentlich bis jetzt alles immer hinbekommen, aber an dieser Sache beiße ich mir die Zähne aus.

Evtl erbarmt sich jemand und schreibt ein kleines How-to für Dummy´s.  :-[

LG Chris
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 15 August 2016, 14:23:28
Da müsstest du mal beim MQTT Modul anfragen.
Oder du versuchst die Attribute direkt anzulegen


Sent from my iPhone using Tapatalk
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Lowbird am 15 August 2016, 14:25:08
Ich probiere mal sie direkt anzulegen, allerdings habe ich da nicht viel Hoffnung.

Ich werde berichten. Danke für die schnelle Antwort.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kleinerDrache am 17 September 2016, 22:05:37
Cooles Modul.

kommt da eigentlich noch was bezüglich ROOMEMATE und Co. ?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Loredo am 18 September 2016, 10:39:16

Falls Markus da mal wieder drüber nachdenkt:

Es gibt in 20_ROOMMATE.pm und 20_GUEST.pm dafür zwei Funktionen ROOMMATE_SetLocation() und GUEST_SetLocation(), die aus dem 98_livetracking.pm Modul angesprochen werden müssen. Die Erkennung des richtigen ROOMMATE/GUEST Devices über das Attribut r*_geofenceUUIDs muss entsprechend zuvor in 98_livetracking.pm implementiert werden. Beispielcode dafür findet sich in 98_GEOFANCY.pm Zeilen 401-464 und 591-610.




Gruß
Julian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kleinerDrache am 20 September 2016, 11:28:52
Na dann warten wir mal ab ob da noch was kommt. Bin leider selber nicht so bewandert in Programmieren.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 20 September 2016, 13:49:15
Ich benutze die Module nicht, aktuell auch keine Beacons mehr. Ist das dafür?
Wenn jemand einen Patch bastelt baue ich es gerne ein.


Sent from my iPhone using Tapatalk
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kleinerDrache am 21 September 2016, 16:01:28
ich möchte halt gerne den Zonenname aus Owntracks für ROMEMATE nutzen zur Erkennung ob jemand im Bereich einer Zone ist diese betritt oder verlässt um bestimmte Aktionen zu starten. Hab das schon mit den SetLocation Funktionen probiert aber das funkt soweit ich das verstehe nur für EINE Zone.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: hillbicks am 13 Oktober 2016, 15:22:18
Zitat von: kleinerDrache am 21 September 2016, 16:01:28
ich möchte halt gerne den Zonenname aus Owntracks für ROMEMATE nutzen zur Erkennung ob jemand im Bereich einer Zone ist diese betritt oder verlässt um bestimmte Aktionen zu starten. Hab das schon mit den SetLocation Funktionen probiert aber das funkt soweit ich das verstehe nur für EINE Zone.

Genau diese Frage stelle ich mir auch. Die Informationen liegen eigentlich vor, der Name der Zone im livetracking Modul unter place, es fehlt aber das event (enter/leaving). Das event wiederum wird in owntracks gespeichert. Ich werde mir wohl uebergangsweise damit behelfen diese Werte  in einen seperaten dummy zu schreiben, das sollte ja relativ problemlos moeglich sein.

So, mit Hilfe von zwei Userreadings habe ich nun den Ort und das Event als Readings im livetracking drin. Damit kann man dann per DOIF entsprechende Aktionen ausfuehren lassen.

Irgendwas stimmt hier noch nicht.....
So, damit funktioniert es jetzt.
attr owntracks userReadings 6POrt { (split '"',ReadingsVal("owntracks","nexus6pevent",0))[13]}, 6PKommenGehen { (split '"',ReadingsVal("owntracks","nexus6pevent",0))[17]}

Mit den readings kann ich dann jetzt per DOIF Aktionen ausfuehren lassen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 29 Dezember 2016, 11:57:26
Moin,

Ich habe gerade festgestellt, das in der Funktion
sub livetracking_distance($$$)

folgende Zeile 1010 nicht stimmt:
my $round = AttrVal($hash->{NAME}, "roundlivetracking_distance", 0.1);
richtig:
my $round = AttrVal($hash->{NAME}, "roundDistance", 0.1);
Titel: Verständnissfrage über den Aufbau sowie Username/Password
Beitrag von: andreas_n am 15 Januar 2017, 15:44:43
Wenn ich das Ganze richtig verstanden habe, dann wird folgender Aufbau bei Owntracks benötigt.

1.0: Ein MQTT Brocker, der idealerweise im eigenen Heim läuft. (Bei mit auf einer Synology mit User und Password abgesichert)
1.1: Hier senden dann die Handys ihre Positonen mithilfe der App Owntracks
2.0: Auf FHEM wird benötigt:
2.1: MQTT um die Verbindung zum MQTT Brocker herzustellen.
2.2: MQTT_Device um den jeweiligen Nutzer zu ermitteln.
2.3: Das Moudl 90_Lifetracking um die Nutzerdaten weiter zu verarbeiten (z.B. Entfernung von zu Hause)

Fragen:
* Stimmt das?
* Wie und wo werden die Login Daten eingegeben?

Schon mal im Vorraus danke für die Auskunft!!
Titel: Antw:Verständnissfrage über den Aufbau sowie Username/Password
Beitrag von: Markus M. am 15 Januar 2017, 18:41:27
Zitat von: andreas_n am 15 Januar 2017, 15:44:43
* Stimmt das?
* Wie und wo werden die Login Daten eingegeben?

Stimmt genau.
In deiner Mosquitto Config und in der Owntracks App.


Zitat von: stromer-12 am 29 Dezember 2016, 11:57:26
Ich habe gerade festgestellt, das in der Funktion...folgende Zeile 1010 nicht stimmt

Danke, hab die Version im ersten Thread aktualisiert.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: andreas_n am 15 Januar 2017, 21:48:17
OK und danke hierfür. Habe gerade gesehen, das im MQTT_DEVICE eine neue Version im Januar rausgekommen ist. Hier können die Logindaten eingeben werden.

MQTT ist nun OK und erfolgreich mit dem Brocker verbunden.

Bei MQTT_DEVICE benötige ich aber eine laufffähige FHEM-Beispiel-Konfiguration. Glaube sonst komme ich nicht weiter. Es ist doch richtig, dass ich bei Erfolg einige Readings sehen müsste oder?

... und danach kommt das livetracking modul dran.

Gruß Andreas
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 16 Januar 2017, 11:28:09
Die owntracks (MQTT_DEVICE) Attribute für das Telefon mit einem User fhem und einer DeviceID iphone würden so aussehen:

IODev   mqtt
publishSet_cmd   owntracks/fhem/iphone/cmd
publishSet_msg   owntracks/fhem/iphone/msg
qos   at-least-once
subscribeReading_beacon   owntracks/fhem/iphone/beacon
subscribeReading_cmd   owntracks/fhem/iphone/cmd
subscribeReading_dump   owntracks/fhem/iphone/dump
subscribeReading_event   owntracks/fhem/iphone/event
subscribeReading_iphone   owntracks/fhem/iphone
subscribeReading_msg   owntracks/fhem/iphone/msg
subscribeReading_step   owntracks/fhem/iphone/step
subscribeReading_waypoints   owntracks/fhem/iphone/waypoints

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: andreas_n am 16 Januar 2017, 19:13:49
Danke hierfür,

jetzt bekomme ich ein Reading....

handyan
{"_type":"location","tid":"an","acc":42,"batt":67,"conn":"w","doze":false,"lat":53.2427187,"lon":7.3555849,"tst":1484589389} 2017-01-16 18:56:29
transmission-state incoming publish received 2017-01-16 18:56:29


Dann werde ich mich jetzt mal ans livetracking ranmachen. ... und es geht. Ich bekomme 3 Readings
accuracy,battery und location mit (lon,lat)

Nun wäre es ja toll wenn es gelinge die Entfernung von Zuhause zu ermitteln. Hier wäre evt. folgender kurzer Code hilfreich. Würdest Du den wohl einbauen können?
Die ersten beiden Parameter von distance wäre die Zuhauseposition, die beiden anderen die aktuelle Position und unit =K/r M für KM/Meilen.
Denke damit könnte man im nächsten Schritt z.B. WayHome oder Zuhause leicht ermitteln.



sub distance {
        my ($lat1, $lon1, $lat2, $lon2, $unit) = @_;
        my $theta = $lon1 - $lon2;
        my $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
  $dist  = acos($dist);
  $dist = rad2deg($dist);
  $dist = $dist * 60 * 1.1515;
  if ($unit eq "K") {
        $dist = $dist * 1.609344;
  } elsif ($unit eq "N") {
        $dist = $dist * 0.8684;
                }
        return ($dist);
}

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#:::  This function get the arccos function using arctan function   :::
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
sub acos {
        my ($rad) = @_;
        my $ret = atan2(sqrt(1 - $rad**2), $rad);
        return $ret;
}

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#:::  This function converts decimal degrees to radians             :::
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
sub deg2rad {
        my ($deg) = @_;
        return ($deg * $pi / 180);
}

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#:::  This function converts radians to decimal degrees             :::
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
sub rad2deg {
        my ($rad) = @_;
        return ($rad * 180 / $pi);
}



Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 16 Januar 2017, 20:53:11
Zitat von: andreas_n am 16 Januar 2017, 19:13:49
Nun wäre es ja toll wenn es gelinge die Entfernung von Zuhause zu ermitteln. Hier wäre evt. folgender kurzer Code hilfreich. Würdest Du den wohl einbauen können?
Die ersten beiden Parameter von distance wäre die Zuhauseposition, die beiden anderen die aktuelle Position und unit =K/r M für KM/Meilen.
Denke damit könnte man im nächsten Schritt z.B. WayHome oder Zuhause leicht ermitteln.

Bitte den ersten Beitrag nochmal aufmerksam lesen, Attribute home und roundDistance
Für die Meilen kannst du dir ein Userreading anlegen wenn es unbedingt sein muss, in meinen Code kommen mir nur SI Einheiten ;D


P.S.: Hab dir grade noch ein Reading für den Doze Mode deines Android Telefons eingebaut.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: andreas_n am 19 Januar 2017, 17:57:30
Danke!

Habe jetzt folgende Konfiguration und Aufbau.
1.0: Mosquitto (MQTT) auf einer Synlogy NAS
1.2: Darauf melden zwei OwnCloud Apps (Android) ihre aktuelle Position.
2.0: Auf dem FHEM wurde MQTT installiert um den Zugang zur Synlogy herzustellen
2.1: Auf dem FHEM wurde 2 x MQTT_DEVICE installiert mit IODev auf den MQTT Namen
3.0: Auf dem FHEM wurde 2 x Lifetacking installiert mit NOTIFYDEV auf den jeweiligen MQTT_DEVICE
3.1: Lifetracking gibt die Enfernung der jeweiligen Handys von Zuhause aus an.
4.0: Über DOIF wird dar HomeStatus Home oder Absent gesetzt.

Mal sehen was ein Langzeit-Test macht.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 25 Januar 2017, 16:25:20
ZitatHabe jetzt folgende Konfiguration und Aufbau.

Ich bin auch gerade dabei das bei mir aufzusetzen und stehe etwas auf dem Schlauch...

1. Mosquitto ist auf dem RAspi installiert und läuft
2. MQTT ist angelegt
3. MQTT_Device ist angelegt und IODev auf MQTT gestezt
4. Livetracking Device ist angelegt.

Ok habs jetzt auch am Laufen. War zwar etwas tricky aber dafür sogar mit Letsencrypt Zertifikat...
Danke an Markus für die gute Arbeit!

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 29 Januar 2017, 17:42:38
ZitatDie Readings:
...
- place: Ort des letzten Swarm Checkins oder Name der OwnTracks Zone
...

Hallo,
ich habe soweit alles am Laufen. Was mir allerdings fehlt ist das "place" Reading im livetracking Device:

Readings:
     2017-01-29 16:54:51   accuracy        65 m
     2017-01-29 16:54:51   altitude        155 m
     2017-01-29 16:54:51   battery         69 %
     2017-01-29 16:54:51   distance        0.1 km
     2017-01-29 14:18:23   heading         147 deg
     2017-01-29 16:54:51   id              SE
     2017-01-29 16:54:51   location        50.1234567890,8.1234567890
     2017-01-29 14:18:23   velocity        0 km/h


Die in der OwnTracks App angelegten Zonen sind mit

attr tracking zonename_0 zuhause
attr tracking zonename_1 buero-ko


mit gleichem Namen im livetracking Device definiert. Wo liegt hier das Problem?

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 30 Januar 2017, 17:39:08
Zitat von: binford6000 am 29 Januar 2017, 17:42:38
Hallo,
ich habe soweit alles am Laufen. Was mir allerdings fehlt ist das "place" Reading im livetracking Device:
Wo liegt hier das Problem?

Weiss ich nicht. Bei mir funktioniert das einwandfrei.
Wenn über MQTT ein Type transition mit Event enter samt desc ankommt, wird diese Beschreibung als place eingetragen.
Lass dein livetracking Device doch mal mit verbose 5 laufen und schau nach was ankommt, wenn du eine Zone betrittst.

Die zonename_n Attribute sind nur für die Zuweisung der Readings zone_n mit Status in-/active.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 30 Januar 2017, 19:38:19
ZitatWenn über MQTT ein Type transition mit Event enter samt desc ankommt, wird diese Beschreibung als place eingetragen.

Hallo Markus,
beim letzten Verlassen einer Zone habe ich alles schön im Event drin stehen:
{"t":"c","tst":1485779035,"acc":5,"_type":"transition","event":"leave","lon":7.555246411189285,"lat":50.38988054339066,"wtst":1485497362,"tid":"SE","desc":"buero-ko"}

Sollte also eigentlich funktionieren oder?!
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 30 Januar 2017, 20:08:13
Zitat von: binford6000 am 30 Januar 2017, 19:38:19beim letzten Verlassen einer Zone habe ich alles schön im Event drin stehen:
Sollte also eigentlich funktionieren oder?!

Wenn enter auch passt dann ja.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 31 Januar 2017, 08:39:22
ZitatWenn enter auch passt dann ja.

Guten Morgen Markus,
auch bei enter wird der Zonenname mitgegeben. Dennoch erscheint kein place Reading...

{"t":"c","tst":1485847321,"acc":50,"_type":"transition","event":"enter","lon":9.708238430330258,"lat":52.44234764953371,"wtst":1485805987,"tid":"SE","desc":"km"}

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 31 Januar 2017, 09:11:10
Hallo Sebastian,

Zitat von: binford6000 am 31 Januar 2017, 08:39:22
Guten Morgen Markus,
auch bei enter wird der Zonenname mitgegeben. Dennoch erscheint kein place Reading...

{"t":"c","tst":1485847321,"acc":50,"_type":"transition","event":"enter","lon":9.708238430330258,"lat":52.44234764953371,"wtst":1485805987,"tid":"SE","desc":"km"}

Nutzt du Android oder hast du ein Ipone?
Bei mir kommen die transition Meldungen überhaut nicht.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 31 Januar 2017, 10:34:47
ZitatNutzt du Android oder hast du ein Ipone?

Hallo Klaus,
ich nutze ein iPhone mit OwnTracks.
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 31 Januar 2017, 12:04:47
Hi Sebastian,

Zitat von: binford6000 am 31 Januar 2017, 10:34:47
Hallo Klaus,
ich nutze ein iPhone mit OwnTracks.
VG Sebastian

danke!
Scheinbar ist der Funktionsumfang von Android und Iphone Version unterschiedlich ... gut dann muss ich nicht weiter nach dem Fehler suchen ;)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 31 Januar 2017, 12:30:42
ZitatScheinbar ist der Funktionsumfang von Android und Iphone Version unterschiedlich ...

Hast Du denn in den Einstellungen der Regions "Share" aktiviert? Nur dann wird ein enter/leave auch
von OwnTracks gemeldet...

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 31 Januar 2017, 14:11:52
Zitat von: binford6000 am 31 Januar 2017, 08:39:22
Guten Morgen Markus,
auch bei enter wird der Zonenname mitgegeben. Dennoch erscheint kein place Reading...
{"t":"c","tst":1485847321,"acc":50,"_type":"transition","event":"enter","lon":9.708238430330258,"lat":52.44234764953371,"wtst":1485805987,"tid":"SE","desc":"km"}

Damit solltest du in place "km" stehen haben.
Ist das der Debug Output vom livetracking Device? Wird für das event Reading ein FHEM Event erzeugt?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 31 Januar 2017, 15:52:01
Zitat von: binford6000 am 31 Januar 2017, 12:30:42
Hast Du denn in den Einstellungen der Regions "Share" aktiviert? Nur dann wird ein enter/leave auch
von OwnTracks gemeldet...

Jop, habe ich.
Leider wird trotzdem nix gesendet
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 31 Januar 2017, 15:54:35
Du brauchst auch die Subscriptions auf FHEM Seite.
Was Android kann sollte im Owntracks Booklet stehen.


Sent from my iPhone using Tapatalk
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 31 Januar 2017, 16:31:09
meinst du das Attribut zonename?
Abboniert habe ich es ja, die Positionsdaten kommen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 31 Januar 2017, 17:26:45
ZitatWenn über MQTT ein Type transition mit Event enter samt desc ankommt, wird diese Beschreibung als place eingetragen.

Ich habe bei mir den Fehler gefunden! Im MQTT_DEVICE hatte ich hier

attr mqtt_device event-on-change-reading iphone,event

das Komma zwischen iphone und event vergessen...
Und schwupps, erscheint auch das place-Reading in livetracking!

Readings:
     2017-01-31 16:51:44   accuracy        30 m
     2017-01-31 16:51:44   altitude        55 m
     2017-01-31 16:51:44   battery         100 %
     2017-01-31 16:51:44   distance        265 km
     2017-01-31 16:51:44   heading         294 deg
     2017-01-31 16:51:44   id              SE
     2017-01-31 16:51:44   location        52.4592724722367,9.70591471531401
     2017-01-31 16:51:44   place           hotel
     2017-01-31 16:51:44   velocity        59 km/h


Trotzdem Danke Markus, du hast mich auf die richtige Spur gebracht!

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 31 Januar 2017, 21:49:56
Hallo Zusammen,
ich habe mittlerweile alles am Laufen und möchte hier mal meine Konfiguration teilen.
Vielleicht hilft es ja dem Einen oder Anderen weiter...

/etc/mosquitto/mosquitto.conf (hier mit letsencrypt Zertifikaten):

pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_timestamp true
password_file /etc/mosquitto/passwd
autosave_interval 60
connection_messages true
log_dest stderr
log_dest topic
log_type error
log_type warning
log_type notice
log_type information
log_type all
log_type debug
log_timestamp true
listener 1883 127.0.0.1
listener 8883
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
cafile  /etc/letsencrypt/live/<server name>/chain.pem
certfile /etc/letsencrypt/live/<server name>/fullchain.pem
keyfile /etc/letsencrypt/live/<server name>/privkey.pem


FHEM Definitionen:

define mosquitto MQTT 127.0.0.1:1883
attr mosquitto keep-alive 60

define owntracks MQTT_DEVICE
attr owntracks IODev mosquitto
attr owntracks event-on-change-reading iphone,event
attr owntracks publishSet_cmd owntracks/fhem/iphone/cmd
attr owntracks publishSet_msg owntracks/fhem/iphone/msg
attr owntracks qos at-least-once
attr owntracks stateFormat position
attr owntracks subscribeReading_beacon owntracks/fhem/iphone/beacon
attr owntracks subscribeReading_cmd owntracks/fhem/iphone/cmd
attr owntracks subscribeReading_dump owntracks/fhem/iphone/dump
attr owntracks subscribeReading_event owntracks/fhem/iphone/event
attr owntracks subscribeReading_iphone owntracks/fhem/iphone
attr owntracks subscribeReading_msg owntracks/fhem/iphone/msg
attr owntracks subscribeReading_step owntracks/fhem/iphone/step
attr owntracks subscribeReading_waypoints owntracks/fhem/iphone/waypoints

define livetracking livetracking
attr livetracking filterAccuracy 400
attr livetracking home 50.0123456789,8.0123456789
attr livetracking owntracksDevice owntracks
attr livetracking roundAltitude 5
attr livetracking roundDistance 0.1
attr livetracking stateFormat location


Zum besseren Verständnis hier noch einige Erklärungen am Bsp. von subscribeReading_event owntracks/fhem/iphone/event:

owntracks = MQTT_DEVICE
fhem = User aus /etc/mosquitto/passwd, wird zusammen mit dessen Passwort in der OwnTracks App eingetragen (siehe Foto)
iphone = Gerätename in der OwnTracks App

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 01 Februar 2017, 21:17:16
Zitat von: binford6000 am 31 Januar 2017, 21:49:56
Hallo Zusammen,
ich habe mittlerweile alles am Laufen und möchte hier mal meine Konfiguration teilen.
Vielleicht hilf es ja dem Einen oder Anderen weiter...

mit z.B.
ich hatte komplett übersehen, das es suptopics gibt
jetzt funktioniert es
Danke
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: ih-sqeezer am 17 Oktober 2017, 10:32:11
Hallo zusammen,

es ist zwar hier schon etwas her, dass etwas gepostet wurde ... ich versuche es dennoch mal.
Und zwar habe ich seit einiger Zeit ein MQTT broker in fhem am Laufen und lass vom Smartphone via owntracks meinen aktuellen Standort monitoren.
Nun habe ich hier im Forum gelesen, dass dieses Modul 98_livetracking aus den events das "enter / leave" mit auslesen kann. Im MQTT broker kommen diese events auch an. Jedoch bekomme ich diese Information nicht mit den Readings im definierten device livetracking mit angezeigt.

Wie kann ich diese events als Reading bekommen?

Danke und viele Grüße,
Ingo
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 17 Oktober 2017, 14:13:33
Zitat von: ih-sqeezer am 17 Oktober 2017, 10:32:11
Wie kann ich diese events als Reading bekommen?

Indem du die Namen deiner zu beobachtenden Zonen über die Attribute zonename_N festlegst.
Dann hast du dafür jeweils ein Reading.
Analog gibt es auch noch beacon_N für die UUIDS von iBeacons.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: ih-sqeezer am 17 Oktober 2017, 22:06:47
Hallo Markus,

dies habe ich so definiert, jedoch bekomme ich für die Zone jeweils nur ein active/inactive. Ich habe jedoch angenommen, dass es ein weiteres Reading gibt vom event, sprich enter/leave!?

Im Anhang habe ich dir mal meine config angefügt.

Grüße,
Ingo
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 17 Oktober 2017, 22:54:43
Zitat von: ih-sqeezer am 17 Oktober 2017, 22:06:47dies habe ich so definiert, jedoch bekomme ich für die Zone jeweils nur ein active/inactive. Ich habe jedoch angenommen, dass es ein weiteres Reading gibt vom event, sprich enter/leave!?
Wozu? active/inactive entspricht enter/leave.
Und das Event bekommst du vorher nochmal von mqtt.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: ih-sqeezer am 18 Oktober 2017, 10:44:23
Hallo Markus,

vielen Dank für deine schnelle Antwort.
Dann muss ich jedoch grundlegend erstmal fragen ... bei meinen Readings erscheinen jedoch bei den drei angelegten Zonen nicht immer nur ein "active". Manchmal sind auch zwei Zonen aktiv. Also gehe ich erstmal richtig davon aus, dass diese zone_X Readings das Aufhalten in der Zone beschreibt?! Demnach sollten doch aber dann alle Zonen inactive sein, sofern ich mich in keiner der drei Zonen befinde, richtig? Dies ist jedoch bei mir nicht der Fall. Eine Zone ist mindestens immer active. Dann kann es vlt noch sein, dass die Standortmitteilung vom Smartphone nicht immer korrekt beim broker MQTT Broker ankommt. Ansonsten würde ich erwarten, dass wenn ich eine andere Zone erreiche, die anderen beiden auf inactive gesetzt werden. Dies ist demnach aber nicht so. Hier fehlt einfach der Trigger, da eventuell eine Standortmitteilung nicht korrekt ankam am Broker.

Desweiteren bin ich noch nicht ganz schlau daraus geworden, wie das Livetracking Modul meinem rr_Ingo die location "underway" mitteilen kann, sodass der state von rr_Ingo auf absent gesetzt wird, sobald ich die home Zone verlasse. Wie hast du das bei dir realisiert?

Danke und Grüße,
Ingo
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 18 Oktober 2017, 14:37:28
OwnTracks ist leider nicht immer sehr zuverlässig, was die Zonen angeht. Schon mal nachgesehen was die App anzeigt?
MQTT ist dann noch ein Punkt an dem was verloren gehen kann, da leider nur enter/leave gesendet wird, kein Status.

Ich verwende keine Zonen für die Anwesenheit, nur Sensoren.
Aber du könntest ein Notify sowohl auf leave in der Home Zone als auch enter in einer anderen Zone triggern, ebenso wie mit der Entfernung.
Ob das dann von den Daten her auch funktioniert, ist eine andere Sache.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 19 Oktober 2017, 15:05:19
ZitatDesweiteren bin ich noch nicht ganz schlau daraus geworden, wie das Livetracking Modul meinem rr_Ingo die location "underway" mitteilen kann, sodass der state von rr_Ingo auf absent gesetzt wird, sobald ich die home Zone verlasse. Wie hast du das bei dir realisiert?

Hallo Ingo,
ich mache das mit einem DOIF (in Kurzfassung):
(["<owntracks-device>:enter"]) (set <ROOMATE> location [<livetracking-device>:place]) DOELSEIF (["<owntracks-device>:leave"]) (set <ROOMATE> location underway)
In [<livetracking-device>:place] steht der Name der definierten Zone aus der Owntracks-App drin.
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: ih-sqeezer am 20 Oktober 2017, 22:16:44
Hi Sebastian,

coole Idee mit der Kombination aus MQTT und Livetracking device. Habe ich mal bei mir so eingebaut. Die kommenden Tage sollten zeigen, ob es zuverlässig funktioniert.

Danke für den Ansatz. Ich wünsche dir ein schönes Wochenende!

Viele Grüße,
Ingo
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rohlande am 03 November 2017, 10:51:59
Hallo Experten,

Vielen Dank für das Tolle Modul.
Habe es auch geschafft die Maps einzubinden.@Markus: DANKE!!!!!
Verwende owntracks auf Android.
Ist scheinbar ab und zu etwas hackelig aber im Großen und Ganzen für meine Zwecke genau das was ich gesucht habe.

Ziel: --> automatisiertes abrufen von Bildern der Verkehrskameras und via Telegram an das Handy senden. Verwendet wird dazu die place / event Funktion.
Weiter so Jungs. Das ist echt ein super Forum.

Kann mir jemand sagen wie ich die Geschwindigkeit noch als Reading erhalte?

VG Denny

Internals:
   NAME       htcone_trck
   NOTIFYDEV  owntracks_htcone
   NR         547
   NTFY_ORDER 999-htcone_trck
   STATE      Initialized
   TYPE       livetracking
   READINGS:
     2017-11-03 10:34:30   accuracy        98 m
     2017-11-03 10:34:30   battery         33 %
     2017-11-03 10:34:30   distance        3.1 km
     2017-11-03 10:34:30   id              mi
     2017-11-03 10:34:30   location        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     2017-11-03 07:59:54   place           Buero
     2017-11-03 07:38:44   zone_0          inactive
     2017-11-03 07:59:54   zone_1          active
   helper:
Attributes:
   filterAccuracy 400
   home        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
   interval   60
   owntracksDevice owntracks_htcone
   room       MQTT
   roundAltitude 5
   roundDistance 0.1
   stateFormat location
   zonename_0 Home
   zonename_1 Buero

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Fixel2012 am 06 November 2017, 01:45:40
Hallo zusammen,

ich habe mir fast den ganzen Thread durchgelesen, verstehe allerdings nicht, was ich nun anlegen muss, um Owntracks nutzen zu können.  :-[

Deshalb hier ein paar vielleicht dumme Fragen:  ???

Läuft das ganze über einen Privaten MQQT Server, sprich Fhem (also muss auch PortForwarding vorhanden sein?), oder wird meine Geo Position von den Servern von Owntracks abgefragt?

Wie lautet der/die genaue Befehl um die Daten meines Telefon in Fhem zu bekommen?

Habe bisher noch nie etwas mit MQTT gemacht und bräuchte da ein wenig Hilfe  ;D

Danke,

Fixel
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 06 November 2017, 17:33:19
Zitat von: Fixel2012 am 06 November 2017, 01:45:40
Hallo zusammen,

ich habe mir fast den ganzen Thread durchgelesen, verstehe allerdings nicht, was ich nun anlegen muss, um Owntracks nutzen zu können.  :-[

Deshalb hier ein paar vielleicht dumme Fragen:  ???

Läuft das ganze über einen Privaten MQQT Server, sprich Fhem (also muss auch PortForwarding vorhanden sein?), oder wird meine Geo Position von den Servern von Owntracks abgefragt?

Wie lautet der/die genaue Befehl um die Daten meines Telefon in Fhem zu bekommen?

Habe bisher noch nie etwas mit MQTT gemacht und bräuchte da ein wenig Hilfe  ;D

Hast du bis Antwort #137 gelesen?  8)

Du kannst sowohl einen öffentlichen als auch einen eigenen MQTT Server verwenden.
Auf einen Raspberry kannst du Mosquitto als privaten MQTT Server installieren. Der Port muss von aussen erreichbar sein.
Die Einstellungen hat binford6000 in besagter Antwort alle aufgelistet.

Das BasisTopic "owntracks/fhem/iphone" (kannst du natürlich auch anders nennen) muss identisch in der Owntracks App eingetragen werden.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 07 November 2017, 11:34:59
Zitat von: klausw am 06 November 2017, 00:44:47
Hallo Markus,

ich habe mir erlaubt in Dein Modul die Unterstützung für 20_ROOMMATE.pm und 20_GUEST.pm in Verbindung mit Owntracks einzubauen.
Wenn in einem dieser Module im Attribut rr_geofenceUUIDs der Name eines livetracking defines angegeben ist, wird dieses für die present/absent Umschaltung verwendet.
Dazu muss ein entsprechender zonename_x = "home"
oder das Attribut rr_locationHome 20_ROOMMATE.pm oder 20_GUEST.pm dem Namen von zonename_x entsprechen.

Vielleicht gibt es Interessenten dafür.

Das ganze möchte ich alternativ noch über "distance" einbauen, das man auf die Zonen verzichten kann, aber da fehlt mir noch die rechte Idee.
Hallo Klaus,
tolle Idee! Das ist quasi der Missing Link  ;)
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rohlande am 07 November 2017, 19:59:36
Hallo Klaus,

auch von mir DANKESCHÖN!
Da ich noch am testen bin ob owntracks die richtige APP für mich ist warte ich noch etwas damit.
Im Moment hackt es noch etwas mit der Zuverlässigkeit und der Latenz.
Aber die Idee ist echt Super.

VG Denny
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: inesa394 am 09 November 2017, 10:32:46
Hallo rohlande
Wie hast du das mit place/event mit Telegram realisiert
klingt interessant für mich würde ich auch gern bei mir
haben wollen...
Ines
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rohlande am 09 November 2017, 14:58:53
Meinst Du die Notify Struktur oder livetracking Modul (Owntracks) Setup??

ich trigger einfach auf das "zone_...." active/inactive des jeweiligen livetracking Devices.
Zuvor habe ich am Handy im Owntracks dei Zone eingerichtet.
Wenn ich nun diese betrete, dann wird ein Bild abgerufen von einer Kamera und via Telegram auf das Handy gesendet.
Das spart mir den nervigen Stau und die unzuverlässigen Navigations Infos. Zusätzlich erhalte ich die Möglichkeit zu entscheiden ob ich den STAU umfahren oder hindurchfahren möchte.


VG Denny

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 09 November 2017, 23:42:40
Hallo Markus,

ich habe mir erlaubt in Dein Modul die Unterstützung für 20_ROOMMATE.pm und 20_GUEST.pm in Verbindung mit Owntracks einzubauen.
Wenn in einem dieser Module im Attribut rr_geofenceUUIDs der Name eines livetracking defines angegeben ist, wird dieses für die die readings presence, location* und wayhome in diesen Modulen verwendet verwendet.

Dazu muss ein entsprechender zonename_x = "home"
oder das Attribut r*_locationHome 20_ROOMMATE.pm oder 20_GUEST.pm dem Namen von zonename_x entsprechen.

Alternativ kann dies auch über die Attribute homeradius und wayhomeradius gelöst werden.

Vielleicht gibt es Interessenten dafür.

Die commandref habe ich auch mal (hoffentlich vollständig und fehlerfrei) angefügt
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 10 November 2017, 09:23:52
Moin Klaus,
wann wird die sub livetracking_residents($$$) {...}
zur Erkennung der ROOMMATE/GUEST devices durchgeführt?
Ich bekomme keinen Logeintrag: "Found matching UUID at $restype device $gdev"
Verbose steht schon auf 5.
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 10 November 2017, 12:48:20
Zitat von: binford6000 am 10 November 2017, 09:23:52
wann wird die sub livetracking_residents($$$) {...}
zur Erkennung der ROOMMATE/GUEST devices durchgeführt?
Ich bekomme keinen Logeintrag: "Found matching UUID at $restype device $gdev"
Verbose steht schon auf 5.

Die sub wird jedes mal aufgerufen, wenn neue Daten vom MQTT_DEVICE kommen (quasi die Readings akrualisiert werden).
Zeile ist 854

bekommst du denn:"livetracking $name: Checking rr_geofenceUUIDs for $gdev"
angezeigt?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 10 November 2017, 16:02:02
Zitatbekommst du denn:
Code: [Auswählen]
"livetracking $name: Checking rr_geofenceUUIDs for $gdev"
angezeigt?
Nee leider nicht. Bekomme nur die "normalen" Logs beim Eintreffen in einer Zone:
2017.11.10 15:36:55 4: livetracking OwnTracks: 2017-11-10 15:36:54  {"t":"c","tst":1510324614,"acc":65,"_type":"transition","event":"enter","lon":8.00...,"lat":50.00...,"wtst":1498485049,"tid":"SE","desc":"home"}
2017.11.10 15:36:55 4: livetracking OwnTracks: 2017-11-10 15:36:54  {"batt":47,"lon":8.00...,"acc":65,"vac":10,"lat":50.00...,"t":"c","_cp":1,"conn":"m","tst":1510324614,"alt":162,"_type":"location","tid":"SE"}

Hier noch ein List vom Guest und livetracking:
Internals:
   CHANGED
   NAME       livetracking
   NOTIFYDEV  owntracks
   NR         111
   NTFY_ORDER 999-livetracking
   STATE      home
   TYPE       livetracking
   READINGS:
     2017-11-10 15:36:54   accuracy        65 m
     2017-11-10 15:36:54   altitude        160 m
     2017-11-10 15:36:54   battery         47 %
     2017-11-10 15:36:54   distance        0.1 km
     2017-11-10 07:43:48   heading         277 deg
     2017-11-10 15:36:54   id              SE
     2017-11-10 15:36:54   location        50.00,8.00
     2017-11-10 15:36:54   place           home
     2017-11-10 07:43:48   velocity        47 km/h
     2017-11-10 15:36:54   zone_0          active
   helper:
     lastOwnTracks 1510324614
Attributes:
   alias      Livetracking Device
   filterAccuracy 400
   group      Standort
   home       50.00,8.00
   icon       location
   owntracksDevice owntracks
   room       91_Webdevices
   roundAltitude 5
   roundDistance 0.1
   stateFormat place
   verbose    5
   wayhomeradius 100
   zonename_0 home


Internals:
   AUTOGONE   1510358297
   DURATIONTIMER 1510325997.01099
   NAME       rg_Gast
   NOTIFYDEV  global,
   NR         140
   NTFY_ORDER 50-rg_Gast
   READY      1
   STATE      abwesend
   TYPE       GUEST
   READINGS:
     2017-11-10 15:58:57   durTimerAbsence 346:41:21
     2017-11-10 15:58:57   durTimerAbsence_cr 20801
     2017-10-27 06:17:36   durTimerPresence 00:00:00
     2017-10-27 06:17:36   durTimerPresence_cr 0
     2017-10-27 06:16:09   durTimerSleep   00:00:00
     2017-10-27 06:16:09   durTimerSleep_cr 0
     2017-10-27 06:17:36   lastArrival     -
     2017-10-27 06:17:36   lastAwake       -
     2017-10-27 06:17:36   lastDeparture   2017-10-27 06:17:36
     2017-10-27 06:17:36   lastDurAbsence  -
     2017-10-26 19:28:03   lastDurAbsence_cr 7756
     2017-10-27 06:17:36   lastDurPresence 10:49:33
     2017-10-27 06:17:36   lastDurPresence_cr 650
     2017-10-27 06:17:36   lastDurSleep    -
     2017-10-27 06:16:09   lastDurSleep_cr 458
     2017-10-27 06:17:36   lastLocation    -
     2017-10-27 06:17:36   lastMood        -
     2017-10-27 06:17:36   lastSleep       -
     2017-11-10 08:58:17   lastState       none
     2017-10-27 06:17:36   location        -
     2017-10-27 06:17:36   mood            -
     2017-10-27 06:17:36   presence        absent
     2017-11-10 08:58:17   state           absent
     2017-10-14 19:31:47   wayhome         0
   TIMER:
     rg_Gast_AutoGone:
       HASH       rg_Gast
       MODIFIER   AutoGone
       NAME       rg_Gast_AutoGone
     rg_Gast_DurationTimer:
       HASH       rg_Gast
       MODIFIER   DurationTimer
       NAME       rg_Gast_DurationTimer
Attributes:
   alias      Gast
   eventMap   home:zuhause absent:abwesend gone:verreist gotosleep:bettfertig asleep:schläft awoken:aufgestanden
   group      Guests
   icon       scene_visit_guests
   rg_geofenceUUIDs livetracking
   rg_lang    DE
   rg_realname alias
   room       01_Wohnung,02_Tablet
   sortby     1
   webCmd     state
   widgetOverride state:zuhause,bettfertig,schläft,aufgestanden,abwesend,verreist

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 10 November 2017, 19:44:29
mein Fehler
derzeit geht es nur mit ROOMMATE devices
Ich habe eine Kleinigkeit übersehen.

Zeile 868 ersetzen:
    foreach my $gdev ( devspec2array("rr_geofenceUUIDs=.+,rg_geofenceUUIDs=.+") ) {

dann klappts auch mit dem Gast
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: inesa394 am 11 November 2017, 01:41:09
Hallo
Mich würde interessieren wie du das mit den Bildern abrufen bewerkstelligst (code) und sie dann  per Telegram versendest.

Danke Ines
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 11 November 2017, 10:17:11
Zitatdann klappts auch mit dem Gast
Moin Klaus, das mit dem Gast klappt bei mir noch nicht. Ich habe die Zeile geändert aber immer noch kein Matching:
2017.11.11 10:02:47 5: livetracking livetracking: Checking rr_geofenceUUIDs for rr_Antonia
2017.11.11 10:02:47 4: livetracking livetracking: Found matching UUID at ROOMMATE device rr_Antonia
2017.11.11 10:08:26 5: livetracking livetracking: Checking rr_geofenceUUIDs for rg_Gast

Obwohl in den INTERNALS ein GUEST aufgeführt wird, genauso wie der funktionierende ROOMMATE.
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 11 November 2017, 19:28:31
nochwas vergessen
jetzt habe ich selbst mal mit GUEST getestet....
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 12 November 2017, 10:59:58
Zitatnochwas vergessen
jetzt habe ich selbst mal mit GUEST getestet....
Probiere es nachher mal aus. ROOMMATE funktioniert aber schon mal bestens!

EDIT: Sehr gut, jetzt macht auch der Gast was er soll. Danke!

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rohlande am 16 November 2017, 08:12:01
@inesa394: notify Struktur für Telegram erstellen, welche die Bilder holt und versendet.
Als Trigger dafür die "event" aus Livetracking verwenden.
hier das notify:

bbdtek_trck:zone_0.* {
    if ("$EVENT" eq "active") {
system("wget -U mozilla --referer='http://verkehr.rlp.de/syncdata/cam/810/thumb_640x480.jpg?' 'http://verkehr.rlp.de/syncdata/cam/810/thumb_640x480.jpg?' -O /media/public/Snapshots/A65_Dorschberg_aktuell.jpg");
    fhem ("set teleBot1 _msg \@XXXXXXXXX A65 --> KA [AS Wörth-Dorschberg]");
fhem ("set teleBot1 sendPhoto \@bbfhem /media/public/Snapshots/A65_Dorschberg_aktuell.jpg");
}
}


Ich muss aber dazu sagen, dass ich von Owntracks im Moment nicht so viel halte, da es unzuverlässig ist. Damit meine ich konkret, dass die "event" auf Basis der Zonen (Radius = 300 m) nicht sauber bei FHEM ankommen. Somit ist die gesamte Struktur instabil und wenig zuverlässig.
Vielleicht haben die Experten hier einen hilfreichen Trick auf Lager.

Kennt eigentlich jemand den genauen Unterschied zwischen der Owntracks ANDROID APP vs. Iphone APP?????
Ich habe das Gefühl die Iphone APP läuft zuverlässiger!

VG Denny
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 16 November 2017, 15:49:38
ZitatIch habe das Gefühl die Iphone APP läuft zuverlässiger!
Ich nutze owntracks auf meinem iPhone und habe im Moment 10 Zonen definiert wovon 5  fast täglich und regelmäßig aufgesucht werden.
Ich würde mal schätzen, dass von hochgerechnet etwa 100 Zonen-Events in der Woche 2 nicht ankommen.
Und diese beiden Events würde ich eher auf Verbindungsprobleme zurück führen als auf die iPhone-App oder meinen owntracks Server.
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 16 November 2017, 18:29:24
Bei meinen Android habe ich mir einen Flow in Automagic erstellt, welcher Owntracks ersetzt, da mir Owntracks zuviel Batterieleistung gezogen hat.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rohlande am 17 November 2017, 14:46:41
ZitatIch nutze owntracks auf meinem iPhone und habe im Moment 10 Zonen definiert wovon 5  fast täglich und regelmäßig aufgesucht werden.
Ich würde mal schätzen, dass von hochgerechnet etwa 100 Zonen-Events in der Woche 2 nicht ankommen.
Und diese beiden Events würde ich eher auf Verbindungsprobleme zurück führen als auf die iPhone-App oder meinen owntracks Server.
VG Sebastian

Und mit welchem Radius arbeitest Du da so? Wenn ich mir überlege Autobahn GPS Koordinaten zu verwenden bin ich bei 120 km/h doch recht dynamisch. Habe das Gefühl das damit Owntracks Probleme hat, wenn ich hier z.B mit 300 m arbeite pro Zone!

Achso wie sollte das "filterAccuracy" eingestellt sein bei dieser Dynamik??

Vg Denny
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 17 November 2017, 18:41:04
Hallo Denny,
meine Zonenradien sind von 60m (zu Hause) bis 800m (großes Firmengelände) klein/groß.
Die filterAccuracy habe ich nie geändert und steht auf 400m.
ZitatWenn ich mir überlege Autobahn GPS Koordinaten zu verwenden bin ich bei 120 km/h doch recht dynamisch.
Da würde ich dann auch etwas größere Radien verwenden.
Meine Zonen sind alle innerhalb geschlossener Ortschaften und damit deutlich langsamer zu betreten.

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: ih-sqeezer am 20 November 2017, 19:57:23
Hallo zusammen,

ich habe mal das livetracking Modul (MQTT) mit den ROOMMATES via "rr_geofenceUUIDs" eingebaut.
Das funktioniert super, danke für die tolle Arbeit!

Das log sieht dann in etwa so aus:

livetracking LivetrackingIngo: location = home enter
livetracking LivetrackingIngo: location = home leave

Mein Problem beim Verlassen der HomeZone jedoch die location vom ROOMMATE auf "home" gesetzt wird.
Die sollte meiner Meinung nach eher "underway" heißen.

Oder irre ich mich da?

Ich bin darauf gekommen, da ich nebenbei noch das geofence (EgiGeoZone) am Laufen habe und dies mal mit dem MQTT bezüglich performance vergleichen wollte.
Zu diesem Thema kann ich nur sagen, dass MQTT (alles auf eigenem RPI3) immer deutlich langsamer reagiert als das von mir schon lange benutzte EgiGeoZone. Dieses stellt mir nämlich beim Verlassen der HomeZone die ROOMMATE location auf "underway" und über das MQTT / livetracking wird es wieder auf "home" gesetzt, obwohl ich noch immer unterwegs bin.

Danke und beste Grüße,
Ingo
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 26 November 2017, 21:32:07
Hallo Ingo,

nutzt du die Geofences dafür?
In dem Fall werden eigentlich nur die Namen des jeweiligen Bereichs durchgeleitet und ob es sich um einen Eintritt handelt oder nicht.

Bei mir kommt bei Eintritt in home "home" und beim verlassen "underway"
Gibt das Log etwas her?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 01 Dezember 2017, 23:49:56
Zitat von: rohlande am 16 November 2017, 08:12:01Kennt eigentlich jemand den genauen Unterschied zwischen der Owntracks ANDROID APP vs. Iphone APP?????
Das iPhone hat intern Zonen und sendet davon ausgehend Events an Apps.
Plus ich habe Christoph bereits mit einigen Bugs bombardiert um die Zuverlässigkeit von Zonen auf iOS zu erhöhen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: ThomasMagnum am 24 Dezember 2017, 12:35:46
Hallo zusammen,

ich habe mich gestern mal mit OwnTracks beschäftigt. Dank der ganzen Hinweise hier im Thread hat auch die Einrichtung aller notwendigen Devices gut geklappt.
Zwei Fragen sind bei mir nun noch offen.

1. Die Visualiesierung aus "https://forum.fhem.de/index.php/topic,37412.msg432816.html#msg432816 (https://forum.fhem.de/index.php/topic,37412.msg432816.html#msg432816)" würde mir gut gefallen, allerdings nutze ich als Log Device FileLog. Kann mir hier evtl. jemand helfen und sagen wo ich was umstellen muss? Ich bin hier leider total überfordert. Mir würde es auch genügen wenn nur der aktuelle Standort angezeigt würde, da es ja scheinbar nicht geht den Verlauf auf OpenStreetMap darzustellen. Ich möchte halt keinen Google API Key verwenden. Evtl kann man hioer ja auch "openrouteservice.org" nutzen.

2. Ich würde meinen letzten Standort gerne als eigenes Reading in der folgenden Form erzeugen: http://www.openstreetmap.org/?mlat=52.51858&mlon=13.37603&zoom=15&layers=M (siehe: http://wiki.openstreetmap.org/wiki/DE:OSM-map_as_link (http://wiki.openstreetmap.org/wiki/DE:OSM-map_as_link)). Hier weiß ich leider nicht wie ich das Reading "location" aufteilen kann um einen entsprechenden Link zu erzeugen. Auch hier würde ich mich über Hinweise freuen.

Vielen Dank für dieses Modul.

Ich wünsche allen zusammen ein schönes Weihnachtfest!

Gruß, Thomas
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: wmr72 am 25 Januar 2018, 10:04:22
Zitat von: ThomasMagnum am 24 Dezember 2017, 12:35:46
2. Ich würde meinen letzten Standort gerne als eigenes Reading in der folgenden Form erzeugen: http://www.openstreetmap.org/?mlat=52.51858&mlon=13.37603&zoom=15&layers=M (siehe: http://wiki.openstreetmap.org/wiki/DE:OSM-map_as_link (http://wiki.openstreetmap.org/wiki/DE:OSM-map_as_link)). Hier weiß ich leider nicht wie ich das Reading "location" aufteilen kann um einen entsprechenden Link zu erzeugen. Auch hier würde ich mich über Hinweise freuen.

Späte Antwort, aber ich bin erst die Tage auf owntracks und das livetracking-Modul gestoßen :-)

Wenn Du das über ein Reading erledigen will könntest Du ein userreading erzeugen, in etwa so:

attr name_des_trackingdevice userReading maplink { my @loc = split(/,/, ReadingsVal("name_des_trackingdevice","location", "0,0")); return "http://www.openstreetmap.org/?mlat=" . $loc[0] . "&mlon=" . $loc[1] . "&zoom=15&layers=M"; }


Das Aufsplitten der Location ist simples perl, auf lange (oder kurze) Sicht wirst Du kaum drumrum kommen die Basics davon zu lernen, macht viele Dinge viel leichter.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: ThomasMagnum am 28 Januar 2018, 11:48:47
Hallo wmr72,

vielen Dank für die Antwort!
In der Zwischenzeit hatte ich das Reading in zwei UserReadings geteilt und dann den Link zusammengebaut, so ist das natürlich viel eleganter.

Bzgl. Perl gebe ich dir 100% Recht, allerdings finde ich keinen richtigen Einstieg und hangle mich nur von Beispiel zu Beispiel vor und versuche diese zu verstehen, was aber nicht wirklich einfach ist und auch nicht immer gelingt.

Gruß, Thomas
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 01 Juni 2018, 17:59:04
Es wurde mal wieder Zeit für ein paar Bugfixes.
Aktuelle Version im ersten Post!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: FHEM-Wohnung am 22 Juni 2018, 22:14:28
Hallo,

gibt es eine Schritt für Schrittanleitung für Owntracks und MQTT? Bekomme es leider nicht zum laufen. MQTT läuft bereits auf meinem Pi.

Vielen Dank!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 22 Juni 2018, 22:30:43
Hallo,
hier https://forum.fhem.de/index.php/topic,37412.msg574206.html#msg574206 (https://forum.fhem.de/index.php/topic,37412.msg574206.html#msg574206) hatte ich mal meine config gepostet.
Läuft seitdem ohne Probleme und setzt aber voraus, dass Du auch eine funktionierende Mosquitto Installation hast  ;)
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: FHEM-Wohnung am 22 Juni 2018, 22:46:26
Vielen Dank!
Hat funktioniert!

Weis jemand wie das mit der Google API ist? Ich soll dort ein kostenlosen 12 Monate Test abschließen. 300$ stehen mir da zur Verfügung...?
Kostet dieser Dienst im privaten Rahmen etwas?

Und wird eine Anfrage nur zu Google gemacht wenn das iFrame im Browser aufgerufen wird, oder mit jeder Aktualisierung von Owntracks?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 23 Juni 2018, 13:56:45
Keine Ahnung wie das bei Google mittlerweile funktioniert.
Ein Aufruf passiert aber immer nur dann, wenn das iFrame mit der Karte geladen wird - hat mit dem Modul direkt erst mal nichts zu tun.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: antonwinden am 17 Juli 2018, 20:10:48
Hallo,
Gibt es eigentlich eine Möglichkeit die geloggten Daten in eine Datei umzuwandeln die google earth versteht? wenn ja gibt es da beispiele?
gruß anton
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: swifty am 08 August 2018, 21:54:37
Hallo,

;D wollte nur DANKE! sagen. Funktioniert sofort. Perfekt.  ;D
Zusammen mit mqtt und owntracks.

Jan
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 09 August 2018, 17:53:27
Schön dass es klappt.

OpenPaths ist übrigens mal wieder nicht erreichbar, wird vermutlich auch nicht mehr aktiv gepflegt.
Ich werde das also wahrscheinlich demnächst mal aus dem Modul entfernen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: jody am 18 September 2018, 21:48:27
Hi Markus,

ich will an dieser Stelle einfach mal DANKE für das tolle Modul sagen.

Ist genau das, was ich gesucht habe.

Viele Grüße

Johannes
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 30 Oktober 2018, 22:55:41
Zitat von: FHEM-Wohnung am 22 Juni 2018, 22:46:26
Weis jemand wie das mit der Google API ist? Ich soll dort ein kostenlosen 12 Monate Test abschließen. 300$ stehen mir da zur Verfügung...?
Kostet dieser Dienst im privaten Rahmen etwas?
Ich habe mir mit StaticMapLite (https://wiki.openstreetmap.org/wiki/StaticMapLite)  meine Grafiken erstellt.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 31 Oktober 2018, 23:20:00
Hallo,
Ich würde das modul gerne mit traccar einsetzen.
Mein Traccar server published folgendes an meinen mosquito:

{"position":{"id":14935,"attributes":{"batteryLevel":61,"distance":0.06,"totalDistance":4132002.73,"motion":false},"deviceId":1,"type":null,"protocol":"osmand","serverTime":"2018-10-31T22:14:10.290+0000","deviceTime":"2018-10-31T22:14:07.000+0000","fixTime":"2018-10-31T22:14:07.000+0000","outdated":false,"valid":true,"latitude":12.3456789,"longitude":12.3456789,"altitude":0,"speed":0,"course":0,"address":null,"accuracy":19.23500061035156,"network":null},"device":{"id":1,"attributes":{},"groupId":0,"name":"XXX","uniqueId":"YYY","status":"online","lastUpdate":"2018-10-31T22:14:10.290+0000","positionId":14935,"geofenceIds":[2],"phone":"","model":"","contact":"","category":"person","disabled":false}}


Ich habe ein MQtt device angelegt, da gibts dann das reading position mit diesem string.
Das lifetracking modul reagiert aber nicht darauf. Muss der JSON string anders aussehen?
Wahrscheinlich schon, aber wie? Und wie kriege ich den so hin.

Dank und Gruß

Carlos
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 01 November 2018, 09:10:50
Moin Carlos,
aktuell unterstützt livetracking OwnTracks und Swarm. OpenPaths eher nicht mehr (siehe 1. Post).
Und ja, das JSON sieht anders aus. Alternativ könntest Du aber mit expandJSON arbeiten.

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 01 November 2018, 10:13:13
Hallo Sebastian,
Schon klar, aber dann habe ich ja auch readings die falsche Namen haben.
Dann muss ich mir ja den JSON String wieder so zusammenbauen wie Opentracks ihn benutzt.
Ich probiere das mal aus.
Könnte man das nicht etwas generischer im modul lösen?
Sprich "lat" und "latitude" gleich behandeln.
Gruß
Carlos
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Ma_Bo am 01 November 2018, 10:50:52
Zitat von: carlos am 31 Oktober 2018, 23:20:00
Hallo,
Ich würde das modul gerne mit traccar einsetzen.
Mein Traccar server published folgendes an meinen mosquito:

{"position":{"id":14935,"attributes":{"batteryLevel":61,"distance":0.06,"totalDistance":4132002.73,"motion":false},"deviceId":1,"type":null,"protocol":"osmand","serverTime":"2018-10-31T22:14:10.290+0000","deviceTime":"2018-10-31T22:14:07.000+0000","fixTime":"2018-10-31T22:14:07.000+0000","outdated":false,"valid":true,"latitude":12.3456789,"longitude":12.3456789,"altitude":0,"speed":0,"course":0,"address":null,"accuracy":19.23500061035156,"network":null},"device":{"id":1,"attributes":{},"groupId":0,"name":"XXX","uniqueId":"YYY","status":"online","lastUpdate":"2018-10-31T22:14:10.290+0000","positionId":14935,"geofenceIds":[2],"phone":"","model":"","contact":"","category":"person","disabled":false}}


Ich habe ein MQtt device angelegt, da gibts dann das reading position mit diesem string.
Das lifetracking modul reagiert aber nicht darauf. Muss der JSON string anders aussehen?
Wahrscheinlich schon, aber wie? Und wie kriege ich den so hin.

Dank und Gruß

Carlos


Hey Carlos, ich habe das mit nem HTTPMOD gelöst, somit hole ich alle 30 Sekunden die Daten bei Traccar.

Zitat
defmod Traccar_HTTPMOD HTTPMOD http://DEINEIP:DEINPORT/traccar/rest/getLatestPositions 30
attr Traccar_HTTPMOD userattr sid1URL
attr Traccar_HTTPMOD disable 0
attr Traccar_HTTPMOD enableCookies 1
attr Traccar_HTTPMOD event-on-change-reading .*
attr Traccar_HTTPMOD extractAllJSON 1
attr Traccar_HTTPMOD reAuthRegex Unauthorized
attr Traccar_HTTPMOD room Traccar
attr Traccar_HTTPMOD sid1URL http://DEINEIP:DEINPORT/traccar/rest/login?payload=[DEINTRACCARBENUTZERNAME,DEINTRACCARBENUTZERPASSWORT]
attr Traccar_HTTPMOD verbose 0

Damit bekommst du alle Geräte und deren Daten, die für den Traccar Account sichtbar sind, angezeigt.

Grüße Marcel
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 01 November 2018, 19:19:35
Zitat von: carlos am 31 Oktober 2018, 23:20:00Ich habe ein MQtt device angelegt, da gibts dann das reading position mit diesem string.
Das lifetracking modul reagiert aber nicht darauf. Muss der JSON string anders aussehen?
Wahrscheinlich schon, aber wie?
Ca. so:
{"tst":1541020442,"acc":65,"_type":"location","alt":123,"lon":10.1234567890,"vac":10,"p":99.1234567890,"lat":50.1234567890,"batt":66,"conn":"m","tid":"MM"}
Beschrieben hier: https://owntracks.org/booklet/tech/json/

ZitatUnd wie kriege ich den so hin.
Indem du statt Traccar OwnTracks verwendest?
Welche Vorteile hat Traccar? Ich sehe irgendwie keine.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 03 November 2018, 23:09:41
Hallo,
super Modul, ich bin begeistert!
Weiss vielleicht jemand, wie ich aus den livetracking "location" koordinaten, die volle postalische Adresse bekomme?
Danke!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 04 November 2018, 00:23:01
Free trial: https://cloud.google.com/maps-platform/ - Geocoding API
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 04 November 2018, 20:09:09
Hallo Markus,
danke für den Tip, ich habe was mit Openstreetmap gefunden, um die volle Postalische Adresse zu bekommen.
Hier eine Loesung, nicht von mir, sondern aus dem fhem "Blitzer" Modul kopiert und ein wenig verändert:

Sub mit Aufruf:
getBlitzerOrte(ReadingsNum("livetracking","lat",0),ReadingsNum("livetracking","lon",0),"1","livetracking")
Diese sub schreibt die postalische Adresse in 3 readings in das device "livetracking", und zwar als 'Land', 'Ort' und 'Strasse'.
Der trigger fuer die sub ist dann ein notify auf das event livetracking:location:.*

Das ergibt dann folgende Readings:
Strasse Liechtensteinstraße 89
Ort 1090 Wien
Land Österreich


Damit die Sub funktioniert, muss man dann im device "livetracking" die Location mit 2 userreadings in 'lat' und 'lon' aufsplitten:
attr userReadings
lat { my @loc = split(/,/, ReadingsVal("livetracking","location", "0,0")); return $loc[0]; },
lon { my @loc = split(/,/, ReadingsVal("livetracking","location", "0,0")); return $loc[1]; }


Hier die Sub
sub getBlitzerOrte($$$$){
#https://nominatim.openstreetmap.org/search/52.xxxxx%208.xxxx?format=json&addressdetails=1
    my $Poi_lat = shift;
    my $Poi_lng = shift;
    my $num = shift;
    $num = sprintf("%02d", $num);
    my $BlitzerDev = shift;


my $hash = {};
  $hash->{'blitzerdev'} = $BlitzerDev;
$hash->{'num'} = $num;
my $param = {
           #url        => "https://nominatim.openstreetmap.org/search/".$Poi_lat."%20".$Poi_lng."?format=json&addressdetails=1",
   # Die Abfrage von Details erzeugt eine hohe Serverlast und ist nur zum Testen vorgesehen, deswegen URL ohne addressdetails
   url        => "https://nominatim.openstreetmap.org/reverse?format=json&lat=".$Poi_lat."&lon=".$Poi_lng,
           timeout    => 5,
           method     => "GET",            # Lesen von Inhalten
   hash       => $hash,            # Muss gesetzt werden, damit die Callback funktion wieder $hash hat
           header     => "",
           callback   =>  \&getBlitzerOrteCallback   # Diese Funktion soll das Ergebnis dieser HTTP Anfrage bearbeiten
    };
#agent: FHEM/1.0\r\nUser-Agent: FHEM/1.0\r\nAccept: application/json

    HttpUtils_NonblockingGet($param);      # Starten der HTTP Abfrage. Es gibt keinen Return-Code.

}

#Mir ist aufgefallen, dass im Reading "Ort" bei mir immer nur der Ortsteil steht und nicht die dazugehörige Stadt bzw. Gemeinde. Deshalb habe ich in der myUtils die Sub "getBlitzerOrteCallback($)" wie folgt geändert:
sub getBlitzerOrteCallback($) {
    my ($param, $err, $data) = @_;
    my $hash = $param->{hash};
    my $BlitzerDev = $hash->{blitzerdev};
my $num = $hash->{num};

    if($err ne "")      # wenn ein Fehler bei der HTTP Abfrage aufgetreten ist
    {
        Log3 "[getBlitzerOrte]", 3, "error while requesting ".$param->{url}." - $err";   # Eintrag fürs Log
    }
#Log 1,"[getBlitzerOrte] $BlitzerDev ".$param->{data}." ".$param->{url}." ".$param->{httpheader}." ".$param->{code};
#Log 1,"$data";

    #PERL WARNING: "my" variable $Stadtteil masks earlier declaration in same scope at ./FHEM/99_MyUtilsBlitzer.pm line 805.
#PERL WARNING: "my" variable $Stadt masks earlier declaration in same scope at ./FHEM/99_MyUtilsBlitzer.pm line 820.
my $Stadtteil = "";
my $Stadt = "";
my $postcode = ""; #Location
my $road = "";
my $house_number = "";
my $country = "";#Location

my ($Stadtteil) = $data =~ m/city_district":"([^"]+)"/;
        $Stadtteil =~ s/Stadtbezirk....//g;
if ((!defined $Stadtteil) or ($Stadtteil eq "")){
#Log 1, "[getBlitzerOrteCallback] search suburb";
       ($Stadtteil) = $data =~ m/suburb":"([^"]+)"/;
        $Stadtteil =~ s/Stadtbezirk....//g;
#Log 1, "[getBlitzerOrteCallback] $Stadtteil";
    }
if ((!defined $Stadtteil) or ($Stadtteil eq "")){
#Log 1, "[getBlitzerOrteCallback] $Stadtteil";
Log 5, "[getBlitzerOrteCallback] ".$param->{url};
Log 5, "[getBlitzerOrteCallback] $data";
       $Stadtteil = ".";
    }

       my ($Stadt) = $data =~ m/city":"([^"]+)"/;
if ((!defined $Stadt) or ($Stadt eq "")){
#Log 1, "[getBlitzerOrteCallback] search village $data";
        ($Stadt) = $data =~ m/town":"([^"]+)"/;
#Log 1, "[getBlitzerOrteCallback] $Stadt";
    }
if ((!defined $Stadt) or ($Stadt eq "")){
#Log 1, "[getBlitzerOrteCallback] search village $data";
        ($Stadt) = $data =~ m/village":"([^"]+)"/;
#Log 1, "[getBlitzerOrteCallback] $Stadt";
    }
if ((!defined $Stadt) or ($Stadt eq "")){
#Log 1, "[getBlitzerOrteCallback] search village $data";
        ($Stadt) = $data =~ m/state":"([^"]+)"/;
#Log 1, "[getBlitzerOrteCallback] $Stadt";
    }
    if ((!defined $Stadt) or ($Stadt eq "")){
#Log 1, "[getBlitzerOrteCallback] $Stadt";
Log 5, "[getBlitzerOrteCallback] ".$param->{url};
Log 5, "[getBlitzerOrteCallback] $data";
       $Stadt = ".";
    }
    my ($building) = $data =~ m/building":"([^"]+)"/;
    if ((!defined $building) or ($building eq "")){
        $building = ".";
    }
my ($postcode) = $data =~ m/postcode":"([^"]+)"/;
    if ((!defined $postcode) or ($postcode eq "")){
        $postcode = ".";
    }
my ($road) = $data =~ m/road":"([^"]+)"/;
if ((!defined $road) or ($road eq "")){
        ($road) = $data =~ m/path":"([^"]+)"/;
    }
if ((!defined $road) or ($road eq "")){
        ($road) = $data =~ m/neighbourhood":"([^"]+)"/;
    }
if ((!defined $road) or ($road eq "")){
        $road = ".";
    }
my ($house_number) = $data =~ m/house_number":"([^"]+)"/;
    if ((!defined $house_number) or ($house_number eq "")){
        $house_number = ".";
    }
my ($country) = $data =~ m/country":"([^"]+)"/;
    if ((!defined $country) or ($country eq "")){
        $country = ".";
    }
    Log 5,"[getBlitzerOrteCallback] $road $house_number $postcode $Stadt $country $Stadtteil $building ";
    #Log 1,"[getBlitzerOrte] ".$decoded_json->{address}->{suburb}->[0];
if ($Stadt eq "."){$Stadt = " "};
if ($Stadtteil eq "."){$Stadtteil = " "};
      fhem("setreading $BlitzerDev Strasse $road $house_number");
      fhem("setreading $BlitzerDev Ort $postcode $Stadt");
      fhem("setreading $BlitzerDev Land $country");
}


Also anstatt Google, kann man wie in der sub 'getBlitzerOrte', auch Openstreetmap nehmen. Openstreetmap erlaubt eine Rückwärtssuche, einfach mal z.B.
https://nominatim.openstreetmap.org/reverse?format=json&lat=48.2265319824219&lon=16.356583668179,
in den Browser eingegeben, das ergibt folgendes:
{"place_id":"115197608","licence":"Data © OpenStreetMap contributors, ODbL 1.0. https:\/\/osm.org\/copyright","osm_type":"way","osm_id":"170947558","lat":"48.2265974","lon":"16.3563834244286","display_name":"89, Liechtensteinstraße, Thurygrund II, KG Alsergrund, Alsergrund, Vienna, 1090, Austria","address":{"house_number":"89","road":"Liechtensteinstraße","neighbourhood":"Thurygrund II","suburb":"KG Alsergrund","city_district":"Alsergrund","state":"Vienna","postcode":"1090","country":"Austria","country_code":"at"},"boundingbox":["48.2264879","48.2267075","16.3560609","16.3565194"]}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 05 November 2018, 02:42:01
Also ca. so? :)

get livetracking address
get livetracking address short
get livetracking address long
get livetracking address 50.1113009,8.6542225


Das Modul ist bei der Gelegenheit auch gleich im regulären Update gelandet.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 05 November 2018, 03:47:39
Hallo Markus,
echt krasse Reaktionszeit...  :D
Nach reload 98_livetracking.pm und einem Neustart von FHEM erhalte ich das hier:
2018.11.05 03:42:02 3: telnetPort: port 7072 opened
2018.11.05 03:42:02 3: WEB: port 8083 opened
2018.11.05 03:42:03 2: eventTypes: loaded 152 events from ./log/eventTypes.txt
2018.11.05 03:42:03 3: archetype (NOTIFY_archetype) - starting inheritance inheritors
2018.11.05 03:42:03 3: archetype (NOTIFY_archetype) - inheritance inheritors done
2018.11.05 03:42:03 3: archetype (NOTIFY_archetype) - starting inheritance attribute "icon" to inheritors
2018.11.05 03:42:03 3: archetype (NOTIFY_archetype) - inheritance inheritors done
2018.11.05 03:42:03 3: archetype (DOIF_archetype) - starting inheritance inheritors
2018.11.05 03:42:03 3: archetype (DOIF_archetype) - starting inheritance attribute "icon" to inheritors
2018.11.05 03:42:03 3: AptToDate (ncapt) - defined
2018.11.05 03:42:04 1: Including ./log/fhem.save
2018.11.05 03:42:04 1: PERL WARNING: Use of uninitialized value $event in split at ./FHEM/93_RFHEM.pm line 164.
2018.11.05 03:42:04 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/93_RFHEM.pm line 166.
2018.11.05 03:42:04 3: Opening mosquitto device 127.0.0.1:1883
2018.11.05 03:42:04 3: mosquitto device opened
2018.11.05 03:42:04 0: Featurelevel: 5.9
2018.11.05 03:42:04 0: Server started with 28 defined entities (fhem.pl:17652/2018-10-31 perl:5.024001 os:linux user:fhem pid:7728)
2018.11.05 03:42:17 1: PERL WARNING: Use of uninitialized value $parameter in pattern match (m//) at ./FHEM/98_livetracking.pm line 247.
2018.11.05 03:42:17 1: PERL WARNING: Use of uninitialized value $parameter in string eq at ./FHEM/98_livetracking.pm line 259.
2018.11.05 03:42:17 1: PERL WARNING: Use of uninitialized value $parameter in string eq at ./FHEM/98_livetracking.pm line 273.
2018.11.05 03:42:17 1: PERL WARNING: Use of uninitialized value $parameter in string eq at ./FHEM/98_livetracking.pm line 274.
2018.11.05 03:42:17 1: PERL WARNING: Use of uninitialized value $parameter in string eq at ./FHEM/98_livetracking.pm line 276.


Wenn ich für meinen aktuellen Standort die Adresse hole, fehlt der Ortsname. Straße, PLZ und Land sind korrekt.
Ich meine auch im o.g. Blitzer Thread gelesen zu haben, dass die Antworten des Open Streetmap Servers unterschiedlich sind,
je nachdem ob man sich in einer Großstadt oder auf dem Land befindet.

VG und gute Nacht,
Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 05 November 2018, 08:29:18
@Markus ja,echt krass! :-)

@Sebastian: In der Tat, die Antworten sind verschieden, deswegen wird beim Blitzer stufenweise der json string auf folgende Matches abgefragt ('city' -> 'town' -> 'village' -> 'state'), sobald z.B 'city' einen Treffer enthält, wird der jason dann nicht mehr auf town, village und state gecheckt(state brauchte ich füer Wien,Österreich).

Stadt: 'city' -> 'town' -> 'village' -> 'state'

Strasse: 'road' -> 'path' -> 'neighbourhood'

Vielleicht kann Markus das ja noch mit einbauen . . .
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 05 November 2018, 08:46:59
Hallo Markus,
kurze Frage - wie schreibe ich die Antwort von 'get livetracking address' in ein Reading?
Ich konnts im Forum nicht mehr finden, ich habs aber irgendwo schon mal gelesen. :-(
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 05 November 2018, 09:47:53
War wohl etwas spät... :)
Bitte mal den Anhang ausprobieren, ob die Warnungen damit weg sind und village angezeigt wird.
Falls das passt, kommt es heute noch so ins Update.

Und ihr solltet das nicht automatisch bei jeder Änderung der Position verwenden, sonst gibt es diese API bald nicht mehr...
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 05 November 2018, 10:35:29
Moin Markus,
die Warnungen sind weg. Und auch der Ort wird befüllt. Checke heute Abend auch noch
eine ländlichere Gegend...  ;)

ZitatUnd ihr solltet das nicht automatisch bei jeder Änderung der Position verwenden, sonst gibt es diese API bald nicht mehr...
Ich habe auch schon überlegt ob es nicht Sinn macht das automatisch auszulesen.
Aber genau aus deinen Gründen diesen Gedanken wieder verworfen. Nach Bedarf ist schon OK. Und außerdem kann man das ja
auch Modul-extern - zwar dann via userReading - leicht lösen...

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 05 November 2018, 10:49:51
Die ländliche Gegend kannst du auch durch Eingabe der Koordinaten prüfen.
Wenn du statt Koordinaten short verwendest, kommt der komplette Einzeiler raus, bei long noch mehr Zeilen im erweiterten Format.

Ein userReading würde das leider auch wieder automatisieren, das wäre wahrscheinlich weniger gut für die Serverlast.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 05 November 2018, 13:57:58
ZitatDie ländliche Gegend kannst du auch durch Eingabe der Koordinaten prüfen.
Check: Village wird korrekt gefüllt.  ;)

ZitatEin userReading würde das leider auch wieder automatisieren, das wäre wahrscheinlich weniger gut für die Serverlast.
Das meinte ich ja damit. Aber zumindest müsste man sich sowas erstmal selbst bauen...

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 05 November 2018, 16:13:12
Teste mal ob das hilft: neue Attribute addressLanguage und addressReading
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 05 November 2018, 18:51:14
ZitatTeste mal ob das hilft: neue Attribute addressLanguage und addressReading

Hilft und funktioniert auch aufm Dorf  ;)

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolle02 am 05 November 2018, 19:57:04
Hallo zusammen,

ich habe das Modul bei mir derzeit zusammen mit Owntracks am Laufen. Auf FHEM Seite funktioniert das auch sehr gut; leider bin ich mit Owntracks nicht sehr zufrieden was die Aktualisierung angeht. Häufig "befinde" ich mich noch irgendwo, wo ich gar nicht mehr bin, aber die Location ändert sich nicht. Deshalb wollte ich gerne auch mal andere Dienste ausprobieren.

Die Überschrift dieses Threads wechselt (vor allem ganz vorne auf den Seiten dieses Threads) immer mal zwischen "Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)" und "Modul: 98_livetracking - Geokoordinaten von Life360 / OpenPaths / Swarm (4Sq)". Ich habe aber nirgends entdecken können wie ich das Modul zur Zusammenarbeit mit Life360 bewegen kann.

Ebenfalls habe ich in den Attributen ein undokumentiertes "TraccarDevice" gefunden, habe aber nicht heraus bekommen wie das funktioniert.

Wäre es eventuell möglich die CommandRef dahingehend etwas zu präzisieren und vielleicht ein paar Beispiele anzufügen?

Gruß
Wolle
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 05 November 2018, 20:01:46
Zitat von: Wolle02 am 05 November 2018, 19:57:04
leider bin ich mit Owntracks nicht sehr zufrieden was die Aktualisierung angeht. Häufig "befinde" ich mich noch irgendwo, wo ich gar nicht mehr bin, aber die Location ändert sich nicht. Deshalb wollte ich gerne auch mal andere Dienste ausprobieren.
Klappt bei mir auf iOS recht gut.
Schon mal mit nem Bugreport probiert? Hat bei mir bei Problemen bisher immer recht fix funktioniert.

ZitatIch habe aber nirgends entdecken können wie ich das Modul zur Zusammenarbeit mit Life360 bewegen kann.
Hab ich wieder ausgebaut, war zu schlecht anzubinden und zu pflegen.

ZitatEbenfalls habe ich in den Attributen ein undokumentiertes "TraccarDevice" gefunden, habe aber nicht heraus bekommen wie das funktioniert
Hab ich noch nicht eingebaut ;)

ZitatWäre es eventuell möglich die CommandRef dahingehend etwas zu präzisieren und vielleicht ein paar Beispiele anzufügen?
Ist aktuell und spiegelt den derzeitigen Stand des Moduls wieder
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 05 November 2018, 20:25:02
Zitat von: Markus M. am 12 Februar 2016, 17:49:17
Hier mal ein Beispiel für eine 24h History als Grafik:

define history_map weblink htmlCode {'<div style="pointer-events:none;; overflow: hidden;; width: 620;; height: 455px;;"><img src="'.maphistory().'" width="620" height="480" style="border:0;; margin-top: 0px;; margin-bottom: -25px;;"></img></div>'}

sub maphistory {
  my $seconds = $_[0];
  $seconds = 24*60*60 if(!defined($seconds));

  my $googlekey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
  my $dblogdevice = "fhemDbLog";

  my $from = FmtDateTime(time()-$seconds);
  my $to = FmtDateTime(time());
  $from =~ s/\ /_/g;
  $to   =~ s/\ /_/g;
  my $path = '';

  ########################################
  my $livetrackingdevice = "livetracking";
  my $currentlocation = ReadingsVal($livetrackingdevice,'location','');
  my $locationhistory = fhem("get $dblogdevice - - $from $to $livetrackingdevice:location",1);
  my @locations = split("\n", $locationhistory);
  $path .= "&markers=color:reduce|label:M|$currentlocation";
  $path .= "&path=color:0xff0000dd|weight:2";

  my $oldlat = '';
  my $oldlon = '';
  foreach my $location (@locations)
  {
    next if($location =~ /#/);
    $location =~ s/^.* //g;
    my @latlon = split(",",$location);
    my $lat = substr($latlon[0],0,7);
    my $lon = substr($latlon[1],0,7);

    $path .= "|".$lat.",".$lon if(length($path) < 1800 && ($lat ne $oldlat || $lon ne $oldlon));
    $oldlat = $lat;
    $oldlon = $lon;
  }
########################################

  return "https://maps.googleapis.com/maps/api/staticmap?language=en&size=620x480&scale=2&key=$googlekey&style=feature:poi|element:labels|visibility:off&style=feature:transit|element:labels|visibility:simplified|saturation:-80&maptype=roadmap$path";
}


Danke für das Super-Modul.
Hat bestens geklappt.
Könnten die Profis bitte noch Beispiele posten um das ganze auch für FileLog funktionsfähigzu machen?

Vielen Dank!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 05 November 2018, 23:45:04
Noch nicht ganz Traccar über den Server und MQTT, aber schon mal eine Abkürzung:
Wenn ihr in dieser Version das Attribut osmandServer auf 1 setzt, macht FHEM selbst einen zum Traccar Client kompatiblen Listener auf.
Im Client tragt ihr dann bei der Adresse etwa folgendes ein: https://user:pass@your.fhem.ip/fhem/osmand
Wenn das jemand auf Android ausprobiert und es funktioniert, bitte mal Logs eines OsmAnd Requests mit verbose 5 posten.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolle02 am 06 November 2018, 05:51:23
Hallo Markus,

vielen Dank für die Erläuterungen und das spontane Entwickeln in Richtung Traccar. Das wird jetzt wirklich interessant. Gerne werde ich das testen, muss dafür aber erst noch einen Traccar-Server aufsetzen. Dafür brauch ich aber erst noch einen neuen Raspi ;-)

Gruß
Wolle
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 06 November 2018, 07:36:33
Zitat von: Wolle02 am 06 November 2018, 05:51:23vielen Dank für die Erläuterungen und das spontane Entwickeln in Richtung Traccar. Das wird jetzt wirklich interessant. Gerne werde ich das testen, muss dafür aber erst noch einen Traccar-Server aufsetzen. Dafür brauch ich aber erst noch einen neuen Raspi ;-)
Nein, eben nicht!
Das Modul kannst du so wie es jetzt ist nur anstatt einem Traccar Server verwenden :)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolle02 am 06 November 2018, 22:33:16
Nachdem ich meinen ReverseProxy dazu überreden konnte mit FHEM zu kommunizieren, habe ich mal etwas herumprobiert.  ;D

Wenn ich https://user:pass@your.fhem.ip/fhem/osmand im Traccar Client eingebe steht im dortigen Log leider nur "Übertragung fehlerhaft". Im Logfile vom FHEM kommt trotz verbose 5 nichts an.
Wenn ich dagegen https://user:pass@your.fhem.ip/fhem/osmand in meinem Browser eingebe, erhalte ich als Antwort eine leere Seite mit dem Wort "TIME". Gleichzeitig erscheint im FHEM-Log "OsmAnd webcall request:
/osmand".

Im Livetracking Device regt sich in beiden Fällen nichts.

Ich hab das Gefühl der Traccar Client mag irgendwas nicht so recht!?

Gruß
Wolle
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 07 November 2018, 08:39:45
Zitat von: stromer-12 am 30 Oktober 2018, 22:55:41
Ich habe mir mit StaticMapLite (https://wiki.openstreetmap.org/wiki/StaticMapLite)  meine Grafiken erstellt.

Hallo,

kaqnnst Du hier ein Beispiel geben?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 07 November 2018, 20:45:34
Zitat von: AbeamStart am 07 November 2018, 08:39:45
kaqnnst Du hier ein Beispiel geben?
Ich habe mir zusätzlich noch das PHP Script aus dem GIT auf meinen Server abgelegt und angepasst. Damit werden nur noch von OSM die Tiles geladen und auf dem Server abgelegt. So das bei mehrmaliger Abfrage nur noch mein Server Daten liefert und OSM nicht mehr behelligt wird. Ich wurde bei meinen Versuchen von staticmap.openstreetmap.de kurzzeitig geblockt. Natürlich steht jetzt als Server mein eigener drin.

htmlCode { my $a=ReadingsVal( <mytrackdevice>, "location", "47,11" ); sprintf( '<img src="http://staticmap.openstreetmap.de/staticmap.php?center=%s&zoom=18&size=500x500&markers=%s,ol-marker&maptype=mapnik">', $a, $a }

Die Url lasse ich mir bei mehreren Markern wegen Mittelpunkt der Karte und Zoomfaktor berechnen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 07 November 2018, 21:06:15
Zitat von: stromer-12 am 07 November 2018, 20:45:34
Ich habe mir zusätzlich noch das PHP Script aus dem GIT auf meinen Server abgelegt und angepasst. Damit werden nur noch von OSM die Tiles geladen und auf dem Server abgelegt. So das bei mehrmaliger Abfrage nur noch mein Server Daten liefert und OSM nicht mehr behelligt wird. Ich wurde bei meinen Versuchen von staticmap.openstreetmap.de kurzzeitig geblockt. Natürlich steht jetzt als Server mein eigener drin.

htmlCode { my $a=ReadingsVal( <mytrackdevice>, "location", "47,11" ); sprintf( '<img src="http://staticmap.openstreetmap.de/staticmap.php?center=%s&zoom=18&size=500x500&markers=%s,ol-marker&maptype=mapnik">', $a, $a }

Die Url lasse ich mir bei mehreren Markern wegen Mittelpunkt der Karte und Zoomfaktor berechnen.
Schade davon habe ich keine Ahnung... [emoji1]

Gesendet von meinem SM-G965F mit Tapatalk

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 07 November 2018, 21:16:57
Zitat von: AbeamStart am 07 November 2018, 21:06:15
Schade davon habe ich keine Ahnung... (https://emoji.tapatalk-cdn.com/emoji1.png)

Gesendet von meinem SM-G965F mit Tapatalk
Bei dem Beispielcode musst du nur den Geomapdevicenamen und den Trackdevicenamen  anpassen.

defmod <geomapdevice> weblink htmlCode { my $a=ReadingsVal( <trackdevice>, "location", "47,11" ); sprintf( '<img src="http://staticmap.openstreetmap.de/staticmap.php?center=%s&zoom=16&size=500x500&markers=%s,ol-marker&maptype=mapnik">', $a, $a ) }

und es sollte eine Grafik rauskommen
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 07 November 2018, 21:33:13
Unknown command sprintf(, try help.

defmod tracklive_map weblink htmlCode { my $a=ReadingsVal( abetracking, "location", "47,11" ); sprintf( '<img src="http://staticmap.openstreetmap.de/staticmap.php?center=%s&zoom=16&size=500x500&markers=%s,ol-marker&maptype=mapnik">', $a, $a }
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 07 November 2018, 21:35:29
Zitat von: AbeamStart am 07 November 2018, 21:33:13
Unknown command sprintf(, try help.
Habe am Ende eine ")" vor "}" übersehen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 07 November 2018, 21:50:37
Sorry:

Bareword "abetracking" not allowed while "strict subs" in use at (eval 1520) line 1.

htmlCode {my $a=ReadingsVal(abetracking, "location", "47,11" ); sprintf('<img src="http://staticmap.openstreetmap.de/staticmap.php?center=%s&zoom=16&size=500x500&markers=%s,ol-marker&maptype=mapnik">', $a, $a )}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 07 November 2018, 21:59:33
Da ich noch einen google API Key habe habe ich es jetzt so gelöst.
Vielen Dank für die Hilfe!


define live_map weblink htmlCode {'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\
<html xmlns="http://www.w3.org/1999/xhtml">\
<head>\
<title>Kartenansicht</title>\
<meta http-equiv="content-type" content="text/html;; charset=UTF-8">\
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">\
<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=X1X2X3X4X5X6X7"></script>\
<script type="text/javascript">\
function LoadGmaps() {\
var myLatlng = new google.maps.LatLng('.ReadingsVal('trackingdevice1','location','').');;\
var myLatlng1 = new google.maps.LatLng('.ReadingsVal('trackingdevice2','location','').');;\
var myOptions = {\
zoom: 10,\
center: myLatlng,\
disableDefaultUI: true,\
panControl: true,\
zoomControl: true,\
zoomControlOptions: {\
style: google.maps.ZoomControlStyle.SMALL\
},\
\
mapTypeControl: true,\
streetViewControl: true,\
mapTypeId: google.maps.MapTypeId.ROADMAP\
}\
var map = new google.maps.Map(document.getElementById("MyGmaps"), myOptions);;\
var marker = new google.maps.Marker({\
position: myLatlng,\
map: map,\
title:"Name1 '.ReadingsTimestamp('tracking1','location','').'"\
});;\
var marker = new google.maps.Marker({\
position: myLatlng1,\
map: map,\
title:"Name2 '.ReadingsTimestamp('tracking2','location','').'"\
});; \
}\
</script>\
</head>\
<body onload="LoadGmaps()" onunload="GUnload()">\
<!-- Maps DIV : you can move the code below to where you want the maps to be displayed -->\
<div id="MyGmaps" style="width:800px;;height:800px;;border:1px solid #CECECE;;"></div>\
<!-- End of Maps DIV -->\
</body>\
</html>'}


Bin zwar nicht so ein Google-Freund aber es funktioniert.

Hat jemand Lust mit mir noch an einer historischen Map zu arbeiten? Z.B. Anzeige der Orte der letzten 24 Stunden.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 07 November 2018, 22:00:11
Zitat von: Wolle02 am 06 November 2018, 22:33:16
Im Livetracking Device regt sich in beiden Fällen nichts.
Ich hab das Gefühl der Traccar Client mag irgendwas nicht so recht!?

Probier doch mal einen kompletten Request mit Daten, siehe hier
https://www.traccar.org/osmand/

Ich vermute du hast ein Verbindungsproblem. Android oder iOS? Ich konnte nur iOS testen, funktioniert bei mir problemlos.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 07 November 2018, 22:02:31
Zitat von: AbeamStart am 07 November 2018, 21:50:37
Sorry:

Bareword "abetracking" not allowed while "strict subs" in use at (eval 1520) line 1.

htmlCode {my $a=ReadingsVal(abetracking, "location", "47,11" ); sprintf('<img src="http://staticmap.openstreetmap.de/staticmap.php?center=%s&zoom=16&size=500x500&markers=%s,ol-marker&maptype=mapnik">', $a, $a )}


Dein abetracking muss in Hochkommas gesetzt werden
ReadingsVal("abetracking", "location", "47,11" )
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 07 November 2018, 22:15:41
Zitat von: stromer-12 am 07 November 2018, 22:02:31

Dein abetracking muss in Hochkommas gesetzt werden
ReadingsVal("abetracking", "location", "47,11" )

So funktionierts:

htmlCode {my $a=ReadingsVal("abetracking", "location", "47,11" ); sprintf('<img src="http://staticmap.openstreetmap.de/staticmap.php?center=%s&zoom=16&size=500x500&markers=%s,ol-marker&maptype=mapnik">', $a, $a )}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 07 November 2018, 22:18:11
Zitat von: AbeamStart am 07 November 2018, 22:15:41
So funktionierts:

htmlCode {my $a=ReadingsVal("abetracking", "location", "47,11" ); sprintf('<img src="http://staticmap.openstreetmap.de/staticmap.php?center=%s&zoom=16&size=500x500&markers=%s,ol-marker&maptype=mapnik">', $a, $a )}


Wie würde das aussehen für 2 oder 3 Marker?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 07 November 2018, 22:32:11
Zitat von: AbeamStart am 07 November 2018, 22:18:11
Wie würde das aussehen für 2 oder 3 Marker?

Da wird es schon schwieriger weil man das Zentrum der Karte und den Zoom definieren muss.Das habe ich bei mir anders gelöst, bin aber noch am anpassen.
Dazu habe ich mir Geo::OSM::StaticMap installiert und noch geringfügig angepasst, weil der Zoom nicht so war wie ich wollte.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 07 November 2018, 22:36:20
mit Geo::OSM::StaticMap sieht dann die Definition zB. so aus:
htmlCode {
use Geo::OSM::StaticMap;
my @a=split(/,/,ReadingsVal("track_<device1>","location","47,11"));
my @b=split(/,/,ReadingsVal("track_<device2>","location","47,11"));
my @c=split(/,/,ReadingsVal("track_<device3>","location","47,11"));
sprintf('<img src="%s">',
  Geo::OSM::StaticMap->new(
    size=>[500,500],
    markers=>[
      [$a[0],$a[1],'ol-marker'      ],
      [$b[0],$b[1],'ol-marker-gold' ],
      [$c[0],$c[1],'ol-marker-green'],
    ],
  )->url());}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 07 November 2018, 22:36:28
Zitat von: stromer-12 am 07 November 2018, 22:32:11
Da wird es schon schwieriger weil man das Zentrum der Karte und den Zoom definieren muss.Das habe ich bei mir anders gelöst, bin aber noch am anpassen.
Dazu habe ich mir Geo::OSM::StaticMap installiert und noch geringfügig angepasst, weil der Zoom nicht so war wie ich wollte.
Geht ja auch mit 2 oder mehr Maps für jedes einzelne Trackdevice. Hast Du eine Idee für die Historie? Hier gibt es ein Beispiel, das greift aber auf DBLog zu....

Gesendet von meinem SM-G965F mit Tapatalk

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 07 November 2018, 22:44:02
Zitat von: AbeamStart am 07 November 2018, 22:36:28
Geht ja auch mit 2 oder mehr Maps für jedes einzelne Trackdevice. Hast Du eine Idee für die Historie? Hier gibt es ein Beispiel, das greift aber auf DBLog zu....

Gesendet von meinem SM-G965F mit Tapatalk
Ich habe für jedes Device eine Einzelmap und dann noch zusammengefasste.
Historie wollte ich auch mal noch in Angriff nehmen. bei mir liegen die Daten ja in einer SQL Datenbank.Ohne Maps nur so hatte ich mir da mal was mit logproxy gebaut.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolle02 am 08 November 2018, 04:45:38
Zitat von: Markus M. am 07 November 2018, 22:00:11
Probier doch mal einen kompletten Request mit Daten, siehe hier
https://www.traccar.org/osmand/

Ich vermute du hast ein Verbindungsproblem. Android oder iOS? Ich konnte nur iOS testen, funktioniert bei mir problemlos.

Hmmmm, also ich habe jetzt mal folgenden Request in meinem Browser eingegeben:
https://xxxxxxxx/?id=123456&lat=48.48&lon=09.09&hdop=0.5&altitude=400

Im Browser erscheint nach Abfrage von User und Passwort wieder der leere Bildschrim mit dem Wort TIME.
Im FHEM-Logfile erscheint:
OsmAnd webcall request:
/osmand/?id=123456&lat=48.48&lon=09.09&hdop=0.5&altitude=400

Im livetrackingDevice erfolgt keine Änderung.

Im Androiden habe ich das noch nicht probiert, weil ich noch nicht verstanden habe, wie ich diesen Request im Traccar Client eingeben soll.
Oder meinst du ich soll den Request im Browser vom Androiden ausführen? Da passiert das gleiche wie oben.

Im TraccarClient habe ich als Serverurl eingetragen: https://user:pass@fhem-ip
Wenn ich dort den kompletten Request angeben, kommt wieder nur "Übertragungsfehler" und im FHEM-Logfile taucht nichts auf.
Kann es sein, dass der TraccarClient auf Android mit der Passwortübergabe nicht klarkommt?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 08 November 2018, 08:12:07
Hallo livetracking Profis,
vielen Dank nochmal an das Modul und die super Hilfe hier.
An sich macht meine Config genau das was ich möchte.
Jedoch habe ich noch Probleme meinen Dummy zu füllen.
Obwohl das Reading place mit "home" befüllt wird und zone_0 zwischen "active" und "inactive" wechselt, wird mein Dummy nicht gefüllt.
Ich habe hier auch nochmal versucht mit ROOMMATE zu arbeiten, wie hier beschrieben, aber da tut sich auch nichts am STATE.
Bitte nochmal um Hilfe von den Fachmännern.


.cfg:
define mqtt MQTT 127.0.0.1:1883
attr mqtt keep-alive 60
attr mqtt room 99.MQTT

Internals:
   CFGFN      ./mqqt.cfg
   DEF        127.0.0.1:1883
   DeviceName 127.0.0.1:1883
   FD         163
   NAME       mqtt
   NOTIFYDEV  global
   NR         1446
   NTFY_ORDER 50-mqtt
   PARTIAL   
   STATE      opened
   TYPE       MQTT
   buf       
   msgid      3
   ping_received 1
   timeout    60
   READINGS:
     2018-11-08 07:56:30   connection      active
     2018-11-07 22:19:58   state           opened
   messages:
Attributes:
   keep-alive 60
   room       99.MQTT

.cfg:
define owntracksabe MQTT_DEVICE
attr owntracksabe IODev mqtt
attr owntracksabe event-on-change-reading abe,event
attr owntracksabe publishSet_cmd owntracks/abe/abeandroid/cmd
attr owntracksabe publishSet_msg owntracks/abe/abeandroid/msg
attr owntracksabe qos at-least-once
attr owntracksabe room 99.MQTT
attr owntracksabe subscribeReading_abe owntracks/abe/abeandroid
attr owntracksabe subscribeReading_beacon owntracks/abe/abeandroid/beacon
attr owntracksabe subscribeReading_cmd owntracks/abe/abeandroid/cmd
attr owntracksabe subscribeReading_dump owntracks/abe/abeandroid/dump
attr owntracksabe subscribeReading_event owntracks/abe/abeandroid/event
attr owntracksabe subscribeReading_msg owntracks/abe/abeandroid/msg
attr owntracksabe subscribeReading_step owntracks/abe/abeandroid/step
attr owntracksabe subscribeReading_waypoints owntracks/abe/abeandroid/waypoints

Internals:
   CFGFN      ./mqqt.cfg
   IODev      mqtt
   NAME       owntracksabe
   NR         1450
   STATE      position
   TYPE       MQTT_DEVICE
   qos        *:1
   READINGS:
     2018-11-08 07:48:54   abe             {"_type":"location","tid":"aa","acc":10,"batt":97,"conn":"w","lat":50.0634605,"lon":8.8488499,"tst":1541659734}
     2018-11-07 09:04:53   cmd             {"_type":"cmd","action":"reportSteps"}
     2018-11-08 07:45:52   event           {"_type":"transition","tid":"aa","acc":3.698,"desc":"home","event":"enter","lat":50.0635596,"lon":8.8487578,"tst":1541659385,"wtst":1541421383,"t":"c"}
     2018-11-08 07:48:54   transmission-state incoming publish received
   message_ids:
   publishSets:
     cmd:
       topic      owntracks/abe/abeandroid/cmd
       values:
     msg:
       topic      owntracks/abe/abeandroid/msg
       values:
   sets:
     cmd       
     msg       
   subscribe:
     owntracks/abe/abeandroid
     owntracks/abe/abeandroid/beacon
     owntracks/abe/abeandroid/cmd
     owntracks/abe/abeandroid/dump
     owntracks/abe/abeandroid/event
     owntracks/abe/abeandroid/msg
     owntracks/abe/abeandroid/step
     owntracks/abe/abeandroid/waypoints
   subscribeExpr:
     ^owntracks\/abe\/abeandroid$
     ^owntracks\/abe\/abeandroid\/beacon$
     ^owntracks\/abe\/abeandroid\/cmd$
     ^owntracks\/abe\/abeandroid\/dump$
     ^owntracks\/abe\/abeandroid\/event$
     ^owntracks\/abe\/abeandroid\/msg$
     ^owntracks\/abe\/abeandroid\/step$
     ^owntracks\/abe\/abeandroid\/waypoints$
   subscribeQos:
     owntracks/abe/abeandroid 0
     owntracks/abe/abeandroid/beacon 0
     owntracks/abe/abeandroid/cmd 0
     owntracks/abe/abeandroid/dump 0
     owntracks/abe/abeandroid/event 0
     owntracks/abe/abeandroid/msg 0
     owntracks/abe/abeandroid/step 0
     owntracks/abe/abeandroid/waypoints 0
   subscribeReadings:
     owntracks/abe/abeandroid:
       cmd       
       name       abe
     owntracks/abe/abeandroid/beacon:
       cmd       
       name       beacon
     owntracks/abe/abeandroid/cmd:
       cmd       
       name       cmd
     owntracks/abe/abeandroid/dump:
       cmd       
       name       dump
     owntracks/abe/abeandroid/event:
       cmd       
       name       event
     owntracks/abe/abeandroid/msg:
       cmd       
       name       msg
     owntracks/abe/abeandroid/step:
       cmd       
       name       step
     owntracks/abe/abeandroid/waypoints:
       cmd       
       name       waypoints
Attributes:
   IODev      mqtt
   event-on-change-reading abe,event
   publishSet_cmd owntracks/abe/abeandroid/cmd
   publishSet_msg owntracks/abe/abeandroid/msg
   qos        at-least-once
   room       99.MQTT
   subscribeReading_abe owntracks/abe/abeandroid
   subscribeReading_beacon owntracks/abe/abeandroid/beacon
   subscribeReading_cmd owntracks/abe/abeandroid/cmd
   subscribeReading_dump owntracks/abe/abeandroid/dump
   subscribeReading_event owntracks/abe/abeandroid/event
   subscribeReading_msg owntracks/abe/abeandroid/msg
   subscribeReading_step owntracks/abe/abeandroid/step
   subscribeReading_waypoints owntracks/abe/abeandroid/waypoints

.cfg:
define abetracking livetracking
attr abetracking filterAccuracy 400
attr abetracking home 50.0635925,8.848769531250028
attr abetracking owntracksDevice owntracksabe
attr abetracking room 99.MQTT
attr abetracking roundAltitude 5
attr abetracking roundDistance 0.1
attr abetracking stateFormat location
attr abetracking userReadings maplink { my @loc = split(/,/, ReadingsVal("abetracking","location", "0,0"));; return "http://www.openstreetmap.org/?mlat=" . $loc[0] . "&mlon=" . $loc[1] . "&zoom=15&layers=M";; }

Internals:
   CFGFN      ./mqqt.cfg
   NAME       abetracking
   NOTIFYDEV  owntracksabe
   NR         1473
   NTFY_ORDER 999-abetracking
   STATE      50.0634605,8.8488499
   TYPE       livetracking
   READINGS:
     2018-11-08 07:48:54   accuracy        10
     2018-11-08 07:48:54   batteryPercent  97
     2018-11-08 07:48:54   batteryState    ok
     2018-11-08 07:48:54   connection      wifi
     2018-11-08 07:48:54   distance        0
     2018-11-08 07:48:54   id              aa
     2018-11-08 07:48:54   location        50.0634605,8.8488499
     2018-11-08 07:48:54   maplink         http://www.openstreetmap.org/?mlat=50.0634605&mlon=8.8488499&zoom=15&layers=M
     2018-11-08 07:43:05   place           home
     2018-11-08 07:43:05   zone_0          active
   helper:
     lastOwnTracks 1541659734
Attributes:
   filterAccuracy 400
   home       50.0635925,8.848769531250028
   owntracksDevice owntracksabe
   room       99.MQTT
   roundAltitude 5
   roundDistance 0.1
   stateFormat location
   userReadings maplink { my @loc = split(/,/, ReadingsVal("abetracking","location", "0,0")); return "http://www.openstreetmap.org/?mlat=" . $loc[0] . "&mlon=" . $loc[1] . "&zoom=15&layers=M"; }
   zonename_0 home

.cfg:
define FlorianzuHause dummy
attr FlorianzuHause room 99.MQTT

Internals:
   CFGFN      ./mqqt.cfg
   NAME       FlorianzuHause
   NR         1513
   STATE      ???
   TYPE       dummy
Attributes:
   room       99.MQTT 

.cfg:
define FlorianzuHausenotify notify abetracking:zone_0 set FlorianzuHause $EVENT
attr FlorianzuHausenotify room 99.MQTT

Internals:
   CFGFN      ./mqqt.cfg
   DEF        abetracking:zone_0 set FlorianzuHause $EVENT
   NAME       FlorianzuHausenotify
   NOTIFYDEV  abetracking
   NR         1511
   NTFY_ORDER 50-FlorianzuHausenotify
   REGEXP     abetracking:zone_0
   STATE      active
   TYPE       notify
   READINGS:
     2018-11-07 22:19:55   state           active
Attributes:
   room       99.MQTT
 
.cfg: 
define rr_Florian ROOMMATE rgr_Residents
attr rr_Florian room 99.MQTT
attr rr_Florian rr_geofenceUUIDs abetracking

Internals:
   CFGFN      ./mqqt.cfg
   CHANGED   
   DEF        rgr_Residents
   DURATIONTIMER 1541660943.31927
   NAME       rr_Florian
   NOTIFYDEV  global,
   NR         1521
   NTFY_ORDER 50-rr_Florian
   READY      1
   RESIDENTGROUPS rgr_Residents
   STATE      ???
   TYPE       ROOMMATE
   READINGS:
     2018-11-07 20:48:56   durTimerAbsence 00:00:00
     2018-11-07 20:48:56   durTimerAbsence_cr 0
     2018-11-07 20:48:56   durTimerPresence 00:00:00
     2018-11-07 20:48:56   durTimerPresence_cr 0
     2018-11-07 20:48:56   durTimerSleep   00:00:00
     2018-11-07 20:48:56   durTimerSleep_cr 0
   TIMER:
     rr_Florian_DurationTimer:
       HASH       rr_Florian
       MODIFIER   DurationTimer
       NAME       rr_Florian_DurationTimer
Attributes:
   room       99.MQTT
   rr_geofenceUUIDs abetracking


Könnte man eigtl. auch auf folgende Logeinträge reagieren?

2018.11.08 07:40:55 3: abetracking OwnTracks Zone Event: leave home
2018.11.08 07:45:52 3: abetracking OwnTracks Zone Event: enter home
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 08 November 2018, 12:44:28
Zitat von: Wolle02 am 08 November 2018, 04:45:38
Hmmmm, also ich habe jetzt mal folgenden Request in meinem Browser eingegeben:
https://xxxxxxxx/?id=123456&lat=48.48&lon=09.09&hdop=0.5&altitude=400

Im Browser erscheint nach Abfrage von User und Passwort wieder der leere Bildschrim mit dem Wort TIME.
Im FHEM-Logfile erscheint:
OsmAnd webcall request:
/osmand/?id=123456&lat=48.48&lon=09.09&hdop=0.5&altitude=400

Im livetrackingDevice erfolgt keine Änderung.

Im Androiden habe ich das noch nicht probiert, weil ich noch nicht verstanden habe, wie ich diesen Request im Traccar Client eingeben soll.

Du hast bei deinem Test den einzigen Muss- Parameter vergessen: timestamp (unixtime)

In den Client muss:
https://user:pass@fhem-ip/fhem/osmand
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 08 November 2018, 13:37:48
Hallo Markus,
ich habe deine Version aus Antwort #205 getestet, und dass passt prima mit dem adress reading. Damit kann ich mir beim Parken die Adresse merken. Kannst Du so ins SVN einchecken!

Ein grosses Danke vielmals!
Beste Grüsse
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 08 November 2018, 13:40:22
Ich habe gerade auch nochmal testet:
Bei get livetracking address short und addressLanguage de kommt die englische Adresse  :o

@inoma: Kannst du das bestätigen?

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 08 November 2018, 13:42:25
Und bei get livetracking address long und addressLanguage en kommt die deutsche Adresse...

VG Sebastian

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 08 November 2018, 14:27:47
-> Bei get livetracking address short und addressLanguage de kommt die englische Adresse

Das ist bei mir in Ordnung, hast Du nach dem ändern des attributes 'save config' gemacht?
Manchmal kommt auch ein mix, zum Beispiel bei language en kommt bei mir "München", "Bavaria"....
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 08 November 2018, 14:33:15
Da ist eigentlich nichts was schief gehen kann.
Die entsprechende Sprache muss natürlich auch gepflegt sein.
Wenn nicht: einfach selbst bei OSM hinzufügen :)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 08 November 2018, 15:06:46
Genau! Danke! Super Modul, und 1a support und responsetimes :-)
Allerbeste Grüsse!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolle02 am 08 November 2018, 18:52:40
Zitat von: Markus M. am 08 November 2018, 12:44:28
Du hast bei deinem Test den einzigen Muss- Parameter vergessen: timestamp (unixtime)

Ahja, Wäre natürlich hilfreich, wenn die das auch dazugeschrieben hätten  ::)
Wenn ich den Timestamp hinzufüge funktioniert es im Browser tatsächlich. Es kommt jetzt eine leere Seite auf der oben links "OK" steht.
Im FHem-Log erscheint folgendes :
OsmAnd webcall request:
/osmand/?id=123456&lat=48.9&lon=9.48×tamp=1541698650&hdop=0.5&altitude=400
2018.11.08 18:44:11 4: Livetracking_Wolle OsmAnd Server: 2018-11-08 18:37:30


Im Livetracking-Device wird jetzt auch aktualisiert. Das passt also.

Nur leider funktioniert es im Androiden immer noch nicht. Ich trage dort bei Server-Url genau das gleiche ein wie im Browser, aber sobald ich den Service starte erscheint im Log nur "Übertragung fehlerhaft" und bei FHEM kommt nichts an. Leider wirft der TraccarClient keine wirklich aussagekräftigen Fehlermeldungen aus.  :(
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 08 November 2018, 23:15:15
Hallo Markus,
magst Du noch folgenden Patch mit aufnehmen?
In Zeile 272 ist das letzte "!defined" doppelt, und man muss 'neighbourhood' noch mit aufnehmen, dann klappts auch mit den Plätzen in Deutschland, probier mal:
get livetracking address 48.1632385253906,11.5870170673723
Hier die Zeile, die Du als letztes einfügen müsstest:

diff 98_livetracking.pm 98_livetracking.pm.orig

272c272
<          $addr .= $json->{address}->{bridleway}." " if(defined($json->{address}->{bridleway}) && !defined($json->{address}->{road}) && !defined($json->{address}->{path}));
---
>          $addr .= $json->{address}->{bridleway}." " if(defined($json->{address}->{bridleway}) && !defined($json->{address}->{road}) && !defined($json->{address}->{path}) && !defined($json->{address}->{path}));
274d273
<          $addr .= $json->{address}->{neighbourhood}." " if(defined($json->{address}->{neighbourhood}) && !defined($json->{address}->{road}) && !defined($json->{address}->{path}) && !defined($json->{address}->{bridleway})&& !defined($json->{address}->{footway}));


Danke
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 09 November 2018, 00:14:22
Zitat von: Wolle02 am 08 November 2018, 18:52:40
Nur leider funktioniert es im Androiden immer noch nicht. Ich trage dort bei Server-Url genau das gleiche ein wie im Browser, aber sobald ich den Service starte erscheint im Log nur "Übertragung fehlerhaft" und bei FHEM kommt nichts an. Leider wirft der TraccarClient keine wirklich aussagekräftigen Fehlermeldungen aus.  :(
Ohne Parameter? Mit/ohne "/" am Ende?
Leider keine Ahnung...
Ich empfehle OwnTracks, das funktioniert deutlich besser und bietet mehr Funktionen.

Zitat von: inoma am 08 November 2018, 23:15:15
In Zeile 272 ist das letzte "!defined" doppelt, und man muss 'neighbourhood' noch mit aufnehmen, dann klappts auch mit den Plätzen in Deutschland,
Du wohnst ernsthaft wo, wo es keine Straßen oder Trampelpfade sondern nur "Neighborhood" gibt?  :o
Probier mal den Anhang.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 09 November 2018, 00:51:45
Wenn Du noch die folgende kleine Änderung machst, dann passts :-)
Ist ein copy / paste Fehler, den hatte ich beim ersten mal auch gemacht .
Danke!

diff  98_livetracking.pm 98_livetracking.pm.markus
274c274
<          $addr .= $json->{address}->{neighbourhood}." " if(defined($json->{address}->{neighbourhood}) && !defined($json->{address}->{road}) && !defined($json->{address}->{path}) && !defined($json->{address}->{bridleway}) && !defined($json->{address}->{footway}));
---
>          $addr .= $json->{address}->{neighbourhood}." " if(defined($json->{address}->{footway}) && !defined($json->{address}->{road}) && !defined($json->{address}->{path}) && !defined($json->{address}->{bridleway}) && !defined($json->{address}->{footway}));


Und ja, in München gibts noch nicht mal Strassenbeleuchtung!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Firetic am 09 November 2018, 06:15:56
Guten Morgen  :)

Ich habe mal interessehalber versucht den TraccarClient auf einem Android Gerät in Betrieb zu nehmen. Leider kann ich hier das Verhalten von Wolle02 "1 zu 1" bestätigen...

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 09 November 2018, 07:43:24
ZitatUnd ja, in München gibts noch nicht mal Strassenbeleuchtung!
Mann da bin ich ja echt froh, dass ich auf'm Land wohne mit LED-Straßenlaternen...  ;D
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 09 November 2018, 10:19:40
Ich bin schonmal weiter.
Mein Dummy wird befüllt:


cfg:
define FlorianzuHausenotify notify abetracking set FlorianzuHause [abetracking:zone_0]
attr FlorianzuHausenotify room 99.MQTT

Internals:
   CFGFN      ./mqqt.cfg
   DEF        abetracking set FlorianzuHause [abetracking:zone_0]
   NAME       FlorianzuHausenotify
   NOTIFYDEV  abetracking
   NR         1515
   NTFY_ORDER 50-FlorianzuHausenotify
   REGEXP     abetracking
   STATE      2018-11-09 09:47:12
   TRIGGERTIME 1541753232.36568
   TYPE       notify
   READINGS:
     2018-11-09 08:36:11   state           active
Attributes:
   room       99.MQTT



Ab wann wird denn die Zone auf absent gestellt? Bzw. Wie lange dauert das?

Könnte noch jemand mit Roommates helfen?
Ich habe eigtl. alles nach Anleitung gemacht, aber da passiert nichts:


cfg:
define rgr_Bewohner RESIDENTS
attr rgr_Bewohner room 99.MQTT

Internals:
   CFGFN      ./mqqt.cfg
   DURATIONTIMER 1541756187.02999
   NAME       rgr_Bewohner
   NOTIFYDEV  global,rr_Florian,rr_Jasmin
   NR         1526
   NTFY_ORDER 50-rgr_Bewohner
   READY      1
   ROOMMATES  rr_Florian,rr_Jasmin
   STATE      home
   TYPE       RESIDENTS
   READINGS:
     2018-11-09 08:29:56   durTimerAbsence 00:00:00
     2018-11-09 08:29:56   durTimerAbsence_cr 0
     2018-11-09 10:35:27   durTimerPresence 00:12:43
     2018-11-09 10:35:27   durTimerPresence_cr 13
     2018-11-09 08:29:56   durTimerSleep   00:00:00
     2018-11-09 08:29:56   durTimerSleep_cr 0
     2018-11-09 10:32:27   lastActivity    absent
     2018-11-09 10:32:27   lastActivityBy  Jasmin
     2018-11-09 10:32:27   lastActivityByDev rr_Jasmin
     2018-11-09 10:22:44   lastArrival     2018-11-09 10:22:44
     2018-11-09 10:22:44   lastState       initialized
     2018-11-09 10:22:44   presence        present
     2018-11-09 10:32:27   residentsAbsent 1
     2018-11-09 10:32:27   residentsAbsentDevs rr_Jasmin
     2018-11-09 10:32:27   residentsAbsentNames Jasmin
     2018-11-09 10:22:44   residentsAsleep 0
     2018-11-09 10:22:44   residentsAsleepDevs -
     2018-11-09 10:22:44   residentsAsleepNames -
     2018-11-09 10:22:44   residentsAwoken 0
     2018-11-09 10:22:44   residentsAwokenDevs -
     2018-11-09 10:22:44   residentsAwokenNames -
     2018-11-09 10:22:44   residentsGone   0
     2018-11-09 10:22:44   residentsGoneDevs -
     2018-11-09 10:22:44   residentsGoneNames -
     2018-11-09 10:22:44   residentsGotosleep 0
     2018-11-09 10:22:44   residentsGotosleepDevs -
     2018-11-09 10:22:44   residentsGotosleepNames -
     2018-11-09 10:32:27   residentsHome   1
     2018-11-09 10:32:27   residentsHomeDevs rr_Florian
     2018-11-09 10:32:27   residentsHomeNames Florian
     2018-11-09 10:22:53   residentsTotal  2
     2018-11-09 10:32:27   residentsTotalAbsent 1
     2018-11-09 10:32:27   residentsTotalAbsentDevs rr_Jasmin
     2018-11-09 10:32:27   residentsTotalAbsentNames Jasmin
     2018-11-09 10:22:44   residentsTotalGuests 0
     2018-11-09 10:22:44   residentsTotalGuestsAbsent 0
     2018-11-09 10:22:44   residentsTotalGuestsAbsentDevs -
     2018-11-09 10:22:44   residentsTotalGuestsAbsentNames -
     2018-11-09 10:22:44   residentsTotalGuestsPresent 0
     2018-11-09 10:22:44   residentsTotalGuestsPresentDevs -
     2018-11-09 10:22:44   residentsTotalGuestsPresentNames -
     2018-11-09 10:32:27   residentsTotalPresent 1
     2018-11-09 10:32:27   residentsTotalPresentDevs rr_Florian
     2018-11-09 10:32:27   residentsTotalPresentNames Florian
     2018-11-09 10:22:53   residentsTotalRoommates 2
     2018-11-09 10:32:27   residentsTotalRoommatesAbsent 1
     2018-11-09 10:32:27   residentsTotalRoommatesAbsentDevs rr_Jasmin
     2018-11-09 10:32:27   residentsTotalRoommatesAbsentNames Jasmin
     2018-11-09 10:32:27   residentsTotalRoommatesPresent 1
     2018-11-09 10:32:27   residentsTotalRoommatesPresentDevs rr_Florian
     2018-11-09 10:32:27   residentsTotalRoommatesPresentNames Florian
     2018-11-09 10:22:44   residentsTotalWakeup 0
     2018-11-09 10:22:44   residentsTotalWakeupDevs -
     2018-11-09 10:22:44   residentsTotalWakeupNames -
     2018-11-09 10:22:44   residentsTotalWayhome 0
     2018-11-09 10:22:44   residentsTotalWayhomeDelayed 0
     2018-11-09 10:22:44   residentsTotalWayhomeDelayedDevs -
     2018-11-09 10:22:44   residentsTotalWayhomeDelayedNames -
     2018-11-09 10:22:44   residentsTotalWayhomeDevs -
     2018-11-09 10:22:44   residentsTotalWayhomeNames -
     2018-11-09 10:22:44   state           home
   TIMER:
     rgr_Bewohner_DurationTimer:
       HASH       rgr_Bewohner
       MODIFIER   DurationTimer
       NAME       rgr_Bewohner_DurationTimer
Attributes:
   room       99.MQTT

.cfg
define rr_Florian ROOMMATE rgr_Residents
attr rr_Florian comment Auto-created by rgr_Bewohner
attr rr_Florian room 99.MQTT
attr rr_Florian rr_geofenceUUIDs abetracking
attr rr_Florian rr_locationHome home

Internals:
   CFGFN      ./mqqt.cfg
   DEF        rgr_Bewohner
   DURATIONTIMER 1541756299.77733
   NAME       rr_Florian
   NOTIFYDEV  global,
   NR         1531
   NTFY_ORDER 50-rr_Florian
   READY      1
   RESIDENTGROUPS rgr_Bewohner
   STATE      zuhause
   TYPE       ROOMMATE
   READINGS:
     2018-11-09 10:22:44   durTimerAbsence 00:00:00
     2018-11-09 10:22:44   durTimerAbsence_cr 0
     2018-11-09 10:37:19   durTimerPresence 00:14:35
     2018-11-09 10:37:19   durTimerPresence_cr 15
     2018-11-09 10:22:44   durTimerSleep   00:00:00
     2018-11-09 10:22:44   durTimerSleep_cr 0
     2018-11-09 10:22:44   lastArrival     2018-11-09 10:22:44
     2018-11-09 10:22:44   lastState       initialized
     2018-11-09 10:22:44   mood            calm
     2018-11-09 10:22:44   presence        present
     2018-11-09 10:22:44   state           home
     2018-11-09 10:22:44   wayhome         0
   TIMER:
     rr_Florian_DurationTimer:
       HASH       rr_Florian
       MODIFIER   DurationTimer
       NAME       rr_Florian_DurationTimer
Attributes:
   alias      Status
   comment    Auto-created by rgr_Bewohner
   devStateIcon .*zuhause:user_available:absent .*anwesend:user_available:absent .*abwesend:user_away:home .*verreist:user_ext_away:home .*bettfertig:scene_toilet:asleep .*schlaeft:scene_sleeping:awoken .*schläft:scene_sleeping:awoken .*aufgestanden:scene_sleeping_alternat:home .*:user_unknown:home
   eventMap   home:zuhause absent:abwesend gone:verreist gotosleep:bettfertig asleep:schläft awoken:aufgestanden
   group      Florian
   icon       people_sensor
   room       99.MQTT
   rr_geofenceUUIDs abetracking
   rr_realname group
   sortby     1
   webCmd     state
   widgetOverride state:zuhause,bettfertig,schläft,aufgestanden,abwesend,verreist


Muss ich da noch irgendwelche Attribute setzen oder etwas anpassen?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: maseb am 09 November 2018, 12:49:27
Hallo,

ich kann das Modul: 98_livetracking  im ersten Post nicht finden.

Wird es noch angeboten?

Grüße Rudi
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 09 November 2018, 13:16:59
Das Modul ist im regulären Update.
Eine Testversion mit neuen Features findest du ein paar Posts vor diesem.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 09 November 2018, 14:21:47
Hallo Markus, hast Du meinen Post #237 gesehen? Da war noch eine Kleinigkeit.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 09 November 2018, 14:40:32
Gesehen, erledigt und im Anhang ein paar Posts vorher versteckt den Upload vergessen ;)

Und noch ein Update:
Mit dem optionalen Attribut osmandId lässt sich der Identifier festlegen, womit auch mehrere Devices parallel verwendet werden können.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 09 November 2018, 16:17:06
Funktioniert bei jemandem die Statusübermittlung an Roommates?
Oder brauche ich da eine Betaversion?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 09 November 2018, 19:44:00
Hallo Markus,

vielen Dank für Dein tolles Modul.
Ich kämpfe aktuell noch mit der ROOMMATES integration... Aber Dein Modul funktioniert bis jetzt tadellos.

Hättest Du noch Lust z.B. ein Attribut für einen GoogleMaps API Key einzubauen und die Möglichkeit dass als Reading dann die Adresse geführt wird?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 09 November 2018, 20:21:20
Zitat von: AbeamStart am 09 November 2018, 10:19:40Könnte noch jemand mit Roommates helfen?
Ich habe das bei mir in etwa so gelöst:

defmod n_track_device1 notify track_device1:zone_0:.* {\
  my $loc = ( $EVTPART1 =~ m/inactive/ ) ? "underway" : ( $EVTPART1 =~ m/active/ ) ? "home" : undef;;\
  return  if( ! defined( $loc ) );;\
  my $pr  = ( $EVTPART1 =~ m/inactive/ ) ? "absent" : "present";;\
  CommandSet(undef, "rr_device1:FILTER=presence!=$pr location $loc");;\
}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 09 November 2018, 22:42:51
Zitat von: AbeamStart am 09 November 2018, 19:44:00
Ich kämpfe aktuell noch mit der ROOMMATES integration... Aber Dein Modul funktioniert bis jetzt tadellos.
Einfach auf die zone_N Readings reagieren.
Werden für iOS jetzt sogar noch besser erkannt, wenn du in den OwnTracks Settings "extendedData" : true setzt.
Dann werden bei jeder Position die aktiven Zonen mitgeschickt.

ZitatHättest Du noch Lust z.B. ein Attribut für einen GoogleMaps API Key einzubauen und die Möglichkeit dass als Reading dann die Adresse geführt wird?
Eher nicht, was genau hast du vor?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 09 November 2018, 23:04:22
Hmmm ich hab gar keine extended Settings auf meinem iPhone?!
VG Sebastian


Gesendet von iPhone mit Tapatalk
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 09 November 2018, 23:51:38
Zitat von: binford6000 am 09 November 2018, 23:04:22Hmmm ich hab gar keine extended Settings auf meinem iPhone?!
Du musst dazu die config.otrc Datei exportieren, bearbeiten und wieder importieren.

Beispiel:
{
  "_type" : "configuration",
  "host" : "my.fhem.ip",
  "port" : 993,
  "auth" : true,
  "username" : "user",
  "password" : "pass",
  "locatorDisplacement" : 250,
  "locatorInterval" : 900,
  "positions" : 2000,
  "ignoreInaccurateLocations" : 4000,
  "ranging" : true,
  "beaconMode" : 0,
  "keepalive" : 60,
  "tid" : "XX",
  "deviceId" : "device",
  "extendedData" : true,
  "cmd" : true,
  "allowRemoteLocation" : true,
  "remoteConfiguration" : true,
  "usepolicy" : false,
  "monitoring" : 1,
  "autostartOnBoot" : true,
  "validatedomainname" : false,
  "validatecertificatechain" : false,
  "allowinvalidcerts" : true,
  "clientpkcs" : "",
  "servercer" : "",
  "passphrase" : "",
  "ignoreStaleLocations" : 30,
  "cleanSession" : false,
  "locked" : false,
  "url" : "",
  "mode" : 0,
  "tls" : false,
  "ws" : false,
  "locatorAccuracyBackground" : 2,
  "locatorAccuracyForeground" : 0,
  "mqttProtocolLevel" : 4,
  "policymode" : 0,
  "willTopic" : "",
  "willQos" : 1,
  "willRetain" : false,
  "pubTopicBase" : "",
  "clientId" : "",
  "subTopic" : "",
  "sub" : false,
  "pubQos" : 1,
  "subQos" : 1,
  "pubRetain" : true,
  "waypoints" : [
    {
      "_type" : "waypoint",
      "tst" : 1512345678,
      "lat" : 49.5,
      "lon" : 11.0,
      "rad" : 0,
      "desc" : "MyBeacon:FDA50693-A4E2-4FB1-AFCF-C6EB07648315:19999:123"
    },
    {
      "_type" : "waypoint",
      "tst" : 1512345678,
      "lat" : 49.4,
      "lon" : 11.1,
      "rad" : 500,
      "desc" : "MyZone"
    }
  ]
}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 10 November 2018, 19:40:23
Geht das nur mir so oder spinnt owntracks auf Android?
Mein Handy bewegt sich kein Meter jedoch:

2018-11-10_19:27:53 owntracksabe abe: {"_type":"location","tid":"aa","acc":15,"batt":43,"conn":"w","lat":50.0635376,"lon":8.8487832,"t":"b","tst":1541874474}
2018-11-10_19:30:01 owntracksabe event: {"_type":"transition","tid":"aa","acc":0.0,"desc":"home","event":"leave","lat":50.0635225,"lon":8.848824218750039,"tst":1541874602,"wtst":1541686630,"t":"b"}
2018-11-10_19:30:02 owntracksabe abe: {"_type":"location","tid":"aa","acc":15,"batt":43,"conn":"w","lat":50.0635376,"lon":8.8487832,"t":"b","tst":1541874602}
2018-11-10_19:30:04 owntracksabe event: {"_type":"transition","tid":"aa","acc":0.0,"desc":"home","event":"enter","lat":50.0635225,"lon":8.848824218750039,"tst":1541874604,"wtst":1541686630,"t":"b"}
2018-11-10_19:30:04 owntracksabe abe: {"_type":"location","tid":"aa","acc":15,"batt":43,"conn":"w","lat":50.0635376,"lon":8.8487832,"t":"b","tst":1541874604}
2018-11-10_19:32:11 owntracksabe event: {"_type":"transition","tid":"aa","acc":0.0,"desc":"home","event":"leave","lat":50.0635225,"lon":8.848824218750039,"tst":1541874732,"wtst":1541686630,"t":"b"}
2018-11-10_19:32:12 owntracksabe abe: {"_type":"location","tid":"aa","acc":15,"batt":43,"conn":"w","lat":50.063539,"lon":8.8487867,"t":"b","tst":1541874732}
2018-11-10_19:32:12 owntracksabe event: {"_type":"transition","tid":"aa","acc":0.0,"desc":"home","event":"enter","lat":50.0635225,"lon":8.848824218750039,"tst":1541874732,"wtst":1541686630,"t":"b"}
2018-11-10_19:34:21 owntracksabe event: {"_type":"transition","tid":"aa","acc":0.0,"desc":"home","event":"leave","lat":50.0635225,"lon":8.848824218750039,"tst":1541874862,"wtst":1541686630,"t":"b"}
2018-11-10_19:34:22 owntracksabe abe: {"_type":"location","tid":"aa","acc":15,"batt":43,"conn":"w","lat":50.063539,"lon":8.8487867,"t":"b","tst":1541874862}
2018-11-10_19:34:23 owntracksabe event: {"_type":"transition","tid":"aa","acc":0.0,"desc":"home","event":"enter","lat":50.0635225,"lon":8.848824218750039,"tst":1541874863,"wtst":1541686630,"t":"b"}
2018-11-10_19:34:23 owntracksabe abe: {"_type":"location","tid":"aa","acc":15,"batt":43,"conn":"w","lat":50.063539,"lon":8.8487867,"t":"b","tst":1541874863}
2018-11-10_19:36:31 owntracksabe event: {"_type":"transition","tid":"aa","acc":0.0,"desc":"home","event":"leave","lat":50.0635225,"lon":8.848824218750039,"tst":1541874992,"wtst":1541686630,"t":"b"}
2018-11-10_19:36:32 owntracksabe abe: {"_type":"location","tid":"aa","acc":15,"batt":43,"conn":"w","lat":50.063539,"lon":8.8487867,"t":"b","tst":1541874992}
2018-11-10_19:36:34 owntracksabe event: {"_type":"transition","tid":"aa","acc":0.0,"desc":"home","event":"enter","lat":50.0635225,"lon":8.848824218750039,"tst":1541874994,"wtst":1541686630,"t":"b"}
2018-11-10_19:36:34 owntracksabe abe: {"_type":"location","tid":"aa","acc":15,"batt":43,"conn":"w","lat":50.063539,"lon":8.8487867,"t":"b","tst":1541874994}


Hier mal meine mosquitto.conf:

pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_timestamp true
password_file /etc/mosquitto/passwd
autosave_interval 60
connection_messages true
log_dest stderr
log_dest topic
log_type error
log_type warning
log_type notice
log_type information
log_type all
log_type debug
log_timestamp true
listener 1883 127.0.0.1
listener 8883
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d


Hier mal meine App Config:

{"_type":"configuration","waypoints":[{"_type":"waypoint","desc":"home","lat":50.0635225,"lon":8.848824218750039,"major":1,"minor":1,"rad":50,"tst":1541686630,"uuid":"XXX72731-40FE-4DEF-B80E-E12EC17BC403"}],"auth":true,"autostartOnBoot":true,"beaconBackgroundScanPeriod":30,"beaconForegroundScanPeriod":0,"beaconLayout":"m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24","beaconMode":0,"cleanSession":false,"clientId":"abeabeandroid","cmd":true,"cp":false,"deviceId":"abeandroid","host":"XXX.org","ignoreInaccurateLocations":0,"ignoreStaleLocations":0,"keepalive":3600,"locatorAccuracyBackground":1,"locatorAccuracyForeground":1,"locatorDisplacement":500,"locatorInterval":900,"mode":0,"mqttProtocolLevel":3,"notification":true,"notificationHigherPriority":false,"notificationLocation":true,"password":"XXX","playOverride":false,"port":8883,"pub":true,"pubExtendedData":true,"pubQos":1,"pubRetain":true,"pubTopicBase":"owntracks/%u/%d","ranging":false,"remoteConfiguration":true,"sub":true,"subQos":2,"subTopic":"owntracks/+/+","tid":"aa","tls":false,"username":"abe","ws":false}


Mach ich irgendwas falsch?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 10 November 2018, 20:02:38
"home" ist ne Bluetooth Beacon? Die haben immer Radius 0 in den Settings.
Wahrscheinlich liegt's aber daran, dass dein Telefon die Bluetooth Verbindung zur Beacon verliert.
Keine Ahnung wie das bei Android läuft.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 10 November 2018, 22:11:14
Zitat von: Markus M. am 10 November 2018, 20:02:38
"home" ist ne Bluetooth Beacon? Die haben immer Radius 0 in den Settings.
Wahrscheinlich liegt's aber daran, dass dein Telefon die Bluetooth Verbindung zur Beacon verliert.
Keine Ahnung wie das bei Android läuft.
Habe Beacon und Radius 50.

Ichteste mal ohne Beacon.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 10 November 2018, 22:47:14
Habe im Esszimmer, Küche, WC, Wohnzimmer und Bad jeweils einen RaspberryPi 3 mit max2play für Squeezebox.
Habe alle Raspis mit BLE-iBeacon (https://github.com/sascha432/BLE-iBeacon) ausgestattet.
Alle haben die gleiche UUID und Major ID 1, lediglich die Minor ID wird von 1-5 verteilt.
Wäre für home ein reine Beacon Erkennung besser, nur GPS oder eine Mischung?
Wer hat hier Erfahrung? Familie hat nur Android Phones.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 10 November 2018, 23:02:33
Zitat von: Markus M. am 09 November 2018, 22:42:51
Eher nicht, was genau hast du vor?
Naja habe ein Userreading standort { fhem("get abetracking address short") } gesetzt, aber ein schlechtes Gewissen gegenüber OpenStreetMap...
Evtl. kann mir auch jemand bei einem passendem Userreading mit Google API Code dienen...
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 10 November 2018, 23:32:22
Hallo Markus,

vor einer ganzen Weile hatte ich für mich in Dein Modul eine Funktion für ROOMMATES eingebaut.
Damit kann man es in ROOMMATES über das Attribut rr_geofenceUUIDs ohne weitere notifys etc. nutzen.
Vielleicht magst du es mit reinnehmen.

Grüße
Klaus
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 10 November 2018, 23:43:36
Zitat von: AbeamStart am 10 November 2018, 22:11:14
Habe Beacon und Radius 50.
Das ist falsch, siehe OwnTracks Booklet.
Wenn du eine Beacon einträgst, sollte der Radius immer 0 sein.

Zitat von: AbeamStart am 10 November 2018, 22:47:14Wäre für home ein reine Beacon Erkennung besser, nur GPS oder eine Mischung?
Wer hat hier Erfahrung? Familie hat nur Android Phones.
Beides.
Zone mindestens 100 Meter, je nach GPS Abweichung.
Enter Event bei irgendeiner der Beacons -> Home
Leave Event für die Zone während keine Beacons da sind -> Away

Zitat von: AbeamStart am 10 November 2018, 23:02:33
Naja habe ein Userreading standort { fhem("get abetracking address short") } gesetzt, aber ein schlechtes Gewissen gegenüber OpenStreetMap...
Zu Recht. Vor allem weil du damit nur Datenmüll produzierst.
Die Postadresse der Position an der dein OwnTracks sendet, weil du gerade an der Ampel hältst, ist nicht nur redundant sondern auch noch komplett irrelevant.
Überleg dir stattdessen, welche Adressen du tatsächlich brauchst. Zum Beispiel Positionen an denen du dich mindestens X Minuten befindest.

https://maps.googleapis.com/maps/api/geocode/json?latlng=POSITION&key=KEY
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 11 November 2018, 09:53:21
Guten Morgen ihr Tracker  8)

ZitatHallo Markus,

vor einer ganzen Weile hatte ich für mich in Dein Modul eine Funktion für ROOMMATES eingebaut.
Damit kann man es in ROOMMATES über das Attribut rr_geofenceUUIDs ohne weitere notifys etc. nutzen.
Vielleicht magst du es mit reinnehmen.

Dazu werden zwei weitere Attribute in der $hash->{AttrList} benötigt:
homeradius
wayhomeradius

Das fände ich auch sehr interessant!
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 11 November 2018, 11:47:10
Hmm, eigentlich lieber nicht.
Der Grund dafür ist, dass ich dann einen Haufen (auf den ersten Blick sehr "kostspieligen" und nur für Owntracks funktionierenden) Code in meinem Modul hätte, den ich selbst nicht komplett verstehe, für etwas das man auch mit einem wesentlich kürzeren Notify auf distance erledigen kann.
Hilft es euch, wenn ich den Wert zusätzlich noch  nicht-gerundet als Event ausgebe?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: AbeamStart am 11 November 2018, 12:46:52
Zitat von: Markus M. am 10 November 2018, 23:43:36
Das ist falsch, siehe OwnTracks Booklet.
Wenn du eine Beacon einträgst, sollte der Radius immer 0 sein.
Beides.
Zone mindestens 100 Meter, je nach GPS Abweichung.
Enter Event bei irgendeiner der Beacons -> Home
Leave Event für die Zone während keine Beacons da sind -> Away
Zu Recht. Vor allem weil du damit nur Datenmüll produzierst.
Die Postadresse der Position an der dein OwnTracks sendet, weil du gerade an der Ampel hältst, ist nicht nur redundant sondern auch noch komplett irrelevant.
Überleg dir stattdessen, welche Adressen du tatsächlich brauchst. Zum Beispiel Positionen an denen du dich mindestens X Minuten befindest.

https://maps.googleapis.com/maps/api/geocode/json?latlng=POSITION&key=KEY

Verstehe ich nicht so ganz, also doch beides.
Habe festgestellt dass Beacons trotz meiner großzügigen Verteilung von 5 Raspis als iBeacon im Haus ständige active inactive (2 Minuten takt) nach sich ziehen.
GPS mit Radius 100 scheint nicht so sprunghaft, aber wie schon gesagt dauert der Event enter länger als bei Beacons.

Mit dem Datenmüll gebe ich Dir natürlich Recht, obwohl ich geloggte Koordinaten eher als Müll bezeichne als geloggte Standorte, da die wenigstens im Log ohne Umwandlung lesbar sind.

Kann ich mit den Beacons noch auf meinem S9 Plus etwas tunen? Beim S7 Edge meiner Frau ist es genauso...
Titel: Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 11 November 2018, 13:18:16
Zitat von: AbeamStart am 11 November 2018, 12:46:52Verstehe ich nicht so ganz, also doch beides.
Aber als verschiedene Zonen in OwnTracks.
Wenn du ne Beacon drin stehen hast, gehört der Radius auf 0 gesetzt.

ZitatHabe festgestellt dass Beacons trotz meiner großzügigen Verteilung von 5 Raspis als iBeacon im Haus ständige active inactive (2 Minuten takt) nach sich ziehen.
GPS mit Radius 100 scheint nicht so sprunghaft, aber wie schon gesagt dauert der Event enter länger als bei Beacons.
Deshalb auch die Beacons für Enter, die Zone für Leave.
Die Zone musst du dabei gerade gross genug einrichten, dass deine Position nicht aufgrund von GPS Ungenauigkeiten rausspringt, während du zuhause bist.

ZitatKann ich mit den Beacons noch auf meinem S9 Plus etwas tunen?
Beim nächsten Mal ein iPhone kaufen?  :-\
Christoph (der Entwickler von OwnTracks für iOS) hatte mir mal erklärt wie das in iOS funktioniert, da sind z.B. Zonen und Beacons bereits auf OS Ebene integriert.

Zum Geocoding: OwnTracks Android hat sowas scheinbar integriert, via https://opencagedata.com/
Schau dir mal die Settings hier an: https://owntracks.org/booklet/tech/json/ -> notificationGeocoder
Wenn es klappt, bitte Log von dem was ankommt posten, dann kann ich es einbauen.

edit: Bei mir tut sich da im Android Client selbst mit diesen Settings gar nichts.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 11 November 2018, 17:28:44
Hallo Markus,
bin mal wieder was rumgefahren...... falls Du nochmal Hand an das Modul anlegst, könntest Du evtl 'hamlet' = "Weiler" mit Aufnehmen? Probier mal:
https://nominatim.openstreetmap.org/reverse?format=json&lat=47.7447509765625&lon=11.7224374398416

Mit "get livetracking address 47.7447509765625,11.7224374398416" kommt "1 83703 Deutschland"

Hamlet muss wohl die Strasse sein, denn die Postalische Adresse ist
Gut Kaltenbrunn
Kaltenbrunn 1
83703 Gmund
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 11 November 2018, 18:36:33
Zitat von: inoma am 11 November 2018, 17:28:44falls Du nochmal Hand an das Modul anlegst, könntest Du evtl 'hamlet' = "Weiler" mit Aufnehmen? Probier mal:
https://nominatim.openstreetmap.org/reverse?format=json&lat=47.7447509765625&lon=11.7224374398416

Gut Kaltenbrunn
Kaltenbrunn 1
83703 Gmund

Google sagt:
Kaltenbrunner Str. 1, 83703 Gmund am Tegernsee, Germany

Wenn ich das mit den Daten aus Nominatim vergleiche, sehe ich dass dort die Ortschaft komplett fehlt und bei Bezirk nochmal "Bayern" eingetragen ist.
Dein Beispiel ist also eigentlich kein Sonderfall mit "hamlet", die Daten sind einfach nur Scheiße gepflegt.
In der deutschen Adress-Logik funktioniert das so eh nicht, weil da ein Weiler oder eine Einöde als Ersatz für den Strassennamen dient und auch noch der PLZ-gebende Ort nötig ist.

Naja egal -> Anhang
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 12 November 2018, 00:33:11
Hallo,
Ich habe jetzt auch mal versucht den TraccarClient auf einem Android Gerät in Betrieb zu nehmen.
Ich bekomme folgenden Fehler mit der letzten Version:


2018.11.12 00:24:46 1: OsmAnd webcall hash not defined!


ich habe über den Browser folgende URL eingegeben:


https://user:pass@<IP>:8083/fhem/osmand/?id=123456&lat=48.9&lon=9.48&tamp=1541698650&hdop=0.5&altitude=400=0.5&altitude=400


Der traccar client meldet "Übertragung fehlerhaft".
Mit einer älteren Version ging es über den Browser mal kurzzeitig.

Gruß

Carlos
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 12 November 2018, 00:41:07
Zitat von: Markus M. am 11 November 2018, 11:47:10
Hmm, eigentlich lieber nicht.
Der Grund dafür ist, dass ich dann einen Haufen (auf den ersten Blick sehr "kostspieligen" und nur für Owntracks funktionierenden) Code in meinem Modul hätte, den ich selbst nicht komplett verstehe, für etwas das man auch mit einem wesentlich kürzeren Notify auf distance erledigen kann.
Hilft es euch, wenn ich den Wert zusätzlich noch  nicht-gerundet als Event ausgebe?

Deine Entscheidung, war nur ein Vorschlag.  ;)


Du hast Recht, im Moment läuft das nur mit Owntracks (Hatte es vorerst nur für den Eigenbedarf geschrieben).
Die Vorlage hatte ich glaube ich aus dem Geofancy Modul.

Es würde sich aber relativ einfach für alles erweitern lassen was Koordinaten liefert.

Zusätzlich werte ich alterntiv die transition Botschaften aus (wenn kein Radius in den Attributen angegeben wird).
Ich habe alles in eine separate Funktion gepackt, das sich es einfacher in Deine Versionen einbauen lässt.
Ein notify ist sicher kürzer, da weiß ich auch vorher ob ich mit einem Radius oder den transitions arbeiten möchte.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 12 November 2018, 01:01:19
Zitat von: carlos am 12 November 2018, 00:33:11
Ich habe jetzt auch mal versucht den TraccarClient auf einem Android Gerät in Betrieb zu nehmen.
Ich bekomme folgenden Fehler mit der letzten Version:
2018.11.12 00:24:46 1: OsmAnd webcall hash not defined!
Setz das Attribut mal auf 0 und wieder auf 1.
Wenn's dann wieder funktioniert, hab ich wohl den Start vergessen und du hast dein FHEM seitdem neu gestartet?!

Zitatich habe über den Browser folgende URL eingegeben:
https://user:pass@<IP>:8083/fhem/osmand/?id=123456&lat=48.9&lon=9.48&tamp=1541698650&hdop=0.5&altitude=400=0.5&altitude=400

Der traccar client meldet "Übertragung fehlerhaft".
Der Android Traccar Client kann scheinbar keine Authentifizierung.
Wenn du kein MQTT einrichten möchtest, kannst du mal anfangen den HTTP Mode von OwnTracks auszuprobieren: https://owntracks.org/booklet/tech/http/
Wenn damit was ankommt, kann ich das einbauen
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 12 November 2018, 08:35:20
Hallo,
Hilft leider nix:

2018.11.12 08:31:41 1: OsmAnd webcall hash not defined!
2018.11.12 08:33:18 3: Disabling livetracking url for tracking
2018.11.12 08:33:54 1: Enabling livetracking url for tracking
2018.11.12 08:34:04 1: OsmAnd webcall hash not defined!


Interessanterweise kommen immer mehr connections dazu,wenn ich per browser aufrufe:


WEB Initialized
WEB_95.222.30.79_23211 Connected
WEB_95.222.30.79_23216 Connected
WEB_95.222.30.79_23248 Connected
WEB_95.222.30.79_23250 Connected
WEB_95.222.30.79_23251 Connected
WEB_95.222.30.79_23267 Connected


Gruß
Carlos
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 12 November 2018, 08:38:23
Zitat von: Markus M. am 11 November 2018, 11:47:10
Hmm, eigentlich lieber nicht.
Der Grund dafür ist, dass ich dann einen Haufen (auf den ersten Blick sehr "kostspieligen" und nur für Owntracks funktionierenden) Code in meinem Modul hätte, den ich selbst nicht komplett verstehe, für etwas das man auch mit einem wesentlich kürzeren Notify auf distance erledigen kann.
Hilft es euch, wenn ich den Wert zusätzlich noch  nicht-gerundet als Event ausgebe?
Als Entscheidungshilfe würde ich mich auch anbieten, die restlichen Dienste mit zu implementieren.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 12 November 2018, 10:21:37
Zitat von: carlos am 12 November 2018, 08:35:20Hilft leider nix:
2018.11.12 08:31:41 1: OsmAnd webcall hash not defined!
2018.11.12 08:33:18 3: Disabling livetracking url for tracking
2018.11.12 08:33:54 1: Enabling livetracking url for tracking
2018.11.12 08:34:04 1: OsmAnd webcall hash not defined!
Läuft also, wird nur nicht mehr gefunden.
Du hast nicht zufällig irgendwas im Attribut osmandId stehen?
Oder hattest da was drin stehen als du das zuletzt gestartet hast...
Im Zweifelsfall: Deaktivieren, FHEM neu starten, nochmal aktivieren.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 12 November 2018, 13:05:00
Also so funktionierts jetzt.
Per browser werden die Daten auch übertragen, jedoch per traccar client (egal ob IOS oder android) kommt immer "Übertragung fehlerhaft".
Schade, irgendwie scheint der traccar client da ein Problem zu haben.
Ich probiere weiter.
Gruß
Titel: Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 12 November 2018, 13:49:17
iOS sollte funktionieren, zumindest tut es das bei mir - allerdings habe ich ohne HTTPS getestet.
Du kannst ja erst mal mit Verbose 5 nachsehen ob überhaupt irgendwas ankommt.
Wenn nicht liegt es vielleicht am SSL Zertifikat.

Zur Not einfach mal OwnTracks im HTTP Modus ausprobieren, wenn du die ankommenden Daten postest, kann ich das gerne noch erweitern.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 12 November 2018, 14:39:03
Hallo,
ich übertrage die livetracking readings via fhem2fhem in mein Haupt-FHEM. Leider wird bei address nur die erste Zeile (Straße) übertragen.
Der Rest fällt wegen dem NewLine raus:
Industriestraße ␤56218 Mülheim-Kärlich ␤Deutschland
Würde es auch als userreading lösen aber scheitere am Split auf "␤". 
Irgendwelche Ideen/Vorschläge wie ich das lösen könnte?  ::)
VG Sebastian

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 12 November 2018, 16:14:01
get address short ?!
Enthält zwar mehr Daten aber keine Newline.
Ein Bugfix für FHEM2FHEM wäre natürlich eleganter.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 12 November 2018, 17:03:25
Zitatget address short ?!
Da bekomme ich aber keine shorte address...  :o
Straße, Ort, Kreis, Rheinland-Pfalz, PLZ, Deutschland
Wohingegen get address das gewünschte Ergebnis liefert:
Straße, PLZ Ort, Deutschland
Wobei Deutschland ja noch zuviel des Guten ist...
ZitatEin Bugfix für FHEM2FHEM wäre natürlich eleganter.
Sehe ich auch so...

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 12 November 2018, 18:45:07
Habs jetzt so gelöst:
get address short und dann mit userreadings
street {(split(/,/,ReadingsVal($name,'address','')))[0];;},
city {(split(/,/,ReadingsVal($name,'address','')))[1];;},
plz {(split(/,/,ReadingsVal($name,'address','')))[4];;}


VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 12 November 2018, 22:52:43
{my @addr=(split(/\n/,ReadingsVal("livetracking","address","na"))); return $addr[0] . ", " . $addr[1] . ", " . $addr[2]}
sollte auch mit 'get address' gehen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 12 November 2018, 22:56:21
Das hatte ich auch schon probiert auf \n zu splitten - allerdings nicht in ein Array...
Probier ich morgen mal aus.
Danke und VG Sebastian


Gesendet von iPad mit Tapatalk
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 12 November 2018, 23:11:46
Zitat von: klausw am 12 November 2018, 08:38:23
Als Entscheidungshilfe würde ich mich auch anbieten, die restlichen Dienste mit zu implementieren.
Ich sehe das wirklich nicht hier im Code und bin ausdrücklich kein Fan von irgendwelchen Verstrickungen, wie sie bei PRESENCE oder RESIDENTS in Mode gekommen sind. Ich halte das sogar ausdrücklich für kompletten Unsinn, Funktionen komplett fremder Module aufzurufen.
FHEM Module sollten klar voneinander getrennt sein und die Daten sollten mit den dafür vorhandenen Events ausgetauscht werden.

Ich werde also keinen fremden Code mit Abhängigkeiten zu anderen Modulen direkt einbinden.
Wenn ich die Einbindung meiner Module als Datenquelle mit irgendwelchen Readings oder Events erleichtern kann, tue ich das aber natürlich gerne.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 12 November 2018, 23:30:19
So, hier mal wieder eine etwas umfangreichere Testversion:
- Life360 ist wieder drin (hat ebenfalls einen Android Client)
- OwnTracks HTTP mode wird unterstützt (über das osmandServer Attribut)
- Ein paar Bugs sind weg

Sollte ich noch irgendwo Logging vergessen haben oder was nicht funktionieren: bitte melden :)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 13 November 2018, 09:01:37
Zitat von: inoma am 12 November 2018, 22:52:43
{my @addr=(split(/\n/,ReadingsVal("livetracking","address","na"))); return $addr[0] . ", " . $addr[1] . ", " . $addr[2]}
sollte auch mit 'get address' gehen.
Moin inoma,
super das passt. Danke!
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 13 November 2018, 09:06:48
Zitat von: binford6000 am 13 November 2018, 09:01:37
Moin inoma,
super das passt. Danke!
VG Sebastian
get livetracking address singleline  ;)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 13 November 2018, 09:15:40
Zitat von: Markus M. am 13 November 2018, 09:06:48
get livetracking address singleline  ;)

Oder so  :)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 13 November 2018, 09:22:43
Moin Markus,
erstmal vielen Dank für deine Arbeit!
Ich komme ja kaum noch mit dem Testen hinterher...  ;D

ZitatIch sehe das wirklich nicht hier im Code und bin ausdrücklich kein Fan von irgendwelchen Verstrickungen, wie sie bei PRESENCE oder RESIDENTS in Mode gekommen sind.
Im Fall ROOMMATE und RESIDENTS finde ich die Verknüpfung von PRESENCE schon sehr sinnvoll.
Und dazu gehört dann m.M.n. auch der Aufenthaltsort.

ZitatWenn ich die Einbindung meiner Module als Datenquelle mit irgendwelchen Readings oder Events erleichtern kann, tue ich das aber natürlich gerne.
Schön zu lesen. Es wird aber weiterhin sehr individuell gehandhabt werden.
Ich für meinen Teil könnte mit der Verknüpfung zu ROOMMATE auch nur einen Teil meines Standort.DOIFs erschlagen.
Ich kann also deinen Ansatz "keep it as simple as possible" durchaus verstehen  ;)

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 13 November 2018, 09:45:15
Zitat von: Markus M. am 12 November 2018, 23:11:46
Ich sehe das wirklich nicht hier im Code und bin ausdrücklich kein Fan von irgendwelchen Verstrickungen, wie sie bei PRESENCE oder RESIDENTS in Mode gekommen sind. Ich halte das sogar ausdrücklich für kompletten Unsinn, Funktionen komplett fremder Module aufzurufen.
FHEM Module sollten klar voneinander getrennt sein und die Daten sollten mit den dafür vorhandenen Events ausgetauscht werden.

Ich werde also keinen fremden Code mit Abhängigkeiten zu anderen Modulen direkt einbinden.
Wenn ich die Einbindung meiner Module als Datenquelle mit irgendwelchen Readings oder Events erleichtern kann, tue ich das aber natürlich gerne.

Kann Deinen Standpunkt verstehen, besonders was modulübergreifenden Code angeht.
Aus Anwendersicht finde ich die Verstrickung recht praktisch, da ich einfach faul bin  ;)

Längen und Breitengrade als separate Readings würde ich super finden. Letztendlich lassen die sich aber auch aus location extrahieren.

Zitat von: Markus M. am 12 November 2018, 23:30:19
- OwnTracks HTTP mode wird unterstützt (über das osmandServer Attribut)
Bedeutet ich nutze das Ganze ohne MQTT?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 13 November 2018, 09:50:11
ZitatLängen und Breitengrade als separate Readings würde ich super finden. Letztendlich lassen die sich aber auch aus location extrahieren.
Here you are - als userreading:
locationLat {(split(/,/,ReadingsVal($name,'location','')))[0];;},
locationLong {(split(/,/,ReadingsVal($name,'location','')))[1];;}


VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 13 November 2018, 14:17:40
Also zur Info mit der letzten Version funktioniert der Traccar client auf dem iphone mit http, obwohl er ab und zu  "Übertragung fehlerhaft" sagt.

/osmand?id=iphone&timestamp=1542114767&lat=1.234&lon=1.2349&speed=0&bearing=35.06345912317749&altitude=210.9333821899598&batt=49
2018.11.13 14:12:48 4: tracking OsmAnd Server: 2018-11-13 14:12:47

Der traccar client auf android mit http funktioniert gar nicht, da kommt quasi immer "Übertragung fehlerhaft", selten mal ein "Positionsupdate", aber auf dem FHEM lifetrack device kommt nichts an.

Interesanter weise gibts es immer mehrer Connections von der Art:
WEB_95.222.30.79_23276   Connected

Ist das so gewollt?
Wird hier unterschieden zwischen mehreren lifetracking devices?
Gruß

Carlos
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 13 November 2018, 15:53:59
Zitat von: klausw am 13 November 2018, 09:45:15Längen und Breitengrade als separate Readings würde ich super finden. Letztendlich lassen die sich aber auch aus location extrahieren.
Bedeutet ich nutze das Ganze ohne MQTT?

1. Baue ich ein
2. Richtig, OwnTracks hat alternativ zu MQTT auch einen HTTP mode



Zitat von: carlos am 13 November 2018, 14:17:40
Der traccar client auf android mit http funktioniert gar nicht, da kommt quasi immer "Übertragung fehlerhaft", selten mal ein "Positionsupdate", aber auf dem FHEM lifetrack device kommt nichts an.

Interesanter weise gibts es immer mehrer Connections von der Art:
WEB_95.222.30.79_23276   Connected

Ist das so gewollt?
Wird hier unterschieden zwischen mehreren lifetracking devices?

Android habe ich mit Traccar auch nicht hinbekommen. Unterstützt kein Auth.
Die Connections sind normal, da der Client bei jedem Update eine neue Verbindung aufbaut.
Verschiedene Devices sollten mit dem Attribut osmandId möglich sein.
Da muss dann die ID aus Traccar oder der Identifier aus OwnTracks rein.
Dann werden trotz gleicher URL nur jeweils die passenden Aufrufe hergenommen.
Glaube ich... Intensiv getestet habe ich es noch nicht - das ist wenn du mehrere Geräte hast jetzt dein Job ;)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 13 November 2018, 16:57:03
Würde ich gerne machen, habe aber nur 1 iphone der Rest ist alles android.
Also geht das erst mal nicht.
Ich teste aber weiter mit MQTT device und HTTPMOD auf Basis des traccar api.
Habe da jetzt erst mal vom Traccar Server ein event forwarding an einen MQTT Server eingebaut.
Kann mir das ja dann in einen owntrack kompatiblen JSON string umwandeln, dann sollte das auch mit android gehen.
Gute Arbeit dein modul.
Gruß

Carlos
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 13 November 2018, 17:10:49
Zitat von: carlos am 13 November 2018, 16:57:03
Würde ich gerne machen, habe aber nur 1 iphone der Rest ist alles android.
Habe da jetzt erst mal vom Traccar Server ein event forwarding an einen MQTT Server eingebaut.
Kann mir das ja dann in einen owntrack kompatiblen JSON string umwandeln, dann sollte das auch mit android gehen.
Hat der Traccar Server eine eigene Funktion um Daten an MQTT zu senden?
Dann könnte ich das noch so erweitern dass du das JSON nicht umbauen musst.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolle02 am 13 November 2018, 18:54:14
Zitat von: Markus M. am 13 November 2018, 17:10:49
Hat der Traccar Server eine eigene Funktion um Daten an MQTT zu senden?

Hilft da dieser Link eventuell weiter?
https://github.com/traccar/traccar/issues/1582 (https://github.com/traccar/traccar/issues/1582)

Insbesondere der letzte Post vom 26.03.2018?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 13 November 2018, 21:54:19
Ich teste gerade 2 Möglichkeiten:
https://github.com/jpmens/from-traccar (https://github.com/jpmens/from-traccar)
Das funktioniert schon. Da kriege ich diverse JSON strings für position oder events(geofenceEnter oder geofenceExit).
Leider nicht in dem Format wie dein modul sie verarbeitet.
Dann gibt es noch:
https://github.com/ivanfmartinez/ivanfm-traccar-mqtt (https://github.com/ivanfmartinez/ivanfm-traccar-mqtt)
Habe ich gerade mal gebaut und versuche es in tracccar zu integrieren.
Was brauchst du um das zu erweitern?
Ich nehme an den JSON String, das sind genau die die man über das traccar api auch bekommt.

Es gibt sogar eine Möglichkeit die positionsdaten direkt an eine URL zu schicken, könnte dann sogar FHEM bzw. dein module sein:

<entry key='forward.enable'>true</entry>
<entry key='forward.url'>http://127.0.0.1:8840/positions?id={uniqueId}&amp;lat={latitude}&amp;lon={longitude}</entry>
<entry key='forward.json'>false</entry>     


Gruß

Carlos
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 13 November 2018, 22:37:13
Zitat von: carlos am 13 November 2018, 21:54:19
Ich teste gerade 2 Möglichkeiten:
https://github.com/jpmens/from-traccar (https://github.com/jpmens/from-traccar)
Das funktioniert schon. Da kriege ich diverse JSON strings für position oder events(geofenceEnter oder geofenceExit).
Leider nicht in dem Format wie dein modul sie verarbeitet.
In welchem Format kommen sie denn an?
Ich bräuchte den JSON String.


ZitatEs gibt sogar eine Möglichkeit die positionsdaten direkt an eine URL zu schicken, könnte dann sogar FHEM bzw. dein module sein:

<entry key='forward.enable'>true</entry>
<entry key='forward.url'>http://127.0.0.1:8840/positions?id={uniqueId}&amp;lat={latitude}&amp;lon={longitude}</entry>
<entry key='forward.json'>false</entry>     
So wie es auch in Traccar schon ankommt, ein 1:1 Forward:
http://127.0.0.1:8083/fhem/osmand?id={uniqueId}&lat={latitude}&lon={longitude}&timestamp={timestamp}&hdop={hdop}&altitude={altitude}&speed={speed}

Was passiert wenn du forward.json aktivierst?


Und noch mit latitude und longitude im Anhang
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 14 November 2018, 00:48:18
War das ein Kampf,  nach langem probieren habe ich es geschaft.
Das Problem war die user/password authentifizierung in FHEM.
Ich muste eine WEB instanz ohne basicauth definieren, dann geht es mit folgendem forwarding in traccar(leider nur lokal, also FHEM und TRACCAR auf dem gleichen Rechner):


    <entry key='forward.url'>http://127.0.0.1:8084/fhem/osmand?id={name}&amp;lat={latitude}&amp;lon={longitude}&amp;timestamp={fixTime}&amp;altitude={altitude}&amp;speed={speed}&amp;accuracy={accuracy}</entry>
    <entry key='forward.json'>false</entry>


Es kommen aber nicht alle Werte an:
reading velocity = 0 entspricht speed={speed}
reading  altitude wird nicht angelegt
reading  accuracy wird nicht angelegt

lon={longitude} ;lat={latitude} sind korrekt dementsprechend dann auch location und address

Muss mal in den Sourcen von traccar nachschauen, ob es noch andere parameter gibt.

Für heute ist erst mal Schluß

Gruß

Carlos
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: ThomasMagnum am 14 November 2018, 09:28:12
Hallo zusammen,

ist es evtl. auch möglich das Modul dahingehend zu erweitern das es Daten von NExtcloud (PhoneTrack) entgegennimmt. Das NExtcloud Modul stellt hierfür eine JSON Abfrage zur Verfügung.
Diese sieht folgendermaßen aus:
{"b8e55af7ac5df0ff39e27d4609b00405":{"Test001":{"lat":52.1469599,"lon":9.448318,"timestamp":1542141954,"batterylevel":55,"satellites":0,"accuracy":22.19,"altitude":0,"speed":0,"bearing":0}}}

Wobei "b8e55..." eine von Nextcloud generierter String ist, "Test001" der Devicename, die restlichen Angaben sollten ja klar sein.
Sofern noch etwas geliefert werden soll, kann ich dies gerne tun.

Der Grund für meine Anfrage ist die Tatsache das die Abläufe über das Modul natürlich viel einfacher zu integrieren wären als über den manuellen Weg.

Vielen Dank schon mal für das Prüfen ob hier was möglich ist.

Gruß, Thomas
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 14 November 2018, 10:54:00
Zitat von: ThomasMagnum am 14 November 2018, 09:28:12
Hallo zusammen,

ist es evtl. auch möglich das Modul dahingehend zu erweitern das es Daten von NExtcloud (PhoneTrack) entgegennimmt. Das NExtcloud Modul stellt hierfür eine JSON Abfrage zur Verfügung.
Diese sieht folgendermaßen aus:
{"b8e55af7ac5df0ff39e27d4609b00405":{"Test001":{"lat":52.1469599,"lon":9.448318,"timestamp":1542141954,"batterylevel":55,"satellites":0,"accuracy":22.19,"altitude":0,"speed":0,"bearing":0}}}

Wobei "b8e55..." eine von Nextcloud generierter String ist, "Test001" der Devicename, die restlichen Angaben sollten ja klar sein.
Sofern noch etwas geliefert werden soll, kann ich dies gerne tun.

Der Grund für meine Anfrage ist die Tatsache das die Abläufe über das Modul natürlich viel einfacher zu integrieren wären als über den manuellen Weg.

Vielen Dank schon mal für das Prüfen ob hier was möglich ist.

Gruß, Thomas

Boah das wäre ja cool  8)
Habe auch Nextcloud im Einsatz. Owntracks als Tracking app würde ja weiterhin verwendet, korrekt?
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: ThomasMagnum am 14 November 2018, 11:00:22
Hallo Sebastian,

ja, Owntracks könnte weiter genutzt werden.
Siehe: https://gitlab.com/eneiluj/phonetrack-oc/wikis/userdoc#logging-methods (https://gitlab.com/eneiluj/phonetrack-oc/wikis/userdoc#logging-methods)

Ich nutze GPSLogger und bin sehr zufrieden damit.

Gruß, Thomas
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 14 November 2018, 11:10:01
Hallo Thomas,
habs gerade mal bei mir in Betrieb genommen  :D
Es wäre echt mega wenn Markus das einbauen könnte.
Biete mich selbstverständlich auch als Tester/ Datenlieferant an  ;)

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 14 November 2018, 13:39:09
Wie würde das denn ankommen?
Als HTTP Aufruf oder in einem Reading/Event?
Gebt mir mal ein Beispiel.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 14 November 2018, 14:21:22
Zitat von: Markus M. am 14 November 2018, 13:39:09
Wie würde das denn ankommen?
Als HTTP Aufruf oder in einem Reading/Event?
Gebt mir mal ein Beispiel.
Als HTTP-Aufruf:
https://<nextcloudserver>/apps/phonetrack/APIgetLastPositions/<session_name>
liefert dann ein JSON:
{"<session_name>":{"<decvice_name>":{"lat":49.123456789,"lon":8.123456789,"timestamp":1542201910,"batterylevel":95,"satellites":0,"accuracy":65,"altitude":137,"speed":0,"bearing":0}}}

session_name ist der von Thomas angesprochene String von PhoneTrack.
device_name kann vom Anwender vergeben werden.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 14 November 2018, 18:18:34
Neue Info, wenn man folgendes noch in traccar konfiguriert dann geht auch basic autentication:


<entry key='event.forward.header'> Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l</entry>-->

Gruß
Carlos
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 15 November 2018, 10:30:29
@Thomas:
Weißt du ob PhoneTrack auch die Owntracks Regionen auslesen kann?
Ich habe leider nichts finden können. Wäre allerdings für mich ein Showstopper was PhoneTrack angeht...

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: ThomasMagnum am 15 November 2018, 13:55:12
Hi Sebastian,

nein das weiß ich nicht, glaube aber das dies nicht geht.
In Phone Track kannst du aber in der Web Oberfläche eigene Zonen definieren. Das ist aber in meinen Augen noch nicht so das Gelbe vom Ei.
Über die Benachrichtigungsfunktion der Nextcloud kannst du dich beim Erreichen / Verlassen der jeweiligen Zone auch über die generelle Benachrichtigungsfunktion der NC informieren lassen. Das könnte man z.B. nutzen um in FHEM Dummys zu setzen. Wie gesagt, funktioniert im Moment noch nicht so sauber.

Evtl. kann der Entwickler das vielleicht einarbeiten.

Gruß, Thomas
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 15 November 2018, 15:05:45
Zitat von: ThomasMagnum am 15 November 2018, 13:55:12
Hi Sebastian,

nein das weiß ich nicht, glaube aber das dies nicht geht.
In Phone Track kannst du aber in der Web Oberfläche eigene Zonen definieren. Das ist aber in meinen Augen noch nicht so das Gelbe vom Ei.
Über die Benachrichtigungsfunktion der Nextcloud kannst du dich beim Erreichen / Verlassen der jeweiligen Zone auch über die generelle Benachrichtigungsfunktion der NC informieren lassen. Das könnte man z.B. nutzen um in FHEM Dummys zu setzen. Wie gesagt, funktioniert im Moment noch nicht so sauber.

Evtl. kann der Entwickler das vielleicht einarbeiten.

Gruß, Thomas

Hallo Thomas,
ja das habe ich bereits bemerkt und auch eine Mail bekommen. Wobei ich heute durchgehend im Homeoffice
bin und trotzdem eine Mail zum Verlassen der home Zone bekommen habe...  :o

Dann doch lieber stabil via MQTT und Onwtracks.
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 15 November 2018, 20:22:58
Zitat von: binford6000 am 14 November 2018, 14:21:22
Als HTTP-Aufruf:
https://<nextcloudserver>/apps/phonetrack/APIgetLastPositions/<session_name>
liefert dann ein JSON:
{"<session_name>":{"<decvice_name>":{"lat":49.123456789,"lon":8.123456789,"timestamp":1542201910,"batterylevel":95,"satellites":0,"accuracy":65,"altitude":137,"speed":0,"bearing":0}}}

session_name ist der von Thomas angesprochene String von PhoneTrack.
device_name kann vom Anwender vergeben werden.

Ganz nett, aber so irgendwie auch relativ sinnlos.
Solange sich Nextcloud nicht so einrichten lässt dass das automatisch in ein Reading gepusht wird, bringt das relativ wenig weil es immer verzögert ist.
Ich sehe da auch nur eine Position, wahrscheinlich die jeweils aktuelle?
Wenn Nextcloud das per Reading oder HTTP Call pushen kann würde ich es einbauen, ansonsten eher nicht.
Mittlerweile sollten wir eigentlich auch genug Apps zur Auswahl haben.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 16 November 2018, 07:39:12
ZitatGanz nett, aber so irgendwie auch relativ sinnlos.
Solange sich Nextcloud nicht so einrichten lässt dass das automatisch in ein Reading gepusht wird, bringt das relativ wenig weil es immer verzögert ist.

Moin Markus,
sehe ich genauso. Deswegen habe ich auch wieder OwnTracks im MQTT-Modus gestartet.

ZitatIch sehe da auch nur eine Position, wahrscheinlich die jeweils aktuelle?
Genau das ist jeweils die aktuelle Position.

Danke und VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Firetic am 16 November 2018, 08:43:59
Ich bin wirklich begeistert von dem Modul. Habe auch schon eigentlich alle Dienste einmal versucht einzurichten bin aber am Ende immer wieder bei OwnTracks gelandet ;D

Ich habe allerdings noch nicht wirklich verstanden wie man sich in der Android App die Profilbilder von Freunden anzeigen lassen kann... Hat das vielleicht schon jemand umgesetzt und könnte das kurz erklären?

Gruß Firetic
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 16 November 2018, 12:47:03
Zitat von: binford6000 am 16 November 2018, 07:39:12Genau das ist jeweils die aktuelle Position.
Heisst das, alles zwischen zwei Abrufen wäre weg? Das JSON sieht danach aus...

Zitat von: Firetic am 16 November 2018, 08:43:59Ich habe allerdings noch nicht wirklich verstanden wie man sich in der Android App die Profilbilder von Freunden anzeigen lassen kann... Hat das vielleicht schon jemand umgesetzt und könnte das kurz erklären?
Keine Ahnung, tauchen aber vermutlich unter Friends auf sobald OwnTracks mehrere Tracker IDs auf dem gleichen mosquitto sieht
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Firetic am 16 November 2018, 13:28:44
Zitat von: Markus M. am 16 November 2018, 12:47:03
Keine Ahnung, tauchen aber vermutlich unter Friends auf sobald OwnTracks mehrere Tracker IDs auf dem gleichen mosquitto sieht

Das Anzeigen funktioniert auch ohne Probleme - allerdings taucht nur die Tracker ID auf der Karte auf. Dieses würde ich gerne gegen ein eines eigenes Bild austauschen...

Das ist auch im Booklet erklärt - das erschließt sich mir allerdings nicht  :o
https://owntracks.org/booklet/features/friends/#faces  (https://owntracks.org/booklet/features/friends/#faces)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 16 November 2018, 13:36:10
Hast du das gemacht?:
https://owntracks.org/booklet/features/card/ (https://owntracks.org/booklet/features/card/)

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 16 November 2018, 17:36:04
Zitat von: Firetic am 16 November 2018, 13:28:44
Das Anzeigen funktioniert auch ohne Probleme - allerdings taucht nur die Tracker ID auf der Karte auf. Dieses würde ich gerne gegen ein eines eigenes Bild austauschen...
Das ist auch im Booklet erklärt - das erschließt sich mir allerdings nicht  :o
https://owntracks.org/booklet/features/friends/#faces  (https://owntracks.org/booklet/features/friends/#faces)
In iOS einfach auf das (i) des Eintrags tippen, auf dem folgenden Screen hast du dann rechts oben ein Icon um das Addressbuch zu öffnen.
Dort wählst du einen Kontakt aus und der ist dann der ID zugewiesen - samt Bild, sofern vorhanden.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 16 November 2018, 19:45:58
Ja wir iOS User habens da einfacher.
Die Androiden müssen den Umweg über die Skripte gehen...

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 17 November 2018, 12:40:17
Hallo Markus,
ich habe ein paar allgemeine Fragen zu deinem Modul, vielleicht kannst Du helfen?
Umgebung: Owntracks 9.9.3 auf iPhone iOS 12.1, mosquitto auf RaspPi 3B+; owntracksDevice MQTT_DEVICE, livetracking modul aus post #292 vom: 13.11;
Ich benutze beides iBeacons und Zonen. Desweiteren habe ich Zonen in der Zone, also eine Zone 'Munich' mit Radius 15 km um den Marienplatz, und dann noch 'NearHome' mit Radius 150 m ums Haus innerhalb Münchens.

0) Im post #250 hattest Du geschrieben, das man "Du musst dazu die config.otrc Datei exportieren, bearbeiten und wieder importieren'. In der Owntracks iPhone App gibts aber nur 'Export Settings', 'Export Waypoints', 'Publish Settings' und 'Publish Waypoints', aber kein 'import Settings'. Wo finde ich das?

1) Ich habe gesehen, das das 'trigger' reading im livetracking modul entweder 'manual', 'ping', oder 'beacon' sein kann. Wofür ist das 'ping' also was loest das 'ping' aus?

2) Ich bekomme keine readings 'beacon' und 'beacon_n_X' wie in der Doku angegeben. Was mache ich falsch?

3) Ich bekomme auch keine 'owntracksSteps' und keine iOS readings wie 'steps' oder 'floorsdown'. In IOS sehe ich auch nicht, das Owntracks auf dem iPhone auf die Fitness oder Health data zugreifen will. In den Owntracks settings gibts ja auch nichts, wo man das einstellen kann.

4) Wenn ich im livetracking modul in den den attributen 'beacon_N' die beacon ID eintrage, also etwa "FDA50693-A4E2-4FB1-AFCF-C6EB07647825,19789,1", muss ich dann zusätzlich noch den zugehörigen Namen zum Beacon im attribut 'zonename_N' eintragen? Oder ist das entweder oder?

5) Wenn ich zuhause bin, kann es vorkommen, das ich in der Zone 'Munich' bin, aber die 'NearHome' zone ist inactive. Ich habe aber gesehen, das auf iOS in der Owntracks App die Zone aktiv ist, aber im MQTT_DEVICE nicht im 'iphone' reading auftaucht. Hast Du eine Idee? Wenn ich manuell einen push auf der Owntracks App mache, ist alles wieder in Ordnung.

6) Der Odeonsplatz in Muenchen geht nicht, unter 48.1423922097344,11.5778455095152, da wirft OSM " ein "post_box":"Odeonsplatz 18, 80539 München" aus, unschoen weil das schon die PLZ und der Ort mit drin ist.
 
defmod livetracking livetracking
attr livetracking addressLanguage de
attr livetracking addressReading 1
attr livetracking alias Location
attr livetracking batteryWarning 40
attr livetracking beacon_0 FDA50693-A4E2-4FB1-AFCF-C6EB07647825,19789,1
attr livetracking beacon_1 FDA50693-A4E2-4FB1-AFCF-C6EB07647825,19689,1
attr livetracking event-on-change-reading address,batteryPercent,batteryState,location,place,zone_.
attr livetracking filterAccuracy 400
attr livetracking group HOMESTATE
attr livetracking home 48.123456,11.654321
attr livetracking osmandId iphone
attr livetracking osmandServer 0
attr livetracking owntracksDevice owntracks
attr livetracking room Favourites,Presence,System
attr livetracking roundAltitude 5
attr livetracking roundDistance 0.1
attr livetracking sortby 14
attr livetracking stateFormat address
attr livetracking userReadings maplink { my @loc = split(/,/, ReadingsVal("$name","location", "0,0"));; return "http://www.openstreetmap.org/?mlat=" . $loc[0] . "&mlon=" . $loc[1] . "&zoom=15&layers=M";; }
attr livetracking zonename_0 Beacon1
attr livetracking zonename_1 Beacon2
attr livetracking zonename_2 NearHome
attr livetracking zonename_3 Munich


defmod owntracks MQTT_DEVICE
attr owntracks IODev Mosquito
attr owntracks event-on-change-reading iphone,event
attr owntracks group HOMESTATE,SERVER
attr owntracks publishSet_cmd owntracks/fhem/iphone/cmd
attr owntracks publishSet_msg owntracks/fhem/iphone/msg
attr owntracks qos at-least-once
attr owntracks room Presence,System
attr owntracks stateFormat Aktive Zonen: inZone Location: location
attr owntracks subscribeReading_beacon owntracks/fhem/iphone/beacon
attr owntracks subscribeReading_cmd owntracks/fhem/iphone/cmd
attr owntracks subscribeReading_dump owntracks/fhem/iphone/dump
attr owntracks subscribeReading_event owntracks/fhem/iphone/event
attr owntracks subscribeReading_iphone owntracks/fhem/iphone
attr owntracks subscribeReading_msg owntracks/fhem/iphone/msg
attr owntracks subscribeReading_step owntracks/fhem/iphone/step
attr owntracks subscribeReading_waypoints owntracks/fhem/iphone/waypoints


defmod Mosquito MQTT 127.0.0.1:1883
attr Mosquito group SERVER
attr Mosquito room Favourites,System
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 17 November 2018, 12:59:17
Zitat von: inoma am 17 November 2018, 12:40:17
Hallo Markus,
ich habe ein paar allgemeine Fragen zu deinem Modul, vielleicht kannst Du helfen?
Umgebung: Owntracks 9.9.3 auf iPhone iOS 12.1, mosquitto auf RaspPi 3B+; owntracksDevice MQTT_DEVICE, livetracking modul aus post #292 vom: 13.11;
Ich benutze beides iBeacons und Zonen. Desweiteren habe ich Zonen in der Zone, also eine Zone 'Munich' mit Radius 15 km um den Marienplatz, und dann noch 'NearHome' mit Radius 150 m ums Haus innerhalb Münchens.

0) Im post #250 hattest Du geschrieben, das man "Du musst dazu die config.otrc Datei exportieren, bearbeiten und wieder importieren'. In der Owntracks iPhone App gibts aber nur 'Export Settings', 'Export Waypoints', 'Publish Settings' und 'Publish Waypoints', aber kein 'import Settings'. Wo finde ich das?
Bei iOS ist im Settings Export alles drin.
Zum Importieren öffnest du einfach die .otrc Datei auf dem Telefon aus Dropbox, Email o.ä.


Zitat1) Ich habe gesehen, das das 'trigger' reading im livetracking modul entweder 'manual', 'ping', oder 'beacon' sein kann. Wofür ist das 'ping' also was loest das 'ping' aus?
Keine Ahnung. Siehe OwnTracks Manual. Da gibt es noch mehr und teilweise fehlt das Reading auch - das ist dann "automatic"

Zitat2) Ich bekomme keine readings 'beacon' und 'beacon_n_X' wie in der Doku angegeben. Was mache ich falsch?
Sicher dass die Beacon empfangen wird und die Daten stimmen?

Zitat3) Ich bekomme auch keine 'owntracksSteps' und keine iOS readings wie 'steps' oder 'floorsdown'. In IOS sehe ich auch nicht, das Owntracks auf dem iPhone auf die Fitness oder Health data zugreifen will. In den Owntracks settings gibts ja auch nichts, wo man das einstellen kann.
Eventuell hast du das im Settings File nicht freigegeben. Siehe OwnTracks Booklet.

Zitat4) Wenn ich im livetracking modul in den den attributen 'beacon_N' die beacon ID eintrage, also etwa "FDA50693-A4E2-4FB1-AFCF-C6EB07647825,19789,1", muss ich dann zusätzlich noch den zugehörigen Namen zum Beacon im attribut 'zonename_N' eintragen? Oder ist das entweder oder?
Ja, um eine Zone samt Readings zu haben.
Das ist unabhängig voneinander, eine Beacon ist aber in OwnTracks sowieso immer auch eine Zone.

Zitat5) Wenn ich zuhause bin, kann es vorkommen, das ich in der Zone 'Munich' bin, aber die 'NearHome' zone ist inactive. Ich habe aber gesehen, das auf iOS in der Owntracks App die Zone aktiv ist, aber im MQTT_DEVICE nicht im 'iphone' reading auftaucht. Hast Du eine Idee? Wenn ich manuell einen push auf der Owntracks App mache, ist alles wieder in Ordnung.
Das klingt nach einem Bug. Wende dich dazu doch einfach via github Bug an Christoph.


Zitat6) Der Odeonsplatz in Muenchen geht nicht, unter 48.1423922097344,11.5778455095152, da wirft OSM " ein "post_box":"Odeonsplatz 18, 80539 München" aus, unschoen weil das schon die PLZ und der Ort mit drin ist.
Na wenn das an der Stelle quatsch ist, dann lösch es doch einfach auf OSM.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 17 November 2018, 21:34:38
Hallo Markus,
danke schonmal!
ZitatZitat
2) Ich bekomme keine readings 'beacon' und 'beacon_n_X' wie in der Doku angegeben. Was mache ich falsch?
Zitat
Sicher dass die Beacon empfangen wird und die Daten stimmen?
Ich habe jetzt das Booklet 2 mal gelesen, und habe dann mit Hilfe 'mosquitto_sub' mal die ankommenden Messages angeschaut.
Dabei ist mir folgendes aufgefallen:

- Wenn ich den Beacon ausstecke und wieder einstecke, wird im das im livetracking device richtig mit dem 'trigger beacon' erkannt.
- Wenn ich ein Beacon einrichte, wird der _type aber als 'waypoint' gesetzt, nicht als 'beacon' -> Kann das daran liegen, das ich die Readings nicht bekomme?


owntracks/fhem/iphone/waypoint {"_type":"waypoint","tst":1542485284,"lat":48.1234567890,"lon":11.0987654321,"rad":0,"desc":"Beacon1:FDA50693-A4E2-4FB1-AFCF-C6EB07647825:19789:1"}
owntracks/fhem/iphone/event {"t":"b","tst":1542486262,"acc":65,"_type":"transition","event":"enter","lon":11.0987654321,"lat":48.1234567890,"wtst":1542485284,"tid":"IO","desc":"Beacon1"}


Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 21 November 2018, 17:15:09
Hallo,
So jetzt habe ich den osmand server mal mit der Android owntracks app per http probiert, führt zu folgendem Fehler:


2018.11.21 17:07:11 4: Connection accepted from WEBS_155.56.40.47_57584                                                                                                   
2018.11.21 17:07:11 4: WEBS_155.56.40.47_57584 POST /fhem/osmand/&{"_type":"location","tid":"XX","acc":16,"batt":57,"conn":"w","lat":12.3456789,"lon":1.2345678,"t":"u","tst":1542816415}; BUFLEN:0                                                                                                                                                   
2018.11.21 17:07:11 4: OwnTracks HTTP request: /osmand/&{"_type":"location","tid":"XX","acc":16,"batt":57,"conn":"w","lat":12.3456789,"lon":1.2345678,"t":"u","tst":1542816415}                                           
2018.11.21 17:07:11 2: LT.owntracks: invalid json evaluation on ParseOwnTracks                                                                                       
2018.11.21 17:07:21 4: Connection closed for WEBS_155.56.40.47_57584: EOF                                                                                                 


Gruß

Carlos
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 21 November 2018, 17:27:33
Zitat von: carlos am 21 November 2018, 17:15:09
So jetzt habe ich den osmand server mal mit der Android owntracks app per http probiert, führt zu folgendem Fehler:
                                       
2018.11.21 17:07:11 2: LT.owntracks: invalid json evaluation on ParseOwnTracks                                                                                       
Bitte nochmal hiermit und dann die zusätzlichen Daten aus dem Log posten
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 21 November 2018, 22:41:07
Hallo,
Hier noch mal die Ausgabe:
2018.11.21 22:14:42 4: WEBS_95.222.30.79_23230 POST /fhem/osmand/&{"_type":"location","tid":"XX","acc":16,"batt":87,"conn":"m","lat":12.3456789,"lon":1.2345678,"tst":1542834873}; BUFLEN:0                                   
2018.11.21 22:14:42 4: OwnTracks HTTP request: /osmand/&{"_type":"location","tid":"XX","acc":16,"batt":87,"conn":"m","lat":49.2530375,"lon":9.1277752,"tst":1542834873}                                                                                                     
2018.11.21 22:14:42 2: LT.owntracks: invalid json evaluation on ParseOwnTracks$VAR1 = '/osmand/&{"_type":"location","tid":"XX","acc":16,"batt":87,"conn":"m","lat":12.3456789,"lon":1.2345678,"tst":1542834873}';       
2018.11.21 22:14:52 4: Connection closed for WEBS_95.222.30.79_23230: EOF
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 21 November 2018, 23:17:42
Zitat von: carlos am 21 November 2018, 22:41:07
Hier noch mal die Ausgabe:                                                                                                 
2018.11.21 22:14:42 2: LT.owntracks: invalid json evaluation on ParseOwnTracks
$VAR1 = '/osmand/&{"_type":"location","tid":"XX","acc":16,"batt":87,"conn":"m","lat":12.3456789,"lon":1.2345678,"tst":1542834873}';

Der Anhang sollte funktionieren.
Wenn nicht, nimm einfach den "/" am Ende der URL in OwnTracks raus
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: carlos am 22 November 2018, 01:00:56
Das war der Fehler, jetzt gehts.
Leider aber nicht mit dem Traccar client.
Gruß
Carlos
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 22 November 2018, 09:25:01
Zitat von: Markus M. am 11 November 2018, 11:47:10
Hmm, eigentlich lieber nicht.
Der Grund dafür ist, dass ich dann einen Haufen (auf den ersten Blick sehr "kostspieligen" und nur für Owntracks funktionierenden) Code in meinem Modul hätte, den ich selbst nicht komplett verstehe, für etwas das man auch mit einem wesentlich kürzeren Notify auf distance erledigen kann.

Ich habe mir ein Verbindungsmodul gebastelt, welches livetracking mit RESIDENTS verbindet (auf Basis von distance oder zone_* ... könnte aber erweitert werden).
Es muss nur definiert werden, anschließend genügt es,  *geofenceUUID* in den RESIDENTS zu setzen.
Wenn Interesse besteht und Markus nix einzuwenden hat kann ich es in einem separaten Thread posten.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 22 November 2018, 11:10:59
Zitat von: carlos am 22 November 2018, 01:00:56
Das war der Fehler, jetzt gehts.
Leider aber nicht mit dem Traccar client.
Mit oder ohne /
Sollte jetzt beides klappen.

Was tut Traccar? Kommt irgendwas im Log an?
Ein paar Posts weiter oben hatte jemand gepostet wie Auth bei Android funktionieren müsste - ich hab es aber selbst nicht getestet.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 22 November 2018, 11:13:57
Zitat von: klausw am 22 November 2018, 09:25:01
Ich habe mir ein Verbindungsmodul gebastelt, welches livetracking mit RESIDENTS verbindet (auf Basis von distance oder zone_* ... könnte aber erweitert werden).

Wenn Interesse besteht und Markus nix einzuwenden hat kann ich es in einem separaten Thread posten.
Klar, und vergiss das Wiki nicht ;)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 22 November 2018, 11:27:37
Zitat von: klausw am 22 November 2018, 09:25:01
Ich habe mir ein Verbindungsmodul gebastelt, welches livetracking mit RESIDENTS verbindet (auf Basis von distance oder zone_* ... könnte aber erweitert werden).
Es muss nur definiert werden, anschließend genügt es,  *geofenceUUID* in den RESIDENTS zu setzen.
Wenn Interesse besteht und Markus nix einzuwenden hat kann ich es in einem separaten Thread posten.

Hallo Klaus,
schön dass du das weiterverfolgt hast.  :)
Ich würde es gerne mal testen.
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 22 November 2018, 12:31:56
Connectormodul (für RESIDENTS) ist hier (https://forum.fhem.de/index.php/topic,93565.0.html) zu finden


Zitat von: Markus M. am 22 November 2018, 11:13:57
Klar, und vergiss das Wiki nicht ;)
jaja  8)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 04 Dezember 2018, 13:48:18
Hallo Markus,
würde livetracking auch mit einem MQTT2_DEVICE laufen?
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 04 Dezember 2018, 16:18:08
Weiss ich nicht - hast du es schon getestet?
Wenn da die gleichen Daten in einem Reading/Event ankommen sollte es ohne weiteres funktionieren.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: tamash am 04 Januar 2019, 09:42:16
Hallo!

Erstmal vielen Dank für das tolle Modul. Funktioniert wirklich super.
Es bleibt für mich eigentlich nur eine Frage offen, aber erstmal mein Setup:
- Android Phone
- Owntracks
- Eigener (Self-hosted) MQTT Broker
- 98_livetracking.m
- zone_0: Home
- zone_1: Work

Betreten einer Zone:
Komme ich also ins Büro wird die zone_1 (Work) auf aktiv gesetzt. Komme ich nach Hause wird die zone_0 (Home) auf aktiv gesetzt.
Die MQTT Message sieht in diesem Fall etwa so aus:
owntracks/geofancy/TomPhone {"_type":"location","acc":16,"alt":223,"batt":93,"conn":"m","inregions":["Work"],"lat":xx.xxxxxx,"lon":xx.xxxxxxx,"t":"p","tid":"1","tst":xxxxxxxxxx,"vac":2,"vel":0}

Verlassen einer Zone:
Verlasse ich die zone_1 (Work) und betrete dabei keine andere Zone sieht der MQTT Broker folgendes:
owntracks/geofancy/TomPhone {"_type":"location","acc":11,"alt":187,"batt":98,"conn":"m","lat":xx.xxxxxxxx,"lon":xx.xxxxxxxx,"t":"p","tid":"1","tst":xxxxxxxxxx,"vac":8,"vel":37}
Es fehlt also die inregions Liste im übergebenen JSON.
Das Reading  zone_1 (Work) bleibt im Status 'active' bis ich eine beliebige andere Zone betrete und die Liste inregions wieder übergeben wird.

Gibt es eine Möglichkeit alle Zonen auf "inactive" zu setzen wenn inregions  im übertragenen JSON fehlt?

LG
Tom

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: triagony am 04 Januar 2019, 17:46:09
Hi, erst einmal vielen Dank für dein Modul! Nachdem der Support von EgiGeozone nun eingestellt wurde und seit etwa einem Monat nichts mehr funktioniert, kommt mir das als (sehr gute) Alternative nur recht. Ich habe nun dein Modul aus Post  #318 am laufen und nutze die http-variante von owntracks (Android) und es funktioniert auch alles, soweit ich das beurteilen kann.

In der Owntracks-App erhalte ich aber folgenden Fehler unter dem Eintrag "Endpoint state message":

java.net.SocketTimeoutException: timeout

Ich dachte erst, es hängt damit zusammen, dass das ganze hinter einem ReverseProxy hängt; ich habe den gleichen Fehler aber auch, wenn ich das ganze im gleichen LAN betreibe. Hat hierzu jemand eine Idee?

VG
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 04 Januar 2019, 22:54:52
Zitat von: tamash am 04 Januar 2019, 09:42:16Verlasse ich die zone_1 (Work) und betrete dabei keine andere Zone sieht der MQTT Broker folgendes:
owntracks/geofancy/TomPhone {"_type":"location","acc":11,"alt":187,"batt":98,"conn":"m","lat":xx.xxxxxxxx,"lon":xx.xxxxxxxx,"t":"p","tid":"1","tst":xxxxxxxxxx,"vac":8,"vel":37}
Es fehlt also die inregions Liste im übergebenen JSON.
Was in erster Linie mal fehlt, ist der Leave Event!
Sieh mal nach ob der bei nur im Modul nicht ankommt oder generell nicht von Owntracks gesendet wird.
Wenn nein: Bugreport für die Android App.

ZitatGibt es eine Möglichkeit alle Zonen auf "inactive" zu setzen wenn inregions  im übertragenen JSON fehlt?
Ja, da inregions aber ausdrücklich nicht immer gesendet werden muss, wäre das eher schlecht :-/


Zitat von: triagony am 04 Januar 2019, 17:46:09In der Owntracks-App erhalte ich aber folgenden Fehler unter dem Eintrag "Endpoint state message":
java.net.SocketTimeoutException: timeout

Hat hierzu jemand eine Idee?
Keine Ahnung, am besten wendest du dich damit ebenfalls an den Entwickler der App.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 05 Januar 2019, 00:42:24
Hallo Markus,
das Verhalten, was tamash beschrieben hat, ist mir auch schon aufgefallen.
ZitatWas in erster Linie mal fehlt, ist der Leave Event!

Das event kann man so generieren:
define myMQTT_DEVICE MQTT_DEVICE
attr   myMQTT_DEVICE subscribeReading_event myMQTT_DEVICE/fhem/iphone/event


Damit erhält man ein reading 'event' , das wie folgt ausschaut
event     {"t":"b","tst":1234567890,"acc":65,"_type":"transition","event":"enter","lon":xx.xxxxxxxx,"lat":xx.xxxxxxxx,"wtst":1234567890,"tid":"NAME","desc":"MY_ZONE"}


define n_myMQTT_DEVICE notify (myMQTT_DEVICE:event:.*) { \
  my $evt     = $EVENT;; \
  my $data    = substr($evt,index($evt, ": {")+2);; \
  my $dataset = JSON->new->utf8(0)->decode($data);; \
  my $place   = $dataset->{desc};; \
  my $event   = $dataset->{event};; \
  my $lat         = $dataset->{lat};
  my $lon         = $dataset->{lon};
  setReadingsVal($defs{$NAME}, "Transition", $event, FmtDateTime($dataset->{tst}));; \
  setReadingsVal($defs{$NAME}, "Place", $place, FmtDateTime($dataset->{tst}));; \
}

damit erhält man dann 2 zusätzliche Readings, Transition für das event und Place für die Zone:
Transition -> enter
Place -> MY_ZONE
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 05 Januar 2019, 01:11:16
Zitat von: inoma am 05 Januar 2019, 00:42:24Das event kann man so generieren:
define myMQTT_DEVICE MQTT_DEVICE
attr   myMQTT_DEVICE subscribeReading_event myMQTT_DEVICE/fhem/iphone/event
Also Subscribe vergessen.
Gibt ja auch noch andere (siehe OwnTracks Booklet):

beacon, cmd, dump, event, msg, step, waypoints
Die sollten im OwnTracks Device alle komplett subscribed werden.

Wozu eigentlich dein kompliziertes Notify mit JSON Decoding?
Sobald das event Reading von MQTT im OwnTracks Device generiert wird, macht das Modul das alles automatisch.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: tamash am 05 Januar 2019, 14:05:31
Hallo!

Oh, tut mir leid euch damit unnötig genervt zu haben.
Wer lesen kann...

Vielen Dank für den Hinweis.

LG
Tom
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: triagony am 05 Januar 2019, 18:55:16
Zitat von: carlos am 14 November 2018, 00:48:18
War das ein Kampf,  nach langem probieren habe ich es geschaft.
Das Problem war die user/password authentifizierung in FHEM.
Ich muste eine WEB instanz ohne basicauth definieren, dann geht es mit folgendem forwarding in traccar(leider nur lokal, also FHEM und TRACCAR auf dem gleichen Rechner):


    <entry key='forward.url'>http://127.0.0.1:8084/fhem/osmand?id={name}&amp;lat={latitude}&amp;lon={longitude}&amp;timestamp={fixTime}&amp;altitude={altitude}&amp;speed={speed}&amp;accuracy={accuracy}</entry>
    <entry key='forward.json'>false</entry>


Hi, kannst du mal einen Auszug aus deiner traccar.xml mit den relevanten Parametern posten? Ich bekomme es irgendwie nicht hin, dass fhem/osmand etwas von traccar empfängt - jedenfalls sehe ich in den logs nichts. (ich hatte testweise mal event.forward.url auf fhem/osmand gesetzt; da kam dann etwas an - zwar nur Kraut und Rüben, aber immerhin). Meine Config sieht atm wie folgt aus:

    <entry key='osmand.port'>5999</entry>
    <entry key='logger.enable'>true</entry>
    <entry key='forward.enable'>true</entry>
    <entry key='event.forward.enable'>true</entry>
    <entry key='event.forward.header'> Authorization: Basic SuperGeheim</entry>
    <!--    <entry key='event.forward.url'>http://127.0.0.1:8083/fhem/osmand</entry>-->
    <entry key='forward.url'>http://127.0.0.1:8083/fhem/osmand?id={name}&amp;lat={latitude}&amp;lon={longitude}&amp;timestamp={fixTime}&amp;altitude={altitude}&amp;speed={speed}&amp;accuracy={accuracy}</entry>
    <entry key='forward.json'>false</entry>


Danke!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: triagony am 06 Januar 2019, 13:03:23
Hi. Ich habe nochmal ein bisschen weiter mit traccar rumgespielt.

1. Das Forwarding von traccar auf 127.0.0.1:PORT/fhem/osmand funktioniert bei mir (auch) nur, wenn die Fhem-Webinstanz nicht per basic auth abgesichert ist. Es kommen im livetracker-Modul die readings longitude, latitude, altitude und velocity an. Der Timestamp des jeweiligen Readings hat aber ein komisches Format und entspricht nicht dem tatsächlichen Zeitpunkt des Readings. 

2. Nun habe ich mir mal "from-traccar" angesehen https://github.com/jpmens/from-traccar (https://github.com/jpmens/from-traccar) und auch das Programm dazu bewegen können,  mit meinem lokal installiertem mosquitto zu kommunizieren. Auch in fhem kann ich mir den "string", der reinkommt, schon anzeigen lassen. Der Inhalt der Subscribtion sieht wie folgt aus:

{"position":{"id":566,"attributes":{"batteryLevel":66,"distance":25.79,"totalDistance":20665.79,"motion":false},"deviceId":1,"type":null,"protocol":"osmand","serverTime":"2019-01-06T11:39:41.279+0000","deviceTime":"2019-01-06T11:39:41.000+0000","fixTime":"2019-01-06T11:39:41.000+0000","outdated":false,"valid":true,"latitude":53.xxxxx,"longitude":8.xxxxx,"altitude":0,"speed":0,"course":0,"address":null,"accuracy":24.04000091552734,"network":null},"device":{"id":1,"attributes":{},"groupId":0,"name":"SomeName","uniqueId":"SomeID,"status":"online","lastUpdate":"2019-01-06T11:39:41.279+0000","positionId":565,"geofenceIds":[],"phone":"","model":"","contact":"","category":null,"disabled":false}}

Nun habe ich als "owntracksDevice" mein from-traccar-mqtt-device definiert. Leider erhalte ich dann hier aber keinerlei Readings. Mir scheint, dass das, was from-traccar an den Mqtt-Broker sendet, nicht "kompatibel" mit dem livetracking-Modul ist (anderes Format?). Kann man das irgendwie "kompatibel" machen? Oder ist das zu viel Aufwand?

Vielen Dank schonmal und

BG
triagony
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 13 Januar 2019, 13:54:12
Hi,

ich habe OwnTracks mit HTTP-Host mal konfiguriert. Es läuft bei mir aber nicht so wie gewollt. Vielleicht liegt es auch an meiner Config.

Ich hab im Modul livetracking verbose 5 gesetzt. Im Log sind dann auch Requests zu sehen. In der App sehe ich aber laufend timeout-Meldungen.

In Fhem habe ich keine event-on-**-Attribut gesetzt. Ich würde erwarten, dass bei jedem eingehenden Paket auch neue Timestamps zu sehen sind. Leider nicht so. Hier ist mir aufgefallen, dass die Readings erneuert werden (rote Schrift). Beim erneuten Öffnen, oder Seitenrefresh sind wieder alte Timestamps zu sehen. Fhem Log hat Einträge um 13:40, die Readings sind aber über eine Stunde alt.

In den Logs habe ich die Geodaten etwas geändert, man weiß nie was damit gemacht wird :)

Setup in Fhem:

defmod livetrackingdata livetracking
attr livetrackingdata DbLogExclude .*
attr livetrackingdata addressLanguage de
attr livetrackingdata addressReading 1
attr livetrackingdata group livetracking
attr livetrackingdata home 99.665933,99.072536
attr livetrackingdata osmandServer 1
attr livetrackingdata room Status
attr livetrackingdata roundDistance 1
attr livetrackingdata stateFormat distance
attr livetrackingdata verbose 5
attr livetrackingdata zonename_0 home
attr livetrackingdata zonename_1 xxx
attr livetrackingdata zonename_2 work

setstate livetrackingdata 0
setstate livetrackingdata 2019-01-13 13:40:06 .lastOwnTracks 2547379583
setstate livetrackingdata 2019-01-13 12:39:43 accuracy 15
setstate livetrackingdata 2019-01-13 12:39:43 batteryPercent 68
setstate livetrackingdata 2019-01-13 12:39:43 batteryState ok
setstate livetrackingdata 2019-01-13 12:39:43 connection wifi
setstate livetrackingdata 2019-01-13 12:39:43 distance 0
setstate livetrackingdata 2019-01-13 12:39:43 id te
setstate livetrackingdata 2019-01-13 12:39:43 latitude 99.6659182
setstate livetrackingdata 2019-01-13 12:39:43 location 99.6659182,99.072553
setstate livetrackingdata 2019-01-13 12:39:43 longitude 99.072553
setstate livetrackingdata 2019-01-13 12:39:43 trigger automatic
setstate livetrackingdata 2019-01-13 12:39:43 velocity 0
setstate livetrackingdata 2019-01-13 12:39:43 zone_0 active
setstate livetrackingdata 2019-01-13 12:39:43 zone_1 inactive
setstate livetrackingdata 2019-01-13 12:39:43 zone_2 inactive


Log aus Fhem

/osmand/
2019.01.13 13:40:56.466 5: OsmAnd webcall request:

2019.01.13 13:40:06.697 4: livetrackingdata OwnTracks region active: $VAR1 = 'home';

2019.01.13 13:40:06.696 4: livetrackingdata OwnTracks region inactive: $VAR1 = 'xxx';

2019.01.13 13:40:06.696 4: livetrackingdata OwnTracks region inactive: $VAR1 = 'work';
2019.01.13 13:40:06.553 4: livetrackingdata OwnTracks: 2019-01-13 12:39:43  {"_type":"location","acc":15,"alt":0,"batt":68,"conn":"w","inregions":["home"],"lat":99.6659182,"lon":99.072553,"tid":"te","tst":1547379583,"vac":0,"vel":0}
{"_type":"location","acc":15,"alt":0,"batt":68,"conn":"w","inregions":["home"],"lat":99.6659182,"lon":99.072553,"tid":"te","tst":1547379583,"vac":0,"vel":0}
2019.01.13 13:40:06.552 4: OwnTracks HTTP request:
/osmand
2019.01.13 13:12:52.179 5: OsmAnd webcall request:

2019.01.13 13:09:26.065 4: livetrackingdata OwnTracks region active: $VAR1 = 'home';

2019.01.13 13:09:26.065 4: livetrackingdata OwnTracks region inactive: $VAR1 = 'xxx';

2019.01.13 13:09:26.064 4: livetrackingdata OwnTracks region inactive: $VAR1 = 'work';
2019.01.13 13:09:26.061 4: livetrackingdata OwnTracks: 2019-01-13 12:39:43  {"_type":"location","acc":15,"alt":0,"batt":68,"conn":"w","inregions":["home"],"lat":99.6659182,"lon":99.072553,"tid":"te","tst":1547379583,"vac":0,"vel":0}
{"_type":"location","acc":15,"alt":0,"batt":68,"conn":"w","inregions":["home"],"lat":99.6659182,"lon":99.072553,"tid":"te","tst":1547379583,"vac":0,"vel":0}
2019.01.13 13:09:26.060 4: OwnTracks HTTP request:

2019.01.13 12:39:49.431 4: livetrackingdata OwnTracks region active: $VAR1 = 'home';

2019.01.13 12:39:49.430 4: livetrackingdata OwnTracks region inactive: $VAR1 = 'xxx';

2019.01.13 12:39:49.430 4: livetrackingdata OwnTracks region inactive: $VAR1 = 'work';
2019.01.13 12:39:49.286 4: livetrackingdata OwnTracks: 2019-01-13 12:39:43  {"_type":"location","acc":15,"alt":0,"batt":68,"conn":"w","inregions":["home"],"lat":99.6659182,"lon":99.072553,"tid":"te","tst":1547379583,"vac":0,"vel":0}
{"_type":"location","acc":15,"alt":0,"batt":68,"conn":"w","inregions":["home"],"lat":99.6659182,"lon":99.072553,"tid":"te","tst":1547379583,"vac":0,"vel":0}
2019.01.13 12:39:49.286 4: OwnTracks HTTP request:

2019.01.13 12:16:34.707 4: livetrackingdata OwnTracks region active: $VAR1 = 'home';

2019.01.13 12:16:34.707 4: livetrackingdata OwnTracks region inactive: $VAR1 = 'xxx';

2019.01.13 12:16:34.706 4: livetrackingdata OwnTracks region inactive: $VAR1 = 'work';
2019.01.13 12:16:34.705 4: livetrackingdata OwnTracks: 2019-01-13 08:16:30  {"_type":"location","acc":17,"alt":0,"batt":86,"conn":"w","inregions":["home"],"lat":99.6659162,"lon":99.0725757,"t":"p","tid":"te","tst":1547363790,"vac":0,"vel":0}
{"_type":"location","acc":17,"alt":0,"batt":86,"conn":"w","inregions":["home"],"lat":99.6659162,"lon":99.0725757,"t":"p","tid":"te","tst":1547363790,"vac":0,"vel":0}
2019.01.13 12:16:34.704 4: OwnTracks HTTP request:


Ich habe einen nginx reverse Proxy. jenkins.access.log zeigt 504 (Gateway timeout) und 499 (Gateway closed). Reagiert der osmand-Server nicht schnell genug?

178.27.81.123 - fhem [13/Jan/2019:09:47:34 +0100] "POST /webcmd/osmand HTTP/1.1" 504 176 "-" "Owntracks/21201"
178.27.81.123 - fhem [13/Jan/2019:10:17:37 +0100] "POST /webcmd/osmand HTTP/1.1" 504 176 "-" "Owntracks/21201"
178.27.81.123 - fhem [13/Jan/2019:10:49:45 +0100] "POST /webcmd/osmand HTTP/1.1" 499 0 "-" "Owntracks/21201"
178.27.81.123 - fhem [13/Jan/2019:11:17:33 +0100] "POST /webcmd/osmand HTTP/1.1" 499 0 "-" "Owntracks/21201"
178.27.81.123 - fhem [13/Jan/2019:11:47:14 +0100] "POST /webcmd/osmand HTTP/1.1" 499 0 "-" "Owntracks/21201"
178.27.81.123 - fhem [13/Jan/2019:12:17:34 +0100] "POST /webcmd/osmand HTTP/1.1" 504 176 "-" "Owntracks/21201"


aber auch solche Einträge, die besser aussehen (9999 ... Platzhalter für meine IP)

999.99.81.123 - - [13/Jan/2019:13:12:52 +0100] "GET /favicon.ico HTTP/1.1" 444 0 "https://myfhem.dns.de:2560/webcmd/osmand" "Mozilla/5.0 (Linux; Android 9; SAMSUNG SM-G960F Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/9.0 Chrome/67.0.3396.87 Mobile Safari/537.36"


Config in OwnTrack Android app

{"_type":"configuration","waypoints":[

{"_type":"waypoint","desc":"home","lat":99.66592749999998,"lon":99.072582031250036,"rad":500,"tst":1547360977},
{"_type":"waypoint","desc":"xxx","lat":99.0988002,"lon":99.5406047,"rad":500,"tst":1547361025},
{"_type":"waypoint","desc":"work","lat":99.0425111,"lon":99.509850099999998,"rad":500,"tst":1547361059}],
"_build":21201,
"auth":true,
"autostartOnBoot":true,
"cleanSession":false,
"cmd":true,"deviceId":
"starlte","fusedRegionDetection":true,
"ignoreInaccurateLocations":0,
"ignoreStaleLocations":0,
"locatorDisplacement":500,
"locatorInterval":900,
"mode":3,
"notificationHigherPriority":false,
"opencageApiKey":"xxxxxxxxxxxxxxxxx",
"password":"xxxxxxxxxxxxxxxxx",
"ping":30,
"pubExtendedData":true,
"remoteConfiguration":true,
"url":"https:/<url:port>/webcmd/osmand/",
"username":"fhem"}


Wenn ich die Url im Browser aufrufe erhalte ich "timestamp missing". Reverse Proxy läuft ... sonst wäre die Seite nicht erreichbar.

Irgendwann kommen aber auch Daten durch ... ich beobachte es mal weiter. Energiesparen ist im Handy deaktiviert, es liegt nicht am Doze von Android.

Ideen, andere Konfiguration?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 14 Januar 2019, 23:21:54
Ich habe noch etwas getestet und einen Owntrack Server aufgesetzt. Selber reverse Proxy --> App funktioniert. Im Reverse Proxy nur den Link vom internen Owntrack Server auf interne Fhem-Installation umgeleitet --> Timeout. Im Log sind aber die eingehenden Calls zu sehen.

Weiterer TEst auf https://gurujsonrpc.appspot.com/ meine Url und die gesendeten Daten lt. FHEM Log eingetragen --> in Fhem wird genau das selbe geloggt wie auch durch Owntrack App. Im Browser wird nach ein paar Sekunden eine rote Meldung "Error sending the request." angezeigt.

Meine Vermutung ... kann es sein, dass der Datastream vom Webservice Call kein Returncode erhält (200, OK) und deshalb wartet und irgendwann einen Timeout gibt?

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 15 Januar 2019, 23:19:47
Zitat von: kadettilac89 am 15 Januar 2019, 23:02:22Wenn ich den Code richtig verstehe, ist Owntrack HTTP-Server überhaupt nicht implementiert. Oder für IOS und Android hat ein anderes Format.
Falsch verstanden, ich hab's dir aber auch nicht einfach gemacht ;)

ZitatCodeänderung
Zeile 1551

  my ($tst) = $request =~ /tamp=(.*?)(&|$)/;
  my ($hdop) = $request =~ /hdop=(.*?)(&|$)/ || 0;
  ...
Das war der Code für Traccar HTTP, den du somit entfernt hast.
Nicht unbedingt gut für diejenigen die das nutzen.

ZitatEine weitere Änderung ... Zeile 1540
    Log3 $name, 4, "OwnTracks HTTP request:\n".$request;
    livetracking_ParseOwnTracks($hash,$request) if(($request =~ /_type":[ ]?"location/ || $request =~ /_type":[ ]?"position/ || $request =~ /_type":[ ]?"transition/ || $request =~ /_type":[ ]?"steps/ || $request =~ /_type":[ ]?"beacon/ ));
    #return undef;    <----- return raus
Raus ist auch nicht gut, guck mal eine Zeile drüber.
Das Datenhandling passiert hier schon komplett in livetracking_ParseOwnTracks().


ZitatFrage zum return undef. Warum soll die Sub hier verlassen werden? Wenn ich es richtig verstehe, wird hier location, position ... verarbeitet. Die Bedingung "request enthält type" ist bei jedem korrekten Call wahr. Return würde hier die Verbindung offen lassen, die weitere Verarbeitung der Werte jedoch nicht machen. Oder sehe ich das falsch (rekursiver Aufruf o. ä.)?
Du hast Traccar HTTP vergessen, was das einzige ist das hier unterhalb noch passiert.
Siehe oben, das bringt mich aber auf eine Idee!

Was passiert, wenn du alles andere so lässt, aber das "return undef;" durch folgendes ersetzt:
    return ( "text/plain; charset=utf-8",
        "ok" );


:) Markus
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 15 Januar 2019, 23:39:06
danke für die Antwort. habe meinen post darüber versehentlich gelöscht. hoffe das wird jetzt nicht unübersichtlich.

in parseowntracks ist er schnell wieder raus. das schau ich mir nochmal an. vielleicht liefert hier android ein feld nicht mit das abgefragt wird. habe mir die sub nicht genauer angesehen, dachte da wird adressermittliung oder sowas gemacht.

vielleicht ist es nur der return undefined der auf einen erfolgreichen code geändert werden müsste.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 15 Januar 2019, 23:44:55
Zitat von: kadettilac89 am 15 Januar 2019, 23:39:06
in parseowntracks ist er schnell wieder raus. das schau ich mir nochmal an. vielleicht liefert hier android ein feld nicht mit das abgefragt wird. habe mir die sub nicht genauer angesehen, dachte da wird adressermittliung oder sowas gemacht.

vielleicht ist es nur der return undefined der auf einen erfolgreichen code geändert werden müsste.
Ich hab OwnTracks HTTP selbst nicht getestet (kann ich mit Android auch nicht), aber es klingt so als fehlt nur der Return.
Wenn der Timeout weg ist, können wir uns den Rest ansehen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 15 Januar 2019, 23:48:48
scheint wirklich nur der return undefined sein ...

Zeile 1545 geändert auf ...s. u. ... und Readings kommen an, kein Fehler mehr in der Owntrack App. Ich habe mir aber den Code nicht mehr angesehen ob auf Fehler, die in der parseowntrack-Sub außerhalb reagiert werden muss.


    return ( "application/json; charset=UTF-8",
        "[]" );


danke und schönen Abend
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 16 Januar 2019, 00:38:58
Zitat von: kadettilac89 am 15 Januar 2019, 23:48:48
Readings kommen an, kein Fehler mehr in der Owntrack App. Ich habe mir aber den Code nicht mehr angesehen ob auf Fehler, die in der parseowntrack-Sub außerhalb reagiert werden muss.
Normal nicht.
Sollte regulär funktionieren, ansonsten gibt es Log Meldungen.
Der Fix ist dann gleich morgen im Update.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 16 Januar 2019, 11:02:27
Zitat von: klausw am 22 November 2018, 09:25:01
Ich habe mir ein Verbindungsmodul gebastelt, welches livetracking mit RESIDENTS verbindet (auf Basis von distance oder zone_* ... könnte aber erweitert werden).
Es muss nur definiert werden, anschließend genügt es,  *geofenceUUID* in den RESIDENTS zu setzen.
Wenn Interesse besteht und Markus nix einzuwenden hat kann ich es in einem separaten Thread posten.

Es geht mit Hausmitteln, nur als Hinweis ohne was schlecht reden zu wollen .. wenn entweder nur ein Device überwacht wird, oder alle Device ohne Filter loggen.

Verbindung Onwtracks (livetrancking) und Residents Modul ...

1) userReadings in ownTracks

Basierend auf einer Zone. Im Beispiel ist Zone_0 die Homezone

attr livetrackingdata userReadings presence_home { ReadingsVal($name,"zone_0",0) eq "active" ? "present" : "absent" }


Basierend auf distance. Wenn Distanz kleiner 10 km (kann natürlich auch auf kleinere Werte gesetzt werden) wird auf anwesend gesetzt

attr livetrackingdata userReadings presence_home { ReadingsVal($name,"distance",999)< 10 ? "present" : "absent" }


2) Presence Device in ROOMMATE Device. Hier wird der Status vom livetrackingdata abgeholt.

Doku:

rr_presenceDevices - übernehmen des presence Status von einem anderen FHEM Device. Bei mehreren Devices diese mit Komma trennen, um ein Update
des ROOMMATE Devices auszulösen, sobald ALLE Devices entweder absent oder present sind. Optional kann auch durch : abgetrennt ein Reading Name
angegeben werden, ansonsten werden die Readings presence und state berücksichtigt.



attr rr_Owntracks rr_presenceDevices livetrackingdata:presence_home


Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 17 Januar 2019, 14:58:14
Hallo Zusammen,
ich habe auf meinem Testsystem einen livetracking device mit osmand Server angelegt:
Internals:
   NAME       iphone5SE
   NOTIFYDEV  owntracks
   NR         35
   NTFY_ORDER 999-iphone5SE
   STATE      ???
   TYPE       livetracking
   helper:
Attributes:
   osmandServer 1
   stateFormat location
   verbose    5


Wenn ich jetzt manuell die Location auf dem Gerät pushe steht folgendes im log:
2019.01.17 14:53:52.059 5: OsmAnd webcall request:
/osmand&{"rad":80,"tst":1547733218,"_type":"waypoint","lon":8.123456,"topic":"owntracks\/test\/iphone\/waypoint","lat":50.123456,"desc":"home"}
2019.01.17 14:53:59.183 5: OsmAnd webcall request:
/osmand&{"batt":19,"lon":8.123456,"acc":65,"p":98.343963623046875,"vac":10,"lat":50.123456,"inregions":["home"],"topic":"owntracks\/test\/iphone","t":"u","conn":"w","tst":1547733238,"alt":157,"_type":"location","tid":"SE"}


Im Livetracking regt sich aber nichts (siehe oben). Das Gerät mit owntracks App ist ein iPad. Was mache ich falsch?
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 17 Januar 2019, 15:44:22
Zitat von: binford6000 am 17 Januar 2019, 14:58:14
Wenn ich jetzt manuell die Location auf dem Gerät pushe steht folgendes im log:
2019.01.17 14:53:52.059 5: OsmAnd webcall request:
/osmand&{"rad":80,"tst":1547733218,"_type":"waypoint","lon":8.123456,"topic":"owntracks\/test\/iphone\/waypoint","lat":50.123456,"desc":"home"}
2019.01.17 14:53:59.183 5: OsmAnd webcall request:
/osmand&{"batt":19,"lon":8.123456,"acc":65,"p":98.343963623046875,"vac":10,"lat":50.123456,"inregions":["home"],"topic":"owntracks\/test\/iphone","t":"u","conn":"w","tst":1547733238,"alt":157,"_type":"location","tid":"SE"}


Im Livetracking regt sich aber nichts (siehe oben). Das Gerät mit owntracks App ist ein iPad. Was mache ich falsch?

Wann war dein letztes FHEM Update?
Und was steht sonst noch so im Log?
Mit dem aktuellen Code sollte die Logausgabe die du gepostet hast so überhaupt nicht möglich sein.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 17 Januar 2019, 15:50:35
Danke Markus,
ich sage nur "exclude from update"...  :-X

Und schwupps:
2019.01.17 15:47:31.899 4: OwnTracks HTTP request:
{"batt":17,"lon":8.123456,"acc":65,"p":98.4813232421875,"vac":10,"lat":50.123456,"inregions":["home"],"topic":"owntracks\/test\/iphone","t":"u","conn":"w","tst":1547736451,"alt":157,"_type":"location","tid":"SE"}
2019.01.17 15:47:31.901 4: iphone5SE OwnTracks: 2019-01-17 15:47:31  {"batt":17,"lon":8.123456,"acc":65,"p":98.4813232421875,"vac":10,"lat":50.123456,"inregions":["home"],"topic":"owntracks\/test\/iphone","t":"u","conn":"w","tst":1547736451,"alt":157,"_type":"location","tid":"SE"}


Merci!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: pscl am 18 Januar 2019, 15:37:44
Moin!
Ich hab eben ein Life360 device angelegt, bekomme aber leider nur die battery Readings :( ein get Life360 mit Verbose 5 zeigt das eigentlich alles ankommen sollte.
Im Prinzip muss ich ja nicht mehr als define TR livetracking mail pw machen oder? :c Ich habe schon mit den Attributen rumgespielt, ändert aber leider auch nix.
Die aktuellste Version habe ich.


2019.01.18 15:26:43 5: TR_Pascal Life360 data: /n{
  'locations' => [
                   {
                     'startTimestamp' => '1547817588',
                     'shortAddress' => '',
                     'address2' => '',
                     'isDriving' => '0',
                     'name' => 'Home',
                     'charge' => '0',
                     'battery' => 45,
                     'placeType' => 2,
                     'driveSDKStatus' => 'OFF',
                     'inTransit' => '0',
                     'since' => '1547817588',
                     'endTimestamp' => '1547821571',
                     'timestamp' => '1547821571',
                     'sourceId' => undef,
                     'source' => undef,
                     'accuracy' => '81.53214435591',
                     'latitude' => '41.558943262771',
                     'wifiState' => undef,
                     'longitude' => '52.7732321494024',
                     'speed' => 0,
                     'address1' => '',
                     'tripId' => undef
                   },
                   {
                     'since' => '1547816900',
                     'placeType' => undef,
                     'battery' => 52,
                     'charge' => '0',
                     'inTransit' => '1',
                     'driveSDKStatus' => 'OFF',
                     'name' => undef,
                     'startTimestamp' => '1547816900',
                     'isDriving' => '0',
                     'address2' => '',
                     'shortAddress' => '',
                     'wifiState' => undef,
                     'tripId' => undef,
                     'address1' => '',
                     'longitude' => '39.7214934',
                     'speed' => '1.08',
                     'latitude' => '32.5423378',
                     'accuracy' => '50',
                     'sourceId' => undef,
                     'source' => undef,
                     'timestamp' => '1547816911',
                     'endTimestamp' => '1547816911'
                   },
                   {
                     'accuracy' => '72.469746486132',
                     'latitude' => '32.493250193216',
                     'wifiState' => undef,
                     'address1' => '',
                     'tripId' => undef,
                     'longitude' => '4.7471658969878',
                     'speed' => 0,
                     'timestamp' => '1547816291',
                     'endTimestamp' => '1547816291',
                     'sourceId' => undef,
                     'source' => undef,
                     'battery' => 55,
                     'placeType' => 1,
                     'charge' => '0',
                     'inTransit' => '0',
                     'driveSDKStatus' => 'ON',
                     'since' => '1547807861',
                     'startTimestamp' => '1547807861',
                     'isDriving' => '0',
                     'address2' => '',
                     'shortAddress' => '',
                     'name' => 'Arbeit'
                   }
                 ]
}


Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 18 Januar 2019, 16:50:21
Zitat von: pscl am 18 Januar 2019, 15:37:44
Ich hab eben ein Life360 device angelegt, bekomme aber leider nur die battery Readings :( ein get Life360 mit Verbose 5 zeigt das eigentlich alles ankommen sollte.
Die aktuellste Version habe ich.
Hast du nicht mehr ;) Im SVN ist seit 5 Minuten eine neue, in der dieser Bug gefixt ist.
Bis die morgen im Update ist, solltest du aber auch so schon Daten sehen - zumindest wenn dein Telefon bis dahin nochmal das Haus verlässt.
Das Problem mit den anfangs fehlenden Readings tritt nur bei neu angelegten Devices auf - deshalb ist es mir nicht aufgefallen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: pscl am 18 Januar 2019, 16:57:19
Ah alles klar 😁 vielen Dank für die schnelle Reaktion!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 22 Januar 2019, 13:27:55
Hallo Markus,
hab jetzt mein livetracking device auf http (osmand) umgestellt.
Was mir auffällt ist, dass "enter" und "leave" Events nur im Log auftauchen, nicht aber im Event-Monitor:

Event-Monitor:
2019-01-22 12:01:27 livetracking iphone5SE latitude: 49.123456
2019-01-22 12:01:27 livetracking iphone5SE longitude: 8.123456
2019-01-22 12:01:27 livetracking iphone5SE location: 49.123456,8.123456
2019-01-22 12:01:27 livetracking iphone5SE id: SE
2019-01-22 12:01:27 livetracking iphone5SE accuracy: 65
2019-01-22 12:01:27 livetracking iphone5SE zone_1: inactive
2019-01-22 12:01:27 livetracking iphone5SE trigger: region
2019-01-22 12:01:27 livetracking iphone5SE distance: 39.1


Logfile:
2019.01.22 12:01:27 4: OwnTracks HTTP request:
{"t":"c","tst":1548154885,"acc":65,"_type":"transition","event":"leave","lon":8.123456,"topic":"owntracks\/fhemown\/iphone\/event","lat":49.123456,"wtst":1548006185,"tid":"SE","desc":"buero-mz"}
2019.01.22 12:01:27 4: iphone5SE OwnTracks: 2019-01-22 12:01:25  {"t":"c","tst":1548154885,"acc":65,"_type":"transition","event":"leave","lon":8.123456,"topic":"owntracks\/fhemown\/iphone\/event","lat":49.123456,"wtst":1548006185,"tid":"SE","desc":"buero-mz"}
2019.01.22 12:01:27 3: iphone5SE OwnTracks Zone Event: leave buero-mz


Ist das so gewollt? Kann man das konfigurieren? Ggf. ändern? Also zB. für

type":"transition","event":"leave" bzw
type":"transition","event":"enter"

als Event darstellen dass man mit notify/doif darauf reagieren kann?
Oder stehe ich gerade etwas aufm Schlauch?  :o

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 22 Januar 2019, 14:04:14
Schlauch? :)
Du mappst das doch auf zone_1 etc. und bekommst dafür auch Events?!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 22 Januar 2019, 14:12:16
Ja Momentan mache ich es per notify so:
iphone5SE:zone.*:.*
und werte dann auf active/inactive aus.

Hab mich nur gewundert, dass es im Logfile Einträge gibt zu leave und enter einer Zone,
diese aber nicht im Eventmonitor auftauchen...

2019.01.22 12:01:27 3: iphone5SE OwnTracks Zone Event: leave buero-mz

Damit bräuchte ich nicht den Umweg über die Zone zu gehen...  ;)

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 22 Januar 2019, 18:09:13
Zitat von: binford6000 am 22 Januar 2019, 14:12:16
2019.01.22 12:01:27 3: iphone5SE OwnTracks Zone Event: leave buero-mz
Damit bräuchte ich nicht den Umweg über die Zone zu gehen...  ;)
Hmm ja, könnte man machen :)
Probier mal den Anhang aus
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 22 Januar 2019, 22:18:39
Zitat von: Markus M. am 22 Januar 2019, 18:09:13
Hmm ja, könnte man machen :)
Probier mal den Anhang aus

Hallo Markus,
danke für den schnellen Patch. Hab ihn eingespielt und werde morgen berichten  ;)

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 23 Januar 2019, 13:12:50
Hallo Markus,
habe soeben mal testen können. Die gewünschten Events kommen wie folgt an:
iphone5SE leave buero-mz
iphone5SE enter buero-mz


Perfekt!  8)
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 23 Januar 2019, 13:21:59
Und die Logeinträge kommen jetzt nur noch unter Verbose 4:
2019.01.23 12:46:00 4: iphone5SE OwnTracks Zone Event: leave buero-mz
2019.01.23 12:59:32 4: iphone5SE OwnTracks Zone Event: enter buero-mz


Passt also alles.  :)
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 24 Januar 2019, 11:34:01
Hallo Markus,
hast du den Patch schon in die neuste Version gepackt?
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 24 Januar 2019, 11:35:57
Nein. Du kannst die Datei aber einfach drin lassen, in der nächsten Version kommt es mit.
Bis dahin sollte ein Update eigentlich nichts überschreiben.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 24 Januar 2019, 11:48:39
OK. Dann noch ein kleiner Hinweis:

Attribut "createAddressReading" Laut Modulhilfe:
createAddressReading (0/1) Write reverse geocoding results to address reading

Das Attribut heisst aber aktuell noch "addressReading".  ;)

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 11 Februar 2019, 20:04:29
Hallo Markus,
ich habe so das Gefühl das mit addressReading auf 1 keine Adressen geholt werden.
Erst mit meinem manuellen get iphone5se address wird die korrekte Adresse geholt:

2019.02.11 18:37:24 4: iphone5SE OwnTracks: 2019-02-11 18:37:21  {"t":"c","tst":1549906641,"acc":5,"_type":"transition","event":"enter","lon":8.123456789,"topic":"owntracks\/fhemown\/iphone\/event","lat":50.123456789,"wtst":1548005975,"tid":"SE","desc":"home"}
Und dann 30 Sekunden später via at aus einem notify:
2019.02.11 18:37:54 4: iphone5SE: address received
{
  'importance' => '0.1',
  'osm_id' => '23777327',
  'addresstype' => 'road',
  'display_name' => "L 320, Ort, Kreis, Land, 12345, Deutschland",
  'category' => 'highway',
  'lat' => '50.123456789',
  'address' => {
                 'road' => 'L 320',
                 'country_code' => 'de',
                 'country' => 'Deutschland',
                 'postcode' => '12345',
                 'village' => "Ort",
                 'state' => 'Land',
                 'county' => 'Kreis'
               },
  'name' => 'L 320',
  'osm_type' => 'way',
  'type' => 'secondary',
  'licence' => "Data \x{c2}\x{a9} OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright",
  'boundingbox' => [
                     '50.123456789',
                     '50.123456789',
                     '8.123456789',
                     '8.123456789'
                   ],
  'place_rank' => '26',
  'place_id' => '123456789',
  'lon' => '8.123456789'
}

2019.02.11 18:37:54 3: atTmpHomeCMD_Adresse_Wohnung: Straße
PLZ
Ort
Deutschland


Nach meinem Verständnis müsste doch zweimal die Adresse geholt werden oder?
Einmal v durch das Attribut addressReading auf 1 und dann nochgmal durch das manuelle
get iphone5se address aus dem at?   :o

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 11 Februar 2019, 20:29:21
Zitat von: binford6000 am 11 Februar 2019, 20:04:29
Hallo Markus,
ich habe so das Gefühl das mit addressReading auf 1 keine Adressen geholt werden.

Nach meinem Verständnis müsste doch zweimal die Adresse geholt werden oder?
Einmal v durch das Attribut addressReading auf 1 und dann nochgmal durch das manuelle
get iphone5se address aus dem at?
addressReading holt keine Adressen, es speichert sie nur in ein Reading.
Ich werde ins Modul keinen Mechanismus einbauen, der bei jeder Positionsänderung eine Reverse-Geocoding Anfrage abschickt.
Sonst gibt es diesen kostenlosen Dienst spätestens nächste Woche nicht mehr.

Mit anderen Worten: Geht sparsam mit den Anfragen um, dann haben wir hoffentlich noch länger was davon.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 11 Februar 2019, 20:38:12
Zitat von: Markus M. am 11 Februar 2019, 20:29:21
addressReading holt keine Adressen, es speichert sie nur in ein Reading.
Ich werde ins Modul keinen Mechanismus einbauen, der bei jeder Positionsänderung eine Reverse-Geocoding Anfrage abschickt.
Sonst gibt es diesen kostenlosen Dienst spätestens nächste Woche nicht mehr.

Mit anderen Worten: Geht sparsam mit den Anfragen um, dann haben wir hoffentlich noch länger was davon.

Danke, habs kapiert.
Ich mache das get address ja auch nur beim Eintritt in eine Zone. Was bei genauerer Betrachtung eigentlich Quatsch ist,
da ich die Zone ja manuell angelegt habe - und somit die Adresse kenne...

Ich nehme es aus dem notify raus und belasse es beim manuellen Abfragen über einen Telegramm-Dialog.  ;)

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Thk30 am 24 Februar 2019, 15:38:42
Hallo,

hiermit bedanke ich mich bei allen. Dank diesem Beitrag, hab ich jetzt ein Livetracking in Tablet UI. Es funtioniert super.

LG Thomas
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: hkspks am 12 März 2019, 12:28:55
Hallo zusammen,

gibt es eine Zusammenfassung zur Integration von OwnTracks über http in FHEM? Ich habe den Thread gelesen, aber wirklich schlauer was jetzt funktioniert und welche Komponenten notwendig sind, bin ich noch nicht. Sicherlich wäre das eine gute Ergänzung für das Wiki, welches bislang nur die MQTT Version aufzeigt. Gerne helfe ich mit, wenn mich jemand von den erfolgreichen Umsetzern noch ein wenig aufschlaut :-)

https://wiki.fhem.de/wiki/Anwesenheitserkennung#livetracking-Modul

VG!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 12 März 2019, 13:23:09
Guck mal in die Hilfe unter dem Attribut osmandServer.
Dort solltest du alles nötige finden, d.h. die URL die du für OwnTracks verwenden musst.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 12 März 2019, 15:34:50
Zitat von: hkspks am 12 März 2019, 12:28:55
Hallo zusammen,

gibt es eine Zusammenfassung zur Integration von OwnTracks über http in FHEM? Ich habe den Thread gelesen, aber wirklich schlauer was jetzt funktioniert und welche Komponenten notwendig sind, bin ich noch nicht. Sicherlich wäre das eine gute Ergänzung für das Wiki, welches bislang nur die MQTT Version aufzeigt. Gerne helfe ich mit, wenn mich jemand von den erfolgreichen Umsetzern noch ein wenig aufschlaut :-)

https://wiki.fhem.de/wiki/Anwesenheitserkennung#livetracking-Modul


Markus hats schon angedeutet, in der Commandref sollte alles drin sein was du brauchst. Ich habe es mit Onetrack im Einsatz, wenn du ein Problem hast konkret nachfragen dann kann ich Input geben
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: hkspks am 12 März 2019, 23:46:41
Exakt, war dann wirklich straight forward. Für die Allgemeinheit:

Anwendungsfall Livetracking zweier Personen P1/P2 inkl. Anwesenheitskontrolle zu OrtA über owntracks und FHEM mit osmand-server hinter reverse Proxy mit basic auth:

1) App owntracks auf Handys installieren (gibt es für iPhone und Android)
a) Verbindung anlegen:
- Mode: HTTP privat
- Host: FHEM-Server-IP/fhem/osmand
- Identification: Benutzername/ Passwort = Reverse-Proxy-Daten (sofern vorhanden), DeviceId (afaik egal), TrackerId = 2-Zeichen-Kürzel zur Unterscheidung von verschiedenen Personen, z.B. P1 und P2
b) Zonen = Orte anlegen, z.B. OrtA

2) Livetracking definieren (habe 2 verschiedene user)

defmod Tracker livetracking
attr Tracker osmandServer 1
attr Tracker userReadings presence_home_P1 { if(ReadingsVal($name,"id",0) eq "P1") {(ReadingsVal($name,"zone_0",0) eq "active") ? "present" : "absent"},\
presence_home_P2 { if(ReadingsVal($name,"id",0) eq "P2") {(ReadingsVal($name,"zone_0",0) eq "active") ? "present" : "absent"} }
attr Tracker zonename_0 OrtA


Individuell sind jeweils OrtA sowie die beiden userReadings für die Personen, hier P1/P2

3) Roommates anlegen

defmod P1 ROOMMATE Bewohner
attr P1 rr_presenceDevices Tracker:presence_home_P1

defmod P2 ROOMMATE Bewohner
attr P2 rr_presenceDevices Tracker:presence_home_P2


Hier erkennt man gut den Link zwischen den userreadings aus 2) und der Anwesenheitsanzeige der Roommates in 3)

Wer die GPS-Daten noch in die Roommates übertragen möchte, kann folgendes Notify verwenden:

defmod Tracker.change notify Tracker:.* { \
if(ReadingsVal("Tracker","id",0) eq "P1") { \
  fhem("setreading P1 locationLat [Tracker:latitude];;") ;;\
  fhem("setreading P1 locationLong [Tracker:longitude];;") ;;\
}\
if(ReadingsVal("Tracker","id",0) eq "P2") { \
  fhem("setreading P2 locationLat [Tracker:latitude];;") ;;\
  fhem("setreading P2 locationLong [Tracker:longitude];;") ;;\
}\
}


Ggf. nicht die charmanteste Lösung, scheint bei mir aber zu klappen. Kennt jemand einen charmanteren Weg?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 13 März 2019, 07:07:59
ZitatDie Lösung mit den userreadings für die beiden Personen ist glaub noch nicht 100%-schön - da freue ich mich gerne über Nachhilfe. Weiterhin schreibt jetzt natürlich das livetracking den letzten Standort nicht in die Roommates... gibt es hier noch einen charmanteren Weg als über notifys?

Schau mal hier:
https://forum.fhem.de/index.php/topic,93565.0.html (https://forum.fhem.de/index.php/topic,93565.0.html)

VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: hkspks am 13 März 2019, 14:43:13
Zitat von: binford6000 am 13 März 2019, 07:07:59
Schau mal hier:
https://forum.fhem.de/index.php/topic,93565.0.html (https://forum.fhem.de/index.php/topic,93565.0.html)

VG Sebastian

Danke, war mir noch zu unstable :-) - behalte ich aber im Auge. Habe es jetzt über ein einfaches Notify gelöst (siehe Beitrag oben). Reicht für meine einfachen Ansprüche zunächst.

@binford6000: Wir scheinen ein recht gleiches Setup zu haben; schaffst Du es, dass man in der owntracks-app die anderen Nutzer auf dem Server sieht? Kann man den osmand-Server dahingehend konfigurieren?

Ansonsten: soll ich die Lösung oben ins Wiki eintragen?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 13 März 2019, 17:54:21
Zitat@binford6000: Wir scheinen ein recht gleiches Setup zu haben; schaffst Du es, dass man in der owntracks-app die anderen Nutzer auf dem Server sieht? Kann man den osmand-Server dahingehend konfigurieren?

Ich habe nur einen Nutzer. Von daher nein.
VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 13 März 2019, 19:01:35
Zitat von: hkspks am 13 März 2019, 14:43:13schaffst Du es, dass man in der owntracks-app die anderen Nutzer auf dem Server sieht? Kann man den osmand-Server dahingehend konfigurieren?
Ich bin mir ziemlich sicher, dass das nur mit MQTT funktioniert.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: mike.d am 14 März 2019, 11:48:05
Hallo Markus,

glaubst du es ist mit vertretbarem Aufwand möglich auch das OwnTracks CSV-Format zu implementieren!?

Hier beschrieben: https://github.com/owntracks/gw/blob/master/manual/mqtt.md#csv (https://github.com/owntracks/gw/blob/master/manual/mqtt.md#csv)

Lieben Dank,
Michael
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 14 März 2019, 12:10:03
Also ich persönlich bewerte den vertretbaren Aufwand dafür mit 0 ;)

Traust du dir das selbst zu?
In Zeile 1516 versuchst du die ID aus den CSV Daten (sofern vorhanden) zu bekommen und ab Zeile 1562 dann den Rest, wenn es nicht schon http oder osmand war, was angekommen ist.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: mike.d am 14 März 2019, 17:22:00
wow....

vielen Dank für den Fingerzeig. Ich probier mich da gerne mal dran.... :- )
Wenn Ichs hinbekommen hab oder nicht weiterkomme, melde ich mich einfach nochmal!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 17 März 2019, 23:00:11
Zitat von: mike.d am 14 März 2019, 17:22:00
vielen Dank für den Fingerzeig. Ich probier mich da gerne mal dran.... :- )
Wenn Ichs hinbekommen hab oder nicht weiterkomme, melde ich mich einfach nochmal!
Könnte auch falsch sein.
Wenn das so nur vie MQTT reinkommt, muss alles in Zeile 896.
Kannst du das mal testen?
Wie aktiviert man das mit CSV überhaupt?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: mike.d am 17 März 2019, 23:02:56
ich komme wahrscheinlich erst nächste Woche dazu.

Aber ja, die Daten kommen per MQTT.

Ich hab mir eine modifizierte Version hiervon gebaut: https://github.com/jpmens/pico
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: MarcusKA am 22 März 2019, 12:44:09
Hey zusammen,

ich bin gerade auf der Suche nach  der richtigen Kombination zum Location Tracking mit FHEM und iPhone. Mit meinem Android hab ich keine Probleme... aber das iPhone iss echt ne Qual. Owntracks aktualisiert sich nur sporadisch. Nun wollte ich Life360 mal testen. Funktioniert soweit auch ganz gut - zumindest in der Life360 App. Dort wird mir der Standort aller immer schön zeitnah angezeigt. Aber irgendwie schaffen es die Daten einfach nicht nach FHEM, oder wenn, nur mit mehrstündiger Verspätung.

Jemand ne Idee, was ich falsch mache?

Hier mal ein paar Daten:
Internals:
   DEF        mail pass
   FUUID      5c92bfe8-f33f-dc93-43cd-2e065ac391ec2326
   NAME       life360_iPhone_Vanessa
   NOTIFYDEV  owntracks
   NR         205
   NTFY_ORDER 999-life360_iPhone_Vanessa
   STATE      xx.xxx,x.xxx
   TYPE       livetracking
   UPDATED    2019-03-22 10:42:42
   READINGS:
     2019-03-21 16:16:00   accuracy        50
     2019-03-21 13:41:46   address        xxx
     2019-03-21 23:09:39   batteryCharge   discharge
     2019-03-21 23:09:39   batteryPercent  100
     2019-03-21 23:09:39   batteryState    ok
     2019-03-21 16:16:00   latitude        xx.xxx
     2019-03-21 16:16:00   location        xx.xxx,x.xxx
     2019-03-21 16:16:00   longitude       x.xxx
     2019-03-21 16:16:00   place           Zuhause
     2019-03-21 16:16:00   velocity        0
   helper:
     lastLife360 1553181361
     life360_pass pass
     life360_script a3f1052e
     life360_secret xxxxxx
     life360_token xxxxxx
     life360_user mail
Attributes:
   DbLogExclude .*
   addressLanguage de
   addressReading 1
   event-on-update-reading .*
   life360_circle xxxx
   life360_userid xxxx
   stateFormat location
   userattr   goneradius homeradius leavetounderway:0,1 wayhomeradius
   verbose    5


wie gesagt... auf der life360 website und in der App wird der Standort richtig hinterlegt.

Gruß
Marcus
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolfgang Hochweller am 27 März 2019, 10:48:25
Ich habe livetracking installiert :



Internals:
   FUUID      5c9b2b80-f33f-775d-8312-5e4663322a0d3284
   NAME       howiloc
   NOTIFYDEV  owntracks
   NR         327
   NTFY_ORDER 999-howiloc
   STATE      ???
   TYPE       livetracking
   READINGS:
   helper:
Attributes:
   osmandId   01
   osmandServer 1
   room       Zentrale
   stateFormat location
   verbose    5
   zonename_0 Home
   zonename_1 Erik
   zonename_2 Kristin


Der FHEM-Logfile zeigt allerdings nichts, was auf einen Versuch hindeutet, livetracking zu laden.

Auf dem Handy in Owntracks die Osmandserveradresse angegeben, bekomme aber eine Fehlermeldung bzgl. SSLHandshake :

CertPathValidationException:TrustAnchor for certification path not found.

Das bedeutet ?

Ich habe sicher etwas vergessen ...
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 27 März 2019, 11:47:33
Zitat von: howi42 am 27 März 2019, 10:48:25
CertPathValidationException:TrustAnchor for certification path not found.

Das bedeutet ?

Ich habe sicher etwas vergessen ...

was passiert wenn du den link aus owntracks in einen browser einträgst. ist dieser erreichbar und per user/password abgesichert? wie ist dein setup? hast du https konfiguriert und funktioniert das im normalen browser?

ich habe gültige zertifikate, evtl. könnte die warnung von selbst erstellten zertifikaten kommen. bekommst du im browswer auch eine zertifikatswarnung?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolfgang Hochweller am 27 März 2019, 11:58:36
Die Warnung kommt, aber das kann ich uebersteuern.
Das Ergebnis im Browser ist :  undefined

Kann ich auch verstehen, livetracking wurde ja offenbar nie geladen ..
Folglich wird auch der Osmand-Teil nicht da sein.

Was mich stoert : dass im Logfile nichts auftaucht wie 'konnte livetracking nicht laden' , etc.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 27 März 2019, 13:26:08
Zitat von: howi42 am 27 März 2019, 11:58:36
Die Warnung kommt, aber das kann ich uebersteuern.

Verstehe nicht was du meinst

Zitat von: howi42 am 27 März 2019, 11:58:36
Das Ergebnis im Browser ist :  undefined

Modul sollte "timestamp missing" zurückliefern, zumindest macht es mein funktionierendes setup

Zitat von: howi42 am 27 März 2019, 11:58:36
Kann ich auch verstehen, livetracking wurde ja offenbar nie geladen ..
Folglich wird auch der Osmand-Teil nicht da sein.

Was mich stoert : dass im Logfile nichts auftaucht wie 'konnte livetracking nicht laden' , etc.
wie kommst du darauf dass das modul nicht geladen ist. livetracking ist im svn eingecheckt, somit solltest du ein modul 98_livetracking.pm im FHEM ordner haben. sonst kämen die warnungen von denen du sprichst. osmand teil ist bei dir per attribut definiert. wenn du denkst, es ist nicht geladen ... hast du mal rebootet?

gib etwas mehr von deinem setup bekannt.
zugriff über https, wo konfiguriert, in fhem?
wo hast du zerfitikate abgelegt, selbst erstellte oder letsencrypt oder ähnlich?
wie ist deine fhem instanz von außen erreichbar gemacht, sprich, welcher port, über dyndns o. ä. erreichbar, reverse proxy,
wie ist das ganze abgesichert. user + passwort eingerichtet

aus dem anderen thread weiß ich, dass du egeozone aktiv hattest, das deutet schon mal auf eine funktionierende weiterleitung und erreichbaren host hin. ich vermute immer noch dass es an selbst erstellten zertifikaten liegt, womöglich mit falsch konfigurierter weiterleitung

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolfgang Hochweller am 27 März 2019, 13:38:08
Das ist korrekt : Die eigenen Zertifikate sind das Problem.
Ich habe es mal lokal ohne https probiert - alles gut.

FHEM wird von aussen ueber eine dynamische Adresse+ Port und User/Passwort angesteuert.

Dabei dachte ich :
Wenn ich sonst FHEM ueber  https://dynIP:8084/fhem    erreiche, wobei der Browser das eigene Zertifikat akzeptiert,
kann ich es genauso mit https://dynIP:8084/fhem/osmand   machen.

War wohl ein Fehlschluss, besser gesagt, dass funktioniert nur aus meinem Browser heraus, aber nicht aus der Owntrack-App.


Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolfgang Hochweller am 29 März 2019, 11:40:46
Kann ich der Owntracks-App unter Android beibringen, ein eigenes Zertifikat zu akzeptieren ?
In den Einstellungen bei 'Private HTTP'  ist die Angabe eines Zertifikats nicht vorgesehen, bei 'Private MQTT' schon.

Manche Android-Apps beschweren sich zwar auch, man kann das Zertifikat aber dann akzeptieren ( etwas DAvDroid und andere ),
waehrend wieder andere von Hause aus einen Parameter haben, um das private Zertifikat zu akzeptieren ( wie etwa der Fully Browser das tut )
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 29 März 2019, 21:13:53
Zitat von: howi42 am 29 März 2019, 11:40:46
Kann ich der Owntracks-App unter Android beibringen, ein eigenes Zertifikat zu akzeptieren ?
In den Einstellungen bei 'Private HTTP'  ist die Angabe eines Zertifikats nicht vorgesehen, bei 'Private MQTT' schon.

Manche Android-Apps beschweren sich zwar auch, man kann das Zertifikat aber dann akzeptieren ( etwas DAvDroid und andere ),
waehrend wieder andere von Hause aus einen Parameter haben, um das private Zertifikat zu akzeptieren ( wie etwa der Fully Browser das tut )

In der App kenne ich keine Möglichkeit. Was du testen kannst, deine Zertifikatsdatei in den Speicher deines Android kopieren und dann importieren. Damit sind dann die Zertifikatsfehler im Browser weg, Apps sollten auch die android-interne Zertifikatsprüfung verwenden. Ob der Import geklappt hat kannst du mit dem Browser prüfen bevor du mit Owntracks weitermachst. Wenn keine Warnung mehr kommen hast du das richtige Zertifikat importiert. Wenn es dann in OT nicht funktioniert kenn ich keine Möglichkeit.

Ich habe Certbot / Letsencrypt Zertifikate, kostenlos und ein Job auf deinem Server erneuert die automatisch. Wahrscheinlich schneller als mit den privaten Zertifikaten rumzuspielen. Dann wärst du alle Browser-Warnungen los.

Ich nutze kein MQTT, wenn ich Owntracks richtig verstehe sind die Zertifikate in MQTT nicht die ssl-Zertifikate (für HTTPS) sondern client Zertifikate zum Einloggen ohne User/PW. Vgl. SSH Login ohne Passwort.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolfgang Hochweller am 30 März 2019, 07:15:11
Danke fuer die Hilfe, geht prima.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 30 März 2019, 10:30:33
Zitat von: howi42 am 30 März 2019, 07:15:11
Danke fuer die Hilfe, geht prima.
gerne, schreib bitte für mitlesende die ggf. selbes problem haben was die lösung war, zertifikate importieren oder letsencrypt.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolfgang Hochweller am 30 März 2019, 22:17:22
letsencrypt.
Zertifikate importieren ist nicht ganz trivial, und Client Certificates muesste man auf jedem Device machen.
Die Loesung war also letsencrypt und reverse proxy auf dem
fhem-server.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Wolfgang Hochweller am 01 April 2019, 09:06:28
An welchem Parameter haengt es, wenn livetracking :
- Koordinaten und Adresse richtig anzeigt, weit weg von zu Hause
- trotzdem habe ich zonenmaessig meine Homezone nicht verlassen, place steht auf Home, zone_0  ist aktiv

Ich fuerchte, ich kann die Frage selbst beantworten :
Gemaess Owntracks-Anleitung sollten Region-Events , z.B. im 'significant changes monitoring mode' unverzueglich uebermittelt werden.
Das ist offenbar bei mir nicht der Fall; alles richtet sich in diesem Modus nur nach den  Update-Parametern ( default 900 sek, 500 m ).

Wenn ich das nicht aendern kann, ist Owntracks aus dem Spiel.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Parador am 04 April 2019, 13:54:18
Hallo Zusammen,

ich habe mich jetzt bereits durch owntracks, MQTT, und MQTT2 gefuxt.
Aktuell habe ich MQTT2 am laufen und bekomme auch Daten übermittelt..
Was ich nicht hinbekomme ist das Livetracking zu aktivieren...

Bevor ich jetzt weiter herumprobiere und hier alles tippe. Ich bin mir unsicher ob dieses Modul überhaupt mit MQTT2 läuft.. könnt ihr mir da weiterhelfen?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 04 April 2019, 13:58:47
Poste doch mal ein list des MQTT2 Devices.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Parador am 04 April 2019, 14:27:27
Hallo Markus,

mach ich gerne.. lat/lon hab ich etwas gekürzt ;-)

Internals:
   CFGFN     
   CID        MarcE197F2D1E8CB4B5A92D8A84E50AC372F
   DEF        MarcE197F2D1E8CB4B5A92D8A84E50AC372F
   DEVICETOPIC MQTT_iPhone
   FUUID      5ca5dc3c-f33f-3c2f-8b57-28ec75873693a21a
   IODev      MyMQTT2server
   LASTInputDev MyMQTT2server
   MSGCNT     56
   MyMQTT2server_MSGCNT 56
   MyMQTT2server_TIME 2019-04-04 14:19:34
   NAME       MQTT_iPhone
   NR         11214
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-04-04 14:19:34   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F__type location
     2019-04-04 14:19:34   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_acc 65
     2019-04-04 14:19:34   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_alt 341
     2019-04-04 14:19:34   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_batt 86
     2019-04-04 13:15:41   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_cog 228
     2019-04-04 14:19:34   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_conn w
     2019-04-04 13:26:15   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_inregions_1 H1
     2019-04-04 14:19:34   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_lat 51.9
     2019-04-04 14:19:34   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_lon 15.5
     2019-04-04 14:19:34   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_p 95.2
     2019-04-04 14:19:34   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_t t
     2019-04-04 14:19:34   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_tid MF
     2019-04-04 14:19:34   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_tst 1554376581
     2019-04-04 14:19:34   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_vac 10
     2019-04-04 13:15:41   E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_vel 0
     2019-04-04 12:37:18   waypoint__type  waypoint
     2019-04-04 12:37:18   waypoint_desc   H1
     2019-04-04 12:37:18   waypoint_lat    51.9
     2019-04-04 12:37:18   waypoint_lon    15.5
     2019-04-04 12:37:18   waypoint_rad    10
     2019-04-04 12:37:18   waypoint_tst    1554374171
Attributes:
   IODev      MyMQTT2server
   event-on-change-reading .*
   group      MQTT
   readingList MarcE197F2D1E8CB4B5A92D8A84E50AC372F:owntracks/Marc/E197F2D1-E8CB-4B5A-92D8-A84E50AC372F:.* { json2nameValue($EVENT, 'E197F2D1-E8CB-4B5A-92D8-A84E50AC372F_', $JSONMAP) }
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 04 April 2019, 16:18:23
Klappt so nicht. Livetracking erwartet ein Reading mit dem kompletten JSON String der von OwnTracks gesendet wird.
Bei dir ist das schon aufgetrennt.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Parador am 04 April 2019, 16:33:16
naja, das kommt so vom MQTT2 Server der das Device direkt angelegt hat...
Am Server kommt (vermutlich) mehr an...
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Parador am 04 April 2019, 18:45:35
Am Server gibt es ein Reading "Retain":

{"owntracks/M/E197F2D1-E8CB-4B5A-92D8-A84E50AC372F":"{\u0022cog\u0022:189,\u0022batt\u0022:64,\u0022lon\u0022:11.5,\u0022acc\u0022:50,\u0022p\u0022:96.0,\u0022vel\u0022:3,\u0022vac\u0022:24,\u0022lat\u0022:49.9,\u0022conn\u0022:\u0022w\u0022,\u0022tst\u0022:1554291918,\u0022tid\u0022:\u0022MF\u0022,\u0022_type\u0022:\u0022location\u0022,\u0022alt\u0022:344}","owntracks/MF/E197F2D1-E8CB-4B5A-92D8-A84E50AC372F":"{\u0022cog\u0022:189,\u0022batt\u0022:64,\u0022lon\u0022:11.5,\u0022acc\u0022:50,\u0022p\u0022:95.9,\u0022vel\u0022:3,\u0022vac\u0022:24,\u0022lat\u0022:49.9,\u0022conn\u0022:\u0022w\u0022,\u0022tst\u0022:1554291918,\u0022tid\u0022:\u0022MF\u0022,\u0022_type\u0022:\u0022location\u0022,\u0022alt\u0022:344}","owntracks/Ma/E197F2D1-E8CB-4B5A-92D8-A84E50AC372F":"{\u0022cog\u0022:189,\u0022batt\u0022:64,\u0022lon\u0022:11.5,\u0022acc\u0022:50,\u0022p\u0022:96.0,\u0022vel\u0022:3,\u0022vac\u0022:24,\u0022lat\u0022:49.9,\u0022conn\u0022:\u0022w\u0022,\u0022tst\u0022:1554291918,\u0022tid\u0022:\u0022MF\u0022,\u0022_type\u0022:\u0022location\u0022,\u0022alt\u0022:344}","owntracks/Mar/E197F2D1-E8CB-4B5A-92D8-A84E50AC372F":"{\u0022cog\u0022:189,\u0022batt\u0022:64,\u0022lon\u0022:11.5,\u0022acc\u0022:50,\u0022p\u0022:96.0,\u0022vel\u0022:3,\u0022vac\u0022:24,\u0022lat\u0022:49.9,\u0022conn\u0022:\u0022w\u0022,\u0022tst\u0022:1554291918,\u0022tid\u0022:\u0022MF\u0022,\u0022_type\u0022:\u0022location\u0022,\u0022alt\u0022:344}","owntracks/Marc/E197F2D1-E8CB-4B5A-92D8-A84E50AC372F":"{\u0022cog\u0022:189,\u0022batt\u0022:64,\u0022lon\u0022:11.5,\u0022acc\u0022:50,\u0022p\u0022:96.0,\u0022vel\u0022:3,\u0022vac\u0022:24,\u0022lat\u0022:49.9,\u0022conn\u0022:\u0022w\u0022,\u0022tst\u0022:1554291918,\u0022tid\u0022:\u0022MF\u0022,\u0022_type\u0022:\u0022location\u0022,\u0022alt\u0022:344}","owntracks/Marc/E197F2D1-E8CB-4B5A-92D8-A84E50AC372F":"{\u0022cog\u0022:189,\u0022batt\u0022:64,\u0022lon\u0022:11.5,\u0022acc\u0022:50,\u0022p\u0022:96.0,\u0022vel\u0022:3,\u0022vac\u0022:24,\u0022lat\u0022:49.9,\u0022conn\u0022:\u0022w\u0022,\u0022tst\u0022:1554291918,\u0022tid\u0022:\u0022MF\u0022,\u0022_type\u0022:\u0022location\u0022,\u0022alt\u0022:344}","owntracks/Marc/E197F2D1-E8CB-4B5A-92D8-A84E50AC372F":"{\u0022batt\u0022:94,\u0022lon\u0022:11.5,\u0022acc\u0022:65,\u0022p\u0022:95.3,\u0022vac\u0022:10,\u0022lat\u0022:49.9,\u0022t\u0022:\u0022t\u0022,\u0022conn\u0022:\u0022w\u0022,\u0022tst\u0022:1554376581,\u0022alt\u0022:341,\u0022_type\u0022:\u0022location\u0022,\u0022tid\u0022:\u0022MF\u0022}"}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rcmcronny am 11 April 2019, 15:39:09
Hoi,

bezüglich dem Owntracks CSV Format von hier (Seite 25/26):

Zitat von: mike.d am 14 März 2019, 11:48:05
glaubst du es ist mit vertretbarem Aufwand möglich auch das OwnTracks CSV-Format zu implementieren!?

Hier beschrieben: https://github.com/owntracks/gw/blob/master/manual/mqtt.md#csv (https://github.com/owntracks/gw/blob/master/manual/mqtt.md#csv)

Zitat von: Markus M. am 17 März 2019, 23:00:11
Könnte auch falsch sein.
Wenn das so nur vie MQTT reinkommt, muss alles in Zeile 896.
Kannst du das mal testen?
Wie aktiviert man das mit CSV überhaupt?

Da ich auch das "pico" Device mir nachgebaut habe, interessiert mich die  CSV codierte Variante natürlich auch.

Ich habe mir heute das Modul mal angeschaut und denke eine Lösung gefunden zu haben. Zumindest bei mir läuft diese seit einigen Stunden, wie sie soll :)

Ich hänge mal einen OldSchool Patch File an. Optimieren kann man es sicher noch, aber ich hoffe es passt halbwegs bezüglich der Qualität.

Ronny

EDIT:  Info -> Battery habe ich fest auf 99 gesetzt, da dies nicht gesendet wird.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 11 April 2019, 22:30:22
Zitat von: rcmcronny am 11 April 2019, 15:39:09Ich hänge mal einen OldSchool Patch File an. Optimieren kann man es sicher noch, aber ich hoffe es passt halbwegs bezüglich der Qualität.
EDIT:  Info -> Battery habe ich fest auf 99 gesetzt, da dies nicht gesendet wird.
battery kann man dann auch einfach weglassen.
Probier mal den Anhang
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 11 April 2019, 22:33:32
Zitat von: Parador am 04 April 2019, 18:45:35Am Server gibt es ein Reading "Retain"
Du brauchst irgendwo ein Reading in dem die JSON Nachricht drin ist.
Und zwar nur eine und ohne wirres Encoding, ca. so:
{"cog":189,"batt":64,"lon":11.5,"acc":50,"p":95.9,"vel":3,"vac":24,"lat":49.9,"conn":"w","tst":1554291918,"tid":"MF","_type":"location","alt":344}
Auf dieses Reading könntest du das Modul dann loslassen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rcmcronny am 11 April 2019, 22:43:07
Zitat von: Markus M. am 11 April 2019, 22:30:22
battery kann man dann auch einfach weglassen.
Probier mal den Anhang

Hi Markus,

sieht wie meine angepaßte Datei aus und verhält sich auch so wie gewollt bei mir zumindest  ;D
(Ich hab paar Daten ausgeXt, also nicht verwirren lassen bitte)


2019-04-11 22:35:57 livetracking livetracking_ronny_car latitude: 50.xxxxxx
2019-04-11 22:35:57 livetracking livetracking_ronny_car longitude: 11.xxxxx
2019-04-11 22:35:57 livetracking livetracking_ronny_car location: 50.xxxxxx,11.xxxxx
2019-04-11 22:35:57 livetracking livetracking_ronny_car altitude: 290
2019-04-11 22:35:57 livetracking livetracking_ronny_car id: 21
2019-04-11 22:35:57 livetracking livetracking_ronny_car velocity: 0
2019-04-11 22:35:57 livetracking livetracking_ronny_car heading: 270
2019-04-11 22:35:57 livetracking livetracking_ronny_car trigger: frequent
2019-04-11 22:35:57 livetracking livetracking_ronny_car distance: 0
2019-04-11 22:35:57 livetracking livetracking_ronny_car locationLat: 50.xxxxx
2019-04-11 22:35:57 livetracking livetracking_ronny_car locationLong: 11.xxxxx
2019-04-11 22:35:57 livetracking livetracking_ronny_car locationLat: 50.xxxxxx
2019-04-11 22:35:57 livetracking livetracking_ronny_car locationLong: 11.xxxx
2019-04-11 22:35:57 MQTT_DEVICE owntracks_ronny_car 12d8fr20: 21,5CAFA52D,v,50xxxxxxx,11xxxxxx,27,0,29,1,0


Nun wäre es gut, wenn  mike.d  nochmal testet und dann würd ich sagen im Betrieb halt genauer schauen, ob alle Fälle mit dem Regex abgebildet werden. Da kann man aber noch nachjustieren wenns nötig ist.

Danke :)
Ronny
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 12 April 2019, 10:57:09
Sobald ihr mir beide sagt dass es ok ist, checke ich die Version ein.
Wäre nett wenn neben mir auch noch jemand mit testen kann der das nicht nutzt.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: 87insane am 12 April 2019, 16:26:06
Hallo liebe Gemeinde :)

Hat hier jemand zufällig eine komplette Anleitung um Owntracks ans rennen zu bekommen?

Was habe ich?
- MQTT2 (Fhem)
- Port wäre frei aber intern kann ich auch direkt testen

Problem:
- Wenn ich TLS aktiv schalte in der App (Adroid) bekomme ich immer einen Fehler.
Android: Fehler - Endpoint state, Nicht verfügbar - Endpoint state message
Apple: idle Der Vorgang konnte nicht abgeschlossen werden. (OSStatus-Fehler -9806.) {"_kCFStreamErrorCodeKey" = "-9806"; "__kCFStreamErrorDomainKey" = 3;} --- Hier ist auch vollkommen egal was man einstellt in der App. Sobald die Adresse stimmt, kann man mit oder ohne Auth oder mit oder ohne validate usw. Der Fehler bleibt gleich.

Ohne TLS würde ich das aber niemals laufen lassen!

In FHEM sehe ich mit verbose 5 auf meinem MQTT Device auch das etwas sprechen möchte.
2019.04.12 16:22:08 4 : Connection accepted from MQTT2_FHEM_Server_2.247.241.136_2980
2019-04-12 16:22:08 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 8


Danach springt er wieder zurück auf 7 Clients und weiter passiert nichts (kein autocreate).
Stelle ich TLS aus, erscheint direkt das entsprechende Gerät.

EventLog wenn man mit TLS auf aktualisieren in der App drückt..öfter nacheinander:
2019-04-12 19:15:59 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 8
2019-04-12 19:15:59 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 7
2019-04-12 19:15:59 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 8
2019-04-12 19:15:59 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 7
2019-04-12 19:15:59 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 8
2019-04-12 19:15:59 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 7
2019-04-12 19:15:59 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 8
2019-04-12 19:15:59 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 7
2019-04-12 19:15:59 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 8
2019-04-12 19:15:59 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 7
2019-04-12 19:16:00 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 8
2019-04-12 19:16:00 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 7
2019-04-12 19:16:00 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 8
2019-04-12 19:16:00 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 7
2019-04-12 19:16:00 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 8
2019-04-12 19:16:00 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 7
2019-04-12 19:16:00 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 8
2019-04-12 19:16:00 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 7
2019-04-12 19:16:01 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 8
2019-04-12 19:16:01 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 7
2019-04-12 19:16:01 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 8
2019-04-12 19:16:01 MQTT2_SERVER MQTT2_FHEM_Server nrclients: 7


Mal davon ab das die Anleitung und das Wiki echt im minimal Betrieb ist.... Komme hier leider nicht weiter.

Was mir auch fehlt, ist eine Anleitung wie man das gut einbindet in FHEM. Kann ich hier wie bei geofacy einfach die ID des Gerätes in Residents übernehmen oder ist das nach wie vor über manuelle Anpassung zu machen? Ggf. habe ich ja nicht alles gefunden....

PS: Leider gibt es hier kein Template für MQTT2 für bisher ;) @Beta-User

EDIT: Nachdem ich nun langsam keine Lust mehr habe, habe ich mal das ApplePhone ausgepackt. Hier das gleiche nur das die App an sich x mal besser aussieht und die Bedienung besser ist. Hinzu gibt es hier Menu-Punkte die ich im Androiden nicht gefunden habe. Sowas wie das auch Zertifikate erlaubt werden die nicht offiziell sind. Aber das hat auch nichts gebracht. Ggf. hilft es das Problem zu finden.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 12 April 2019, 20:38:05
MQTT2 hilft dir aktuell so wie es aussieht eh nichts, weil es keine vernünftigen Daten in Readings schreibt - das Problem hatten wir weiter oben.
Zu den Zertifikaten findest du vielleicht was im OwnTracks Booklet zur Konfigurations-Datei. Über das UI funktioniert das nicht.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: 87insane am 12 April 2019, 21:10:43
Was ist dann aktuell überhaupt noch möglich in diese Richtung hier? Also nicht falsch verstehen, aber ich hab viel gelesen und bisher werde ich quasi immer weiter geschoben. Jetzt bin ich hier und das hier geht auch nicht mehr so richtig.

Eigentlich wollte ich nur TLS. Wenn ich für jedes Gerät eine Datei hin und her transportieren muss (händisch) wäre das für mich ein noGo. Aber wenn es nur ein PW oder so mehr wäre, okay. Kannst du dazu ggf. auch mehr sagen? Das Booklet hat mich nur zum weinen gebracht. Also mal ohne Spaß... Ich weiß ggf. einfach nicht was ich suchen muss in diesem Fall :-\

MQTT2 geht bei mir ohne TLS und hat bei mir auch richtige werte geliefert. Also Breite.-/Länge hat auf jeden Fall gepasst. Wenn ich ggf. was helfen kann als "dummy" - gern!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rcmcronny am 12 April 2019, 22:11:53
Hoi,

Mosquitto als MQTT Server und dort TLS Konfiguieren (so schwer ist das nicht) dann die Clients da einrichten (FHEM und halt die Geräte) und dann klappt auch LiveTracking ?

Ronny
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: 87insane am 12 April 2019, 22:23:06
Aus einem Fluss, viele machen und am ende wieder zusammen führen. Erscheint mir etwas umständlich.
Es gibt viele Wege, ggf. sogar einen bisher nicht bekannten. Denke hierzu haben viele eine Idee.

Danke Dir aber!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 13 April 2019, 18:15:34
gibt es einen grund warum du mqtt willst? du hattest egigeozone, d. h. zugang von außen über http(s) war schon da. wenn https musst du ggf. noch zertifikate erstellen (ggf. letsencrypt) und dann modul schon laufen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: 87insane am 14 April 2019, 12:05:48
Habe ich nach x Test nun bemerkt. Zertifikate habe ich natürlich. Allerdings finde ich das doch relativ umständlich. Da ich aktuell aber nicht weiter machen kann (unterwegs) ist das erst mal auf Eis.

Um ehrlich zu sein finde ich egigeozone auch viel einfacher und finde es sehr schade, dass es nicht weiter entwickelt wird.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: mike.d am 14 April 2019, 15:00:20
so, ich bin heute auch dazu gekommen meinen pico auf CSV umzustellen und die Daten werden sauber aufgeschlüsselt. Ich habe keine Fehler entdecken können.

Ich denke, du kannst die Version so einchecken! :- )

Dank an ronny fürs integrieren.

Zitat von: Markus M. am 12 April 2019, 10:57:09
Sobald ihr mir beide sagt dass es ok ist, checke ich die Version ein.
Wäre nett wenn neben mir auch noch jemand mit testen kann der das nicht nutzt.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: mike.d am 19 April 2019, 21:14:03
Nachtrag:

seit einspielen der "neuen" Version bekomme ich doch keine location-updates mehr aus den CSV-Daten!?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rcmcronny am 19 April 2019, 22:13:38
Hi,

Also bei mir läuft die Version 1a, ich sehe im Owntracks Device die CSV Daten und im livetracking Device die Positionsdaten.
Was kommt den bei dem mqtt owntracksdevice an, check mal, ob die daten passen. Vielleicht passt auch mein Regex nicht 100%ig.
Ggf mir mal den CSV String senden, dann kann ich mal gegenprüfen ;)

Ronny
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: mike.d am 20 April 2019, 02:07:35
hier mal ein Beispiel:  e0,5CB8C3B8,s,52545330,13427435,29,0,4,8,18
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rcmcronny am 20 April 2019, 10:56:37
Hi Michael,

hab Dir mal eine Datei angehängt, probiere die mal.

Ich denke das "s" im Triggerfeld ist der Grund, der ist nicht im Regex enthalten. Steht aber auch nicht bei der Doku mit dabei. Hab diesen hinzugefügt.

Ronny
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 20 April 2019, 11:13:38
Zitat von: mike.d am 19 April 2019, 21:14:03
seit einspielen der "neuen" Version bekomme ich doch keine location-updates mehr aus den CSV-Daten!?
Welche "neue" Version? Du hast ein reguläres Update gemacht?
War etwas zu früh - mach morgen nochmal eins.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rcmcronny am 20 April 2019, 11:19:38
Hi,

Zitat von: Markus M. am 20 April 2019, 11:13:38
Welche "neue" Version? Du hast ein reguläres Update gemacht?
War etwas zu früh - mach morgen nochmal eins.

Ich denke er meint die "Testversion" die er noch testet :) Im CSV String der Trigger "s" ist nicht im Regex mit drin an, da es auf der Owntracks CSV Seite keine Info für ein Trigger "s" gibt. in der oben angefügen Version, hab ich die 3 RegExe entsprechend nur erweitert. Wenn das passt, dann kannst Du das noch mit aufnehmen, würde dann nochmal was dazu posten.

Ronny
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 20 April 2019, 11:21:37
Zitat von: rcmcronny am 20 April 2019, 11:19:38
Wenn das passt, dann kannst Du das noch mit aufnehmen, würde dann nochmal was dazu posten.
Das ist dann mal so ab morgen im regulären Update.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: mike.d am 20 April 2019, 12:52:14
seltsam, jetzt bekomme ich eine Menge "WRONG MQTT TYPE" - Fehlermeldungen im Log.

2019.04.20 12:50:36 4: WRONG MQTT TYPE 'transmission-state: subscribe sent'
2019.04.20 12:50:37 4: WRONG MQTT TYPE 'transmission-state: subscription acknowledged'
2019.04.20 12:50:37 4: WRONG MQTT TYPE 'transmission-state: incoming publish received'
2019.04.20 12:50:37 4: WRONG MQTT TYPE 'position: e0,5CBA1645,s,52544734,13427660,34,0,6,22,25'
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rcmcronny am 20 April 2019, 13:25:13
Hi,

ich habe bestimmt mit dem Notepad beim Quick Fix was vermehrt. Ich habe die Datei nochmal unter Linux angepaßt.

Dein Fehler kam von der ID die ich nur mittels 0-9 hatte, das habe ich angepaßt im Regex und auch die Bereiche etwas erweitert. Das sollte nun alles mögliche Abdecken.

Anbei ein Patchfile (auf Basis der originalen unveränderten Version) und ein Datei zum Testen (ich hab Sie bei mir noch nicht eingespielt, kaum Zeit heute bis zum Abend ^^)

Ronny
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: mike.d am 20 April 2019, 13:43:51
ich schau mir das heute oder morgen auch nochmal an:

2019.04.20 13:38:52 1: PERL WARNING: Argument "" isn't numeric in numeric ge (>=) at ./FHEM/98_livetracking.pm line 1021.
2019.04.20 13:38:52 4: WRONG MQTT TYPE 'transmission-state: incoming publish received'
2019.04.20 13:38:52 4: car.tracking Detected OwnTracks CSV ENCODED data from MQTT device notify
2019.04.20 13:38:52 4: car.tracking - CSV encoded payload detected -> 'osition: e0,5CBA1645,s,52544734,13427660,34,0,6,22,25'
2019.04.20 13:38:52 4: car.tracking OwnTracks: 1970-01-01 01:00:00  {
  "_type": "location",
  "t": "",
  "tst": "0",
  "tid": "1",
  "lat": "0",
  "lon": "0",
  "alt": "0",
  "vel": "",
  "batt": "99",
  "cog": "0",
  "dist": "",
  "trip": "0"
}


und manueller publish:

2019.04.20 13:43:52 4: car.tracking Detected OwnTracks data from MQTT device notify
2019.04.20 13:43:52 4: car.tracking OwnTracks: 2019-04-19 20:41:09  {"_type":"location","t":"s","tid":"e0","tst":1555699269,"lat":52.544734,"lon":13.42766,"cog":340,"vel":0,"alt":60,"dist":22,"trip":25000,"csv":true,"topic":"owntracks/micro/0fc2bfe0","username":"micro","device":"0fc2bfe0","ghash":"u33dct3","isotst":"2019-04-19T18:41:09Z","disptst":"2019-04-19 18:41:09"}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rcmcronny am 24 April 2019, 10:00:54
Hi  Markus M.,

ich habe nochmal einen Patch auf die aktuelle Version im Repo erstellt. Damit wird der RegEx etwas korrekt auf mögliche Varianten erweitert. Und ein paar Matching Fehler ausgebügelt, die ich noch mit drin hatte :)

Das sollte mit mike.d seinem System dann auch arbeiten.

@mike.d  Kannst Du mir sagen, wo der Trigger "s" bei Dir herkommt ? Ich habe nochmal gesucht bei der Owntracks Doku und konnte da nirgendwo was finden zu diesem Trigger. im RegEx ist er nun drin, das Modul kennt diesen aber nicht und er wird daher sicher als "unknown" übersetzt. Ggf könnte man das noch optimieren dann.

Grüße,
Ronny
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: ThomasMagnum am 09 Juli 2019, 09:47:45
Hallo,

aktuell versuche ich mit der Android App GPSLogger per Möglichkeit des Loggings an eine benutzerdefinierte URL meinen Standort an das Modul zu übermitteln. Meine Annahme ist das ich dies an den internen "OSMAND" Server senden kann. GPSLogger nutze ich aus verschiedenen Gründen und würde diesen gerne weiterhin nutzen.

Kann mir jemand sagen wie die Post URL aufgebaut sein muss damit das Modul dies erkennt?

Vielen Dank.

Gruß, Thomas
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 09 Juli 2019, 21:44:09
Zitat von: ThomasMagnum am 09 Juli 2019, 09:47:45
Kann mir jemand sagen wie die Post URL aufgebaut sein muss damit das Modul dies erkennt?

schau dir mal meinen post hier an. da siehst du in meinen debug-logs welche post-daten geschickt werden. wie gesagt, wird per post übertragen, ist kein teil des links selbst. ob das deine app kann musst du prüfen

2019.01.13 13:40:06.553 4: livetrackingdata OwnTracks: 2019-01-13 12:39:43  {"_type":"location","acc":15,"alt":0,"batt":68,"conn":"w","inregions":["home"],"lat":99.6659182,"lon":99.072553,"tid":"te","tst":1547379583,"vac":0,"vel":0}


wenn du in der url parameter mitgeben willst, ggf. https://fhem.de/commandref.html#GEOFANCY

Hier supportseite mit ein paar details wie der links aussehen soll. beispiel unten
https://www.egigeozone.de/manual/default.html


http://mein.dyndns.org:1028/webhook/geo?id=78ab15be-b07c-350d-11c0-db0007bf1d2c&name=home&entry=1&date=2015-05-17T20:55:39+0000&latitude=46&longitude=10&device=78ab15be-b07c-350d-11c0-db0007bf1d2c c
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Spezialtrick am 14 Juli 2019, 16:34:23
Zitat von: Ma_Bo am 01 November 2018, 10:50:52

Hey Carlos, ich habe das mit nem HTTPMOD gelöst, somit hole ich alle 30 Sekunden die Daten bei Traccar.

Zitatdefmod Traccar_HTTPMOD HTTPMOD http://DEINEIP:DEINPORT/traccar/rest/getLatestPositions 30
attr Traccar_HTTPMOD userattr sid1URL
attr Traccar_HTTPMOD disable 0
attr Traccar_HTTPMOD enableCookies 1
attr Traccar_HTTPMOD event-on-change-reading .*
attr Traccar_HTTPMOD extractAllJSON 1
attr Traccar_HTTPMOD reAuthRegex Unauthorized
attr Traccar_HTTPMOD room Traccar
attr Traccar_HTTPMOD sid1URL http://DEINEIP:DEINPORT/traccar/rest/login?payload=[DEINTRACCARBENUTZERNAME,DEINTRACCARBENUTZERPASSWORT]
attr Traccar_HTTPMOD verbose 0

Damit bekommst du alle Geräte und deren Daten, die für den Traccar Account sichtbar sind, angezeigt.

Grüße Marcel

Hallo Marcel,

ist diese Definition von Dir noch aktuell?

Bei mir klappt es leider nicht.

Grüße!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Ma_Bo am 15 Juli 2019, 03:48:53
Zitat von: Spezialtrick am 14 Juli 2019, 16:34:23
Damit bekommst du alle Geräte und deren Daten, die für den Traccar Account sichtbar sind, angezeigt.

Grüße Marcel


Hallo Marcel,

ist diese Definition von Dir noch aktuell?

Bei mir klappt es leider nicht.

Grüße!

Ja, bei mir läuft es noch genau so...
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: FHEM_Starter am 01 August 2019, 13:34:51
Hallo Sebastian,

könntest du bitte ein List von deinem DOIF aus der Antwort Nummer 145 posten? Irgendwie komme ich mit den Hochkomma nicht klar.

Danke und Gruß Wolfgang
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 01 August 2019, 18:43:33
Zitat von: FHEM_Starter am 01 August 2019, 13:34:51
Hallo Sebastian,

könntest du bitte ein List von deinem DOIF aus der Antwort Nummer 145 posten? Irgendwie komme ich mit den Hochkomma nicht klar.

Danke und Gruß Wolfgang

Hallo Wolfgang,
ich habe das DOIF so nicht mehr im Einsatz. Habe es damals umgebaut auf Perl. Im Prinzip aber identisch mit dem ursprünglichen:
DOIF (["$SELF:switch: enter"] or ["owntracks:enter"]) \
({\
   my $place=ReadingsVal('iphone5SE','place','');;\
   fhem("set Wohnung location $place");; \
   fhem("set rr_Sebastian location $place");;\
   fhem("set locations.RH add [iphone5SE:address]");;\
   fhem("set Sebastian.DUM present") if ("$place" eq "home");;\
       fhem("defmod -temporary atTmpHomeCMD_antiFlap_rr_Sebastian at +00:05:00 set Sebastian.DUM absent") if ("$place" eq "home");;\
       Log(1, "Standort-Logik bei enter - Standort: [iphone5SE:place].");;\
})\
DOELSEIF (["$SELF:switch: leave"] or ["owntracks:leave"]) \
({\
       my $loc=ReadingsVal('rr_Sebastian','location','');;\
   my $blitzer=ReadingsVal('blitzer','PushText','');;\
   fhem("msg push Aktuelle Blitzer:\n$blitzer") if ($blitzer);;\
   fhem("set Wohnung location underway") if ($loc !~ /home/);;\
   fhem("set rr_Sebastian location underway") if ($loc !~ /home/);;\
   fhem("set locations.RH add unterwegs");;\
   Log(1, "Standort-Logik bei leave - [iphone5SE:place].");;\
})\

attr Standort.DOIF alias Standort Logik
attr Standort.DOIF cmdState enter|leave
attr Standort.DOIF devStateIcon enter:location@green leave:location@red
attr Standort.DOIF group Standort
attr Standort.DOIF icon location
attr Standort.DOIF readingList switch
attr Standort.DOIF room 90_System->97_Logik
attr Standort.DOIF setList switch:enter,leave
attr Standort.DOIF wait 2:2
attr Standort.DOIF webCmd switch


Mittlerweile nutze ich dieses NOTIFY:
iphone5SE:(enter|leave):.* {
if ($EVTPART0 =~ /enter/) {
if ($EVTPART1 eq "home") {
fhem("set Sebastian.DUM present");
fhem("set Wohnung location $EVTPART1");
fhem("defmod -temporary atTmpHomeCMD_antiFlap_Sebastian_Wohnung at +00:05:00 set Sebastian.DUM absent");
Log(1, "Standort-Logik bei enter - Standort: $EVTPART1.");
}
else {
fhem("set Wohnung location $EVTPART1");
Log(1, "Standort-Logik bei enter - Standort: $EVTPART1.");
}
}
elsif ($EVTPART0 =~ /leave/){
fhem("set Wohnung location underway");
fhem("set myBlitzer Update [iphone5SE:latitude] [iphone5SE:longitude]");
Log(1, "Standort-Logik bei leave - $EVTPART1.");
}
}


VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 11 Januar 2020, 23:22:42
Hallo Markus,

ich bin mal ein Thema angegangen, was mir in Verbindung mit meinem connector Modul (livetracking->residents) aufgefallen ist.
Unter bestimmten Umständen laufen von dem livetracking Modul Stacktrace Fehlermeldungen auf.
Ich hatte dazu mal im Development Unterforum nachgehakt (https://forum.fhem.de/index.php/topic,107211.0.html) und Rudi hat das Problem auch gleich gefunden.
Könntest du das besagte DoTrigger aus Zeile 1060 erst nach dem readingsEndUpdate ausführen?

z.B. die Zeile löschen
und nach readingsEndUpdate folgendes einfügen:

  if(defined($dataset->{desc}) and defined($dataset->{event}))
  {
    DoTrigger($name, $dataset->{event}.": ".$dataset->{desc});
    Log3 ($name, 4, "$name OwnTracks Zone Event: ".$dataset->{event}." ".$dataset->{desc});
  }

Ist nicht unbedingt das eleganteste, aber es funktioniert  8)

Danke
Klaus
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 12 Januar 2020, 15:33:40
Zitat von: klausw am 11 Januar 2020, 23:22:42Unter bestimmten Umständen laufen von dem livetracking Modul Stacktrace Fehlermeldungen auf.
Ich hatte dazu mal im Development Unterforum nachgehakt (https://forum.fhem.de/index.php/topic,107211.0.html) und Rudi hat das Problem auch gleich gefunden.
Könntest du das besagte DoTrigger aus Zeile 1060 erst nach dem readingsEndUpdate ausführen?

Ist im SVN, zusammen mit noch ein paar anderen Kleinigkeiten wie Meereshöhe == 0 und den Nachkommastellen (https://xkcd.com/2170/).
War im Urlaub (hätte den anderen Thread aber wohl auch so übersehen - hier antworten war ne gute Idee) ;)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: klausw am 12 Januar 2020, 21:20:18
Supi, Das ging ja schnell.

Ich weiß ja wie das läuft, in paar Tagen hatte ich dich notfalls angeschrieben. ;)

Gesendet von meinem HTC U11 mit Tapatalk

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rcmcronny am 13 Januar 2020, 08:53:08
Hi Markus,

wie es scheint ist mein "Patchupdate Request" vom April noch nicht mit drin, kannst Du da bitte nochmal drüberschauen ?
=> https://forum.fhem.de/index.php/topic,37412.msg932948.html#msg932948
=> Antwort #417 am: 24 April 2019, 10:00:54 »

Ich hab das bei mir geändert und die Datei vom Update ausgeschlossen, daher fiel mir das heute mit der neuen Version auf :D

Danke,
Ronny
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 13 Januar 2020, 12:14:03
Zitat von: rcmcronny am 13 Januar 2020, 08:53:08Hi Markus,
wie es scheint ist mein "Patchupdate Request" vom April noch nicht mit drin, kannst Du da bitte nochmal drüberschauen ?
=> https://forum.fhem.de/index.php/topic,37412.msg932948.html#msg932948
Der ist nach wie vor drin.
https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/98_livetracking.pm#L890 (https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/98_livetracking.pm#L890)
Kannst du bitte selbst nochmal testen was nicht funktioniert und warum?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rcmcronny am 13 Januar 2020, 19:17:05
Hi Markus,

ja, völlig korrekt. Ich hätte es nochmal vor dem Post detailchecken sollen, sorry. Es läuft bei mir nach dem Update noch alles wie es soll. Ich hatte wohl auf eine Rückmeldung gewartet, das es aktualisiert wurde und dann es aus den Augen verloren :D

Sorry für die Umstände und Danke für die Aktualisierung !

Ronny
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 13 Januar 2020, 19:20:24
Zitat von: rcmcronny am 13 Januar 2020, 19:17:05Es läuft bei mir nach dem Update noch alles wie es soll. Ich hatte wohl auf eine Rückmeldung gewartet, das es aktualisiert wurde und dann es aus den Augen verloren :D
Das war an dem Tag als du den Patch gepostet hattest bereits im SVN, ich hatte es dir nur nicht verraten.
Ich gelobe Besserung ;)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: wuast94 am 23 April 2020, 22:43:11
Habs dann auch mal geschafft alles einzurichten und auch das livetracking zeigt mir soweit alles an .

bis auf den inregions parameter. kann man das noch hinzufügen? Ich kann in der Owntracks app ja regionen angeben die dann auch im json mit geliefert werden, wäre nice das auch im livetracking modul mit ausgewertet zu bekommen :)

oder muss ich dafür etwas kkonfgurieren und habe etwas übersehen ?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: binford6000 am 24 April 2020, 11:13:33
Zitat von: wuast94 am 23 April 2020, 22:43:11
oder muss ich dafür etwas kkonfgurieren und habe etwas übersehen ?
Es gibt doch dafür die Attribute "zone_n". Und dann für jede Zone ein Reading zone_n welches beim Betreten auf active geht und beim Verlassen auf inactive.

Internals:
   FUUID      5d930e6c-f33f-0308-0eea-dcd05bc3284cdab3
   FVERSION   98_livetracking.pm:0.209550/2020-01-12
   NAME       iphone
   NOTIFYDEV  owntracks
   NR         266
   NTFY_ORDER 999-iphone
   STATE      50.1111,8.1111
   TYPE       livetracking
   READINGS:
     2020-04-23 21:35:06   accuracy        165
     2020-04-23 21:35:06   altitude        150
     2020-04-23 21:35:06   batteryPercent  35
     2020-04-23 21:35:06   batteryState    ok
     2020-04-23 21:35:06   connection      wifi
     2020-04-23 21:35:06   distance        0
     2020-04-23 17:58:06   heading         46
     2020-04-23 21:35:06   id              SE
     2020-04-23 21:35:06   latitude        50.1111
     2020-04-23 21:35:06   location        50.1111,8.1111
     2020-04-23 21:35:06   longitude       8.1111
     2020-04-23 21:25:20   place           wayhome
     2020-04-23 21:35:06   pressure        998.57
     2020-04-23 21:35:06   trigger         automatic
     2020-04-23 21:10:21   velocity        96
     2020-04-23 21:35:06   zone_0          active
   helper:
Attributes:
   alias      iPhone 7 livetracking
   batteryWarning 15
   event-on-change-reading .*
   group      Standort
   home       xxx,yyy
   icon       location
   leavetounderway 1
   osmandServer 1
   room       90_System->91_Schnittstellen
   roundAltitude 50
   roundDistance 0.5
   stateFormat location
   userattr   goneradius homeradius leavetounderway:0,1 wayhomeradius
   zonename_0 wayhome


VG Sebastian
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: andre07 am 27 Juni 2020, 11:29:29
Hallo

Hat es schon jemand geschafft das Modul mit MQTT2 zum laufen zu bekommen habe das mal letztes Jahr
probiert konnte aber nur eine Verbindung lokal aufbauen von aussen ging nichts.

Andre
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: wmr72 am 05 August 2020, 09:14:51
Hallo, ich nutze livetracking mit Owntracks und habe festgestellt, dass das Attribut filterAccuracy nicht für alle Readings ausgewertet wird, insbesondere nicht für die zone_N-Readings. Wenn 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. Die commandref hätte ich hier eigentlich anders interpretiert: "Minimum accuracy of GPS location to update any readings". Für Battery usw. denke ich kann man das natürlich trotzdem tun, für Readings, die die Position betreffen, finde ich das ungünstig. Ist das Absicht oder ein Bug?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 06 August 2020, 21:40:56
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.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: wmr72 am 07 August 2020, 13:06:23
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.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 08 August 2020, 12:52:50
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?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: wmr72 am 10 August 2020, 11:50:03
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.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: FHEM_Starter am 26 August 2020, 17:41:42
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

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rallye am 09 November 2020, 15:06:24
Schönen Nachmittag !

Ich übersiedle mit meinem Problem auf anraten von Otto https://forum.fhem.de/index.php?action=profile;u=11924 (https://forum.fhem.de/index.php?action=profile;u=11924) von hier => https://forum.fhem.de/index.php/topic,115623.0.html (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
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 09 November 2020, 15:50:11
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}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rallye am 09 November 2020, 17:43:16
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
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rallye am 09 November 2020, 18:11:32
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
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Otto123 am 09 November 2020, 22:24:00
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
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rallye am 10 November 2020, 11:56:09
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
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Otto123 am 10 November 2020, 12:01:16
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
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rallye am 10 November 2020, 16:29:21
Danke. Dazu eine Frage: ich muss attr MQTT2_seppmobile autocreate 0 setzen, sonst erzeugt das Ding immer eine weitere Zeile in der readingList. Korrekt ?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Otto123 am 10 November 2020, 16:47:29
Also wenn schon dann no - aber musst Du nicht.
Ich habe einfach beide Zeilen drin. In deinem anderen Thread habe ich ein Beispiel gepostet.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rallye am 10 November 2020, 18:03:16
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.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Parador am 10 November 2020, 20:27:28
Hey Otto,

wollte nur schnell danke sagen, habe es mit Deinen Hinweisen auch zum Laufen bekommen! Spitze Danke!

VG
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: rallye am 19 November 2020, 14:46:55
Soweit habe ich das livetracking im Griff, dass das Problem mit XML::Simple gelöst ist, Doch nun tut sich ein anderes Problem auf: Wenn man zone_1 betritt wird diese auf "aktiv" gesetzt aber "place" bleibt weiterhin auf der Bezeichnung von zonename_0 (die ja bereits inaktiv ist).
defmod TrackSepp livetracking
attr TrackSepp alias GeoInfo Sepp
attr TrackSepp batteryWarning 20
attr TrackSepp comment {(split(' ',ReadingsNum("TrackSepp","distance",0)))[0]}
attr TrackSepp filterAccuracy 100
attr TrackSepp group Anwesenheitserkennung
attr TrackSepp home 48.2106659,16.0860513
attr TrackSepp icon rc_dot@blue
attr TrackSepp owntracksDevice MQTT2_seppmobile
attr TrackSepp room Server
attr TrackSepp roundAltitude 5
attr TrackSepp roundDistance 0.1
attr TrackSepp sortby 04
attr TrackSepp stateFormat distance
attr TrackSepp verbose 2
attr TrackSepp zonename_0 home
attr TrackSepp zonename_1 AKH

setstate TrackSepp 19.4
setstate TrackSepp 2020-11-16 20:57:31 .lastOwnTracks 1605556647
setstate TrackSepp 2020-11-16 20:57:27 accuracy 50
setstate TrackSepp 2020-11-16 20:57:27 altitude 245
setstate TrackSepp 2020-11-16 20:57:27 batteryPercent 86
setstate TrackSepp 2020-11-16 20:57:27 batteryState ok
setstate TrackSepp 2020-11-16 20:57:27 connection wifi
setstate TrackSepp 2020-11-16 20:57:27 distance 19.4
setstate TrackSepp 2020-11-16 20:57:27 id SL
setstate TrackSepp 2020-11-16 20:57:27 latitude 48.21897
setstate TrackSepp 2020-11-16 20:57:27 location 48.21897,16.34722
setstate TrackSepp 2020-11-16 20:57:27 longitude 16.34722
setstate TrackSepp 2020-10-31 00:38:22 place home
setstate TrackSepp 2020-11-16 20:57:27 trigger ping
setstate TrackSepp 2020-11-16 20:57:27 velocity 0
setstate TrackSepp 2020-11-16 20:57:27 zone_0 inactive
setstate TrackSepp 2020-11-16 20:57:27 zone_1 active

Zwar sagt das devicespecific help für livetracking in bezug auf "place"
place
Swarm place name

doch ich sehe keinen Grund warum Owntracks dieses reading nicht updated

Weiters habe ich seit gestern Nacht ein zusätzliches Problem mit livetracking entdeckt: obwohl ich seit 14 Stunden daheim bin zeicht livetracking immer noch, dass ich 19.3km enfernt bin. Dies deshalb, weil das Reading aus mir unerfindlichen Gründen nicht updated wird:
defmod TrackSepp livetracking
attr TrackSepp alias GeoInfo Sepp
attr TrackSepp batteryWarning 20
attr TrackSepp comment {(split(' ',ReadingsNum("TrackSepp","distance",0)))[0]}
attr TrackSepp filterAccuracy 100
attr TrackSepp group Distanz
attr TrackSepp home 48.2106659,16.0860513
attr TrackSepp icon rc_dot@blue
attr TrackSepp owntracksDevice MQTT2_seppmobile
attr TrackSepp room Presence
attr TrackSepp roundAltitude 5
attr TrackSepp roundDistance 0.1
attr TrackSepp sortby 04
attr TrackSepp stateFormat distance
attr TrackSepp verbose 2
attr TrackSepp zonename_0 home
attr TrackSepp zonename_1 AKH

setstate TrackSepp 19.3
setstate TrackSepp 2020-11-19 14:30:17 .lastOwnTracks 1605792614
setstate TrackSepp 2020-11-19 14:30:14 accuracy 1200
setstate TrackSepp 2020-11-18 23:51:31 altitude 300
setstate TrackSepp 2020-11-19 14:30:14 batteryPercent 37
setstate TrackSepp 2020-11-19 14:30:14 batteryState ok
setstate TrackSepp 2020-11-19 14:30:14 connection wifi
setstate TrackSepp 2020-11-18 23:51:31 distance 19.3
setstate TrackSepp 2020-11-19 14:30:14 id SL
setstate TrackSepp 2020-11-18 23:51:31 latitude 48.22023
setstate TrackSepp 2020-11-18 23:51:31 location 48.22023,16.34643
setstate TrackSepp 2020-11-18 23:51:31 longitude 16.34643
setstate TrackSepp 2020-10-31 00:38:22 place home
setstate TrackSepp 2020-11-19 14:30:14 trigger ping
setstate TrackSepp 2020-11-18 23:51:31 velocity 0
setstate TrackSepp 2020-11-19 14:30:14 zone_0 active
setstate TrackSepp 2020-11-19 14:30:14 zone_1 inactive


Dadurch ergibt sich das Problem, dass die mit dem "enter" verbundeene "place" nicht den zonename_1 (zone_1 ist jetzt aktiv) sondern zonename_0 enthält und die Logik zwangsläufig sagt, dass ich zone_0 betreten habe (in Wahrheit aber zone_1). Für meine Anwesenheitserkennung böse Auswirkungen, da die Alarmanlage abgeschaltet wird.

NB: als work-around kann man auf eine (1) Zone reduzieren, sodass ein enter und leave immer für die selbe Zone gilt... Aber elegant ist das nicht
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 20 November 2020, 18:52:45
Zitat von: statler am 19 November 2020, 14:46:55Wenn man zone_1 betritt wird diese auf "aktiv" gesetzt aber "place" bleibt weiterhin auf der Bezeichnung von zonename_0 (die ja bereits inaktiv ist).

Vermutlich weil mit dem zone_1 enter Event kein extra Name übergeben wird.
verbose 5, nachsehen ob was beim zone event unter desc mitgesendet wird.


Zitat
Weiters habe ich seit gestern Nacht ein zusätzliches Problem mit livetracking entdeckt: obwohl ich seit 14 Stunden daheim bin zeicht livetracking immer noch, dass ich 19.3km enfernt bin. Dies deshalb, weil das Reading aus mir unerfindlichen Gründen nicht updated wird

filterAccuracy 100 vs. accuracy 1200
Du hast es vermutlich schlicht ausgefiltert.


ZitatDadurch ergibt sich das Problem, dass die mit dem "enter" verbundeene "place" nicht den zonename_1 (zone_1 ist jetzt aktiv) sondern zonename_0 enthält und die Logik zwangsläufig sagt, dass ich zone_0 betreten habe (in Wahrheit aber zone_1). Für meine Anwesenheitserkennung böse Auswirkungen, da die Alarmanlage abgeschaltet wird.
NB: als work-around kann man auf eine (1) Zone reduzieren, sodass ein enter und leave immer für die selbe Zone gilt... Aber elegant ist das nicht

Noch besserer Workaround: Das place Reading nicht für etwas nutzen wofür es gar nicht geeignet ist, sondern stattdessen zone_X verwenden
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: inesa394 am 15 Mai 2021, 12:36:42
Möchte mir Karten in Fhem mit diesem Code hier einbinden

htmlCode {
use Geo::OSM::StaticMap;
my @a=split(/,/,ReadingsVal("tracking_lutz","location","47,11"));
my @b=split(/,/,ReadingsVal("tracking_ines","location","47,11"));
sprintf('<img src="%s">',
  Geo::OSM::StaticMap->new(
    size=>[500,500],
    markers=>[
      [$a[0],$a[1],'ol-marker'      ],
      [$b[0],$b[1],'ol-marker-gold' ],
     
    ],
  )->url());}

oder so
htmlCode { my $a=ReadingsVal( "tracking_ines", "location", "47,11" ); sprintf( '<img src="http://staticmap.openstreetmap.de/staticmap.php?center=%s&zoom=16&size=500x500&markers=%s,ol-marker&maptype=mapnik">', $a, $a ) }
bekomme aber nur ein schwarzes Bild Karte wird nicht dargestellt die Maker schon code müßte korrekt sein
Warum geht das nicht bei mir kann mir jemand helfen

Ines
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 15 Mai 2021, 14:51:44
Hallo Ines,

Zitat von: inesa394 am 15 Mai 2021, 12:36:42...
oder sohtmlCode { my $a=ReadingsVal( "tracking_ines", "location", "47,11" ); sprintf( '<img src="http://staticmap.openstreetmap.de/staticmap.php?center=%s&zoom=16&size=500x500&markers=%s,ol-marker&maptype=mapnik">', $a, $a ) }
bekomme aber nur ein schwarzes Bild Karte wird nicht dargestellt die Maker schon code müßte korrekt sein
Warum geht das nicht bei mir kann mir jemand helfen

das Problem hatte ich vor Jahren auch. Wenn du die URL direkt aufrufst wird die was von einen falschen Referrer berichtet.
Ich hatte mir darauf hin die StaticMapLite local gehostet, ist ja nur eine PHP Datei mit etwas Anhang.
Außerdem werden nich dann keine Anfrage zur Karte an OSM geschicht, wenn die Daten schon im Cache vorhanden sind.
Gruß
Gerd
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 15 Mai 2021, 15:05:01
Zitat von: inesa394 am 15 Mai 2021, 12:36:42

Warum geht das nicht bei mir kann mir jemand helfen

Ines

Wird als instabil gelistet. Link geht aktuell nicht. Ob sich das ändert ... fraglich. Der Beispiellink in deren Wiki funktioniert auch nicht (mehr).
Selber hosten löst es, zumindest aktuell.

https://wiki.openstreetmap.org/wiki/StaticMapLite
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: inesa394 am 17 Mai 2021, 06:23:48
danke für die hilfe wie hostet man das local und wo gibt es diese php

Ines
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 17 Mai 2021, 08:30:48
Ganz untem im Wiki ist der Link zum Github https://github.com/dfacts/staticmaplite

musst mal testen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: inesa394 am 18 Mai 2021, 17:48:55
Danke werde mir das mal anschauen
Hast du das am laufen bei dir ?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 18 Mai 2021, 18:12:45
ich nicht, aber scheinbar stromer-12

Zitat von: stromer-12 am 15 Mai 2021, 14:51:44
das Problem hatte ich vor Jahren auch. Wenn du die URL direkt aufrufst wird die was von einen falschen Referrer berichtet.
Ich hatte mir darauf hin die StaticMapLite local gehostet, ist ja nur eine PHP Datei mit etwas Anhang.
Außerdem werden nich dann keine Anfrage zur Karte an OSM geschicht, wenn die Daten schon im Cache vorhanden sind.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: inesa394 am 18 Mai 2021, 18:51:10
htmlCode { my $a=ReadingsVal( "trackingA50", "location", "47,11" ); sprintf( '<img src="http://192.168.178.105/staticmaplite/staticmap.php?center=%s&zoom=16&size=500x500&markers=%s,ol-marker&maptype=cycle">', $a, $a )
funktioniert aber nur mit maptype: cycle wenn ich auf :mapnik oder :osmarenderer wechsle bekomme ich wieder nur ein schwarzes Bild .Fehlt da vielleicht noch was ?

Ines
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 18 Mai 2021, 18:58:13
Zitat von: inesa394 am 18 Mai 2021, 18:51:10
htmlCode { my $a=ReadingsVal( "trackingA50", "location", "47,11" ); sprintf( '<img src="http://192.168.178.105/staticmaplite/staticmap.php?center=%s&zoom=16&size=500x500&markers=%s,ol-marker&maptype=cycle">', $a, $a )
funktioniert aber nur mit maptype: cycle wenn ich auf :mapnik oder :osmarenderer wechsle bekomme ich wieder nur ein schwarzes Bild .Fehlt da vielleicht noch was ?

Ines
Ich verstehe nicht was du sagen willst. Hast du die PHP-Datei auf einen lokalen Webserver? Lass mal das ganze über Fhem und rufe erstmal nur die Seite direkt auf. Wenn das geht kannst du baun.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: inesa394 am 18 Mai 2021, 19:21:21
Ist bei mir lokal gespeichert und es funktioniert auch aber nur mit
maptype=cycle , ein maptype=maplink geht nicht siehe meinen code
im letzten Post
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: stromer-12 am 18 Mai 2021, 23:36:17
Hallo Ines,

bei mir funktionieren folgende Urls in der staticmap.php
OSM Mapnik        'mapnik' => 'http://tile.openstreetmap.org/{Z}/{X}/{Y}.png (http://tile.openstreetmap.org/%7BZ%7D/%7BX%7D/%7BY%7D.png)',
OpenCycleMap    'cycle'    => 'http://a.tile.opencyclemap.org/cycle/{Z}/{X}/{Y}.png (http://a.tile.opencyclemap.org/cycle/%7BZ%7D/%7BX%7D/%7BY%7D.png)',
"ÖPNV"-map        'opnv'    => 'http://tile.memomaps.de/tilegen/{Z}/{X}/{Y}.png (http://tile.memomaps.de/tilegen/%7BZ%7D/%7BX%7D/%7BY%7D.png)',

die ÖPNV habe ich hier gefunden:  https://giswiki.hsr.ch/Hintergrundkarten (https://giswiki.hsr.ch/Hintergrundkarten)
hier auch als erste Anlaufstelle: https://wiki.openstreetmap.org/wiki/Tile_servers (https://wiki.openstreetmap.org/wiki/Tile_servers) 
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: hkspks am 14 August 2021, 11:52:21
Hallo zusammen,

das Setup mit osmand / owntracks lief bei mir bis vor kurzem sowohl auf Android als auch iPhone sehr gut. Seit neuestem geht es nicht mehr mit folgender Fehlermeldung in der owntracks-App: "Could not connect https://meineurl/fhem/osmand"

Wenn ich die Url im Browser auf dem Handy eingebe und mich den gleichen Daten authentifiziere kommt "timestamp missing", d.h. ich gehe davon aus, der Service läuft weiterhin. Hat jemand sonst noch einen Tipp? Hab grundsätzlich nichts an FHEM oder den Apps geändert. Sowohl auf iPhone als auch auf Android geht es nicht mehr, d.h. ich gehe davon aus es liegt an der Serverkonfiguration. Mein fhem läuft hinter einer Fritzbox mit http-Authentifizierung. Bei der Fritz-Box gab es ein neues Update (07.27) - das ist aus meiner Sicht das einzige Update.

Jemand noch eine Idee für eine Fehlerdiagnose?

Meine bescheidene config in FHEM:

defmod Tracker livetracking
attr Tracker osmandServer 1
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 14 August 2021, 22:01:41
Zitat von: hkspks am 14 August 2021, 11:52:21
Wenn ich die Url im Browser auf dem Handy eingebe und mich den gleichen Daten authentifiziere kommt "timestamp missing"
Gewolltes Verhalten, Server erreichbar, Fehler kommt weil keine Parameter übergeben wurde.

Zitat von: hkspks am 14 August 2021, 11:52:21
das Setup mit osmand / owntracks lief bei mir bis vor kurzem sowohl auf Android als auch iPhone sehr gut. Seit neuestem geht es nicht mehr mit folgender Fehlermeldung in der owntracks-App: "Could not connect https://meineurl/fhem/osmand"


Zitat von: hkspks am 14 August 2021, 11:52:21
Jemand noch eine Idee für eine Fehlerdiagnose?

Du hast Https, geht das über reverse Proxy? Oder wo sind die Certificates? Sind sie gültig und öffentlich (lets encrypt, abgelaufen)?

Android + Iphone betroffen?

1) Config sichern, App zurücksetzen, Config zurückspielen und testen
2) Zugang auf HTTP umstellen und testen
3) welches Zertifikat wird im Browser angezeigt wenn du über https gehst, selbst ausgestellt von der Fritzbox?
4) Verbose auf 5 stellen ... Log?

Meine Vermutung: du hast beim Aufruf vom Handy aus eine Zertifikatswarnung, zumindest in der App. Ungültiges, privates oder abgelaufenes Zertifikat. Mit HTTP müsste es in dem Fall funktionieren.

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: hkspks am 14 August 2021, 22:22:45
Zitat von: kadettilac89 am 14 August 2021, 22:01:41
Du hast Https, geht das über reverse Proxy? Oder wo sind die Certificates? Sind sie gültig und öffentlich (lets encrypt, abgelaufen)?

Android + Iphone betroffen?

1) Config sichern, App zurücksetzen, Config zurückspielen und testen
2) Zugang auf HTTP umstellen und testen
3) welches Zertifikat wird im Browser angezeigt wenn du über https gehst, selbst ausgestellt von der Fritzbox?
4) Verbose auf 5 stellen ... Log?

Meine Vermutung: du hast beim Aufruf vom Handy aus eine Zertifikatswarnung, zumindest in der App. Ungültiges, privates oder abgelaufenes Zertifikat. Mit HTTP müsste es in dem Fall funktionieren.

Genau, https reverse proxy. Zertifikat (letsencrypt) ist aber noch gut - kann die Url/ den Service ja mit dem Handy aufrufen. http gleiches Bild.
In FHEM kommt kein besonderes logging - glaube da passt auch alles.

Insgesamt glaube ich, dass FHEM passt und dass die App auf beiden Telefonen passt. Reset hatte ich sogar schon mal durchgeführt. Muss irgendwas dazwischen sein ... ich tippe ja auf das Fritzbox Update. Muss ggf. ein besonderer Port offen sein?

Die owntracks App sagt
Zitat
08-14 22:11:54.577   618   697 D BackgroundService: Caused by: java.net.ConnectException: failed to connect to MEINEURL/2001:16b8:2701:aeaf:3a10:d5ff:fece:ac24 (port 443) from /2a01:598:b8b8:820e:1:1:6325:7a42 (port 48408) after 15000ms: isConnected failed: EACCES (Permission denied)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 14 August 2021, 22:33:32
Zitat von: hkspks am 14 August 2021, 22:22:45
Genau, https reverse proxy. Zertifikat (letsencrypt) ist aber noch gut - kann die Url/ den Service ja mit dem Handy aufrufen. http gleiches Bild.
In FHEM kommt kein besonderes logging - glaube da passt auch alles.

Insgesamt glaube ich, dass FHEM passt und dass die App auf beiden Telefonen passt. Reset hatte ich sogar schon mal durchgeführt. Muss irgendwas dazwischen sein ... ich tippe ja auf das Fritzbox Update. Muss ggf. ein besonderer Port offen sein?

Port reicht der https. 443 oder abweichend, dann halt in der Url mit angegeben. Habe auch Fritzbox mit 7.27 und es funktioniert. Port funktioniert ja wenn du über den Browser gehst. Sind deine beiden Geräte, Eifon und Android betroffen? Wenn es früher funktioniert hat dann kannst nicht so viel sein.

In der Fritzbox kannst du  einen Host auswählen an den alle Anfragen aus dem Netz ungefiltert weitergeleitet werden. Das kannst mal testen, damit kannst Fritzbox ausschließen, oder bestätigen. Aber nur kurz aktivieren und auch wieder ausschalten damit du dir keine ungewollten Gäste holst. Exposed host oder so ähnlich.

Was sagt das Log in der App, bei Status - Logs ansehen - kannst die per Mail weiterleiten und ansehen.

Hast du irgend eine ids (intrusion detection system) wie snort im Einsatz? Irgend was wie Fail2ban das ggf. mit den http-Header oder Aufruf nicht zufrieden ist?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kadettilac89 am 14 August 2021, 22:35:29
noch ein Test ... überspringe mal den reverse proxy und leite von der Fritzbox direkt auf den fhem-host weiter ... auch das nur zur Analyse und ganz kurz.

Vielleicht hat dein reverse ein Problem mit dem Aufruf (Header, übergebene Parameter ...).
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: hkspks am 15 August 2021, 00:50:07
Alles versucht - leider keinen Schritt weitergekommen. Find auch die App-Fehlermeldungen (den Snippet hatte ich oben gepostet) sowohl auf iPhone als auch Android recht wenig aussagekräftig. Hab nun die weiße Fahne gehisst und bin auf (Cloud-)MQTT umgestiegen - damit kann ich zumindest nun auch meinen Port-Forwards an der Fritzbox deaktivieren. Und man sieht sogar in der App noch den jeweils anderen und muss nicht erst FHEM öffnen. Kann ich jedem empfehlen, der keine bedenken hat seine location daten in die Cloud zu schicken.

Sehr gute Anleitung findet sich hier: https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Owntracks_GPS_Tracking_in_FHEM

Trotzdem vielen Dank kadettilac89 für die Hilfe bei der Fehlersuche - waren sehr gute Hinweise dabei!
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 27 September 2021, 11:02:37
Hallo alle zusammen,
Gibt es irgendeine Möglichkeit, über z.B. Owntracks, die Zeitzone herauszufinden, in der man sich gerade befindet? Owntrsacks liefert ja nur den epoch unix zeitstempel ab 1970.
Aber nicht die Handy Zeit, die sich ja automatisch z. B. in UK dann auf die neue Zeitzone einstellt.
Irgendeine Idee?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kjmEjfu am 27 September 2021, 11:12:01
sowas https://www.revilodesign.de/blog/google-maps-api/google-maps-api-timezone-in-utc-zeitzonen-umrechnen/ ?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 27 September 2021, 12:01:06
Zitat von: kjmEjfu am 27 September 2021, 11:12:01
sowas https://www.revilodesign.de/blog/google-maps-api/google-maps-api-timezone-in-utc-zeitzonen-umrechnen/ ?
Sowas hatte ich auch gefunden https://www.epochconverter.com/timezones
Ich möchte aber idealerweise, wenn das location event von owntracks ankommt, das der time offset dann schon mitgeliefert wird, oder man den automatisch berechnen kann.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: kjmEjfu am 27 September 2021, 12:41:23
Mitgeliefert wird der Offset, soweit ich weiß, nicht. Insofern kannst du ihn automatisch berechnen lassen.
Und dafür kannst du einfach die Google API aufrufen und bekommst dstOffset und rawOffset zurück. Damit kannst du dann weiterrechnen und hast deinen Offset. Beispiele stehen doch auf der von mir verlinkten Seite weiter unten drauf.
Die Funktion dazu packst du die in die myutils und rufst das aus einem Notify auf. Schon hast du die lokale Uhrzeit.

Oder ich verstehe dein Problem falsch ...
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 27 September 2021, 14:13:11
Hallo kjmEjfu,
Danke, jetzt hat es geschnackelt, ich probiere es heute Abend mal aus. Ich habe jetzt erst gesehen, das die api, basierend auf lat & lon, den time offset liefert, also habe ich alles was ich brauche. Super, danke.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 27 September 2021, 16:26:35
Habe gesehen, ist nicht umsonst, das sind bei Google $5 USD/1000 timezone requests, man braucht einen API-key. ich schau mal ob es den Dienst auch anders irgendwo gibt.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Jamo am 27 September 2021, 17:44:27
Danke, ist gelöst. api.timezonedb.com liefert das ganze umsonst.
Über HTTPMOD bekommt man dann aus lat/lon alles was das Herz begehrt, also:
defmod myTimeZone HTTPMOD http://api.timezonedb.com/v2.1/get-time-zone?key=asdfghjkl&format=json&by=position&lat=12.1234&lng=12.3456 0
attr myTimeZone extractAllJSON 1

Den key bekommt man über eine einfache Registrierung, Kosten entstehen keine, man kann pro Sekunde 1 Abfrage machen.
Danke nochmal für den Schubser.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: borsti67 am 08 Juni 2022, 12:57:55
Moin,
ich bastle da auch gerade mal ein wenig mit herum (MQTT2-Server von fhem und OwnTracks-App auf Android). Als nächstes will ich mir mal die Möglichkeit eine Karte (ggf auch mit Histrory aus DbLog) näher anschauen... ;)

Aber vorab noch mal 2 Fragen:
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Otto123 am 08 Juni 2022, 15:01:49
Hallo Borsti,

Du hast das Modul livetracking (Thread Thema) oder owntracks / MQTT2?

Bei mir funktioniert (owntracks / MQTT2) auf place: away hinreichend. Manchmal klappt der exakte Punkt zuHause nicht (dann bin ich quasi laut owntracks beim übernächsten Nachbarn)

Man muss halt in owntracks das Areal groß genug definieren.

Ich habe da ein paar userReadings - auch für den Link zu Google Maps:
attr MQTT2_owntracks_mi6 userReadings location:lat.* {ReadingsNum($name,'latitude',0).','.ReadingsNum($name,'longitude',0)},\
  connection:conn.* {my %h=(m=>'mobil',w=>'wifi',o=>'offline',e=>'unknown');; return $h{ReadingsVal('MQTT2_owntracks_mi6','conn','e')}},\
  placeE:event.* {ReadingsVal($name,'event','') eq 'leave'?'away':(ReadingsVal($name,'desc','nowhere'))},\
  place:lastUpdateType:.location {ReadingsAge($name,'inregions_1',0) > 2 ?'away':(ReadingsVal($name,'inregions_1','nowhere'))},\
  velocity_m:velocity.* {ReadingsNum($name,"velocity",60)},\
  velocity_600:velocity.* {ReadingsNum($name,"velocity",60)},\
  velocity_av:velocity.* {movingAverage($name,"velocity",300)},\
  location_url:lat.* {my @ar = split ',',ReadingsVal($name,'location','0,0');; \
    sprintf(q(https://maps.google.com/maps?hl=en&q=%s,%s&t=k&z=19&ie=UTF8&iwloc=&output=embed),$ar[0],$ar[1])}


Gruß Otto
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 08 Juni 2022, 15:28:49
Zitat von: borsti67 am 08 Juni 2022, 12:57:55

  • Ich habe FilterAccuracy nicht gesetzt. Vor allem wenn ich in der "Arbeit"-Zone bin (quasi kein GPS) habe ich immer mal wieder betreten/verlassen Events. Kann ich die damit loswerden? Falls ja, welcher Wert wäre ratsam, falls nein, wie dann?
  • Beim Betreten der Zonen wird "place" richtig gesetzt und auch die "location" im Roommate mit. Sollte das nicht auch beim Verlassen auf "unterwegs" o.ä. gestellt werden? Das bleibt aktuell nämlich immer auf dem letzten Wert.
Die Zone Events wirst du so eher nicht los, das kommt direkt aus OwnTracks. Da musst du eher die Größe der Zone anpassen.
place auf "irgendwo anders" zu setzen müllt nur die DB zu. Ich bin mir aber ziemlich sicher dass es bei leave zumindest ein Event gibt, das du selbst abfangen kannst.
Dabei könntest du dann vermutlich auch auf accuracy schauen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: borsti67 am 09 Juni 2022, 09:01:07
Moin Otto & Markus,

Zitat von: Otto123 am 08 Juni 2022, 15:01:49
Du hast das Modul livetracking (Thread Thema) oder owntracks / MQTT2?

1x MQTT2-Server
2x MQTT2-(owntracks)-Device für 2 Phones
2x livetracking
1x livetracking-connector
2x ROOMMATE

(kommt mir eigentlich 'n bissl viel vor...)

ZitatMan muss halt in owntracks das Areal groß genug definieren.
Naja auf der Arbeit sind's schon 1000m - ich weiß nicht, was OT da reitet mich als abwesend zu erkennen. :(


Zitat
  placeE:event.* {ReadingsVal($name,'event','') eq 'leave'?'away':(ReadingsVal($name,'desc','nowhere'))},\
  place:lastUpdateType:.location {ReadingsAge($name,'inregions_1',0) > 2 ?'away':(ReadingsVal($name,'inregions_1','nowhere'))},\

Das werde ich noch mal vergleichen, danke!

Zitat von: Markus M. am 08 Juni 2022, 15:28:49
Die Zone Events wirst du so eher nicht los, das kommt direkt aus OwnTracks. Da musst du eher die Größe der Zone anpassen.
Siehe vor... Noch größer macht m.E. wenig Sinn.

Zitatplace auf "irgendwo anders" zu setzen müllt nur die DB zu.
Inwiefern? Wenn in der DB nur drin steht, wann ich jeweils irgendwo angekommen bin, bringt mich das doch auch nicht weiter, dann kann für place das Logging auch ganz deaktivieren...?

ZitatIch bin mir aber ziemlich sicher dass es bei leave zumindest ein Event gibt, das du selbst abfangen kannst.
Gibt es offensichtlich, denn ich werde ja "abwesend" geschaltet. Nur wird im Gegensatz zu "arrive" der place nicht aktualisiert.

BTW, die StaticMaps funktionieren offenbar nicht mehr ("pass a valid referrer" statt eines Bildes). :'(
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 10 Juni 2022, 16:59:43
Zitat von: borsti67 am 09 Juni 2022, 09:01:07Naja auf der Arbeit sind's schon 1000m - ich weiß nicht, was OT da reitet mich als abwesend zu erkennen. :(
Das macht nicht OwnTracks intern sondern dein Telefon.

ZitatInwiefern? Wenn in der DB nur drin steht, wann ich jeweils irgendwo angekommen bin, bringt mich das doch auch nicht weiter, dann kann für place das Logging auch ganz deaktivieren...?
Gibt es offensichtlich, denn ich werde ja "abwesend" geschaltet. Nur wird im Gegensatz zu "arrive" der place nicht aktualisiert.
Was möchtest du denn genau? Loggen wie lange du irgendwo bist?
Nimm doch dafür ganz einfach die zone_N (0-9) Readings die mit zonname_N definiert werden, dafür sind sie da.
place kann ich nicht generell leeren, sonst funktioniert das Ganze nur noch wenn man ausschliesslich OwnTracks nutzt.
Swarm z.B. kennt keine Leave Events.
Ich schau mal ob ich das optional zurücksetzen kann. Passt "-"?

ZitatBTW, die StaticMaps funktionieren offenbar nicht mehr ("pass a valid referrer" statt eines Bildes). :'(
Was meinst du damit?
Die Google Embed API mit meinem eigenen API Key funktioniert noch problemlos:
define livemap weblink htmlCode {'<div style="width: 800; overflow: hidden; height: 460px;"><iframe src="https://www.google.com/maps/embed/v1/place?key=MYAPIKEY&q='.ReadingsVal('livetracking','location','').'&zoom=17&language=en&" width="880" height="680" frameborder="0" style="pointer-events:none; border:0; margin-top: -106px; margin-left: -30px;"></iframe></div>'}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: borsti67 am 11 Juni 2022, 08:54:54
Zitat von: Markus M. am 10 Juni 2022, 16:59:43
Das macht nicht OwnTracks intern sondern dein Telefon.
Auch dann weiß ich immer noch nicht WARUM...

ZitatWas möchtest du denn genau? Loggen wie lange du irgendwo bist?
Hier sind jetzt 2 verschiedene Dinge:
Loggen (im Sinne von in der DB speichern) tu' ich ausschließlich die Koordinaten. Da möchte ich langfristig irgendwann mal sowas haben wie die "Location History" bei Google. Siehe dazu auch weiter unten.
Stören tut mich derzeit die Anzeige im Roommate. Da steht "home" und anwesend, wenn ich zuhause bin; wenn ich gehe steht da "home" und abwesend während ich sowas wie "unterwegs" und abwesend erwarten würde.

Eigentlich dachte ich, dass dieses userattr im MQTT2-Device das steuern würde:
place:event.* {ReadingsVal($name,'event','') eq 'leave'?'away':(ReadingsVal($name,'desc','underway'))}

Aber entweder es geht nicht, macht was anderes als ich meine, oder wird nicht bis zum Roommate durchgereicht...

ZitatIch schau mal ob ich das optional zurücksetzen kann. Passt "-"?
Ja klar, gerne auch so! :)

ZitatWas meinst du damit?
Die Google Embed API mit meinem eigenen API Key funktioniert noch problemlos:

Es gibt hier im Thread ein Beispiel mit den StaticMaps via OSM, der Autor hat die Tiles sogar lokal gecached. Google wollte ich nicht unbedingt nutzen (schon gar nicht mit Deinem Key ;)).
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Otto123 am 11 Juni 2022, 09:50:36
Zitat von: borsti67 am 11 Juni 2022, 08:54:54
Stören tut mich derzeit die Anzeige im Roommate. Da steht "home" und anwesend, wenn ich zuhause bin; wenn ich gehe steht da "home" und abwesend während ich sowas wie "unterwegs" und abwesend erwarten würde.

Eigentlich dachte ich, dass dieses userattr im MQTT2-Device das steuern würde:
place:event.* {ReadingsVal($name,'event','') eq 'leave'?'away':(ReadingsVal($name,'desc','underway'))}

Aber entweder es geht nicht, macht was anderes als ich meine, oder wird nicht bis zum Roommate durchgereicht...
Mit Roomate habe ich das Template für die MQTT2 Anbindung von Owntracks nicht getestet. Ich habe das bei mir allerdings auch später nochmal nachgearbeitet (siehe mein Auszug weiter oben). Vielleicht muss ich das Template nochmal nacharbeiten, das läuft so seit geraumer Zeit und Feedback gab es glaube ich nicht.
https://forum.fhem.de/index.php/topic,99666.msg1109556.html#msg1109556
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: TomLee am 11 Juni 2022, 10:09:02
... Feedback gab es glaube ich nicht.

Irgendwo in einem anderen Faden (mein ich), hab ich mal ein devstateIcon-Vorschlag dazu gemacht:

{sprintf(q(<iframe src="%s" width=600 height=400></iframe>),ReadingsVal($name,'location_url','0,0'))}
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Otto123 am 11 Juni 2022, 11:17:21
Das devStateIcon habe ich bei mir auch eingebunden und funktioniert prima. Ich habe noch nicht genau verstanden was borsti da machen will. Wenn man die location_url loggt hat man mMn genau die Location History - ok vielleicht nicht als dargestellter Faden.
Wobei man ja damit
https://nominatim.openstreetmap.org/reverse?format=json&lat=xx.3347369&lon=yy.2428197die Adresse finden kann und somit eigentlich Wegpunkte im GPX Format erzeugen könnte:
<wpt lat="46.9466" lon="7.44412">
  <time>2011-12-31T23:59:59Z</time>
  <name>Bundeshaus (Bern)</name>
  <sym>City</sym>
</wpt>

Allerdings macht das nur mit einer Verweildauer Sinn, sonst wird das ja eine Unmenge an Daten?

Anmerkung: Es kann sein, ich habe den Inhalt von livetracking nicht wirklich verstanden :) Augenscheinlich liefert es mir nur ein redundantes Subset der Daten aus dem MQTT2 Device. Ja ok ich könnte damit auch die Adresse bestimmen.
Ich verwende nur das MQTT2 Device ;)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: Markus M. am 11 Juni 2022, 23:50:12
Also mein Google API Key scheint nichts zu kosten  ;D
Wo ich ihn her habe kann ich euch aber nicht mehr sagen, da müsst ihr mal selbst suchen ;)

Bitte die Version im Anhang mal testen mit:
attr livetracking clearPlace 1

Das sollte (theoretisch) das place Reading auf "-" setzen,
und zwar nur dann wenn ein leave Event für genau die Zone kommt, die da gerade drin steht.
Meine Zone wollte gestern irgendwie nicht wirklich verlassen werden als ich draussen war...

Den alten OpenPaths Code hab ich bei der Gelegenheit auch gleich rausgeworfen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: Markus M. am 11 Juni 2022, 23:57:17
Zitat von: Otto123 am 11 Juni 2022, 11:17:21Anmerkung: Es kann sein, ich habe den Inhalt von livetracking nicht wirklich verstanden :) Augenscheinlich liefert es mir nur ein redundantes Subset der Daten aus dem MQTT2 Device.
So ungefähr, nur eben schöner und mit Zusatzfunktionen und man könnte auch Traccar oder Swarm als Quelle benutzen.

Zitat von: borsti67 am 11 Juni 2022, 08:54:54Loggen (im Sinne von in der DB speichern) tu' ich ausschließlich die Koordinaten. Da möchte ich langfristig irgendwann mal sowas haben wie die "Location History" bei Google.
Mache ich seit einer Ewigkeit manuell mit Swarm, das ist mit der Grund warum dieses Modul überhaupt existiert.
Meine Frau fragt mich nicht oft nach dem Namen irgendeines Restaurants in irgendeinem Land in dem wir irgendwann mal gegessen haben, aber ich konnte es bisher immer dort rausfinden  ;D
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / OpenPaths / Swarm (4Sq)
Beitrag von: borsti67 am 13 Juni 2022, 07:48:49
Zitat von: Markus M. am 11 Juni 2022, 23:57:17
Mache ich seit einer Ewigkeit manuell mit Swarm, das ist mit der Grund warum dieses Modul überhaupt existiert.
Meine Frau fragt mich nicht oft nach dem Namen irgendeines Restaurants in irgendeinem Land in dem wir irgendwann mal gegessen haben, aber ich konnte es bisher immer dort rausfinden  ;D
Klingt nett  ;D
Aber ich versuche seit einiger Zeit etwas "datensparsamer" zu sein, was externe Dienste angeht. ;)
Diese Woche hab' ich viel zu tun, ich hoffe, dass ich trotzdem dazu kommen, Deine Aktualisierung zu laden/auszuprobieren, vielen Dank dafür!

Das mit dem API Key ist mir nicht ganz klar, ich hatte früher auch mal einen, der war damals einfach zu registrieren und kostenlos (unter dem Vorbehalt dass man den nicht kommerziell/übermäßig nutzt). Jetzt lande ich immer wieder auf einem "Google Cloud" Zugang, in dem man auch einen API-Key bekommen kann, ABER da muss man zwingend ein Konto hinterlegen. Man bekommt dann ein monatliches Guthaben zugeteilt, das man wohl im Regelfall nie auslastet, dann ist es also Gratis, aber wenn doch, wird abgebucht, und man kann NICHT einstellen, dass bei Überschreitung einfach der Dienst bis zum nächsten Monat deaktiviert werden soll...

Und @Otto123:
Evtl bist Du verwirrt weil wie ich schon schrieb hier 2 ganz verschiedene Dinge abgehandelt werden? ;)
Punkt 1 ist die Anzeige von "abwesend" o.ä. im Rommate, nachdem ich eine Zone verlassen habe (es geht NICHT um die Ermittlung irgendwelcher Koordinaten oder Adressen!) und Punkt 2 ist für irgendwann sehr viel später, anhand der in der DB abgelegten Koordinaten mal eine Karte mit den Tracks für einen beliebigen Zeitraum anzeigen zu können - vorzugsweise offline bzw gecached.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: borsti67 am 18 Juni 2022, 13:58:12
Hm, jetzt bin ich wieder irritiert.
Habe also das Modul mit dem Attachment überschrieben und mittels "reload 98_livetracking" aktiviert. Dann das "clearplace"-Attribut gesetzt. Letztlich auswärts gewesen und dort mal per VPN in FHEM geschaut:

Im Screenshot "livetracking" sieht man, der "place" ist immer noch "home", obwohl beide Zonen inaktiv sind.
Das MQTT-Device hab ich etwas unglücklich abgeschnitten, auch da steht noch "inregions_1" auf fälschlich auf "home", aber "place" immerhin auf "away".
Noch merkwürdiger finde ich den "rommate": Auch da steht die location auf "home", was nicht stimmt, aber da wurde "mood" auf "-" gesetzt (sonst steht da immer "calm" und ich benutze dieses Feld nicht?!?)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: Markus M. am 18 Juni 2022, 14:37:45
Jau, irgendwas passt mit den Zonen wohl nicht ganz.
Meine erweiterte Zuhause Zone ist grade auch noch aktiv obwohl ich sie verlassen habe.
Schau ich mir bei Gelegenheit mal an.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: Markus M. am 26 Juni 2022, 11:47:12
Ok, jetzt sollte es funktionieren
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: AbeamStart am 07 August 2022, 16:51:26
Hi,
nur als Tipp an alle owntracks Android User.
Seit ich (und meine Frau) die googlefreie nexttrack App verwende und Ungenaue Positionen ignoriere (50m) habe ich (wir nun keine Standorthoppings) mehr. (Der Staubsauger fährt nun wirklich erst los, wenn keiner mehr zu Hause ist  ;D ) Und die Standorte werden nun auch verlässlich im Signifikanten Änderungen Modus aktualisiert (nexttrack ist da viel zuverlässiger als die Google Version).

https://github.com/nexttracks/android

https://f-droid.org/de/packages/org.nexttracks.android/
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: red81 am 20 Oktober 2022, 14:32:23
da entdeckt mann als life360 nutzer dieses Modul und dann sieht es so aus das es nicht mehr funktioniert...  :'(
Wenn ich das richtig interpretiere nutzt das Modul einen webzugang, der Weblogin wurde bei Life 360 entfernt
kann das wer Bestätigen? (bevor ich weiter nach dem Fehler suche?)

bzw beim weiterschauen habe ich das hier gefunden bei IOBroker haben die Anpassungen wegen geänderter API gemacht, vielleicht ist das ein guter Hinweis?
https://github.com/MiGoller/ioBroker.life360/commit/56ba15fa07202fdfa5c99420deaa03829e1a8178 (https://github.com/MiGoller/ioBroker.life360/commit/56ba15fa07202fdfa5c99420deaa03829e1a8178)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: Otto123 am 09 November 2022, 10:04:25
Zitat von: AbeamStart am 07 August 2022, 16:51:26
nur als Tipp an alle owntracks Android User.
Seit ich (und meine Frau) die googlefreie nexttrack App verwende und Ungenaue Positionen ignoriere (50m) habe ich (wir nun keine Standorthoppings) mehr.
Danke für den Hinweis. Leider wird netxtracks nicht mehr entwickelt / gewartet. Wohl auch weil owntracks mittlerweile eine Version OSS Flavour hat, die aktiv entwickelt wird. Damit ist laut Entwickler nexttracks quasi gegenstandslos. Ich habe einfach die apk von hier installiert:
https://github.com/owntracks/android/releases
Über Fdroid habe ich das nicht bekommen.  ???

Mal schauen was es bringt. ;)
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: khk123 am 21 November 2022, 18:31:41
Ich brauche mal Hilfe. Seit einiger Zeit erfolgt durch livetracking kein Update mehr. Folgende Meldung taucht im Log auf (Sternchen sind händisch eingetragen):

2022.11.21 18:09:53 4: WRONG MQTT TYPE $VAR1 = 'longitude: 8.*******';

Bei der Fehlersuche ist mir aufgefallen, dass in Zeile 1007 der Log-Level auf 6 eingestellt ist. Absicht oder Fehler?

1007   Log3 ($name, 6, "$name OwnTracks data: /n".Dumper($dev));

Ich habe es mal auf 5 geändert und folgende Ausgabe vor der Abfrage in Zeile 1010 erhalten:

2022.11.21 18:09:53 5: KhK_Tracks OwnTracks data: /n$VAR1 = {
          'JSONMAP' => {
                         'lat' => 'latitude',
                         'alt' => 'altitude',
                         'tst' => 'timestamp',
                         'vel' => 'velocity',
                         'conn' => 'connection',
                         'cog' => 'direction',
                         '_type' => 'lastUpdateType',
                         'bs' => 'batteryState',
                         'batt' => 'batteryPercent',
                         'tid' => 'trackerId',
                         'lon' => 'longitude',
                         'acc' => 'accuracy',
                         'vac' => 'accuracyVertical',
                         'rad' => 'radius',
                         'p' => 'pressure',
                         't' => 'trigger'
                       },
          'NAME' => 'KhK_Owntrack',
          'NR' => 487,
          'eventCount' => 70,
          'DEF' => 'MQTT2_CLIENT',
          'FUUID' => '62cd80a7-f33f-2526-577e-322fb41b3cd0b1ef',
          'FVERSION' => '10_MQTT2_DEVICE.pm:0.266090/2022-10-28',
          '.attraggr' => [],
          'LASTInputDev' => 'MQTT2_CLIENT',
          'OLDREADINGS' => {},
          'NTFY_TRIGGERTIME' => '2022-11-21 18:09:53',
          'IODev' => {
                       'TYPE' => 'MQTT2_CLIENT',
                       'CD' => bless( \*Symbol::GEN10427, 'IO::Socket::INET' ),
                       'ClientsKeepOrder' => 1,
                       '.attraggr' => [],
                       'DEF' => '127.0.0.1:1883',
                       'nextOpenDelay' => 5,
                       'NR' => 350,
                       'NAME' => 'MQTT2_CLIENT',
                       'DeviceName' => '127.0.0.1:1883',
                       'MatchList' => {
                                        '2:MQTT_GENERIC_BRIDGE' => '^.',
                                        '1:MQTT2_DEVICE' => '^.'
                                      },
                       '.FhemMetaInternals' => 1,
                       '.attrminint' => [],
                       'PARTIAL' => '',
                       'TCPDev' => $VAR1->{'IODev'}{'CD'},
                       'WBCallback' => undef,
                       'FD' => 21,
                       'READINGS' => {
                                       'state' => {
                                                    'VAL' => 'opened',
                                                    'TIME' => '2022-11-21 06:25:03'
                                                  },
                                       'lastPublish' => {
                                                          'TIME' => '2022-01-18 18:41:44',
                                                          'VAL' => 'test/Backlog:StateText1 off; StateText2 on; StateText3 toggle; StateText4 hold; SetOption26 1; SaveData 1'
                                                        }
                                     },
                       'BUF' => '',
                       'lastMsgTime' => '1669050593.08354',
                       'FVERSION' => '00_MQTT2_CLIENT.pm:0.264050/2022-09-16',
                       'Clients' => ':MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:',
                       'FUUID' => '5e04d316-f33f-2526-3d6e-e5602a467137dfba',
                       'Helper' => {
                                     'DBLOG' => {
                                                  'state' => {
                                                               'LogDatabase' => {
                                                                                  'VALUE' => 'CONNECTED',
                                                                                  'TIME' => '1669008303.66114'
                                                                                }
                                                             }
                                                }
                                   },
                       'eventCount' => 10,
                       '.clientArray' => [
                                           'MQTT2_DEVICE'
                                         ],
                       'clientId' => 'MQTT2_CLIENT',
                       'STATE' => 'opened'
                     },
          'INTRIGGER' => 1,
          'STATE' => 'Letzter Update um 21.11.2022 18:09:53',
          '.attrminint' => [],
          '.FhemMetaInternals' => 1,
          'CHANGETIME' => [],
          'READINGS' => {
                          'timestamp' => {
                                           'TIME' => '2022-11-21 18:09:53',
                                           'VAL' => '1669050027'
                                         },
                          'BSSID' => {
                                       'TIME' => '2022-11-21 18:09:53',
                                       'VAL' => '**:**:**:**:**:**'
                                     },
                          'lastUpdateType' => {
                                                'TIME' => '2022-11-21 18:09:53',
                                                'VAL' => 'location'
                                              },
                          'altitude' => {
                                          'TIME' => '2022-11-21 18:09:53',
                                          'VAL' => '176'
                                        },
                          'accuracy' => {
                                          'VAL' => '17',
                                          'TIME' => '2022-11-21 18:09:53'
                                        },
                          'location' => {
                                          'VAL' => '{"_type":"location","BSSID":"**:**:**:**:**:**","SSID":"****","acc":17,"alt":176,"batt":54,"bs":1,"conn":"w","created_at":1669050592,"lat":50.*******,"lon":8.*******,"m":1,"t":"u","tid":"Kh","tst":1669050027,"vac":0,"vel":0}',
                                          'TIME' => '2022-11-21 18:09:53'
                                        },
                          'action' => {
                                        'TIME' => '2022-11-19 17:42:36',
                                        'VAL' => 'reportLocation'
                                      },
                          'connection' => {
                                            'VAL' => 'w',
                                            'TIME' => '2022-11-21 18:09:53'
                                          },
                          'trigger' => {
                                         'TIME' => '2022-11-21 18:09:53',
                                         'VAL' => 'u'
                                       },
                          'velocity' => {
                                          'TIME' => '2022-11-21 18:09:53',
                                          'VAL' => '0'
                                        },
                          'trackerId' => {
                                           'VAL' => 'Kh',
                                           'TIME' => '2022-11-21 18:09:53'
                                         },
                          'state' => {
                                       'VAL' => 'cmd',
                                       'TIME' => '2022-11-20 13:14:24'
                                     },
                          'LastUpdate' => {
                                            'VAL' => '21.11.2022 18:09:53',
                                            'TIME' => '2022-11-21 18:09:53'
                                          },
                          'IODev' => {
                                       'TIME' => '2022-11-20 13:03:27',
                                       'VAL' => 'MQTT2_CLIENT'
                                     },
                          'batteryPercent' => {
                                                'TIME' => '2022-11-21 18:09:53',
                                                'VAL' => '54'
                                              },
                          'batteryState' => {
                                              'VAL' => '1',
                                              'TIME' => '2022-11-21 18:09:53'
                                            },
                          'created_at' => {
                                            'TIME' => '2022-11-21 18:09:53',
                                            'VAL' => '1669050592'
                                          },
                          'SSID' => {
                                      'TIME' => '2022-11-21 18:09:53',
                                      'VAL' => '7390'
                                    },
                          'accuracyVertical' => {
                                                  'VAL' => '0',
                                                  'TIME' => '2022-11-21 18:09:53'
                                                },
                          'latitude' => {
                                          'TIME' => '2022-11-21 18:09:53',
                                          'VAL' => '50.*******'
                                        },
                          'm' => {
                                   'VAL' => '1',
                                   'TIME' => '2022-11-21 18:09:53'
                                 },
                          'longitude' => {
                                           'TIME' => '2022-11-21 18:09:53',
                                           'VAL' => '8.*******'
                                         }
                        },
          '.userReadings' => [
                               {
                                 'modifier' => 'none',
                                 'trigger' => undef,
                                 'value' => '21.11.2022 18:09:53',
                                 'reading' => 'LastUpdate',
                                 'perlCode' => '{strftime("%d.%m.%Y %H:%M:%S",localtime(time_str2num(ReadingsTimestamp($NAME,"latitude",""))))}',
                                 't' => '1669050593.09389',
                                 'TIME' => '2022-11-21 18:09:53'
                               }
                             ],
          'CID' => 'MQTT2_CLIENT',
          'MQTT2_CLIENT_TIME' => '2022-11-21 18:09:53',
          'MSGCNT' => 174,
          '.DT' => {
                     'DEVICETOPIC' => 'KhK_Owntrack'
                   },
          'TYPE' => 'MQTT2_DEVICE',
          'MQTT2_CLIENT_MSGCNT' => 174,
          'CHANGED' => [
                         'longitude: 8.*******',
                         'latitude: 50.*******'
                       ],
          '.attreour' => [
                           'latitude',
                           'longitude'
                         ]
        };


Hier noch die livetracking-defs:

Internals:
   FUUID      637b8c5d-f33f-2526-0ba2-46676fb4a1a50f06
   NAME       KhK_Tracks
   NOTIFYDEV  KhK_Owntrack
   NR         6570
   NTFY_ORDER 999-KhK_Tracks
   STATE      52.*****,4.*****
   TYPE       livetracking
   .attreour:
     location
   .userReadings:
     HASH(0xa85f3b0)
   READINGS:
     2022-10-22 00:39:28   .lastOwnTracks  1664043176
     2022-09-24 20:12:56   accuracy        13
     2022-09-24 20:12:56   altitude        45
     2022-09-24 20:12:56   batteryPercent  78
     2022-09-24 20:12:56   batteryState    ok
     2022-09-24 20:12:56   connection      wifi
     2022-09-24 20:12:56   connection_bssid **:**:**:**:**:**
     2022-09-24 20:12:56   connection_ssid ****
     2022-09-24 20:12:56   distance        384.2
     2022-09-24 20:12:56   id              Kh
     2022-09-24 20:12:56   latitude        52.*****
     2022-09-24 20:12:56   location        52.*****,4.*****
     2022-09-24 20:12:56   longitude       4.*****
     2022-10-22 00:39:28   maplink         https://www.openstreetmap.org/export/embed.html?bbox=4.*****,52.*****,4.*****,52.*****&amp;layer=mapnik&marker=52.*****,4.*****
     2022-09-24 20:12:56   trigger         ping
     2022-09-24 20:12:56   velocity        0
   helper:
Attributes:
   DbLogExclude .*
   DbLogInclude location
   addressLanguage de
   disable    1
   event-on-update-reading location
   filterAccuracy 1500
   home       50.*******,8.*******
   homeradius 10
   owntracksDevice KhK_Owntrack
   room       MQTT,anwesend
   roundAltitude 5
   roundDistance 0.1
   stateFormat location
   userReadings maplink { my @loc = split(/,/, ReadingsVal("KhK_Tracks","location", "0,0"));; $loc[2] = $loc[1] - 0.005;;$loc[3] = $loc[0] + 0.005 ;;$loc[4] = $loc[1] + 0.005;; $loc[5] = $loc[0] - 0.005;;return "https://www.openstreetmap.org/export/embed.html?bbox=" . $loc[2] . "," . $loc[3] . "," . $loc[4] . "," . $loc[5] . "&amp;layer=mapnik&marker=" . $loc[0] . "," . $loc[1];;}

   userattr   goneradius homeradius leavetounderway:0,1 wayhomeradius
   verbose    5
   wayhomeradius 1000
   zonename_0 NW5


Owntracks läuft in der Version 2.4.10 auf einem Galaxy S20 mit Android 13.

Viele Grüße
Karlheinz

Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: khk123 am 02 Dezember 2022, 17:50:58
Ist das Board hier verwaist oder bin ich wg. des Supportes zum 98_livetracking.pm im falschen Board?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: ThoTo am 02 Dezember 2022, 19:46:36
Unterstützt das Modul encrypted Payloads von Owntracks?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: khk123 am 09 Dezember 2022, 14:32:17

Ich habe meinen Fehler gefunden. In den Owntracks-Definitionen muss ein Event auch beim Update des Readings location erfolgen. Ich hatte aber nur

event-on-update-reading latitude,longitude

definiert.
Weil verbose in den livetracking-Definitionen nicht gesetzt war und dadurch standardmäßig auf 3 stand, war zunächst auch keine Fehlermeldung aufgetaucht.
Mit

event-on-update-reading location,latitude,longitude

funkltioniert es jetzt wieder.

Viele Grüße
Karlheinz

P.S. Nur schade, dass hier im Board niemand reagiert.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: Markus M. am 09 Dezember 2022, 22:46:33
Zitat von: ThoTo am 02 Dezember 2022, 19:46:36
Unterstützt das Modul encrypted Payloads von Owntracks?
Leider nein.
Wenn du mir eine kleine Perl Demo mit Crypt::NaCl::Sodium bauen kannst die mit einem Plaintext-Key die verschlüsselte Nachricht wieder entschlüssen kann, baue ich das aber gerne ein.


Zitat von: khk123 am 09 Dezember 2022, 14:32:17Nur schade, dass hier im Board niemand reagiert.
Ich verwende MQTT2 selbst nicht und kann daher auch nicht unterstützen.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: khk123 am 10 Dezember 2022, 15:03:04
Zitat von: Markus M. am 09 Dezember 2022, 22:46:33
Ich verwende MQTT2 selbst nicht und kann daher auch nicht unterstützen.

Naja,  es ging ja nicht um MQTT, sondern um den String, der im 98_livetracking ankam. Eine kurze Nachfrage hätte geholfen. Aber egal, das Problem ist ja gelös.

Viel Grüße
Karlheinz
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: Markus M. am 11 Dezember 2022, 00:35:22
Zitat von: red81 am 20 Oktober 2022, 14:32:23
da entdeckt mann als life360 nutzer dieses Modul und dann sieht es so aus das es nicht mehr funktioniert...  :'(
Wenn ich das richtig interpretiere nutzt das Modul einen webzugang, der Weblogin wurde bei Life 360 entfernt
kann das wer Bestätigen? (bevor ich weiter nach dem Fehler suche?)

bzw beim weiterschauen habe ich das hier gefunden bei IOBroker haben die Anpassungen wegen geänderter API gemacht, vielleicht ist das ein guter Hinweis?
https://github.com/MiGoller/ioBroker.life360/commit/56ba15fa07202fdfa5c99420deaa03829e1a8178 (https://github.com/MiGoller/ioBroker.life360/commit/56ba15fa07202fdfa5c99420deaa03829e1a8178)

Ich hätte nicht damit gerechnet dass tatsächlich noch mal irgendwer die Life360 Funktion nutzt ;D
Mach morgen mal ein Update und probier es dann, ich hab den Login angepasst und es kurz getestet.
Sah auf den ersten Blick ganz gut aus.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: orioooo am 11 Dezember 2022, 12:14:37
Zitat von: Markus M. am 11 Dezember 2022, 00:35:22
Ich hätte nicht damit gerechnet dass tatsächlich noch mal irgendwer die Life360 Funktion nutzt ;D
Mach morgen mal ein Update und probier es dann, ich hab den Login angepasst und es kurz getestet.
Sah auf den ersten Blick ganz gut aus.

Ich nutze auch Life360 und bin durch das Update auf dein Modul aufmerksam geworden.

Der Login scheint zu funktionieren, beim abrufen von GET Life360 kommt es aber zu folgender Fehlermeldung:

invalid json evaluation on dispatch type tokendata malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "error code: 1015") at ./FHEM/98_livetracking.pm line 1213.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: Markus M. am 11 Dezember 2022, 12:19:33
Zitat von: orioooo am 11 Dezember 2022, 12:14:37
Der Login scheint zu funktionieren, beim abrufen von GET Life360 kommt es aber zu folgender Fehlermeldung:
invalid json evaluation on dispatch type tokendata malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "error code: 1015") at ./FHEM/98_livetracking.pm line 1213.

Sind die Attribute life360_circle und life360_userid im Device gesetzt und auch richtig?
Kannst du das mal mit verbose 5 wiederholen und schauen was davor ankommt?
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: orioooo am 11 Dezember 2022, 12:26:57
Zitat von: Markus M. am 11 Dezember 2022, 12:19:33
Sind die Attribute life360_circle und life360_userid im Device gesetzt und auch richtig?
Kannst du das mal mit verbose 5 wiederholen und schauen was davor ankommt?

Beide Attribute sind nicht gesetzt. Woher bekomme ich die? Konnte dazu leider nirgends etwas auf anhieb finden :(
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: Markus M. am 11 Dezember 2022, 12:40:33
Zitat von: orioooo am 11 Dezember 2022, 12:26:57
Beide Attribute sind nicht gesetzt. Woher bekomme ich die? Konnte dazu leider nirgends etwas auf anhieb finden :(
Dann hat der Login wohl nicht funktioniert. Werden automatisch gesetzt beim Login.
Bitte nochmal checken ob User/Passwort passen und auch so in der App funktionieren und notfalls dort zurücksetzen.
Ich bräuchte dann noch das mit verbose 5 bei set BootstrapLife360 im Log kommt.
Bei mir funktioniert alles, auch in einem komplett neuen Device.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: orioooo am 11 Dezember 2022, 13:06:37
Zitat von: Markus M. am 11 Dezember 2022, 12:40:33
Dann hat der Login wohl nicht funktioniert. Werden automatisch gesetzt beim Login.
Bitte nochmal checken ob User/Passwort passen und auch so in der App funktionieren und notfalls dort zurücksetzen.
Ich bräuchte dann noch das mit verbose 5 bei set BootstrapLife360 im Log kommt.
Bei mir funktioniert alles, auch in einem komplett neuen Device.

Verbose 5 sieht wie folgt aus:

2022.12.11 13:02:42 5: livetrackingdataa: error code: 1015
2022.12.11 13:02:42 2: livetrackingdataa: invalid json evaluation on dispatch type tokendata malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "error code: 1015") at ./FHEM/98_livetracking.pm line 1213.


Zugangsdaten hab ich doppelt gecheckt. Wenn ich mich in der App abmelde, kann ich mich mit meiner E-Mail und Passwort aus Fhem auch wieder anmelden.

Frage: Wie genau sieht das define der Parameter aus? Laut commandred soll das device wie folgt angelegt werden:

define livetrackingdata livetracking [life360_email] [life360_pass] [swarm_token]

Ich interpretiere das wie folgt:

define livetrackingdata livetracking [life360_max@mustermann.de] [life360_musterpasswort]

Danke auf jeden Fall für deinen Support!

Edit: Hab nun glaube ich alle Varianten für das setzen der Parameter durch, es bleibt dem gleichen Fehler 1015 (teilweise aber auch Loginfehler, wenn die Schreibweise falsch war). Teilweise wird das Attribute life360_userid gesetzt, allerdings ohne Wert, also leer.
Titel: Antw:Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)
Beitrag von: Markus M. am 11 Dezember 2022, 16:56:43
Zitat von: ferio898 am 11 Dezember 2022, 13:06:37
define livetrackingtest livetracking life360_max@mustermann.de life360_musterpasswort

Edit: Hab nun glaube ich alle Varianten für das setzen der Parameter durch, es bleibt dem gleichen Fehler 1015 (teilweise aber auch Loginfehler, wenn die Schreibweise falsch war). Teilweise wird das Attribute life360_userid gesetzt, allerdings ohne Wert, also leer.

Da bin ich leider mit meinem Latein am Ende.
Probier mal die Version aus dem Anhang, nur um sicherzustellen dass du die richtige hast.
Und setz mal dein Passwort über die App zurück und nimm alle ungewöhnlichen Sonderzeichen raus, falls welche drin sind.
Falls das nicht funktioniert hab ich keine Idee mehr.