Le syndrome de l'écran blanc

Hello,

J’ai depuis ce jour un souci avec un client JC : JC-Tel

Lorsque j’ouvre l’application j’ai systématiquement un écran blanc.
Pas de message d’erreur, pas de menu, juste un écran qui reste blanc en fullscreen.

J’ai tenté plusieurs choses :

  • Vider le cache de l’appli sur le tel
  • Vider l’ensemble des données
  • Réinstaller l’appli

Tout ça c’est soldé par un échec … :frowning:

image

Je pensais au départ que le souci pouvait venir du service JC qui était activé sur mon tel comme dans ce post : Problème plantage client JC 1.15 (message d'erreur)

Hélas, sans accès au menu, je ne pouvais pas désactiver le service et encore moins activer les logs.

Une fois la conf supprimée complètement sur mon tel je suis reparti d’un JC vierge et donc je me suis retrouvé avec l’accès au menu et aux paramètres.

J’ai pu vérifier que le service JC était désactivé, activer les logs et scanner de nouveau le QR code.

Quand je fais ça pendant quelques milisecondes on voit le client récupérer les datas et paf de nouveau écran blanc :cry:

Je suppose qu’il y a quelque chose dans ma config qui fait planter le client qui devait ne pas poser de soucis sur l’ancienne version et qui fait que ça part en cacahuète désormais.
Mais existe il un moyen de savoir ce que c’est ?
Ou alors je suis sur une fausse piste ?

Les logs ne m’ont pas permis de voir quelque chose d’évident mais sait on jamais.

Logs
22:05:15 | INFO | Start logger
22:05:27 | INFO | qr code data : {"useWs":"0","polling":"1","eqName":"JC-Tel","userName":"aurelien","httpUrl":"https://xxxxxxxxx.jeedom.link","internalHttpUrl":"http://192.168.1.201","wsAddress":"ws://:8090","internalWsAddress":"ws://192.168.1.201:8090","apiKey":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","userHash":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}
22:05:27 | DEBUG | sendToJcApi  {"url":"http://192.168.1.201/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"PING","jsonrpc":"2.0","id":1753128327405,"params":{"apiKey":null}},"baseUrl":"http://192.168.1.201"}
22:05:27 | DEBUG | [BackgroundGeolocation] set config success {"state":{"didDeviceReboot":true,"didLaunchInBackground":false,"odometer":0,"didShowBackgroundPermissionRationale":false,"trackingMode":1,"triggerActivities":"in_vehicle, on_bicycle, on_foot, running, walking","stopOnStationary":false,"enabled":false,"stopAfterElapsedMinutes":0,"stationaryRadius":25,"startOnBoot":true,"scheduleUseAlarmManager":false,"schedule":[],"persistMode":2,"persist":true,"notification":{"strings":{},"sticky":false,"largeIcon":"","layout":"","channelId":"jcLocChannel","color":"#1ba1f2","smallIcon":"drawable/ic_small_icon","text":"Service de géolocalisation en cours","priority":-1,"channelName":"Jeedom Connect localisation","actions":[],"title":""},"motionTriggerDelay":0,"maxMonitoredGeofences":97,"geofenceTemplate":"","locationAuthorizationRequest":"Always","locationUpdateInterval":1000,"locationTemplate":"","isMoving":false,"disableLocationAuthorizationAlert":false,"httpRootProperty":"params","maxDaysToPersist":1,"httpTimeout":60000,"geofenceProximityRadius":3000,"geofenceModeHighAccuracy":false,"fastestLocationUpdateInterval":-1,"headers":{},"params":{"jsonrpc":"2.0","method":"GEOLOC","id":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"elasticityMultiplier":1,"extras":{},"enableTimestampMeta":true,"headlessJobService":"com.transistorsoft.rnbackgroundgeolocation.HeadlessTask","distanceFilter":10,"disableStopDetection":false,"disableProviderChangeRecord":false,"url":"https://xxxxxxxxxxxx.jeedom.link/plugins/JeedomConnect/core/api/JeedomConnect.api.php","maxBatchSize":-1,"method":"POST","foregroundService":true,"isFirstBoot":false,"disableElasticity":false,"logMaxDays":2,"useSignificantChangesOnly":false,"heartbeatInterval":-1,"disableMotionActivityUpdates":false,"speedJumpFilter":300,"debug":false,"disableAutoSyncOnCellular":false,"desiredAccuracy":-1,"minimumActivityRecognitionConfidence":75,"locationTimeout":60,"schedulerEnabled":false,"enableHeadless":false,"geofenceInitialTriggerEntry":true,"configUrl":"","deferTime":0,"stopOnTerminate":false,"desiredOdometerAccuracy":100,"crashDetector":{"accelerometerThresholdLow":4.5,"gyroscopeThresholdLow":4.5,"gyroscopeThresholdHigh":20,"accelerometerThresholdHigh":20,"enabled":false},"batchSync":false,"backgroundPermissionRationale":{"negativeAction":"Annuler","positiveAction":"Changer pour {backgroundPermissionOptionLabel}","message":"Dans le but de suivre votre position en arrière plan, veuillez activer la permission de localisation {backgroundPermissionOptionLabel}","title":"Autoriser Jeedom Connect à la localisation de cet appareil en arrière plan ?"},"maxRecordsToPersist":-1,"activityRecognitionInterval":10000,"stopTimeout":10,"autoSyncThreshold":0,"locationsOrderDirection":"ASC","allowIdenticalLocations":false,"autoSync":true,"logLevel":0,"authorization":{}}}
22:05:27 | DEBUG | sendToJcApi  {"url":"http://192.168.1.201/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"CHECK_USER","params":{"userHash":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","apiKey":null},"jsonrpc":"2.0","id":1753128327854}}
22:05:28 | INFO | start POLLING
22:05:28 | DEBUG | sendToJcApi  {"url":"http://192.168.1.201/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"CONNECT","params":{"apiKey":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","deviceId":"xxxxxxxxxxx","deviceName":"Pixel 8","userHash":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","appVersion":"1.15.0","pluginRequire":"1.7.1","token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","platformOs":"android","osVersion":36,"appTypeVersion":"stable","buildVersion":"1766"},"jsonrpc":"2.0","id":1753128328006}}
22:05:29 | DEBUG | [ConnectionManager] received data {"type":"WELCOME"}
22:05:29 | INFO | request new config 6409 -1
22:05:29 | DEBUG | [urlProvider] Next url LOCAL
22:05:30 | INFO | Send queue requests 7
22:05:30 | DEBUG | [ConnectionManager][Polling] send data {"type":"GET_WIDGET_DATA"}
22:05:30 | DEBUG | sendToJcApi  {"url":"http://192.168.1.201/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"GET_WIDGET_DATA","params":{"apiKey":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"jsonrpc":"2.0","id":1753128330349}}
22:05:30 | DEBUG | [ConnectionManager][Polling] send data {"type":"GET_JEEDOM_DATA"}
22:05:30 | DEBUG | sendToJcApi  {"url":"http://192.168.1.201/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"GET_JEEDOM_DATA","params":{"apiKey":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"jsonrpc":"2.0","id":1753128330352}}
22:05:30 | DEBUG | [ConnectionManager][Polling] send data {"type":"GET_JEEDOM_GLOBAL_HEALTH"}
22:05:30 | DEBUG | sendToJcApi  {"url":"http://192.168.1.201/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"GET_JEEDOM_GLOBAL_HEALTH","params":{"apiKey":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"jsonrpc":"2.0","id":1753128330354}}
22:05:30 | DEBUG | [ConnectionManager][Polling] send data {"type":"GET_PLUGINS_UPDATE"}
22:05:30 | DEBUG | sendToJcApi  {"url":"http://192.168.1.201/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"GET_PLUGINS_UPDATE","params":{"apiKey":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"jsonrpc":"2.0","id":1753128330356}}
22:05:30 | DEBUG | [ConnectionManager][Polling] send data {"type":"GET_JEEDOM_MESSAGES"}
22:05:30 | DEBUG | sendToJcApi  {"url":"http://192.168.1.201/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"GET_JEEDOM_MESSAGES","params":{"folder":"main","apiKey":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"jsonrpc":"2.0","id":1753128330358}}
22:05:30 | DEBUG | [ConnectionManager][Polling] send data {"type":"GET_CONFIG"}
22:05:30 | DEBUG | sendToJcApi  {"url":"http://192.168.1.201/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"GET_CONFIG","params":{"apiKey":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"jsonrpc":"2.0","id":1753128330360}}
22:05:30 | DEBUG | [ConnectionManager][Polling] send data {"type":"GET_NOTIFS_CONFIG"}
22:05:30 | DEBUG | sendToJcApi  {"url":"http://192.168.1.201/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"GET_NOTIFS_CONFIG","params":{"apiKey":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"jsonrpc":"2.0","id":1753128330362}}
22:05:30 | DEBUG | [ConnectionManager] received data {"type":"CONFIG_AND_INFOS"}
22:05:50 | INFO | Start logger
22:05:50 | INFO | Welcome to Jeedom Connect !
22:05:50 | INFO | Auto reload jeedom data
22:05:50 | INFO | BackgroundGeolocation is configured and ready with state:  false
22:05:50 | DEBUG | net settings : {"details":{"isConnectionExpensive":false,"txLinkSpeed":866,"rxLinkSpeed":780,"linkSpeed":866,"subnet":"255.255.255.0","ipAddress":"192.168.1.11","frequency":5500,"strength":99,"bssid":"02:00:00:00:00:00"},"isConnected":true,"type":"wifi","isInternetReachable":true,"isWifiEnabled":true}
22:05:50 | INFO | main foreground entry, route : {}
22:06:02 | INFO | App state changed to background
22:06:02 | DEBUG | [ConnectionManager][Polling] send data {"type":"SET_APPSTATE"}


Si quelqu’un à une idée ? :face_with_spiral_eyes:

Merci d’avance !


Mes infos de config :

Jeedom Core : 4.4.19 (master)
DNS Jeedom : oui 

Statut Démon : Stoppé (NA)
Version JC : 1.15.0+1 stable
Version OS : debian 10.10
Version PHP : 7.3.31-1~deb10u1
Bin : ok / vNotif_2
Dépendances : ok

Equipements : 
  JC-Archos : v1.6.0 stable sur android [os : 27] (polling) - PA
  JC-Tablette : v1.8.0 stable sur android [os : 31] (polling) - PA
  JC-Tel : v1.15.0 stable sur android [os : 36] (polling) - PA

Écran blanc, c’est avant ou après l’apparition du logo jeedom connect ?

Norbert

En fait depuis que j’ai supprimé les data de mon tel, il à perdu l’association avec jeedom.

Du coup l’app se lance en mode hors connexion, je scanne le QR code, je vois que JC charge mes widgets, ça reste comme ça moins d’une seconde et paf écran blanc

Et tu as essayé avec un nouvel équipement vierge ?

Hum je viens de tester et la j’ai erreur lors de l’authentification :thinking:
Je vais voir si je trouve quelque chose dans les logs

Edit : non en fait c’est moi qui ait deux mains gauches, j’avais pas sélectionné l’user …

Au final avec une conf vierge je peux me connecter sans pb.

Ca semble donc confirmer que c’est quelque chose dans ma conf existante qui déplait à l’appli, maintenant le plus dur est de trouver quoi.

Edit2 : Alors je viens de recopier la conf de mon ancien appareil vers le nouveau crée pour tester et la ça marche, je retrouve bien ma config … :no_mouth:
Du coup il y a un truc qui m’échappe la.

Enfin merci @ngrataloup pour les pistes ça m’a fait avancer :+1:t2:

Du coup, tu renommes le nouvel appareil et tu supprimes l’ancien et c’est OK ?
On clos le pb ?

Ben ça m’intrigue quand même, si vraiment j’ai quelque chose qui ne va pas dans ma config j’ai peur que le souci revienne plus tard donc je vais essayer de creuser …

Bonjour
J’ai failli faire un message car j’ai eu le pb
En recherchant sur le forum j’ai désactivé 1 a 1 les menus et sous menus puis les widgets jusqu’à trouver celui qui plante
Pour moi c’était un composant avec gauge
Je l’ai supprimé et recrée et ça refonctionne

Maintenant ça n’explique pas l’erreur c’est juste une solution que j’ai appliqué

3 « J'aime »

Il me semble qu’il y a des rep dans lesquels tu retrouvé les paramètreages au format json … Peut être voir la diff entre l’équipement quebtu as créé et celui qui plante ?

C’est ce que j’ai prevu de faire oui mais j’ai pas encore eu le temps !

Merci pour l’info je vais tenter !

Bon bah suite des évènements …

Depuis la page de l’équipement on peut générer un json des data.

Je l’ai fait sur l’ancien et le nouvel équipement et lorsque je fais une comparaison des deux j’ai pas de différence mis à part le champ configVersion :cry:

Enfin bon du coup j’ai refait des essais ce soir et ça ne marche ni sur l’ancien ni sur le nouveau désormais :sob:

Au final :

kaamelott-gif-5f8db4b38f9f3

Je pense que je vais être obligé de faire la méthode de @MarcF

… mais j’ai 147 widgets :sweat:

Bon en commençant par les menus bas, visiblement c’est la home page qui me fout le bordel.
Quand elle n’y est pas ça fonctionne correctement, dès que je l’active écran blanc.
Je continue de chercher ce qui merde du coup.

commence peut etre par ce type d element, au cas où…