ESPHome vs Pi Zero W for BLU (plant and presence detection)

I am currently running 9 plant sensors around my house. I have been testing ChristianKuehnel/plantgateway on the Pi Zero W, and the ESPHome Xiaomi MiFlora BLE Sensor on an ESP32 dev kit. Looking to determine which solution to deploy throughout the house. I am leaning towards using ESPHome and the ESP32 board. I also plan on using the board for more reliable presence detection as well.

Which solution would you go with to not just solve my immediate need for monitoring my plants, but also allow flexibility to perform other operations?

1 Like

I recently replaced a pair of Pi Zero W luminance sensors in favor of ESP8266 and ESPHome. More reliable, less effort, and just works. ESP32 is a great choice, Wemos makes a great board, clones are less expensive, generally with more quality issues. The number of different sensors currently supported in ESPHome is really, really comprehensive, and they just keep adding more. It’s definitely the way to go.

1 Like

I have switched from Raspberry Pi1 to NodeMCU (esp8266) for plant monitoring and automated watering. On Raspberry I had python scripts and services for monitoring and used MQTT for communication. It took me several weeks to implement.

With ESPHome I did it in couple of hours, it was much easier and i think more reliable in case of reboot/power loss and easier to make changes.

In HA it looks like this, i have soil moist and temperature monitoring, can select watering duration, manually activate watering and see last date the plant was watered. In the HA script i set the minimum moist level when plant is watered. Works good for several month now.


NodeMCU config in ESPHome looks like this:

# Pump relay switch
  - platform: gpio
    name: plant_pump
    pin: 4

# Temperature sensor initialization
  - pin: GPIO2

# Individual sensors
  - platform: dallas
    address: 0xEE020F924580F528
    name: soil_temp
    accuracy_decimals: 1
  - platform: adc
    pin: A0
    name: soil_moist
    accuracy_decimals: 1
    unit_of_measurement: "%"
    icon: mdi:water-percent
      - calibrate_linear:
          # Map 0.0 (from sensor) to 0.0 (true value)
          - 0.85 -> 0.0
          - 0.39 -> 100.0

Can you use 1 esp32 with multiple miflora? Also what do you guys use for a case?