Portage plugin Home Assistant vers Jeedom : Edilkamin The Mind

Si j’ai bien compris, il s’agit de l’installer mais faire en sorte qu’elle ne soit pas utilisée par défaut, sauf commande spécifique (dans le cadre de la gestion des scripts Edilkamin en question).

Dans ces conditions, les risques dont tu parles sont présents ?

C’est techniquement possible d’installer une autre version et de s’assurer que ca n’impacte pas le reste du système.

Mais donc attention à ce point et il faut être prêt à devoir réinstaller en cas de pépins.

Je préfère alerter que chacun qui lira ceci prenne les mesures qui s’imposent plutôt que de laisser le problème se produire.

Je m’auto cite :

Ne pas faire l’impasse là dessus, très important !

Bonjour,

Mon poêle EDILKAMIN sera installé en fin de mois :partying_face:
Vu que le dernier post date de février, je viens aux infos pour savoir si de nouvelles solutions ont été trouvé où si je dois me pencher sur la solution via script.
Merci

Bonjour @DuplO ,
Non pas d’évolution, je pense qu’il ne devrait pas être trop difficile de créer le plugin mais le tout est de se lancer. Lorsque j’ai commencer à regarder les documentations pour créer un plugin j’ai vite été freiné par le fait de devoir créer un daemon ou pas, et comme ça fonctionnait via le script, je ne suis pas allé plus loin. Mais si quelqu’un, qui a déjà développé un plugin veut m’aider, je veux bien travailler avec lui !

Salut @Duke,

Je n’ai que de petites connaissances en dev, je ne pense pas être d’un grand secours …
Par contre si quelqu’un le développe, je l’achèterai et ce sera ma contribution :wink:

Même chose pour moi.

Avis aux développeurs ! :smiling_face:

Ca fera déjà 10 euros pour la personne qui fera le dev :rofl:

Bonjour à tous,
Et bonnes fêtes pour commencer.
Je ne sais pas si ça sera un cadeau de Noël pour certains d’entre vous mais j’ai initié le pluggin pour nos poëles Edilkamin.
Le pluggin s’appellera Jeedilkamin et la version alpha est disponible ici ! Téléchargez le repo et collez-le dans le répertoire pluggin. Attention que pour le moment, je le teste sur une version 4.5 avec un Debian 12 et il me semble que la version 3.10 de Python est nécessaire pour faire fonctionner la dernière version de la librairie edilkamin.py.
Il ne contrôle pas le poële pour le moment, il récupère les infos de bases et configure automatiquement le nombre de ventilateur à contrôler.
J’ai besoin de vous pour ceux que ça intéresse de vos premiers retours sur le fonctionnement, notamment l’installation des dépendances, le démarrage du démon, et la remontée des infos.
Evidemment, je vais entreprendre les démarches pour le mettre sur le market une fois que j’aurai finalisé le pluggin.
L’idée est de sortir une version v1.0 la plus simple possible. Les évolutions que certains pourront me faire seront utiles et étudier pour une version ultérieure.
Encore un joyeux noël à vous.

3 « J'aime »

Bonjour @Duke ,

J’ai fait un vœux le 4 Décembre ( voir le post : Appel aux développeurs pour adapter le plugin Edilkamin "The Mind" à Jeedom ) .

Le père noël ( @Duke ) m’a entendus.

Je viens d’installer le plugin, et jusqu’à présent les remontées d’infos fonctionnent.

Jeedom V4.5.1 sur Debian 12, Python 3.11.2

Je vais donc énumérer ce que j’ai constaté sur ce très bon début de plugin.

