Controle de la vitesse du ventilateur avec GPIO sur RPi4

Bonjour,
j’ai installer sur mon RPi4 B un radiateur + ventilateur GeeekPi Ultra Thin Ice Tower Cooler
Sur le ventilateur, il y a 3 fils. Le rouge, noir et bleu.
Dans la documentation Il parle de « PWM control » pour le ventilateur.
Je sais pas si c’est juste un on/off ou la modification de la vitesse du ventilateur ?

De la j’ai trouver un tutorial pour installer un addon pour gérer le GPIO vu que ca été supprimer depuis 2022.4. Controlling a CPU/case fan with GPIO PWM based on CPU temperature - Community Guides - Home Assistant Community

Es que quelqu’un a déjà configurer un ventilateur sur le GPIO pour varier la vitesse ?

Ma configuration


System Information

version core-2022.12.7
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.7
os_name Linux
os_version 5.15.76-v8
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.29.0
Stage running
Available Repositories 1198
Downloaded Repositories 59
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 9.4
update_channel stable
supervisor_version supervisor-2022.11.2
agent_version 1.4.1
docker_version 20.10.19
disk_total 109.3 GB
disk_used 3.7 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Duck DNS (1.15.0), Samba share (10.0.0), Terminal & SSH (9.6.1), File editor (5.4.2)
Dashboards
dashboards 1
resources 39
views 10
mode storage
Recorder
oldest_recorder_run 18 décembre 2022 à 07:45
current_recorder_run 19 décembre 2022 à 14:44
estimated_db_size 74.33 MiB
database_engine sqlite
database_version 3.38.5
Spotify
api_endpoint_reachable ok
Xiaomi Gateway 3
version 2.1.2 (4894b05)

Hello

tu dois installer un script de mémoire

https://forums.raspberrypi.com/viewtopic.php?t=245509

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

Explication de l’installation:

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

2/ J’ai ajouter ces deux intégrations custom de HACS, ajouter dans dépôt personnaliser.
- https://github.com/RedMeKool/HA-Raspberry-pi-GPIO-PWM
- https://github.com/regevbr/HA-Raspberry-pi-GPIO-PWM
Faut bien les deux, même si ceux sont les mêmes. Car si les deux sont pas installer, il y a un erreur dans la vérification de la config par lui suite ( chez pas trop pourquoi, mais ca marche).

3/ On reboot HA.

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

light:
  - platform: rpi_gpio_pwm
    leds:
      - name: RPI Cooling Fan
        pin: 14

5/ On va créer un script python, créer un dossier python_scripts dans /config/

6/On créer un ficher texte et colle ce code:

fan_speed = data.get("fan_speed")
service_data = {"entity_id": "light.rpi_cooling_fan", "brightness": fan_speed}
hass.services.call("light", "tu

et on nomme le fichier rpi_fan_pwm.py, que vous mettez dans le dossier python_scripts.

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

Une nouvelle entité light.rpi_cooling_fan est créer, ou vous pourrez allumer/éteindre le ventilateur et régler la vitesse du ventilateur avec la barre de luminosité ( de 0 à 255, 255 = 100% , 128 = 50%).

8/ Avec le script python on peu modifier la vitesse en appellent le service ( éditer en mode yaml ):

service: python_script.rpi_fan_pwm
data:
  fan_speed: 128

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: python_script.rpi_fan_pwm
    data:
      fan_speed: 128
mode: single

Régler la vitesse a 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: python_script.rpi_fan_pwm
    data:
      fan_speed: 255
mode: single

Régler la vitesse a 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: python_script.rpi_fan_pwm
    data:
      fan_speed: 128
mode: single

Ajout sur ma carte système du RPI:

      - type: entities
        entities:
          - entity: light.rpi_cooling_fan
            type: custom:multiple-entity-row
            show_state: true
            state_color: false
            toggle: true
            entities:
              - entity: light.rpi_cooling_fan
                name: vitesse
                attribute: brightness
                hide_unavailable: true
                format: brightness
            icon: mdi:fan

Plus ca faire mumuse avec le ventilateur :stuck_out_tongue:

Edit:

Rotation de l’icone suivant l’état:

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