Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

[JPI-APK android] Tel Android dedié domotique

Cette partie est dédiée à la programmation sur le logiciel JEEDOM
Avatar de l’utilisateur
Theduck38
Helper
Messages : 2707
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: [JPI-APK android] Tel Android dedié domotique

Message par Theduck38 » 16 févr. 2018, 22:52

Une petite question : comment fait-on pour récupérer l'état de l'écran (à terme depuis le plugin JPI... mais déjà dans JPI je n'y arrive pas) :
Capture.PNG
Capture.PNG (14.6 Kio) Consulté 741 fois
Cette façon de procéder n'est visiblement pas la bonne... car j'ai un popup qui dit 'Mot clef inconnu'...
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

benj29
Actif
Messages : 3978
Inscription : 26 mars 2017, 09:57
Contact :

Re: [JPI-APK android] Tel Android dedié domotique

Message par benj29 » 16 févr. 2018, 23:14

EDIT : pas compris pourquoi en double ???
Dernière édition par benj29 le 16 févr. 2018, 23:18, édité 1 fois.

benj29
Actif
Messages : 3978
Inscription : 26 mars 2017, 09:57
Contact :

Re: [JPI-APK android] Tel Android dedié domotique

Message par benj29 » 16 févr. 2018, 23:15

Regarde je le fais dans mon scénario plus haut :)

Image

Condition SI, opération =, mot clé #, état, IS_SCREEN_ON

Image

Du coup dans ta condition tu peux récupérer l'état...

Avatar de l’utilisateur
Theduck38
Helper
Messages : 2707
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: [JPI-APK android] Tel Android dedié domotique

Message par Theduck38 » 16 févr. 2018, 23:25

Oui, mais là mon but est de récupérer directement la valeur dans Jeedom via le plugin JPI... et je n'arrive pas à le configurer correctement.

Du coup j'ai essayé (pour commencer) de l'obtenir depuis JPI... j'avais bien vu ton scénario, mais je n'arrive pas à obtenir le résultat directement sans passer dans une condition. En gros je cherche la "commande" à exécuter qui me renverra si l'écran est On ou Off.

Après... je n'ai pas encore tout compris à la programmation sur JPI ; donc il y a probablement des trucs évidents qui m'échappent !
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

Avatar de l’utilisateur
dJuL
Actif
Messages : 1425
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [JPI-APK android] Tel Android dedié domotique

Message par dJuL » 17 févr. 2018, 00:05

Theduck38 a écrit :
16 févr. 2018, 22:52
Une petite question : comment fait-on pour récupérer l'état de l'écran (à terme depuis le plugin JPI... mais déjà dans JPI je n'y arrive pas) :
Capture.PNG
Cette façon de procéder n'est visiblement pas la bonne... car j'ai un popup qui dit 'Mot clef inconnu'...
Bizarre ça marche très bien chez moi avec l'action getState ... :?
Dernière version de JPI
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.

Avatar de l’utilisateur
dJuL
Actif
Messages : 1425
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [JPI-APK android] Tel Android dedié domotique

Message par dJuL » 17 févr. 2018, 00:12

Ah j'ai compris... Il faut cliquer sur le menu magique et pas le menu # keyword...
Le paramètre keyword doit avoir pour valeur IS_SCREEN_ON et non pas {IS_SCREEN_ON}
Dernière version de JPI
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.

benj29
Actif
Messages : 3978
Inscription : 26 mars 2017, 09:57
Contact :

Re: [JPI-APK android] Tel Android dedié domotique

Message par benj29 » 17 févr. 2018, 00:13

Je sais pas si tu as vu mes posts de la page précédente, je suis preneur de ton avis ;)

Bonne nuit !

Avatar de l’utilisateur
Theduck38
Helper
Messages : 2707
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: [JPI-APK android] Tel Android dedié domotique

Message par Theduck38 » 17 févr. 2018, 01:18

dJuL a écrit :
17 févr. 2018, 00:12
Ah j'ai compris... Il faut cliquer sur le menu magique et pas le menu # keyword...
Le paramètre keyword doit avoir pour valeur IS_SCREEN_ON et non pas {IS_SCREEN_ON}
Compris... Merci !
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

