Open zibous opened 9 months ago
Chip is ESP32-D0WDQ6 (revision v1.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
Auto-detected Flash size: 4MB
MQTT | API | ESP32_BLE_TRACKER | RAM | FLASH | STATE |
---|---|---|---|---|---|
✔︎ yes | ✘ no | ✔︎ yes | 10.30% | 94.20% | ✘ ERROR !! | ✔︎ yes | ✘ no | ✘ no | 8.00% | 56.60% | ✔︎ WORKING | ✘ no | ✔︎ yes | ✔︎ yes | 10.20% | 90.50% | ✔︎ WORKING | ✘ no | ✔︎ yes | ✘ no | 7.90% | 52.90% | ✔︎ WORKING |
Result: mqtt + esp32_ble_tracker do not work !!!
docker run --rm -v "${PWD}":/config -it esphome/esphome:2022.12.8 compile mqtt-test.yaml
RAM: [= ] 10.2% (used 54380 bytes from 532480 bytes)
Flash: [========= ] 86.6% (used 1589513 bytes from 1835008 bytes)
Is working w/o any errors.
I have the same chip. Today I accidentally found out that my ESP has been malfunctioning for a few months. The problem is the same.The kernel crashes and ESP reboots constantly. I had to do a downgrade to 2022.12.8 where everything really works. What can I do to get the bug fixed in the latest version 2023.12.3 ?
Chip is ESP32-D0WDQ6 (revision v1.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
Auto-detected Flash size: 4MB
esp32:
board: "denky32"
If it's the same error as pasted earlier, it's running out of RAM.
Today, I found some more information and set it up:
esp32:
board: esp32dev
framework:
type: arduino
With this setting it is now OK. ESP is not resetting!
And if someone has a problem with BLE + MQTT, you need to disable web_server.
Now everything is working.
Same issue with 2024.2.1, I got panic with enabled web_server I don't have problem with 2023.4.1.
My config:
esphome:
name: esp
esp32:
board: lolin32_lite
framework:
type: arduino
captive_portal:
logger:
api:
password: !secret ApiPassword
wifi:
ssid: !secret WifiSsid
password: !secret WifiPassword
ap:
ssid: !secret FallbackWifiSsid
password: !secret FallbackWifiPassword
mqtt:
broker: !secret MqttBroker
username: !secret MqttUsername
password: !secret MqttPassword
port: !secret MqttPort
ota:
password: !secret OtaPassword
esp32_ble_tracker:
sensor:
- platform: atc_mithermometer
mac_address: "XX:XX:XX:XX:XX:XX"
temperature:
id: livingroom_temperature
name: "Livingroom temperature"
filters:
- throttle: 1s
- heartbeat: 30s
- debounce: 0.1s
on_value:
- mqtt.publish:
topic: "sensor/livingroom_temperature"
payload: !lambda |-
return to_string(id(livingroom_temperature).state);
humidity:
id: livingroom_humidity
name: "Livingroom humidity"
filters:
- throttle: 1s
- heartbeat: 30s
- debounce: 0.1s
on_value:
- mqtt.publish:
topic: "sensor/livingroom_humidity"
payload: !lambda |-
return to_string(id(livingroom_humidity).state);
battery_level:
id: livingroom_battery
name: "Livingroom battery"
filters:
- throttle: 1s
- heartbeat: 30s
- debounce: 0.1s
on_value:
- mqtt.publish:
topic: "sensor/livingroom_battery"
payload: !lambda |-
return to_string(id(livingroom_battery).state);
- platform: atc_mithermometer
mac_address: "XX:XX:XX:XX:XX:XX"
temperature:
id: bed_room_temperature
name: "Bed room temperature"
filters:
- throttle: 1s
- heartbeat: 30s
- debounce: 0.1s
on_value:
- mqtt.publish:
topic: "sensor/bed_room_temperature"
payload: !lambda |-
return to_string(id(bed_room_temperature).state);
humidity:
id: bed_room_humidity
name: "Bed room humidity"
filters:
- throttle: 1s
- heartbeat: 30s
- debounce: 0.1s
on_value:
- mqtt.publish:
topic: "sensor/bed_room_humidity"
payload: !lambda |-
return to_string(id(bed_room_humidity).state);
battery_level:
id: bed_room_battery
name: "Bed room battery"
filters:
- throttle: 1s
- heartbeat: 30s
- debounce: 0.1s
on_value:
- mqtt.publish:
topic: "sensor/bed_room_battery"
payload: !lambda |-
return to_string(id(bed_room_battery).state);
- platform: atc_mithermometer
mac_address: "XX:XX:XX:XX:XX:XX"
temperature:
id: outdoor_temperature
name: "Outdoor temperature"
filters:
- throttle: 1s
- heartbeat: 30s
- debounce: 0.1s
on_value:
- mqtt.publish:
topic: "sensor/outdoor_temperature"
payload: !lambda |-
return to_string(id(outdoor_temperature).state);
humidity:
id: outdoor_humidity
name: "Outdoor humidity"
filters:
- throttle: 1s
- heartbeat: 30s
- debounce: 0.1s
on_value:
- mqtt.publish:
topic: "sensor/outdoor_humidity"
payload: !lambda |-
return to_string(id(outdoor_humidity).state);
battery_level:
id: outdoor_battery
name: "Outdoor battery"
filters:
- throttle: 1s
- heartbeat: 30s
- debounce: 0.1s
on_value:
- mqtt.publish:
topic: "sensor/outdoor_battery"
payload: !lambda |-
return to_string(id(outdoor_battery).state);
button:
- platform: wake_on_lan
id: "start_pc_button"
name: "Start PC"
target_mac_address: XX:XX:XX:XX:XX:XX
@davidsarkany the answers have already been given.
The problem
If esp32_ble_tracker and mqtt is enabled, application crashes with backtrace. API Component (w/o mqtt) is working !
Version 2022.12.8 Feb 10 2023 is working !
Compiling with PIP, Docker - does not make a difference.
Which version of ESPHome has the issue?
2023.9.0b2, 2023.10.0-dev, 2023.8.3 ...
What type of installation are you using?
pip
Which version of Home Assistant has the issue?
No response
What platform are you using?
ESP32
Board
az-delivery-devkit-v4 and any other ESP32 Board
Component causing the issue
MQTT
Example YAML snippet
Anything in the logs that might be useful for us?
Additional information
Linking .pioenvs/mqtt-test/firmware.elf RAM: [= ] 10.3% (used 55072 bytes from 532480 bytes) Flash: [========= ] 94.2% (used 1728593 bytes from 1835008 bytes) ???