Plugin Bosch Easycontrol / Homecontrol

Salut vedrine,

Je te confirme, ça fonctionne avec le CT200.
J’ai discuté pas mal par mail avec Robert, et c’était bien un soucis de password, plus long que 8 avec des caractères spéciaux.

J’ai trouvé un moyen via l’application Bosch de changer directement le mot de passe à cet endroit et de contourner les limitations qu’il y a sur le site internet.

J’ai donc réussi à connecter mon thermostat Buderus au bridge de Robert et ça fonctionne parfaitement.
Idem pour balancer des commandes sans hoster le bridge. Juste en query mode.

Bon, bah maintenant, je suppose qu’il va falloir que je m’y mette pour écrire le plugin. :smiley:
(prend un grand inspiration, s’allume une cigarette et recharge la cafetière)

C’est bien que tu confirme que çà marche avec le CT200
Voici ma feuille de route pour le plugin actuel

  1. Modifier la fonction getThermostatStatus
    https://github.com/jmvedrine/jeedom-elmtouch/blob/master/core/class/elmtouch.class.php#L847
    car cette fonction est la seule de mon code qui fasse une appel une url de la forme http://127.0.0.1:3000/api/. Tout le reste du code utilise http://127.0.0.1:3000/bridge je ne sais plus pourquoi j’avais fait çà comme çà mais à priori je pense qu’en appelant http://127.0.0.1:3000/bridge/ecus/rrc/uiStatus je devrais pouvoir récupérer exactement les même données.
  2. Une fois que je me serais assuré que tout marche bien avec la modif précédente, je tenterais de changer de librairie en passant de https://github.com/robertklep/nefit-easy-http-server à https://github.com/robertklep/bosch-xmpp. A priori puisque je n’ai plus que des appels à bridge çà devrait pouvoir marcher. Dans core/class/elmtouch.class.php il me faudra modifier deamon_info, deamon_start et deamon_stop et réécrire resources/install_apt.sh.
    Une fois ce travail fait tu devrais pouvoir reprendre la grande majorité du code de mon plugin pour écrire un plugin easycontrol, il te faudra modifier toutes les urls, la ligne dans deamon _start qui lance le serveur pour le lancer avec les bons paramètres et peut-être le code qui va récupérer les infos dans le json reçu si la structure n’est pas identique.
    Il te faudra aussi résoudre le problème qui est que dans easycontrol y a les zones et tout ce qui n’existe pas dans l’ancien thermostat.

En tous les cas je confirme, le plugin de vedrine fonctionne super bien sur la version noire de thermostat
J’avais eu la chance de faire les premiers tests en bêta
Encore un grand merci @vedrine

Salut Sebatien, je ne doute pas (plus) que le plugin de vedrine fait le job.
Par contre, le fait que le thermostat soit noir ou pas, c’est pas tout à fait juste, mon Buderus TC100.2 est noir, et il bosse en XMPP, donc incompatible avec le plugin de vedrine.

Pour info, je suis en train d’écrire un tout nouveau plugin qui prendra en charge les vieux thermostats, les nouveaux en XMPP et également les vannes thermostatiques bosch intelligentes …

Si j’ai plus de temps, je verrai pour intégrer la partie capteurs de fenetre et energie solaire … mais ça va me prendre pas mal de temps … le squellette est déjà la, avec dépendences et démons, maintenant je dois voir pour avoir une belle interface graphique … et je suis NUL en développement WEB, faudra de la patience et pas etre trop exigeant au début ahahaha :smiley:

En fait le TC200 (ou TC100.2) existe en noir et en blanc tandis que le TC100 première version n’existe qu’en noir. Mais la façade permet aisément de les différencier.
thermostats bosch
De gauche à groite TC100 (alias nefit easy alias elm touch) TC 200 blanc et TC200 noir (alias easy control alias TC100.2)
Et je ne dirais pas que la différence est non XMPP / XMPP car le TC100 est aussi compatible XMPP. la différence est au niveau de l’authentification et des API qui sont différentes (et seule l’API easycontrol prends en charge vannes, capteurs etc alors que la première API ne prenait en charge que le thermostat)

Hello @TheMadDotNetDev, je crois avoir trouvé ton dépot Github.
Bravo tu as vraiment bien avancé et c’est déjà très utilisable.
Sais tu s’il existe avec l’api easycontroil l’analogue de ce qui existe dans l’ancienne api pour l’historique des consommations ? En fait c’est ce qui me sert le plus car je fonctionne en loi d’eau donc j’ai besoin d’étudier les rapports entre température extérieure / température en sortie de chaudière et consommation pour optimiser les paramètres de ma loi d’eau et comme j’ai changé de chaudière pour un modèle à condensation je vais devoir recommencer tous ces tests pour optimiser à nouveau ma loi d’eau. J’avoue que j’aimerai bien savoir si mon TC100 tombe en panne et si je suis obligé de le remplacer par un nouveau modèle si je pourrai toujours étudier cela sinon je serai bien embêté.
Mon ancienne chaudière ne transmettait pas la pression mais la nouvelle si, et je n’avais pas vu que j’avais eu tord de limiter la pression à 25 et que 30 était préférable. Merci de m’avoir fait prendre conscience de mon erreur (ma pression est de 25.5 et avec mon ancien code elle était signalée comme incorrecte);
Bonne continuation.

Salut vedrine, ah bon ? le repo du plugin est en privé pour l’instant pourtant :smiley: :stuck_out_tongue:

J’ai testé des commandes, et je confirme qu’il est toujours possible de récupérer l’historique de consommation. Ca a l’air d’être resté la même chose qu’avec ton plugin, en tous cas ce sont les mêmes URL qui sont appelées on dirait.

Au passage, en décompilant l’application officielle j’ai trouvé la liste de TOUTES les commandes … certaines ne marchent pas avec mon thermostat, je pense que ça dépend de quel hardware, et surtout de quelle config (avec ou sans panneau solaires par exemple).

Pour l’instant je suis encore en train de me familiariser avec « la façon jeedom » … je passe parfois vite 15 minutes a tester un truc sans comprendre ce que j’ai oublié … la documentation developpeur est pas aussi fournie que je le voudrais, mais je me sers d’exemples venant d’autres plugins.

Actuellement tout s’installe automatiquement sauf l’interface xmpp, que je garde pour plus tard, histoire de ne pas démolir mon setup de test. Je verrai si je peux juste l’ajouter comme package avec le nouveau mécanisme de jeedom 4.2.0. Pour le reste ça fonctionne déjà pas mal on dirait.

La pression est dispo, je vois dans le protocole que ça va de 0 à 25 par incréments de 0.1. Ma chaudière affichait 2.0 tantot. Bizarre que tu reçoives 25.5 … c’est fou … ou bien c’est donc celà que ça veut dire 0.1 increments dans le protocole ?? … Pas logique, ma chaudière est à deux bars, vérifiés dans l’application … ou bien je loupe un truc :s

Tu sais me montrer ce que te renvoie le serveur en JSON pour ta pression?

Merci pour les encouragements :stuck_out_tongue:

Si ton dépot est privé alors cela veut dire qu’il y a une autre personne qui travaille sur jeedom et easycontrol

Je récupère la pression par /system/appliance/systemPressure et j’obtiens un retour du style (je viens juste de réactiver le log pour cette commande)
{"id":"/system/appliance/systemPressure","type":"floatValue","recordable":0,"writeable":0,"value":25.5,"unitOfMeasure":"bar","minValue":0,"maxValue":25}
Donc tu as raison la valeu 25.5 est hors limite.Je n’avais pas réfléchi que c’est très supérieur à la pression du réseau de distribution d’eau donc impossible. Sans doute que ma chaudière comme la précédente ne transmet pas la valeur de la pression et donc retourne une valeur aberrante.

Ah oui effectivement, amusant dépôt crée il y a deux jours, copié collé de ton plugin ELM pour la grande partie, juste que désormais ça utilise xmpp …

Faut croire que la communauté a de grandes oreilles et lu les idées qui se sont échangées ici :wink:

Pour ma part, ça change rien à mon plan, je repars de zéro, avec plein de nouvelles idées … mais je vais les garder pour moi du coup, pas envie de voir dans deux jours que qqun copie :smiley:

Je trouve dommage cette possibilité de copier / piller le code des autres sans originalité. C’est aussi une des raisons qui m’a poussé il y a dix ans vers le code embarqué et plus tard vers le .Net … avec une bonne onfuscation de code, tkt que personne copie un design …

Je voyais d’autres topics dans Google de gens qui disaient que les gens avaient acheté leur plugin, puis copié collé le code sur Github … c’est juste que quand je regarde comme fonctionne jeedom c est pas difficile … du coup je perds un peu le fil de voir à quoi bon rendre un plugin payant … drôle de système

Bof personnellement çà ne me fait rien, j’ai toujours mis tout mon code public et gratuit ma retraite me suffit je n’ai pas besoin de plus d’argent :smiley:
J’ai fait des plugins jeedom parce que j’en avais besoin personnellement et je les ai mis à dispo parce que je pensais que çà pouvait intéresser d’autres personnes.
Par contre maintenant j’ai un problème : c’est de maintenir certains plugins que je n’utilise plus moi même. Par exemple j’ai complètement abandonné les aspirateurs robot Roomba et je ne sais plus quoi faire du plugin kRoomba.

2 « J'aime »

Je comprends, en ce qui me concerne si je rendais le plugin payant ce serait pour financer l’achat de nouveau hardware à intégrer avec le plugin, je laisserai surement un lien sur la doc « offrez moi un café » … ça devrait avoir le meme effet je suppose.

Pour les plugins à entretenir, je comprends parfaitement.
J’ai moi même écrit pas mal de trucs pour mon propre usage y a des années, pas sous forme de plugin, mais bon … quand j’étais actif sur domoticz, je faisais des guides et tuto sur le wiki … j’ai tout laissé tombé au bout d’un moment, et peu de gens veulent reprendre le flambeau … alalala

Je ne sais pas si tu es au courant mais tu as deux plugins qui apparaissent déjà sur le market si on a son jeedom avec les beta activées : Chauffage Bosch et Bosch Easycontrol. Pas de souci comme ils sont marqués privés, personne ne peut les installer ou les télécharger sauf si tu les y autorise :smiley:
Pour ce qui es du développement, j’ai écrit pas mal de trucs pour le logiciel open source de cours en ligne Moodle et malheureusement très peu ont trouvé un repreneur quand j’ai arrêté en partant en retraite il y a 5 ans. Tout était public et gratuit. J’ai eu plusieurs offres d’universités étrangères pour continuer la maintenance de certains plugins qu’elles utilisaient à titre payant (parfois assez cher) que j’ai déclinées car pour moi la retraite c’est pour se reposer et faire uniquement ce qu’on a envie de faire.

Salut, ouais je suis au courant, le premier était raté, j’avais selectionné un identifiant de plugin pourri.

Je n’ai pas vu d’option pour supprimer le plugin du market, tu sais comment on fait ?

j’aime ta vision de la retraite :slight_smile: encore 3 décénies pour ma part avant d’y arriver, tssss

1 « J'aime »

Bonjour @vedrine, @TheMadDotNetDev

Je vous ai envoyé un message en MP mais autant partager avec tout le monde. J’avoue que ça faisait un petit moment que je n’avais pas vu d’évolution concernant la compatibilité des thermostats CT200.

De fait j’ai commencé à travailler sur la modification du plugin de vedrine pour essayer de l’adapter à l’autre thermostat. Mon idée c’était pas de bêtement copier/coller mais plutôt de faire avancer les choses :wink:

1 « J'aime »

@TheMadDotNetDev et @titoinou
Attention, sur un autre plugin, c’est parti en règlement de compte sur le forum, et ça a été bien dommageable à l’évolution de Jeedom. Je vous conseille donc de discuter pour ne pas avoir les même déboire (dégout des uns, et absence d’évolution poru les autre).
De ce que je vois, @TheMadDotNetDev a commencé à travailler dessus avant.
D’autant que vous nous rendriez un grand service.
Personnellement, j’ai une CT200 qui va être installée fin de mois, et avoir un plugin intégrable dans Jeedom serait vraiment top :slight_smile:

Courage à vous :kissing:

1 « J'aime »

Bien reçu, merci pour les encouragements.
Je ne cherche pas la dispute, relax :slight_smile:

Par contre, j’avance à mon rythme sur le plugin, ça représente beaucoup de boulot, et j’ai pas toujours le temps en soirée après le boulot :slight_smile: faudra etre patient :slight_smile:

Bonjour, en ce qui me concerne en tant que développeur du plugin existant ElmTouch pour le CT100 je répète qu’il n’y a aucun problème : tout le monde peut emprunter mon code qui est librement disponible dans mon dépôt Github et je souligne que j’ai reçu de multiples aides quand j’ai développé le plugin en particulier @nebz et @Alexandre et aussi que j’ai copié du code à gauche et à droite dans d’autres plugins.
Personnellement bien qu’ayant changé de chaudière pour un modèle à condensation (toujours Elm Leblanc) mon CT100 marche toujours bien avec cette nouvelle chaudière et comme je n’aime pas jeter ce qui marche je le garde. Mais je serai bien content qu’un plugin pour le CT200 existe le jour où il me lâchera.
Dans la mesure où je le peux pas de problème pour aider à développer ce futur plugin EasyControl.

2 « J'aime »

@TheMadDotNetDev Yes, je sais ce que c’est :slight_smile:

@vedrine Je ne parlais pas pour toi, j’ai vu les messages avant, et merci merci pour le job fait sur le CT100 et les autres plugins.

Je vais bientôt avoir un CT200. Si vous avez besoin de testeur supplémentaire, franchement, ne surtout pas hésiter :slight_smile:
D’ailleurs même avant, si tu veux de la revue de code ou autre, je suis dispo :slight_smile: (et un peu de bouteille dans le dev)

1 « J'aime »

Salut vedrine,

Je considère de mettre le repository du plugin en public.
De la sorte plusieurs personnes pourront contribuer, je pense avoir été un peu optimiste en imaginant pouvoir absober la charge seul, surtout avec le boulot et la vie de famille.

Je posterai ici une fois le dépot créé.
Merci d’avance pour l’aide que tu proposes, je pense avoir encore pas mal à apprendre et ce sera bien plus sympa de pouvoir discuter avec d’autres DEV que de galérer dans mon coin.

1 « J'aime »

Voici le repository

https://github.com/jfhautenauven/plugin-boschthermostat

1 « J'aime »