Hue: Toujours une conso CPU à faire brûler un Raspberry Pi, et aucun début de réponse

Je remonte le problème depuis des mois mais je n’ai pas l’impression que grand monde y prete la moindre attention. Alors très probablement c’est un soucis limité sur ma plateforme, certainement …

J’ai mon Raspberry qui va rendre l’âme avec ces bêtises là :


Si quelqu’un se sent de m’aider un peu … on peut pas dire que mon installation Hue se porte bien ses temps ci :frowning:

1 « J'aime »

Salut,

Peux tu donner un peu plus de détails ?
C’est très vague pour savoir ce qui cloche

Je n’ai strictement aucune idée de ce qui provoque mon problème, mais il arrive que le démon Hue parte en vrille.
Le reste du temps mon jeedom est dans un état normal:
image

Quand ça lui prend, j’ai des taux d’utilisations CPU à 100%, sans raison, pas de log, pas d’erreur.
J’ai ouverts des incidents qui sont restés sans réponse. J’ai rémonté le problème depuis juin de l’année dernière il me semble.

Faudrait que je sache de quoi vous avez besoin pour vous le partager. Ce que je sais c’est que j’ai un gros soucis avec le démon, que ça me met KO mon intégration Hue.

Si je pose la question, c’est justement pour savoir quoi chercher, et quoi remonter comme info. Puisque je n’ai aucune idée de où chercher, loïc avait semble-t-il trouvé un truc, mais apparemment ça ne corrige pas mon problème (comme il ne m’a pas dit ce qu’il avait trouvé et corrigé, moi aussi je n’ai aucune idée de ce qui cloche sur mon installation)

Salut,

Tu as même pas une série de piste avec le htop ?
Les process les plus gourmands c’est pas très dure à lister. Et ensuite, tester en les désactivant 1 à 1

C’est un cron qui fait cette charge, il faudrait voir déjà quel cron est utilisé (dans la config du plugin) puis savoir que fait le cron (dans le code du plugin).
Je n’ai pas le plugin donc pas évident de faire ces recherches.

Même soucis chez moi depuis un moment déjà.

C’est bien le cron Philips hue qui pose soucis :wink:

1 « J'aime »

Mais le cron 41 c’est le cron du plugin Philips Hue.
Ca fait 6 mois que je remonte que le cron du plugin Philips Hue part en cacahuète régulièrement :wink:

Alors désolé, vous avez perdu le contexte, mais je donne le htop dans ce thread, je donne à côté la liste des daemons jeedom, je veux bien être limite en terme d’info, mais là, quand même, c’est dans le premier message.

Par contre je n’ai aucune indication sur pourquoi et quand ça se produit.

Ca j’ai bien compris, la question maintenant est
A quoi sert le cron, que fait le cron.

Pour cela il faut regarder le code dans plugin/hue/core/hue.class.php
J’ai mis hue mais c’est surement pas le nom exacte !

Dans ce code tu as un moment " public static function cron() {"
Ce qui est entre le accolades est ce qui s’exécute et donc qui fait monter le CPU.

Il faut donc analyser ce code et trouve ce qui peut faire monter la charge.

EDIT : Au passage, relève le numéro entre cron et () s’il y en a un

Le cron est là pour aller interroger le pont et resynchroniser, toutes les secondes, l’état de produits enregistrés dessus avec jeedom. De manière à connaître l’état des lumières, des accessoires et compagnie.

Maintenant, si quand on utilise jeedom il faut commencer à aller débugger un plugin qui n’est même pas diffusé sur le github jeedom, il faut le préciser. Moi je remonte ce problème comme un utilisateur, @Loic est je pense déjà conscient du problème puisqu’il a tenté de le corriger une fois. Mais apparemment ce n’est toujours pas concluant.

Si c’est le cas, j’irais le débugger à l’occasion, mais il faudrait des outils plus ergonomiques si on demande ici sur le forum à de simples utilisateurs d’aller mettre les mains là dedans … sur un jeedom de production, qui plus est :wink:

Je comprend ton point de vue, mais si j’ai bien compris, ce problème n’est pas général et très peu d’utilisateurs ont se problème, ce qui peut être très difficile pour trouver la cause, de plus s’il n’arrive pas à le reproduire, c’est quasi impossible…

Moi je te demande ces infos car je n’ai pas le plugin, donc j’essaye de t’aider comme je peux. Le fait que le plugin n’est pas accessible sur Github est surement car il est payant, s’il serait dispo sur Github, il serait possible de l’installer sans payer.

Pour le cron, je m’en doutait qu’il fait ça, c’est d’ailleurs dans la doc (toutes le 2 sec), et c’est peut être là ou est le problème; mais sans savoir en détail ce que fait le cron, quelle requête est lancé etc… Je ne peux pas t’aider
J’imagine bien une requête en json qui interroge la gateway, mais imaginons celle ci n’est pas joignables pendant 1 minute car elle à une problème (ce qui expliquerait que ça ne se passe pas chez tous le monde), et que le cron lance une boucle qui, tant qu’il n’a pas eu de réponse, réinterroge, puis une seconde se lance au bout de 2 sec puis une autre et une autre etc… ça fait beaucoup de demande et du coup la charge monte et monte.

Mais est ce que le cron fait cela ? Je ne sais pas… Je n’ai pas le code …

Le fait qu’il n’y ai pas de log est très étonnant également pour une plugin Jeedom (Tu est bien en niveau débug ?)

En conclusion, pour un problème qui ne se produit pas chez tous le monde, oui, il faut parfois débuger, que ce soit chez Jeedom ou n’importe où, même qui n’est pas orienté domotique, en programmation c’est partout pareil.
Et je te dit ça en connaissance de cause, plusieurs utilisateurs m’ont reporté des problèmes qu’eux seul avait avec mon plugin, pour qu’au final, c’était un de leur appareil qui avait un dysfonctionnement. Il ont du déboguer eux même car impossible de reproduire leur soucis… J’ai pu régler leurs problème avec leur participation rapidement car je n’ai qu’un plugin, Jeedom c’est beaucoup plus, et beaucoup plus de demandes de ce type, et je comprend tout a fait qu’ils ne puisse pas aider tous le monde, et c’est dans ce cas que la communauté prend le relais, pour qu’on puisse trouver l’origine et la raison du problème, pour que Loic sache où intervenir ou que toi tu sache comment réparer (si possible) ton appareil.

La piste de jessie a-t-elle été explorée?

Moi je pense que le soucis est dans le pull, sauf que justement comme le plugin est commercial, si je copie colle ici le code, je suis pas sur que ca fasse plaisir à beaucoup de monde, mais du coup comment je peux avancer sur mon problème :thinking:

Dans les log (debug ou pas) j’ai que quelques erreurs pull(), mais en gros elles n’arrivent que quand le pont fait sa mise à jour, donc rarement.

En tous cas pas de log dans le pull, à part celui global d’erreur, donc de base de toutes façons impossible de tracer ce qui irait de travers. Ne serait-ce que des métriques pour connaitre le temps passer dans un pull, qui dure (peut etre !) plus de 2 secondes.

J’ai mis un log au début de la fonction pull, un log à la fin:

[2020-02-17 00:52:38][DEBUG] : Stop pulling at : 2020-02-17 00:52:38
[2020-02-17 00:52:39][DEBUG] : Start pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:39][DEBUG] : Stop pulling at : 2020-02-17 00:52:39
[2020-02-17 00:52:40][DEBUG] : Start pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:40][DEBUG] : Stop pulling at : 2020-02-17 00:52:40
[2020-02-17 00:52:41][DEBUG] : Start pulling at : 2020-02-17 00:52:41
[2020-02-17 00:52:41][DEBUG] : Stop pulling at : 2020-02-17 00:52:41

Ça me parait expliquer pourquoi mon RPI est surchargé par le plugin. Mais pourquoi, ça, aucune idée !
Et peut être que le pull, contrairement au cron, est prévu pour fonctionner ainsi, aucune idée, je ne suis pas développeur jeedom ^^

Salut, ça ne va pas trop t’aider :flushed: mais j’ai ce plugin avec 1 pont Hue, 2 bandeaux LED et 2 ampoules, et je n’ai jamais rencontré ton souci.
Sur RPi 3B+, et sous Stretch par contre.

Est ce que quelqu’un saurait me dire si le comportement que j’observe avec les start et stop pulling sont normaux ou symptomatique d’un bug ?

Je m’attendais à ce que régulièrement, la fonction pull soit appelée et qu’elle prenne un certain temps. La, soit mon log a pas de sens, soit il y a une surcharge d’appels. Comme ce n’est pas un cron, je ne sais pas comment est censé se comporter le pull, et si ce que je vois est normal ou non.

Salut,

@romanais Tu as les mêmes log que @guipom quand tu met en débug ?
Autant a la seconde ?

Je le reprécise, il n’y a pas de log par défaut. C’est moi qui ait ajouté un log en début et fin de fonction. Sinon on ne peut pas tracer ce que fait le pull SAUF quand ça se passe mal.

J’ai peut être une piste.

N’est ce pas dû au fait que certaines ampoule hue ne sont pas constamment alimentées ?
C’est a dire éteinte par l’interrupteur classique 230 volts ?

Comment ça ? Je « crois » que toutes mes ampoules sont sous tension. Tu le vois à quoi ?

Non c’est une supposition.

Car j’ai remarqué quand toutes mes ampoules sont éteintes je n’ai pas ce soucis. Alors que si une ampoule est allumé le soucis arrive. Je n’ai pas fais de test car en vacances mais j’ai une ampoule que j’éteins et allume directement par l’interrupteur 230 volts.

Est ce dû au fait que jeedom considére toujours l’ampoule allumée alors qu’elle est bien éteinte mais du coup non pingable ?

En tous cas je n’ai quasiment plus aucun interrupteur physique, du coup ça ne m’arrive jamais ou quasiment jamais t’éteindre une ampoule Hue. Mais je suis peut etre arrivé dans ce cas de figure, faudrait que je vérifie.

1 « J'aime »