# Shelly Plus i4 # PCB markings: "Shelly i4_v0.1.1", "B2724" # CPU: ESP32-U4WDH (revision v3.1) # Features: Wi-Fi, BT, Dual Core + LP Core, 240MHz, Embedded Flash, Vref calibration in eFuse, Coding Scheme None # Crystal frequency: 40MHz # References: # - https://devices.esphome.io/devices/shelly-plus-i4/ # - https://kb.shelly.cloud/knowledge-base/shelly-plus-i4 # # GPIOs: # GPIO0 - Status LED and programming strapping pin # GPIO12 - Switch 1 # GPIO14 - Switch 2 # GPIO19 - Pin 1 of 7-pin header # GPIO25 - Pushbutton # GPIO26 - Switch 4 # GPIO27 - Switch 3 # GPIO32 - ADC for NTC temperature probe substitutions: device_name: "Shelly Plus i4" shelly_button_gpio_number: GPIO25 shelly_header_gpio_number: GPIO19 shelly_ntc_temperature_pin: GPIO32 name: shelly-plus-i4 friendly_name: "${device_name}" room: "" device_description: "Shelly Plus i4 - 4x smart Wi-Fi switch inputs" dashboard_import: package_import_url: github://dlitz/esphome-configs-dlitz/shelly-plus-i4.yaml@${git_branch} packages: - !include common/esp32-u4wdh.yaml - !include common/cpu-temperature.yaml - !include common/factory-reset.yaml - !include common/flash-write-interval.yaml - !include common/git-branch.yaml - !include common/ota.yaml - !include common/ota-update-password.yaml - !include common/restart.yaml - !include common/safe-mode.yaml - !include common/shelly-button.yaml - !include common/shelly-header-gpio.yaml - !include common/shelly-ntc-temperature.yaml - !include common/time.yaml - !include common/uptime-info.yaml - !include common/wifi-info.yaml esphome: name: "${name}" friendly_name: "${friendly_name}" area: "${room}" comment: "${device_description}" name_add_mac_suffix: true project: name: "dlitz.shelly-plus-i4" version: "v0.0.0" logger: level: DEBUG debug: api: encryption: wifi: # ssid: !secret wifi_ssid # password: !secret wifi_password # fast_connect: true enable_btm: true enable_rrm: true min_auth_mode: WPA2 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: password: !secret default_ap_password # web_server: captive_portal: improv_serial: esp32_improv: authorizer: shelly_button_id esp32_ble_tracker: scan_parameters: active: false bluetooth_proxy: active: false binary_sensor: - platform: gpio id: sw1 name: "Switch 1" pin: number: GPIO12 ignore_strapping_warning: true filters: - settle: 50ms - platform: gpio id: sw2 name: "Switch 2" pin: GPIO14 filters: - settle: 50ms - platform: gpio id: sw3 name: "Switch 3" pin: GPIO27 filters: - settle: 50ms - platform: gpio id: sw4 name: "Switch 4" pin: GPIO26 filters: - settle: 50ms light: - platform: status_led name: "Status LED" id: status_led_id disabled_by_default: true entity_category: diagnostic pin: number: GPIO0 inverted: true ignore_strapping_warning: true