[JPI-APK android] Tel Android dedié domotique

Merci, c’est bien ce que je pensais. Ma tablette SAMSUNG Tab3 (GT-P5210) avec Android 4.4.1(Kitkat) n’avait même pas de dossier WebWiew. C’est d’ailleurs pour cette raison que cette tablette dormait dans un tiroir après avoir été remplacée par une plus récente car elle dysfonctionnait sur beaucoup de sites web. J’avais prévu de remplacer le webview par celui de bromite et, du coup, j’ai rooté et j’ai été plus radical, j’ai installé la ROM Lineage 14.1 et je me retrouve avec Android 7.1.1 (Nougat) et tout fonctionne a merveille. Merci beaucoup.

Merci beaucoup.

@dJuL Hello. Merci pour ton plugin. Depuis un certain temps je ne peux plus l’utiliser. Impossible d’accéder à la page d’administration. En regardant les logs HTTP je me tape une erreur 500 au niveau du

GET http://192.168.1.XX/index.php?v=d&m=JPI&p=JPI&ajax=1&jeedom_token=XXXXXX1InRwdWXXpKwXXXXXXaPhZ3uW

Quand je vais sur la page du plugin c’est vide. Quand je fais un F5 ça me double bracket tous les liens et je peux rien faire, ni ajouter ni configuration.


Tu aurais une idée ?

J’ai testé en stable et béta.

|Version Jeedom|3.3.55|
|Version PHP|7.3.27-9+0~20210227.82+debian9~1.gbpa4a3d6|
|Version OS|Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux [9.13]|

Encore une fois, je ne suis pas le développeur du plugin JPI pour Jeedom.

Il existe le plugin script ou le framework SC en alternative

Excuse moi du dérangement, je me suis dis que peut être tu avais une idée :slight_smile:. Ou peut être d’autres personnes aussi…

Je vais regarder ça. Merci.

Le plugin jpi n’est plus maintenu depuis plus de 2 ans.
Et surtout obsolète complétement avec Jeedom4.

Le framework ou le script est ton ami.

Quelques exemples ici:

Sur les conseils de @djul, veille à mettre un timeout et un nombre d’essais au cas où.

Au final c’était le souci déjà abordé du jeeObject …

Oui il faudrait que je me penche dessus mais je ne vais pas encore migré tant que tous les plugins tiers sont encore pas compatible à 100%

@dJuL… je crois avoir trouvé la base de mes problèmes avec Android.
J’aimerai ton avis. Je n’avais pas fait le rapprochement.
A priori, il y a un WS ouvert en 8090, port que j’ai modifié depuis des années … par JeedomConnect !
Bref, fallait-il le savoir.

Pas top…

Ouvert sur le routeur ?
Je ne vois pas trop le rapport, ni le pb, du moment que Paw n’est pas également sur le 8090…
Par défaut Paw est sur le 8080.
J’utilise également JeedomConnect et je n’ai pas de soucis (après je n’ai pas essayé JeedomConnect + JPI lancés en même temps sur le même appareil mais il n’y a pas de raisons que ça ne marche pas)

Non j’utilise depuis des années le 8090 pour jpi. Que ce soit sur jeedom ou sur les appareils Android en question. Et dernièrement j’ai testé jeedom connect… Avec ce fameux port 8090. Et depuis que je l’ai retiré… Magie.

J’imagine que le plugin Jeedom JeedomConnect devait sans doute saturer le perif JPI de requêtes websocket auxquelles JPI devait répondre… (Par contre ce n’est vraiment pas normal mais bon).
De toutes façons ce n’est jamais une bonne idée d’utiliser le même port d’une manière générale.
Enfin si tu as résolu ton pb c’est le principal :wink:

1 « J'aime »

Bein c’est surtout que je ne savais pas que jeedom connect utilisait le 8090. J’ai découvert ça en lisant un post sur une bêta…

Ca peut se changer dans la configuration du plugin (ce que j’ai fait) :

image

1 « J'aime »

Nouvelle version qui m’aura donné pas mal de fils à retordre pour fonctionner correctement sur les différents types d’appareils et versions d’android…