Sartog
Actif
Messages : 502
Inscription : 27 août 2015, 14:54

Re: [JPI-APK android] Tel Android dedié domotique

Message par Sartog » 17 févr. 2018, 14:44

Bonjour tout le monde,

Je reviens avec 3 questions (dont 1 qui porte toujours sur la détection).

- 1\ Détection : @Djul, pourrais-tu m'expliquer exactement ce que fait les 4 paramètres et l'impact d'une modification des réglages, s'il te plait ?

- 2\ Le scénario sur batterie faible est régler pour se lancer à 15%, mais en réalité il se déclenche à 10% (en corrélation avec le log Event)

Code : Tout sélectionner

17/02/18 13:31:55 - BATTERYLOW_EVENT déclenché - Niveau de batterie: 10%
- 3\ J'ai régulièrement les messages d'erreur ci-après :

Code : Tout sélectionner

17/02/18 05:00:00 - ERREUR setCmd: Jeedom ne répond pas...
failed to connect to /192.168.0.100 (port 80) after 10000ms: connect failed: ENETUNREACH (Network is unreachable)
Ce message se répète de 22:30 à 5:00 toutes les 30 minutes correspondant à un scénario JPI visant à mettre à jour un virtuel Jeedom avec la valeur de la batterie.

Mon réseau fonctionne sans problème et à cette période tout le monde dors à la maison et donc la domotique est calme.
Je ne comprends pas ce qui pourrait générer cet empêchement de communication.

Quelqu'un à t'il une idée d'où cela peut-il provenir ?

Edit :
Pour le 3, cette nuit cela s'est reproduit de 2:00 à 6:00.
Lorsque je me suis couché après 1h00, RAS.
Quand je me suis réveillé vers 5h30 - 6h00, j'ai constaté que l'IP de JPI de répondait pas.
J'ai essayé de me connecté à Jeedom, cela à pris plus de temps (environ 8 secondes) mais il s'est affiché.
Je suis aller devant l'écran et j'ai appuyé sur le bouton on et là l'écran s'est allumé et JPI est devenu joignable.

Ce serait donc une sorte de grosse mise en veille, mais toutes les options de mise en veille et d'économie d'énergie sont arrêté.
La je vois vraiment pas.

Edit 2 :
Dans le log event, j'ai ça :

Code : Tout sélectionner

18/02/18 02:03:13 - JEEDOMOFFLINE_EVENT désactivé
 18/02/18 02:04:13 - JEEDOMOFFLINE_EVENT désactivé
 18/02/18 06:26:58 - JEEDOMONLINE_EVENT désactivé
 
Ce que je ne comprend pas c'est comment Jeedom peut être OFFLINE car lui aussi connecté 24/24

Il faut que je regarde ce que je peux mettre comme action dans les scénario JPI Jeedom Hors Ligne et Jeedom Ok
Dernière édition par Sartog le 18 févr. 2018, 09:20, édité 2 fois.
Box : smart, mini+, pi 2 et 3, ipbx800 v4
Protocole : Z-Wave (Fibaro & Qubino), Ikea, Bluetooth
Méteo : Netatmo
Audio : Sonos (Play 1 et 5)

Avatar de l’utilisateur
Theduck38
Helper
Messages : 2707
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: [JPI-APK android] Tel Android dedié domotique

Message par Theduck38 » 17 févr. 2018, 17:40

Tu as coupé / limité (d'une façon ou d'une autre.........) le wifi après 22h30 ?
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

benj29
Actif
Messages : 3978
Inscription : 26 mars 2017, 09:57
Contact :

Re: [JPI-APK android] Tel Android dedié domotique

Message par benj29 » 17 févr. 2018, 17:42

Depuis 48h que je joue avec les tablettes domotiques et JPI, j'ai aussi eu des loupés. En fait aux instants où cela se passait, j'avais PAW qui était dans un état bizarre... (genre une adresse IP pas bonne). Et du coup, j'avais des loupés sur le setCMD ou getCMD.

