I have just started using my everything presence one sensors (I have 2). As I was trying to set them up I noticed that every so often the sensors and their entities become unavailable in Home Assistant repeatedly, usually disappearing once every few minutes. There doesn't seem to be rhyme or reason for when they start becoming unavailable. To give you an idea, this is what one of the sensor's mmwave entities looks like for me:
After ruling out my USB-C cables and chargers, and not getting much info from the wireless logs, I hooked one of the sensors to my HA server and checked the logs over USB instead. This revealed what appear to be crashes resulting in reboots, for example:
[23:14:11][D][esp-idf:000]: fail to alloc timer, type=6
[23:14:11][D][esp-idf:000]:
[23:14:11]
[23:14:11]abort() was called at PC 0x401f0c87 on core 1
[23:14:11]
[23:14:11]ELF file SHA256: 0000000000000000
[23:14:11]
[23:14:11]Backtrace: 0x40090060:0x3ffcd1e0 0x400902dd:0x3ffcd200 0x401f0c87:0x3ffcd220 0x401f0cce:0x3ffcd240 0x401f05e9:0x3ffcd260 0x401f06c0:0x3ffcd280 0x401f12c9:0x3ffcd2a0 0x401f1402:0x3ffcd2c0 0x401f152d:0x3ffcd300 0x400dedc7:0x3ffcd320 0x400deddb:0x3ffcd340 0x400df0d8:0x3ffcd360 0x400df28f:0x3ffcd3b0 0x400e71f5:0x3ffcd440 0x400e688d:0x3ffcd480 0x400ee319:0x3ffcd4c0 0x400e6a20:0x3ffcd4e0 0x401fbcf9:0x3ffcd500 0x401fbdd5:0x3ffcd520 0x400ecc26:0x3ffcd540 0x400efbc2:0x3ffcd570 0x400fff34:0x3ffcd590 0x40091352:0x3ffcd5b0
WARNING Found stack trace! Trying to decode it
WARNING Decoded 0x40090060: invoke_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:715
WARNING Decoded 0x400902dd: abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:715
WARNING Decoded 0x401f0c87: __cxxabiv1::__terminate(void (*)()) at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:112
WARNING Decoded 0x401f0cce: std::terminate() at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:112
WARNING Decoded 0x401f05e9: __cxa_allocate_exception at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/eh_alloc.cc:313
WARNING Decoded 0x401f06c0: operator new(unsigned int) at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/new_op.cc:54
WARNING Decoded 0x401f12c9: __gnu_cxx::new_allocator<char>::allocate(unsigned int, void const*) at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/build/build-cc-gcc-final/xtensa-esp32-elf/libstdc++-v3/include/bits/basic_string.h:281
(inlined by) std::allocator_traits<std::allocator<char> >::allocate(std::allocator<char>&, unsigned int) at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/build/build-cc-gcc-final/xtensa-esp32-elf/libstdc++-v3/include/bits/alloc_traits.h:360
(inlined by) std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned int&, unsigned int) at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/build/build-cc-gcc-final/xtensa-esp32-elf/libstdc++-v3/include/bits/basic_string.tcc:157
WARNING Decoded 0x401f1402: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned int, unsigned int, char const*, unsigned int) at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/build/build-cc-gcc-final/xtensa-esp32-elf/libstdc++-v3/include/bits/basic_string.h:281
WARNING Decoded 0x401f152d: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::push_back(char) at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/build/build-cc-gcc-final/xtensa-esp32-elf/libstdc++-v3/include/bits/basic_string.h:281
WARNING Decoded 0x400dedc7: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char) at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Polyfills/safe_strcmp.hpp:21
(inlined by) ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>::write(unsigned char) at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp:28
(inlined by) ArduinoJson6185_D1::CountingDecorator<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >::write(unsigned char) at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Serialization/CountingDecorator.hpp:17
WARNING Decoded 0x400deddb: ArduinoJson6185_D1::TextFormatter<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >::writeRaw(char) at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Polyfills/safe_strcmp.hpp:21
(inlined by) ArduinoJson6185_D1::TextFormatter<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >::writeString(char const*) at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Json/TextFormatter.hpp:39
WARNING Decoded 0x400df0d8: ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >::visitObject(ArduinoJson6185_D1::CollectionData const&) at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Polyfills/safe_strcmp.hpp:21
(inlined by) ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >::result_type ArduinoJson6185_D1::VariantData::accept<ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> > >(ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >&) const at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp:49
WARNING Decoded 0x400df28f: ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >::result_type ArduinoJson6185_D1::variantAccept<ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> > >(ArduinoJson6185_D1::VariantData const*, ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >&) at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Polyfills/safe_strcmp.hpp:21
(inlined by) ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >::result_type ArduinoJson6185_D1::VariantConstRef::accept<ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> > >(ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >&) const at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Variant/VariantRef.hpp:245
(inlined by) ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >::result_type ArduinoJson6185_D1::JsonDocument::accept<ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> > >(ArduinoJson6185_D1::JsonSerializer<ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >&) const at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp:20
(inlined by) unsigned int ArduinoJson6185_D1::doSerialize<ArduinoJson6185_D1::JsonSerializer, ArduinoJson6185_D1::BasicJsonDocument<ArduinoJson6185_D1::DefaultAllocator>, ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void> >(ArduinoJson6185_D1::BasicJsonDocument<ArduinoJson6185_D1::DefaultAllocator> const&, ArduinoJson6185_D1::Writer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>) at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp:15
(inlined by) unsigned int ArduinoJson6185_D1::serialize<ArduinoJson6185_D1::JsonSerializer, ArduinoJson6185_D1::BasicJsonDocument<ArduinoJson6185_D1::DefaultAllocator>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(ArduinoJson6185_D1::BasicJsonDocument<ArduinoJson6185_D1::DefaultAllocator> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Serialization/serialize.hpp:22
(inlined by) unsigned int ArduinoJson6185_D1::serializeJson<ArduinoJson6185_D1::BasicJsonDocument<ArduinoJson6185_D1::DefaultAllocator>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(ArduinoJson6185_D1::BasicJsonDocument<ArduinoJson6185_D1::DefaultAllocator> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) at /data/everything-presence-one-d53318/.piolibdeps/everything-presence-one-d53318/ArduinoJson/src/ArduinoJson/Json/JsonSerializer.hpp:115
(inlined by) esphome::json::build_json[abi:cxx11](std::function<void (ArduinoJson6185_D1::ObjectRef)> const&) at /config/esphome/.esphome/build/everything-presence-one-d53318/src/esphome/components/json/json_util.cpp:53
WARNING Decoded 0x400e71f5: esphome::web_server::WebServer::switch_json[abi:cxx11](esphome::switch_::Switch*, bool, esphome::web_server::JsonDetail) at /config/esphome/.esphome/build/everything-presence-one-d53318/src/esphome/components/web_server/web_server.cpp:87
WARNING Decoded 0x400e688d: esphome::web_server::ListEntitiesIterator::on_switch(esphome::switch_::Switch*) at /config/esphome/.esphome/build/everything-presence-one-d53318/src/esphome/components/web_server/list_entities.cpp:48
WARNING Decoded 0x400ee319: esphome::ComponentIterator::advance() at /config/esphome/.esphome/build/everything-presence-one-d53318/src/esphome/core/component_iterator.cpp:200
WARNING Decoded 0x400e6a20: non-virtual thunk to esphome::web_server::WebServer::loop()
WARNING Decoded 0x401fbcf9: esphome::Component::call_loop() at /config/esphome/.esphome/build/everything-presence-one-d53318/src/esphome/core/component.cpp:150
WARNING Decoded 0x401fbdd5: esphome::Component::call() at /config/esphome/.esphome/build/everything-presence-one-d53318/src/esphome/core/component.cpp:150
WARNING Decoded 0x400ecc26: esphome::Application::loop() at /config/esphome/.esphome/build/everything-presence-one-d53318/src/esphome/core/application.cpp:74
WARNING Decoded 0x400efbc2: loop() at /config/esphome/.esphome/build/everything-presence-one-d53318/src/esphome/core/gpio.h:62
WARNING Decoded 0x400fff34: loopTask(void*) at /data/cache/platformio/packages/framework-arduinoespressif32/cores/esp32/main.cpp:23
WARNING Decoded 0x40091352: vPortTaskWrapper at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c:355 (discriminator 1)
[23:14:13]
[23:14:13]Rebooting...
Would love to know if there's anything this points at that I'm doing wrong or should set up differently. I don't feel like I can trust these sensors right now if they can drop off and become unavailable at any time.