Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [Gelöst] Life360Adapter Anzeige des Standorts

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    702

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

[Gelöst] Life360Adapter Anzeige des Standorts

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
habpaneliorbokerlife360scriptevisualisation
22 Beiträge 3 Kommentatoren 1.8k Aufrufe 5 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • N NebuNC2

    @bananajoe habe das Skript übernommen und die Circle ID angepasst.
    Auch die Datenpunkte werden angelegt. Jedoch ist der Wert bei jedem Namen Unbekannt. Ich vermute da soll der Place stehen, oder?

    Ist das normal das im Skript
    const dp_people / circle/ places in roter Schrift sind?

    Muss mich korrigieren.

    Jetzt passt alles.

    Vielen lieben und herzlichen Dank.

    Das ist total klasse

    BananaJoeB Online
    BananaJoeB Online
    BananaJoe
    Most Active
    schrieb am zuletzt editiert von
    #13

    @nebunc2 Stoppe und starte das Skript noch mal.
    Beim ersten Start wurden die Datenpunkte erst erstellt, danach war er zu schnell.

    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

    N 1 Antwort Letzte Antwort
    0
    • BananaJoeB BananaJoe

      @nebunc2 Stoppe und starte das Skript noch mal.
      Beim ersten Start wurden die Datenpunkte erst erstellt, danach war er zu schnell.

      N Offline
      N Offline
      NebuNC2
      schrieb am zuletzt editiert von
      #14

      @bananajoe ja ich war zu schnell.
      Nochmals herzlichen Dank für deine Hilfe

      1 Antwort Letzte Antwort
      0
      • R Offline
        R Offline
        Rollo85
        schrieb am zuletzt editiert von
        #15

        @BananaJoe

        Hallo,

        dein Skript funktioniert super.
        Ich habe nur mal die Frage wie ich das ganze für "myplaces" umschreiben kann bzw. ob du das machen könntest. Aktuell prüft dieses Skript ja nur die Orte die in der App angelegt wurden, ich würde gerne die Orte prüfen die ich selbst im Adapter angelegt habe.
        Ich hoffe du verstehst was ich meine;)
        Danke für deine Antwort.

        BananaJoeB 1 Antwort Letzte Antwort
        0
        • R Rollo85

          @BananaJoe

          Hallo,

          dein Skript funktioniert super.
          Ich habe nur mal die Frage wie ich das ganze für "myplaces" umschreiben kann bzw. ob du das machen könntest. Aktuell prüft dieses Skript ja nur die Orte die in der App angelegt wurden, ich würde gerne die Orte prüfen die ich selbst im Adapter angelegt habe.
          Ich hoffe du verstehst was ich meine;)
          Danke für deine Antwort.

          BananaJoeB Online
          BananaJoeB Online
          BananaJoe
          Most Active
          schrieb am zuletzt editiert von
          #16

          @rollo85 moin, Jupp habe ich verstanden. Theoretisch machbar, auf die schnelle nicht, die Datenpunkte sind anders aufgebaut als die places unter circle, also müsste ich die Auswertung anpassen. bzw. eine extra Lösung dafür schreiben.

          Weis aber noch nicht wann ich da Zeit und Lust für habe.

          ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

          R 1 Antwort Letzte Antwort
          0
          • BananaJoeB BananaJoe

            @rollo85 moin, Jupp habe ich verstanden. Theoretisch machbar, auf die schnelle nicht, die Datenpunkte sind anders aufgebaut als die places unter circle, also müsste ich die Auswertung anpassen. bzw. eine extra Lösung dafür schreiben.

            Weis aber noch nicht wann ich da Zeit und Lust für habe.

            R Offline
            R Offline
            Rollo85
            schrieb am zuletzt editiert von
            #17

            @bananajoe

            na das klingt ja wenigstens schon mal vielversprechend:)
            Es eilt ja nicht.
            Also falls du irgendwann mal Zeit und Muse hast:)

            BananaJoeB 1 Antwort Letzte Antwort
            0
            • R Rollo85

              @bananajoe

              na das klingt ja wenigstens schon mal vielversprechend:)
              Es eilt ja nicht.
              Also falls du irgendwann mal Zeit und Muse hast:)

              BananaJoeB Online
              BananaJoeB Online
              BananaJoe
              Most Active
              schrieb am zuletzt editiert von
              #18

              @rollo85 mhh, soll "myplaces" und "circles" funktionieren? Und wenn ja, was soll im Zweifel gewinnen ... wird wohl eher Zufall werden.

              Im Prinzip müsste ich nur eine weitere Subscription auf

              life360.0.*.*.ispresent
              

              legen und mich dann am Objektnamen hochhangeln (eine Ebene Höher steht der Benutzer, noch ein höher der Ort)

              ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

              1 Antwort Letzte Antwort
              0
              • BananaJoeB Online
                BananaJoeB Online
                BananaJoe
                Most Active
                schrieb am zuletzt editiert von BananaJoe
                #19

                @rollo85

                So, das ist nun ein schneller Entwurf als Version V2

                • man muss das Skript beim ersten mal starten und noch mal neu starten damit die Datenpunkte sicher angelegt sind.
                • Im Life360 Adapter muss Life360-Kreise verarbeiten und Life360 Menschen verarbeiten aktiviert sein
                • die circles funktionieren wie zuvor / in Version 0.1
                • Zusätzlich wird der Zweig myplaces überwacht. Wenn dort ein isPresent auf true springt nimmt er die Datenpunkt ID und holt sich aus dieser den Namen und den Ort. Er schreibt den Ort in den gleichen Datenpunkt wie die Kreise, es funktioniert also beides parallel, weil ...
                • Er nimmt bei Circles nur die Vornamen. Ist ein Nachname angegeben so wird dieser bei MyPlaces aber genutzt. Dadurch passt der Datenpunkt für das Ergebnis nicht mehr. Deshalb wird bei MyPlaces beim Namen nur alles bis zum ersten _ verwendet, das sollte der Vorname sein.
                // Life360_WoIstWerGerade
                // Changelog:
                // 13.04.2021 V0.1 Auswertung der Circles
                // 08.11.2021 V2 zusätzlich Auswertung von MyPlaces
                // https://forum.iobroker.net/topic/44135/life360adapter-anzeige-des-standorts
                // ##############################################################################################################################
                // Konfiguration
                // ##############################################################################################################################
                // Logging aktivieren (Erzeugt Log-Warning-Meldungen)
                const b_logging = false;
                // Pfade für die Suche nach Personen und der Orte festlegen
                // Pfad mit den möglichen Personen:
                const dp_people = "life360.0.people";
                // Pfad mit dem Kreis der Überwacht werden soll. Den "channel" unterhalb von life360.x.circles der Überwacht werden soll
                const dp_circle = "life360.0.circles.8a95a98d-adb3-4df4-bb0c-e374f4f8f161";
                // Pfad unterhalb dessen die Datenpunkte für die Orte erstellt werden sollen
                const dp_javascript_places = "javascript.0.life360"
                // Was soll als Ort stehen wenn die Person an keinem Ort gefunden wurde?
                const s_unkown_place = "?";
                // Datenpunkt für myplaces
                const dp_myplaces = "life360.0.myplaces";
                
                // ##############################################################################################################################
                // Funktionen
                // ##############################################################################################################################
                // DebugWarning gibt in der Console eine Warnmeldung aus wenn b_logging auf true steht
                /* accepts parameters
                 * s_debugmessage = Print this text to console via warn
                 */
                function DebugWarning(s_debugmessage) {
                    if (b_logging == true) {
                        console.warn(s_debugmessage);
                    }
                }
                // -----------------------------------------------------------------------------------------------------------------------------
                function Circles_AssignPeopleAndPlaces() {
                    // Wenn diese Funktion aufgerufen wurde sollte die Arrays mit den Namen und Personen-Id bereits gefüllt sein
                    // Diese Arrays arbeiten wir einmal ab
                    var i;
                    var s_place;
                    var dp_of_current_place;
                    for (i = 0; i < a_people_names.length; i++) {
                        DebugWarning("Suche läuft für: " + a_people_names[i] + "[" + i + "]");
                        // s_place = "unbekannt";
                        s_place = s_unkown_place;
                        $(dp_circle + ".*." + a_people_id[i] + ".isPresent").each(function (idIsPresent, j) {
                            var objIsPresent = getObject(idIsPresent);
                
                            if (objIsPresent) {
                                //DebugWarning(j + ": " + objIsPresent._id);
                                if ( getState(objIsPresent._id).val == true ) {
                                    // Die Person ist hier, holen wir uns den Namen des Ortes
                                    dp_of_current_place = objIsPresent._id; // Datenpunkt des isPresent Wertes
                                    dp_of_current_place = dp_of_current_place.replace("." + a_people_id[i] + ".isPresent", ""); //Nun Datenpunkt Channel des Ortes
                                    s_place = getObject(dp_of_current_place).common.name;
                                    return true;
                                }
                            }
                        });
                        DebugWarning(a_people_names[i] + " ist hier: " + s_place);
                        //Sonderbehandlung, bei "Wohnort" den Namen einsetzen
                        if ( s_place == "Wohnort" ) {
                            s_place = a_people_names[i];
                        }
                        if ( (getState(dp_javascript_places + "." + a_people_names[i]).val) != s_place ) {
                            setState( dp_javascript_places + "." + a_people_names[i], s_place);
                        }
                    }
                }
                
                function MyPlaces_AssignPeopleAndPlaces(s_ID) {
                    // Wenn diese Funktion aufgerufen wurde sollte die Arrays mit den Namen und Personen-Id bereits gefüllt sein
                    // Diese Arrays arbeiten wir einmal ab
                    DebugWarning("Id ist: " + s_ID);
                    var a_ID = s_ID.split(".");
                    var s_name1 = a_ID[4];
                    var s_name2 = s_name1.split("_",1)[0]
                    /*
                    if ( s_name[s_name.length-1] == "_" ) {
                        DebugWarning("hat ein _ am Ende");
                        s_name = s_name.slice(0, -1);
                    }
                    */
                    DebugWarning("Name ist: " + s_name2);
                    DebugWarning("Ort ist: " + a_ID[3]);
                    // Und Datenpunkt setzen
                    setState( dp_javascript_places + "." + s_name2, a_ID[3]);
                }
                
                // ##############################################################################################################################
                // Startup - wird nur einmal beim Start ausgeführt
                // ##############################################################################################################################
                
                // Name des gewählten Kreis ermitteln
                var s_circle_name = getObject(dp_circle).common.name;
                s_circle_name = s_circle_name.replace(" ","_");
                DebugWarning("s_circle_name: " + s_circle_name);
                
                // Namen und Id's der Personen ermitteln und in 2 Arrays ablegen
                var a_people_names = [];
                var a_people_id = [];
                $(dp_people + ".*.firstName").each(function (id, i) {
                    var obj = getObject(id);
                    if (obj) {
                        a_people_names[i] = getState(obj._id).val;
                        a_people_id[i] = obj._id.replace(dp_people + ".", "");
                        a_people_id[i] = a_people_id[i].replace(".firstName", "");
                        DebugWarning(i + ": " + a_people_names[i] + ":" + a_people_id[i]);
                        // Ggf. Datenpunkte anlegen
                        createState(dp_javascript_places + "." + a_people_names[i], "unbekannt", {
                            type: 'string',
                            read: true, 
                            write: true
                        });
                
                    }
                });
                DebugWarning("Anzahl Personen: " + a_people_names.length);
                
                // Einmal beim Start Prüfen wo wer ist - das nächste mal erst wieder wenn sich etwas ändert
                Circles_AssignPeopleAndPlaces();
                
                // ##############################################################################################################################
                // An Datenpunkte hängen (Subscriptions)
                // ##############################################################################################################################
                // Wir hängen uns an den Datenpunkt "life360.0.circles.{gewünschet Circle-Id}.places.*.membersPresent" - wenn sich dort an einem der Places was ändert legen wir los.
                // Denn dann hat eine Person einen Ort verlassen oder betreten
                // Nachteil ist das wir jedesmal dann alle Orte abklappern müssen
                $(dp_circle + ".*.membersPresent").on( function (obj) {
                //on({ id: dp_circle + ".*.membersPresent", change: "ne" }, function (obj) {
                    Circles_AssignPeopleAndPlaces();
                });
                
                // Und eine weitere Subscription auf "life.360.0.myplaces.*.*.isPresent"
                $(dp_myplaces + ".*.*.isPresent").on( function (obj) {
                //on({ id: dp_circle + ".*.membersPresent", change: "ne" }, function (obj) {
                    var value = obj.state.val;
                    if (value == true) {
                        MyPlaces_AssignPeopleAndPlaces(obj.id);
                    }
                });
                

                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                R 1 Antwort Letzte Antwort
                0
                • BananaJoeB BananaJoe

                  @rollo85

                  So, das ist nun ein schneller Entwurf als Version V2

                  • man muss das Skript beim ersten mal starten und noch mal neu starten damit die Datenpunkte sicher angelegt sind.
                  • Im Life360 Adapter muss Life360-Kreise verarbeiten und Life360 Menschen verarbeiten aktiviert sein
                  • die circles funktionieren wie zuvor / in Version 0.1
                  • Zusätzlich wird der Zweig myplaces überwacht. Wenn dort ein isPresent auf true springt nimmt er die Datenpunkt ID und holt sich aus dieser den Namen und den Ort. Er schreibt den Ort in den gleichen Datenpunkt wie die Kreise, es funktioniert also beides parallel, weil ...
                  • Er nimmt bei Circles nur die Vornamen. Ist ein Nachname angegeben so wird dieser bei MyPlaces aber genutzt. Dadurch passt der Datenpunkt für das Ergebnis nicht mehr. Deshalb wird bei MyPlaces beim Namen nur alles bis zum ersten _ verwendet, das sollte der Vorname sein.
                  // Life360_WoIstWerGerade
                  // Changelog:
                  // 13.04.2021 V0.1 Auswertung der Circles
                  // 08.11.2021 V2 zusätzlich Auswertung von MyPlaces
                  // https://forum.iobroker.net/topic/44135/life360adapter-anzeige-des-standorts
                  // ##############################################################################################################################
                  // Konfiguration
                  // ##############################################################################################################################
                  // Logging aktivieren (Erzeugt Log-Warning-Meldungen)
                  const b_logging = false;
                  // Pfade für die Suche nach Personen und der Orte festlegen
                  // Pfad mit den möglichen Personen:
                  const dp_people = "life360.0.people";
                  // Pfad mit dem Kreis der Überwacht werden soll. Den "channel" unterhalb von life360.x.circles der Überwacht werden soll
                  const dp_circle = "life360.0.circles.8a95a98d-adb3-4df4-bb0c-e374f4f8f161";
                  // Pfad unterhalb dessen die Datenpunkte für die Orte erstellt werden sollen
                  const dp_javascript_places = "javascript.0.life360"
                  // Was soll als Ort stehen wenn die Person an keinem Ort gefunden wurde?
                  const s_unkown_place = "?";
                  // Datenpunkt für myplaces
                  const dp_myplaces = "life360.0.myplaces";
                  
                  // ##############################################################################################################################
                  // Funktionen
                  // ##############################################################################################################################
                  // DebugWarning gibt in der Console eine Warnmeldung aus wenn b_logging auf true steht
                  /* accepts parameters
                   * s_debugmessage = Print this text to console via warn
                   */
                  function DebugWarning(s_debugmessage) {
                      if (b_logging == true) {
                          console.warn(s_debugmessage);
                      }
                  }
                  // -----------------------------------------------------------------------------------------------------------------------------
                  function Circles_AssignPeopleAndPlaces() {
                      // Wenn diese Funktion aufgerufen wurde sollte die Arrays mit den Namen und Personen-Id bereits gefüllt sein
                      // Diese Arrays arbeiten wir einmal ab
                      var i;
                      var s_place;
                      var dp_of_current_place;
                      for (i = 0; i < a_people_names.length; i++) {
                          DebugWarning("Suche läuft für: " + a_people_names[i] + "[" + i + "]");
                          // s_place = "unbekannt";
                          s_place = s_unkown_place;
                          $(dp_circle + ".*." + a_people_id[i] + ".isPresent").each(function (idIsPresent, j) {
                              var objIsPresent = getObject(idIsPresent);
                  
                              if (objIsPresent) {
                                  //DebugWarning(j + ": " + objIsPresent._id);
                                  if ( getState(objIsPresent._id).val == true ) {
                                      // Die Person ist hier, holen wir uns den Namen des Ortes
                                      dp_of_current_place = objIsPresent._id; // Datenpunkt des isPresent Wertes
                                      dp_of_current_place = dp_of_current_place.replace("." + a_people_id[i] + ".isPresent", ""); //Nun Datenpunkt Channel des Ortes
                                      s_place = getObject(dp_of_current_place).common.name;
                                      return true;
                                  }
                              }
                          });
                          DebugWarning(a_people_names[i] + " ist hier: " + s_place);
                          //Sonderbehandlung, bei "Wohnort" den Namen einsetzen
                          if ( s_place == "Wohnort" ) {
                              s_place = a_people_names[i];
                          }
                          if ( (getState(dp_javascript_places + "." + a_people_names[i]).val) != s_place ) {
                              setState( dp_javascript_places + "." + a_people_names[i], s_place);
                          }
                      }
                  }
                  
                  function MyPlaces_AssignPeopleAndPlaces(s_ID) {
                      // Wenn diese Funktion aufgerufen wurde sollte die Arrays mit den Namen und Personen-Id bereits gefüllt sein
                      // Diese Arrays arbeiten wir einmal ab
                      DebugWarning("Id ist: " + s_ID);
                      var a_ID = s_ID.split(".");
                      var s_name1 = a_ID[4];
                      var s_name2 = s_name1.split("_",1)[0]
                      /*
                      if ( s_name[s_name.length-1] == "_" ) {
                          DebugWarning("hat ein _ am Ende");
                          s_name = s_name.slice(0, -1);
                      }
                      */
                      DebugWarning("Name ist: " + s_name2);
                      DebugWarning("Ort ist: " + a_ID[3]);
                      // Und Datenpunkt setzen
                      setState( dp_javascript_places + "." + s_name2, a_ID[3]);
                  }
                  
                  // ##############################################################################################################################
                  // Startup - wird nur einmal beim Start ausgeführt
                  // ##############################################################################################################################
                  
                  // Name des gewählten Kreis ermitteln
                  var s_circle_name = getObject(dp_circle).common.name;
                  s_circle_name = s_circle_name.replace(" ","_");
                  DebugWarning("s_circle_name: " + s_circle_name);
                  
                  // Namen und Id's der Personen ermitteln und in 2 Arrays ablegen
                  var a_people_names = [];
                  var a_people_id = [];
                  $(dp_people + ".*.firstName").each(function (id, i) {
                      var obj = getObject(id);
                      if (obj) {
                          a_people_names[i] = getState(obj._id).val;
                          a_people_id[i] = obj._id.replace(dp_people + ".", "");
                          a_people_id[i] = a_people_id[i].replace(".firstName", "");
                          DebugWarning(i + ": " + a_people_names[i] + ":" + a_people_id[i]);
                          // Ggf. Datenpunkte anlegen
                          createState(dp_javascript_places + "." + a_people_names[i], "unbekannt", {
                              type: 'string',
                              read: true, 
                              write: true
                          });
                  
                      }
                  });
                  DebugWarning("Anzahl Personen: " + a_people_names.length);
                  
                  // Einmal beim Start Prüfen wo wer ist - das nächste mal erst wieder wenn sich etwas ändert
                  Circles_AssignPeopleAndPlaces();
                  
                  // ##############################################################################################################################
                  // An Datenpunkte hängen (Subscriptions)
                  // ##############################################################################################################################
                  // Wir hängen uns an den Datenpunkt "life360.0.circles.{gewünschet Circle-Id}.places.*.membersPresent" - wenn sich dort an einem der Places was ändert legen wir los.
                  // Denn dann hat eine Person einen Ort verlassen oder betreten
                  // Nachteil ist das wir jedesmal dann alle Orte abklappern müssen
                  $(dp_circle + ".*.membersPresent").on( function (obj) {
                  //on({ id: dp_circle + ".*.membersPresent", change: "ne" }, function (obj) {
                      Circles_AssignPeopleAndPlaces();
                  });
                  
                  // Und eine weitere Subscription auf "life.360.0.myplaces.*.*.isPresent"
                  $(dp_myplaces + ".*.*.isPresent").on( function (obj) {
                  //on({ id: dp_circle + ".*.membersPresent", change: "ne" }, function (obj) {
                      var value = obj.state.val;
                      if (value == true) {
                          MyPlaces_AssignPeopleAndPlaces(obj.id);
                      }
                  });
                  
                  R Offline
                  R Offline
                  Rollo85
                  schrieb am zuletzt editiert von
                  #20

                  @bananajoe

                  das ging ja doch recht schnell...tausend dank dafür.
                  Dein schneller Entwurf scheint super zu funktionieren. Richtig testen kann ich es aber erst heute Nachmittag, wenn wir das Haus verlassen und auf Arbeit gehen.
                  und nochmal vielen Dank dafür.:)

                  BananaJoeB 2 Antworten Letzte Antwort
                  0
                  • R Rollo85

                    @bananajoe

                    das ging ja doch recht schnell...tausend dank dafür.
                    Dein schneller Entwurf scheint super zu funktionieren. Richtig testen kann ich es aber erst heute Nachmittag, wenn wir das Haus verlassen und auf Arbeit gehen.
                    und nochmal vielen Dank dafür.:)

                    BananaJoeB Online
                    BananaJoeB Online
                    BananaJoe
                    Most Active
                    schrieb am zuletzt editiert von
                    #21

                    @rollo85 Der Berg war im ersten Moment sehr groß ... aber mit meinen üblichen Methoden kam ich dann doch schneller zum Ziel als gedacht (schauen was ich das schon mal gemacht habe, Tester in Blockly zusammengeklickt und dann den Quellcode betrachten und natürlich viel googeln).

                    Vorteil bei den myplaces sehe ich darin das man den Kreis enger ziehen kann :-) Da gehen auch z.B. auch 50m

                    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                    1 Antwort Letzte Antwort
                    0
                    • R Rollo85

                      @bananajoe

                      das ging ja doch recht schnell...tausend dank dafür.
                      Dein schneller Entwurf scheint super zu funktionieren. Richtig testen kann ich es aber erst heute Nachmittag, wenn wir das Haus verlassen und auf Arbeit gehen.
                      und nochmal vielen Dank dafür.:)

                      BananaJoeB Online
                      BananaJoeB Online
                      BananaJoe
                      Most Active
                      schrieb am zuletzt editiert von
                      #22

                      @rollo85 Und? Funktioniert wie gewünscht?

                      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                      1 Antwort Letzte Antwort
                      0

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

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

                      627

                      Online

                      32.7k

                      Benutzer

                      82.6k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe