Code pour multiplexeur cd74hc4067

Bonjour
Je ne parviens pas à adapter le code trouvé sur esphome :

concernant le multiplexeur CD74HC4067

Je souhaite connaître l’état d’une quinzaine de capteurs type contacteur de portes (ON/off) ou type analogique tension variable entre 0 et 1v. Je dispose du multiplexeur cité dans le titre.

Voici le code que j’ai saisi pour donner l’idée de ce que je voudrais

cd74hc4067:
  - id: cd74hc4067_1
    pin_s0: GPIO05
    pin_s1: GPIO18
    pin_s2: GPIO19
    pin_s3: GPIO21

sensor:
  - platform: adc
    id: adc_sensor
    pin: GPIO36
    update_interval: 3600s

  - platform: cd74hc4067
    id: ...
    number: 0  
    sensor: adc_sensor
    update_interval: 3600s

  - platform: gpio
    name: "poussoir"
    id: poussoir
    sensor: ...
    update_interval: 30s

  - platform: adc_sensor
    name: "pot"
    id: pot
    sensor: ... 
    update_interval: 30s

et le plan du montage (2 capteurs sont placés uniquement)

Merci de votre aide


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


Salut,

Il est supporté par ESPHOME

Donc normalement pas de souci pour l’intégration. quelle est l’erreur ? Quel controleur ?

Bonjour Pulpy
Depuis ma demande, j’ai avancé, voici mon code :

cd74hc4067:
  - id: cd74hc4067_1
    pin_s0: GPIO05
    pin_s1: GPIO18
    pin_s2: GPIO19
    pin_s3: GPIO21

sensor:
  - platform: adc
    id: adc_sensor
    pin: GPIO36
    update_interval: 10s
    name: "sortie multiplexeur"

  - platform: cd74hc4067
    id: adc_0
    number: 0
    sensor: adc_sensor
    name: "interrupteur"

  - platform: cd74hc4067
    id: adc_15
    number: 15
    sensor: adc_sensor
    name: "vario"

Avec ça, je peux visualiser les valeurs de ‹ interrupteur › et de ‹ vario › dans l’aperçu. (j’ai branché le potentiometre sur la sortie 15 et pas 1 comme indiqué sur mon schéma, et la sélection de l’entrée avec les 4 broches 5, 18, 19, 21 a été modifiée sur le schéma).
Quelques questions subsistent :

  • le « update_interval: 10s » signifie-t-il que le multiplexeur envoie l’état des 2 entrées systématiquement toutes les 10secondes ? on dirait pas …
  • Ai je raison de mettre la source des deux entrées à 1V, est-ce que je peux mettre le 3.3v de l’esp ? (je ne suis pas sûr de mon montage, ce qui pourrait expliquer des valeurs affichées très changeantes alors que l’on touche à rien)
  • Pour l’inter, la valeur affichée est en volt (c’est logique) mais j’aimerais plutôt voir un truc qui traduise que la porte est ouverte ou non. Dans l’idéal un logo qui montre sans hésitation qu’une porte est porte est ouverte.
  • J’ai un doute, peut-on, dans esphome utiliser un autre multiplexeur pour allumer/éteindre 16 leds afin de visualiser l’état des entrées (et donc utiliser le multiplexeur en sortie et pas en entrée) ?

Merci

Salut.

C’est pas le code complet ça ? il manque tous les entêtes ESPHOME… En l’état je suis étonné que cela fonctionne

Oui… Mais tu ne l’as pas mis partout

C’est en rappart avec la question : ‹ sur quoi est branché le multiplexeur › posée plus haut. Bref 1V c’est surement pas un niveau logique haut … 3.3 ou 5V en fonction du controleur

A toi de faire un switch qui transforme l’info comme tu veux. Coté ESPHOMe (avec les lambdas) ou coté HA (avec les templates)

Si tu as assez d’E/S pour piloter le multiplexeur, il n’y a pas de raison que ça ne marche pas

Merci Pulpy, mais je dois avouer que cela me laisse perplexe.
1er pt : oui bien sûr ce n’est qu’une partie du code, la seule en rapport avec le pb du multiplexeur.
2 Concernant le « update_interval: 10s » vous dites « Mais tu ne l’as pas mis partout » est-ce que cela signifie que l’on ne peut pas le mettre en commun pour tous les capteurs ? Il faut le mettre au niveau de chaque capteur comme ça ?

sensor:
  - platform: adc
    id: adc_sensor
    pin: GPIO36    
    name: "sortie multiplexeur"

  - platform: cd74hc4067
    id: adc_0
    number: 0
    sensor: adc_sensor
    name: "interrupteur"
    update_interval: 10s

  - platform: cd74hc4067
    id: adc_15
    number: 15
    sensor: adc_sensor
    name: "vario"
    update_interval: 10s

je l’ai fait, je vais attendre pour voir l’impact.
3 Si l’entrée commune du multiplexeur est en 3.3v ou 5v, la broche ADC n°36 sera aussi à ce potentiel de temps en temps, mais je croyais qu’il ne fallait pas dépasser 1V. Je vais regarder ce que la broche D26 peut supporter, ce serait effectivement plus simple pour moi.
4 Pour le « A toi de faire un switch qui transforme l’info comme tu veux » OK je vais chercher un modèle
5 J’ai lu que le multiplexeur ne pouvait être utilisé avec esphome qu’en entrée. Mais la source était un forum donc à confirmer. Mais de toute façon je ne vois pas comme je pourrais sélectionner la led de sortie. Je n’ai pas encore vu d’exemple de ce style, uniquement des exemples où une sortie de l’ESP32 commande une led (ce que je sais faire mais dans mon cas il y aura 16 led) donc j’espère bien pouvoir utiliser le mulitplexeur en sortie.

En tout cas merci, je vois que je dois encore chercher …

Oui mais le reste est important aussi. Quel module lit le pilote le multiplexeur par exemple ?

À partir du moment où c’est hiérarchiquement en dessous (espace avant) du sensor (bloc avec - au début), la portée se limite au sensor