Modul: 98_livetrackingconn.pm - zur Anbindung von livetracking an RESIDENTS

Begonnen von klausw, 22 November 2018, 12:30:16

Vorheriges Thema - Nächstes Thema

binford6000

ZitatHätte noch einen Wunsch zu äußern: Könnte man noch ein distanceGone Attribut einführen? Sprich ab sagen wir 300km Abstand zu Home wird der Resident auf gone bzw. verreist gesetzt?

Ich mache das aktuell mit einem notify:
iphone5SE:distance:..* {
if ($EVTPART1 > 120 && Value('rr_Sebastian') ne "verreist") {
fhem("set rr_Sebastian verreist");
}
}


VG Sebastian

hkspks

Wo finde ich denn die letzte Version? Die Version aus Post https://forum.fhem.de/index.php/topic,93565.msg862995.html#msg862995 lässt sich bei mir nicht laden:
Too many arguments for main::RESIDENTStk_SetLocation at ./FHEM/98_livetrackingconn.pm line 138, near "$radius )"

Wollt ihr das Modul ggf. auf Github in das Repository laden?
https://github.com/mhop/fhem-mirror/tree/master/fhem/FHEM

Dort ist das livetracking-Modul auch drin.

klausw

Zitat von: hkspks am 13 März 2019, 08:23:44
Wollt ihr das Modul ggf. auf Github in das Repository laden?
https://github.com/mhop/fhem-mirror/tree/master/fhem/FHEM

Erstmal soll es einigermaßen funktionieren.
Wenn es dann mehr als 5 Leute nutzen würde ich es einchecken.

Anbei erstmal eine neue Version:

neue Attribute:

goneradius -> Entfernung in Metern zur home Koordinate bei der Resident|Guest auf gone getetzt wird

leavetounderway -> wenn 1 dann wird beim Verlassen einer Zone die Location auf underway gesetzt

Soweit langsam alles funktionieren.

Bei mir tauchen allerdings noch Stacktrace Fehlermedungen auf, mit denen ich nix anfangen kann.
2019.03.12 08:10:20 1: readingsUpdate(ot.klaus,zone_1,inactive) missed to call readingsBeginUpdate first.
2019.03.12 08:10:20 1: stacktrace:
2019.03.12 08:10:20 1:     main::readingsBulkUpdate            called by ./FHEM/98_livetracking.pm (1067)
2019.03.12 08:10:20 1:     main::livetracking_ParseOwnTracks   called by ./FHEM/98_livetracking.pm (1181)
2019.03.12 08:10:20 1:     main::livetracking_Notify           called by fhem.pl (3695)
2019.03.12 08:10:20 1:     main::CallFn                        called by fhem.pl (3615)
2019.03.12 08:10:20 1:     main::DoTrigger                     called by fhem.pl (4683)
2019.03.12 08:10:20 1:     main::readingsEndUpdate             called by fhem.pl (4865)
2019.03.12 08:10:20 1:     main::readingsSingleUpdate          called by ./FHEM/10_MQTT_DEVICE.pm (249)
2019.03.12 08:10:20 1:     MQTT::DEVICE::onmessage             called by ./FHEM/00_MQTT.pm (535)
2019.03.12 08:10:20 1:     MQTT::__ANON__                      called by FHEM/GPUtils.pm (48)
2019.03.12 08:10:20 1:     GPUtils::GP_ForallClients           called by ./FHEM/00_MQTT.pm (545)
2019.03.12 08:10:20 1:     MQTT::Read                          called by fhem.pl (3695)
2019.03.12 08:10:20 1:     main::CallFn                        called by fhem.pl (743)
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

MarcusKA

Erstmal vielen Dank für das Modul. Allerdings schein ich zu doof zu sein, das Device mit dem Roommate zu verknüpfen. Keine Ahnung was ich da falsch mache



Internals:
   NAME       Check_Presence_MF
   NOTIFYDEV  Huawei_Marcus
   NR         245
   NTFY_ORDER 999-Check_Presence_MF
   STATE      Initialized
   TYPE       livetrackingconn
Attributes:
   DbLogExclude .*
   homeradius 250
   livetrackingDevice Huawei_Marcus
   verbose    5
   wayhomeradius 2000


Was muss ich denn im Roommate genau eintragen unter rr_geofenceUUIDs? Ich hab alles mögliche ausprobiert, aber  nichts hat funktioniert.

Liebe Grüße
Marcus

DerKoerper

Hey Marcus,

unter rr_geofenceUUIDs muss der livetracking-Device Name stehen.

