Files
esphome-configs-dlitz/shelly-plus-i4.yaml

132 lines
3.0 KiB
YAML

# 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
external_components:
- source:
type: git
url: https://github.com/dlitz/esphome-configs-dlitz.git
ref: ${git_branch}
refresh: always
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 fallback_ap_password
# web_server:
captive_portal:
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