Bron: https://community.home-assistant.io/t/controlling-cooling-fan-for-raspberry-pi-4/137631
Hallo allemaal! Ik dacht dat ik mijn setup voor het regelen van een koelventilator voor een Raspberry Pi 4 zou delen, omdat de handleidingen die ik online kon vinden niet meer werkten vanwege veranderingen in de klimaatintegratie in Home Assistant. Ik gebruik een Pimoroni Fan SHIM 1.2k, maar je kunt ook eenvoudig je eigen ventilator bouwen met behulp van deze instructies 1.2k. De volgende code voor uw configuration.yaml-bestand doet dit: voegt een sensor toe die elke 10 seconden de CPU-temperatuur van de Pi haalt voegt een schakelaar toe die de stroom naar de ventilator regelt met behulp van de GPIO-pinnen van de Pi. De Pimoroni Fan SHIM gebruikt pin 18 als controlepin (je kunt een andere gebruiken als je je eigen ventilator bouwt). voegt een klimaatregelaar toe aan HA. De variabelen ‘min_temp’ en ‘max_temp’ stellen het bereik van doeltemperaturen in dat beschikbaar is in de interface. De variabele ’target_temp’ stelt de initiële doeltemperatuur in. Dit verander je via de interface. Ik raad niet aan om het op 55 ° C in te stellen voor andere doeleinden dan testen. De rPi4 begint thermisch te smoren bij ongeveer 80°C, dus misschien is 70°C een goede instelling. De variabelen ‘cold_tolerance’ en ‘hot_tolerance’ stellen in hoeveel de temperatuur mag afwijken van de doeltemperatuur voordat de ventilator wordt in-/uitgeschakeld. Met de waarden die hieronder zijn ingesteld, wordt de ventilator ingeschakeld bij 55,1 ° C en uitgeschakeld bij 54,9 ° C (hoewel dit niet het geval is, zoals u snel zult zien). De ‘min_cycle_duration’ stelt de minimale tijd in dat de ventilator aan staat. Als u deze instelt op bijvoorbeeld 30 seconden, zorgt u ervoor dat de ventilator niet snel aan/uit gaat als de temperatuur tussen 55,1 °C en 54,9 °C gaat (u kunt ook de toleranties wijzigen).
configuration.yaml code:
# Raspberry Pi Cooling Fan sensor: - platform: command_line name: CPU Temperature command: "cat /sys/class/thermal/thermal_zone0/temp" unit_of_measurement: "°C" value_template: '{{ value | multiply(0.001) | round(1) }}' scan_interval: 10 switch: - platform: rpi_gpio ports: 18: RPI Cooling Fan climate: - platform: generic_thermostat name: RPI Cooling Fan Controller heater: switch.rpi_cooling_fan target_sensor: sensor.cpu_temperature min_temp: 55 max_temp: 80 ac_mode: true target_temp: 55 cold_tolerance: 0.1 hot_tolerance: 0.1 min_cycle_duration: seconds: 30 keep_alive: minutes: 5 initial_hvac_mode: "cool"
