Page 15 sur 198

Re: Plugin Abeille

Publié : 25 févr. 2018, 20:13
par graouxx
Je viens de regarder d'un peu plus près.
A priori c'est le parser qui occupe la CPU, j'ai killé les daemons les uns après les autres et c'est cette ligne qui pose problème :

Code : Tout sélectionner

/usr/bin/php /var/www/html/plugins/Abeille/core/class/../../resources/AbeilleDeamon/AbeilleParser.php /dev/ttyUSB0

Re: Plugin Abeille

Publié : 25 févr. 2018, 20:40
par kiwihc16
Oui c est aussi ma conclusion. Je pense que c est la boucle d attente sur les messages venant de la zigate. Probablement le read n est pas bloquant et ça boucle en permanence.

Re: Plugin Abeille

Publié : 25 févr. 2018, 21:13
par graouxx
J'ai essayé de basculer le fichier "input" sur le tmpfs de jeedom dans /tmp/jeedom et ce n'est pas mieux.

Re: Plugin Abeille

Publié : 25 févr. 2018, 21:27
par jdkart
>Les Xiaomi envoient des infos propriétaires soient sur appui du bouton lateral soient des temps en temps. L'un de ces champs n'est/n'était pas >transmis par la zigate. Une proposition a été incluse dans les derniers firmware de la zigate mais je n'ai pas encore vérifié le bon fonctionnement. >C'est un sujet en cours de dev et c est dans la liste des choses a faire.
>Dans un premier temps attendez une journée pour voir si effectivement aucune info ne remonte, essayez aussi avec le dernier firmware et >partagez votre experience.


Bonsoir,
Merci pour réponse et votre travail
- Je suis prêt à réaliser à réaliser des tests, par contre je suis novice et je rencontre quelques difficultés :
J'ai suivi votre recommandation en installant la dernière version du firmware Zigate 30d et ai voulu consulter les logs pour regarder si je trouvai une trace de la commande batterie. Mais je rencontre des difficultés.
Comment faut-il procéder pour analyser les informations qui remontent ? en consultant les logs ? J'ai essayé de regarder mes logs mais je ne retrouve pas d'informations. ce qui me parait étrange est que mes logs AbeilleParser sont vides et AbeilleParser.php.log renvoie uniquement l'information "protocolDatas -1".
Pouvez-vous me guider ?
- Autrement, je sais qu'avec le firmware Zigate 30d, les données concernant la batterie remontent. J'ai un ami qui avait le même problème sur Domotics, et qui depuis l'installation a réussi à récupérer les commandes

Merci,

Re: Plugin Abeille

Publié : 25 févr. 2018, 22:30
par graouxx
kiwihc16 a écrit :
25 févr. 2018, 20:40
Oui c est aussi ma conclusion. Je pense que c est la boucle d attente sur les messages venant de la zigate. Probablement le read n est pas bloquant et ça boucle en permanence.

J'ai trouvé une solution assez simple. Dans le fichier includes/fifo.php il faut s'inspirer de ce qui est fait ici :
http://php.net/manual/fr/function.posix ... .php#95385

Il faut par contre ajuster le paramètre $tv_usec de la fonction stream_select (http://php.net/manual/fr/function.stream-select.php). Avec 15 usec je reste à 30% de cpu, en passant à 1500 le process php n'apparait plus dans la commande top. Et niveau utilisation je ne vois pas de différence.

Concrètement, cela donne ça dans le fichier fifo.php :

Code : Tout sélectionner

 function read() {
	// reads a line from a fifo file
       $readers = array($this->fp); 
        if (stream_select($readers, $writers = null, $except = null, 0, 1500) == 1) { 
		$line = '';
		do 
		{
			$c = fgetc( $this->fp );
			if( ($c != '') and ($c != "\n") and !feof( $this->fp ) ) $line .= $c;
		} while( ($c != '') and ($c != "\n") and !feof( $this->fp ) );
		return $line;
	}
}

Re: Plugin Abeille

Publié : 25 févr. 2018, 22:34
par kiwihc16
graouxx a écrit :
25 févr. 2018, 21:13
J'ai essayé de basculer le fichier "input" sur le tmpfs de jeedom dans /tmp/jeedom et ce n'est pas mieux.
Le fichier est un pipe donc pas de changement.

Re: Plugin Abeille

Publié : 25 févr. 2018, 22:42
par kiwihc16
graouxx a écrit :
25 févr. 2018, 22:30
kiwihc16 a écrit :
25 févr. 2018, 20:40
Oui c est aussi ma conclusion. Je pense que c est la boucle d attente sur les messages venant de la zigate. Probablement le read n est pas bloquant et ça boucle en permanence.

J'ai trouvé une solution assez simple. Dans le fichier includes/fifo.php il faut s'inspirer de ce qui est fait ici :
http://php.net/manual/fr/function.posix ... .php#95385

Il faut par contre ajuster le paramètre $tv_usec de la fonction stream_select (http://php.net/manual/fr/function.stream-select.php). Avec 15 usec je reste à 30% de cpu, en passant à 1500 le process php n'apparait plus dans la commande top. Et niveau utilisation je ne vois pas de différence.

Concrètement, cela donne ça dans le fichier fifo.php :

Code : Tout sélectionner

 function read() {
	// reads a line from a fifo file
       $readers = array($this->fp); 
        if (stream_select($readers, $writers = null, $except = null, 0, 1500) == 1) { 
		$line = '';
		do 
		{
			$c = fgetc( $this->fp );
			if( ($c != '') and ($c != "\n") and !feof( $this->fp ) ) $line .= $c;
		} while( ($c != '') and ($c != "\n") and !feof( $this->fp ) );
		return $line;
	}
}
Ajouté au master.

Re: Plugin Abeille

Publié : 25 févr. 2018, 22:46
par kiwihc16
jdkart a écrit :
25 févr. 2018, 21:27
>Les Xiaomi envoient des infos propriétaires soient sur appui du bouton lateral soient des temps en temps. L'un de ces champs n'est/n'était pas >transmis par la zigate. Une proposition a été incluse dans les derniers firmware de la zigate mais je n'ai pas encore vérifié le bon fonctionnement. >C'est un sujet en cours de dev et c est dans la liste des choses a faire.
>Dans un premier temps attendez une journée pour voir si effectivement aucune info ne remonte, essayez aussi avec le dernier firmware et >partagez votre experience.


Bonsoir,
Merci pour réponse et votre travail
- Je suis prêt à réaliser à réaliser des tests, par contre je suis novice et je rencontre quelques difficultés :
J'ai suivi votre recommandation en installant la dernière version du firmware Zigate 30d et ai voulu consulter les logs pour regarder si je trouvai une trace de la commande batterie. Mais je rencontre des difficultés.
Comment faut-il procéder pour analyser les informations qui remontent ? en consultant les logs ? J'ai essayé de regarder mes logs mais je ne retrouve pas d'informations. ce qui me parait étrange est que mes logs AbeilleParser sont vides et AbeilleParser.php.log renvoie uniquement l'information "protocolDatas -1".
Pouvez-vous me guider ?
- Autrement, je sais qu'avec le firmware Zigate 30d, les données concernant la batterie remontent. J'ai un ami qui avait le même problème sur Domotics, et qui depuis l'installation a réussi à récupérer les commandes

Merci,
Les infos qui remontent sont visibles dans le log AbeilleParser. Pour ce faire il faut que le plugin soit en mode débug.
Le message "protocolDatas -1" était du a un probleme entre la zigate et le passer. Normalement cette situation n'existe plus. Tu dois avoir une version un peu "vieille" du plugin. Quelle version as tu ?

Avec la 30D et les dernières versions d'Abeille les infos remontent, j'avais fait des tests pour vérifier.

Re: Plugin Abeille

Publié : 26 févr. 2018, 12:52
par jdkart
Bonjour,
Ma version du plugin semble être à jour, J'utilise la version Jeedom3.1.7 du 2018-02-17 06:14:14 ?
Merci,

Re: Plugin Abeille

Publié : 26 févr. 2018, 17:19
par jdkart
Je viens de vérifier le mode debug est bien activé.
Ma version du plugin est bien à jour, j'utilise la version Jeedom3.1.7 du 2018-02-17 06:14:14.
Les autres logs AbeilleMQTTCmd et AbeilleSerialRead fonctionnent, seul le AbeilleParser est vide.
Merci

Re: Plugin Abeille

Publié : 27 févr. 2018, 10:46
par Tao67
Bonjour,

J'aimerais savoir si c'est normal que les remontées d'information des sondes carré xiaomi soient si espacées. Il se passe parfois 20 mn voire des heures avant de recevoir quelque chose. Est ce normal?
Elles ne devraient pas envoyer à intervalle régulier les données? (sinon c'est pas très utile)
Y a t'il un réglage à faire?
Merci pour le plugin. Il est pas mal du tout!

Re: Plugin Abeille

Publié : 27 févr. 2018, 10:59
par Tao67
Bonjour,

J'aimerais savoir si c'est normal que les remontées d'information des sondes carré xiaomi soient si espacées. Il se passe parfois 20 mn voire des heures avant de recevoir quelque chose. Est ce normal?
Elles ne devraient pas envoyer à intervalle régulier les données? (sinon c'est pas très utile)
Y a t'il un réglage à faire?
Merci pour le plugin!

Re: Plugin Abeille

Publié : 27 févr. 2018, 11:18
par edgd1er
Tao67 a écrit :Bonjour,

J'aimerais savoir si c'est normal que les remontées d'information des sondes carré xiaomi soient si espacées. Il se passe parfois 20 mn voire des heures avant de recevoir quelque chose. Est ce normal?
Elles ne devraient pas envoyer à intervalle régulier les données? (sinon c'est pas très utile)
Y a t'il un réglage à faire?
Merci pour le plugin!
Bjr,

Les remontées sont faites par la sonde, pas par la zigate. Si pas de remontée = pas de changement (normalement). De ce que comprends, La sonde interroge/envoie des infos a intervalle a la zigate. La zigate ne devrait pas pouvoir réveiller les périphériques afin de preserver la batterie.

Voila pour la théorie, j ai eu plusieurs cas ou je n avais plus de remontée. La zigate qui passe de ttyUSB0 a ttyUSB1, la sonde qui n est plus considéré comme appartenant au reseau zigate donc ignorée. Relancer les démons permet parfois de récupérer les infos. Le plugin est encore a ses débuts, c est peut être liée a un bug. Un appui court sur le bouton lateral mets-il a jour jeedom?

Envoyé en utilisant Tapatalk


Re: Plugin Abeille

Publié : 27 févr. 2018, 15:25
par kiwihc16
Tao67 a écrit :
27 févr. 2018, 10:46
Bonjour,

J'aimerais savoir si c'est normal que les remontées d'information des sondes carré xiaomi soient si espacées. Il se passe parfois 20 mn voire des heures avant de recevoir quelque chose. Est ce normal?
Elles ne devraient pas envoyer à intervalle régulier les données? (sinon c'est pas très utile)
Y a t'il un réglage à faire?
Merci pour le plugin. Il est pas mal du tout!
Soit on a des infos tout le temp, soit on a une batterie qui tient des mois. Je n'ai pas le soft des capteurs mais il est fort probableme qu'il n'envoie les infos que lorsqu'il y a des changements. Temperature qui change de plus de x degrés, tension batterie qui change de plus de 0,xV.
Si aucun changement pourquoi envoyer une info qu on a deja ?
Je n'ai pas d'historique en stock pour regarder la frequence d envoie.
Pour tester un appuie sur le bouton lateral doit provoquer la remontée d'infos sur ces capteurs.

Re: Plugin Abeille

Publié : 27 févr. 2018, 15:32
par kiwihc16
jdkart a écrit :
26 févr. 2018, 17:19
Je viens de vérifier le mode debug est bien activé.
Ma version du plugin est bien à jour, j'utilise la version Jeedom3.1.7 du 2018-02-17 06:14:14.
Les autres logs AbeilleMQTTCmd et AbeilleSerialRead fonctionnent, seul le AbeilleParser est vide.
Merci
Si le log AbeilleParser est vide et que les autres sont pleins c'est que AbeilleParser ne recoit pas d'info venant de la Zigate.
Est ce que le Demon est au vert en Ok ?
Peux tu nous donner le resultat de la commande "ps -ef | grep Abeille" ?

Re: Plugin Abeille

Publié : 27 févr. 2018, 17:12
par jdkart
Le démon est bien au statut OK

Et Voilà le résultat de la commande:
pi@raspberrypi:~ $ ps -ef | grep Abeille
www-data 6663 1 0 févr.22 ? 00:00:02 /usr/bin/php /var/www/html/plugins/Abeille/core/class/../../resources/AbeilleDeamon/AbeilleSerialRead.php /dev/ttyUSB0 debug
www-data 6666 1 28 févr.22 ? 1-10:46:32 /usr/bin/php /var/www/html/plugins/Abeille/core/class/../../resources/AbeilleDeamon/AbeilleParser.php /dev/ttyUSB0 127.0.0.1 1883 jeedom jeedom 0 debug
www-data 6668 1 0 févr.22 ? 00:03:57 /usr/bin/php /var/www/html/plugins/Abeille/core/class/../../resources/AbeilleDeamon/AbeilleMQTTCmd.php /dev/ttyUS B0 127.0.0.1 1883 jeedom jeedom 0 debug
pi 9485 9029 0 17:06 pts/0 00:00:00 grep --color=auto Abeille

Merci

Re: Plugin Abeille

Publié : 27 févr. 2018, 17:30
par kiwihc16
Dans "AbeilleMQTTCmd.php /dev/ttyUS B0", l espace entre US et B0 est juste un probleme de copie/colle ou il y a bien un espace ?
Que donne un "ls -l /var/www/html/plugins/Abeille/resources/AbeilleDeamon/input" ?
Que donne un "cat /var/www/html/plugins/Abeille/resources/AbeilleDeamon/input" lorqu'il y a du traffic zigbee ?
Que donne un "fuser /var/www/html/plugins/Abeille/resources/AbeilleDeamon/input" ? suivi d'un "ps -ef" ?

Re: Plugin Abeille

Publié : 27 févr. 2018, 17:38
par marie
Bonjour,

Le plugin Abeille étant une passerelle domotique avec zigate, je me permets de déplacer le sujet dans Plugins Jeedom > catégorie "Passerelle domotique"

J'espère que cela ne vous choquera pas ;)

Re: Plugin Abeille

Publié : 27 févr. 2018, 17:47
par jdkart
1/ l espace entre US et B0 est jsute un problème de copier coller
2/ Que donne un "ls -l /var/www/html/plugins/Abeille/resources/AbeilleDeamon/input" ?
voila le résultat :
prwxrwxr-x 1 www-data www-data 0 févr. 27 17:33 /var/www/html/plugins/Abeille/resources/AbeilleDeamon/input
3/ Que donne un "cat /var/www/html/plugins/Abeille/resources/AbeilleDeamon/input" lorqu'il y a du traffic zigbee ?
Le fichier est bien mis à jour dès qu'il y a une action, j'ai testé avec mon capteur de présence
pi@raspberrypi:~ $ cat /var/www/html/plugins/Abeille/resources/AbeilleDeamon/input
8102002a4b55b2ae010000ff010042001d0121c70B0328120421a81305216d00062401000000000A21000064100075
8102000Ed86fa55001000600000010000101d8
8102000Ecb71a55001000600000010000101d5
8102000Ec972a55001000600000010000100d5
4/ Que donne un "fuser /var/www/html/plugins/Abeille/resources/AbeilleDeamon/input" ? suivi d'un "ps -ef" ?
le fuser ne renvoie rien.
avec le ps -ef, je trouve ces 3 lignes :
www-data 6663 1 0 févr.22 ? 00:00:02 /usr/bin/php /var/www/html/plugins/Abeille/core/class/../../resources/AbeilleDeamon/AbeilleSerialRead.php /dev/ttyUSB0 debug
www-data 6666 1 28 févr.22 ? 1-10:57:14 /usr/bin/php /var/www/html/plugins/Abeille/core/class/../../resources/AbeilleDeamon/AbeilleParser.php /dev/ttyUSB0 127.0.0.1 1883 jeedom jeedom 0 debug
www-data 6668 1 0 févr.22 ? 00:03:59 /usr/bin/php /var/www/html/plugins/Abeille/core/class/../../resources/AbeilleDeamon/AbeilleMQTTCmd.php /dev/ttyUSB0 127.0.0.1 1883 jeedom jeedom 0 debug

Merci

Re: Plugin Abeille

Publié : 27 févr. 2018, 20:45
par kiwihc16
Est ce quelqu'un aurait un Gateway Philips, des ampoules, une zigate est des bases informatiques pour faire une capture du traffic lorsqu'une ampoule Hue s'associe à la gateway ?