Sartog
Actif
Messages : 502
Inscription : 27 août 2015, 14:54

Re: [JPI-APK android] Tel Android dedié domotique

Message par Sartog » 17 févr. 2018, 19:14

Theduck38 a écrit :
17 févr. 2018, 17:40
Tu as coupé / limité (d'une façon ou d'une autre.........) le wifi après 22h30 ?
Non, Wifi tout le temps activité sans jamais de problème (borne AirPort Extreme et serveur DHCP sur routeur Synology).
J'ai aucuns log / alerte m’annonçant un problème réseau à ce moment là !
benj29 a écrit :Depuis 48h que je joue avec les tablettes domotiques et JPI, j'ai aussi eu des loupés. En fait aux instants où cela se passait, j'avais PAW qui était dans un état bizarre... (genre une adresse IP pas bonne). Et du coup, j'avais des loupés sur le setCMD ou getCMD.
Si je suis réveillé ce soir quand ça se produit, je regarderais son IP.
Dernière édition par Sartog le 17 févr. 2018, 22:42, édité 1 fois.
Box : smart, mini+, pi 2 et 3, ipbx800 v4
Protocole : Z-Wave (Fibaro & Qubino), Ikea, Bluetooth
Méteo : Netatmo
Audio : Sonos (Play 1 et 5)

benj29
Actif
Messages : 3978
Inscription : 26 mars 2017, 09:57
Contact :

Re: [JPI-APK android] Tel Android dedié domotique

Message par benj29 » 18 févr. 2018, 09:42

Bon, j'arrive à isoler mon problème de Jeedom ne répond pas.

Le contexte, la tablette domotique dans la cuisine qui gère le capteur de mouvement et qui le remonte sur Jeedom (son état si activée ou non). Je passe par une commande côté Jeedom binaire, qui met un virtuel à 1 pendant 1 min pour repasser à 0.

Visiblement le setCMD donne que Jeedom ne répond pas... fatalité au même instant, la page de Jeedom est bien ouverte sur la tablette, rafraichie (j'ai fait le test d'ouvrir ou fermer une fenêtre et je la vois).

Code : Tout sélectionner

Called from method: motiondetected_event : at Line: -1 : in file:  : 
Called from method: loadEvent : at Line: 180 : in file: /storage/emulated/0/paw/JPI/main.bsh : this .loadEvent ( "events" ) 
 - 18/02/18 00:03:59 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 07:45:24 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 08:01:39 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 08:02:14 - ERREUR setCmd: Jeedom ne répond pas...
timeout
 - 18/02/18 08:04:34 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 08:06:33 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 08:07:54 - ERREUR setCmd: Jeedom ne répond pas...
timeout
 - 18/02/18 08:13:28 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 08:26:36 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 08:28:12 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 08:32:51 - ERREUR setCmd: Jeedom ne répond pas...
timeout
 - 18/02/18 08:33:14 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 08:34:52 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 08:38:16 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 08:38:35 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 08:46:56 - ERREUR setCmd: Jeedom ne répond pas...
timeout
 - 18/02/18 08:47:32 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:01:49 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:03:26 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:03:57 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:04:30 - ERREUR setCmd: Jeedom ne répond pas...
timeout
 - 18/02/18 09:04:57 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:05:12 - ERREUR setCmd: Jeedom ne répond pas...
timeout
 - 18/02/18 09:05:29 - ERREUR setCmd: Jeedom ne répond pas...
timeout
 - 18/02/18 09:06:50 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:08:47 - ERREUR setCmd: Jeedom ne répond pas...
timeout
 - 18/02/18 09:09:48 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:10:09 - ERREUR setCmd: Jeedom ne répond pas...
timeout
 - 18/02/18 09:11:05 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:11:45 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:12:19 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:13:11 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:13:36 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:14:04 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:15:57 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:17:00 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:20:16 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:25:53 - ERREUR setCmd: Jeedom ne répond pas...
null
 - 18/02/18 09:26:35 - ERREUR setCmd: Jeedom ne répond pas...
null
Par exemple le dernier à 9h26 côté Event :