@klausw: Neue Version funktioniert bei mir ohne Probleme, leavetounderway funktioniert & goneradius auch (nachdem ich gecheckt habe, dass es Meter nich Kilometer sind - wer lesen kann...  ::) )
FHEM aufm Cubietruck (armbian inkl. Samba, DHCP, DNS & VPN) für eine Wohnung.
1x CUL für WMBUS, 1x nanoCUL für MAX

Kaum Ahnung... aber hartnäckig!

MarcusKA

Ja, danke.. Hatte es nun geschafft. Lag am iPhone und owntracks. Das hat einfach mal wieder die Arbeit eingestellt. Mit dem iPhone verzweifel ich echt noch. Mal funktionierts, mal net.

klausw

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

DerKoerper

Bei mir sind keine Fehlermeldungen von deinem Modul drin - alles sauber.
FHEM aufm Cubietruck (armbian inkl. Samba, DHCP, DNS & VPN) für eine Wohnung.
1x CUL für WMBUS, 1x nanoCUL für MAX

Kaum Ahnung... aber hartnäckig!

Wolfgang Hochweller

Mein ROOMMATE-Device wird ueber livetrackingconn und livetracking versorgt.
Dabei erscheint auch eine 'passende' Adresse.
Allerdings etwas merkwuerdig :

Strasse - stimmt
Hausnummer - stimmt
Postleitzahl - stimmt
Ort - stimmt nicht mit der PLZ ueberein ( entspricht aber einem in der Naehe liegenden Landschaftspunkt )

Diese Information wird ja  aus OpenStreetMaps geholt.
Dort findet man :

14, Kyrkjeveien, Svartholen, Goa, Randaberg, Rogaland, 4070, Norway (house)

Dabei sind

14  - die Hausnummer
Kyrkjeveien  - die Strasse
Svartholen, Goa, Randaberg alles Orte bzw. Plaetze der Umgebung, aber nur Randaberg ist postalisch.
Rogaland - sowas wie Bundesland
4070 - PLZ
Norway - Land
(house) - ist ein Gebaeude


Details liefern dann ( Nominatim )

Address Tags   

Randaberg (city)
14 (housenumber)
4070 (postcode)
Kyrkjeveien (street)


Das sieht sehr gut aus und das haette ich gern als Adresse gesehen.
Bekommen tue ich aber :

Kyrkjeveien 14
4070 Svartholen
Norway

also mit der ersten Ortsangabe aus obiger Liste statt mit dem Ort, der zur PLZ gehoert.

Kann ich da was drehen ?

Wolfgang Hochweller

Ich brauche noch etwas Unterstuetzung:
Ich habe alles am Laufen, nach einem Update der Position sehe ich das im entsprechenden ROOMMATE.
Ich bin hauptsaechlich daran interessiert, Aufenthalte in den definierten Zonen zu erfassen, laufe aber meist vor die Wand, sprich, die Updates kommen noch nicht so recht automatisch.

1. Modus : Significant changes oder Manual ? In beiden sollten Zonen automatisch erkannt werden, bei Manual scheint das nicht zu gehen

2. Wie setzt man die Locator-Parameter auf sinnvolle Werte ?

3. Im livetracking-Device wird der Zonenname richtig angegeben ( Reading place ).
Bekomme ich diesen Namen ueber livertracking_conn zu den ROOMMATEs durchgereicht oder muss ich da aktiv werden ?

4. Setup :
2 Handys mit Owntrack in HTTP-Modus, ID 01 und 02
Fuer jedes Handy ein livetracking-Device, richtig ?
Fuer jedes livetracking-Device ein livetracking_conn-device oder reicht eines fuer beide ?
Fuer jedes Handy ein ROOMMATE.


klausw

Zitat von: howi42 am 30 März 2019, 17:17:25
Mein ROOMMATE-Device wird ueber livetrackingconn und livetracking versorgt.
Dabei erscheint auch eine 'passende' Adresse.
Allerdings etwas merkwuerdig :
...
Kann ich da was drehen ?

Die Adresse und bekommt das Modul vom livetracking Device.
Dort müsstest Du mal nachhaken.
Vermutlich wird die Adresse aber von einem Webservice übernommen da wird es schwierig einzugreifen.

Zitat von: howi42 am 31 März 2019, 19:15:51
1. Modus : Significant changes oder Manual ? In beiden sollten Zonen automatisch erkannt werden, bei Manual scheint das nicht zu gehen

Ich nutze persönlich significant changes. Manual aktualisiert vermutlich nur wenn du auf "Bericht" drückst

Zitat von: howi42 am 30 März 2019, 17:17:25
2. Wie setzt man die Locator-Parameter auf sinnvolle Werte ?

