[JPI-APK android] Tel Android dedié domotique

Bonjour,

Depuis quelques versions, Jeedom est toujours indiqué comme étant indisponible.
Pourtant il est correctement configuré (test de l’accès à l’API valide) et le test depuis un périphérique externe est bien fonctionnel… Il y a une différence sur le test ? (Ping vs autre méthode)

Répondu plus haut :

A titre indicatif, même problème avec la passerelle qui apparait en rouge alors que OK, « supprimer les donnés des événements dans OUTILS / Nettoyer les données » fonctionne également dans ce cas

Tout à fait.
Pour l’explication l’APK attend 2 cycles de détection de Hors-ligne avant de déclencher l’événement hors ligne correspondant.
Ceci afin d’éviter le déclenchement à tout bout de champs pour un hors ligne qui aurait été très bref.
C’est justement dans le cas où le hors ligne est bref, et que l’événement n’est pas déclenché, que l’affichage de l’interface web se retrouve désynchronisé avec l’apk.
Ce phénomène est corrigé dans la prochaine version.

En effet, merci de ta réponse rapide.

Nouvelle maj disponible !
Le changelog est énorme, quasi tous les fichiers principaux ont été modifiés, je vais essayer de le résumer au maximum…


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

Ajout et corrections d’actions
Ajout de la synchronisation automatique entre plusieurs JPI
Nouveau thème
Nombreuses refontes
Correction de bugs et améliorations.

Change log :

Nouvelles actions :

  • Système / shell : permet d’exécuter un script shell (en root ou non)
    Cette action permet de quasiment tout faire…

  • Communication / ping : permet d’effectuer un ping sur une ip ou un domaine afin de vérifier si un périphérique est en ligne ou hors ligne

  • Fichiers / read : permet de lire un fichier et de retourner son contenu

  • Informations / getLastEvent : retourne le nom du dernier événement exécuté

  • Informations / lastEventDate : retourne la dernière date d’exécution pour un événement donné (précisé en paramètre).

  • Informations / getBTconnected : retourne le nombre d’appareils bluetooth actuellement connectés ou bien la liste en json

  • Informations / getSyncDevices : retourne au format json la liste et les informations des périphériques synchronisés sur l’appareil.

Amélioration d’actions :

  • Moteur / clearData : ajout de la possibilité de purger la liste des périphériques synchronisés.

  • Moteur / clearLog : ajout de la possibilité de purger le journal des synchronisations

  • Fonctions / jsonValue : ajout du support des ‹ json array › pour récupérer une valeur.
    Ex: { "toto": [ "valeur0", "valeur1" ] } => toto 1 dans le paramètre key pour récupérer la valeur ‹ valeur1 ›

  • Communication / http*** : le retour de l’action comportait un retour chariot anormal à la fin du résultat de la requête => corrigé

  • Informations / getLog : ajout de la possibilité de retourner le journal des synchronisations

  • Informations / getLastDetection : ajout de la possibilité de retourner la date au format timestamp

Interface web :

  • Nouveau thème
  • Refonte de la page home
  • Refonte des pages de réglages
  • Ajout d’un bouton pour tester le liens externe dans les réglages avancés
  • Ajout des mots clefs locaux (identiques au mots clefs persos mais non synchronisables)
    Utile par ex pour distinguer l’appareil dans un scénario commun synchronisé
  • pages des événements : ajout d’un bouton retournant la dernière exécution de l’événement
  • Ajout de la page de paramétrage de la synchronisation (je reviendrai plus en détail dessus plus tard)
  • Page backup: ajout des fichiers de synchronisation / choix des paramètres à importer et à exporter
  • Ajout du journal de synchronisation
  • Fenêtre action : ajout mots clefs locaux, suppression de la correction d’orthographe automatique dans les champs
  • Fenêtre nettoyer les données : Ajout des données de synchronisation
  • Toutes les pages: ajout de la gestion de la synchronisation en temps réel pour tous les paramètres de la config (réglages et scénarios) avec des icônes de statut et la protection éventuelle des valeurs
  • Recharger : ajout d’une option pour recharger la configuration uniquement dans l’interface web (sans redémarrer le service et recharger la config dans le core et l’apk)
  • Détection de conflits de configuration en temps réel (si la config est modifiée ailleurs)
  • Maj de la fenêtres d’aide et des bulles d’aides
  • Refonte de la gestion des fenêtres
  • Ajout d’une préférence via une palette pour choisir la couleur du nom de l’appareil
  • Ajout d’une préférence pour être notifier ou non lors des synchronisations automatiques
  • Ajout d’une préférence pour afficher l’ancien thème
  • Correction de bugs et diverses modifications
  • Grosses refontes du core JS (notamment pour supporter la synchronisation)
  • Refontes des fichiers CSS

Core :

  • Refonte des statistiques CPU (également en mode root)
  • Refonte totale de la gestion de la configuration (sauvegardes / synchro…)
  • Refonte de la gestion des événements offline/online (correction bug page home)
  • Refonte de l’initialisation
  • Refonte des sessions de l’interface web
  • Refonte de la fonction vérifiant si l’APK est alive
  • Les requêtes ou actions pendant une synchronisation sont mises en file d’attente automatiquement le temps que la synchro se termine
  • Ajout d’entées dans les logs pour la configurations et la synchronisation
  • Détection du bouton STOP Paw (appui manuel) : arrête la lecture en cours, le tts et quitte correctement le core
  • Corrections de bugs et optimisations
  • Corrections typos
  • Maj des fichiers de langue

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

  • Correction de bugs lors de l’utilisation des liens de fichiers en dehors de l’interface web.
  • Refonte de la fonction qui détecte les core obsolètes de JPI pour éviter qu’elle tue le core courant.
  • Correction de bug de session sur certains appareils
  • Ajout d’une entrée dans le log des événements si un core obsolète est arrêté.
  • Correction de la date de la version (qui était celle d’installation sur l’appareil au lieu de celle de la publication)
  • Maj des fichiers de langues
  • Diverses autres correction de bugs et petites optmisations.

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

  • Maj du CSS
  • Maj des fichiers de langues (typos)
  • Diverses petites corrections et optimisations.

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

  • Correction d’un bug (rare) pouvant bloquer la roue crantée après une requête dans l’interface web
  • Diverses petites corrections et optimisations.

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

  • Permet de faire les mises à jours si Paw est paramétré en https
  • Diverses petites corrections et optimisations.

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

  • Correction d’un bug dans l’interface web avec les pages Mots clefs persos et Mots clefs locaux : lorsque il y avait aucun mot clef défini, le message « Aucun mot clef défini » se dédoublait à chaque affichage de la page => corrigé

NOTE: Vous devez d’abord mettre à jour l’APK de JPI en v0.99 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.99 en ligne ! :slight_smile:

  • Corrections de bug lors de la détection de mouvement + refonte des erreurs lors de la détection de mouvements (empêche les logs intempestifs)
  • Gestion de la nouvelle action getBTconnected
  • Refonte de la gestion des événements offline / online
  • Refonte de l’initialisation, de la configuration et de la synchronisation
  • Refonte du rebuild config (plus d’attente en cas d’erreur)
  • Refonte du scan de dossier paw, ça fonctionne maintenant forcément sur tous les appareils
  • Gestion des sms entrants multipart (sms découpés en plusieurs parties)
  • Corrections de bug
  • Diverses corrections et optimisations

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

  • Refonte du mode communication entre l’APK et PAW pour éviter notamment certains bugs lorsque le mode spécifié est HTTP dans les réglages avancés de JPI
  • Diverses petites corrections et optimisations

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

  • Le rebuild config crashait si Paw était paramétré en https => corrigé (il faudra tout de même redémarrer paw à la main à la fin du rebuild car le https empêche de piloter le redémarrage de paw)
  • 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


NOTE IMPORTANTE: lors de l’installation en provenance de versions < 0.99 le REBUILD config va planter, cela est parfaitement normal, voici la marche à suivre :

  1. Il faut cliquer sur le message d’erreur de paw qui va restaurer la configuration d’usine.
    (Si ce message n’arrive pas il faut redémarrer Paw une fois arrivé sur l’accueil de l’APK)
  2. Se loguer dans l’interface web, puis aller dans CONFIGURATION - Backup / Import
  3. Dans la section Backups automatiques, cliquer sur le bouton bleu (importer) du fichier config.json.err
  4. Laisser toutes les cases cochées et cliquer sur le bouton importer
  5. Sauvegarder la configuration

(Ceci est du au fait que le rebuild config a été entièrement revu et cela ne se reproduira plus dans les prochaines versions.)


NOTE²: la version 0.986 de l’apk contient un bug empêchant de faire la maj directement dans l’application.

Ce bug est corrigé depuis et donc ne se reproduira plus.
Si vous êtes en version 0.986 sur l’APK (uniquement cette version, pas de soucis avec les versions suivantes et précédentes) il faut faire la maj à la main en téléchargeant (et en installant) l’apk ici :

http://rulistaff.free.fr/JPI/getJPI/


Change log versions précédentes:

v0.989 : jpi-apk-android-tel-dedie-domotique/10014/322
v0.987 : 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: jpi-apk-android-tel-dedie-domotique/10014/35
v0.973: jpi-apk-android-tel-dedie-domotique/10014/22
v0.97 à 0.972: viewtopic.php?f=27&t=18283&start=3020#p627896


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


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:


Attention pour l’installation à bien lire ci-dessus comment réimporter sa configuration (si version < 0.99)


2 « J'aime »

Je le reprécise au cas où, pour anticiper les messages de tout ceux qui auraient lu en diagonale le post ci-dessus :


NOTE IMPORTANTE: lors de l’installation le REBUILD config va planter, cela est parfaitement normal, voici la marche à suivre :

  1. Il faut cliquer sur le message d’erreur de paw qui va restaurer la configuration d’usine.
    (Si ce message n’arrive pas il faut redémarrer Paw une fois arrivé sur l’accueil de l’APK)
  2. se loguer dans l’interface web, puis aller dans CONFIGURATION - Backup / Import
  3. Dans la section Backups automatiques, cliquer sur le bouton bleu (importer) du fichier config.json.err
  4. Laisser toutes les case cochées et cliquer sur le bouton importer
  5. Sauvegarder la configuration

(Cela est dû au fait que le rebuild config a été entièrement revu et cela ne se produira plus dans les prochaines versions.)


5 « J'aime »

Bonjour,
J’ai développé un script dans Jeedom qui prend une photo, la copie et la supprime.
Soit un takePicture, un getLink puis un delete.
Cela fonctionnait très bien jusqu’à ce que je migre mes téls avec la dernière version (0.99).
Dans le fichier récupéré, j’ai maintenant ceci :

Je fais quelque-chose de mal ou c’est un bug ?

Très bonne journée et bon confinement.

Voici le message d’erreur :

BeanShell Error:

bsh.TargetError: Sourced file: inline evaluation of: ``if (parameters.get(« action ») != null) { source(server.props.get("serviceContex . . . ‹  › : at Line: 88 : in file: /storage/emulated/0/paw/JPI/net/core.session_net.bsh : session .saveReq .clear ( )

Called from method: getSession : at Line: 74 : in file: /storage/emulated/0/paw/JPI/net/filemanager_net.bsh : this .getSession ( )
Called from method: init : at Line: 122 : in file: /storage/emulated/0/paw/JPI/net/filemanager_net.bsh : this .init ( )
Called from method: run : at Line: 12 : in file: inline evaluation of: ``if (parameters.get(« action ») != null) { source(server.props.get("serviceContex . . . ‹  › : filemanager_net .run ( )
Target exception: java.lang.NullPointerException: Null Pointer while evaluating: session.saveReq

Bonjour,
Suite aux différentes modification apporté à JPI, je ne sais plus quelle configuration réaliser dans JPI pour activer une mise en veille automatique et un réveil de la tablette lorsqu’un mouvement est détecté par la caméra.

Si vous avez un exemple ou un lien vers une configuration qui fonctionnement bien, je suis preneur.

En attendant, bon courage a tous pour cette période bizarre de notre vie…

Oui merci ça semble bien être un bug. :wink:
J’ai corrigé mais pas publié de nouvelle version.
Fais un forceMaj sur la page d’accueil de l’apk et dis mois si ça corrige le problème.

Merci beaucoup, cela fonctionne à nouveau :star_struck:.

Cela m’a permis d’optimiser/simplifier mon script.

Bonne journée.

1 « J'aime »

Bonjour,

Pour moi, pas de soucis la MAJ est fonctionnelle! Bravo!!

Un peu avant la mise en ligne de cette MAJ, j’avais laissé un message pour savoir s’il est possible/ envisageable de lancer vocalement une application tel que Youtube et de piloter via JPI le changement de musique un peu comme le fait un Alexa…
(J’ai testé avec les fonctions de base mais on doit renseigner manuellement dans la barre de recherche le titre et le micro semble rester prioritaire, du coup la musique ne se lance pas)

Cela est-il possible?

Merci beaucoup pour le travail que tu réalises!!!

Hello Djul!

Petit souci sur la nouvelle version, j’ai le home de l’interface web avec la roue crantée qui tourne sans fin…
L acces au log et aux parametres est toujours possible et tout a l air de fonctionner correctement, mais j ai la roue crantée qui tourne sur le home…
Et rien dans les logs

Suis je le seul? :slight_smile:

Ce n’est pas normal.
Essaye de tout redémarrer.

Salut Djul. :wave:

J’ai une petite bug avec la new version 0.99

Dans l’interface web j’ai l’erreur:
Erreur Ajax
Error type: Parserror

Du coup sa me bloque l’interface web et le plugin JPI crache
J’arrive a le relancer en éteignant PAW et le rallumer mais l’erreur revient dans la minute

Je ne peux pas faire grand chose sans avoir l’erreur …

  • F12 dans chrome, puis onglet Network
  • Sélectionner XHR
  • cliquer à gauche sur la requête qui bug, puis onglet ‹ Response › à droite
  • Copier le contenu de la réponse avec CTRL C

Il faut faire vite car l’interface web se recharge toute seule au bout de 6 réponses invalides.

Etrangement j’avais bien redémarré le systeme avant de te poser la question, ca n’avait rien changé…
Et la, par acquis de conscience, je retest, et c’est bon… va comprendre Charles…

Merci :wink:

Bon… vla aut’chose…
Je veux mettre un cron pour relancer le systeme tous les jours a minuit pour voir si ca influe sur le crash de Paw qui arrive de temps en temps (pas lié a la nouvelle version, je l avais deja avant).
C est mon premier cron, mais quand j active l évenement, que je rajoute un scénario et que je choisi la fréquence, je ne peux pas enregistrer, j’ai le message ERREUR l’apk ne répond pas, qui s’affiche…
Une idée?

Oui, tout tes messages ramènent à la même conclusion :
JPI n’est pas très stable et il y a des problèmes de communications récurrents entre le core et l’APK.
Cela peut produire un certain nombre de symptômes, comme tout ceux que tu as déjà pu avoir…