Création d'un pont Jeedom vers HA

ok je m’en suis sorti en mettant le fichier dans le répertoire share.
j’ai bien vu les états via mon outil MQTT explorer

j’attendais que HA me créé les entity mais rien…
je les ai finalement déclaré dans le configuration.yaml
mais je pensais que c’était automatique, car pour Zwave et Zigbee les entités sont créé automatiquement…

reste maintenant à faire les appels de HA vers Jeedom.
j’ai tenté le command_shell mais je ne trouve aucun exemple pour m’aider.

@carfnann tu as testé ça ?

1 « J'aime »

salut,

désolé je n’avais pas vu ton message.
je vais jeter un oeil. merci pour l’info

Bonsoir à tous,

Je bascule de Jeedom vers HA.
Je tente donc de récupérer des infos de capteurs non migrés.
J’ai mis en place les flows donnés par @golfvert.(merci à lui pour le partage au passage)
J’arrive bien à récupérer dans node-red les données. Elles sont bien filtrées par l’ID Jeedom.
Par contre, je n’arrive pas à les faire remonter dans HA.
Je précise que je suis à jour pour HA, que node-red est intégré dans HA.
J’ai créé manuellement l’entité dans configuration.yaml :

sensor:
  - platform: template
    sensors:
      oeil_salon_presence:
         friendly_name: "Salon Presence"
         value_template: "{{ value }}"

Je ne l’ai peut-être pas créé comme il fallait ? (j’ai redémarré HA et l’entité remonte bien mais sans valeur.)

Salut.
Effectivement le yaml est syntaxiquement pas correct. 1 espace en trop pour les deux dernières lignes par exemple.
Et peut être d’autres, mais là j’ai exactement les yeux en face des trous à cet erreur

Même s’il y a un espace en plus, je ne pense pas que yaml râle à cause de ça.
Le fichier m’a l’air bon donc.
Il faudrait regarder du côté NR si l’appel à l’API fonctionne. Comme ça, à première vue, je chercherai plutôt là…

