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

Chez moi les liens vers la doc marchent sur la page de configuration du plugin et sur la fiche du market depuis Jeedom.

Oui maintenant ça marche. avant midi j’avais: Oups pas le bon lien Erreur 404

Bonjour,
Je reviens vers vous en voyant les avancées proposées par Bosch car j’ai un thermostat CT 200 plus compatible avec l’ancien plug-in du CT 100. Est ce que ces annonces vont faire avancer le plug-in CT200?
En tout cas bravo pour ce projet.

Bonjour @JPhB
Le communiqué de Bosh n’est pas clair (en plus je n’ai lu que ds « traductions » de journalistes pas les communiqués originaux), il semble indiquer qu’il y aura « convergence » entre leur thermostat (et les vannes associées) et leur domotique mais sans dire ce que çà signifie.
Est-ce que çà veut dire qu’à terme le CT200 sera intégré dans Home Connect ? Si oui cela devrait être facile de l’intégrer dans le plugin Home Connect car je l’ai prévu extensible.

@jpty
Je viens de publier sur Github des modifs visant à préparer l’avenir car je ne voyais pas comment gérer à terme tous les appareils avec les commandes dans la classe.
J’ai donc introduit un fichier json de config par type d’appareil, avec la possibilité plus tard d’en ajouter par marque ou même par modèle pour tenir compte des spécificités.
J’en ai profité pour faire un fichier pour vos deux types d’appareils.
Bien sûr à ce stade il y a peu de commandes et j’ignore si tout çà fonctionne.
A vous de tester.
En tout cas chez moi, sans aucun appareil çà continue à marcher dans le vide donc je n’ai pas « tout cassé » du moins j’espère.

Merci je viens d’installer la branche beta.
Ya une boucle infinie avec le log en debug qui explose à 5Mo et la roue qui tourne lorsque je sauve l’équipement.
C’est du à une coquille en ligne 784 tyep au lieu de type.
Après correction en sauvant, il n’y a pas de nouvelles cmds sur les 2 appareils.
Je suppose que c’est ce qu’il fallait faire pour avoir les cmds.

Pour les images, il faut quelle soient plus carrées sinon ma plaque 4 feux passe en 2 feux.
image
A cet endroit, l’image est affichée en largeur 75 et hauteur 99
En enlevant les bandes blanches, on obtient:
image
C’est mieux mais il faudrait remettre du blanc en haut et en bas pour que l’image ne soit pas étirée.

Le log en debug de la synchronisation:

