[Mon Dashboard] - @kaoru

La fonctionnalité est découpée en plusieurs partie :

Tu as dans mon repo le code python pybbox_custom qui est le coeur central qui permet d’interagir avec l’API de la bbox. Ensuite, tu as bbox_sensor.py qui exploite pybbox et injecte les données dans home assistant en utilisant le token api présent dans secrets.yaml

Le code que tu me montres, c’est ce qui déclenche initialement le script toutes les minutes en faisant appelle à la commande ssh bbox_update_data via l’automation

La commande ssh fait appel à une clé privé ssh qui se trouve dans le .ssh config qui pour raison de continentalité n’est pas présente. La clé publique est intégrée dans la machine host au préalable pour l’utilisateur hass.

Pour la compréhension, j’ai fait un schéma :

Hello, Merci pour les explications.

Donc dans l’ordre ou le désordre :

  • Un token généré
    Capture d'écran 2024-02-23 195915

  • Le fichier secret
    Capture d'écran 2024-02-23 200352

  • Le répertoire python
    Capture d'écran 2024-02-23 200512

  • Configuration.yaml
    Capture d'écran 2024-02-23 200553

  • L’automatisation

alias: bbox_update_data
description: ""
trigger:
  - platform: time_pattern
    minutes: /1
action:
  - service: shell_command.bbox_updat

Et apparemment pas de résultat en sortie, ni de variables créées.

Capture d'écran 2024-02-23 200737

Capture d'écran 2024-02-23 200822

Capture d'écran 2024-02-23 200847

Est ce que j’ai raté quelque chose de flagrant ? Merci.

Je te réponds a chaud. Mais est ce que tu as géré la partie ssh. Il faut que ton container docker de home assistant puisse se connecter a ta machine host

Hello,

Donc la connexion ssh =>
bbox_update_data: "ssh -o StrictHostKeyChecking=no -i /config/.ssh/id_rsa hass@localhost /usr/bin/python3 /usr/share/hassio/homeassistant/python/bbox_sensor.py"

J’avoue ne pas trop savoir ce qui est attendu, il y a des dépendances, quelque chose à installer sur mon nuc ?

Oui c’est bien cette commande !

D’après la documentation de mon script (je fais bien les choses), voici les dépendances :

  • requests
  • os
  • yaml

En amont tu dois préparer des choses :

  1. Créer l’utilisateur hass
  2. Générer une clé privée
  3. Copier la clé privée dans le dossier .ssh dans la config home assistant
  4. Installer la clé publique pour l’utilisateur hass
  5. Affecter les droits d’exécution pour l’utilisateur hass sur les scripts.

Ensuite, tu peux peux tester le fonctionnement du script depuis ton NUC et après si c’est ok vérifier le fonctionnement depuis home assistant. Faudra que tu check les logs de hass.

Bonjour,
Voilà où j’en suis, après avoir galéré avec les clés et en suivant ce tuto (SSH'ing from a command line sensor or shell command - Community Guides - Home Assistant Community), j’arrive à créer une clé que je colle dans le répertoire config/.ssh avec la commande ssh-keygen (comme conseillé par ledit tuto pour éviter sa disparition à chaque mise à jour), puis à mettre à jour le known_hosts avec ssh home-assistant@192.168.1.3.
Donc si j’ai bien compris (pas sûr), le fait de mettre à jour le known_hosts installe la clé publique ?

Et après qu’entends tu par " Affecter les droits d’exécution pour l’utilisateur hass sur les scripts." ?

Merci.

Salut !

Je tente ma chance même si ce thread est un peu vieux, en utilisant les mini-graph-card dans le button-card comme tu as fais j’ai eu souci ou lorsque c’est utilisé sur un iPad Air, ca dépasse de partout, c’est d’ailleurs reproductible via la console avec le format iPad Air dans le navigateur…

Est-ce que quelqu’un a déjà eu ca et a réussi à trouvé un workaround ?