NEWS
[Projekt] ioGo # Smarthome to go
-
mir ist heute noch was aufgefallen, was die vorherigen Tage nicht da war.
sobald ich ein state in der App ändere, zb von true nach false wechsle, steht als subtitle nur noch syncing data. Das Setzen des States funktioniert aber immer noch weiterhin. Nach einer Weile steht der subtitle bei allen Objekten. einzig ein sync Object hilft dann. `
Das kann ich bestätigen. Bei mir hilft ein Wechsel ins Info-Menü ohne neuen Sync, aber die Symptome sind die selben.
Zusätzlich stelle ich vermehrt fest, dass wenn ich die App wieder in den Vordergrund hole, auch alle States ewig syncen(zumindest laut Anzeige). Hier hilft auch nur der Wechsel ins Info Menü.
-
Zusätzlich stelle ich vermehrt fest, dass wenn ich die App wieder in den Vordergrund hole, auch alle States ewig syncen(zumindest laut Anzeige). Hier hilft auch nur der Wechsel ins Info Menü. `
ist in v0.19.6 behoben
-
mir ist heute noch was aufgefallen, was die vorherigen Tage nicht da war.
sobald ich ein state in der App ändere, zb von true nach false wechsle, steht als subtitle nur noch syncing data. Das Setzen des States funktioniert aber immer noch weiterhin. Nach einer Weile steht der subtitle bei allen Objekten. einzig ein sync Object hilft dann. `
das habe ich auch schonmal beobachtet.
Ich konnte jedoch noch nicht genau rausfinden wann es genau Auftritt.
Vielleicht ist es ebenfalls durch die Anpassung in v0.19.6 behoben
-
negativ, leider auf Anhieb immer noch da.
-
negativ, leider auf Anhieb immer noch da. `
schade, wie genau bekommst du das hin?
hast du ein Log von dem Ganzen?
-
Ich kann den log leider nicht auf meinem Handy finden. Habe ich ja bei dem letzten Bug bereits geschrieben gehabt. :oops:
wie ich es hinbekomme? Nun ich synce alles neu, schalte irgendwas und ab dem Zeitpunkt steht bei dem Objekt nur noch syncing data.
-
Ich kann den log leider nicht auf meinem Handy finden. Habe ich ja bei dem letzten Bug bereits geschrieben gehabt. :oops:
wie ich es hinbekomme? Nun ich synce alles neu, schalte irgendwas und ab dem Zeitpunkt steht bei dem Objekt nur noch syncing data. ` Wenn du das logging in den settings aktivierst und das logging level auf "verbose" stellst.
Dann solltest du hier logs finden:
/storage/emulated/0/de.nisnagel.iogo/logs
Gesendet von meinem Pixel 2 mit Tapatalk
-
Super, habs.
also app geschlossen (richtig beendet).
log gelöscht.
app gestartet.
dreht sich immer noch alles und überall steht syncing data im subtitle. Im Bild leider nicht gut sichtbar, aber statt der Symbole ist links jeweils ein sich drehender Kreis.
! 10:31:43:145 V/EnumRepository - 49: instance created
! 10:31:43:151 V/StateRepository - 49: instance created
! 10:31:43:171 V/EnumRepository - 81: getFavoriteEnums called
! 10:31:43:175 D/EnumRepository - 84: getFunctionEnums: load favorite enums from database
! 10:31:43:179 V/StateRepository - 77: getFavoriteStates called
! 10:31:43:184 D/StateRepository - 80: getFavoriteStates: load favorite states from database
! 10:31:43:212 V/SocketService - 51: instance created
! 10:31:43:217 V/SocketService - 56: onCreate called
! 10:31:43:222 V/StateRepository - 135: saveSocketState called
! 10:31:43:226 V/SocketService - 142: onStartCommand called
! 10:31:43:231 V/SocketService$NetworkAs - 364: doInBackground called
! 10:31:43:235 V/SocketService - 68: init called
! 10:31:43:238 V/NetworkUtils - 135: cleanUrl called
! 10:31:43:242 V/SocketService - 84: init_mobile called
! 10:31:43:245 V/SocketService - 124: createSocket called
! 10:31:43:248 V/NetworkUtils - 150: getSocket called
! 10:31:43:492 V/StateRepository - 58: getAllStateIds called
! 10:31:43:492 V/StateRepository - 135: saveSocketState called
! 10:31:43:496 I/SocketService - 182: connected
! 10:31:43:497 V/SocketService - 241: syncStates called
! 10:31:43:501 V/SocketService - 317: getStates called
! 10:31:43:505 V/StateRepository - 58: getAllStateIds called
! 10:31:43:510 I/SocketService - 328: getStates: reuquesting 95 states from server
! 10:31:49:211 V/SocketService - 142: onStartCommand called
! 10:31:51:789 V/EnumRepository - 71: getRoomEnums called
! 10:31:51:797 D/EnumRepository - 74: getFunctionEnums: load room enums from database
! 10:31:51:803 V/EnumRepository - 76: getRoomEnums
! 10:31:53:847 V/EnumRepository - 53: getEnum called
! 10:31:53:852 D/EnumRepository - 56: getEnum: load enum from database enumId:enum.rooms.vorratskammer
! 10:31:53:858 V/StateRepository - 68: getStatesByEnum called
! 10:31:53:863 D/StateRepository - 71: getStatesByEnum: load states from database enumId:enum.rooms.vorratskammer
! 10:31:53:884 V/SocketService - 142: onStartCommand called
! 10:32:09:293 V/SocketService - 51: instance created
! 10:32:09:302 V/SocketService - 56: onCreate called
! 10:32:09:310 V/EnumRepository - 49: instance created
! 10:32:09:317 V/StateRepository - 49: instance created
! 10:32:09:324 V/StateRepository - 135: saveSocketState called
! 10:32:09:330 V/SocketService - 151: onDestroy called
1534_screenshot_20180808-223203.png -
beim Öffnen der App ist das normal.
Es muss ja erstmal alles synchronisiert werden.
Sollte dann aber eigentlich nach wenigen Sekunden verschwinden.
-
tut es eben nicht. Es bleibt so. Ich kann die app Minuten lang offen lassen.
Ich kann trotz allem Objekte schalten. Die stati werden in der App jedoch nicht aktualisiert, wenn ich sie auf andere Weise schalte, als aus der App, zb aus der vis oder direkt am Lichtschalter.
es scheint als wenn die app Daten senden kann, aber nichts empfängt, bis auf der initiale sync beim Knopfdruck auf "sync Object".
und noch eine Ergänzung. Es passiert nur mit aktivierter Authentifizierung.
-
und noch eine Ergänzung. Es passiert nur mit aktivierter Authentifizierung. `
kann ich nicht nachstellen…
Wie viele Objekte und States hast du insgesamt?
Das steht oben rechts auf der Seite im iobroker admin wenn man in dem Bereich Objekte ist
-
Objekte: 1261, Zustände: 998
wobei es ja schon komisch ist, dass es offensichtlich nur bei aktiver Authentifizierung auftritt. Kann da nicht irgendwo das Problem sein? Die Anzahl der Objekte dürfte da doch egal sein?
-
Objekte: 1261, Zustände: 998
wobei es ja schon komisch ist, dass es offensichtlich nur bei aktiver Authentifizierung auftritt. Kann da nicht irgendwo das Problem sein? Die Anzahl der Objekte dürfte da doch egal sein? ` Die Anzahl ist okay.
Vermutung war eine langsame Verbindung mit vielen Objekten und dadurch vielleicht ein Timeout.
Steht zufällig im iobroker-log etwas hilfreiches bei dir?
Gesendet von meinem Pixel 2 mit Tapatalk
-
Super, habs.
also app geschlossen (richtig beendet).
log gelöscht.
app gestartet.
dreht sich immer noch alles und überall steht syncing data im subtitle. Im Bild leider nicht gut sichtbar, aber statt der Symbole ist links jeweils ein sich drehender Kreis.
! 10:31:43:145 V/EnumRepository - 49: instance created
! 10:31:43:151 V/StateRepository - 49: instance created
! 10:31:43:171 V/EnumRepository - 81: getFavoriteEnums called
! 10:31:43:175 D/EnumRepository - 84: getFunctionEnums: load favorite enums from database
! 10:31:43:179 V/StateRepository - 77: getFavoriteStates called
! 10:31:43:184 D/StateRepository - 80: getFavoriteStates: load favorite states from database
! 10:31:43:212 V/SocketService - 51: instance created
! 10:31:43:217 V/SocketService - 56: onCreate called
! 10:31:43:222 V/StateRepository - 135: saveSocketState called
! 10:31:43:226 V/SocketService - 142: onStartCommand called
! 10:31:43:231 V/SocketService$NetworkAs - 364: doInBackground called
! 10:31:43:235 V/SocketService - 68: init called
! 10:31:43:238 V/NetworkUtils - 135: cleanUrl called
! 10:31:43:242 V/SocketService - 84: init_mobile called
! 10:31:43:245 V/SocketService - 124: createSocket called
! 10:31:43:248 V/NetworkUtils - 150: getSocket called
! 10:31:43:492 V/StateRepository - 58: getAllStateIds called
! 10:31:43:492 V/StateRepository - 135: saveSocketState called
! 10:31:43:496 I/SocketService - 182: connected
! 10:31:43:497 V/SocketService - 241: syncStates called
! 10:31:43:501 V/SocketService - 317: getStates called
! 10:31:43:505 V/StateRepository - 58: getAllStateIds called
! 10:31:43:510 I/SocketService - 328: getStates: reuquesting 95 states from server
! 10:31:49:211 V/SocketService - 142: onStartCommand called
! 10:31:51:789 V/EnumRepository - 71: getRoomEnums called
! 10:31:51:797 D/EnumRepository - 74: getFunctionEnums: load room enums from database
! 10:31:51:803 V/EnumRepository - 76: getRoomEnums
! 10:31:53:847 V/EnumRepository - 53: getEnum called
! 10:31:53:852 D/EnumRepository - 56: getEnum: load enum from database enumId:enum.rooms.vorratskammer
! 10:31:53:858 V/StateRepository - 68: getStatesByEnum called
! 10:31:53:863 D/StateRepository - 71: getStatesByEnum: load states from database enumId:enum.rooms.vorratskammer
! 10:31:53:884 V/SocketService - 142: onStartCommand called
! 10:32:09:293 V/SocketService - 51: instance created
! 10:32:09:302 V/SocketService - 56: onCreate called
! 10:32:09:310 V/EnumRepository - 49: instance created
! 10:32:09:317 V/StateRepository - 49: instance created
! 10:32:09:324 V/StateRepository - 135: saveSocketState called
! 10:32:09:330 V/SocketService - 151: onDestroy called `Scheinbar wird die Verbindung aufgebaut.
Anschließend wird dann ein "subscribe" mit der Liste aller States geschickt, nur dies klappt nicht. Daher werden auch keine Updates erhalten.
Vielleicht steht im iobroker-log etwas zu dem subscribe Befehl als Fehler.
Gesendet von meinem Pixel 2 mit Tapatalk
-
evtl aufgrund der Authentifizierung? Das die nur Initial aufgebaut wird und beim subscribe evtl ohne username und Passwort versucht wird zu verbinden kann nicht sein?
im iobroker log gucke ich gleich morgen nach.
-
Also der ioBroker Log gibt leider nichts sinnvolles aus, Obwohl ich das Debuglevel bereits auf Debug gestellt habe.
Aber es scheint mit der Authentifizierung zu tun haben. Denn ich habe das Problem nur dann, wenn eben diese aktiv ist.
-
Also der ioBroker Log gibt leider nichts sinnvolles aus, Obwohl ich das Debuglevel bereits auf Debug gestellt habe.
Aber es scheint mit der Authentifizierung zu tun haben. Denn ich habe das Problem nur dann, wenn eben diese aktiv ist. `
Ich hab nun einige Stunden mit Debugging verbracht.
Das Gute ist ich kann dein Verhalten Nachstellen
Es kommt meistens dann vor wenn ich ein sehr langsames und verzögertes Netzwerk am Handy simuliere.
Das kann die Ursache sein.
Probier es mal ohne https, da https die Verbindung zusätzlich verlangsamt.
Geht es bei dir ohne SSL besser?
-
Habe es gerade für dich getestet. Ob mit oder ohne ssl ist egal.
an der Geschwindigkeit liegt es glaube ich nicht. Das Problem habe ich auch im lokalen Netz nachstellen können. Dann hinterlege ich direkt die lokale IP in der App.
-
Um die Probleme mit der Authentication einzugrenzen hab ich in v0.19.7 die verwendete socket.io lib mal wieder zurück auf 0.8.3 gedreht.
Damit gehen nun hoffentlich http Verbindungen mit username/passwort.
Leider geht damit vorerst https nicht.
Eine Ursache könnte folgender Bug sein:
-
Tut mir leid es sagen zu müssen, aber mit der 0.19.7 funktioniert es auch nicht.
Verhalten ist das gleiche. Bin Verbunden (ohne SSL), kann schalten, aber erhalte keine Rückantwort. Nur initial bei der Syncronisierung.
Kann man das Subscribe nicht einfach mal genauer debuggen? Evtl. hängt er sich ja in irgend einer Schleife auf oder verliert die Socket Session usw…
Entgegen deiner Aussage kann ich übrigens SSL noch mit der Version 0.19.7 nutzen.
Kann es ggf. sein, dass die APP nur 1x den Status der Objekte nach dem Ändern abfragt und dann nie wieder? Bedeutet, wenn syncing data kommt, bleibt das immer, bis zum nächsten globalen subscribe?
Heute sehe ich zudem das erste mal im Log von ioBroker ein Subscribe aller Objekte, die in der App sind. Wie oft sollte er die globale subscribe Funktion aufrufen? Gerade bei einigen Tests doch tatsächlich mal hinbekommen, dass er 5x hintereinander im Abstand von etwa 500ms das subscribe aufruft.
Wenn ich das richtig verstehe, pollt die App ja nur.