Update du code v0.9935 en ligne ! :slight_smile:

Au menu, ajout d’actions : empreintes digitales, boîte de dialogue, screenshot (root). Support du déverrouillage automatique de l’appareil via code pin (root), ajout d’un mode kiosque intégrale (root), amélioration du mode plein écran (déjà existant), possibilité de lancer une app en plein écran (root), améliorations visuelles de l’apk et de l’interface web, améliorations diverses et corrections de bugs.


­
Change log
­

****************** MOTS CLEFS: ******************

— Ajout Mots clefs état :

  • {SCREENBURNFIX} => État du nettoyeur d’écran (action screenBurnFix)
    0 => stoppé / 1 => en cours
    ­

****************** ACTIONS: ******************

— Ajout d’actions :

  • Système / startFingerprint => Démarre la détection d’empreintes digitales avec un timeout définie. L’action retourne le résultat de l’authentification
    image .

  • Système / cancelFingerprint => Interrompt la détection d’empreintes digitales en cours

  • Fonctions / showDialog => Ouvre une boîte de dialogue sur l’appareil (peut importe si JPI est au premier plan ou non). Prend comme paramètre optionnels l’icône, le titre, le message, les boutons et le timeout d’affichage du dialogue. Retourne le résultat du dialogue (si le paramètre wait est à 1)
    image
    image
    image

  • Fonctions / closeDialog => Ferme la boîte de dialogue en cours

  • Fonctions / screenShot => Effectue une capture d’écran de l’appareil et retourne le chemin du fichier (cette action nécessite le root)

— Modifications d’ actions:

  • Application (APK) / configureLayout => Ajout du paramètre androidKioskMode qui permet un mode kiosque intégral (nécessite le root)
    Dans ce mode le paramètre androidFullScreen n’est pas nécessaire, tout l’appareil est en plein écran (même les applis lancés via launchApp), et les boutons home et tâches récentes ne sont pas actifs (même si l’appareil possède des boutons physiques). La barre de statut du haut et les boutons du bas sont complètement désactivés (même en cas de swap). L’appareil est donc totalement sécurisé et dédié à JPI.

  • Application (APK) / showApp => Fonctionne désormais sous Android 10 & 11

  • Système / launchApp => Ajout du paramètre androidFullScreen qui permet de lancer une appli en mode plein écran (nécessite le root). Ce paramètre est inutile si vous êtes déjà en mode kiosk intégral. il est similaire au paramètre androidFullScreen de l’action configureLayout mais pour une appli tiers.

  • Informations / getState => Ajout de la valeur ‹ SCREENBURNFIX › pour le paramètre keyword

­

****************** INTERFACE WEB - PAGES: ******************

  • page CONFIGURATION / Réglages avancés :
    – Section Application => Ajout du code pin de l’appareil pour le déverrouillage automatique de l’écran. Il est nécessaire d’utiliser un code PIN en cas de l’utilisation des empreintes digitales via l’action startFingerprint. En effet il est impossible sous Android de conserver les données des empreintes digitales si le verrouillage de l’écran n’est pas activé.

  • page ÉVÉNEMENTS / SCÉNARIOS :
    – Les checkboxs permettant d’activer ou de désactiver une action ou un bloc condition pouvaient être toutes décalées sur certains appareils / navigateurs selon la valeur de zoom de la page => corrigé
    ­

****************** INTERFACE WEB - FENÊTRES: ******************

  • Fenêtre d’aide des mots clefs:
    – Ajout du nouveau mot clef {SCREENBURNFIX}

  • Fenêtre générateur d’expressions CRON:
    – Amélioration du design

  • Fenêtre OUTILS / Exécuter Action:
    – Amélioration des textes par défaut dans les champs (placeholder)
    ­

****************** INTERFACE WEB - GÉNÉRAL: ******************

  • Maj des fichiers JS
  • Maj des fichiers CSS
    ­

****************** MOTEUR (CORE DE JPI): ******************

  • Refonte du timing de certaines actions afin d’optimiser les performances
  • Optimisation de certaines variables du core
  • Support des nouvelles actions
  • Maj de la config d’usine
  • Diverses corrections et optimisations
  • Maj. des fichiers de langues
    ­

Patch du code v0.9936 en ligne ! :slight_smile:

  • Certains textes (liés à des checkbox) dans l’interface web était complètement décalés => corrigé
    image => image

  • Diverses petites modifications esthétiques dans l’interface web

  • Diverses petites corrections et optimisations


Patch du code v0.9937 en ligne ! :slight_smile:

  • Ajout du mot clef d’état {IS_CAM_DETECTING} => État de la détection de mouvement (motionDetector)
    0 => stoppée / 1 => en cours

  • Action Informations / getState => Ajout de la valeur ‹ IS_CAM_DETECTING › pour le paramètre keyword

  • Diverses petites corrections et optimisations


ps: Si vous avez défini un user/password (autre que ceux par défaut), vous devez les redéfinir à nouveau dans la page CONFIGURATION / Connexion pour qu’ils soient pris en compte pour l’authentification du streaming, des actions rapides et du lien du gestionnaire de fichiers.


NOTE: Vous devez d’abord mettre à jour l’APK de JPI en v0.9937 pour pouvoir avoir accès à cette mise à jour du code.


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


Update de l’APK v0.9935 en ligne ! :slight_smile:

  • Ajout du support du nouveau mode kiosk
  • Ajout du support des nouvelles actions et des modifications d’actions (fingerPrint, dialog, configureLayout, launchApp)
  • Ajout du support du déverrouillage automatique de l’écran via code pin lors de l’allumage de l’écran par JPI (allumages automatiques ou via actions JPI lancées par l’utilisateur)
  • Si l’appareil est protégé par un simple balayage, JPI le désactive (tant que le service JPI est lancé)
  • Corrections de la fonction de nettoyage d’écran (screenBurnFix) qui pouvait parfois bloquer certaines actions
  • Refonte du menu général avec introduction d’icônes
  • Modernisation du style des boutons de log
  • Si l’application est en mode plein écran, les boites de dialogues ou le menu faisait réapparaitre la barre de statut et les boutons android => corrigé
  • Lors de l’affichage du clavier en mode plein écran, la barre de statut android et les boutons android pouvait rester visibles par dessus JPI sur certains appareils lors du masquage du clavier => corrigé
  • Le mode plein ecran et le mode kiosk sont automatiquement reseté à chaque fois que JPI quitte ou démarre (idem avec les actions reboot et shutdown)
  • Refonte des routines de fermeture de l’application et du service
  • Ajout d’un black screen permettant à JPI de quitter tranquillement.
  • Correction de certaines fuites mémoires possibles sur certains appareil après avoir quitté JPI (Bluetooth et reconnaissance vocale notament)
  • Correction d’un bug lors de l’initialisation de JPI ou de la vérification des majs, certaines boîtes de dialogue pouvaient laisser l’appli figée sur le log lors d’un clique en dehors de la zone du dialogue => corrigé
  • Nombreuses corrections et optimisations
  • Corrections de certains crashs
    ­

Patch de l’APK v0.9937 en ligne ! :slight_smile:

  • Ajout du support du nouveau mot clef {IS_CAM_DETECTING}

  • Diverses petites corrections et optimisations
    ­


Merci pour vos rapports de crashs.
Par contre svp évitez de les envoyer si vous n’utilisez pas la dernière version de JPI


Change log versions précédentes:

v0.9933 à v0.9934 : jpi-apk-android-tel-dedie-domotique/10014/1459
v0.993 à v0.9932 : jpi-apk-android-tel-dedie-domotique/10014/1353
v0.9929 : jpi-apk-android-tel-dedie-domotique/10014/1286
v0.9928 : jpi-apk-android-tel-dedie-domotique/10014/1181
v0.9926 à v0.9927 : jpi-apk-android-tel-dedie-domotique/10014/1083
v0.9922 à v0.9925 : jpi-apk-android-tel-dedie-domotique/10014/896
v0.992 à v0.9921 : jpi-apk-android-tel-dedie-domotique/10014/792
v0.991 à v0.9913 : jpi-apk-android-tel-dedie-domotique/10014/614
v0.99 à v0.9907 : jpi-apk-android-tel-dedie-domotique/10014/465
v0.989 à v0.9892: jpi-apk-android-tel-dedie-domotique/10014/322
v0.987 à v0.988 : jpi-apk-android-tel-dedie-domotique/10014/247
v0.986 : jpi-apk-android-tel-dedie-domotique/10014/239
v0.985 : jpi-apk-android-tel-dedie-domotique/10014/201
v0.983 : jpi-apk-android-tel-dedie-domotique/10014/161
v0.982 : jpi-apk-android-tel-dedie-domotique/10014/144
v0.98 : jpi-apk-android-tel-dedie-domotique/10014/102
v0.974 à v0.977: jpi-apk-android-tel-dedie-domotique/10014/35
v0.973: jpi-apk-android-tel-dedie-domotique/10014/22


Screenshots :

– Nouveau réglage avancé (Application) pour déverrouiller l’écran automatiquement:

image

– Correction affichage des checkbox (parfois décalés) dans les scénarios de l’interface web :
image => image

– Nouveau paramètre androidKioskMode de l’action configureLayout :

image

– Nouvelles actions startFingerprint / screenshot / showDialog :

image

image

image

image

– Nouvelles icônes du menu et nouveau style des boutons log :

image
image


NOTE : Cette version est en beta, merci de signaler les éventuels bugs rencontrés (testé sous Android v5 à v9 et Android GO).


Page permettant de télécharger toutes les versions de l’apk (avec changeLog) :

Get JPI


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


2 « J'aime »

Bonjour @djul,

Mise à jour faite sans souci.

J’ai rapidement testé RAS que ce soit sous Android 10 rooté (Xiaomi) ou non (Lenovo).
Merci pour l’ajout de l’état du screenburnfix car pour ma part, je les lance quand nous ne sommes pas là en journée sur l’alarme et si je reviens alors qu’ils ne sont pas finis, je veux pouvoir les reprogrammer au lendemain. Très pratique.

Une question, y a t’il possibilité dans les options de demander l’affichage des boutons en page principale de JPI. Pas la page du design mais bien la page de base celle où on voit gateway, jeedom et les appareils à surveiller. Je les aies au démarrage mais une fois que j’ai configuré le layout avec button=0 (car sinon ils sont présents sur la page du design affiché), je les perds sur la page de base.

Je t’ai fait un don car depuis le temps que j’ai basé ma domotique au niveau des interfaces sur JPI, je ne sais pas si ma vision de la domotique aurait été la même sans ton outil.

Merci pour le retour.
Je ne comprend pas trop, si tu veux afficher les boutons sur la page principale il suffit d’utiliser configureLayout à nouveau. Et Pour le faire en une fois il suffit d’utiliser une action personnalisée tout comme par exemple _designFS qui est inclue en exemple qui fait déjà ça en envoyant ‹ 0 › comme id :

image

Après même si les 3 boutons du bas sont maqués, leurs fonctions sont accessibles via le menu principal sur l’écran d’accueil en cliquant sur l’icone JPI en haut en gauche :

image

Ps: Merci pour le don :slight_smile:

La v0.9935 du code génère des nouveaux petits bugs d’affichage.
C’est corrigé avec ce patch du code :

Effectivement l’astuce de cliquer sur la maison suffit.
Modifier le layout n’est pas pratique. Ce que je veux c’est pouvoir faire une mise à jour sans devoir appuyer sur check update côté jeedom et sans à avoir à la mano à modifier le layout. Donc l’astuce convient !

Nouveaux patch en ligne de l’apk et du code :

Les rapports de crashs se font de plus en plus rares malgré l’évolution de JPI, c’est bon signe :slight_smile:

Bonsoir @dJuL,

J’ai un petit problème, j’utilise JPI pour écouter une radio sur une enceinte bluetooth, tout fonctionne nickel sauf que … si une autre routine fait un appel à JPI (style portier qui veut changer le design), cela semble couper le « play » .
Je cherche donc le moyen ou d’inhiber ce fonctionnement, ou de connaitre le statut courant du « play » pour le relancer si nécessaire.
par asquis de conscience, le code de lancement :