Controle de la vitesse du ventilateur avec GPIO sur RPi4

Bonjour,
j’ai continué sur la voie du tutorial mentionné et j’y suis arrivé :slight_smile:
J’ai laissé le fil bleu du ventilateur sur le GPIO14 ( pin physique 8), ça gère bien le on/off et la vitesse du ventilateur.

Explication de l’installation :

1/ J’ai ajouté le dépot https://github.com/Poeschl-HomeAssistant-Addons/repository dans les modules complémentaire et installer l’addon pigpio.
Configurez démarrage auto et lancer l’addon.

2/ J’ai ajouté c’est intégration custom de HACS, ajouter dans dépôt personnaliser.
- https://github.com/RedMeKool/HA-Raspberry-pi-GPIO-PWM

3/ On reboot HA.

4/ J’ai ajouté ce code dans configuration.yaml:

fan:
  - platform: rpi_gpio_pwm
    fans:
      - name: RPI Cooling Fan
        unique_id: rpi_cooling_fan
        pin: 14

5/ Vérification de la config et reboot de HA.

Une nouvelle entité fan.rpi_cooling_fan est créé, ou vous pourrez allumer/éteindre le ventilateur et régler la vitesse du ventilateur.


9/ Plus cas créer des automatisations pour le lancer au démarrage et modifier la vitesse suivant les besoins.

Pour le démarrage :

alias: Set CPU fan speed on startup
description: ''
trigger:
  - platform: homeassistant
    event: start
condition: []
action:
  - service: fan.set_percentage
    target:
      entity_id: fan.rpi_cooling_fan
    data:
      percentage: 75
mode: single

Régler la vitesse à 100% :

alias: CPU fan high speed
description: Turn up fan speed when CPU is over 55 degrees
trigger:
  - platform: numeric_state
    entity_id: sensor.processor_temperature
    above: '55'
condition: []
action:
  - service: fan.set_percentage
    target:
      entity_id: fan.rpi_cooling_fan
    data:
      percentage: 100
mode: single

Régler la vitesse à 50% :

alias: CPU fan normal speed
description: Set CPU fan to normal speed when temp is below 40
trigger:
  - platform: numeric_state
    entity_id: sensor.processor_temperature
    below: '38'
condition: []
action:
  - service: fan.set_percentage
    target:
      entity_id: fan.rpi_cooling_fan
    data:
      percentage: 50
mode: single

Ajout sur ma carte système du RPI:

      - type: entities
        entities:
          - entity: fan.rpi_cooling_fan
            type: custom:multiple-entity-row
            show_state: true
            state_color: false
            toggle: true
            entities:
              - entity: fan.rpi_cooling_fan
                name: vitesse
                attribute: percentage
                hide_unavailable: true
                unit: '%'
            icon: mdi:fan

Plus cas faire mumuse avec le ventilateur :stuck_out_tongue:

Édit :

Rotation de l’icône suivant l’état :

            card_mod:
              style:
                hui-generic-entity-row $: |
                  state-badge {
                    {% if is_state('fan.rpi_cooling_fan','on') %} 
                      animation: rotation_1 2s linear infinite;
                    {% endif %}  
                  }
                  @keyframes rotation_1 {
                    0% {
                      transform: rotate(359deg);
                    }
                    100% {
                      transform: rotate(0deg);
                    }
                  }

EDIT 2 ( 04/04/24 ) :
MAJ du Tutoriel.
Nouvelle version de HA-Raspberry-pi-GPIO-PWM qui ajoute le support FAN.
Plus besoin de script python, on peut utiliser le service FAN.
Merci @Frosh pour c’est ajout du FAN.

EDIT 3 (27/10/24) :
modification du dépôt de Pigpio

3 « J'aime »