Déclencher l'allumage de mon dashboard avec détecteur de présence

Bonjour,

Mon problème

Bonjour,

J’ai decide dabandonner Jeedom et de me lancer dans HA Jai donc équipe la maison avec un home assistant sur un raspberry pi 5. Jai decide dutiliser mon Vieux raspberry pi 3 en dashboard avec un ecran tactile 7 pouces officiel et FullPage OS
Cependant, je cherche a faire en sorte que l’écran de mon dashboard s’allume quand le capteur de presence sur zigbee de la piece detecte une présence.
J’ai vu qu’il existait des solutions en ssh mais je voulais savoir si il existait une solution interne a HA ?

Ma configuration


Texte à remplacer par votre configuration

Comment récupérer ma configuration :
Dans votre HA, Menu latéral Paramètres > Système > Corrections puis les trois petits points en haut a droite > Informations Système puis une fois en bas Copier


Hello @Damien_Ericher
Je vois 2 possibilités:

  • en ssh, mais c’est moins sécurisé et il n’y aura pas la réactivité
  • en mqtt, via une automatisation de ce type :
triggesr:
  - trigger: state
    entity_id: person.votre_nom
    to: 'home'
actions:
  - action: mqtt.publish
    data:
      topic: "rpi3/ecran"
      payload: "on"

pour le code pyton à mettre sur le PI3, ça s’apparenterait à ça :

import paho.mqtt.client as mqtt
import os

# Configuration MQTT
MQTT_BROKER = "192.168.1.100"  # Remplacez par l'adresse IP de votre broker MQTT
MQTT_PORT = 1883  # Port standard MQTT, modifiez si nécessaire
MQTT_USER = "votre_utilisateur_mqtt"  # Remplacez par votre nom d'utilisateur MQTT
MQTT_PASSWORD = "votre_mot_de_passe_mqtt"  # Remplacez par votre mot de passe MQTT
MQTT_TOPIC = "rpi3/ecran"

def on_connect(client, userdata, flags, rc):
    print(f"Connecté avec le code: {rc}")
    client.subscribe(MQTT_TOPIC)

def on_message(client, userdata, msg):
    if msg.payload.decode() == "on":
        os.system("vcgencmd display_power 1")
        print("Écran allumé")

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

# Définir les informations d'authentification
client.username_pw_set(MQTT_USER, MQTT_PASSWORD)

# Connexion au broker MQTT
try:
    client.connect(MQTT_BROKER, MQTT_PORT, 60)
    print(f"Connecté au broker MQTT: {MQTT_BROKER}")
except Exception as e:
    print(f"Erreur de connexion au broker MQTT: {e}")

client.loop_forever()

que Perplexity m’a suggéré, donc non testé, mais ça me semble cohérent.
Juste focaliser sur le code MQTT qui a quelques écarts avec celui que j’utilise, et vérifier cette commande sur le net qui semble allumer l’écran : os.system("vcgencmd display_power 1"); je pourrai t’aider si tu ne t’en sors pas sur le MQTT.

Bien-sûr il faut mosquitto sur HA, et un pip3 install paho-mqtt sur le pi3.

Et bien-sûr il te faudra une automatisation et une modification du python pour éteindre en cas d’absence.

Bonjour,
ça risque de ramer à l’affichage des pages du dashboard, surtout si tu utilises card_mod, des animations…
À moins de faire un dashboard basique.
j’avais tester a une époque ( avec FullPage OS aussi ) mais sur une tv, avec mon dashboard, c’était inutilisable pour moi. Rien de mieux qu’une bonne tablette.

Bonjour a tous
Merci pour vos reponses
Donc si je comprends bien ma demande nest pas simple et il n y a pas trop de solution pour un debutant comme moi.
Je vais essayer la solution via le ssh mais je narrive pas a creer de commande via lintegration ssh… (Bah oui je suis vraiment debutant…)

Peut-être y a-t-il plus simple, mais perso je ne connais que MQTT et ssh pour faire ton projet.
Via ssh, la command_line serait quelque chose comme ssh -i /config/.ssh/id_rsa -o StrictHostKeyChecking=no -p 20 pi@ip_du_raspberry_pi3 'bash /home/pi/rpi3_ecran.sh` avec le lancement de os.system("vcgencmd display_power 1") dans le fichier rpi3_ecran.sh de ton pi3, mais cette commande est complexe à mettre en place pour un débutant, pas sécure au niveau de l’accès pi3 et en plus il y aura un temps de connexion ssh qui va te faire un lag entre la détection de présence et l’allumage de l’écran.

1 « J'aime »

Bonsoir WarCOzes

Merçi pour ta reponse
Effectivement je suis d’accord avec toi : la tablette aurait ete plus simple mais jai deja investi dans le materiel et quand jai commencé mon projet je navais pas de vieille tablette sous la main…
Je pensais que cela Aurait ete plus simple avec un raspberry
Maintenant que jy ai passe du temps jaimerai finir…
Il ne me manque plus que cette amelioration pour avoir un petit dashboard adapté.

Bonsoir Christian,

Merci pour ton aide.
Je vais essayer cela mais je galere encore avec l integration ssh car je n’arrive pas a la configurer pour avoir une commande ssh sur mon rpi 3.

Je pense que tu veux parler de l’addon (ou module complémentaire) « Terminal & SSH »

Oui c’est bien cela. Je n’arrive pas à savoir comment renseigner la page de configuration de l’intégration.

Ca fait 5 ans que je l’ai installé, je n’ai plus trop souvenir.
Est-ce que tu as suivi cette procédure ? Common tasks - Operating System - Home Assistant.

  • passer en mode avancé
  • modules complémentaires > Boutiques > Terminal & SSH > Install
  • en configuration a priori seul le password suffit, de ce que je lis > Enregistrer > Démarrer
1 « J'aime »

Bonjour,

Je cherche à pouvoir réaliser une automatisation sur mon HA ( Raspberry Pi5) qui envoie une commande ssh à un Raspberry Pi3 équiper d’un écran tactile. Ce dernier me sert de Dashboard dans mon séjour.

L’objectif est d’allumer mon écran tactile et l’éteindre en fonction d’un capteur de présence du salon.

Cependant, je n’arrive pas à configurer Terminal SSH pour avoir accès à un service ssh.command.

Quelqu’un aurait déjà réussi a configurer ce service ?

Merci d’avance,

Ma configuration


System Information

version core-2025.1.4
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.13.1
os_name Linux
os_version 6.6.62-haos-raspi
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.5
Stage running
Available Repositories 1570
Downloaded Repositories 32
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 14.2
update_channel stable
supervisor_version supervisor-2024.12.3
agent_version 1.6.0
docker_version 27.2.0
disk_total 28.6 GB
disk_used 11.7 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board rpi5-64
supervisor_api ok
version_api ok
installed_addons Spotify Connect (0.13.0), Linky (1.5.0), Mosquitto broker (6.5.0), Studio Code Server (5.18.1), Nginx Proxy Manager (1.0.1), Duck DNS (1.18.0), Zigbee2MQTT (2.0.0-2), Matter Server (7.0.0), Terminal & SSH (9.16.0)
Dashboards
error failed to load: timeout
Recorder
oldest_recorder_run 21 janvier 2025 à 18:21
current_recorder_run 31 janvier 2025 à 21:49
estimated_db_size 337.39 MiB
database_engine sqlite
database_version 3.47.1
___

Salut

Configurer le terminal sur qui ?
L’addon sert à un installer le mode ‹ server ›, généralement celui à qui on se connecte…
C’est complétement séparé de ssh.command, qui permet de se connecter vers la machine (celle ou tu veux éteindre l’écran). En plus les services sont uniquement disponible dans les automatisations et les scripts HA

Hello @Damien_Ericher
C’est un peu le même sujet que ton post précédent non ? Declencher l'allumage de mon dashboard avec detecteur de presenfe

Toujours 2 methodes : MQTT ou SSH

As-tu reussi l’installation/configuration de Terminal & SSH comme proposé ?
Sachant que comme le dit @Pulpy-Luke , c’est la première etape; après, il y aura le command_line à configurer

Carrément bien vu => fusion

Pour moi le terminal n’est pas indispensable, ou alors ça suppose que l’écran est branché sur un truc avec HA dessus (aussi)… Pour moi c’est un bête linux ou android, pas un HAOS

1 « J'aime »

Bonjour a vous,

Effectivement, je suis toujours le meme projet. Je souleve des problemes a chaque etape.
J’avance il me manque que la façon d’automatiser la commande ssh pour allumer et eteindre lecran tactile qui marche manuellement via ssh.
Sauf que quand je veux utiliser la commande ssh.command dans l’automatisation HA. Mais elle ne semble pas etre reconnue par HA.

Merci de votre aide

Dans ce cas, j’imagine que :

  1. tu as essayé sous Terminal & SSH et réussi à faire marcher un code du type ?
ssh -i /config/.ssh/id_rsa -o StrictHostKeyChecking=no -p 20 pi@ip_du_raspberry_pi3 'bash /home/pi/allumer_rpi3_ecran.sh`
  1. que tu as essayé dans configuration.yaml un code du type ?
shell_command:
  allumer_rpi3_ecran: "ssh -i /config/.ssh/id_rsa -o StrictHostKeyChecking=no -p 20 pi@ip_du_raspberry_pi3 'bash /home/pi/allumer_rpi3_ecran.sh`"

ou un

shell_command:
  allumer_pi3_ecran: "bash /config/rpi5_allumer_rpi3_ecran.sh"

avec un fichier rpi5_allumer_rpi3_ecran.sh contenant :

ssh -i /config/.ssh/id_rsa -o StrictHostKeyChecking=no -p 20 pi@ip_du_raspberry_pi3 'bash /home/pi/allumer_rpi3_ecran.sh
  1. et, sans parler d’automatisation, en lançant l’action allumer_pi3_ecran, ça ne marche pas, c’est ça ?

