[Concours] Dodo les plantes, bureau éclairée, au revoir télécommande infrarouge et cadre numérique!

Bonjour la communauté !

J’ai voulu me lancer dans 2 projets :

1. Connecter mon potager « Prêt à pousser » à Home Assistant et gérer des guirlandes micro-LEDS:

L’éclairage de mon potager est en BLE. J’ai donc scanné en BLE et testé pleins d’écritures avant de trouver les 2 bonnes (car 2 rampes LEDS différentes). J’ai donc réussi à connecter en permanence mon potager sur un ESP32 afin de l’allumer et l’éteindre en fonction des besoins de mes légumes et de mes plantes !


J’en ai aussi profité pour connecter 2 guirlandes à piles placées sur mon bureau dans des sucriers afin de les allumer lorsque mon PC s’allume :


L’alimentation est donc plus sur piles, mais directement sur l’ESP32 !

2. Rendre un switch HDMI pilotable via HA :

Le projet potager et des guirlandes ne m’ayant pas suffit, je me suis lancé dans le démontage de mon switch HDMI :


J’ai donc tout testé au multimètre et trouver que je pouvais utiliser les pins inutilisés à gauche pour switcher d’entrée. J’ai aussi dessoudé toutes les LEDS et ajouter un fil afin de récupérer le 2V des LEDS et de savoir quelle entrée est utilisée sur HA, et tout branché sur l’ESP8266.
ça marche A MERVEILLE !!!
Madame n’a plus besoin de savoir quelle entrée correspond à quel appareil et de se prendre la tête à viser parfaitement le boîtier avec cette foutue télécommande Infrarouge…!!
image

J’ai aussi créé un cadre numérique à l’entrée de chez moi qui s’allume lorsque je rentre chez moi (en utilisant le statut de l’alarme)
J’ai utilisé un vieux raspberry pi 3, un vieil écran HP et une prise connectée.

Sur le RPi, j’ai installé raspbian et video-looper (un logiciel qui permet de faire tourner photos ou vidéo en boucle : https://videolooper.de/

Voici une photo de l’écran démonté :

Et voici une vidéo du final :

Pour les créations des vidéos, j’en ai fait plusieurs sur les thèmes Harry Potter et Avengers. Pour les animations, j’ai utilisé Wallpaper Engine et j’ai fini avec Vegas pour intégrer la vidéo.
Les vidéos que j’ai faites : 3 gazettes du sorciers animées, la grosse dame de la maison Gryffondor, et j’en passe !

Pour l’intégration à HA, j’allume la prise connecté pour l’allumer, et je l’ai relié en ssh pour l’éteindre proprement afin de pas changer de carte SD toutes les semaines.

Voilà voilà mes petits projets :grin:

7 « J'aime »

Bonsoir, j’aime bien le switch HDMI. As tu des photos après brasure ? tu as fais un boîtier ?

Dis nous en plus. Je pense que ça peut intéresser du monde.
Quel modèle de switch HDMI, ce que tu as soudé, le code de l’ESP …

Merci pour ton partage.

Pour en dire plus sur mon switch HDMI :

J’avais un ESP8266 NodeMCU V3 qui trainait et le switch je l’avait acheté il y a maintenant une petite dizaine d’année, c’est un One For All SV1630-R02:


Sur l’étiquette, il est mentionné que la tension est de 5V… Donc je me suis dis que ça allait être compliqué à brancher en direct sur l’ESP8266, au risque de griller les GPIO.
J’ai donc mesuré la tension en sortie de LED au multimètre et j’avais 2V. donc OK pour brancher en direct.
Pour switcher les entrées, il s’agit d’un simple contact sec (donc sans tension).

Voici la carte lorsque les branchements ont été effectués :


Et voilà le résultat final (il me manque juste un boîtier pour l’ESP8266) :


Voici un plan simplifié du branchement :

Et voici le code utilisé:

esphome:
  name: hdmi-switcher
  friendly_name: HDMI Switcher

esp8266:
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

captive_portal:

# Configuration pour le bouton poussoir simulé
switch:
  - platform: gpio
    pin: GPIO4  # Utilisation de GPIO4 pour simuler le bouton
    name: "Switch HDMI"
    on_turn_on:
      - delay: 500ms  # Attendre 500ms après l'activation
      - switch.turn_off: button_input_hdmi  # Éteindre le switch automatiquement après 500ms
    id: button_input_hdmi

# Définir les entrées des LEDs
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO12
      inverted: true
    name: "LED HDMI 1"
    id: "led_hdmi_1"

  - platform: gpio
    pin:
      number: GPIO13
      inverted: true
    name: "LED HDMI 2"
    id: "led_hdmi_2"

  - platform: gpio
    pin:
      number: GPIO14
      inverted: true
    name: "LED HDMI 3"
    id: "led_hdmi_3"

script:
  # Script pour sélectionner HDMI 1
  - id: select_hdmi_1
    then:
      - while:
          condition:
            not:
              binary_sensor.is_on: led_hdmi_1
          then:
            - switch.turn_on: button_input_hdmi
            - delay: 1s

  # Script pour sélectionner HDMI 2
  - id: select_hdmi_2
    then:
      - while:
          condition:
            not:
              binary_sensor.is_on: led_hdmi_2
          then:
            - switch.turn_on: button_input_hdmi
            - delay: 1s

  # Script pour sélectionner HDMI 3
  - id: select_hdmi_3
    then:
      - while:
          condition:
            not:
              binary_sensor.is_on: led_hdmi_3
          then:
            - switch.turn_on: button_input_hdmi
            - delay: 1s

button:
  - platform: template
    name: "HDMI 1"
    on_press:
      - script.execute: select_hdmi_1

  - platform: template
    name: "HDMI 2"
    on_press:
      - script.execute: select_hdmi_2

  - platform: template
    name: "HDMI 3"
    on_press:
      - script.execute: select_hdmi_3

Pour HA, j’ai créé un autre sensor dans mon fichier sensors.yaml pour voir l’entrée actuelle :

    switch_hdmi_entree_active:
      friendly_name: Switch HDMI entrée active
      value_template: >-
        {% if states('binary_sensor.hdmi_switcher_led_hdmi_1') == 'on' %}
          HDMI 1 (PC)
        {% elif states('binary_sensor.hdmi_switcher_led_hdmi_2') == 'on' %}
          HDMI 2 (Freebox)
        {% elif states('binary_sensor.hdmi_switcher_led_hdmi_3') == 'on' %}
          HDMI 3
        {% else %}
          Aucun HDMI actif
        {% endif %}
2 « J'aime »