Problème entrées GPIO Raspberry

Bonjour à tous,

Débutant sur HA, j’ai transformé un raspberry 3B+ en serveur avec HA OS.
J’ai modifié le fichier « configuration.yaml » pour pouvoir utiliser des GPIO en entrées et en sorties.

# Controle des GPIO
binary_sensor:
  - platform: rpi_gpio
    ports:
      5: Entree 1
      22: Entree 2
      
switch:
  - platform: rpi_gpio
    invert_logic: true
    ports:
      6: Sortie 1
      24: Sortie 2
      27: Sortie 3

Une fois que j’ai redémarré le serveur, je retrouve bien mes sorties pilotables sur l’interface lovelace, mais les entrées n’apparaissent pas les outils de développement.
Dans les logs, j’ai ce message d’erreur :

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform
    await asyncio.shield(task)
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/rpi_gpio/binary_sensor.py", line 48, in setup_platform
    RPiGPIOBinarySensor(
  File "/usr/src/homeassistant/homeassistant/components/rpi_gpio/binary_sensor.py", line 81, in __init__
    rpi_gpio.edge_detect(self._port, edge_detected, self._bouncetime)
  File "/usr/src/homeassistant/homeassistant/components/rpi_gpio/__init__.py", line 48, in edge_detect
    GPIO.add_event_detect(port, GPIO.BOTH, callback=event_callback, bouncetime=bounce)
RuntimeError: Failed to add edge detection

J’ai trouvé plusieurs sujets qui parlent du même problème mais impossible de trouver une solution !

Est ce que quelqu’un saurait comment le résoudre ?
Est ce que si l’entrée est mal cablée (Pull-UP/Pull-DOWN), elle doit quand même apparaitre dans la liste de mes binary sensors ?

Merci d’avance pour votre aide

Ma configuration


System Health

version core-2021.12.10
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.9.7
os_name Linux
os_version 5.10.63-v8
arch aarch64
timezone Europe/Paris
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 7.1
update_channel stable
supervisor_version supervisor-2021.12.2
docker_version 20.10.9
disk_total 222.8 GB
disk_used 6.1 GB
healthy true
supported true
board rpi3-64
supervisor_api ok
version_api ok
installed_addons Duck DNS (1.14.0), File editor (5.3.3), Terminal & SSH (9.3.0)
Lovelace
dashboards 1
resources 0
mode auto-gen
___

Sans répondre directement à la question, attention à l’usage des composants GPIO, ils vont disparaitre à plus ou moins long terme.
Un passage direct sur ESPHome est peut être à envisager de suite si tu commences.
My 2cent’s

Merci pour ton retour, c’est bon à savoir …

Pour tout dire, j’utilisais ce raspberry pour récupérer l’état de plusieurs contacts secs via une page web faite main.
Je souhaitais améliorer mon système d’où mon passage sous HA.

Du coup, est ce qu’ESPHome est le seul moyen de récupérer l’état de contacts secs ou est ce qu’il y a d’autres solutions ?

Je ne sais pas si c’est la seule, en tout cas une des plus économique et ‹ simple › à mettre en oeuvre.
Pour le fun, en zigbee, il y a aussi les hack à partir de capteur de porte (ie récuperer l’état ouvert/ fermé et transmettre en zigbee, par ex).
L’avantage d’esphome sur esp8266 / esp32 est le nombre d’entrées dispos (encore plus en multiplexant) , le wifi peut être un frein, mais le portage HA → ESPHOME assez simple car basé sur la même philosophie ‹ YAML ›.

Salut,

Je ne connais pas ton besoin lié aux GPIO, et je n’ai jamais essayé de les utiliser avec HA.
Mais effectivement je ne compterai pas dessus pour quelque chose au cœur de ton installation, avec HAOS, comme tout se passe en container, je ne sais quel est le niveau d’accès aux GPIO à l’intérieur d’un container…

Avant HA, j’avais utilisé pas mal de choses qui passaient par les GPIO de mon RPi qui servait de serveur domotique.
(contacts sec, téléinfo, boutons, leds…)
Tout marchait bien de ce côté là, mais ça m’obligeait à garder ce serveur dans mon garage, en passant par HA, j’ai migré le seveur principal à l’intérieur de la maison, ce qui a beaucoup aidé pour les autres protocoles sans fil (RF & ZWave à l’époque).
J’ai laissé un Raspberry 2B dans le garage pour gérer mes contacts secs et autres GPIO pour communiquer avec HA en MQTT, du coup c’est devenu un gros sensor indépendant que je gère en python.
Si j’en ai le temps d’aillleurs, je remplacerai ce RPi par un Esp8266 en MQTT.

Autre solution si tu tiens absolument a faire cohabiter HA et gestion des GPIO a long terme, c’est de ne pas utiliser HA OS. Mais faire l’OS toi même avec HA en container… comme ça tu as accès plus direct à la machine hôte et gérer les GPIO depuis là, en « direct ».

Merci à vous deux pour vos retours.

Je vais me regarder et comparer les solutions esphome / capteur zigbee (j’ai déjà un dongle).