NEWS
[Neuer Adapter] ioBroker.places
-
Nun zu Deinem Adapter[emoji3]. Jetzt wollte ich damit die Anwesenheit für zu Hause umsetzen. Unter places.0 stehen vier Datenpunkte.
anybodyAtHome = false
clearHome = button
numberAtHome = 0
personsAzHome []
wann werden die Datenpunkte "befüllt" ? `
Die Punkte werden genau dann befüllt, wenn der Adapter das erste Mal Daten bekommt (z.B. von deinem Service). Er prüft dann, ob die Koordinaten im Umkreis für "zuhause" liegen und würde entsprechend anybodyAtHome auf true setzen.
Was mich ein wenig verwirrt: die Android-App senden ja nativ Positionsangaben? Geht es nur ums Apple-Device in Verbindung mit der Cloud und deren Service?
-
Nun zu Deinem Adapter[emoji3]. Jetzt wollte ich damit die Anwesenheit für zu Hause umsetzen. Unter places.0 stehen vier Datenpunkte.
anybodyAtHome = false
clearHome = button
numberAtHome = 0
personsAzHome []
wann werden die Datenpunkte "befüllt" ? `
Die Punkte werden genau dann befüllt, wenn der Adapter das erste Mal Daten bekommt (z.B. von deinem Service). Er prüft dann, ob die Koordinaten im Umkreis für "zuhause" liegen und würde entsprechend anybodyAtHome auf true setzen.
Was mich ein wenig verwirrt: die Android-App senden ja nativ Positionsangaben? Geht es nur ums Apple-Device in Verbindung mit der Cloud und deren Service? `
hm, jetzt im Moment teste ich mit meinem Android. (das Apple Handy von meiner Frau ist leider schon wieder zu alt für owntracks. Die App lässt sich dort nicht installieren, ios11 oder höher wird verlangt.)
Also Daten sind ja unter cloud.0.services.custom_standort angekommen, aber bei places.0 hat sich nix verändert. anybodyAtHome ist false, ich bin aber zu Hause[emoji3]
-
OK, soweit habe ich verstanden.
1. Im Places-Adapter hast du custom_standort bzw. standort als Datenpunkt für die Cloud konfiguriert? Daher würde der Adapter dann die Requests abgreifen und sie analysieren.
2. Kannst du den Adapter ggf. mal auf die Logstufe "Debug" stellen und schauen, ob sich da was ändert sobald du mal das Haus verlässt? Wenn ja, kannst du mir dann ein paar Auszüge aus dem Log schicken? Irgendwelche Angaben à la "Receive request …" sollten da auf jeden Fall drinstehen.
Sobald ein Request eingeht, sollte auf jeden Fall ein neuer Knoten in places.0 erstellt werden für den Benutzer, den der Adapter im Request erkannt hat. Wenn dort kein Knoten ist, sondern lediglich die drei Felder anybodyAtHome, numberAtHome und personsAtHome sowie der Button für clearHome, dann hat der Adapter noch keinen Request bekommen (weshalb auch immer, falsche Konfiguration, nicht erkannter Inhalt eines Requests etc.).
-
okay, mache ich, wenn ich mal weg gehe/fahre. Ich war tatsächlich noch nirgend wo anders hin (habe Urlaub und bin zu Hause)
-
OK, soweit habe ich verstanden.
1. Im Places-Adapter hast du custom_standort bzw. standort als Datenpunkt für die Cloud konfiguriert? Daher würde der Adapter dann die Requests abgreifen und sie analysieren.
2. Kannst du den Adapter ggf. mal auf die Logstufe "Debug" stellen und schauen, ob sich da was ändert sobald du mal das Haus verlässt? Wenn ja, kannst du mir dann ein paar Auszüge aus dem Log schicken? Irgendwelche Angaben à la "Receive request …" sollten da auf jeden Fall drinstehen.
Sobald ein Request eingeht, sollte auf jeden Fall ein neuer Knoten in places.0 erstellt werden für den Benutzer, den der Adapter im Request erkannt hat. Wenn dort kein Knoten ist, sondern lediglich die drei Felder anybodyAtHome, numberAtHome und personsAtHome sowie der Button für clearHome, dann hat der Adapter noch keinen Request bekommen (weshalb auch immer, falsche Konfiguration, nicht erkannter Inhalt eines Requests etc.). ` ich habe Dir mal ein Log per Mail geschickt…waren einige Fehler drinn.
-
Auf GitHub (und NPM) ist nun die Version 0.6.1 online. Könntest du mir ggf. nochmal einen Auszug aus dem Log zukommen lassen? Das bisherige sagt leider nicht genug aus bzw. war das Logging zu wenig (um deinen Fehler finden zu können).
Als kleiner Tipp: es würde in der OwnTracks-App reichen, bei der Karte oben rechts auf den Pfeil mit dem Strich drüber zu klicken. Dadurch wird ein Request abgeschickt und man sollte Ergebnisse im Adapter (und im Log) sehen.
-
Auf GitHub (und NPM) ist nun die Version 0.6.1 online. Könntest du mir ggf. nochmal einen Auszug aus dem Log zukommen lassen? Das bisherige sagt leider nicht genug aus bzw. war das Logging zu wenig (um deinen Fehler finden zu können).
Als kleiner Tipp: es würde in der OwnTracks-App reichen, bei der Karte oben rechts auf den Pfeil mit dem Strich drüber zu klicken. Dadurch wird ein Request abgeschickt und man sollte Ergebnisse im Adapter (und im Log) sehen. `
0.6.1 hatte ich schon drauf, oder hast Du nochmal was verändert ? (ich weiß nicht wann ich die 0.6.1. drauf gemacht habe, vielleicht zu früh ?–-einfach nochmal drüber installieren ? )
-
So, kurze Rückmeldung. Ich habe Deinen Adapter und den google-sharedlocations Adapter gelöscht (und auch alle Objekte, da waren noch welche drinn) und neu installiert. Zuerst habe ich den google-sharedlocations Adapter eingerichtet, einschließlich den ID's und gestartet-Objekte kamen dann korrekt rein.
Danach habe ich den places Adapter installiert und eingerichtet, dann erst gestartet. (Owntracks, also die Integration habe ich gar nicht benutzt.)
Jetzt sind erstmal alle Datenpunkte da und werden auch korrekt angezeigt. (im Einsatz ein altes iPhone 5 und einmal ein Android Samsung Galaxy Note
Ich werde das jetzt mal etwas in der Praxis testen.
Vielen Dank für Deinen Adapter und auch für die Zusammenarbeit mit dem Entwickler vom google-sharedlocations Adapter.
Gruß aus Wolfsburg
Heiko
-
Hab jetzt auch google-sharedlocations installiert und eingerichtet. Die Positionen der Google-Freigaben werden korrekt angezeigt. Jetzt weiss ich nicht so recht, wie und wo ich nun eine Home-Zone z.B einrichte und wo dann überprüft wird, wer in dieser Zone ist. Wie macht man das?
Im google sharedlocations, kann man ja auch Geofence einrichte. Man kann dort ja Becshreibung, Position und Benutzer auswählen, aber so recht versteh ich das nicht. Er zeigt mir nur einen Benutzer an, obwohl 3 unter Objekte zur Auswahl stehen und wieso sollte ich dort eine Geofence anlegen und einen Benutzer hinterlegen? Ich hab jetzt die Places.0 Instanz angegeben aber das scheint keine Auswirkungen auf den Adapter zu machen. Im Place Adapter kann man auch Orte und Benutzer anlegen, aber so recht versteh ich nicht, wie das jetzt dann mit google shared verknüpft wird. Was wähle ich bei Inetragtion im Places Adapter aus? Muss ich den nutzen?
-
Hallo,
bekomme das leider überhaupt nicht auf den Sender
Hier mein Stand:
Cloud-Adapter : XYZ in White list eingetragen
OwnTracks auf meinem Iphone installiert und Setting auf
Mode "HTTP"
Tracker ID : " "
Authentication : deaktiviert
Secret encrytion key : " "
URL: https://iobroker.pro/service/custom_xyz/
Fehler in der APP: error. Der Vorgang konnte nicht abgeschlossen werden (HTTP Response-Fehler 502).
iobroker.places installiert und in
integration: cloud.0 // cloud-service : xyz
Wo liegt hier der Fehler ?
Muss bei Settings noch was eingestellt werden ? Fehlt eine API ?
habe schon alles versucht, komme leider nicht weiter.
-
Hallo,
bekomme das leider überhaupt nicht auf den Sender
Hier mein Stand:
Cloud-Adapter : XYZ in White list eingetragen
OwnTracks auf meinem Iphone installiert und Setting auf
Mode "HTTP"
Tracker ID : " "
Authentication : deaktiviert
Secret encrytion key : " "
URL: https://iobroker.pro/service/custom_xyz/
Fehler in der APP: error. Der Vorgang konnte nicht abgeschlossen werden (HTTP Response-Fehler 502).
iobroker.places installiert und in
integration: cloud.0 // cloud-service : xyz
Wo liegt hier der Fehler ?
Muss bei Settings noch was eingestellt werden ? Fehlt eine API ?
habe schon alles versucht, komme leider nicht weiter. `
probiere mal…
-
probiere mal…
verstehe nicht was du meinst . Habe es jetzt so gemacht, aber was soll das "brokerkey" bringen ?
Sorry das ich so Frage :?
-
vom Cloud Adapter, den App Key meine ich, der muss hinten an die Adresse.
Also Cloud Adapter(Deine Instanz)
Einstellungen
APP-KEY
Ich habe es auch erst nicht hinbekommen, aber hier steht dann was ich meine(der Link ist auch einige Beiträge weiter oben)
-
vom Cloud Adapter, den App Key meine ich, der muss hinten an die Adresse.
Also Cloud Adapter(Deine Instanz)
Einstellungen
APP-KEY
Ich habe es auch erst nicht hinbekommen, aber hier steht dann was ich meine(der Link ist auch einige Beiträge weiter oben)
also ich habe es schon einmal soweit hinbekommen, dass ich im cloud Adapter unter Objekte/services eine Nachricht erhalte, in welcher auch die Positionsdaten hinterlegt sind.
Der Adapter places macht jedoch nichts. Ich habe unter Integration den Cloud Adapter ausgewählt und den entsprechenden Service, welcher identisch zum Cloud Adapter ist.
Desweiteren habe ich im places Adapter auch einen Ort angelegt mit einem 250m Radius.
Unter Objekte tut sich jedoch nichts.
Wo liegt mein Fehler?
Grüße
-
vom Cloud Adapter, den App Key meine ich, der muss hinten an die Adresse.
Also Cloud Adapter(Deine Instanz)
Einstellungen
APP-KEY
Ich habe es auch erst nicht hinbekommen, aber hier steht dann was ich meine(der Link ist auch einige Beiträge weiter oben)
also ich habe es schon einmal soweit hinbekommen, dass ich im cloud Adapter unter Objekte/services eine Nachricht erhalte, in welcher auch die Positionsdaten hinterlegt sind.
Der Adapter places macht jedoch nichts. Ich habe unter Integration den Cloud Adapter ausgewählt und den entsprechenden Service, welcher identisch zum Cloud Adapter ist.
Desweiteren habe ich im places Adapter auch einen Ort angelegt mit einem 250m Radius.
Unter Objekte tut sich jedoch nichts.
Wo liegt mein Fehler?
Grüße ` Integration nutze ich nicht. Ich nutze zusätzlich den Adapter google sharedlocations. Da kannst Du dann direkt Deine places Instanz angeben.
https://github.com/t4qjXH8N/ioBroker.go … dlocations
Integration ist für OwnTracks
~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 01df9d.jpg">https://uploads.tapatalk-cdn.com/20180905/db0cae08626f5142f052453ff601df9d.jpg</link_text>" />
Das ist google-sharedlocations, da kann man die places Instanz angeben.
~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 0fd542.jpg">https://uploads.tapatalk-cdn.com/20180905/54fd5dff3c576ab41107bd598d0fd542.jpg</link_text>" />
In places ist Dein "Home" oder Dein "zu Hause" über die Koordinaten aus dem Haupteinstellungen aus ioBroker definiert.
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 8497ad.jpg">https://uploads.tapatalk-cdn.com/20180905/1821bd2e7a8a22d9d0ffdb07e98497ad.jpg</link_text>" />~~~~ -
Moin zusammen,
lt. Doku kann Places einen Response Message Block auf eine Anfrage zurück liefern.
` > // send a message to a specific instance and define a callback
sendTo('locations.0', {
user: "Name of person",
latitude: 50.9576191,
longitude: 6.8272409,
timestamp: 1520932471
}, function (res) { log(JSON.stringify(res)); });
Structure for returned messages
The following block shows how response messages look like. For each value the ioBroker object tree has an according state.
{
"user": "Name of person", // name of person (may have been replaced by user mapping)
"latitude": 50.9576191,
"longitude": 6.8272409,
"timestamp": 1520932471000,
"date": "2018-03-13 10:14:31", // date extracted from timestamp
"atHome": false, // true if inside the configured radius around ioBroker
"homeDistance": 104898, // distance in meters between position and ioBroker
"name": "", // name of place found within the configuration
"address": "", // readable address (if geocoding is active)
"elevation": "", // elevation in meters (if geocoding is active) `
Es wäre klasse, wenn der Rückgabewert 'atHome' als state-Datenpunkt mit true/false bei der jeweiligen Person direkt vom Adapter gesetzt würde. Ich möchte das gerne für eine SQL-Protokollierung mit anschließender VIS-Ausgabe nutzen um rückwirkend sehen zu können, wer wann zuHause war.
Ist das machbar ???
-
Moin zusammen,
lt. Doku kann Places einen Response Message Block auf eine Anfrage zurück liefern.
` > // send a message to a specific instance and define a callback
sendTo('locations.0', {
user: "Name of person",
latitude: 50.9576191,
longitude: 6.8272409,
timestamp: 1520932471
}, function (res) { log(JSON.stringify(res)); });
Structure for returned messages
The following block shows how response messages look like. For each value the ioBroker object tree has an according state.
{
"user": "Name of person", // name of person (may have been replaced by user mapping)
"latitude": 50.9576191,
"longitude": 6.8272409,
"timestamp": 1520932471000,
"date": "2018-03-13 10:14:31", // date extracted from timestamp
"atHome": false, // true if inside the configured radius around ioBroker
"homeDistance": 104898, // distance in meters between position and ioBroker
"name": "", // name of place found within the configuration
"address": "", // readable address (if geocoding is active)
"elevation": "", // elevation in meters (if geocoding is active) `
Es wäre klasse, wenn der Rückgabewert 'atHome' als state-Datenpunkt mit true/false bei der jeweiligen Person direkt vom Adapter gesetzt würde. Ich möchte das gerne für eine SQL-Protokollierung mit anschließender VIS-Ausgabe nutzen um rückwirkend sehen zu können, wer wann zuHause war.
Ist das machbar ??? ` In Verbindung mit google shared-locations sollte Dein Vorhaben gehen. (vielleicht auch nur mit places mit Owntracks…,nutze ich aber nicht)
Auf dem Screenshot ist meine Frau zu Hause, ich nicht. In dieser Kombi gehen beliebig viele Personen mit beliebig vielen Orten.
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 2e5a15.jpg">https://uploads.tapatalk-cdn.com/20180906/d9996f1ff46406727cb27fe1e82e5a15.jpg</link_text>" /> -
Moin dslraser,
danke für den Hinweis - aber das ist mir schon alles klar.
Was ich mir wünsche ist genau dieses (hab ich mir jetzt selber gebaut - wäre aber cooler, wenn's der Adapter direkt macht):
-
Okay,
aber hast Du auch oben im Screenshot google-sharedlocations gesehen. (Das ist doch genau das was Du möchtest, oder ?)
-
Jepp - hab ich gesehen !
Mit meiner selbst gebauten Lösung klappt es auch bestens ohne großen Aufwand.
Hab das jetzt auch mehr als Feature-Request an den Entwickler des Adapters gedacht.