À propos du protocole home connect : Bosch, Siemens, Neff, Gaggenau

Bonjour,

J’ouvre ce sujet pour échanger autour du protocole domotique Home Connect pour l’électroménager : les marques Bosch, Siemens, Neff et Gaggenau ont adopté ce protocole basé sur du wifi.

Voici le site Web de ce protocole.

Il n’existe pas encore de plugin pour jeedom pour piloter cet électroménager (lave-vaisselle, four, plaques, hotte,…).

Une tentative avait été entreprise il y a 2 ou 3 ans, mais le développeur avait rencontré des difficultés et le support, je crois , n’avait pas été très performant et l’initiative n’a pas abouti.

Ce topic nous permet d’échanger sur ce protocole et je l’espère déboucher sur un nouveau plugin.

3 « J'aime »

Bonjour,
Je dois recevoir un lave vaisselle Bosch Homeconnect dans 15 jours.
Je suis donc intéressé par le sujet.
Sais tu où je peux trouver des infos sur la tentative de plugin qui n’a pas abouti ? Ou si je peux contacter le développeur qui s’en était occupé ?
Je précise que j’ai déjà développé des plugins pour Jeedom (Sure PetCare et Elm Touch) et que j’en ai repris d’autres (Livebox, Kroomba) donc ce n’est pas çà qui me pose le plus de problème c’est plutôt les difficultés qu’il a rencontré côté API.

1 « J'aime »

Il faut que tu fasses des recherches sur l’ancien forum, mais je pense que si ce développeur est toujours présent, il pourrait se manifester sur ce topic.

Il y a ce projet qui doit peut-être pouvoir nous aider à faire un plugin.

1 « J'aime »

Le problème c’est que sur l’ancien forum beaucoup de messages ont été purgés quand il y a eu des problèmes de temps de réponse.
J’ai fouillé tous les post de @sartog sur l’ancien forum sans rien trouver.
Par contre j’ai trouvé son dépot Github
https://github.com/Sartog/homeconnect
Et je l’ai contacté puisqu’il est sur ce forum.
En attendant mon lave vaisselle j’ai téléchargé l’app IOS et créé un compte.
Je vais aussi mettre à jour le plugin pour qu’il tourne avec Jeedom V4 car comme je n’ai pas de JeedomV3 de test pour le moment je ne peux pas tester l’état actuel du plugin (il faut que je trouve le temps de créer une VM un de ces jours çà me manque de ne rien pouvoir tester en V3).
J’ai aussi trouvé le site
https://developer.home-connect.com/
qui contient des tonnes d’infos qu’il faut que je digère
J’avais aussi exploré Github et vu le projet de ton lien ainsi que d’autres qui peuvent nous aider.
Il semblerai que dans l’état actuel de l’API chaque utilisateur sera obligé de se créer un compte développeur ce qui n’est pas idéal mais bon si on arrive à rendre le plugin opérationnel on fera avec.
Ce qui est sympa c’est que dans le plugin il y a déjà l’image de mon lave vaisselle :smile:
Bon moi c’est le modèle tout intégré sans tableau de bord apparent mais c’est un détail.

1 « J'aime »

Hello,
Un pote m’a développé un petit truc sur Jeedom pour avoir un retour d’état de ma machine connectée.
Je vois avec lui si il peut venir vous en parler.
Mat

J’ai avancé, mon travail est dans mon depôt Github :

Je pense que la phase de connexion et d’authentification fonctionne car d’après les logs je récupère bien d’abord un code puis un jeton (token)
J’ai rédigé la doc sur cette partie car c’est un peu complexe
https://jmvedrine.github.io/homeconnect/fr_FR/
En plus d’avoir correctement lié vos appareils à l’application smartphone il faut créer un compte développeur et créer une application (un peu comme des plugins comme Fitbit ou Withings pour ceux qui connaissent). Étant donné le mécanisme d’authentification OAuth 2 je ne vois pas comment faire autrement.
J’espère avoir correctement décrit le processus, si vous essayez et n’y arrivez pas, posez vos questions cela me permettra d’améliorer cette partie de la doc.
Mais en ce qui me concerne pour le moment tant que je n’ai pas reçu le lave vaisselle je ne peux pas aller plus loin car bien sûr aucun équipement ne remonte.
Il y a bien la possibilité de tester avec des appareils « virtuels » qu’HomeCoonect appelle des simulateurs au lieu d’appareils réels, mais pour le moment je ne suis pas arrivé à faire fonctionner ce mode bien que j’ai prévu une case à cocher pour çà dans la page de configuration du plugin.
Voila donc pour le moment c’est réservé aux utilisateurs aventureux qui acceptent de béta-tester un plugin qui est sans doute loin d’être fonctionnel, mais je pense avoir avancé par rapport au point où en était arrivé Sartog.

