Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. iOS App - Tester gesucht!

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    iOS App - Tester gesucht!

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

      @smarthome2020
      🙄

      Nee, das ist überhaupt nicht so gewollt und bei mir auch nicht der Fall.

      Dieses Tail and Error macht mich fertig 😲

      S Neuschwansteini 2 Replies Last reply Reply Quote 0
      • S
        smarthome2020 @stolly82 last edited by

        @stolly82
        Wie sollte es denn sein? Also sollte der Connection-Status dauerhaft auf "true" stehen? Oder sollte er nur alle paar Sekunden/Minuten eine Verbindung aufbauen?

        stolly82 1 Reply Last reply Reply Quote 0
        • Neuschwansteini
          Neuschwansteini @stolly82 last edited by

          @stolly82

          hmm, wie machen das die Messenger? Kann man sich da was abschauen, wie das Telegram und Co machen?
          Da muss es doch irgendeinen Trick geben, und die Daten sofort zu pushen..
          Vielleicht ist der Websocket nicht so das richtige dafuer..?

          Hier ist es mit der Version 10 der App besser, aber auch nur, wenn die App offen ist.. aber er haelt die Verbindung nicht.. irgendwas schliesst die..

          S 1 Reply Last reply Reply Quote 0
          • S
            smarthome2020 @Neuschwansteini last edited by

            @ilovegym
            Ja, sobald man die App öffnet, connectet sie auch. Das ist wesentlich besser als zuvor, da hast du Recht.

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

              Also mit der (10) kann ich das so überhaupt nicht nachvollziehen.

              Ich habe noch mal ein wenig rumgeschraubt, da ja offensichtlich die 15 min. Cronjobs im Hintergrund Modus nicht greifen, habe ich jetzt überall wo eine Verbindung als Verloren "markiert" werden kann, einen Reconnect eingebaut.

              Ich hoffe, dass es jetzt funktioniert (Version 11).

              1. Aufbau der WebSocket-Verbindung

              • Initiale Verbindung: Wenn die App gestartet wird oder eine neue WebSocket-Verbindung erforderlich ist (z.B. nach einem Verbindungsverlust), wird eine neue Verbindung zum Server aufgebaut. Dies geschieht in der Methode connect() der IoBrokerConnection-Klasse.
              • Authentifizierung: Sobald die Verbindung erfolgreich hergestellt ist, authentifiziert sich die App beim Server. Dies geschieht durch das Senden eines Authentifizierungs-Tokens, das aus den Anmeldeinformationen (Benutzername und Passwort) sowie dem Geräte-Token besteht.
              • Verbindungsstatus: Während der gesamten Zeit wird der Status der Verbindung (z.B. "verbunden", "authentifiziert", "verloren") überwacht und in der App gespeichert.

              2. Überwachung der WebSocket-Verbindung

              • Heartbeat und Ping: Um die Verbindung stabil zu halten, sendet die App in regelmäßigen Abständen (alle 30 Sekunden) ein "Ping" an den Server. Wenn der Server darauf mit einem "Pong" antwortet, wird die Verbindung als stabil angesehen. Dieser Mechanismus stellt sicher, dass die Verbindung nicht unbemerkt abbricht.
              • Pong-Timeout: Wenn nach dem Senden eines Pings kein Pong innerhalb einer bestimmten Zeit (z.B. 10 Sekunden) empfangen wird, wird dies als Verbindungsverlust gewertet. Die Verbindung wird dann als "verloren" markiert und ein Reconnect-Prozess wird eingeleitet.

              3. Stabilisierung und Wiederherstellung der Verbindung

              • Reconnect-Mechanismus: Wenn die Verbindung aus irgendeinem Grund verloren geht (z.B. durch Netzwerkprobleme, Serverfehler, etc.), plant die App automatisch einen erneuten Verbindungsaufbau. Dieser Prozess wird von der IoBrokerReconnectManager-Klasse verwaltet.
              • Verbindungsverluste erkennen: Wenn ein Verbindungsverlust erkannt wird, entweder durch fehlende Pong-Antworten oder durch direkte Verbindungsabbrüche (wie z.B. durch einen error oder peerClosed-Event), wird der scheduleReconnect()-Mechanismus ausgelöst. Dadurch wird sichergestellt, dass die App versucht, die Verbindung in einem regelmäßigen Intervall (z.B. alle 10 Sekunden) wiederherzustellen, bis die Verbindung erfolgreich ist.
              • Reconnect bei Viabilitätsänderung: Wenn die Verbindung von der Netzwerkschicht als nicht mehr lebensfähig (viabilityChanged) erkannt wird, startet die App ebenfalls einen Reconnect-Versuch.

              4. Caching und Nachrichtenzustellung

              • Zwischenspeichern von Nachrichten: Während der Verbindungswiederherstellung werden Nachrichten, die an den Server gesendet werden sollen, in einem Cache zwischengespeichert. Sobald die Verbindung wiederhergestellt ist und als stabil (im Status ready) gilt, werden die zwischengespeicherten Nachrichten gesendet.
              1 Reply Last reply Reply Quote 2
              • S
                smarthome2020 last edited by

                @stolly82
                Das liest sich gut. Kann dir schon mal sagen, dass der Verbindungsaufbau nach Neustarten der App ruckzuck geht. Bin nun schon 5 Minuten am Testen und die Verbindung bleibt bestehen. iPhone lädt gerade, App im Hintergrund, Smartphone wird nicht genutzt. Wechsel ins Handynetz und VPN klappt auch super.

                Was mich wundert: Bei Notifications war zuvor immer das Display angegangen. Das bleibt nun aus, nur meine Apple Watch macht sich bemerkbar. Vielleicht hab ich auch was umgestellt.

                Wenn die Verbindung so bleibt, bin ich hoch zufrieden. Super Arbeit 🙂

                stolly82 1 Reply Last reply Reply Quote 0
                • stolly82
                  stolly82 @smarthome2020 last edited by

                  @smarthome2020 sagte in iOS App - Tester gesucht!:

                  Wie sollte es denn sein? Also sollte der Connection-Status dauerhaft auf "true" stehen? Oder sollte er nur alle paar Sekunden/Minuten eine Verbindung aufbauen?

                  Ja, die Verbindung sollte möglichst immer auf true stehen. Der Aufbau einer Verbindung verbraucht einiges an Energie, daher bin ich von der REST API auf WebSockets umgestiegen. WebSockets halten die Verbindung effizient aufrecht und sparen so Energie.

                  Allerdings möchte ich vermeiden, dass die App bei fehlendem Internetzugang ununterbrochen versucht, die Verbindung wiederherzustellen. Das wäre ein unnötiger Energiefresser. Deshalb habe ich den ReconnectManager so gestaltet, dass er bei Verbindungsverlusten exponentiell versucht, die Verbindung wiederherzustellen: Erst nach 10 Sekunden, dann nach 20, 40, 80 und so weiter. Ab 320 Sekunden erfolgt der Versuch alle 320 Sekunden.

                  Aktuell habe ich ihn auf 10 Sekunden eingestellt, um das Verhalten zu beobachten. Wenn die App geöffnet ist, sollte auf der Startseite der Verbindungsstatus korrekt angezeigt werden.

                  Im IoBroker-Adapter habe ich die Verbindung mit Pings und anderen Mechanismen stabilisiert. Bei einer Verbindungsunterbrechung dauert es maximal 30 Sekunden, bis die App dies erkennt und reagiert. Ich habe jetzt auch den Verbindungsstatus im Adapter für den History Adapter aktiviert, um besser nachverfolgen zu können, wo es eventuell noch Probleme gibt.

                  Dass die WebSocket-Verbindung dauerhaft offen bleibt, ist vor allem für Nachrichten wichtig. Wenn es um Statistiken geht, ist es nicht schlimm, wenn sie mal eine Stunde verspätet ankommen. Aber wenn jemand an der Haustür steht, ist das natürlich kritisch.

                  Eine Alternative wäre, auf die offiziellen Apple APNs (Apple Push Notification Service) umzusteigen. Das würde über einen Apple Push Token laufen, den der Entwickler bereitstellt – aber das möchte ich nicht in einen Open-Source-Adapter integrieren. Alternativ könnte man das über einen Server lösen. Der Vorteil dabei wäre, dass man sogenannte "silent APNs" senden könnte. Diese "stillen" Push-Nachrichten wecken die App auf, wenn die Verbindung abbricht, und das ganz ohne Benachrichtigung auf dem Gerät. Ich würde es aber vorziehen, das ohne zusätzliche Server zu lösen.

                  1 Reply Last reply Reply Quote 1
                  • stolly82
                    stolly82 @smarthome2020 last edited by

                    @smarthome2020
                    Bei den Notifications bin ich noch nicht wieder bei gewesen. Das sollte ne Setting sein, wobei die bei mir wenn ich das Handy lade eigentlich immer nur auf der Watch ankommen glaube ich.

                    ,... Notifications muss ich dann auch noch für das MacOS etc. freigeben, das ist auch noch nicht drin (dass die dann auch da ankommen, wenn Mac an, iOS aber nicht in Benutzung).

                    Warte mal ab, beim neu-Install lief es bei mir bisher immer super, die Abbrüche kamen immer wenn die App länger zu war (bei mir immer so ab 03:00 Nachts, ggf. aber auch wegen neue FritzBox! IP).

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      smarthome2020 @stolly82 last edited by smarthome2020

                      @stolly82
                      Was mir gerade noch aufgefallen ist... Die Akkustandanzeige wird nicht adäquat aktualisiert. Hat 5% geladen, in der App hat sich nichts geändert. Als ich das Smartphone von Ladegerät genommen habe, hat es kurz aktualisiert. Ich hab bisher immer mein iPhone zwischen 20 und 80% Akku belassen. Ging bisher per Automation und URLs, die das Smartphone aufgerufen hat. Wollte nun jedoch wegen genauerer Anzeige mit dem Adapter das Ladegerät steuern.

                      Intervall ist dabei auf "Imidiatley", GPS-Daten sowie Charging-Status ändern sich auch prompt. Nur die Akkuanzeige halt nicht.

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

                        Zonen Frage

                        Habe ich ggf. beim Entwickeln einen Denkfehler gehabt,...

                        Die Zonen sind ja so konzipiert, dass diese in der Zone den User einloggen.

                        b768af5f-5518-46e8-90b2-2f47ca18ee3c-image.png

                        Jetzt ist dummerchen aufgefallen, dass wenn man mehre Devices hat, diese sich ja dann nach "last wins" einloggen.

                        Bedeutet:
                        iPad ist zuhause
                        iPhone ist zuhause
                        Zuhause.Jan = true
                        Zuhause.Jan_distance = 0

                        iPhone bewegt sich aus Zuhause raus.
                        Zuhause.Jan = false
                        Zuhause.Jan_distance = 1000

                        iPad überschreibt bei Bewegung die 1000 aber wieder mit 0

                        Solange iPad immer zuhause bleibt, würde es keinen Status true/false überschreiben, aber die distance.

                        Muss ich das auf

                        Zuhause.Jan.iPhone_distance
                        Zuhause.Jan.iPhone

                        umstellen?

                        S 1 Reply Last reply Reply Quote 0
                        • stolly82
                          stolly82 @smarthome2020 last edited by

                          @smarthome2020 sagte in iOS App - Tester gesucht!:

                          Was mir gerade noch aufgefallen ist... Die Akkustandanzeige wird nicht adäquat aktualisiert. Hat 5% geladen, in der App hat sich nichts geändert. Als ich das Smartphone von Ladegerät genommen habe, hat es kurz aktualisiert. Ich hab bisher immer mein iPhone zwischen 20 und 80% Akku belassen. Ging bisher per Automation und URLs, die das Smartphone aufgerufen hat. Wollte nun jedoch wegen genauerer Anzeige mit dem Adapter das Ladegerät steuern.

                          Wie ist der Status in der App > Sensoren > batterie ?

                          Ist er Abweichend zum IoBroker?

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            smarthome2020 @stolly82 last edited by

                            @stolly82 sagte in iOS App - Tester gesucht!:

                            @smarthome2020 sagte in iOS App - Tester gesucht!:

                            Was mir gerade noch aufgefallen ist... Die Akkustandanzeige wird nicht adäquat aktualisiert. Hat 5% geladen, in der App hat sich nichts geändert. Als ich das Smartphone von Ladegerät genommen habe, hat es kurz aktualisiert. Ich hab bisher immer mein iPhone zwischen 20 und 80% Akku belassen. Ging bisher per Automation und URLs, die das Smartphone aufgerufen hat. Wollte nun jedoch wegen genauerer Anzeige mit dem Adapter das Ladegerät steuern.

                            Wie ist der Status in der App > Sensoren > batterie ?

                            Ist er Abweichend zum IoBroker?

                            Der Status der App und ioBroker ist identisch, passt aber nicht zum realen Ladezustand des iPhones. Gerade sind 38% geladen, die App und ioBroker geben aber 40% aus.

                            stolly82 1 Reply Last reply Reply Quote 0
                            • S
                              smarthome2020 @stolly82 last edited by

                              @stolly82 sagte in iOS App - Tester gesucht!:

                              Zonen Frage

                              Habe ich ggf. beim Entwickeln einen Denkfehler gehabt,...

                              Die Zonen sind ja so konzipiert, dass diese in der Zone den User einloggen.

                              b768af5f-5518-46e8-90b2-2f47ca18ee3c-image.png

                              Jetzt ist dummerchen aufgefallen, dass wenn man mehre Devices hat, diese sich ja dann nach "last wins" einloggen.

                              Bedeutet:
                              iPad ist zuhause
                              iPhone ist zuhause
                              Zuhause.Jan = true
                              Zuhause.Jan_distance = 0

                              iPhone bewegt sich aus Zuhause raus.
                              Zuhause.Jan = false
                              Zuhause.Jan_distance = 1000

                              iPad überschreibt bei Bewegung die 1000 aber wieder mit 0

                              Solange iPad immer zuhause bleibt, würde es keinen Status true/false überschreiben, aber die distance.

                              Muss ich das auf

                              Zuhause.Jan.iPhone_distance
                              Zuhause.Jan.iPhone

                              umstellen?

                              Also für mein Verständnis: Die Distanz ist die Distanz (in m) des Geräts von der Zone oder? Wenn man durch die Entfernung des iPhones nun zum Beispiel die Beleuchtung im Garten beim Heimkommen steuern will, dann ist es unpraktisch, wenn das zu Hause liegende iPad die Distanz immer überschreibt. Ich würde beide Geräte "eigenständig" machen. Man kann ja immer noch beide Geräte dann im ioBroker bei Bedarf über Skript/Blockly zusammenführen.

                              stolly82 1 Reply Last reply Reply Quote 2
                              • stolly82
                                stolly82 @smarthome2020 last edited by

                                @smarthome2020
                                Ja, kann ich bestätigen!
                                iPhone 13%
                                App & Adapter 15%

                                iOS könnte intern andere APIs oder Methoden verwenden, um den Batteriestand anzuzeigen als die, die für Apps freigegeben sind. Wir nutzen UIDevice.current.batteryLevel.

                                S 1 Reply Last reply Reply Quote 0
                                • stolly82
                                  stolly82 @smarthome2020 last edited by

                                  @smarthome2020 sagte in iOS App - Tester gesucht!:

                                  @stolly82 sagte in iOS App - Tester gesucht!:

                                  Zonen Frage

                                  Habe ich ggf. beim Entwickeln einen Denkfehler gehabt,...

                                  Die Zonen sind ja so konzipiert, dass diese in der Zone den User einloggen.

                                  b768af5f-5518-46e8-90b2-2f47ca18ee3c-image.png

                                  Jetzt ist dummerchen aufgefallen, dass wenn man mehre Devices hat, diese sich ja dann nach "last wins" einloggen.

                                  Bedeutet:
                                  iPad ist zuhause
                                  iPhone ist zuhause
                                  Zuhause.Jan = true
                                  Zuhause.Jan_distance = 0

                                  iPhone bewegt sich aus Zuhause raus.
                                  Zuhause.Jan = false
                                  Zuhause.Jan_distance = 1000

                                  iPad überschreibt bei Bewegung die 1000 aber wieder mit 0

                                  Solange iPad immer zuhause bleibt, würde es keinen Status true/false überschreiben, aber die distance.

                                  Muss ich das auf

                                  Zuhause.Jan.iPhone_distance
                                  Zuhause.Jan.iPhone

                                  umstellen?

                                  Also für mein Verständnis: Die Distanz ist die Distanz (in m) des Geräts von der Zone oder? Wenn man durch die Entfernung des iPhones nun zum Beispiel die Beleuchtung im Garten beim Heimkommen steuern will, dann ist es unpraktisch, wenn das zu Hause liegende iPad die Distanz immer überschreibt. Ich würde beide Geräte "eigenständig" machen. Man kann ja immer noch beide Geräte dann im ioBroker bei Bedarf über Skript/Blockly zusammenführen.

                                  Korrekt! Sehe ich auch so, da gehe ich dann noch mal dran.

                                  Neuschwansteini 1 Reply Last reply Reply Quote 1
                                  • S
                                    smarthome2020 @stolly82 last edited by

                                    @stolly82
                                    Ich meine aber, dass es zuvor aber adäquat ging. Bin mir aber nicht 100% sicher, da die App immer die Verbindung verloren hat.
                                    Meinst du, dass man die App auch auf die Watch bekommt?

                                    stolly82 1 Reply Last reply Reply Quote 0
                                    • stolly82
                                      stolly82 @smarthome2020 last edited by

                                      @smarthome2020
                                      Wird nicht anders gewesen sein mit der Batterie, da war ich nur einmal dran, danach änderte sich nichts.

                                      Ist von der Library ggf. so, dass die das nur alle X Minuten ausgibt oder so.

                                      Was soll denn in die iWatch app rein?

                                      Also was ich generell noch machen will sind Widgets für die iOS devices um IOB Daten anzuzeigen und zu steuern (Garagentor, Lichter, PV Werte anzeige etc. )

                                      In der iWatch App kann ich mir irgendwie noch nicht wirklich was vorstellen, was sinn ergibt.
                                      Button ggf ?!?

                                      https://developer.apple.com/documentation/watchkit

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        smarthome2020 @stolly82 last edited by

                                        @stolly82 sagte in iOS App - Tester gesucht!:

                                        In der iWatch App kann ich mir irgendwie noch nicht wirklich was vorstellen, was sinn ergibt.
                                        Button ggf ?!?

                                        Ich fände sinnvoll:

                                        1. Einbindung in die Zonen wie beim Smartphone
                                        2. Akku (wenn das darüber gehen sollte, denn das ist sonst nirgends möglich, den Akkustand der Uhr abzugreifen )
                                        3. Schalter/Button wären gut (zB vom Sofa aus die Lampe dimmen/schalten) (das mache ich auch wieder umständlich über das Abrufen einer URL. Das hat ne doch ausgeprägte Latenz bis es dann die Lampe schaltet . Eine App für die Uhr mit anpassbaren Button wäre da genial.
                                        1 Reply Last reply Reply Quote 1
                                        • Neuschwansteini
                                          Neuschwansteini @stolly82 last edited by

                                          @stolly82

                                          Hi, vielen Dank fuer deine unermuedliche Arbeit! Super, dass du da so ergeizig dran bleibst!

                                          Zonen:
                                          mein Ipad bleibt auch zu 98% Zuhause, ich habe dort garkeine Zonen eingerichtet.
                                          mein Iphone hab ich immer dabei, daher gibt es mehrere Zonen:
                                          Home - kleinster Umkreis 50m
                                          Home100 - Umkreis 100m
                                          Home500 - Umkreis 500m
                                          Arbeit

                                          Die verschiedenen Umkreise von Home nutze ich, um festzustellen, ob ich mich nach Hause oder von dort weg bewege, und steuere damit wiederrum verschiedene Dinge.

                                          Version 11 der App
                                          funktioniert stabiler, dank deiner Beschreibung wie oft die Verbindung geprueft wird, kann ich es zu 100% nachvollziehen, passt!

                                          AppleWatch

                                          • auslesen des Akku waere super
                                            Alles andere waere mir zu umstaendlich, da ich die LTE Funktion nicht mehr nutze, ist das Iphone sowieso immer dabei.

                                          Airpods:

                                          • auslesen der Akkustaende waere klasse

                                          MacBook / Imac

                                          • Notifications
                                          • Widgets

                                          Das ist jetzt aber wie Weihnachten und Ostern auf einmal als Wunschliste 😄

                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            smarthome2020 @Neuschwansteini last edited by

                                            @ilovegym sagte in iOS App - Tester gesucht!:

                                            Zonen:
                                            mein Ipad bleibt auch zu 98% Zuhause, ich habe dort garkeine Zonen eingerichtet.
                                            mein Iphone hab ich immer dabei, daher gibt es mehrere Zonen:
                                            Home - kleinster Umkreis 50m
                                            Home100 - Umkreis 100m
                                            Home500 - Umkreis 500m
                                            Arbeit

                                            Die verschiedenen Umkreise von Home nutze ich, um festzustellen, ob ich mich nach Hause oder von dort weg bewege, und steuere damit wiederrum verschiedene Dinge.

                                            Danke für die Info. So kann ich es auch sinnvoll umsetzen 🙂

                                            Was mich noch interessiert. Wie macht ihr das mit dem VPN?
                                            Wenn man das WLAN verlässt, kann man eine Automation im iPhone machen, dass es VPN startet. Nur, wenn man wieder in WLAN-Reichweite kommt, bleibt mein iPhone im VPN statt auf WLAN zu wechseln.
                                            Wie sehen eure Automationen da aus oder wie regelt ihr das?

                                            Neuschwansteini 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

                                            718
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            135
                                            8842
                                            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