Bonjour,
Je peux effectivement tout partager, mais pas sur que cela t’aide dans ton projet.
C’était un système complètement autonome et pas du tout connecté.
Je ne sais plus si j’avais fait le code en dur ou si j’avais utilisé ESPEasy.
Mais quoi qu’il en soit, ce n’était pas a l’époque un projet lié à HA, mais sans doute possible de l’adapter.
J’avais rebondit sur ton POST pour partager mon expérience sur l’utilisation d’un ventilateur 2 files + & - en mode PWM
Depuis, je préfère utiliser des ventilateurs vrai PWM 3 files + & - & pilotage PWM ils sont plus efficace à basse très basse vitesse.
UPDATE
Je viens de le rallumer (sans les sondes ni ventilateur)
C’est effectivement sous ESPEasy
Le matériel
ESP-12F (mais tout esp8266 ou ESP32 vont bien)
mosfet
https://www.amazon.fr/gp/product/B08CVK6TLF/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
OLED SSD1306
https://www.amazon.fr/gp/product/B07G4JN2B9/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
capteur de temperature DHT22
Detecteur de fumée

Pour couper l’alimentation de l’imprimante en cas d’incendie.
Et en fin de compte, il était bien connecté via MQTT avec autorégulation du fan suivant température et affichage sur le Oled ds informations.
Les Devices et model 3D
Et la Rules pour changer la vitesse et envoyer dans le Broker MQTT
on System#Boot do
GPIO,14,0
endon
// comparison is only "<,>,=" - "less,greater,equal" - not "<=" or so
// PWM 0...1023 GPIO 0...15
on DHT22#Temperature do
if [DHT22#Temperature]<20
PWM,14,50
Publish /%sysname%/Fan_Speed,10
elseif [DHT22#Temperature]>20 and [DHT22#Temperature]<30
PWM,14,100
Publish %sysname%/Fan/Fan_Speed,20
oledframedcmd,3,20%
elseif [DHT22#Temperature]>30 and [DHT22#Temperature]<41
PWM,14,700
Publish %sysname%/Fan/Fan_Speed,70
oledframedcmd,3,70%
else
PWM,14,1023
Publish %sysname%/Fan/Fan_Speed,100
oledframedcmd,3,100%
endif
endon
Mais c’est un truc qui est dans le fond d’un carton depuis un moment, donc certainement des choses que j’aurais optimisé.
Mais tu as les grandes ligne du projet.
Si tu as des questions, n’hésite pas.