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

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

Vorheriges Thema - Nächstes Thema

Markus M.

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
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

klausw

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.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Firetic

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?


Ma_Bo

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.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Markus M.

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
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

stromer-12

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.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

Markus M.

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?
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

stromer-12

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"}
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

Firetic

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 :-)

Markus M.

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 ;)
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Firetic

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.

Markus M.

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 :(
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Firetic

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.

Ma_Bo

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
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Ma_Bo

@ 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';
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.