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

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

Vorheriges Thema - Nächstes Thema

klausw

meinst du das Attribut zonename?
Abboniert habe ich es ja, die Positionsdaten kommen.
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

binford6000

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

binford6000

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

klausw

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

ih-sqeezer

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

Markus M.

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.
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

ih-sqeezer

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

Markus M.

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.
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

ih-sqeezer

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

Markus M.

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.
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

binford6000

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

ih-sqeezer

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

rohlande

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

HostSystem: Synology DS918 | FHEM im Docker Version: 6.0-s22528_v2.2.4 (dedizierte IP Adresse) | MQTT_Broker auf DS918 NAS | MQTT_FHEM | TASMOTA_DEVICE | SSChatBot | SSCam | LaMetric | FBAHAHTTP | CUL | SONOS | HUEBridge (deCONZ) Zigbee | FB_CALLMONITOR | InfluxDBLogger

Fixel2012

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
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

klausw

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.
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