Et bien pour le moment, je réussis ton étape 1 en utilisant la commande :
en me connectant au mon raspberry en utilisant la commande : ssh pi@192.168.1.40
je rentre manuellement mon mot de passe
puis j’ai réussi à allumer l’écran et l’éteindre avec la commande : vcgencmd display_power 1

après je ne maitrise pas shell_command. Alors je suis bloqué…

En demandant à Gemini, il m’a juste proposé la procédure suivante mais la fiabilité de sa réponse me semble relative… :

Absolument ! Je vais vous guider à travers les étapes pour configurer votre automatisation d’allumage d’écran tactile en utilisant un détecteur de présence dans Home Assistant.

Étape 1 : Configuration de l’écran tactile

  • Connexion et fonctionnement: Assurez-vous que votre écran tactile est correctement connecté à votre Raspberry Pi et qu’il fonctionne comme prévu.
  • Désactivation de la mise en veille: Suivez les instructions précédentes pour désactiver la mise en veille de l’écran tactile, afin qu’il ne s’éteigne pas automatiquement.

Étape 2 : Configuration de Home Assistant

  • Intégration SSH: Vous devez configurer l’intégration SSH dans Home Assistant pour permettre l’exécution de commandes à distance sur votre Raspberry Pi. Cela implique généralement d’installer un add-on SSH et de configurer les informations d’identification (nom d’utilisateur et mot de passe ou clé SSH).
  • Détecteur de présence: Assurez-vous que votre détecteur de présence est correctement configuré dans Home Assistant. Vous devriez avoir une entité (par exemple, binary_sensor.presence_sensor) qui indique l’état de présence (activé/désactivé).

Étape 3 : Script d’allumage de l’écran

  • Création du script: Créez un fichier script sur votre Raspberry Pi (par exemple, /home/pi/scripts/allumer_ecran.sh) avec le contenu suivant :

Bash#!/bin/bash vcgencmd display_power 1

Ce script utilise la commande vcgencmd display_power 1 pour allumer l’écran tactile.

  • Rendre le script exécutable: Utilisez la commande suivante pour rendre le script exécutable :

Bashchmod +x /home/pi/scripts/allumer_ecran.sh

Étape 4 : Automatisation Home Assistant

  • Création de l’automatisation: Créez une automatisation dans Home Assistant (via l’interface graphique ou le fichier configuration.yaml) avec la configuration suivante :

`YAMLautomation:

  • alias: Allumer écran tactile sur présence
    trigger:
    • platform: state
      entity_id: binary_sensor.presence_sensor
      to: ‹ on ›
      action:
    • service: ssh.command
      data:
      host: <adresse_ip_raspberry_pi>
      username: <nom_utilisateur_ssh>
      password: <mot_de_passe_ssh>
      command: /home/pi/scripts/allumer_ecran.sh`
  • Remplacement des espaces réservés: Remplacez les espaces réservés par les informations correctes :
    • <adresse_ip_raspberry_pi> : Adresse IP de votre Raspberry Pi avec l’écran tactile.
    • <nom_utilisateur_ssh> : Nom d’utilisateur pour la connexion SSH.
    • <mot_de_passe_ssh> : Mot de passe pour la connexion SSH (ou utilisez une clé SSH pour plus de sécurité).

Étape 5 : Test de l’automatisation

  • Déclenchement de l’automatisation: Activez votre détecteur de présence pour déclencher l’automatisation.
  • Vérification de l’écran: Vérifiez si l’écran tactile s’allume correctement.

Dépannage

Si vous rencontrez des difficultés, vérifiez les points suivants :

  • Intégration SSH: Assurez-vous que l’intégration SSH est configurée correctement et que vous pouvez vous connecter à votre Raspberry Pi depuis Home Assistant.
  • Chemin du script: Vérifiez que le chemin vers le script d’allumage de l’écran est correct dans l’automatisation.
  • Permissions: Assurez-vous que le script d’allumage de l’écran est exécutable et que l’utilisateur SSH a les permissions nécessaires pour l’exécuter.
  • Logs: Consultez les logs de Home Assistant et de votre Raspberry Pi pour identifier d’éventuelles erreurs.

Si vous avez besoin d’aide supplémentaire, n’hésitez pas à me fournir plus de détails sur votre configuration ou les erreurs que vous rencontrez.

Alors 3 remarques :

  1. en fait tu n’as pas exactement réussi l’étape 1; en effet, tout l’intérêt du type de commande ssh que j’ai copié évite de rentrer un mot de passe manuellement (rentrer un mot de passe manuellement rendrait l’automatisation inefficace)
  2. dans ce cas, une fois que tu auras réussi à configurer le ssh sans mot de passe, perso je suis plutôt passé par command_line et au lieu du shell_command
  3. si tu cherches sur le forum tu trouveras 2 posts tutoriels expliquant comment se connecter à un raspberry distant à partir de HA avec ssh
    Command Line avec ssh sur raspberry-pi distant
    Shell_command comment lancer un processus sur une machine distante en YAML (tuto)
2 « J'aime »