Controler un ventilateur 12V type Ordi

Mon problème

J’ai besoin de Controller un ventilateur 12V type ventila de pc, PWM ou non au choix,…

J’ai trouvé ce post avec quelqu’un qui le fait avec tasmota :

J’aurais voulu savoir si ca pourrait marcher avec du matériel Zigbee tel que :

C’est pas plus facile de passer par ESPHome ? ça gère aussi le pwm

Je contrôle les ventilos (2*120 mm de pc) de ma baie avec un nodemcu et un mosfet :

mosfet

nodemcu

alim 12V

Et le code esphome :

Résumé
esphome:
  name: fan_rack
  platform: ESP8266
  board: nodemcuv2

  on_boot:
    priority: 225
    then:
      - fan.turn_on:
          id: fan_1
          speed: 1
    
wifi:
  ssid: !secret wifi_ssid
  password: !secret pwd_ssid
  # Optional manual IP
  manual_ip:
    static_ip: !secret fan_ip
    gateway: !secret gateway_ip
    subnet: !secret sub_mask
  fast_connect: true

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Fan_1 Fallback Hotspot"
    password: !secret ap_pwd

captive_portal:

logger:     

# Enable Home Assistant API
api:
  password: !secret api_pwd



ota:
  password: !secret ota_pwd

# Serveur Web
web_server:
  port: 80
  auth:
    username: !secret user_pwd
    password: !secret http_pwd

output:
  - platform: esp8266_pwm
    pin: D0
    frequency: 19531 Hz
    id: ventilation_fan_pwm

fan:
  - platform: speed
    output: ventilation_fan_pwm
    name: "Ventilateurs Baie"
    speed_count: 3
    id: fan_1

sensor:
  # Additional sensors
  - platform: wifi_signal
    name: fan_esp wifi signal
    update_interval: 60s
    disabled_by_default: true

              
text_sensor:
  - platform: wifi_info
    ip_address:
      name: fan_esp IP address
      disabled_by_default: true
      icon: mdi:ip-network
    ssid:
      name: fan_esp connected SSID
      disabled_by_default: true
      icon: mdi:wifi
    bssid:
      name: fan_esp connected BSSID
      disabled_by_default: true
      icon: mdi:wifi-star
    mac_address:
      name: fan_esp mac wifi address
      disabled_by_default: true
      icon: mdi:console-network
      

switch:
  # Restart button
  - platform: restart
    name: fan_esp Reboot
    disabled_by_default: true    

fan

Désolé pour le schéma je n’avais rien sous le coude pour faire ça proprement :stuck_out_tongue:

2 « J'aime »

Bonjour,
serait il possible que tu partage le code EspHome ainsi que celui de ton lovelace ( j’aime bien le petit ventilo qui tourne)

Salut @jblb ,

Le code esphome est déjà présent dans le poste précédent, faut juste cliquer sur « résumé » pour le faire apparaitre :wink:

Pour la carte en prérequis il te faut cette intégration à aller chercher sur HACS.

Le code :

type: entities
show_header_toggle: false
entities:
  - entity: fan.ventilateurs_baie
    name: Ventilateurs Baie
    sendStateWithSpeed: true
    reverseButtons: true
    customTheme: true
    isOnLowColor: dodgerblue
    isOnMedColor: orange
    isOnHiColor: red
    customHiText: 100%
    customLowText: 33%
    customMedText: 66%
    buttonInactiveColor: '#aaaaaa'
    isOffColor: purple
    state_color: false
    type: custom:fan-percent-button-row
card_mod:
  style:
    fan-percent-button-row:
      $:
        hui-generic-entity-row:
          $:
            state-badge:
              $:
                ha-state-icon:
                  $: |
                    ha-svg-icon {
                      {% if state_attr('fan.ventilateurs_baie', 'percentage') == 33 and  is_state('fan.ventilateurs_baie', 'on') %}
                        animation: rotate 3s linear infinite;
                      {% elif state_attr('fan.ventilateurs_baie', 'percentage') == 66 and  is_state('fan.ventilateurs_baie', 'on') %}
                        animation: rotate 1.5s linear infinite;
                      {% elif state_attr('fan.ventilateurs_baie', 'percentage') == 100 and  is_state('fan.ventilateurs_baie', 'on') %}
                        animation: rotate 0.7s linear infinite;
                      {% endif %}
                    }
                    @keyframes rotate{
                      100%{ transform:rotate(-360deg); }
                    }

Merci pour tout.
Je ne savais pas qu’on pouvais cliquer sur résumé pour avoir plus d’infos, j’ai appris une nouvelle fonctionnalité de Discourse

ET voilà, je m’en doutais !!! :stuck_out_tongue:
J’ai réussi a evité esp home jusqu’ici mais bon du coup c’est surement le bon projet pour s’y mettre, je vais planché la dessus…
Il y a pas d’autre alternative au wifi ?
Il faut flasher le nodemcu a un moment c’est ca?
Ca se fait avec un fer a soudé et du fil ?
Merci Herbs pour ce très beau schéma.

Surement mais ce projet était pour moi l’occasion de me mettre à esphome, et j’avoue ne pas avoir cherché d’alternative.

Oui c’est exactement ça, mais comme c’est assez « populaire » tu trouveras sans mal comment procéder ici ou ailleurs :wink:

Pour l’instant je suis tjs avec un montage à l’arrache avec ce genre de câble :

https://www.amazon.fr/SUNFOUNDER-Male-Female-Male-Mâle-Arduino-Raspberry/dp/B0772T35F4/ref=sr_1_5?keywords=cable+dupont&qid=1663449153&sr=8-5

Mais l’idéal quand on sait faire c’est de se faire fabriquer un pcb personnalisé et de souder :wink:

On m’a dit qu’il y avait plusieurs ventilateur PWM tu utilises lesquelles toi ?

Des ventilos de récup d’un kit watercooling corsair (H80i) que j’ai mis au rebut.

il y a combien de broche sur les ventilateurs ?

Salut @Uowis

De mémoire 3 broches, là j’ai coupé tout ce qui dépassait pour éviter que ça pende encore plus.

D’ailleurs je corrige mon post précédent, c’est de la récup d’un corsair H80i.

Salut @Herbs, j’essaye de reproduire le même system que toi sans succès…

J’ai un ESP8266 avec exactement ligne pour ligne la même configuration que toi.

J’utilise un mosfet IRF520 sur un MOS Module

Une alimentation 12v 5A et un ventilateur 12v 1,2W

Quand je branche le ventilateur en direct sur l’alim 12v sa fonction.

Par contre quand je branche le MOS cela ne réagit pas. J’ai bien la led rouge quand je l’active depuis home assistant mais rien au niveau du ventilateur.

Serais-tu où se trouves mon problème ?

Merci d’avance pour ton aide et super projet !

Salut @axelvom

Là comme ça difficile de dire, ton câblage semble correct.

Pourrais tu partager le code de ton esp ?

As tu réussi à l’intégrer à HA ? si oui il remonte quoi de ce côté ?

Voici mon code :

esphome:
  name: esptest
  platform: ESP8266
  board: nodemcuv2

  on_boot:
    priority: 225
    then:
      - fan.turn_on:
          id: fan_1
          speed: 1

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: !secret api_pwd

ota:
  password: !secret ota_pwd


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  fast_connect: True
  manual_ip:
    static_ip: 192.168.2.214
    gateway: 192.168.2.1
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esptest Fallback Hotspot"
    password: "yEMfAnSLZVM5"

captive_portal:

output:
  - platform: esp8266_pwm
    pin: D0
    frequency: 19531 Hz
    id: ventilation_fan_pwm

fan:
  - platform: speed
    output: ventilation_fan_pwm
    name: "Ventilateurs Baie"
    speed_count: 3
    id: fan_1
    
sensor:
  # Additional sensors
  - platform: wifi_signal
    name: fan_esp wifi signal
    update_interval: 60s
    disabled_by_default: true

              
text_sensor:
  - platform: wifi_info
    ip_address:
      name: fan_esp IP address
      disabled_by_default: true
      icon: mdi:ip-network
    ssid:
      name: fan_esp connected SSID
      disabled_by_default: true
      icon: mdi:wifi
    bssid:
      name: fan_esp connected BSSID
      disabled_by_default: true
      icon: mdi:wifi-star
    mac_address:
      name: fan_esp mac wifi address
      disabled_by_default: true
      icon: mdi:console-network
      

switch:
  # Restart button
  - platform: restart
    name: fan_esp Reboot
    disabled_by_default: true  

Côté HA j’ai bien tout qui remonte

Il y’a eu avec la v2023.2 de HA des évolutions, notamment l’encryption key qui remplace le api password :

Mais ce n’est pas la source de ton problème, juste un truc à voir pour se « remettre en ligne » avec les versions récentes.

Pour ton ventilo, ça pourrait être un mosfet défectueux, ou la fréquence sur l’output à ajuster.

Si tu joues côté HA sur la vitesse du ventilo j’imagine qu’il ne se passe rien de plus ? même si tu lui mets une pichenette pour l’aider à démarrer ?

Ah merci je vais mettre à jour mon est je ne savais pas.

Pour le mosfet défectueux je l’ai déjà remplacer. Justement, je ne comprends pas trop comment fonctionne la fréquence.

Effectivement j’ai beau changer de vitesse depuis HA j’ai rien qui se passe. Et même en essayant la pichenette sur le ventilo

J’ai quelque chose de bizarre, quand je prends la tension aux bornes VIN GND (entrée) j’ai bien 12v par contre sur les bornes -v +v (sortie) je n’ai que 600mV ! Bizarre non ?

Je déterre un peu le post, exactement le même problème pour la même config
je sors 920mv mais donc pas assez pour démarrer le ventilateur

Salut @Cyrille_Fremont

Je viens de contrôler chez moi j’ai 7v en sortie du mosfet, pour faire tourner les 2 ventilos à 40%

image