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

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

Vorheriges Thema - Nächstes Thema

binford6000

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

rohlande

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

inesa394

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

rohlande

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

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

klausw

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

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

klausw

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

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


klausw

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

inesa394

Hallo
Mich würde interessieren wie du das mit den Bildern abrufen bewerkstelligst (code) und sie dann  per Telegram versendest.

Danke Ines

binford6000

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

klausw

nochwas vergessen
jetzt habe ich selbst mal mit GUEST getestet....
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

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

rohlande

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

binford6000

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