[JPI-APK android] Tel Android dedié domotique

Dans la prochaine release, il y aura les événements connexion réseau perdue / rétablie.

Non ce n’est pas un bug, c’est volontaire, le bug (que certains ont et que je n’ai jamais réussi à reproduire) je ne sais pas trop à quel moment il se passe, mais j’ai l’impression, d’après les symptômes que j’ai lu ici, que c’est lié aux routines lors de la perte de réseau (arrêt ou redémarrage du serveur, reset du wifi ?).

Bref, j’ai tout modifié de toutes façons, et dans la nouvelle version le serveur n’a plus besoin d’être stoppé lors d’un changement de réseau (nouvelle ip, coupure de réseau…).
Les scénarios restent donc (en partie) actifs.
Par contre JPI nécessitera toujours un réseau valide lors du tout premier lancement (sinon je suis obligé d’ouvrir un socket en localhost uniquement qui restera sur 127.0.0.1 malgré un réseau valide). De plus c’est nécessaire pour les fonctions de synchro de config, recherche de maj…

2 « J'aime »

Petit aperçu de la prochaine version.

Connexion réseau OK (en wifi) :


Connexion réseau perdue :

5 « J'aime »

Voici des tests de la nouvelle version sur un galaxy S20 android 13 :

  • JPI en mode AUTO :

image

Passage du wifi en ethernet avec changement d’ip à la volée : :nerd_face:

wifi_eth
(clique droit ouvrir dans un nouvel onglet pour mieux voir l’image)


  • JPI en mode WIFI :

image

Perte du réseau et réseau retrouvé :

wifi_lost

3 « J'aime »

Merci @dJuL, nous avons hâte de tester cela! :wink:

Comme je vois que tu as fait des tests en Ethernet, peux-tu me dire quel adaptateur USB ↔ Ethernet tu utilises?
Idem pour ceux qui en utilisent?

Savez-vous si certains de ces connecteurs peuvent supporter le PoE (Power over Ethernet) et si dans ce cas il pourrait servir aussi à alimenter l’équipement?

Sinon j’ai trouvé cette référence sur Amazon pour permettre j’ai l’impression de garder une entrée USB pour l’alimentation : https://www.amazon.fr/Adaptateur-Ethernet-Chargeur-MacBook-Surface/dp/B0BGHK6VCV/ref=sw_img_d_sspa_dk_huc_pt_expsub_4?_encoding=UTF8&pd_rd_i=B0BGHK6VCV&pd_rd_w=m9QWS&content-id=amzn1.sym.1d3ec7ce-c4d4-4865-ac84-fe52a29c09be&pf_rd_p=1d3ec7ce-c4d4-4865-ac84-fe52a29c09be&pf_rd_r=5YY48DH7A9B5V0S06FSF&pd_rd_wg=JfV5P&pd_rd_r=105c2c68-4d02-42be-9430-ffa308f3af14

J’utilise le boîtier Samsung dex qui ne fonctionne (j’imagine) qu’avec des galaxy S(x)
J’ai des adaptateurs a quelques $ qui fonctionnent aussi sur mes tablettes, mais sans l’alimentation du coup.
Après salon les appareils rien ne garantie la compatibilité… Il faut aussi que les divers ethernet soient présents, ce qui n’est pas systématique.

2 « J'aime »

Dans ma batterie de tests, j’ai enfin réussi à reproduire un crash, que probablement certains ont, il se produit lorsque l’écran est en veille ET que l’appareil est protégé par un mot de passe, code pin ou biométrie ou geste.

JPI n’aime pas ça, (sauf si il y a le root et le code pin défini dans la config pour que JPI puisse déverrouiller l’appareil).

Les restart automatique ne fonctionnent pas, et une grosse liste d’attente concernant les refresh de l’affichage de l’écran principal se rempli, ce qui peut faire un not responding lors du déverrouillage de l’appareil.

Je suis entrain de voir pour corriger ça…

2 « J'aime »

Bonjour,
Est-ce qu’il est possible de récupérer le code retour d’un setValue de eedomus afin de le relancer?


@dJuL . Encore merci pour ton travail

Je ne comprend pas trop…
Tu veux récupérer quoi exactement ?
Savoir si il y a une erreur ?
Dans un scénario ?

Lorsque le courant est rétabli, je mets à jour un capteur eedomus. Sauf qu’il arrive qu’elle ne soit pas encore UP. J’ai donc un message d’erreur. J’aimerais donc récupérer cette erreur et relancer l’action.
J’espère avoir été clair

Il suffit de tester le statut de l’action.

image

ex :

image

edit: penser a mettre un sleep pour faire une pause avant de relancer l’action dans le bloc condition sinon le résultat sera le même

Merci, je vais faire ça


Update de JPI v0.99550 en ligne ! :slight_smile:

Au programme, ajout des événements de perte ou de rétablissement de la connexion réseau de l’appareil, refonte de la gestion du réseau, du serveur, ajout de mots clefs et corrections d’actions, grosses refontes du code, modernisation du design de l’apk, corrections de bugs.


****************** Change log ******************

Core :

  • Refonte de la gestion du réseau, de la perte de connexion, et du serveur Http

En mode Wifi (par défaut) :

image

Le statut de la connexion peut être dans 2 états :
— Réseau connecté au wifi
— Réseau non connecté

En mode Auto :

image

La connexion peut être dans 4 états :
— Réseau connecté en ethernet
— Réseau connecté via le modem usb
— Réseau connecté au wifi
— Réseau non connecté

Le serveur passe automatiquement en localhost si la connexion réseau est perdue :

image

  • Le serveur http supporte désormais le changement d’ip à la volée sans être redémarré
  • Ajout du mot clef d’état {SERVER} retournant l’état du serveur http de JPI (online ou offline)

image

  • Ajout du mot clef d’état {NETWORK} retournant l’état de la connexion de l’appareil à un réseau (online ou offline)

image

  • Refonte de la surveillance du server de JPI et des tentatives de redémarrer le serveur si il est offline

  • Les événements de type offline avec une clé de scénario représentant la durée pouvaient dans certains cas ne pas se déclencher « à l’heure » => corrigé

  • Si la connexion réseau locale est perdue, les événements CRON, GSM restent actifs, ainsi que la reconnaissance vocale (si option activée)

  • Ajout du support des nouveaux événements Connexion réseau perdue / rétablie

  • Refontes de l’initialisation, des services, du serveur http et optimisation des Threads

  • Corrections sur la reconnaissance vocale continue

  • Lors d’une sauvegarde ou d’un rechargement de configuration, le stream audio n’était pas stoppé => corrigé

  • Nombreuses corrections, réécritures et optimisations.


Actions :

  • Modification de l’action Fonctions / Programmation / getState => Ajout des nouveaux mots clé dans le menu magique du paramètre keyword :

image

  • Modification de l’action Système / Wifi / resetWifi => Le wifi n’est pas démarré dans le cas où on est en mode de connexion réseau ‹ AUTO › dans la configuration et que le wifi n’est pas actif sur l’appareil.

  • Modification de l’action Système / Outils / startFingerPrint => l’action retourne désormais le statut INTERROMPU (2) si l’utilisateur annule sur l’écran.

  • Modification de l’action Fonctions / Programmation / javaCode => Ajout de la variable intégrée _context qui contient le contexte de l’application (utilisable directement dans le paramètre code)

  • Modification des actions Application (APK) / goToStream et Application (APK) / goToCamViewer => Si aucune url n’était spécifiée, l’affichage était buguée sur l’appareil => Corrigé


Interface web :

  • Lors de la connexion dans une vielle fenêtre de connexion restée ouverte dans le navigateur (avec JPI ou le serveur relancé depuis) il y avait ensuite des bugs d’affichage et de rafraichissement dans l’interface web (à cause d’un mauvais UUID de session qui trainait) => Corrigé

  • Barre de statut : L’icone de statut de la connexion est mise à jour selon le type de connexion réseau de l’appareil (wifi, ethernet, modem usb ou ne répond plus) :

image

image

image

image

  • Page d’Accueil

L’appareil Jeedom était visible et restait en statut chargement en cours… si on avait décidé de monitorer l’esclave Jeedom uniquement => Corrigé

  • Page PARAMETRES / Réglages de base

La section ESCLAVE Jeedom pouvait s’afficher 2 fois => Corrigé

image

  • Page ÉVÉNEMENTS / SCÉNARIOS - Connexion réseau

Ajout de la nouvelle section Connexion réseau et des nouveaux événements liés au statut de la connexion réseau de l’appareil.

image

  • Page ÉVÉNEMENTS / SCÉNARIOS - Téléphonie

Il était impossible de rajouter des mots clé en tant que numéros autorisés dans les événements SMS entrants et APPELS entrants (la page restait bloqué en chargement) => Corrigé

Le mot clef {NETWORK} de l’événement gsm_online est maintenant renommé vers {GSM_NETWORK} (pour ne pas rentrer en conflit avec le nouveau mot clé {NETWORK} représentant l’état de la connexion réseau de l’appareil) :

