static const uint8_t BL0940_READ_COMMAND = 0x50; // 0x58 according to documentation
static const uint8_t BL0940_WRITE_COMMAND = 0xA0; // 0xA8 according to documentation
上述代码明确注释,组件用的读写指令与芯片生产商的技术手册并不一致。再翻看ESPHome对该组件的描述为“These are used in some Tuya-devices (e.g. the power metering BW-SHP10)”。
于是我猜想,那些电源管理模块或许是采用定制的BL0940芯片,其操作指令进行了调整,所以并不适合市售的BL0940芯片。然而ESPHome官方文档并未对该情况进行描述,于是根本就无法让自制电路正常工作。
最终,根据芯片技术手册的标准指令,通过外部组件方式重新定义了组件后正常(本人小白,不知道还有其它方式没)。
本小白英文极烂,所以希望那位大神能向ESPHome官方反馈该事宜,并完善其技术文档,避免更多的友友们踩坑。