[JPI-APK android] Tel Android dedié domotique

Moi je parlais de l’APK justement :frowning:
Merci quand même :wink:

Bonjour dJuL,

J’arrive à lancer des messages vocaux sur la tablette de Jeedom vers JPI via la requête, « http://192.168.1.**:****/?action=tts&message=#message# »

Je souhaite tester la fonction ASK en passant aussi par le script en passant par la même requête et via la fonction ASK le message arrive bien sur la tablette mais n’attend pas de réponse de ma part et Jeedom passe en Timeout.

Doit on changer la requête ? Ou je m’y prend mal?

Merci pour ton aide.

Pour le ASK il faut utiliser les paramètres askData et askTimeout
Puis le scénario ‹ réponses au ask › dans JPI
C’est possible à la main mais le plus simple est de le faire avec le framework SC ou le plugin JPI car c’est déjà intégré.

Ex avec le framewok SC :

//Lance la requête ASK via TTS avec un timeout de 10 secondes et un volume de 80%
$response = $sc->jpi->ASK_TTS('Voulez-vous une bière ?', 10, 80);
 
if (strtolower(trim($response)) == 'oui') {
  //La réponse est OUI
}
elseif (strtolower(trim($response)) == 'non') {
  //La réponse est NON
}
elseif ($response) {
  //La réponse est ni OUI ni NON
}
elseif ($response === false) {
  //Le timeout est atteint, aucune réponse
}
elseif ($response === null) {
  //Erreur JPI
}

http://rulistaff.free.fr/sc/doc/?class-sc_jpi#_ASK_TTS

Ok merci beaucoup.

Bonjour,
j’ai aussi eu le soucis de fichier de config.
par contre je me suis battu pendant 1h … pour finalement réussir( je précise que j’ai redémarré plusieurs fois entre temps … et j’avais plus d’interface web avec erreur .bsh …bref)
alors que je m’en suis sorti je réalise que la solution était dans la suite de ce topic :sweat_smile:(le lisais les message précédant avec la version .986… du coup pas très pratique pour trouver l’info. (pour un prochain coup)

Sinon y a t’il une solution pour envoyer les sauvegarde sur un NAS automatiquement ? :slight_smile:

pour finir vu que je voulais le faire depuis longtemps, je me suis laché d’un petit don paypal parceque cette appli est quand même géniale :heart:

1 « J'aime »

Merci pour ton retour, j’ai installé Framwork SC et tenté ton code selon tes indications pour faire un test.

Je n’ai pas de retour sur la tablette, et voici le log que j’ai en retour.

Citation------------------------------------
[2020-03-30 22:52:06][SCENARIO] Start : Scenario lance manuellement.
[2020-03-30 22:52:06][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-03-30 22:52:06][SCENARIO] Exécution d’un bloc code
[2020-03-30 22:52:06][SCENARIO] - ----------------------------------------
[2020-03-30 22:52:06][SCENARIO] - - Framework sc v0.99
[2020-03-30 22:52:06][SCENARIO] - - Vos scenarios en PHP
[2020-03-30 22:52:06][SCENARIO] - - by dJuL
[2020-03-30 22:52:06][SCENARIO] - ----------------------------------------
[2020-03-30 22:52:06][SCENARIO] - INFO: DOCUMENTATION DISPONIBLE EN LOCAL EN CLIQUANT ICI
[2020-03-30 22:52:06][SCENARIO] - - -
[2020-03-30 22:52:06][SCENARIO] - /* - Execution du Bloc code n°1 - DEBUG NATIF ACTIF (php >= v7) /
[2020-03-30 22:52:06][SCENARIO] - - -
[2020-03-30 22:52:06][SCENARIO] - ERREUR PHP: Call to a member function ASK_TTS() on null à la ligne 2 !
[2020-03-30 22:52:06][SCENARIO] - - -
[2020-03-30 22:52:06][SCENARIO] - /
- Fin du Bloc code n°1 - */
[2020-03-30 22:52:06][SCENARIO] - - -
[2020-03-30 22:52:06][SCENARIO] Arrêt forcé du scénario pour cause d’erreur de syntaxe php ou de retour ‹ false ›
[2020-03-30 22:52:06][SCENARIO] Action stop
[2020-03-30 22:52:06][SCENARIO] Durée d’exécution (depuis le 1er bloc code) : 28.62 millisecondes [2020-03-30 22:52:06][SCENARIO] Fin correcte du scénario

C’est bon j’ai trouvé, j’avais oublié l’url de JPI…

Citation
//Charge la librairie jpi avec le parmamètre autostart
$sc ->load( 'jpi' , 'http://192.168.0.**:****' );

Merci dJuL

1 « J'aime »

Tu parles de la config ?
Il faut faire une tache cron sur jeedom ou sur ton nas pour récupérer les fichier de JPI
Par exemple pour backuper tous les fichiers de config (backup utilisateurs…) sous forme d’un zip :

L’url sera copiée dans le presse-papier.

1 « J'aime »
Je viens de mettre le client web en perso, je te tiens au courant de la suite

Mettre un client perso ne sert à rien :frowning:

Par contre j’ai peut être trouvé l’origine des décrochages. Tout porte à croire que c’est le fait de mettre le choix du canal wifi en « auto » qui est responsable, le routeur change périodiquement de canal pour optimiser la com’ et provoque ainsi des décrochages que visiblement la tablette n’arrive pas à suivre.
Je suis passé en canal manuel et ça à l’air de bien tenir, et au passage mes caméras fonctionne aussi beaucoup mieux (plus de passage au noir périodique de 1 seconde).

On est loin de JPI , mais à retenir pour ceux qui auraient ce genre de problème …

1 « J'aime »

C’est fait, ce sera dans la prochaine maj.
Du coup il est également possible de choisir l’orientation pour le streaming.
Je me souviens que beaucoup demandaient ça à l’époque.
C’était possible en CSS (ce que fait l’interface web) mais c’était plus chiant à mettre en place. Maintenant la rotation est en dure dans le signal :wink:

Je devrais pouvoir publier ça dans les jours qui viennent

Tu es au top et d’une réactivité surprenante merci!

Bonjour,

J’utilise Jeedom (sous un VM Debian Buster).
Pour les notification SMS via Jeedom, j’ai installé le plugin SMS, celui-ci fonctionne correctement.

J’aimerai pouvoir recevoir les notifications Synology par SMS par l’intermédiaire de Jeedom.
J’aimerai savoir si le plugin SMS peut se comporter comme une passerelle SMS pour d’autres applications comme Synology pour recevoir des notifications SMS, en gros, est-ce qu’il peut faire office de passerelle SMS comme JPI ? Savez-vous si c’est possible ?

Si Jeedom ne le permet pas, j’ai lu certain tuto qui suggere l’installation de Gammu-SMSD avec un page PHP qui permettrait de créer ma passerelle SMS API.
Le soucis est que quand Jeedom est parametré avec la clé USB 4G, il empeche la daemon de Gammu-SMSD de faire des actions.
Si quelqu’un connait une solution pour que Jeedom et Gammu-SMSD puisse utiliser la meme clé USB et faire des notifications en meme temps, je suis intéressé :slight_smile:

Merci pour votre aide.

Tu peux désactiver la vérification de PAW au même endroit ou tu as mis HTTP.
Sur ton appareil PAW perd des requêtes donc autant les limiter au maximum.
[/quote]

Salut @dJuL
Juste pour info même en désactivent la vérification de PAW toujours des déconnections de PAW visible dans app log.

Si tu peux dans une prochaine version, j’ai cette petite erreur avec une configure de PAW en http.

- SERVICE Erreur ligne 4520:
java.net.SocketTimeoutException 

Merci par avance :v:

Cette erreur indique que Paw n’a pas répondu à la requête de l’apk.
Pour le coup je ne peux rien y faire…

MDR ok merci

Je ne pense pas que tu sois dans le bon fil, ou alors je n’ai peut être pas bien compris.
Je ne connais pas le plugin SMS et n’ai jamais utilisé de clef 4G.
Ce qu’il y a de sûr c’est que JPI est (parmi bien d’autres choses) une passerelle SMS /MMS pilotable via http, donc tout le monde peux l’utiliser simultanément pour envoyer des sms (jeedom, synology…) avec une simple requête http. les sms entrants sont traités par des scénarios permettants également d’interagir avec n’importe qui.

Oui, j’avais cette info pour JPI, mais je voudrais pouvoir faire la meme choses sous Jeedom avec le plugin SMS et la clé 4G associé… est-ce que tu penses que c’est possible ?
Si oui, comment stp ?

Aucune idée, faudrait plutôt demander dans le fil du plugin SMS…

Salut @dJuL,

J’ai voulu faire la mise à jour depuis la dernière version précédente.
Forcément comme tu l’indiquais, le config rebuild ne marche pas.
Par contre, je n’ai pas le popup d’erreur que tu mentionnes.
Donc ça redémarre sur un JPI « stock » avec 4 lignes de surveillance dont Jeedom (bizarre pour un stock).
Puis j’essaie d’accéder à l’interface web pour faire ta procédure…
Mais voici ce que j’ai sur la page html :

http://192.168.2.207:8090/JPI/

// Error: Exception in runnable:bsh.EvalError: illegal use of undefined variable, class, or 'void' literal : at Line: 167 : in file: /storage/emulated/0/paw/JPI/main.bsh : ) { Called from method: main : at Line: 420 : in file: /storage/emulated/0/paw/JPI/main.bsh : main ( ) unknow error

Pareil sur la seconde tablette :
http://192.168.2.207:8090/JPI/

// Error: Exception in runnable:bsh.EvalError: illegal use of undefined variable, class, or 'void' literal : at Line: 167 : in file: /storage/emulated/0/paw/JPI/main.bsh : ) { Called from method: main : at Line: 420 : in file: /storage/emulated/0/paw/JPI/main.bsh : main ( ) unknow error

Pareil sur le téléphone en 8080 (j’ai cru au port changé qui poserait problème) :
http://192.168.2.200:8080/JPI/


// Error: Exception in runnable:bsh.EvalError: illegal use of undefined variable, class, or 'void' literal : at Line: 167 : in file: /storage/emulated/0/paw/JPI/main.bsh : ) { Called from method: main : at Line: 420 : in file: /storage/emulated/0/paw/JPI/main.bsh : main ( ) unknow error

J’ai donc décidé d’éteindre totalement la tablette. JPI redémarre (et paw avant) et là j’ai bien le popup.
Même symptome et convalescence sur les 2 autres devices.
EDIT : je te confirme. Il a fallu que je reboote les 3 devices pour avoir le fameux message de restauration configuration usine.
La différence avec la fois précédente c’est que l’interface ne mentionnait pas juste PAW server, mais aussi Gateway, Jeedom et Internet. Alors qu’après redémarrage, je n’avais que Paw server.

Par contre, maintenant j’ai bien récupéré JPI fonctionnel (dans le sens que mes designs sont bien là). Mais l’interface (états) des 2 devices (web) est fausse sur 3. J’ai redémarré au cas où.

A noter qu’une tablette est OK (je n’ai rien fait de particulier) :

EDIT 2 : un dernier souci que j’ai remarqué.
Sur mon Asus Zenfone, PAW démarre tout seul (lancement auto configuré dans les paramètres).
Sauf que ce dernier démarre avant que le wifi soit établi. Du coup, je me retrouve avec une adresse format IPV6 (façon de parler) et non l’IPV4 du LAN par wifi. JPI démarre mais du coup, il me faut faire un stop/start sur paw pour avoir la bonne IP. Il n’y a pas moyen de cadencer PAW un peu plus ?

Ah oui effectivement c’est normal.
En fait il suffisait juste de relancer paw.
J’ai corrigé (pour ceux qui sont encore dans un version < 0.99), ce sera dans la prochaine version de l’apk.

Ça je pige pas trop pourquoi, surtout que la date est vielle
Est-ce que c’est OK sur la page d’accueil de l’APK ?
Tu peux vider les données des événements sinon.

C’est curieux parce qu’en général paw est justement plutôt lent a démarré automatiquement car il attend que toute l’initialisation de l’appareil soit finie.
J’ai rajouté le mot clef {SYSTEM_IP} dans les événements (scénarios) de démarrage, qui permettra par exemple de tout relancer si l’ip ne match pas xxx.xxx.xxx.xxx
Ce sera dans la prochaine maj du code.
Exemple :
image

{
	"event": "STARTOK_EVENT",
	"key": "__DEFAULT__",
	"data": [
		{
			"__IF__": "paramL=%7BSYSTEM_IP%7D&operator=__MATCH__&paramR=(%5Cd%2B%5C.)%7B3%7D%5Cd%2B"
		},
		{
			"//": "type=comment&text=IP+OK%2C+ne+fait+rien"
		},
		{
			"__ELSE__": ""
		},
		{
			"//": "type=comment&text=IP+KO%2C+Restart"
		},
		{
			"restart": ""
		},
		{
			"__END__": ""
		}
	]
}