image

_

  • Fenêtre Aide des mots clefs :

Ajout des nouveaux mots clefs {SERVEUR} et {NETWORK}

image

_

  • Fenêtre SMS / MMS de l’interface :

Amélioration de l’affichage d’une conversation MMS / MMS

_

  • Ajout des scénarios par défaut pour les 2 nouveaux événements lié à l’état de la connexion réseau

  • Typo / maj des fichiers de langue

  • Maj de la config d’usine et des fichiers internes de configuration

  • Diverses petites corrections et optimisations

  • Maj des fichiers CSS et JS


Interface APK:

  • Refonte / modernisation du design de l’apk : Ajout d’arrondis, d’animation sur les boutons, transitions lors de l’affichage des fenêtres…

  • Ajout de l’icone du statut et du type de connexion au réseau (wifi, ethernet, modem usb, connexion perdue) :

image

image

  • Changement de la couleur de la barre de l’application lors de la perte de la connexion au réseau :

image

  • Ajout des icones de statut du micro (reco vocale, stream audio, enregistrement…) et de la lecture de médias (play, tts, ringtone) :

image

  • Lors de l’arrêt de la reconnaissance vocale continue, le bouton de statut pouvait rester en erreur (entouré de rouge) au lieu de revenir à l’état initial (entouré de gris) => Corrigé

  • L’application pouvait mal se comporter, ne pas exécuter certaines action, ne pas se réinitialiser, voir même planter lorsque l’écran est éteint et verrouiller par un mot de passe / geste ou biométrie => Corrigé

  • Refonte / optimisations des activités


Changelog précédent:
JPI changelog versions 0.99536 à 0.99549


NOTE : Cette version est en beta, merci de signaler les éventuels bugs rencontrés (testé sur 6 appareils, sous Android v5, v7, v9 et v13).


Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l’interface web si vous souhaitez soutenir le projet. :green_heart:


Lien manuel de téléchargement :
Get JPI


Je teste cette version depuis plusieurs jours sur plusieurs appareils et elle me semble très stable. :slight_smile:

J’ai fait beaucoup de changement majeurs dans le code donc il peut y avoir des réactions inattendues sur certains appareils ou dans des contextes que je n’ai pas testés.
A vous de confirmer…

7 « J'aime »

Bonjour Djul,
Petite différence lors de l’installation de la version 99550, l’apk est détecté comme un virus par l’application « sécurité » (qui utilise une base de sécurité de l’antivirus Avast) de mes smartphone Xiaomi… :sweat_smile:


J’imagine que c’est une fausse alerte…

Ah oui elle contient même pas un virus mais DES virus ! :rofl:

Il n’y a pourtant aucune différence avec les version précédentes.
Si ce n’est des différences dans le code.

Je ne sais pas pourquoi ce machin détecte des virus…

C’est uniquement avec la dernière maj ?
Et puis y’a pas plus d’infos, genre quel virus par exemple ?

edit: je viens de regarder c’est un bug d’avast, des gens s’en plaignent…

https://www.google.com/search?q=False+Positive+(Evo-gen+[Trj])

image

C’est un pb avec proguard que j’utilise lors de la compilation de JPI et Avast ne gère pas ça apparemment et détecte d’office un malware…

1 « J'aime »

Le bloc code (avec des méthodes simples intégrées pour contrôler les actions JPI ou l’appareil) est sur la route :

:scream:

2 « J'aime »

Mise à jour effectuée… Merci !

Comme j’avais prévenu mon JPI que le docteur @dJuL allait intervenir, il ne s’est pas « planté » durant 15 jours avant la maj :grinning:

Hello
Nouvel utilisateur, je découvre en tâtonnant JPI. Lorsque que je me connecte, j’ai le tooltips disant qu’une nouvelle version est disponible.
Comment mettre à jour ? En redémarrant, ou on peut depuis l’application ?

Depuis l’appareil uniquement

Tu redémarres l’application sur ton équipement. Il te signale à la fin de l’initialisation qu’il y a une mise à jour et te demande si tu veux l’installer.
2 prompts ou tu réponds oui et c’est gagné! :wink:

@dJuL depuis la dernière mise à jour, je vois de nouveau des erreur sendGSMMessage que j’avais précédemment éradiqué car pas de carte SIM sur mes équipements.
J’ai retrouvé la trace de commande d’envoi ‹ sendSMS › dans les nouveaux évènements Connexion au réseau perdu, mais j’ai l’impression qu’il y en a encore à d’autres endroits…
Saurais-tu nous éclairer?
Merci d’avance