Code : Tout sélectionner

 - 18/02/18 09:26:08 - MOTIONDETECTED_EVENT déclenché
 - 18/02/18 09:26:08 - motiondetected_event - basic scenario
 - 18/02/18 09:26:09 - motiondetected_event - action: setCmd => 1
 - 18/02/18 09:26:09 - motiondetected_event - évaluer: SI ( "1" == "0" ) => FAUX
 - 18/02/18 09:26:09 - motiondetected_event - lance: SINON
 - 18/02/18 09:26:09 - motiondetected_event - toast: ACTION DÉSACTIVÉE => -1
 - 18/02/18 09:26:09 - motiondetected_event - action: resumeMotionDetector => 1
 - 18/02/18 09:26:09 - motiondetected_event - action: sleep => 2
 - 18/02/18 09:26:09 - motiondetected_event - évaluer: SI ( "2" == "1" ) => FAUX
 - 18/02/18 09:26:09 - motiondetected_event - FIN du bloc CONDITION
 - 18/02/18 09:26:09 - motiondetected_event - FIN du bloc CONDITION
 - 18/02/18 09:26:09 - MOTIONDETECTED_EVENT terminé
 - 18/02/18 09:26:24 - MOTIONDETECTED_EVENT déclenché
 - 18/02/18 09:26:24 - motiondetected_event - basic scenario
 - 18/02/18 09:26:24 - motiondetected_event - action: setCmd => 1
 - 18/02/18 09:26:24 - motiondetected_event - évaluer: SI ( "1" == "0" ) => FAUX
 - 18/02/18 09:26:25 - motiondetected_event - lance: SINON
 - 18/02/18 09:26:25 - motiondetected_event - toast: ACTION DÉSACTIVÉE => -1
 - 18/02/18 09:26:25 - motiondetected_event - action: resumeMotionDetector => 1
 - 18/02/18 09:26:25 - motiondetected_event - action: sleep => 2
 - 18/02/18 09:26:25 - motiondetected_event - évaluer: SI ( "2" == "1" ) => FAUX
 - 18/02/18 09:26:25 - motiondetected_event - FIN du bloc CONDITION
 - 18/02/18 09:26:25 - motiondetected_event - FIN du bloc CONDITION
 - 18/02/18 09:26:25 - MOTIONDETECTED_EVENT terminé
 - 18/02/18 09:26:33 - MOTIONDETECTED_EVENT déclenché
 - 18/02/18 09:26:33 - motiondetected_event - basic scenario
 - 18/02/18 09:26:35 - motiondetected_event - action: setCmd => 1
 - 18/02/18 09:26:35 - motiondetected_event - évaluer: SI ( "1" == "0" ) => FAUX
 - 18/02/18 09:26:36 - motiondetected_event - lance: SINON
 - 18/02/18 09:26:36 - motiondetected_event - toast: ACTION DÉSACTIVÉE => -1
 - 18/02/18 09:26:36 - motiondetected_event - action: resumeMotionDetector => 1
 - 18/02/18 09:26:36 - motiondetected_event - action: sleep => 2
 - 18/02/18 09:26:36 - motiondetected_event - évaluer: SI ( "2" == "1" ) => FAUX
 - 18/02/18 09:26:36 - motiondetected_event - FIN du bloc CONDITION
 - 18/02/18 09:26:36 - motiondetected_event - FIN du bloc CONDITION
 - 18/02/18 09:26:36 - MOTIONDETECTED_EVENT terminé
Je me dis :

- soit j'ai un souci dans mon scénario (qui gère le screen on/off)
- soit comme j'ai du mouvement "trop rapproché", trop récurrent, il y a peut être un souci car je ne respecte pas un délai plus important ? On voit ici que comme je suis devant la tablette, le scenario se lance visiblement toutes les 30 secondes...

J'ai modifié mon scénario par rapport au dernier post pour relacher plus tôt la détection de mouvement, car sinon j'étais obligé d'attendre la fin du dernier sleep de 10min écran éteint avant qu'il accepte de rallumer l'écran... lol.

Image

PS : le wifi de la tablette est tout le temps actif car sur secteur.

EDIT : du coup, je me dis quelque chose.
Le tél JPI que me gère les SMS/MMS utilise depuis plus d'un an le passage par scenario de Jeedom et non la commande set ou getcmd.
Au final, sur ce tél, je n'ai jamais eu cette erreur en passant par les scénarios. Un lien ?

Avatar de l’utilisateur
zeftp
Timide
Messages : 441
Inscription : 19 avr. 2015, 11:46
Localisation : Lyon

Re: [JPI-APK android] Tel Android dedié domotique

Message par zeftp » 18 févr. 2018, 11:55

Hello,

j'ai fait un scénario qui envoie bien une image de mon Jeedom en MMS (merci pour les exemples!!) mais je ne trouve pas d'équivalent côté JPI à savoir envoyer un MMS avec un getLastFile sur le répertoire de capture de photo du téléphone.

Mes objectifs :
- Sur un évènement extérieur (genre température > 30°C sur un de mes capteurs), faire prendre une photo par JPI et l'envoyer par MMS
- Mettre JPI en mode Motion detection et en cas de déclenchement, m'envoyer la photo par MMS

Le 2e me semble assez standard mais pourtant avec qqs recherches sur ce fil, je n'ai pas trouvé :( (pas taper!!)

Merci
Jeedom Smart, Mini+ + RFXCom + Clé 3g, onduleur, qqs trucs z wave, Keycode RFID Zipato + Flower Power + Téléc RFX chinoises x 4 + Caméra vidéo Foscam FI9821P + Détecteur ouverture de garage ZG8101 + Xiaomi & magic cube + SoundTab

rodfred
Timide
Messages : 179
Inscription : 15 janv. 2015, 13:12
Localisation : Bretagne

Re: [JPI-APK android] Tel Android dedié domotique

Message par rodfred » 18 févr. 2018, 18:52

J'ai des messages d'erreur sur jpi

- 18/02/18 17:56:36 - sendMMS(core) ERREUR: Impossible d’envoyer le message à +33699999999
- 18/02/18 17:56:36 - sendMms: ERREUR

les MMS arrivent bien sur mon tel

autre erreur

- 18/02/18 18:53:52 - Main ERREUR!: Problem with internal command (net): action
Null Pointer in Method Invocation

Avatar de l’utilisateur
fwehrle
Actif
Messages : 2828
Inscription : 01 juil. 2015, 11:03
Localisation : Strasbourg

Re: [JPI-APK android] Tel Android dedié domotique

Message par fwehrle » 18 févr. 2018, 19:14

Hello,
Perso, je me sers de Jpi pour afficher des App de maniere contextuelle, en fonction de l'activité en cours.
Si on écoute de la musique, j'affiche SqueezePlayer, si on regarde un Film : Yatzee, la telecommande, pour Netflix : l'appli Eponyme, etc...
Et ca, a chaque fois qu'on passe devant la tele ou a chaque changement de morceau.
Et j'aimerai allé plus loin et pouvoir choisir l'ecran de Netflix a afficher, idem pour les autres apps..
D'ou ma question : comment connaitre les intents possibles pour chaque app?
Merci
Jeedom 3 sur Debian 9 en VM Proxmox 5 sur NUC Intel.
(Anciennement sur Docker sur Syno DS-415+ / MariaDB / DSM 6)
Teleinfo / RFXCom / Stick ZWave / IPX / Serveur Traccar / Blea

Avatar de l’utilisateur
guenneguez_t
Actif
Messages : 2389
Inscription : 17 oct. 2014, 09:07
Localisation : Seine Maritime

Re: [JPI-APK android] Tel Android dedié domotique

Message par guenneguez_t » 18 févr. 2018, 22:17

Hello,

J'ai lutté (5 minutes) pour trouver l'URL de téléchargement de l'apk de JPI.
Pourquoi ne pas mettre un QRCode dans la doc du plugin ?

A+
Thomas
Développeur averti ;-)
Faire un don pour mes développements gratuits https://www.paypal.com/cgi-bin/webscr?c ... BA2DSQ844J

Avatar de l’utilisateur
fwehrle
Actif
Messages : 2828
Inscription : 01 juil. 2015, 11:03
Localisation : Strasbourg

Re: [JPI-APK android] Tel Android dedié domotique

Message par fwehrle » 18 févr. 2018, 22:42

Vu la qualité du boulot, on pourrait aussi le mettre sur le store Google. :)
Parce que si je galère à trouver l’url (et j’ai galeré.. un peu. ), je galèrerais aussi à trouver... le quand code! :))
Jeedom 3 sur Debian 9 en VM Proxmox 5 sur NUC Intel.
(Anciennement sur Docker sur Syno DS-415+ / MariaDB / DSM 6)
Teleinfo / RFXCom / Stick ZWave / IPX / Serveur Traccar / Blea

benj29
Actif
Messages : 3978
Inscription : 26 mars 2017, 09:57
Contact :

Re: [JPI-APK android] Tel Android dedié domotique

Message par benj29 » 18 févr. 2018, 22:47

Salut Thomas, c'est quand même dans la signature de Djul ;).

Bonsoir Djul, en plus du post précédent,

J'ai encore et toujours des loupés d'envoi de SMS, je me demande même si je n'ai pas fait un mauvais choix.

J'ai pourtant totalement changé ma manière d'envoi des SMS.
J'ai quitté le plugin JPI pour passer par le framework SC JPI, en passant que cela était plus fiable.

J'ai testé un scénario de code que j'ai autorisé en multi-lancement ou non... (en passant que la queue côté JPI ferait le boulot), mais dans les 2 cas, dès que j'ai deux textos à envoyer en intervalles rapprochés, loupés...