Was sind Locator-Parameter?

Zitat von: howi42 am 30 März 2019, 17:17:25
3. Im livetracking-Device wird der Zonenname richtig angegeben ( Reading place ).
Bekomme ich diesen Namen ueber livertracking_conn zu den ROOMMATEs durchgereicht oder muss ich da aktiv werden ?

Die Zonennamen werden an die Roommates durchgereicht, solang keine homeradius oder wayhomeradius im livetracking_conn oder dem entsprechenden livetracking device angegeben wurden. Sind diese angegeben werden im ROOMMATE location Bezeichnungen wie home und away erzeugt.
Soll presence gesetzt werden müssen locationHome, locationUnderway etc. gesetzt werden.

Zitat von: howi42 am 30 März 2019, 17:17:25
4. Setup :
2 Handys mit Owntrack in HTTP-Modus, ID 01 und 02
Fuer jedes Handy ein livetracking-Device, richtig ?
Fuer jedes livetracking-Device ein livetracking_conn-device oder reicht eines fuer beide ?
Fuer jedes Handy ein ROOMMATE.

Ein livetracking_conn device, die beiden anderen doppelt
Das livetracking_conn Device reagiert standardmäßig auf die notifys aller livetracking devices
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

Wolfgang Hochweller

Danke.
Locator sind die Parameter in Owntracks unter Advanced, i

siehe Screenshot.

Oeffnet man 'Locator interval', faellt ausserdem auf, dass die Erklaerung dazu falsch ist ( sie gehoert zu 'Locator distance' ).
Open Source hin oder her, das muss nicht sein.

rcmcronny

Hallo,

nur als Info, ich nutz das Modul auch, eben konfiguiert.

Gerade beim Update im Log gesehen:


2019.04.26 09:39:38 1 : *** EN livetrackingconn: nonempty line after =begin html ignored
2019.04.26 09:39:38 1 : *** DE livetrackingconn: nonempty line after =begin html ignored


und ich sehe auch recht sehr oft:

2019.04.26 09:39:54 3 : livetrackingcon: Found matching UUID at ROOMMATE device rr_Ronny
2019.04.26 09:40:15 3 : livetrackingcon: Found matching UUID at ROOMMATE device rr_Ronny


Ronny

tolstoey

Hallo und guten Tag miteinander,

ich bin vor einigen Tagen auf dies Modul gestoßen und hab es direkt eingebaut. Danke für die Arbeit!

Es funktioniert prima, die Zone_x Namen werden im ROOMMATE im reading location abgelegt wie gewünscht.
Ich hänge leider jetzt auch schon eine Weile an einem Punkt: irgendwie bekomme ich leavetounderway nicht ans laufen.
Ich verstehe das richtig, dass "underway" ins reading location geschrieben werden soll, wenn eine Zone verlassen wird und keine Zone active ist?
Das bekomme ich nicht hin.
Welche Voraussetzungen müssen erfüllt sein, bzw. welche Attribute wo gesetzt werden, damit das funktioniert?
Beim Verlassen einer Zone bekommt der ROOMMATE zwar ein absent gesetzt, die location bleibt aber beim Zonennamen statt "underway".
Im livetracking device bekomme ich nicht mehr die Zone sondern die Breiten/Längenangaben...
Ich habe im livetrackingdevice leavetounderway auf 1 gesetzt. Keine homeradius oder wayhomeradius oder goneradius gesetzt.
Die Farge bleibt also: unter welchen Bedingungen wird "underway" gesetzt?

Herzlichen Dank fürs Nachdenken!
Schöne Grüße, Markus

klausw

Der Post ist mir doch glatt durch die Lappen gegangen...

Zitat von: rcmcronny am 25 April 2019, 17:55:30
Gerade beim Update im Log gesehen:


2019.04.26 09:39:38 1 : *** EN livetrackingconn: nonempty line after =begin html ignored
2019.04.26 09:39:38 1 : *** DE livetrackingconn: nonempty line after =begin html ignored

Schaue ich bei Gelegenheit mal nach.

Zitat von: rcmcronny am 25 April 2019, 17:55:30
und ich sehe auch recht sehr oft:

2019.04.26 09:39:54 3 : livetrackingcon: Found matching UUID at ROOMMATE device rr_Ronny
2019.04.26 09:40:15 3 : livetrackingcon: Found matching UUID at ROOMMATE device rr_Ronny

Einfach im Modul das Attribut verbose auf 2 setzen, schon ist Ruhe. Vielleicht sollte ich das Level der Meldungen auf 4 heben. Die kommen ja bei jeder Positionsmeldung.
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