Finally getting around to making sure that all of my devices are fully updated (2025.10.1) and I ran into an issue that I haven’t seen much information on. I have a Shelly 1 PM Gen 3 that has 2025.9.1 on it currently. The OTA fails and says to look at USB/MQTT, but as this is in the wall, it is not accessible right now. I looked at the web server and I see the error:
|22:45:59|[D]|[esp-idf:000]|E (1749786878) boot_comm: mismatch chip ID, expected 0, found 5|
| --- | --- | --- | --- |
|22:45:59|[W]|[esphome.ota:386]|Error ending update! code: 132|
| --- | --- | --- | --- |
|22:45:59|[E]|[component:304]|esphome.ota set Error flag: unspecified|
Thoughts? Am I missing something? I replaced my passwords and keys with *** .
I’m not exactly sure what config is on the device (I may have tried to resolve this before), but when I started today, I downloaded this to backup:
esphome:
name: "1pm-gen3"
friendly_name: "1pm-gen3"
esp32:
board: esp32-c3-devkitm-1
flash_size: 8MB
framework:
# type: arduino
type: esp-idf
version: recommended
sdkconfig_options:
COMPILER_OPTIMIZATION_SIZE: y
logger:
api:
encryption:
key: "***"
ota:
- platform: esphome
password: "***"
time:
- platform: homeassistant
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
fast_connect: on
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "1Pm-Gen3 Fallback Hotspot"
password: "1Pm-Gen3"
captive_portal:
sensor:
- platform: ntc
sensor: temp_resistance_reading
name: "Temperature"
unit_of_measurement: "°C"
accuracy_decimals: 1
icon: "mdi:thermometer"
calibration:
b_constant: 3350
reference_resistance: 10kOhm
reference_temperature: 298.15K
- platform: resistance
id: temp_resistance_reading
sensor: temp_analog_reading
configuration: DOWNSTREAM
resistor: 10kOhm
- platform: adc
id: temp_analog_reading
pin: GPIO3
attenuation: 12db
- platform: bl0942
uart_id: uart_0
voltage:
name: "Voltage"
id: bvoltage
icon: mdi:alpha-v-circle-outline
device_class: voltage
current:
name: "Current"
id: bcurrent
icon: mdi:alpha-a-circle-outline
device_class: current
power:
name: "Power"
id: bpower
icon: mdi:transmission-tower
device_class: power
energy:
name: "Energy"
id: benergy
icon: mdi:lightning-bolt
device_class: energy
frequency:
name: "Frequency"
id: bfreq
accuracy_decimals: 2
icon: mdi:cosine-wave
device_class: frequency
update_interval: 5s
uart:
id: uart_0
tx_pin: GPIO6
rx_pin: GPIO7
baud_rate: 9600
stop_bits: 1
status_led:
pin:
number: 0
inverted: true
output:
- platform: gpio
id: "relay_output"
pin: 5
switch:
- platform: output
id: "relay"
name: "Relay"
output: "relay_output"
binary_sensor:
- platform: gpio
name: "Switch"
pin: 10
on_press:
then:
- switch.toggle: "relay"
filters:
- delayed_on_off: 50ms
- platform: gpio
name: "Button"
pin:
number: 1
inverted: yes
mode:
input: true
pullup: true
In troubleshooting, I pulled the updated template from esphome github and modified it to be below:
esphome:
name: "1pm-gen3"
friendly_name: "1pm-gen3"
platformio_options:
board_build.mcu: esp32c3
board_build.variant: esp32c3
board_build.f_cpu: 160000000L
board_build.f_flash: 80000000L
board_build.flash_mode: dio
board_build.flash_size: 8MB
esp32:
variant: esp32c3
board: esp32-c3-devkitm-1
framework:
type: esp-idf
version: recommended
logger:
api:
encryption:
key: "***"
ota:
- platform: esphome
password: "***"
time:
- platform: homeassistant
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
fast_connect: on
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "1Pm-Gen3 Fallback Hotspot"
password: "1Pm-Gen3"
uart:
id: bl0942_uart
tx_pin: GPIO6
rx_pin: GPIO7
baud_rate: 9600
stop_bits: 1
status_led:
pin:
number: 0
inverted: true
output:
- id: shelly_1pm_gen3_relay
platform: gpio
pin: GPIO4
binary_sensor:
- id: shelly_1pm_gen3_switch
name: Switch
platform: gpio
pin: GPIO10
filters:
- delayed_off: 50ms
- id: shelly_1pm_gen3_button
name: Button
platform: gpio
pin: GPIO1
filters:
- delayed_off: 50ms
sensor:
- id: temperature
name: Temperature
platform: ntc
sensor: temperature_sensor_resistance
icon: mdi:thermometer
entity_category: diagnostic
unit_of_measurement: °C
accuracy_decimals: 1
calibration:
b_constant: 3350
reference_resistance: 10kOhm
reference_temperature: 25°C
- id: temperature_sensor_resistance
platform: resistance
sensor: temperature_sensor_voltage
configuration: DOWNSTREAM
resistor: 10kOhm
- id: temperature_sensor_voltage
platform: adc
pin: GPIO3
attenuation: 12db
- platform: bl0942
uart_id: bl0942_uart
line_frequency: 60Hz
voltage:
name: Voltage
current:
name: Current
power:
name: Power
frequency:
name: Frequency
accuracy_decimals: 2