Mise en lumière de IOBroker (MQTT) pour se passer de certains plugins obsolètes (upgrade jeedom/debian)

Hello,

Pour rebondir sur Compatibilité des plugins avec Debian 12 - Bookworm, php 8, python 3.11

Il est rare que je m’étalle comme cela sur une solution et je n’ai aucune royalties mais ca peut certainement en intéresser d’autres ;-). Iobroker est un outil qui n’a jamais vraiment été évoqué sur le forum alors que c’est ultra puissant.

Cela fait quelques semaines que je tourne avec ce bel outil IOBroker que je souhaitais mettre en avant pour ceux qui ne connaissent potentiellement pas et qui aime faire transiter leurs données en MQTT.

Constat : J’ai aujourd’hui un nombre assez conséquent de plugins qui fonctionnent de manière générale bien … tant qu’on touche a rien ! Il n’est pas rare, si on veut suivre les versions majeures de jeedom mais aussi de debian (« forcé » de passer à la 11 car la 10 n’est plus supportée officiellement et cela reste un équipement en frontal sur internet). Cela fait coincer régulièrement certains plugins entre les officiels plutot bien maintenus (meme si par exemple le plugin SMS en debian 11 subit une fuite mémoire du à la version officielle de python, dommage) et les non officiels et la c’est aléatoire selon l’ancienneté du plugin, si le dev est toujours vivant …

Objectif : se séparer d’une forte dependance dans l’écosystème jeedom, trouver un moyen de garder ce qui tourne mais de façon moins lié à jeedom. MQTT me semble etre l’une des solutions bien supportées, adaptées et majoritairement plébicité par les communautés

Solution (il y a pleins mais celle ci regroupe beaucouuuuuup de possibilités) : IOBroker (j’utilise deja en // depuis 2 ans zwavejs-ui et zigbee2mqtt sur une autre vm, qui sont mes 2 protocoles de domotique principaux).

Les plugins que vous voyez inactifs dans ma captures sont ceux que j’ai déjà migré en MQTT avec IOBroker (vm qui tourne en debian 12 avec un docker compose IOBroker) et qui ne servent plus dans jeedom.

Des exemples de protocoles que je suis en train de migrer avec IOBroker (il y a des centaines de protocoles, 538 adaptateurs à l’heure où je vous parle) :

Je m’enlève ainsi de plus en plus l’interdépendance jeedom/debian et d’externaliser le job sur une autre vm. Vous allez peut etre me dire que je peux rencontrer le meme type de soucis sur IOBroker le jour d’update ou autre. Oui c’est vrai c’est aussi un ‹ risque › mais je suis beaucoup moins forcé de suivre la cadence sur iobroker car cette vm tourne en local et meme si elle reucpère des données d’internet, n’est pas exposée comme l’est jeedom, donc moins vulnérable.

Des exemples où ca m’a fortement aidé :

  • Plugin xiaomihome : absolument plus supporté par son dev (grosse fuite mémoire en debian 11 avec python), mais je m’en sers tous les jours pour piloter ma gateway, aspi en autre => migré en MQTT, bye bye le plugin
  • Plugin airzone : meme si c’est pas grave aujourd’hui mais pas compatible debian 12, le fait de le déporter et dialoguer en mqtt ce n’est plus un soucis => migré en MQTT, bye bye le plugin
  • Plugin broadlink : plus de maj et grosse fuite mémoire (grosse fuite mémoire en debian 11 avec python) => migré en MQTT, bye bye le plugin
  • Plugin Tahoma : fuite mémoire (grosse fuite mémoire en debian 11 avec python) => migré en MQTT, bye bye le plugin
  • Plugin Mirobot : Pas de bol mon nouveau robot Qrevo Pro est pas supporté car pas géré par l’application mobile xiaomihome (le dev n’y est pour rien …), je suis coincé. Ajout de l’adaptateur Roborock sur IOBroker, mon robot est reconnu :slight_smile: => migré en MQTT, bye bye le plugin
  • Plugin Onkyo : sensible aux dernières maj jeedom/debian => migré en MQTT, bye bye le plugin

… j’ai plein de chose à migrer :slight_smile:

Et ce n’est qu’un infime partie, c’est juste à titre d’exemple, il faut retenir dans mes propos juste la philosophie de passer sur une autre vm pour « juste » balancer du mqtt vers jeedom qui se fou strictement de ce qu’il y a derrière.
J’ai pas objectif d’avoir 0 plugin dans jeedom mais d’en basculer le max et de faire de jeedom un simple executant de données qui arrivent par MQTT. Et ce qui tourne bien sur jeedom et que j’ai pas coté IOBroker ou autre bah je le laisse tourner en plugin jeedom :-).

Exemple de config avec l’adaptateur mihome pour ma gateway

… et on choisi ce qu’on veut faire communiquer en MQTT !

Le plus critique dans tout ca finalement c’est le plugin MQTT qui devient la pièce maitresse pour que tout fonctionne à merveille. On voit la direction de jeedom à faire de MQTT un protocole important et d’avenir. Je tourne actuellement depuis quasiment le debut avec jMQTT (@Bad qui est une machine pour le faire tourner comme une horloge), mais il y a d’autre plugin qui font ce travail dont un officiel qui arrive. Je me suis intéréssé cette semaine sur les stats de Mosquitto sur ne ombre de données qu’il traite sur l’infra, j’en suis à 500 évènements distribués à la minute, ca en fait des paquets d’infos mais ca semble etre une goutte d’eau pour MQTT lol. Il y a donc une communication réseau MQTT entre jeedom et iobroker mais perso comme c’est 2 vm sur le meme hyperviseur, tout communique sur le meme « switch virtuel » de Proxmox.

IOBroker est une solution allemande avec une belle communauté, l’interface est très facile à appréhender. Tout se sauvegarde en auto avec l’adaptateur backup. On peut superviser chaque adaptateur s’il tourne correctement …

Ce n’est encore une fois que ma vision pour etre plus 'tranquille", ce n’est pas LA solution mais une possible.

A dispo si vous voulez en savoir plus.

A+

17 « J'aime »

Merci pour ce retour.

Peut etre avec le plugin docker on pourrait tt avoir sur une machine type raspi4

Bonjour,

Je vois que vous avez réussi à intégrer un airzone.
J’ai bien les infos qui remonte mais je ne trouve pas les commandes pour allumer ou éteindre ??

Comment avez-vous fait ? Et ou les trouver car je ne trouve pas la doc de ce module ioBroker.

Merci de votre aide

Luis

Hello,

En effet c’est l’un des seuls où je me suis posé la même question lol, je sais pas pourquoi le dev à locké la commande (tu sais si le parametre est en ecriture ou lecture selon la présence du cadenas sur la ligne).

Mais c’est possible en modifiant le param en écriture :slight_smile:

image

1 « J'aime »

Bonjour

Merci de ce retour.
Pouvez vous me montrer vos actions mqtt, car je ne peux changer de mode ou eteindre ou allumer

Luis

On/Off

Modes

2 « J'aime »

Un grand merci, je teste ce soir.

J’en suis au début mais je pense m’orienter comme vous.

Pour l’instant iobroker est sur un debian12 en installation standard, j’hésite avec docker.

Voir partir sur des VM

Luis

Une fois qu’on a goûté aux vms (perso Proxmox) et en plus aux fonctions docker (donc images virtuelles Proxmox avec des containers docker compose dans les VM), on ne s’en passe plus :wink:

Vm au travail je connais.

Docker pas du tout. Je regarde portainer pour voir si une VM et lui pourrait héberger adguard et quelques autres trucs dont iobroker.

Ca reduirait le nombre de pc portable de recup qui tourne chez moi !

Merci pour le retour c’est toujours intéressant de voir d’autres choix.
Juste une question pourquoi n’utilises tu pas le plugin-mqttdiscovery ?
Ca t’éviterait de faire tous les bindings de topics a la main

J’ai moi aussi externalisé plusieurs demons vers un docker externe a Jeedom pour les mêmes raisons:

plugin-eufy
plugin-zwavejs (MQTT) modifié avec docker déporté
theengs et ESP32 (MQTT) via plugin-mqttdiscovery

Je suis en prod depuis 9 mois c’est tres stable et ca consomme 3x rien :wink:
2e effet kisscool je peux tester n’importe quelle VM sans avoir a toucher a mes antennes

Tout simplement parce que mqtt discovery ne decouvre aucun equipement venant du module airzone de iobroker, meme si ds ces logs en debug je vois les infos passer

Pas de binding a la main avec jmqtt c’est plug and play on peut ajouter les infos en auto des que ça dialogue en mqtt (et quand j’ai commencé mqtt discovery n’existait pas lol).

1 « J'aime »

Bonjour,

Avec le plugin mqtt manager, il y a un mode découverte qui permet de créer toutes les commandes de type info.

Pour les actions, il faut le faire à la main.

Je viens de passer surepet avec iobroker. Je peux donc me passer du plugin et de plus je récupère nettement plus d’informations.

Luis

Salut,

Intéressant, merci pour le partage.

Du coup tu te sert de ioBroker comme serveur MQTT (à la place d’un mosquitto) et tu « connectes » jMQTT dessus ?

Idem avec le plugin-jmqtt.

Bonjour

Non jai mqttmanager de jeedom et iobroker publie sur le mosquitto installé sur jeedom

Ok donc mosquitto a été installé avec MQTT Manager et ioBroker est abonné à ce plugin

Oui c’est comme cela que j’ai fait personnellement.
Ayant zwavejs installé et voulant réduire mes plugins tiers je me suis dit que mon jeedom avec les protocoles majeures resterait tel quel et qu un autre pc avec iobroker pourrait via mqtt gérer mon airzone, surepetcare, roborock etc.

Maintenant il me reste a virtualiser sur un serveur et voir si pour iobroker je passe sous docker avec des containers type adguard et autre. Le tout géré via portainer

1 « J'aime »

Perso iobroker en client mqtt et mosquito en server intégré a jeedom sur le plugin jmqtt.

2 « J'aime »

Comme je ne souhaitais pas ajouter un plugin tiers j’ai utilisé mqttmanager.

Même si le plugin de Bad est superbe et bien suivi.

Je préfère m’orienter sur des plugins officiels pour l’important et iobroker mqtt pour le superflu qui a force prend son importance pour le waf :innocent:

Waf qui me demande de réduire le nombre de pc dans le bureau pour tout mes trucs…

Ce qui m’ennuie cest mon vieux nas syno, mais j’ai vu qu’on avait moyen de faire une VM xpenology.

A voir donc… la je stabilise chaque chose sur des machines différentes. Migrer sera une formalité