Avant toute chose merci de (re)prendre connaissance de la charte et de la respecter.
Pour résumer :
- Avant de poser une question, je cherche si la réponse existe
- Je suis poli, courtois et je respecte tout un chacun sur le forum
- Si un post m'agace : je m'en éloigne plutôt que de répondre d'une façon qui pourrait être mal interprétée


Il n'est jamais du luxe que de rappeler des choses simples :
Courtoisie, amabilité, politesse et bonne humeur sont les maîtres mots pour un forum sympathique, bienveillant et accueillant :)

Toute la communauté vous remercie

Support xPL

Retrouvez ici des sujets concernant le protocole xPL et les modules domotiques de type xPL utilisés avec JEEDOM
Chestroled
Timide
Messages : 74
Inscription : 29 juin 2014, 17:32

Re: Support xPL

Message par Chestroled » 05 sept. 2017, 09:26

Je constate moi aussi les soucis de mise à jour du plugin.

Bien conscient que le protocole Xpl ne soit pas aussi plébiscité que le Zwave , je déplore le peu de suivi du plugin.

Je me doute qu'il y ai de bien plus grande priorité dans Jeedom , mais ça fait maintenant plus de 2 ans que je suis coincé avec mes équipements Xpl sans pouvoir interagir avec Jeedom, c'est dommage 🤔

kiwihc16
Timide
Messages : 310
Inscription : 08 févr. 2016, 12:40

Re: Support xPL

Message par kiwihc16 » 05 sept. 2017, 10:54

Je viens de faire la mise a jour avec le market et tout est OK pour l instant. @Chestroled, je peux essayer de t aider. Quelle est ta configuration et quels sont tes problèmes ?

Chestroled
Timide
Messages : 74
Inscription : 29 juin 2014, 17:32

Re: Support xPL

Message par Chestroled » 05 sept. 2017, 17:59

Salut @kiwihc16 , j'en serais heureux, j'avais réussi avant les problèmes de plugin à avoir un demon lancé . Mais impossible de récupérer mes équipements dans Jeedom ou à connaitre la bonne syntaxe à utiliser pour les ajouter... Pourtant j'arrivais bien à voir l'activité de mon reseau xPL avec mes équipements via un logger .

kiwihc16
Timide
Messages : 310
Inscription : 08 févr. 2016, 12:40

Re: Support xPL

Message par kiwihc16 » 05 sept. 2017, 18:19

Je ne promets rien mais on peut peut être trouvé une solution. Moi j'ai deux équipements: un qui envoie de messages depuis asterisk en fonction des appels, et un arduino qui controle ma piscine.
Exemple de config:
Capture d’écran 2017-09-05 à 18.16.25.png
Capture d’écran 2017-09-05 à 18.16.25.png (49.4 Kio) Consulté 303 fois
Quels sont tes équipements, tes logs ,...

Chestroled
Timide
Messages : 74
Inscription : 29 juin 2014, 17:32

Re: Support xPL

Message par Chestroled » 05 sept. 2017, 23:16

C'est sympa,

Je rencontre actuellement des soucis avec ma SD ( je viens de commander un SSD msata pour être tranquille) mais je vais essayer te montrer mes logs xpl avec les infos des équipements.

La question est, est-ce que les équipements remontent tous seuls ?

kiwihc16
Timide
Messages : 310
Inscription : 08 févr. 2016, 12:40

Re: Support xPL

Message par kiwihc16 » 06 sept. 2017, 10:06

Dans certains cas oui, je ne pourrai dire dans tous les cas. Example, je lance un logger:
root@jeedompro:~/xPLLib/examples# ./xPL_Logger
...
17/09/06 10:02:45 [xPL_MSG] TYPE=xpl-stat, SOURCE=cdp1802-logger.C0A80421j78qkty0, TARGET=*, CLASS=config, TYPE=app
...

Et il apparait comme objet dans jeedom:
Capture d’écran 2017-09-06 à 10.04.21.png
Capture d’écran 2017-09-06 à 10.04.21.png (22.52 Kio) Consulté 291 fois
Pour ce qui est des commandes, je ne sais pas. Je me souviens les avoir crées à la main pour mes besoins.

Chestroled
Timide
Messages : 74
Inscription : 29 juin 2014, 17:32

Re: Support xPL

Message par Chestroled » 06 sept. 2017, 22:48

D'accord, mes équipements ne remontent pas pour ma part , sauf un.

J'arrive à logger l'activité réseaux :

Code : Tout sélectionner