Tout d’abord, merci à tous les 2 pour vos réponses (rapides qui plus est !)
Alors en effet, il y a un espace en trop mais avant de redémarrer HA, je lance toujours une vérification de la conf et il n’avait rien trouvé à redire.
Pour l’appel à l’API, je suppose que c’est le HASSIO out.
Je constate une erreur sur ce node. Déjà, le paramétrage me semble totalement vide. (très étonnant pour moi mais je maitrise pas node-red.
D’autre part, il marque only https URLs allowed.
J’ai tenté de mettre l’URL de mon HA en https mais pas mieux. Et puis en local, je n’ai pas de certificat. Je l’ai fait avec letsencrypt sur le nom de domaine.
Qu’est ce que je devrais avoir sur le node ou quels tests devrais-je effectuer ?
Merci d’avance.

Pour que ça marche, il faut un « long lived token » à toi, par exemple. Tu l’as fait?
Mon HA est en HTTPS, donc, si tu as repris mon flot, c’est logique.
Si le tiens est en HTTP, il faut changer de noeud. Celui-là ne fait que HTTPS.
Donc, pour résumer, il faut adapter l’exemple à chez toi.
Si une fois fait tout ça, ça ne marche pas, tu peux copier le flot ici.

J’ai bien mis un long lived token dans le node parameter.
On est d’accord qu’il n’y a rien à modifier dans le node HASSIO out ?
Je suis resté avec le noeud https et j’ai mis l’URL en https et il n’est plus en erreur. je passe par un tunnel pour le boulot donc le flux sort et rentre donc plus d’erreur.

Toujours rien dans HA alors que mon débug montre que les valeurs arrivent toujours dans node-red.

Il faudrait voir ce que NR envoie à HA. En gros, tout le message qui sort du noeud fonction. J’imagine qu’il y a un truc qui coince là.

Voilà :

{"entity_id": "sensor.oeil_salon_humidite", "state": "34.5", "attributes": {}, "last_changed": "2022-01-10T08:49:14.204881+00:00", "last_updated": "2022-01-10T08:49:14.204881+00:00", "context": {"id": "dc2f8cd1846b38d1db40515fbea8bf65", "parent_id": null, "user_id": "f30bccc20de4467b8b321b60df69ea1f"}}

Ca, ce n’est que le msg.payload. C’est le reste qui est (surtout) utile. Tout le msg.
Là, je vois déjà que c’est « humidite » et pas « presence ». Les deux existent bien?

oui les 2 existent dans le configuration.yaml.
Je vais regarder pour récupérer le reste.

{"_msgid":"92fb72e835e7d496","payload":"{\"entity_id\": \"sensor.oeil_salon_humidite\", \"state\": \"35.1\", \"attributes\": {}, \"last_changed\": \"2022-01-10T09:34:16.756728+00:00\", \"last_updated\": \"2022-01-10T09:34:16.756728+00:00\", \"context\": {\"id\": \"9b18cc10c92e88468c8c9b8dbbd06627\", \"parent_id\": null, \"user_id\": \"f30bccc20de4467b8b321b60df69ea1f\"}}","url":"https://homeassistant.aaaaaa.net:8123/api/states/sensor.oeil_salon_humidite","method":"POST","headers":{"content-type":"application/json","location":"/api/states/sensor.oeil_salon_humidite","content-length":"303","date":"Mon, 10 Jan 2022 09:34:16 GMT","server":"Python/3.9 aiohttp/3.8.1","connection":"close"},"req":{"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":true,"endEmitted":true,"reading":false,"constructed":true,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":true,"autoDestroy":true,"destroyed":true,"errored":null,"closed":true,"closeEmitted":true,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":true,"dataEmitted":false,"decoder":null,"encoding":null},"_events":{"end":[null,null]},"_eventsCount":1,"socket":"[internal]","httpVersionMajor":1,"httpVersionMinor":1,"httpVersion":"1.1","complete":true,"rawHeaders":["Connection","close","Host","192.168.2.118:1880","X-Forwarded-For","192.168.2.91","X-Forwarded-Proto","http","X-NginX-Proxy","true","X-Real-IP","192.168.2.91","Authorization","Basic bmljbzMzOnZhbmlsbGUzMw==","Accept","*/*"],"rawTrailers":[],"aborted":false,"upgrade":false,"url":"/jeedom?value=35.1&id=13149","method":"GET","statusCode":null,"statusMessage":null,"client":"[internal]","_consuming":false,"_dumped":true,"baseUrl":"/endpoint","originalUrl":"/endpoint/jeedom?value=35.1&id=13149","_parsedUrl":{"protocol":null,"slashes":null,"auth":null,"host":null,"port":null,"hostname":null,"hash":null,"search":"?value=35.1&id=13149","query":"value=35.1&id=13149","pathname":"/jeedom","path":"/jeedom?value=35.1&id=13149","href":"/jeedom?value=35.1&id=13149","_raw":"/jeedom?value=35.1&id=13149"},"params":{},"query":{"value":"35.1","id":"13149"},"res":"[internal]","body":{},"_parsedOriginalUrl":{"protocol":null,"slashes":null,"auth":null,"host":null,"port":null,"hostname":null,"hash":null,"search":"?value=35.1&id=13149","query":"value=35.1&id=13149","pathname":"/endpoint/jeedom","path":"/endpoint/jeedom?value=35.1&id=13149","href":"/endpoint/jeedom?value=35.1&id=13149","_raw":"/endpoint/jeedom?value=35.1&id=13149"},"route":{"path":"/jeedom","stack":[{"name":"cookieParser","keys":[],"regexp":{"__enc__":true,"type":"regexp","data":"/^\\/?$/i"},"method":"get"},{"name":"httpMiddleware","keys":[],"regexp":{"__enc__":true,"type":"regexp","data":"/^\\/?$/i"},"method":"get"},{"name":"corsHandler","keys":[],"regexp":{"__enc__":true,"type":"regexp","data":"/^\\/?$/i"},"method":"get"},{"name":"metricsHandler","keys":[],"regexp":{"__enc__":true,"type":"regexp","data":"/^\\/?$/i"},"method":"get"},{"name":"<anonymous>","keys":[],"regexp":{"__enc__":true,"type":"regexp","data":"/^\\/?$/i"},"method":"get"},{"name":"<anonymous>","keys":[],"regexp":{"__enc__":true,"type":"regexp","data":"/^\\/?$/i"},"method":"get"}],"methods":{"get":true}},"cookies":{},"signedCookies":{}},"res":{},"statusCode":200,"certificate":{},"certificateExpires":null}

Normal que le token ne soit pas dans la requète ?

Je viens de me rendre compte que ça fonctionne là.
J’ai dû faire une modif. :slight_smile:
Peut-être le fait d’être passé par le tunnel
Je vais refaire avec un node http pour voir

Merci en tout cas pour le coup de main !!!

De nouveau merci à @golfvert et à @Ioull pour leur dev et partage. Ca marche au top.
J’ai donc mis en oeuvre les 2 solutions pour tester et je pense partir plutôt sur celle MQTT, ça me permettra de tester d’autres solutions facilement dans l’avenir.
J’ai une question : Est-ce qu’il est possible que le flow crée directement les appareils et les entités comme le fait par ex zigbee2mqtt ? Ca serait nettement plus rapide et user friendly.
Bon je demande au cas où … C’est déjà top comme ça !

Bonjour,

En tant que bon gros noob, j’ai pas compris comment vous avez réussi… :unamused:
J’ai bien mis le lien de push vers HA dans Jeedom, mais la partie des flow à créer je sèche…

Une âme charitable pourrait m’aiguiller ?

PAr avance merci

hello,

faut-il mettre quelque chose pour l’apikey (j’imagine que oui), et si oui, ou trouve-je cette clef? :slight_smile:

Je me réponds… c’est toujours pareil, 30 secondes après avoir posé la question, j’ai eu l’illumination… Donc j’ai trouvé. :slight_smile: :grin: