Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter: Geofency

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adapter: Geofency

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bluefox
      Bluefox last edited by

      Es gibt neue Version von Geofency von soaf.

      Weil ich es nicht testen kann, konnte jemand das ausprobieren und Bescheid sagen?

      cd /opt/iobroker
      npm install https://github.com/ioBroker/ioBroker.geofency/tarball/master
      
      

      Falls dann alles OK ist, dann publische ich das auf npm.

      Danke,

      Bluefox

      1 Reply Last reply Reply Quote 0
      • Mr. Burns
        Mr. Burns last edited by

        Hallo,

        ist es möglich eine globale Variable im Adapter anzulegen, welche die letze Aktion wiedergibt?

        z.B. "xy hat die Arbeitsstelle betreten" oder "xy ist zu Zuhause angekommen"

        Oder hat einer von euch ein fertiges Script mit welchem ihr das gelöst habt?

        Bin ganz frisch und tue mich noch etwas schwer mit dem Scripten.
        9054_1-abwesend.jpg
        9054_2-anwesend.jpg

        1 Reply Last reply Reply Quote 0
        • ruhr70
          ruhr70 last edited by

          Klasse, dass es Geofency nun als Adapter gibt 😉 Top!

          Folgende Punkte sind mir aufgefallen:

          Adapter Version 0.1.1 (neuste Version)

          1.) Kategorie: Wartung

          Passt nicht. Ich wüsste aber auch nicht die richtige Kategorie

          2.) atHome funktioniert bei mir nicht

          Ich habe als Ortsnahme für Zuhause Wohnung eingetragen.

          Mein Device ist in der Webholk-URL mit 0 bezeichnet.

          Der Datenpunkt 0.Wohnung.entry ändert sich auch korrekt.

          Die Datenpunkte atHome und atHomeCount bleiben leer.

          1 Reply Last reply Reply Quote 0
          • Mr. Burns
            Mr. Burns last edited by

            Wofür könnte man das brauchen, wenn die übergeordnete Variable at Home sich auch ändert?

            Mir sind die zwei "globalen" Variablen auch aufgefallen und das sie sich nicht ändern, hab das aber auf meine fehlprogrammierung des Adapters geschoben.

            Ich hatte gehofft, dass es sich um einen String handelt, welcher den aktuellen Standort respetive den letzten Standort im Klartext wiedergibt. Der count könnte so schön die verstrichene Zeit in min. Wiedergeben…das wäre doch was :roll:

            Gruß

            1 Reply Last reply Reply Quote 0
            • ruhr70
              ruhr70 last edited by

              Hi Mr. Burns,

              ich verstehe das so:

              atHome

              hier werden die Personen eingetragen, die derzeit am definierten Ort "zuhause" sind.

              Die Namen der Personen sind dann die, die in der URL in geofency eingetragen sind.

              z.B: "Gabi, Horst,"

              atHomeCount

              Die Anzahl der Personen, die gerade zuhause sind.

              Im Beispiel oben: 2

              Kann man auch selbst per Script lösen. Mit den beiden Datenpunkten ist diese Info für eine Anwesenheitserkennung über Geofency direkt als State verfügbar, ohne dass man ein Script verwenden muss.

              Was Du möchtest kannst Du auch in Javascript lösen.

              Du machst je Person ein on( mit RegEx auf den Ort) und erhält damit immer den jeweiligen aktuellen Ort (oder verlassenen Ort) der entsprechenden Person.

              Meine Wünsche an den Adapter:

              • Leerzeichen in Ortsnamen werden in _ gewandelt. ein Punkt bleibt ein Punkt, z.B. in Dr. xyz. Damit habe ich eine Ebene mehr im Datensatz. Ggf. Konfigurierbar, ob Punkte auch im _ umgewandelt werden sollen.

              • die Info ob iBeacon oder Ort kann ich aus dem Device Object mit getObject extrahieren. schön wäre ggf. ein Datenpunkt mit der Info, bzw. konfigurierbar, dass man iBeacon Infos ausblenden kann. Wenn mein Auto in der Nähe meines Büros parkt, bin ich z.B. über iBeacon im Auto und gleichzeitig im Büro. Bekommt man aber auch per Javascript hin.

              1 Reply Last reply Reply Quote 0
              • S
                soef last edited by

                Hallo,

                das Ersetzen eines Punktes durch einen Unterstrich habe ich implementiert und dafür einen Pullrequest gestellt.

                Nicht ganz verstanden habe ich deinen Wunsch nach der Behandlung eine Beacons. Wenn der Beacon einen

                eigenen Ortsnamen hat, kannst Du ihn doch von den Geo-Orten unterscheiden. Eine ggf. übergebene Beacon-ID

                als Datenpunkt anzulegen ist aber kein Problem. Aber wo ist der tiefere Sinn, wenn durch den "Ortsnamen" schon

                bekannt ist, dass es sich um einen Beacon handelt.

                Viele Grüße.

                1 Reply Last reply Reply Quote 0
                • ruhr70
                  ruhr70 last edited by

                  Danke soef 🙂

                  ich glaube die Unterscheidung mit den iBeacons braucht man wirklich nicht 🙂

                  1 Reply Last reply Reply Quote 0
                  • S
                    Sven2013 last edited by

                    Ein toller Adapter…

                    vielen Dank dafür.

                    Hat schon jemand hinbekommen, das sich die Übergeordnete Variable ändert?

                    Bei mir bekomme ich das leider nicht hin.

                    Wenn ja könntet Ihr mal sagen wie Ihr das eingerichtet habt?

                    Gruß Sven

                    1 Reply Last reply Reply Quote 0
                    • ruhr70
                      ruhr70 last edited by

                      Zwei Punkte noch zum Adapter:

                      1.)

                      Die Datenpunkte atHome und atHomeCount füllen sich nicht

                      2.)

                      bei iBeacons kann man einstellen, dass die Adresse des Standorts aktualisiert wird.

                      Diese Daten werden in keinem Datenpunkt abgebildet (latitude, longitude, address)

                      Anwendungsfall:

                      iBeacon im Auto. ioBroker weiss, wo das Auto steht.

                      1 Reply Last reply Reply Quote 0
                      • sissiwup
                        sissiwup last edited by

                        Hallo,

                        bin nicht so in der Adapterentwickjlung drinn.

                        Die HomeVariablen werden nicht gefüllt, weil das adapter.getState schief geht:

                        function setAtHome(userName, body) {
                            if (body.name.toLowerCase() !== adapter.config.atHome.toLowerCase()) return;
                            var atHomeCount, atHome;
                            adapter.getState(stateAtHomeCount, function (err, obj) {
                                if (err || !obj) return;
                                atHomeCount = obj.val;
                                adapter.getState(stateAtHome, function (err, obj) {
                                    if (err || !obj) return;
                                    atHome = obj.val ? JSON.parse(obj.val) : [];
                                    var idx = atHome.indexOf(userName);
                                    if (body.entry === '1') {
                                        if (idx < 0) {
                                            atHome.push(userName);
                                            adapter.setState(stateAtHome, JSON.stringify(atHome), true);
                                        }
                                    } else {
                                        if (idx >= 0) {
                                            atHome.splice(idx, 1);
                                            adapter.setState(stateAtHome, JSON.stringify(atHome), true);
                                        }
                                    }
                                    if (atHomeCount != atHome.length) adapter.setState(stateAtHomeCount, atHome.length, true);
                                });
                            });
                        }
                        

                        Warum: Aus meiner Sicht sieht alles gut aus…

                        err und obj sind beide "null".

                        => Fehler? Beide States sind vorhanden, allerdings leer.

                        Hier müßte also 0 und "" zurück gegeben werden?

                        1 Reply Last reply Reply Quote 0
                        • sissiwup
                          sissiwup last edited by

                          Hallo,

                          Umgehungslösung:

                          atHomeCount mit "0"

                          und

                          atHome mit "[]"

                          befüllen. Danach läuft es.

                          1 Reply Last reply Reply Quote 0
                          • sissiwup
                            sissiwup last edited by

                            Hallo,

                            Beim Hinzufügen eines zweiten Gerätes:

                            raspberrypi	2016-03-07 00:43:19	error	instance system.adapter.geofency.0 terminated with code 6 (uncaught exception)
                            geofency-0	2016-03-07 00:43:19	info	terminating http server on port 8000
                            TypeError:	2016-03-07 00:43:19	error	at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12)
                            TypeError:	2016-03-07 00:43:19	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
                            TypeError:	2016-03-07 00:43:19	error	at Decoder. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                            TypeError:	2016-03-07 00:43:19	error	at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)
                            TypeError:	2016-03-07 00:43:19	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
                            TypeError:	2016-03-07 00:43:19	error	at Manager. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                            TypeError:	2016-03-07 00:43:19	error	at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:229:12)
                            TypeError:	2016-03-07 00:43:19	error	at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:305:9)
                            TypeError:	2016-03-07 00:43:19	error	at Socket. (/opt/iobroker/node_modules/iobroker.geofency/geofency.js:186:26)
                            TypeError:	2016-03-07 00:43:19	error	at setStates (/opt/iobroker/node_modules/iobroker.geofency/geofency.js:140:12)
                            TypeError:	2016-03-07 00:43:19	error	Cannot read property 'entry' of undefined
                            uncaught	2016-03-07 00:43:18	error	exception: Cannot read property 'entry' of undefined
                            geofency-0	2016-03-07 00:43:18	info	adapter geofency received webhook from device ipadwh with values: name: Home, entry: 0
                            
                            1 Reply Last reply Reply Quote 0
                            • ruhr70
                              ruhr70 last edited by

                              @sissiwup:

                              Hallo,

                              Umgehungslösung:

                              atHomeCount mit "0"

                              und

                              atHome mit "[]"

                              befüllen. Danach läuft es. `

                              Super analyse! Danke!

                              Kannst Du ein Pull-Request (heisst das so?) auf Github machen?

                              Was wäre der beste Weg?in der io-package.json bei beiden Datenpunkten "def": anpassen?

                              https://github.com/ioBroker/ioBroker.ge … ckage.json

                              1 Reply Last reply Reply Quote 0
                              • S
                                soef last edited by

                                Hallo,

                                hab' die Defaults angepasst. Auch müsste die vorgenommene Änderung am Source die beiden States bei Bedarf beim Start anpassen.

                                Pull Request ist gestellt. Müsste Bluefox nach seinem Urlaub dann mergen.

                                Viele Grüße.

                                1 Reply Last reply Reply Quote 0
                                • R
                                  rene_k last edited by

                                  Hallo zusammen!

                                  Ich oute mich mal als ioBroker Anfänger.

                                  Aktuell habe ich 2 Fragen zu dem Geofency Adapter:

                                  • Was muss ich einstellen, damit https funktioniert?

                                  Nach dem einfachen aktivieren erhalte ich nur diese Meldung im Log:

                                  Error Cannot enable secure web server, because no certificates found: undefined, undefined

                                  • Und ich verstehe nicht, warum es empfohlen ist, einen Reverse-Proxy vor den Dienst zu setzen?

                                  Ob nun die FritzBox weiterleitet oder noch Proxy dazwischen ist, kommt doch auf´s selbe raus, oder?

                                  Kennwort kann doch auch im Adapter aktiviert werden.

                                  Ich danke euch im Voraus!

                                  Gruß

                                  Rene

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    soef last edited by

                                    Hallo,

                                    dir fehlen dann wahrscheinlich in den Systemeinstellungen von ioBroker (ganz oben rechts das Zahnrad) die Zertifikate.

                                    Viele Grüße.

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      rene_k last edited by

                                      Danke für deine Antwort.

                                      Ich habe jetzt mal Zertifikate hinzugefügt (zusätzlich zu den Standard-Zertifikaten).

                                      Der Fehler tritt weiterhin auf.

                                      Ich vermute, ich kenne die Stelle nicht, an der man die zu verwendenden Zertifikate definiert.

                                      Die Fehlermeldung sagt ja undefined. Aber in den Parametern und in der Doku finde ich nix.

                                      Beste Grüße

                                      René

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        soef last edited by

                                        Hallo,

                                        irgendwie ist das nicht vollständig implementiert. Wahrscheinlich fehlen in deiner Adapter.Config die Namen der zu verwendenden Zertifikate.

                                        Öffne einmal im ioBroker-Admin den "Objecte" Tap, aktiviere oben in der Toolbar "Zeige Systemobjecte" und suche den Eintrag "system.adapter.geofency".

                                        In der gefundenen Zeile dann ganz rechts auf das Zahnrad klicken. Unter dem Tap "Raw" das "native" Object betrachten.

                                        Für die Zertifikate sind die beiden Einträge "certPrivate" und "certPublic" wie hier unten notwendig. Die Konfiguration dieser Werte wurde wahrscheinlich vergessen.

                                          ...
                                          "native": {
                                            "port": 7999,
                                            "ssl": false,
                                            "user": "user",
                                            "pass": "password",
                                            "atHome": "Home",
                                            "certPrivate": "defaultPrivate",
                                            "certPublic": "defaultPublic",
                                            "usessl": false,
                                            "devices": "iPhone-xy"
                                          },
                                          ...
                                        
                                        

                                        Vor Anpassung dieses Objects den Geofency Adapter einmal beenden und nach erfolgter Änderung wieder starten.

                                        Viele Grüße.

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Sukram last edited by

                                          Hallo zusammen,

                                          ich habe mal eine Frage zu diesem Adapter. Ich bin noch relativ neu im HM-Bereich und es kann sein das ich hier voll auf dem Holzweg bin. :?

                                          Ich habe eine CCU2, ein dutzend Aktoren, einen Raspberry 2 mit ioBroker und dem Geofency Adapter sowie den hm-rega und hm-rcp Adaptern.

                                          Das Ändern der Geofency Status für unsere beiden iPhones funktioniert in ioBroker auch wunderbar. Jetzt kommt aber mein Knackpunkt:

                                          Wie bekomme ich diese beiden States in die CCU oder wie kann ich da mit den States als Variable arbeiten?

                                          Grüße Markus

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            pix last edited by

                                            Hallo,

                                            willkommen hier im Forum.

                                            Du kannst den HM-REGA Adapter nutzen, um die States aus dem Geofency Adapter in eine Homematic Variable zu schreiben.

                                            • Variable in Homematic anlegen

                                            • rega-Adapter neu synchronisieren bzw neu starten

                                            • mini javascript anlegen:````
                                              on("geofency.0.NAME.Zu_Hause.entry"/entry/, hm-rega.0.NUMMERDERCCUVARIABLE); // für jede Variable diese zeile kopieren und anpassen

                                              
                                              
                                            • fertig; bei Änderung des Geofency Status, wird der gleiche Wert in die CCU Variable geschrieben.

                                            Gruß

                                            Pix

                                            PS: Bitt in Zukunft für eine neue Frage einfach einen neuen Thread mit passendem Titel (zB "Frage: geofency Status in CCU übertragen") aufmachen, danke.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            375
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            50
                                            205
                                            46410
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo