[JPI-APK android] Tel Android dedié domotique

Beaucoup d’impératifs professionnels m’empêchent d’avancer sur JPI comme je le souhaiterais…
Mais j’essaye d’avancer tout doucement.
Du coup je ne sais pas encore quand la prochaine maj va sortir.
J’ai déjà corrigé pas mal de petits bugs sur la version en cours, mais trop de fichiers sont en chantier pour que je puisse sortir une maj dans l’immédiat.

3 « J'aime »

Bonjour à tous
je ne sais pas si je suis sur le bon forum

J’aimerai envoyer 1 snapshot issu d’une de mes caméras par mms
je n’ai pas trouvé ou pas compris dans le forum

Merci d’avance pour votre aide.

Avec si peut d’information difficile de te répondre.
Mais oui JPI peut envoyer des MMS avec une pièce jointe qu’il peut aller chercher soit en local dans l’appareil ou via une url.

Bonjour dJul
Merci pour ton aide
Je voudrais à partir d’un scénario jeedom
transmettre à JPI le No de tel à appeler, le snapshot issu du plugin camera, le message.

J’arrive à envoyer des sms grace au tuto « Envoi de SMS avec JPI » de ladomopratique.com
j’ai essayé selon ce principe avec sendMms, mais sans résultat

Salut dJuL,

Même après avoir fait la modification, je rencontre toujours le problème.
Je viens de désactiver la caméra, a voir si les déconnexions persistes…

Belle journée :wink:

En admettant que tu stockes le chemin du snapshot dans une variable Jeedom nommée ‹ Snapshot ›.
Avec le framework SC tu peux faire :

//charge la librairie JPI (avec l'IP de ton JPI à la place de 192.168.100.7)
$jpi = $sc->load('jpi', 'http://192.168.0.7:8080');

//charge la librairie files
$files = $sc->load('files');

//Récupère le chemin du fichier image dans une variable Jeedom
$imagePath = $sc->getVar('Snapshot');

//génère le lien, avec une validité de 30 secondes
//(avec l'IP de Jeedom à la palce de 10.10.10.10)
$url = $files->makeDownloadUrl($imagePath, '10.10.10.10', 30);

//Envoie le MMS
$jpi->sendMms('{MY_NUMBER}', $url, 'Message de test avec photo jointe');

Sinon ça doit être également possible de mémoire avec le plugin JPI, mais là je ne peux pas t’aider.

1 « J'aime »

Tu as essayé de rebooter ?
Parfois cela peut régler de nombreux problèmes…

Bonjour,

Une question SVP
J’ai 2 tablettes avec JPI d’installé, l’une est destiné à être une tablette murale dédiée , l’autre tablette multiusage et qui me sert aussi à tester JPI.

Tout marchait bien jusqu’à hier après-midi, c’est à JPI sur les 2 tablettes et remontée dans Jeedom via le plugin

Mon problème est que j’ai une tablette qui n’est plus détectée par Jeedom et je ne sais pas pourquoi??

Sans passer par le plugin JPI sous jeedom, je teste les URL dans mon navigateur web , une tablette répond correctement et l’autre ‹ unknow error ›
Si je vais dans l’application web de JPI Executer action / générer URL , j’ai un retour correct , par contre si je fais un copier coller de l’url dans le navigateur web , j’ai unknow error , vraiment étrange , je sèche… si quelqu’un a une idée SVP

Je précise que la configuration des 2 tablettes est la même , et dernière version de JPI installée.

Bonjour , j’utilise JPI pour l’envoi de sms via Jeedom
jusque la tout va bien , ici je me retrouve avec l’envoi de sms a moi même !
j’explique lorsque j’ai mit en place le auto pour envoyé des sms , j’ai modifié le MY_Number +33 6 XXXX
pour mon numéro ode GSM. jamais rien eu.sauf que ma tablette à généré plus de 26K SMS a moi même

dans le journal des erreurs je trouve :
06/05/20 22:07:25 - ERREUR sendSms: null
07/05/20 11:20:58 - sendSMS(core) ERREUR: Impossible d’envoyer le message à +32XXXXX
il y a t’il un problème quelconque ?
je trouve dans PAW SMS : +32XXXXX (52355)
Jeedom: [Etage][Volet Bureau][Pas]. or cette fonction n’est lié a rien pour l’envoi de sms ?
j’ai vraiment besoin d’information …ou bien trouver ce qui a généré cela

merci

Faudrait voir si il y a une erreur dans le log des erreurs

Si {MY_NUMBER} est égale au numéro JPI cela fait une boucle infinie de SMS. Ce mot clef doit représenté son numéro de contact (tel mobile perso) mais surtout pas le numéro de l’appareil JPI.

Bonjour dJul
Merci pour ton aide
Je ne sais pas faire en php mais je vais tout de même essayer en me documentant…
Je vais également essayer avec le plugin JPI
et ferai retour du résultat.

Pas besoin de maîtriser le php, Tu as juste à stocker le chemin du fichier dans une variable Jeedom nommée ‹ Snapshot ›, puis en dessous, ajouter un bloc code dans ton scénario et recopier le code tel que je te l’ais donné en modifiant juste les IP de JPI et Jeedom :wink:

Aujourd’hui j’ai bien avancé sur le « plugin caméra » de JPI
Du coup j’ai fait un truc bien plus avancé que ce que l’imaginais à la base…
Il est quasi terminé :slight_smile:

Quelques screenshots :

image

image

image

image

image

image

1 « J'aime »

Bonjour et merci pour ce super plugin que j’utilise maintenant depuis plusieurs années :slight_smile:Malheureusement depuis la derniere mise a jour du serveur PAW j’ai un gros souci , PAW oblige le telephone a activer le wifi, or dans mon cas je ne l’utilise pas car j’utilise le telephone en modem sur la prise USB de mon routeur. Si je n’autorise pas la connection wifi, PAW se ferme. Y a t’il une solution pour pas que PAW serveur fonctionne sans le wifi et ne me demande plus de l’activer. Ca fonctionnait avant sur l’ancienne version que j’utilise donc toujours …

Si on utilise pas le Wifi il faut passer le mode de connexion au réseau en Auto :

Super taf ! j’ai hâte.

Si tout se goupille bien, je devrais pouvoir publier une maj d’ici ce we :wink:

2 « J'aime »

Ahh c’est une bonne nouvelle.

Le script shell android permettant de faire des clics exige des paramètres en pixels, ce qui n’est pas pratique à l’usage et nécessite des tâtonnements.

Voici donc un scénario permettant de faire un clic sur l’appareil avec une position X et Y donnée en cm (il suffit de mesuré sur l’écran avec une règle où l’on veut cliquer)

D’abord il faut paramétrer les valeurs de votre appareil (taille écran en px et en cm) dans les 4 premières variables du scénario :

image

Voici le scénario à importer dans les actions HTTP persos :

{
	"event": "HTTP_EVENT",
	"key": "_touch",
	"data": [
		{
			"//": "type=info&text=Fait+un+clique+sur+une+position+donn%C3%A9e+en+cm%0A%0ARe%C3%A7oit+les+param%C3%A8tres+'x'+et+'y'"
		},
		{
			"//": "type=comment&text=R%C3%A9solution+X+(largeur)+de+l'appareil+en+pixel"
		},
		{
			"setVar": "name=%25resolutionX&value=720"
		},
		{
			"//": "type=comment&text=Largeur+totale+de+l'%C3%A9cran+de+l'appareil+en+cm"
		},
		{
			"setVar": "name=%25screenSizeX&value=5.7"
		},
		{
			"//": "type=comment&text=R%C3%A9solution+Y+(hauteur)+de+l'appareil+en+pixel"
		},
		{
			"setVar": "name=%25resolutionY&value=1280"
		},
		{
			"//": "type=comment&text=Hauteur+totale+de+l'%C3%A9cran+de+l'appareil+en+cm"
		},
		{
			"setVar": "name=%25screenSizeY&value=10.1"
		},
		{
			"//": "type=info&text=Lance+le+calcul+et+effectue+le+click"
		},
		{
			"//": "type=comment&text=V%C3%A9rifie+d'abord+que+les+param%C3%A8tres+'x'+et+'y'+sont+bien+re%C3%A7us"
		},
		{
			"__IF__": "paramL=%7BPARAMETER%3Ax%7D&operator=__EQUAL__&paramR=_NULL_"
		},
		{
			"httpReturn": "result=%7BERROR%7D%3A+Param%C3%A8tre+'x'+manquant+!"
		},
		{
			"exit": ""
		},
		{
			"__ELSEIF__": "paramL=%7BPARAMETER%3Ay%7D&operator=__EQUAL__&paramR=_NULL_"
		},
		{
			"httpReturn": "result=%7BERROR%7D%3A+Param%C3%A8tre+'y'+manquant+!"
		},
		{
			"exit": ""
		},
		{
			"__END__": ""
		},
		{
			"calc": "operand1=%7BPARAMETER%3Ax%7D&operator=*&operand2=%7BVAR%3A%25resolutionX%7D"
		},
		{
			"calc": "operand1=%7BRETURN%7D&operator=%2F&operand2=%7BVAR%3A%25screenSizeX%7D&decimal=0"
		},
		{
			"setVar": "name=%25x&value=%7BRETURN%7D"
		},
		{
			"calc": "operand1=%7BPARAMETER%3Ay%7D&operator=*&operand2=%7BVAR%3A%25resolutionY%7D"
		},
		{
			"calc": "operand1=%7BRETURN%7D&operator=%2F&operand2=%7BVAR%3A%25screenSizeY%7D&decimal=0"
		},
		{
			"setVar": "name=%25y&value=%7BRETURN%7D"
		},
		{
			"//": "type=comment&text=Lance+le+script+shell+effectuant+un+click"
		},
		{
			"shell": "script=input+tap+%7BVAR%3A%25x%7D+%7BVAR%3A%25y%7D"
		},
		{
			"httpReturn": "result=%7BOK%7D"
		}
	]
}

Ensuite (une fois le scénario importé et la configuration sauvegardée) l’action s’exécute avec les paramètres x et y envoyés en cm

image

image

NÉCESSITE UN APPAREIL ROOTÉ POUR FONCTIONNER

Finalement ça sort plus tôt que prévu :smiley:


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

Au menu, ajout du moteur de la visionneuse de caméras, ajout et corrections d’actions et de mots clefs, corrections de bugs.


­
Change log :
­

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

— Ajout Mots clefs état :

  • {IS_MICROPHONE} => Retourne l’état de l’utilisation du microphone :
    Reconnaissance vocale continue ou streaming audio et/ou enregistrement audio en cours
    ­

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

— Ajout d’actions :

  • Application (APK) / goToCamViewer => Permet d’afficher la visionneuse de caméras dans l’apk avec de nombreux paramètres (grille, afficher les noms. des cams…)
    ­

— Modifications d’ actions:

  • Système / manageBtDevice => ajout du paramètre profil permettant de connecter / déconnecter un profil BT spécifique
    ­
  • Médias / ttsToFile => L’action ne fonctionnait plus => corrigé
    ­
  • Informations / getState => paramètre keyword : ajout du mot clef IS_MICROPHONE
    ­

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

— Ajout pages :

  • CONFIGURATION / Visionneuse de caméras => Permet de créer et modifier les paramètres des caméras, d’affichage par défaut de la grille et paramétrage du lien externe (avec authentification en option)
    Tous les paramètres sont synchronisables.
    ­

— Modifications pages :

  • page HOME :
    – Ajout du bouton raccourci vers la visionneuse de caméra

  • page CONFIGURATION / Réglages avancés :
    – Section Streaming :
    ­ ­ ­ ­ => Ajout du lien du stream vidéo en léger différé (1500ms)

  • Page CONFIGURATION / Mots clefs persos
    – Refonte de la recherche en cas de mot clef déjà utilisé (avertissement suppression / renommage)
    – Nouvelle option de « refactor » en cas de renommage d’un mot clef utilisé afin de pouvoir automatiquement renommer toutes les occurrences du mot clef (clefs, numéros autorisés, utilisation au sein du scénario…) dans la configuration

  • pages CONFIGURATION / Mots clefs locaux :
    – Idem mots clefs persos

  • pages OUTILS / Caméra (Streaming) :
    – Le flux vidéo est automatiquement libéré si la page du navigateur est masquée (changement d’onglet / réduction du navigateur dans la barre des taches…).
    Il est relancé automatiquement lorsque la page du navigateur est affichée de nouveau.
    – Ajout du lien du stream vidéo en léger différé (1500ms)
    ­

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

  • Fenêtre d’aide des mots clefs:
    – Ajout des nouveaux mot clefs

  • Fenêtres des journaux:
    – Certains caractères présent dans les logs pouvait faire que le journal se retrouve vide à l’affichage => corrigé

­

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

  • Barre d’entête :
    – Ajout d’une icone d’état du microphone (Reconnaissance vocale continue ou streaming audio en cours)
    – Avec également icone record (point rouge) si enregistrement audio en cours
    ­
  • Ajout de l’événement de masquage/démasquage de la page courante du navigateur pour les pages et les fenêtres de l’interface.
    ­
  • Correction d’un bug dans les test de scénario : si le mot clef {HTTP_PARAMETERS} était utilisé plus d’une fois le test échouait => corrigé
    ­
  • Refontes et optimisations des fichiers JS
  • Maj des fichiers CSS
    ­

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

  • Ajout du moteur de la visionneuse de caméras
  • Ajout du proxy interne afin de lire les flux nécessitant une authentification
  • Amélioration du moteur de gestion des authentifications http
  • Refonte du streaming pour le futur player HTML
  • Ajout du stream vidéo en léger différé et de son lien
  • Maj de la gestion des cookies
  • Refonte de l’encodage des réponses Json
  • Amélioration de la synchronisation automatique
  • Diverses corrections et optimisations
  • Maj. des fichiers de langues / Corrections typo
    ­

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, de la visionneuse de caméra et du lien du gestionnaire de fichiers.


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


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

  • Amélioration du moteur de la visionneuse de caméra : une fois la caméra chargée, 4 tentatives (espacées de 2.5s chacune) en échec sont nécessaires avant d’afficher l’image d’erreur. pendant ces 10s l’image reste sur la dernière image valide chargée.

  • Correction d’un bug pouvant provoquer une erreur d’ouverture des scénarios ou de la fenêtre d’action si certaines fonctionnalités sont manquantes sur l’appareil (ex moteur de voix tts)


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

  • Amélioration du moteur de la visionneuse de caméra : Les images en erreur laissaient apparaître un cade en arrière plan => corrigé.

  • Moteur de la visionneuse de caméra : Les flux mjpeg ne s’affichaient plus en plein écran (lors d’un clique dessus) depuis le dernier patch => corrigé.

  • Amélioration du moteur de la visionneuse de caméra : Divers corrections, optimisations, refontes du JS et du CSS

  • page CONFIGURATION / Réglages avancés :
    – Section Commande vocale :
    ­ ­ ­ ­ => Ajout d’une option permettant de choisir le flux audio du son de notification à couper. Il semble en effet que sur certains appareils le son de notification sort désormais sur le flux audio des notifications (surement provoqué par une maj google)

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

  • Refonte totale du webview, notamment la correction du rafraîchissement auto du webview en cas d’erreurs qui pouvait ouvrir des éléments externes en pleine page.
  • Ajout du support de l’action goToCamViewer
  • Si les préférences de l’APK étaient ouvertes, l’action goToUrl ne marchait pas => corrigé
  • Il y avait des bugs de focus sur des layout visibles sur certains appareils => corrigé
  • Désactivation totale des actions de l’APK si JPI / Paw est en cours d’initialisation afin d’éviter des actions inattendues.
  • Parfois l’action restart redémarrait 2 fois le service => corrigé
  • L’action refreshLayout ne fonctionnait pas si l’écran était éteint => corrigé
  • Diverses corrections et optimisations
  • Corrections de certains crashs
    ­

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

  • Ajout du support du choix du flux audio des notifications de la commande vocale à couper.
  • Diverses corrections et optimisations
    ­

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

  • Sur les appareils où les sons de notifications de la reconnaissance vocale continue sort sur le flux audio des notifications, le son émis après chaque phrase reconnue n’était pas coupé => corrigé
  • Diverses 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.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.9906 : jpi-apk-android-tel-dedie-domotique/10014/465
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).


Screenshots :

image


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:


1 « J'aime »