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

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

Vorheriges Thema - Nächstes Thema

khk123

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.*****&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] . "&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

FHEM6.2, RasPi4, RasPi Zero W,
CUL V3, HM, ZWave, IT, vcontrol, owntracks, alexa

khk123

Ist das Board hier verwaist oder bin ich wg. des Supportes zum 98_livetracking.pm im falschen Board?
FHEM6.2, RasPi4, RasPi Zero W,
CUL V3, HM, ZWave, IT, vcontrol, owntracks, alexa

ThoTo

KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)

khk123


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.
FHEM6.2, RasPi4, RasPi Zero W,
CUL V3, HM, ZWave, IT, vcontrol, owntracks, alexa

Markus M.

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

khk123

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
FHEM6.2, RasPi4, RasPi Zero W,
CUL V3, HM, ZWave, IT, vcontrol, owntracks, alexa

Markus M.

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

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

orioooo

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.

Markus M.

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

orioooo

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

Markus M.

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

orioooo

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.

Markus M.

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