esphome: name: snaketesting friendly_name: snaketesting comment: "Automated environmenal control for snake housing" area: "Living Room" esp32: board: esp32dev framework: type: arduino # Enable logging logger: wifi: ssid: !secret wifi_ssid password: !secret wifi_password captive_portal: web_server: port: 80 version: 3 ota: false switch: - platform: gpio pin: GPIO13 inverted: true id: relay4 name: "Pump" icon: "mdi:water-pump" on_turn_on: - delay: 5000ms - switch.turn_off: relay4 switch: - platform: gpio pin: GPIO12 inverted: true id: relay3 name: "Heat 1" icon: "mdi:heating-coil" time: - platform: sntp id: sntp_time timezone: America/Edmonton on_time: - cron: '0 5 10 * * *' then: - switch.toggle: relay4 spi: miso_pin: GPIO19 clk_pin: GPIO5 sensor: - platform: max6675 id: snaketemp1 name: "Snake Temperature" unit_of_measurement: "°C" device_class: "temperature" state_class: "measurement" cs_pin: GPIO23 update_interval: 30s #on_value_range: # - below: 31.6 # then: # - switch.turn_on: relay3 # - above: 33.3 # then: # - switch.turn_off: relay3 climate: - platform: pid name: "PID Climate Controller 1" sensor: snaketemp1 default_target_temperature: 33°C heat_output: relay3pwm control_parameters: kp: 0.0 ki: 0.0 kd: 0.0 output_averaging_samples: 5 # smooth the output over 5 samples derivative_averaging_samples: 5 # smooth the derivative value over 10 samples deadband_parameters: threshold_high: 1.5°C threshold_low: -1.5°C output: - platform: slow_pwm pin: GPIO12 id: relay3pwm period: 60s button: - platform: template name: "PID Climate Autotune" on_press: - climate.pid.autotune: pid_climate