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

Single source

Retrouvez ici des sujets concernant le protocole xPL et les modules domotiques de type xPL utilisés avec JEEDOM
overload
Timide
Messages : 2
Inscription : 03 nov. 2017, 19:52

Single source

Message par overload » 03 nov. 2017, 19:58

Hello !

J'ai un petit soucis avec des devices de la même source :

[2017-11-03 19:50:14][DEBUG] : proccessMessageEvent: sensor.basic xpl-arduino.90a2da0dcad5 2826FCF1040000FD temp 22.43
[2017-11-03 19:50:14][DEBUG] : xpl-arduino.90a2da0dcad5 2826FCF1040000FD temp 22.43
[2017-11-03 19:50:14][DEBUG] : xPL object !
[2017-11-03 19:50:14][DEBUG] : 2826FCF1040000FD=28FFCDC5841605BB | temp=temp
[2017-11-03 19:50:19][DEBUG] : proccessMessageEvent: sensor.basic xpl-arduino.90a2da0dcad5 28F104F104000024 temp 24.81
[2017-11-03 19:50:19][DEBUG] : xpl-arduino.90a2da0dcad5 28F104F104000024 temp 24.81
[2017-11-03 19:50:19][DEBUG] : xPL object !
[2017-11-03 19:50:19][DEBUG] : 28F104F104000024=28FFCDC5841605BB | temp=temp
[2017-11-03 19:50:24][DEBUG] : proccessMessageEvent: sensor.basic xpl-arduino.90a2da0dcad5 28FFF58FA61603FC temp 23.31
[2017-11-03 19:50:24][DEBUG] : xpl-arduino.90a2da0dcad5 28FFF58FA61603FC temp 23.31
[2017-11-03 19:50:24][DEBUG] : xPL object !
[2017-11-03 19:50:24][DEBUG] : 28FFF58FA61603FC=28FFCDC5841605BB | temp=temp
[2017-11-03 19:50:29][DEBUG] : proccessMessageEvent: sensor.basic xpl-arduino.90a2da0dcad5 28FFCDC5841605BB temp 25.87
[2017-11-03 19:50:29][DEBUG] : xpl-arduino.90a2da0dcad5 28FFCDC5841605BB temp 25.87
[2017-11-03 19:50:29][DEBUG] : xPL object !
[2017-11-03 19:50:29][DEBUG] : 28FFCDC5841605BB=28FFCDC5841605BB | temp=temp


J'ai amélioré un peu le débug pour savoir où ca buguai...

Est-ce possible de pouvoir utiliser la même source avec des devices différents ? (Domos, si tu passes dans le coin, je sais que tu peux le faire! :p )

overload
Timide
Messages : 2
Inscription : 03 nov. 2017, 19:52

Re: Single source

Message par overload » 08 nov. 2017, 16:55

J'ai trouvé un contournement, voici le patch : (Dans /var/www/html/plugins/xpl/core/schema)

Code : Tout sélectionner

@@ -32,23 +32,28 @@
         $device = $_message->bodyItem('device');
         $type = $_message->bodyItem('type');
         $value = $_message->bodyItem('current');
-        $xPL = xPL::byLogicalId($source, 'xpl');
-        if (is_object($xPL)) {
-            $list_cmd = $xPL->getCmd();
-            foreach ($list_cmd as $cmd) {
-                $device_compare = $cmd->getItem('device');
-                $type_compare = $cmd->getItem('type');
-                if ($device === $device_compare && $type === $type_compare) {
-                    $event_info = array();
-                    $event_info['cmd_id'] = $cmd->getId();
-                    $event_info['value'] = $value;
-                    return array($event_info);
+        log::add('xpl', 'debug', "    ".$source." ".$device." ".$type." ".$value);
+        $xPL = xPL::byLogicalId($source, 'xpl', true);
+        foreach ($xPL  as $key) {
+            if (is_object($key)) {
+                log::add('xpl', 'debug', "    xPL object !");
+                $list_cmd = $key->getCmd();
+                foreach ($list_cmd as $cmd) {
+                    $device_compare = $cmd->getItem('device');
+                    $type_compare = $cmd->getItem('type');
+                    log::add('xpl', 'debug', "    ".$device."=".$device_compare." | ".$type."=".$type_compare);
+                    if ($device === $device_compare && $type === $type_compare) {
+			log::add('xpl', 'debug', "    OK! Let's update values!");
+                        $event_info = array();
+                        $event_info['cmd_id'] = $cmd->getId();
+                        $event_info['value'] = $value;
+                        return array($event_info);
+                    }
                 }
             }
         }
         return array();
     }
-
 }
 
 ?>

ygageot
Timide
Messages : 8
Inscription : 24 nov. 2017, 21:12

Re: Single source

Message par ygageot » 24 nov. 2017, 21:27

J'ai bien l'impression d'avoir le même problème :

J'ai sur mon réseau un "vieil" RFXLAN qui émet des messages tels que :
xpl-trig
{
hop=1
source=rfxcom-lan.0004a31bb690
target=*
}
sensor.basic
{
device=th1 0x2801
type=temp
current=20.5
units=c
}

Dans le log du plugin je remarque des messages tels que :
proccessMessageEvent: sensor.basic rfxcom-lan.0004a31bb690 th1 0x2801 temp 20.5

Le plug a créé un seul équipement correspondant au RFXLAN

Si vous pensez que c'est le même problème, je testerai votre modification.

ygageot
Timide
Messages : 8
Inscription : 24 nov. 2017, 21:12

Re: Single source

Message par ygageot » 27 nov. 2017, 00:34

Je viens d'essayer votre modification mais sans succès.

Avec le module original ainsi que le votre, la source RFXLAN n'a aucune commande de définie aussi rien n'est trouvé.

J'ai ajouté manuellement quelques commandes xpl-trig de capteurs de température et de consommation électrique et les valeurs se mettent à jour dans le dashboard.

j'ai 10 capteurs Oregon temp/humidity/pressure soit pas mal de commandes à créer !!!!!!

Je vais voir ce que je peux faire de mieux.

Répondre

Revenir vers « [Plugin Officiel] xPL »

Qui est en ligne ?

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