/!\ a ne pas prendre pour de la critique, c’est juste pour faire évoluer le développement dans le bon sens, et se sont juste des constats personnel.

  • La puissance reste à 5, alors que mon poêle est à 1 ( mon poele est en auto ).
    dans la ligne « options », il y a « manual_power_level » .
    c’est peut être le mot « manual » qui porte à confusion ( avis personnel ) .

  • La commande curseur « Fan speed1 : » ne fonctionne pas.
    En l’état actuel du plugin, il n’y a pas de commandes actions fonctionnelles.

  • La remontée de la température semble OK.

  • Le cron 1 mn, n’a pas l’air de fonctionner correctement.
    Il semble que le cron mini est de 5 mn.

  • les fichiers « .htaccess » n’ont pas pus être copiés.

  • il y a 2 cron jeedilkamin dans le moteur de taches.

  • au bout d’un moment, j’ai cette erreur dans les logs et plus de remontées d’infos.

0000|[2025-12-27 13:05:02] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0001|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0002|[2025-12-27 13:05:02] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0003|[2025-12-27 13:10:02] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0004|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0005|[2025-12-27 13:10:02] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0006|[2025-12-27 13:15:02] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0007|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0008|[2025-12-27 13:15:02] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0009|[2025-12-27 13:20:02] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0010|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0011|[2025-12-27 13:20:02] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0012|[2025-12-27 13:25:02] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0013|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0014|[2025-12-27 13:25:02] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0015|[2025-12-27 13:30:03] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0016|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0017|[2025-12-27 13:30:03] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0018|[2025-12-27 13:35:02] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0019|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0020|[2025-12-27 13:35:02] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0021|[2025-12-27 13:37:58] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0022|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0023|[2025-12-27 13:37:58] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0024|[2025-12-27 13:38:20] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0025|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0026|[2025-12-27 13:38:20] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0027|[2025-12-27 13:38:24] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0028|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0029|[2025-12-27 13:38:24] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0030|[2025-12-27 13:38:33] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0031|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0032|[2025-12-27 13:38:33] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0033|[2025-12-27 13:40:03] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0034|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0035|[2025-12-27 13:40:03] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0036|[2025-12-27 13:45:03] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0037|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0038|[2025-12-27 13:45:03] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType
0039|[2025-12-27 13:48:52] ERROR  : [device_info]Login failed: Client error '401 Unauthorized' for url 'https://the-mind-api.edilkamin.com/device/3ce90e8f86bc/info'
0040|For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
0041|[2025-12-27 13:48:52] ERROR  : Send command to demon error: the JSON object must be str, bytes or bytearray, not NoneType

Voila mes retours sur le trés bon début de ce plugin.

Encore merci @Duke, pour cette prise d’initiative, et bonne fêtes de fin d’année.

Pourriez-vous editer le formatage du log, c’est le bouton </>. Depuis le temps, vous ne le saviez pas?

Bonjour @Gsxrnoir2001
Merci pour ce message et le temps passé pour les tests. Je vais reprendre point par point tes constats :

Effectivement c’est le mode que je me servirais principalement mais je vois qu’il faut que je remonte également quand les gens utilisent le mode automatique. Je l’ajouterai.

Effectivement j’avais indiqué que seule les commandes Infos fonctionnaient. N’étant pas chez moi, je ne pouvais pas tester les commandes. Je le ferai d’ici peu.

Il ne me semble pas avoir mis en place de Cron 1mn mais seulement un 5 mn.

Effectivement chez moi non plus, tu as remarqué un problème lié à cela, je checkerai dans la salon développeur pour avoir plus d’infos.

Ah ! As-tu installé deux fois le pluggin par hasard ? En effet je n’ai pas fait de suppression du cron quand on supprime le plugin. Il faut que je vois par où ça se passe.

Effectivement, j’ai mis en place hier soir le renewal du token car il expire au bout d’une heure.
Je vais déposer la nouvelle version sur GitHub rapidement.
Encore merci pour tes premiers tests et ton retour.
Et content que ça soit par un motard !!!

Voilà, j’ai poussé les modifications, il suffit de copier/coller le repo. Attention qu’il faudra relancer l’installation des dépendances car j’ai ajouté de nouvelles librairies.

1 « J'aime »

Bonjour @Tonio16 ,
oui bien sûre que je le sais, seulement l’erreur est humaine ( mais tout n’est pas humain… :blush:)
merci pour la correction.

copier/coller et mise a jour des dépendances effectué.

Dans l’équipement, Auto-actualisation, menu déroulant de l’assistant cron, il y a possibilité de sélectionner « minute ».
J’ai fait un essai, mais comme je l’ai dit plus haut, ca ne semble pas concluant, j’ai donc remis une actualisation « 5 mn ».

Non, rien constaté d’anormal pour l’instant.

Non, je n’ai fait qu’un seul copier/coller, par contre, les 2 cron, étaient identique sur tout les points. même cron 5 mn, et même heure de lancement.

ce qui est bizarre, c’est que mon installation du plugin date de ce matin, donc avec le renewal du tocken.

Je continue mes tests, et te tiens au courant (pas mal pour un électricien :rofl:).

PS : je viens de constater que le rafraichissement des valeurs ne se fait pas sur le widget du dashboard, je suis obligé de rafraichir avec F5, ou de changer de page et de revenir en arrière.

Ah ok, je devrais probablement retirer cette option, on définira par la suite le meilleurs timing pour le cron.

Ok du coup j’ai compris, je crée déjà un cron à la création d’un nouveau poele, donc en sélectionnant le cron ça a créé le second. Ou alors tu a créés 2 poeles.

oui oui je n’avais pas poussé les modifications hier soir, je ne l’ai fait que cet après-midi.

ah bizarre ! ça fonctionne bien chez moi sans avoir à rafraichir la page…à investiguer !

Bonsoir @Duke,

Bravo pour ce début prometteur de plugin et pour le mettre à dispo de la communauté :slight_smile:

Je ne suis pas utilisateur de ces équipements, mais par curiosité, je suis allé voir ton code, et si je peux me permettre un petit conseil :

De manière générale, et d’autant plus à partir de la version Debian 12, il n’est pas recommandé d’utiliser directement le Python du système, mais en lieu et place, de créer un « venv » (environnement python virtuel) et d’utiliser éventuellement PyEnv (qui permet de contrôler exactement la version de Python souhaitée, quelle que soit la version de l’OS derrière).

  • Cela permet de ne pas modifier le système (et donc potentiellement d’impacter d’autres parties du système, d’autres plugins et/ou Jeedom).
  • Et cela a un autre gros avantage : Cela te permet de contrôler exactement la version de Python que tu souhaites utiliser, via PyEnv (même sur un Debian 11 par exemple dans ton cas :wink: ) et les versions de librairies Python pour ton plugin :+1: (car elles sont dédiées à cet environnement, donc pas de conflit possible)

Cela demande un peu plus de temps de mise en place au niveau du code au départ, mais au final ce n’est pas beaucoup plus compliqué (et il y a des exemples dans plusieurs plugins, et même une lib qui a été créée exprès pour cela pour les plugin Jeedom :wink: ) et cela n’en fera qu’un plugin plus robuste, quelle que soit la version de l’OS qui sera derrière.

Bonne soirée,
TiTidom.

Bonsoir @TiTidom
Merci du conseil. Si tu sais m’envoyer des liens vers des documentations et des exemples, cela m’aiderait.
Encore merci d’avoir passé du temps à relire mon code et me donner des conseils.

Re,

J’avais regardé un peu vite ton code :confused:, désolé ! Je n’avais pas vu que tu avais également (en plus du fichier install_apt.sh qui m’a induis en erreur) un fichier « packages.json » avec la section pip3 remplie : c’est celle-ci que tu utilises pour mettre les lib python dont tu as besoin ?

Si c’est le cas (et c’est très bien, car dans ce cas, tu passes par le process géré directement par Jeedom d’install des dépendances, et à partir de Debian 12 il crée un venv, par contre cela ne permet pas de gérer une install en Debian 11 par exemple), pourquoi avoir laissé le fichier « install_apt.sh » ? (dans le répertoire resources).

  • Pour être « clean » tu peux le supprimer si tu ne l’utilises pas :wink:

TiTidom.

Pas de soucis, je vais le retirer. Il était par défaut dans le template.

1 « J'aime »