Je suis déjà en train de reprendre totalement ma gestion de présence pour réduire le nombre de textos (du genre les au revoir, bienvenue, alarme activée etc pour faire tout d'une traite sur le même texto), mais forcément, je dois envoeyr un texto à madame et un à moi pour informer c'est le bestcase.

Aujourd'hui, deux fois, pas pu envoyer à moi les textos.

Code : Tout sélectionner

 - 18/02/18 09:05:08 - sendSMS(core) ERREUR: Impossible d’envoyer le message à +XXXX
 - 18/02/18 10:41:12 - sendSMS(core) ERREUR: Impossible d’envoyer le message à +YYYYY
Elle a même reçu deux fois le même texto ! Alors que le scénario a tourné qu'une fois.
En creusant, certains envois (ce matin) ont généré une erreur.
D'autres n'apparaissent carrément pas le log event, mais laissant penser à un problème de recouvrement de mon nouveau scénario (moi qui pensait bien faire !).

Code : Tout sélectionner

------------------------------------
[2018-02-18 16:38:06][SCENARIO] Start : 'Scenario execute automatiquement sur evenement venant de : [Personnes][Emilie][Presence]'.
[2018-02-18 16:38:06][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-02-18 16:38:06][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2018-02-18 16:38:06][SCENARIO] Exécution du sous-élément de type [action] : then
[2018-02-18 16:38:09][SCENARIO] Ajout du message suivant dans le centre de message : Emilie est partie
[2018-02-18 16:38:09][SCENARIO] Affectation de la variable LastChangeEmilie => Absente depuis Dimanche 18 Février 16h38 = Absente depuis Dimanche 18 Février 16h38
[2018-02-18 16:38:09][SCENARIO] Exécution de la commande [Personnes][Emilie][Rafraichir] avec comme option(s) :
Array
(
[background] => 0
)
[2018-02-18 16:38:09][SCENARIO] Exécution d'un bloc élément : 1296
[2018-02-18 16:38:09][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-02-18 16:38:09][SCENARIO] Evaluation de la condition : [0 == 0 ET 1 == 1] = Vrai
[2018-02-18 16:38:09][SCENARIO] Exécution du sous-élément de type [action] : then
[2018-02-18 16:38:09][SCENARIO] Affectation de la variable notification_message => Au revoir Emilie ! = Au revoir Emilie !
[2018-02-18 16:38:09][SCENARIO] Affectation de la variable sms_priority => 2 = 2
[2018-02-18 16:38:09][SCENARIO] Lancement du scénario : Envoi d'un SMS paramétrable options : Array
(
)
[2018-02-18 16:38:09][SCENARIO] Affectation de la variable message_TTS => Emilie est bien partie. = Emilie est bien partie.
[2018-02-18 16:38:09][SCENARIO] Lancement du scénario : Gestion TTS Global options : Array
(
)
[2018-02-18 16:38:09][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-02-18 16:38:09][SCENARIO] Evaluation de la condition : [0 == 1] = Faux
[2018-02-18 16:38:09][SCENARIO] Exécution du sous-élément de type [action] : else
[2018-02-18 16:38:09][SCENARIO] Fin correcte du scénario
Je passe par un scénario jeedom qui exécute un code du framework et qui envoie le sms en fonction d'une priorité à une ou plusieurs personnes.

Code : Tout sélectionner

//charge la librairie JPI
$jpi = $sc->load('jpi', 'http://192.168.2.126:8080');

//récupère la variable à afficher du texte
$message = $sc->getVar('notification_message');
$priority = $sc->getVar('sms_priority');

//Envoie le SMS

if ($priority == 1) 
{
	$jpi->sendSms('{MY_NUMBER}', $message);
} 
elseif ($priority == 2)
{
    $jpi->sendSms('{NUM_1}', $message);
} 
elseif ($priority == 3)
{
    $jpi->sendSms('{MY_NUMBER};{NUM_2}', $message);
} 
elseif ($priority == 4)
{
    $jpi->sendSms('{NUM_3};{NUM_4}', $message);
} 
elseif ($priority == 5)
{
    $jpi->sendSms('{NUM_5};{NUM_6}', $message);
} 
elseif ($priority == 6)
{
    $jpi->sendSms('{NUM_7}', $message);
} 
elseif ($priority == 7)
{
    $jpi->sendSms('{MY_NUMBER};{NUM_1};{NUM_2};{NUM_3};{NUM_4};{NUM_5};{NUM_6}', $message);
} 
else
{
    $jpi->sendSms('{MY_NUMBER}', $message); 
}
J'ai tenté d'introduire un scénario père qui pilote le scénario enfant qui envoie les SMS pour m'assurer qu'il n'y ait pas de recouvrement...
A voir si cela arrange les soucis ou non ...

Image

Avatar de l’utilisateur
dJuL
Actif
Messages : 1425
Inscription : 28 janv. 2016, 01:37
Localisation : Ile de France

Re: [JPI-APK android] Tel Android dedié domotique

Message par dJuL » 18 févr. 2018, 23:19

Je pars au ski tout à l'heure et mon sac n'est pas encore prêt...
Donc je ne pourrai plus faire grand chose avant de rentrer.
Mais je vais rajouter un settings pour relancer automatiquement le sms en cas d'echec dans la prochaine version.
Si ça bug quand les messages sont trop rapprochés, je pense que cela vient de ton option dual sim.
Chez moi j'ai essayé d'envoyer 50 sms dans 50 threads pile poil en simultané pour testé la stabilité et j'ai bien reçu les 50.

En attendant tu peux tout de même essayer ça :

Code : Tout sélectionner

$message = 'Message de test';
$dest = '{MY_NUMBER}';

$tentatives = 3; //nombre tentatives
$sleep = 3; //temps de pause en secondes si echec

$result = $jpi->sendSms($dest, $message);
$count = 1;
while ($jpi->STATUS($result) != 1 && $count <= $tentatives) { 
  $count++;
  $sc->pause($sleep);
  $result = $jpi->sendSms($dest, $message);
}
J'ai pas testé, j'ai tapé ça à l'arrache ici mais ça devrait marcher.
L'idée est de relancé le SMS tant qu'il y a un echec avec une pause entre les tentatives.

Du coup tu peux coller ce code tout en bas de ton scénario et dans tes if ($priority... ) tu as juste à définir $dest
Dernière version de JPI
Un bouton donation se trouve dans la fenêtre DIVERS / A propos de l'interface web si vous souhaitez soutenir le projet.

Répondre

Revenir vers « Développements sur Jeedom »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités