diff --git a/.HA_VERSION b/.HA_VERSION index 62ba7b5..fcba00b 100644 --- a/.HA_VERSION +++ b/.HA_VERSION @@ -1 +1 @@ -2026.2.2 \ No newline at end of file +2026.2.3 \ No newline at end of file diff --git a/esphome/3d-printer-exhaust-fan-controller.yaml b/esphome/3d-printer-exhaust-fan-controller.yaml new file mode 100644 index 0000000..988853a --- /dev/null +++ b/esphome/3d-printer-exhaust-fan-controller.yaml @@ -0,0 +1,51 @@ +esphome: + name: 3d-print-exhaust-fan-controller + friendly_name: 3D Printer Exhaust Fan Controller + +esp32: + board: esp32-c3-devkitm-1 + framework: + type: esp-idf + +# Enable logging +logger: + +# Enable Home Assistant API +api: + encryption: + key: "/ShmmPWizefVS7KaU/IgbNgT6/Y6XZBwlqHqbpphNY8=" + +ota: + - platform: esphome + password: "bc4dc6b8569529e2954176f08a8d38de" + +wifi: + ssid: !secret wifi_iot_ssid + password: !secret wifi_password + + # Enable fallback hotspot (captive portal) in case wifi connection fails + ap: + ssid: "3D-Print-Exhaust-Fan-Controller" + password: "BkRoiHuVvDyR" + +captive_portal: + +web_server: + port: 80 + +output: + - platform: gpio + pin: GPIO3 + id: fan_80mm_output + - platform: gpio + pin: GPIO4 + id: fan_120mm_output + +fan: + - platform: binary + name: "80mm Exhaust Fan" + output: fan_80mm_output + - platform: binary + name: "120mm Exhaust Fan" + output: fan_120mm_output + \ No newline at end of file diff --git a/esphome/ha-remote-1.yaml b/esphome/ha-remote-1.yaml deleted file mode 100644 index 3a27a73..0000000 --- a/esphome/ha-remote-1.yaml +++ /dev/null @@ -1,59 +0,0 @@ -substitutions: - device_name: ha-family-room-remote - friendly_name: "Family Room HA Remote" - -esphome: - name: ${device_name} - friendly_name: ${friendly_name} - on_boot: - priority: -10 - then: - - light.turn_on: ha_remote_backlight - - lvgl.page.show: home - - lambda: |- - id(last_activity_ms) = millis(); - -esp32: - board: esp32-s3-devkitc-1 - framework: - type: esp-idf - -logger: - level: DEBUG - logs: - gt911: DEBUG - i2c: DEBUG - max17043: DEBUG - -api: - encryption: - key: !secret api_encryption_key - -# Enable over-the-air updates -ota: - - platform: esphome - password: !secret ota_password - -wifi: - ssid: !secret wifi_iot_ssid - password: !secret wifi_password - power_save_mode: NONE - fast_connect: true - - # Enable fallback hotspot (captive portal) in case wifi connection fails - ap: - ssid: "${friendly_name} Fallback" - password: !secret fallback_password - -captive_portal: - -external_components: - - source: - type: local - path: ha-remote/components - components: [max17043] - -packages: - base: !include ha-remote/ha-remote-1.base.yaml - bindings: !include ha-remote/ha-remote-1.bindings.yaml - ui: !include ha-remote/ha-remote-1.ui.yaml diff --git a/esphome/ha-remote/components/max17043/__pycache__/__init__.cpython-312.pyc b/esphome/ha-remote/components/max17043/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000..539298a Binary files /dev/null and b/esphome/ha-remote/components/max17043/__pycache__/__init__.cpython-312.pyc differ diff --git a/esphome/ha-remote/components/max17043/__pycache__/sensor.cpython-312.pyc b/esphome/ha-remote/components/max17043/__pycache__/sensor.cpython-312.pyc new file mode 100644 index 0000000..5648c04 Binary files /dev/null and b/esphome/ha-remote/components/max17043/__pycache__/sensor.cpython-312.pyc differ diff --git a/esphome/voice-assistant-1.yaml b/esphome/voice-assistant-1.yaml new file mode 100644 index 0000000..07d373d --- /dev/null +++ b/esphome/voice-assistant-1.yaml @@ -0,0 +1,188 @@ +esphome: + name: voice-assistant-1 + friendly_name: Voice-Assistant-1 + name_add_mac_suffix: false + platformio_options: + board_build.flash_mode: dio + build_flags: + - -DCONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y + - -DCONFIG_FREERTOS_HZ=1000 + board_build.partitions: partitions.csv + on_boot: + priority: 600 + then: + - if: + condition: + switch.is_off: mute + then: + - micro_wake_word.start: + +esp32: + board: esp32-s3-devkitc-1 + framework: + type: esp-idf + +# Enable logging +logger: + level: WARN + +# Enable Home Assistant API +api: + encryption: + key: "oUOJJQHDaBvzKLAqfh3RwCEy9/KoFcj7AUgCSgTW/D8=" + +ota: + - platform: esphome + password: "48c1380a3d4d99d28bff36b2dc5c5e50" + +wifi: + ssid: !secret wifi_iot_ssid + password: !secret wifi_password + + # Enable fallback hotspot (captive portal) in case wifi connection fails + ap: + ssid: "Voice-Assistant-1" + password: "pypEyxtF4xJ5" + +captive_portal: + +# web_server: +# port: 80 + +psram: + mode: octal + speed: 80MHz + +light: + - platform: esp32_rmt_led_strip + id: led_ww + rgb_order: GRB + chipset: ws2812 + pin: GPIO16 + num_leds: 4 + name: "LED bar" + effects: + - pulse: + - pulse: + name: fast pulse + transition_length: 250ms + update_interval: 250ms + - addressable_scan: + name: scan + move_interval: 100ms + scan_width: 1 + +switch: + - platform: template + id: mute + name: "Mute microphone" + optimistic: true + on_turn_on: + - micro_wake_word.stop: + - voice_assistant.stop: + - light.turn_on: + id: led_ww + red: 100% + green: 0% + blue: 0% + brightness: 30% + - delay: 2s + - light.turn_off: + id: led_ww + - light.turn_on: + id: led_ww + red: 100% + green: 0% + blue: 0% + brightness: 30% + on_turn_off: + - micro_wake_word.start: + - light.turn_on: + id: led_ww + red: 0% + green: 100% + blue: 0% + brightness: 60% + effect: fast pulse + - delay: 2s + - light.turn_off: + id: led_ww + +i2s_audio: + - id: i2s_mic + i2s_lrclk_pin: GPIO6 # WS + i2s_bclk_pin: GPIO7 # SCK + - id: i2s_spk + i2s_lrclk_pin: GPIO45 # Use free pins on your board + i2s_bclk_pin: GPIO46 # Use free pins on your board + +microphone: + - platform: i2s_audio + id: va_mic + adc_type: external + i2s_din_pin: GPIO4 # SD + channel: left + pdm: false + bits_per_sample: 32bit + i2s_audio_id: i2s_mic + +output: + - platform: gpio + pin: + number: GPIO8 + allow_other_uses: true + id: set_low_speaker + +speaker: + - platform: i2s_audio + id: va_speaker + i2s_audio_id: i2s_spk + dac_type: external + i2s_dout_pin: + number: GPIO8 # DIN pin of the MAX98357A Audio Amplifier + allow_other_uses: true + channel: mono + bits_per_sample: 32bit + sample_rate: 16000 + +micro_wake_word: + models: + - model: hey_jarvis + on_wake_word_detected: + - voice_assistant.start: + - light.turn_on: + id: led_ww + red: 100% + green: 100% + blue: 100% + brightness: 30% + effect: scan + +voice_assistant: + id: va + microphone: va_mic + speaker: va_speaker + noise_suppression_level: 2.0 + auto_gain: 31dBFS + volume_multiplier: 4.0 + on_client_connected: + - if: + condition: + switch.is_off: mute + then: + - micro_wake_word.start: + on_client_disconnected: + - micro_wake_word.stop: + - voice_assistant.stop: + on_stt_end: + then: + - light.turn_off: led_ww + on_error: + - micro_wake_word.start: + on_end: + then: + - light.turn_off: led_ww + - wait_until: + not: + voice_assistant.is_running: + - micro_wake_word.start: \ No newline at end of file