NEWS
Adapter: Geofency
-
@Ramses123 Hi Ramses123, ich benutze auch den Cloud Adapter und Webhook und bekomme einzig unter cloud.0.services.custom_xxx meinen JSON-Eintrag. Zusätzlich läuft der Geofency Adapter. Verstehe ich das richtig, dass dann unter geofency.0 zwar nur die Objekte "atHome" und "atHomeCount" stehen, aber nicht bedient werden? Brauche ich dann überhaupt noch einen laufenden Geofency Adapter? Und den JSON-Eintrag bearbeite ich dann einfach per Script weiter? Sorry, ich bin relativ neu und stehe im Moment etwas auf dem Schlauch - denn ich glaube, ich bringe die unterschiedlichen Wege nicht auseinander ...
Update: Ich habe das Script gefunden! Jetzt läuft es - entschuldige!
-
-
Nachdem ich jetzt fast alles gelesen habe und drei Links ins leere gefolgt bin, hoffe ich, das mit nochmal einer eine detailierte Anleitung mit der Einrichtung des Clouddienstes hier verlinken kann.
Schönen Gruß -
Hi
Bin (wie man unschwer erkennt) ganz neu in der Materie.Der ioBroker läuft und nun möchte ich den Genofency installieren. Hat aich funktioniert.
ABER: Ich brauch doch zum Übertragen der Eintritt Meldung und Austrittmeldung eine Cloud. Vermutlich die ioBroker Cloud. Aber da habe ich (denke ich) keine Domain sondern "nur" eine eMail mit passwort und einen langen API. Bei der PRO Variante schaut es auch nicht anders aus.
Wo liegt mein Denkfeher?
LG Robert
-
@Milusz @breit ich habe bei mir den geofency Adapters laufen. Dort habe ich als einzige Konfiguration den Ortsname für Zuhause als "Zuhause" gewählt und einen Benutzer und ein Passwort vergeben (wobei ich mir nicht sicher bin, ob letzteres nötig ist).
Im Cloud-Adapter habe ich unter "Services und IFTTT" unter "White list für Services" meinen Namen eingetragen, z.B. "Martin". Wichtig ist weiterhin der APP-Key, den du dir in der Cloud generieren lassen kannst und der im Could Adapter unter Einstellung eingetragen sein sollte und etwa so aussieht: "Anmelde-Email_undBuchstabenmitZahlen".
In der Geofency App auf deinem Iphone sollte dein Ort nun auch "Zuhause" heißen. Dann die Einstellungen unter Webhook die URL Einstellungen auf "Ein" und konfigurieren. Bei Eintritt und Austritt nun die URL eintragen: https://iobroker.net/service/custom_Martin/APP-Key (Martin ist der Name für die White list). Die Http Methode auf Post (JSON) stellen und für den Account die Daten aus dem geofency Adapter.
Dann muss noch im iobroker ein Sript laufen:
Dann mal in der geofency App im Menü Webhook das "Betreten" und "Verlassen" ein paar Mal simulieren.
Damit solltest du im iobroker unter Objekte in cloud.0.services einen Eintrag "custom_Martin" haben. Sowie unter geofency.0 einen Eintrag "Martin" mit "Zuhause", wo drin steht, dass du da bist oder nicht. Ferner ein Eintrag atHome mit ["Martin"] und atHomeCount mit "1".
Wennn du einen zweiten Benutzer mittracken möchtest, dann diesen in der White list eintragen, das Skript kopieren und alle Einstellung wie oben für ihn wiederholen.Dies ist das, was ich als Cloud-Nutzer gemacht habe, um die Kommunikation zu regeln - andere nutzen VPN oder lassen einen Port offen.
Gruß Martin
-
Die Beschreibung von Peter Pan ist soweit richtig. So habe ich es auch gemacht. Hier vielleicht noch ein paar Ergänzungen:
Passwörter im Geofency Adapter und in der Geofency App müssen nicht vergeben werden und sind total egal (wenn man es so wie oben beschrieben über die Cloud laufen lässt). Vom Geofency Adapter werden eigentlich nur die Objekte benutzt. Grob gesagt ist der Adapter ansonsten eher Nebensache.
Hat man einen ioBroker Pro-Zugang, dann muss man bei der Adresse im Webkook „https://ioBroker.pro/...“ eingeben. Also nicht mit „.net“.
Möchte man verschiede Bereiche scannen, dann gibt man in der Geofency App weitere Bereiche über das + ein. Vergibt man einen Bereich zum Beispiel mit dem Namen „Arbeit“, dann wird in den Objekten des Geofency Adapters automatisch unter dem Namen (oben in dem Beispiel also Martin) ein neuer Bereich mit „Arbeit“ erstellt. Das Java Skript, welches die Daten vom Cloud Adapter zum Geofency Adapter rübertransferiert, muss dafür nicht extra angepasst werden. Das geschieht alles mit diesem Java Skript automatisch.
-
Hallo
Vorerst Danke für die INFO.
Ich vermute da ich mir einen pro zugang um 1,-- pro Monat geleistet habe , habe ich vermutlich was anderes einzusetzen. Ich habe im iot. unter Services und IFTTT einen API gefunden bei dem steht dabei dass man diesen für Services zu verwenden sei. In dem API steht dann auch ein Platzhalter für den Service (freigeschalteter ?) Service und Platz für einen Token
In den Service habe ich "gefency"und beim Token habe ich "Home" (für den Standort?) reingeschrieben.
Wenn ich auf Betreten oder Verlassen drücke kommt ein Popup mit "Erfolgreich {"result": "OK"}". Für mich schaut dies nun so aus, dass er irgendwo ankommt der mit ihm "redet". Aber mehr auch schon nicht. Die Objekte in gefency. bleiben gleich.
Nun habe ich dein script reinkopiert (Javascript?). Statt Martin habe ich Home genommen. Aber es rührt sich immer noch nix.LG Robert
-
Hab noch ein Bild von meinen API
-
Hab was gefunden: Hab im Script was geändert:
on({id: "iot.0.services.custom_geofency", change: 'any'}, function(obj) {
try {
data = JSON.parse(obj.state.val);
}
catch (err) {
data = null;
}
if (! data) {
log('ERROR: Geofency data invalid: ' + data, 'error');
return;
}
var user = 'Home';
sendTo('geofency.0', {'user': user, 'data': data});
});reingeschrieben. IOT. deshalb weil unter Objekte dies genauso drinnensteht. und unter wert sind genau die Date vom Handy drinn. ABER unter geofency im Wert wird nicht hochgezählt, sondern es kommt beim Eintritt ["Home"] und beim Austritt ein [] . Offenbar ist was beim Token nicht OK (der ist ja Home). Eine 1 hilft auch nicht.
Bin aber schon näher drann.
LG Robert -
@breit Bin mir nicht sicher, aber bei mir ist der user gleich dem Eintrag im custom_xxx -- also "...custom_Martin" und "var user = 'Martin';"
-
Hi
Und was habt ihr wie oben zu sehen ist, unter &data= xxxx eingetragen
Es schaut so aus wie wenn durch den http eine Änderung im Feld (siehe anbei) passiert. Und diese änderung kann ich dann mit einem Blockly auswerten. Aber jetzt passiert nur von ["Home"] auf [] . Und beim atHomeCount passiert gar nix.
LG Robert
-
Danke an euch - es läuft
Nun ändert sich auch der atHomeCount im Rhytmus meiner AnwesenheitHerzlichen Dank an euch
LG Robert -
@ Hab aber jetzt noch was anderes (gehörteigentlich nicht hier her).
Wenn ich variable analoge Werte an ein anderes Sytem zB per http weitegeben möchte -wie geht dies?
im loxberry übergebe ich dies mit /dev/sps/io/VI18/${intensity.percent}
in der Loxone mit <v>Ich möchte analoge Werte in die Loxone schreiben ohne virtuelle Eingänge freizugeben die dann sichtbar sind,
LG Robert
-
Hallo zusammen,
bei mir hat alles gut geklappt nur funktioniert plötzlich der webhook nicht mehr.
An Iot und script ist nichts verändert. Es kommt auch kein Fehler im Iobroker log an. Nur in der App
{"error":"Inernal error. ID ..."}Hat das Problem noch wer und wenn ja gibts Lösungen?
lg
Peter -
UPDATE:
hab die Lösung gefunden und sie ist recht einfach. Neuen Zertifikatsschlüssel in der IOT Instanz anfordern und webhook URL in der App durch neue ersetzen und läuft wieder ... -
Hallo,
Ich bin neu in ioBroker eingestiegen und experimentiere gerade etwas mit Geofency und der Apple Shortcuts App. Ich würde die Webhooks gerne mit der Shortcuts App versenden weil ich hier ein bisschen flexibler bin. Leider habe ich keine Ahnung wie ich den JSON Post konfigurieren muss.
Könnt ihr mir vielleicht etwas weiterhelfen?
Anbei habe ich einen Screenshot des Shortcuts Elements welches glaube ich schon mal das richtige wäre...
Viele Grüße
-
Der String von geofency der übertragen wird schaut so aus:
{ "device" : "xxx", "radius" : "xxx", "longitude" : "xxxx", "id" : "xxx", "wifiSSID" : "xxx", "address" : "xxxx", "date" : "2020-01-20T07:20:20Z", "latitude" : "xxx", "entry" : "1", "wifiBSSID" : "xxx", "name" : "xxx"}.
Ich glaube wirklich brauchen würde man nur Name (des Ortes) und Entry.
-
Der String von geofency der übertragen wird schaut so aus:
{ "device" : "xxx", "radius" : "xxx", "longitude" : "xxxx", "id" : "xxx", "wifiSSID" : "xxx", "address" : "xxxx", "date" : "2020-01-20T07:20:20Z", "latitude" : "xxx", "entry" : "1", "wifiBSSID" : "xxx", "name" : "xxx"}.
Ich glaube wirklich brauchen würde man nur Name (des Ortes) und Entry.
Du rufst im shortcut eine URL ab. Ich meine du musst aber an die URL senden. Hab ein bisschen probiert und mit URL und dann URL in Safari öffnen Daten an iobroker bekommen. Dazu habe ich im IOT Adapter einen service benannt und in den Objekten iot/services tauchts dann auf ...
-
@Quatraxx so jetzt hab ich noch etwas gespielt und so gehts ...
ganz normal geofency adapter installieren
in iot unter services dienst anlegen
script von geofency adapter verwenden (mit dem Dienst)dann shortcut:
URL mit der Url aus iot services und hinten endend mit ....data=
dann NETZWERK URL abrufen, Methode POST und Haupttext JSON und dann die Variablen "entry" (0 oder 1) und "name" (des Orts) eingeben ... und schon gehts
Zeit hab ich noch nicht geschafft. -
@peterk34 zeit ist auch ganz einfach ... date und ISO8601 wählen