Intégration MCP23017

Bonjour à tous,
Débutant dans home assistant, je n’arrive pas à trouver l’intégration mcp23017.
Lorsque je vais sur le site Integrations - Home Assistant je trouve l’intégration mcp23017 I/O expender dont j’ai besoin mais lorsque je fais la recherche dans HACS impossible de mettre la main dessus.

Pouvez vous me dire ou se trouve mon erreur sachant que je tape « mcp » dans tous les moteurs de recherche sur HACS dans home assistant ?

merci !

Bonjour,

je ne connaît pas ce composant,
a quoi te sert t’il exactement ?

a mon avis l’intégration n’est pas dans HACS mais juste dans les intégrations home assistant
et pour moi il suffit juste d’ajouter le code indiqué dans le configuration.yalm

tu a essayé ?

Salut,
Merci pour ta réponse.
Ce circuit intégré sert à augmenter le nombre de GPIO de la Raspberry (ou d’un Arduino) de 16 entrées/sorties en communiquant par le bus i2c.

Je me suis douté qu’il fallait l’intégré soi même mais c’est quelque chose que je n’ai pas encore compris.
En fait, il y a 4 ans environ je m’était penché sur Jeedom et j’avais réussi à communiquer avec les GPIO de la Raspberry mais c’était laborieux et très instable. J’ai arrêté mes essais jusqu’à maintenant en essayant home assistant.
Seulement je n’arrive pas à comprendre le principe de fonctionnement pour communiquer avec les GPIO j’en suis à des heures de lecture, de vidéo et de recherche sur le net mais je ne trouve pas de topic qui explique clairement comment dialoguer avec les GPIO de la raspberry.

J’ai suivi les recommandations de configuration du MCP23017 que j’ai trouvé dans la page web des intégrations de home assistant mais je n’ai aucune idée de la façon dont je dois m’y prendre pour demander à home assistant de mettre un GPIO à l’état 1 ou 0 ou de lire l’état d’un GPIO

Si tu as des liens vers des topics je suis preneur !
Merci

je n’ai jamais essayé, et en plus j’ai laissé de coté le RPI pour mon HA

mais si tu regarde la doc :
hass.io raspberry gpio

pour moi si tu met cela dans ton configuration.yalm :

    # Example configuration.yaml entry
    cover:
      - platform: rpi_gpio
        relay_time: 0.2
        invert_relay: false
        state_pull_mode: 'UP'
        invert_state: true
        covers:
          - relay_pin: 10
            state_pin: 11
          - relay_pin: 12
            state_pin: 13
            name: 'Right door'

tu a bien les broches de ton GPIO qui sont nomées en fonction de leur fonction :
la 10 commande le relais, la 11 te donne un état …

tu a essayé ça ? et ça ne fonctionne pas ?

Ca se rapproche de ce dont j’ai besoin. Je vais commencer par essayer avec le GPIO de la Raspberry et quand j’aurais un résultat satisfaisant je m’occuperais de passer par le MCP23017.
Mon souci en tant que vrai débutant est que je ne saisi toujours pas comment créer un bouton, l’associer à une lumière (donc pour l’instant à une sortie GPIO), lire l’état d’une entrée GPIO et l’afficher dans le tableau.
Je trouve les topics sur le net pas très détaillé.
Je trouve des démonstrations à suivre pas à pas pour créer des choses mais il n’y pas les explications qui détail le pourquoi du processus et j’ai besoin de comprendre ce que je fait sans avoir à seulement copier bêtement un chemin.

Est-ce que tu connais un topic ou un site qui détail le fonctionnement de HA ?

oui, pour ton problème de MCP, il faut déjà arriver a lire un état d’une GPIO et pouvoir en modifier une autre.
pour apprendre, rien de mieux qu’une plaque a trous, des fils de liaison, des BP et des leds et jouer avec tout cela pour voir les interactions
je n’ai pas trop de conseil a te donner, je ne joue pas trop aux GPIO, je suis plutôt arduino et autres ESP

après pour le fonctionnement de HA, je cherche en fonction de chaque besoin et découvre quelques fonctions super au fil de l’eau…

En fait, pour les GPIO et l’électronique je n’ai pas de problème j’en ai beaucoup fait (pas avec HA)
C’est plutôt côté programmation HA que je suis largué et je constate que c’est très compliqué de trouver un topic de quelqu’un qui est équipé en filaire et non en sans fil.
Comme par exemple, créer un bouton de lumière et l’associer à une sortie GPIO est introuvable dans les topics.
Mais bon, je vais me servir de ce que je trouve en sans fil et essayer de m’y adapter.

Merci !

bonjour, @Anycreations
j’ai un MCP23017, je l’ai connecter à un esp-32 sous esphome

:grinning:

Merci,
Je n’utilise pas d’ESP. J’ai entièrement câblé mon appartement. J’ai fait le choix d’émettre zero onde pour la domotique, d’où ma grande difficulté à trouver des sujets sans esp ou autre.

Je vais m’inspirer du contenu du lien ESPhome pour tenter de faire la même chose avec du filaire.

Encore merci !

Enfin j’avance !
Je n’en suis encore pas au MCP23017.
Je block sur un point, qui je pense est simple, mais pas moyen d’y arriver.

J’ai essayé l’exemple de l’intégration :

Example configuration.yaml entry

switch:

  • platform: rpi_gpio
    ports:
    11: Fan Office
    12: Light Desk

Et tout fonctionne très bien. Sachant que j’ai connecté des diodes de couleur sur les broches 11 et 12.

Seulement mon objectif est que la lumière ne s’allume que 0.6 seconde et qu’il me faut lire aussi un état sur une autre broche.

Le but est de déclencher un télérupteur
j’ai donc essayé cette intégration que j’ai trouvé dans la même page (rpi_gpio)

Example configuration.yaml entry

cover:

  • platform: rpi_gpio
    relay_time: 0.2
    invert_relay: false
    state_pull_mode: ‹ UP ›
    invert_state: true
    covers:
    • relay_pin: 10
      state_pin: 11
    • relay_pin: 12
      state_pin: 13
      name: ‹ Right door ›

Mais cette fois je ne trouve pas l’entité pour créer le bouton.
J’ai essayé d’intégrer une ligne identique au premier script pour nommer les ports mais ça me retourne une erreur.
Quelqu’un a une idée ?

bonjour,
Décidément je ne comprend vraiment pas le principe de home assistant.

Est-ce que quelqu’un pourrait m’éclairer sur la création d’un bouton poussoir sur le lovelace et l’associer à une sortie GPIO du rpi.

Ce que j’entend par bouton poussoir c’est un bouton, de lumière en l’occurrence, qui s’allume seulement un court moment (300 ms par exemple) et qui met à l’état 1 la sortie GPIO qui lui est associé sur même lapse de temps.
j’ai regarder des dizaines de site et forum y compris en anglais et rien ne fonctionne comme je le souhaite.

Quelqu’un pourrait m’aider.

Merci

Salut,

alors je repars sur un cas basique pour tenter de t’aider

j’ai mis ceci dans le configuration.yaml

switch:
  - platform: rpi_gpio
    ports:
      11: Fan Office
      12: Light Desk

Petit reboot :slight_smile:

Et ensuite si tu ajoutes une carte comme ci-dessous cela devrait fonctionner (tu auras ton bouton cfr petit éclair à droite)

Est ce que cela déjà c’est ok chez toi ?

Salut,
Merci pour ton aide.
Je suis au travail et donc pas devant le pc mais je peux effectivement te dire que ce que tu me propose fonctionne très bien, je l’ai teste22²

Désolé erreur de frappe.
Donc jai testé avec succès. C’est pour les autres scripts que ca se complique.

En fait je ne comprends pas pourquoi tu utilises le cover ?

J’utilise tout ce qu’il me passe sous la main :grin:
Je n’ai même toujours pas compris ce qu’est un cover.
En fait j’ai essayé tout ce que je pouvais en espérant finir par faire fonctionner quelque chose.
J’ai essayé le cover aussi parcequ’ en fouillant sur le net cover ressortait souvent mais pour des portails ou volet par exemple.
Bref, j’y comprend rien :worried:

ok donc avec ceci ton relais s’activera pendant 300 millisecondes

A ajouter dans le configuration.yaml

switch:
  - platform: rpi_gpio
    ports:
      11: Fan Office
      12: Light Desk

image

A ajouter dans le automation.yaml

- id: '1605212642663'
  alias: Gpio impulsion
  description: ''
  trigger:
  - platform: state
    entity_id: switch.light_desk
    to: 'on'
  condition: []
  action:
  - delay:
      milliseconds: 300
  - service: switch.turn_off
    data: {}
    entity_id: switch.light_desk
  mode: single

Salut,
Merci je commence à y voir plus claire. Je ne pourrais essayer que ce soir.
En attendant je me permets deux questions concernant ton code.
La première ligne id dans automation est un chiffre que l’on choisi soi-même ou est-ce qu’il correspond à une donnée précise ?
Et à propos de identity_id, le switch.light_desk est défini par rapport à quoi ? Est-ce une fonction de home assitant ?

Merci !

Alors cet id correspond au mode fainéant :slight_smile: j’ai créé l’automation dans l’interface et ensuite tu peux aller dans le fichier automation.yaml pour voir comment c’est codé :slight_smile:

Donc l’id est donné par Hass tu peux mettre ce que tu veux je pense

Pour identity_id il est formaté par Hass sur base de ton code

switch:
  - platform: rpi_gpio
    ports:
      11: Fan Office
      12: Light Desk

tu peux renommer l’entité mais attention pas de majuscule et tu dois conserver le type ici Switch

Ok impec je vais plancher la dessus.
Juste une chose. Tu me dis pas de majuscule pour renomer l’entité mais je vois que Light Desk a 2 majuscules, c’est bien ça l’entité ou j’ai mal compris ?