Merci Jean-Michel pour ce plugin.

J’ai une plaque induction et une hotte Siemens connectées. ( pour avoir la hotte qui démarre en même temps que la plaque)
L’appli smartphone est installée. Les 2 appareils sont configurés.
Je vais essayer de l’utiliser.

JP

1 « J'aime »

Super @jpty heureux de collaborer à nouveau avec toi.
J’attends avec impatience de savoir ce qui marche ou pas (et de corriger !).
Moi donc j’ai commandé le lave vaisselle Bosch SMV68TX06E (et depuis ma commande il a déjà baissé de 50€ sur le site D…Y, j’ai donc rempli aujourd’hui un formulaire de demande de remboursement de la différence ! Ma livraison est prévue pour le 01/02)
Donne moi les références de ta hotte et de ta plaque que je vérifie si les images sont dans le plugin (mais je doute de la fonction qui va chercher l’image car elle me semble incorrecte).
Et je n’ai absolument pas vérifié les commandes selon les appareils, le plugin est dans l’état où il était en 2017 pour tout cela.
Il y a donc du pain sur la planche !
Un truc qui m’énerve c’est pourquoi mes fonctions de connexion et d’authentification ne fonctionnent pas avec les simulateurs.
Je ne comprends pas çà n’a pourtant pas l’air d’être très différent de l’authentification pour les appareils réels, la doc a même l’air de dire que c’est plus simple :

For this home appliance simulator, the authorization flow has been
shortened to not require login and scope confirmation. Please be aware that
these steps are required as soon as you start using the real Home Connect API.
More details can be found here: https://www.rfc-editor.org/rfc/rfc6749.txt
Authorization URL: https://simulator.home-connect.com/security/oauth/authorize
Token URL: https://simulator.home-connect.com/security/oauth/token

Je dois faire une erreur stupide.

Pour la hotte c’est une LC98KLV60 et la plaque EX675LEV1F les 2 en Siemens.
Résultat de la synchro:
image

Les 2 tuiles avec leur cmd : connected
image

Pas d’image.
Pour la hotte le chemin de l’image qu’il n’arrive pas à charger car non existant:
plugins/homeconnect/core/config/images/LC98KLV60.jpg
plugins/homeconnect/core/config/images/EX675LEV1F.jpg
Le calcul du nom de l’image semble donc bon.

Pour le mode simulation, je ne sais pas.

Comme vous dites, il y a du boulot.

Le seul pb rencontré est d’avoir été obligé de lancer Jeedom avec l’URL extérieure.
Pas lu le message en haut.

Pour l’url extérieure c’est une contrainte du processus d’authentification OAuth2. C’est pareil avec les autres plugins comme Fitbit ou Withings, j’ai d’ailleurs recopié de l’un d’entre eux le message qui apparait sur le page de configuration. Mais je pense que ce n’est que pour la phase d’authentification, ensuite une fois le code récupéré pour les token çà doit marcher même sans.
Je vais ajouter les deux images de vos équipements, ce sera plus joli.
C’est « normal » que vous n’ayez que la commande connected car je lis dans la fonction postSave

		/** table de cuisson **/
		if ($this->getConfiguration('type') == "Cooktop"){
			// API support is planned to be released later in 2017.
		}

		/** Hôte **/
		if ($this->getConfiguration('type') == "Hood"){
			// API support is planned to be released later in 2017.
		}

Donc visiblement quand Sartog a fait son plugin ce n’était pas encore au point et il faut que je me penche dans la doc pour savoir quelles commandes créer pour ces deux types d’équipements.

Voila ce que je viens de lire sur le site des développeurs pour les tables de cuisson

Cooktop Programs : Program support is planned to be released in 2020.

Donc pour le moments on ne doit pouvoir récupérer que les états (states) et les réglages (settings) et je ne sais pas ce qu’on peut faire comme actions
Quand de grandes marques se réunissent pour créer un standard domotique et que 3 ans après ce n’est toujours pas finalisé, on ne peut pas dire qu’elles y mettent le paquet !

Mais si je ne me trompe pas il y a eu récemment des annonces de Bosch disant qu’ils allaient accélérer (support Homekit, …) alors espérons.

Bonjour,

Le type de ma plaque est Hob
Le json brut (résultat de curl_exec) récupéré dans la fonction majConnected

{
  "data": {
    "homeappliances": [{
      "name": "Hotte",
      "brand": "Siemens",
      "vib": "LC98KLV60",
      "connected": true,
      "type": "Hood",
      "enumber": "LC98KLV60/03",
      "haId": "SIEMENS-LC98KLV60-xxxxxxxxxxxx"
    }, {
      "name": "Table de cuisson",
      "brand": "Siemens",
      "vib": "EX675LEV1F",
      "connected": true,
      "type": "Hob",
      "enumber": "EX675LEV1F/13",
      "haId": "SIEMENS-EX675LEV1F-yyyyyyyyyyyy"
    }]
  }
}

Y a t-il d’autre marques dans ce standard domotique?
Bosch, Siemens, Neff et Gaggenau, c’est le groupe BSH (Bosch Siemens Hausgeräte). Donc un seul constructeur. Sur le site Home Connect il n’y a que ces 4 marques.
S’ils pouvaient aussi mettre le paquet sur une API hors cloud. Mais là je suis en plein rêve!

Argh
J’aime pas le mélange de curl_exec avec json_decode. Il y a déjà les erreurs curl à traiter avant de faire json_decode.

$response = json_decode(curl_exec($curl), true);

Je savais pour Bosch et Siemens (il n’y a qu’à voir comment les appareils se ressemblent) mais je n’étais pas sûr pour les autres.
Je vais voir pour le type Hob

Dans mon appli chez Home Connect, Granted Scope, j’ai ça:

Pour la hotte-hood c’est bon et pour la plaque-hob c’est pas encore complet.

Selon Wikipédia,
Gaggenau appartient à BSH.
Neff est une filiale à 50% de BSH

L’explication c’est que pour le type Hob il est marqué dans la doc « Additional Partner
Agreement required »
Ce qui signifie (comme pour les fours =Oven) que je n’ai pas le droit de demander Hob-control dans ma liste scope = quand je construit mon url de demande d’autorisation sinon je reçoit en retour un message d’erreur au lieu d’un code.
Donc on devra se contenter de Monitor et Settings comme dans l’app.

C’est vrai que pour le four ou la table de cuisson, ça peut être dangereux de les démarrer à distance.
Dans l’appli Android, ça a été supprimé de la dernière version. On ne peut plus que faire la programmation mais pas mettre en route.

Oui oui c’est clairement dis dans les documents qu’on signe pour obtenir un compte développeur, on doit absolument respecter ces limites.
sans doute le développeur Android avait inclus cela sans avoir le « Partner agreement »

J’ai publié la version beta sur le market.
Ce n’est peut-être pas très prudent avec une version pas vraiment fonctionnelle mais je voudrais avoir plus de beta-testeurs et ce sera quand même plus facile pour eux d’installer le plugin à partir du market. En plus il y a peu de risque de casser son Jeedom.
Pour un plugin comme çà qui doit fonctionner avec plein d’appareils trop chers pour qu’on puisse en acheter un échantillon, trouver des beta-testeurs est très important.

Ça va créer une étiquette plugin-homeconnect sur community ?

L’étape d’appairage est plus compliquée que l’install depuis Github.
Mais il faut bien communiquer sur l’existence de ce plugin.
Les liens doc sur le market sont HS #language# dans l’URL.