[2020-01-21 19:03:49][DEBUG] : ┌────────── Fonction syncHomeConnect()
[2020-01-21 19:03:49][DEBUG] : ┌────────── Fonction homeappliances()
[2020-01-21 19:03:50][DEBUG] : │ Réponse : {   "data": {     "homeappliances": [{       "name": "Hotte",       "brand": "Siemens",       "vib": "LC98KLV60",       "connected": true,       "type": "Hood",       "enumber": "LC98KLV60/03",       "haId": "SIEMENS-LC98KLV60-68A40E30290D"     }, {       "name": "Table de cuisson",       "brand": "Siemens",       "vib": "EX675LEV1F",       "connected": true,       "type": "Hob",       "enumber": "EX675LEV1F/13",       "haId": "SIEMENS-EX675LEV1F-68A40E2EEC30"     }]   } }
[2020-01-21 19:03:50][DEBUG] : ├──────────
[2020-01-21 19:03:50][DEBUG] : │ Création d'un appareil :
[2020-01-21 19:03:50][DEBUG] : │ Type : Hood
[2020-01-21 19:03:50][DEBUG] : │ Marque : Siemens
[2020-01-21 19:03:50][DEBUG] : │ Modèle : LC98KLV60
[2020-01-21 19:03:50][DEBUG] : ├──────────
[2020-01-21 19:03:50][DEBUG] : Found config file for product type Hood
[2020-01-21 19:03:50][DEBUG] : Product : {   "commands": [     {       "name": "Connect?(e)",       "type": "info",       "isVisible": 1,       "isHistorized": 0,       "unite": "",       "configuration": {         "repeatEventManagement" : "never"       },       "subtype": "binary",       "logicalId": "connected"     },     {       "name": "Contr?le ? distance",       "type": "info",       "subtype": "binary",       "isVisible": 1,       "isHistorized": 0,       "unite": "",       "configuration": {         "repeatEventManagement" : "never"       },       "logicalId": "RemoteControlStartAllowed"     },     {       "name": "Programme en cours",       "type": "info",       "subtype": "string",       "isVisible": 1,       "isHistorized": 0,       "unite": "",       "configuration": {         "repeatEventManagement" : "never"       },       "logicalId": "programActive"     }   ] }
[2020-01-21 19:03:50][DEBUG] : {}
[2020-01-21 19:03:50][DEBUG] : ├──────────
[2020-01-21 19:03:50][DEBUG] : │ Création d'un appareil :
[2020-01-21 19:03:50][DEBUG] : │ Type : Hob
[2020-01-21 19:03:50][DEBUG] : │ Marque : Siemens
[2020-01-21 19:03:50][DEBUG] : │ Modèle : EX675LEV1F
[2020-01-21 19:03:50][DEBUG] : ├──────────
[2020-01-21 19:03:50][DEBUG] : Found config file for product type Hob
[2020-01-21 19:03:50][DEBUG] : Product : {   "commands": [     {       "name": "Connect?(e)",       "type": "info",       "isVisible": 1,       "isHistorized": 0,       "unite": "",       "configuration": {         "repeatEventManagement" : "never"       },       "subtype": "binary",       "logicalId": "connected"     },      {       "name": "Contr?le ? distance",       "type": "info",       "subtype": "binary",       "isVisible": 1,       "isHistorized": 0,       "unite": "",       "configuration": {         "repeatEventManagement" : "never"       },       "logicalId": "RemoteControlStartAllowed"     },     {       "name": "Programme en cours",       "type": "info",       "subtype": "string",       "isVisible": 1,       "isHistorized": 0,       "unite": "",       "configuration": {         "repeatEventManagement" : "never"       },       "logicalId": "programActive"     }   ] }
[2020-01-21 19:03:50][DEBUG] : {}
[2020-01-21 19:03:50][DEBUG] : └────────── Fin de la fonction homeappliances()
[2020-01-21 19:03:50][DEBUG] : └────────── Fin de la fonction syncHomeConnect()

Patience, ils finiront bien par le livrer votre lave-linge.

Le suicide de la boucle infinie dans le http.error:

PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /var/www/html/core/class/DB.class.php on line 84, referer: http://jeedom/index.php?v=d&p=homeconnect&m=homeconnect&id=414

Bonjour @vedrine,

J’ai suivi ta documentation ici : https://jmvedrine.github.io/homeconnect/fr_FR/

OK pour Installation/Configuration

Précision :
Dans la configuration du plugin, avant d’avoir cliqué sur le bouton « Se connecter », je me suis préalablement connecté sur Jeedom via l’accès externe (avec le DNS Jeedom, et non pas via l’accès interne) : https://XXXXXXXX.dnsX.jeedom.com

Sinon,
dans la configuration du plugin, après avoir :
-cliqué sur le bouton « Se connecter »
-saisie le compte Home Connect
-cliqué sur le bouton « Accepter »,

alors le navigateur est redirigé sur :
https://XXXXXXXX.dnsX.jeedom.com/plugins/homeconnect/core/php/callback.php?...

avec le message d’erreur suivant sur la page :

"Vous ne pouvez appeler cette page sans être connecté.
Veuillez vous connecter à votre Jeedom [ici](https://XXXXXXXX.dnsX.jeedom.com/index.php) avant et refaire l'opération de connexion à Home Connect"

akenad :slight_smile:

1 « J'aime »

Tiens c’est marrant je n’avais pas vu ce message et moi aussi çà m’énervait (ce n’est pas moi le coupable) donc je l’avais changé ce matin.
Il y a des tas de traitements d’erreurs à ajouter : erreurs curl, mise à jour de commandes sans vérifier qu’elles existent, …

J’ai corrigé la coquille.
Désolé, les environnements de développement « pro » et « modernes » signalent ce genre de bêtise mais je n’ai jamais réussi à m’y faire.
Je tape mon code dans un simple notepad++, tout ce que j’ai essayé d’autre ne me plait pas.
Pour les images presque toutes celles faite par Sartog sont en 500 x 500 ce qui n’est pas idéal sur la page où sont affichés tous les équipements.
Si je trouve un peu de temps je les recadrerai pour éviter de les déformer. En attendant j’ai mis en 500 x 500 votre hotte et votre plaque ce sera mieux mais pas parfait.
Normalement pour hotte et plaque il devrait y avoir pour le moment 3 commandes info: connecté(e), Contrôle à distance, programme en cours. Si ce n’est pas ce que vous voyez il y a un bug dans mon code.
De plus j’espérai vaguement que lors du cron programme en cours soit mis à jour si bien sûr il y a un programme en cours !

Bonjour @akenad
Alors là j’ai un vrai problème car ce message vient du fichier plugins/homeconnect/core/php/callback.php et je croyais avoir tout bien fait pour vérifier que l’utilisateur est connecté, en début j’ai bien

require_once dirname(__FILE__) . "/../../../../core/php/core.inc.php";
include_file('core', 'authentification', 'php');

et je vérifie par

if (!isConnect()) {

De plus çà fonctionne chez moi et je pense que çà marche aussi chez @jpty
Je vais essayer de comprendre ce qui se passe chez toi.

J’ai eu aussi ce message mais comme je suivais la doc trop en diagonale et que je n’étais pas connecté avec l’URL externe, j’ai trouvé ça normal. Et en cliquant sur [ici], c’est allé au bout de l’association.

Je n’avais pas lu le haut de la fenetre de connexion avec ce message:
Vérifiez bien que vous avez correctement configuré la partie Générale → Administration → Configuration puis reseaux, en effet il faut lors de l’association de Jeedom au compte Home Connect que votre Jeedom soit accessible de l’exterieur.

Je sais, j’avais le plugin avant le votre. Sans doc et pas très motivé pour du cloud, je n’étais pas allé bien loin dans la connexion.

Pire, j’utilise vim. Même si ma 1ère utilisation de vi s’est terminée par l’arrêt de la machine pour terminer l’édition d’un fichier (:q ou ZZ aurait suffi), on ne peut pas oublier plus de 30 ans de pratique pour passer sur un clickodrome.

Je n’ai pas de commandes autre que connected.
Et en supprimant les 2 appareils précédents, ni la synchro ni le cron ne crée de commande dans les appareils. Il faut réafficher pour voir apparaitre les appareils. C’est KC.
Faudrait passer en cron5 pour éviter d’attendre.

Bonjour @vedrine,
Je dispose d’un lave-linge WAWH2660FF de marque Bosch.
Je souhaite vraiment vous aider, d’autant qu’un ami m’a développé un bout de code pour récupérer les différentes informations de ma machine à laver, code que j’ai par la suite adapté à mon utilisation malgré mes maigres connaissances en code.

Je ne vois pas le plugin en Béta, car mon Jeedom V4 n’est pas en Béta.
Je vais l’installer via Github.

J’ai des compétences en image si besoin ou encore pour rédiger de la doc.
Enfin voilà, si je peux aider, c’est avec plaisir :slight_smile:
Mathieu

1 « J'aime »

Bonjour @OUARZA pas besoin que le Jeedom lui même soit en beta, il suffit d’accepter les plugins beta pour le voir.

@vedrine, merci j’ai pu installer le plugin.
J’ai un problème pour me connecter.
J’ai bien configuré à la fois l’API et le plugin, je clique sur « se connecter », je m’identifie sur le site de Home Connect, j’autorise puis j’ai une erreur de certificat (que je n’ai pas habituellement sur mon Jeedom), puis si clique sur « continuer vers » j’ai un message :

Cette page ne fonctionne pas

XXXXXX.synology.me n’a envoyé aucune donnée.
ERR_EMPTY_RESPONSE

Est-ce lié aux ports non mentionné ni dans le plugin ni dans le site Home Connect ?
Mathieu

Je suppose vu le message que tu es sur Docker ?
il doit y avoir un problème avec la « Redirect Uri »
Je ne connais pas du tout les particularités de Jeedom sur Docker.
Ton Jeedom est-il bien accesible de l’extérieur avec une url en https ?
Si tu vas sur configuration réseaux tout est-il OK ?

Non, je suis sur Raspberry.
Je pense que c’est bien un problème de port, si on regarde en détails:
Configuration Jeedom :

Configuration Plugin (absence du port) :
image

Configuration de l’application (absence du port, j’ai testé en ajoutant le port, j’ai un drôle de retour JSON) :
image

Page d’erreur (absence du port):
image

Accès au plugin (présence du port) :

Mathieu

Et en mettant le numéro de port dans jeedom et chez homeconnect, vous avez quel résultat?
EDIT: Le pb est qu’on ne peut pas l’ajouter dans Jeedom.

Dans HomeConnect, je vois où je peux faire la modification, mais côté Jeedom, je ne vois pas où je peux le rajouter.

Mathieu