Northfifteen Connected Home Plant Monitor (Mi Flora) Firmware update to work with espHome

Northfifteen Connected Home Plant Monitor (Amazon Link) is a rebranded Mi Flora Sensor. It also uses a rebranded version for the “Flower Care” app. My initial plan was to use this with esp32/epsHome to connect to my Home Assistant. However, after multiple tries, I realized this does not broadcast the temperature/moisture and other information as the Mi Flora does so the espHome yaml config does not work. I think this is related to the firmware version it is using which is stuck at 2.7.0 and does not update via their rebranded flower care app. I found instructions to spoof gps location and use chinese vpn to bind this devide to Flower Care. Flower care does bind and notifies about firmware update to 3.1.9 but it fails to download the firmware. I do not think without the firmware update I can make it work with espHome because the firmware 2.7.0 was reported to have issues with epsHome already. Can anyone suggest a way to make update the firmware on this or any other way to make this work with espHome vis esp32?

PS: This does connect to Home Assistant with builtin BLE miflora sensor platform but I am asking about using it through esp32/espHome

1 Like

I here one on these

and

here is my ESPhome file

esphome:
  name: bluetooth199
  platform: ESP32
  board: mhetesp32devkit

wifi:
  ssid: "MYLE"
  password: blablabla
  
  manual_ip:
    static_ip: blablabla
    gateway: blablabla
    subnet: 255.255.255.0
# Enable logging
logger:

# Enable Home Assistant API
api:
  password: 'blablabla'

web_server:
  port: 80

ota:
  password: 'blablabla


#Enable Bluetooth scanning for this ESP32
esp32_ble_tracker:
#  scan_interval: 300s
  
binary_sensor: 
  - platform: ble_presence
    mac_address: blablabla
    name: "Car Keys"
  
  
sensor:
  - platform: xiaomi_lywsdcgq
    mac_address: blablabla
    temperature:
      name: "Lounge Temperature"
      unit_of_measurement : "°C"
    humidity:
      name: "Lounge Humidity"
      unit_of_measurement : "%"
    battery_level:
      name: "Lounge Battery Level"
  - platform: wifi_signal
    name: 'Bluetooth Bridge Wifi Signal 199'
    update_interval: 10s
  - platform: uptime
    name: 'Bluetooth Bridge Uptime 199'
    
  - platform: xiaomi_hhccjcy01
    mac_address: blablabla
    temperature:
      name: "MiFlora Temperature"
    moisture:
      name: "MiFlora Moisture"
    illuminance:
      name: "MiFlora Illuminance"
    conductivity:
      name: "MiFlora Soil Conductivity"
#    battery_level:
#      name: "MiFlora Battery Level"
time:
  - platform: homeassistant
    on_time:
      - seconds: 0
        minutes: 0
        hours: 4
        days_of_week: MON-SUN
        then:
           - switch.toggle: restartit
      - seconds: 0
        minutes: 0
        hours: 16
        days_of_week: MON-SUN
        then:
           - switch.toggle: restartit
switch:
  - platform: restart
    name: "Bluetooth Restart"
    id: restartit

onlly problem i had was the bluetooth bit crashing
so I put a restart every 12 hours has not mis a beat

1 Like

Thanks - This is exactly what I planned to do but got greedy and bought from US seller for faster shipping and received the Ninefifteen rebranded one. Ninefifteen one does not work with this setup - which I think is due to the firmware it ships with.

Hopefully this will be helpful for someone else in future. Finally I solved the issue by switching region to mainland China in MI Home App. Then I was able to update the firmware to the latest version. Now my esp32/espHome setup works without any issue.

3 Likes

Thank you for this. I had 3 (only one was from Northfifteen, the others were Xiaomi’s) that I couldn’t get to work. Thanks to your tip they are now working like a charm (and hopefully better than with HA’s Miflora integration).