sensor.device	06-09-17 22:23:24	*	xplduino-switch.smb_1	xpl-trig	{
type=input
device=bp_couloir_arr
current=pulse
}
lighting.device	06-09-17 22:23:24	*	xplduino-lighting.smb_1	xpl-trig	{
device=couloir_arr
level=100
fade-rate=2
}
hbeat.basic	06-09-17 22:23:30	*	xplduino-config.quest	xpl-stat	{interval=60}
sensor.device	06-09-17 22:23:57	*	xplduino-switch.smb_1	xpl-trig	{
type=input
device=bp_couloir_arr
current=pulse
}
lighting.device	06-09-17 22:23:58	*	xplduino-lighting.smb_1	xpl-trig	{
device=couloir_arr
level=0
fade-rate=2
}
sensor.device	06-09-17 22:23:58	*	xplduino-switch.smb_2	xpl-trig	{
type=input
device=bp_ext_passe
current=pulse
}

lighting.device	06-09-17 22:23:59	*	xplduino-lighting.smb_2	xpl-trig	{
device=ext_passerelle
level=100
fade-rate=2
}
Il faudrait que je puisse créer ces équipements avec les bonnes commande dans jeedom ?

Veux-tu que l'on passes en priver pour ne pas polluer le topic ?

Merci !

tautin25
Timide
Messages : 2
Inscription : 26 mars 2015, 09:50

Re: Support xPL

Message par tautin25 » 20 sept. 2017, 20:58

domos a écrit :
06 mars 2015, 22:39
Bonjour,

Il faut ajouter une "Command" xPL de type Action
Shema: "sensor.basic" / "xpl-cmnd"
et de body:

Code : Tout sélectionner

device=philipshue1
type=color
current=#color#
il suffira d'appeler cette Command / Action dans un Senario, le paramètre color sera demandé.
Bonjour,
Mon choix d'utiliser Jeedom est en partie du à l'intégration du protocole xPL. ;) J'utilise jusqu'à ce jour xPL pour recevoir des informations de mes équipements Arduino et tout fonctionne bien mis à part le hub xPL qui est quelques fois un peu récalcitrant au démarrage.

Aujourd'hui, j'ai désire envoyer un paramètre numérique récupérére d'un autre équipement ou d'une varaible depus Jeedom vers un équipement xPL.
J'ai donc appliqué la méthode exposée ci-dessus sans succès.

Code : Tout sélectionner

xpl-cmnd
{
hop=1
source=xpl-jeedom.jeedom
target=xpl-arduino.maquette
}
sensor.basic
{
device=compteur
type=granule
slider=#value#
}
Le paramètre #value# n'est pas remplacé par sa valeur.
J'ai tourné le problème dans tous les sens en changeant slider= par current= ou par value= sans succès.

Merci de vos lumières :idea:

kiwihc16
Timide
Messages : 310
Inscription : 08 févr. 2016, 12:40

Re: Support xPL

Message par kiwihc16 » 23 sept. 2017, 12:11

Après plusieurs sessions de debugage avec @Chestroled, j'ai fait deux petites verrues dans le plugin XPL pour intégrer la solution xPLDuino http://xplduino.org/fr/.
Malheureusement xPLDuino n'est pas parfaitement en ligne avec le protocol XPL alors il faut ruser.
@Chestroled doit faire un petit tutoriel pour ceux que cela pourrait intéresser. Il va aussi voir avec le projet xPLDuino s'ils peuvent faire les modifs pour être compatible XPL Jeedom.
A suivre.

kiwihc16
Timide
Messages : 310
Inscription : 08 févr. 2016, 12:40

Re: Support xPL

Message par kiwihc16 » 23 sept. 2017, 18:17

Comme je fais du menage sur ma conf, je mets qq informations sur la facon de supporter xPLDuino. Je suppose que @Chestroled completera sur la base de sa configuration complete en particulier en mettant les captures d'écrans.
Premier problème rencontré, la reception. xPLDuino utilise le schéma lighting.device mais xplduino n'envoie pas le bon format de data. De ce fait j'ai fait une verrue qui regarde l'émetteur du message et si c'est xplduino, je fais un processing specific pour matcher les infos dans jeedom. En gros le champ device est utilisé pour toutes les variables et le fade-rate n'est pas pris en compte. Cela permet de garder le plugin XPL compatible avec les modules XPL (cf premier fichier).
Pour la partie envoie de commande, jeedom envoie cmnd alors que xPLDuino attend cmd. Mais la la verrue est radical donc les autres types d'équipement XPL ne sont plus compatible. Y certainement un moyen de faire mieux si besoin (cf deuxième fichier)
J'ai des captures d'écrans mais qui ne sont pas a jour. Je préfère que @Chestroled les mette car il a la conf complete.

----------
Fichier 1: lighting.device.class.php

remplacer la fonction parserMessage par:

public static function parserMessage($_message) {
if ($_message->getIdentifier() == xPLMessage::xplcmnd) {
return false;
}
$type = $_message->getIdentifier(); // 1,2,3
$shema = $_message->messageSchemeIdentifier();

/*
http://xplproject.org.uk/wiki/Schema_-_ ... ing.device

network=ID
device=ID
channel=#

state=[on|off]
level=0-100
*/

/* xPLduino
device=spot_marches

level=0
fade-rate=2

pour faire une correspondance:
network <= device
device <= device
channel <= level (pour premiere cmd) <= fade-rate (pour deuxieme commande)
value <= level value or fade-rate value
*/

$source = $_message->source();
log::add('xplLightingScheme', 'info', '-');
log::add('xplLightingScheme', 'info', 'source: '.$source );
if ( substr($source,0,8) == 'xplduino' ) {
log::add('xplLightingScheme', 'debug', 'xplduino' );
$network = $_message->bodyItem('device');
$device = $_message->bodyItem('device');
$channel = $_message->bodyItem('device');

// $state = $_message->bodyItem('fade-rate');
$state = $_message->bodyItem('level');
}
else
{
log::add('xplLightingScheme', 'debug', 'NOT xplduino' );
$network = $_message->bodyItem('network');
$device = $_message->bodyItem('device');
$channel = $_message->bodyItem('channel');

$state = $_message->bodyItem('state');
$level = $_message->bodyItem('level');
}


$xPL = xPL::byLogicalId($source, 'xpl');
if (is_object($xPL)) {
$list_cmd = $xPL->getCmd();
foreach ($list_cmd as $cmd) {
$shema_compare = $cmd->getConfiguration('xPLschema');
$type_compare = $cmd->getConfiguration('xPLtypeCmd'); //'XPL-TRIG'
$network_compare = $cmd->getItem('network');
$device_compare = $cmd->getItem('device');
$channel_compare = $cmd->getItem('channel');

if ($shema==$shema_compare
&& ($type==xPLMessage::xpltrig && $type_compare=='XPL-TRIG' || $type==xPLMessage::xplstat && $type_compare=='XPL-STAT')
&& $network === $network_compare
&& $device === $device_compare
&& $channel === $channel_compare
) {
$event_info = array();
$event_info['cmd_id'] = $cmd->getId();
$event_info['value'] = $state;
return array($event_info);
}
}
}
return array();
}




-----------
Fichier 2: xpl.class.php
Remplacer:
case 'XPL-CMND':
$message .= "xpl-cmnd\n";
break;
par
case 'XPL-CMND':
$message .= "xpl-cmd\n";
break;

----------

kiwihc16
Timide
Messages : 310
Inscription : 08 févr. 2016, 12:40

Re: Support xPL

Message par kiwihc16 » 23 sept. 2017, 18:21

Captures d écrans
Capture d’écran 2017-09-23 à 18.02.53.png
A
Capture d’écran 2017-09-23 à 18.02.53.png (64 Kio) Consulté 256 fois
Capture d’écran 2017-09-23 à 18.02.33.png
B
Capture d’écran 2017-09-23 à 18.02.33.png (64.46 Kio) Consulté 256 fois
Capture d’écran 2017-09-23 à 18.02.25.png
C
Capture d’écran 2017-09-23 à 18.02.25.png (66.31 Kio) Consulté 256 fois

kiwihc16
Timide
Messages : 310
Inscription : 08 févr. 2016, 12:40

Re: Support xPL

Message par kiwihc16 » 23 sept. 2017, 18:22

Capture d’écran 2017-09-23 à 18.03.16.png
Capture d’écran 2017-09-23 à 18.03.16.png (94.39 Kio) Consulté 256 fois

ninux
Timide
Messages : 16
Inscription : 25 sept. 2015, 17:04

Re: Support xPL

Message par ninux » 30 sept. 2017, 10:08

Bonjour,

Quelle source utiliser vous avec Stretch pour votre Hub XPL ?
J'ai des erreurs de compilation avec les différentes version.

Merci

kiwihc16
Timide
Messages : 310
Inscription : 08 févr. 2016, 12:40

Re: Support xPL

Message par kiwihc16 » 30 sept. 2017, 12:10

Perso j'utilise xPLIB de http://www.xpl4java.org/xPL4Linux/ depuis le début. Je n'ai pas essayé de le compiler en Stretch. Est ce que tu as essayé ?
Je télécharge Debian 9.1 adm64 et vais le tester sur une VM. On verra ce que cela donne.

kiwihc16
Timide
Messages : 310
Inscription : 08 févr. 2016, 12:40

Re: Support xPL

Message par kiwihc16 » 30 sept. 2017, 21:49

Install fresh de debian9 sur une VM (amd64), download de http://www.xpl4java.org/xPL4Linux/ xPLLIB.
Compilation de la librairie, puis de l'exemple qui contient le HUB.
Compilation sans problème. Lancement du daemon sans problème.
Je n'ai pas fait de traffic sur le Hub mais tout semble fonctionner normalement.

ninux
Timide
Messages : 16
Inscription : 25 sept. 2015, 17:04

Re: Support xPL

Message par ninux » 01 oct. 2017, 11:24

Merci pour ta réponse Kiwihc16 mais impossible de faire fonctionner xPLLIB de http://www.xpl4java.org/xPL4Linux/ sur Raspbian Strech (Debian 9).
Après pas mal de recherche j'ai trouvé ce GIT qui fonctionne : https://github.com/FragJage/xPLHub

Mon Jeedom remonte maintenant correctement mes Sondes Oregon de mon RFXCOM Lan :)

kiwihc16
Timide
Messages : 310
Inscription : 08 févr. 2016, 12:40

Re: Support xPL

Message par kiwihc16 » 02 oct. 2017, 12:09

loic a écrit :
30 mars 2017, 15:06
Bonjour,
Je pense que ce n'est pas la meilleurs correction, le mieux serait plutôt de changer le cycle de polling, en mettant par exemple 0.1 au lieu de 1
Bonjour Loic,
Je viens de modifier ma config avec:
public static function deamon() {
for ($i=0; $i<100; $i++) {
$xplinstance = XPLInstance::getXPLInstance();
$eventReturn = $xplinstance->doEvents();
if ($eventReturn == 1) {
xPL::proccessMessageEvent($xplinstance->getMessage());
} else {
return;
}
}
}
Ce qui est mieux que la première version. Je peux traiter maximum 100 messages à chaque itérations (toutes les secondes). Je cap le volume max.
Et je traite que les messages dans la queue, une fois la queue vide, je rend la main (else return).

Avatar de l’utilisateur
loic
Administrateur
Messages : 11517
Inscription : 01 févr. 2014, 16:21

Re: Support xPL

Message par loic » 02 oct. 2017, 13:23

Salut,

Peux tu essayer ca :
public static function deamon() {
$xplinstance = XPLInstance::getXPLInstance();
while (true) {
$eventReturn = $xplinstance->doEvents();
if ($eventReturn == 1) {
xPL::proccessMessageEvent($xplinstance->getMessage());
} else {
return;
}
}
}

Je pense que c'est mieux car la je traite tous ce qu'il y a en attentes
Aide nous à t'aider : mets des logs, détaille ton soucis... Vous n'aurez aucune réponse de ma part si votre demande n'est pas détaillée (log, capture d'écran lisible...) ou si vous ne postez pas dans la bonne section

kiwihc16
Timide
Messages : 310
Inscription : 08 févr. 2016, 12:40

Re: Support xPL

Message par kiwihc16 » 02 oct. 2017, 16:51

loic a écrit :
02 oct. 2017, 13:23
Salut,

Peux tu essayer ca :
public static function deamon() {
$xplinstance = XPLInstance::getXPLInstance();
while (true) {
$eventReturn = $xplinstance->doEvents();
if ($eventReturn == 1) {
xPL::proccessMessageEvent($xplinstance->getMessage());
} else {
return;
}
}
}

Je pense que c'est mieux car la je traite tous ce qu'il y a en attentes
Ca semble fonctionner. Si tu pouvais mettre cela dans une mise à jour du plugin, cela m'éviterai de faire la bidouille à chaque mise à jour.

Si à la même occasion tu pouvais ajouter une ligne de log dans porccessMessage event:
public static function proccessMessageEvent($_message = null) {
log::add('xpl', 'debug', 'proccessMessageEvent: ' . $_message->messageSchemeIdentifier() . ' ' . $_message->source() . ' ' . $_message->bodyItem('device') . ' ' . $_message->bodyItem('type') . ' ' . $_message->bodyItem('current') );
Cela serait top !!!

while: un risque (probablement très faible) qu'on ne sorte jamais de la boucle.

Avatar de l’utilisateur
loic
Administrateur
Messages : 11517
Inscription : 01 févr. 2014, 16:21

Re: Support xPL

Message par loic » 02 oct. 2017, 17:19

J'ai tout poussé ca devrait etre bon demain
Aide nous à t'aider : mets des logs, détaille ton soucis... Vous n'aurez aucune réponse de ma part si votre demande n'est pas détaillée (log, capture d'écran lisible...) ou si vous ne postez pas dans la bonne section

Répondre

Revenir vers « [Plugin Officiel] xPL »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité