iLonda Fish Feeder

For anyone potentially interested in using this with esphome, here’s a working config:

# Substitutions
substitutions:
  device_name: feeder

# Node definition
esphome:
  name: ${device_name}
  platform: ESP8266
  board: esp01_1m

# Wifi details
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
# Directly connects to WiFi network without doing a full scan first
  fast_connect: true
  manual_ip:
    static_ip: !secret feeder_ip_address
    gateway: !secret wifi_gateway
    subnet: !secret wifi_subnet
## Fallback Hotspot
  ap:
    ssid: "${device_name} Hotspot"
    password: !secret wifi_password

## Web interface for fallback hotspot 
captive_portal:

# Enable logging
logger:

# Activate web server (may cause memory issues in ESP8266)
web_server:
  port: 80

# Enable Home Assistant API
api:

# Enable OTA updates
ota:

# Binary Sensor to allow relay to be switched when physical button is pressed
binary_sensor:
  - platform: gpio
    id: button
    pin:
      number: GPIO4
      mode: INPUT_PULLUP
      inverted: True
    on_press:
      - switch.turn_on: relay
# Device connection status
  - platform: status
    name: 'Status ${device_name}'
    
switch:
# Switch to restart device
  - platform: restart
    name: 'Restart ${device_name}'
# Switch to turn feeder on/off and turn on/off LED
  - platform: gpio
    name: 'Relay ${device_name}'
    id: relay
    pin: GPIO14
    on_turn_on:
      - light.turn_on: led
      - delay: 3s
      - switch.turn_off: relay
      - light.turn_off: led
    restore_mode: ALWAYS_OFF

# To allow led to be controlled via GPIO
output:
  - platform: esp8266_pwm
    id: blue_led
    pin:
      number: GPIO5
      inverted: true

# LED control
light:
  - platform: monochromatic
    output: blue_led
    id: led
1 Like

Very nice pplucky i have the same device now in use with Tasmota,
But esphome is the way to go.

one question : There is also a counter in the fishfeeder , could you include that also in your config ?

Would you be able to tell me exactly what this sensor is supposed to contain? Does it keep increasing over time, does it reset after some time? Does it reset on reboot (I suppose yes).

I suppose this is the equivalent to a pulse counter in esphome (with total), but not sure. If that’s the case, this additional sensor would do the job:

# Feeder counter
  - platform: pulse_counter
    pin: GPIO12
    name: 'Counter/min ${device_name}'
    unit_of_measurement: 'time(s)'
    internal: true
    total:
      unit_of_measurement: 'time(s)'
      name: 'Counter ${device_name}'

Hope to get your feedback.

Hi,

Thanks a lot
When i used it in tasmota there was a extra sensor ( counter ) which was updated each time the feeder had fed the fish .
Just have put your extra counter sensor in the config file, and yep it works like a charm, it gets updated each time the fish get fed.
if i reboot the counter starts with zero again

The handy thing is if you take note how many feeds it does before the food container is empty
you can write a automation to warn you when to fill it up again.

I actually made another addition , i have connected a DS18b20 (waterproof temp sensor) to
GPIO13 of the fishfeeder, so i get the watertemp also :

with this extra code

# # Example configuration entry
dallas:
  - pin: GPIO13
    update_interval: 600s
# Individual sensors
sensor:
  - platform: dallas
    address: 0x783C01D60740D428
    name: "Water Temperature"
1 Like

Cool, thanks for your feedback.

That was also my understanding, but maybe it makes sense to also add it to an input number in HA, in order not to lose it at all even if you reboot.

I need to find the time to put this into the esphome cookbook, as I had to try it all from scratch, solely based on the tasmota template and on the pin description in the above link from OpenHab forum

Hope this can be helpful for other people also. .

well looking around Ebay found one of these

for $2.76 NZL think could i add it to the Ilonda fish feeder

looking at the Look here blakadder site

i see a spare GPIO

after some more reading and asking Google

3rd up from the bottom GPIO2 let use that

my road map

let pull it a part and make it fit

eve ball for shorts
test it does it work change the module back to Generic Module
set the old value and add the DS18x20 to GPI02 prayed

did a reboot still praying the TASMOTA GODS

and SHIT it work

as there a temp sensor in there it was .7 out so more reading

so I did a tempoffset .7 in the console and they match HAPPY HAPPY CAMPER

it mounted back in place

putting it in HA

1 Like

First of all thanks to everyone who participated in this thread as I got some very useful information here.

I hope my reply here will help anyone down the line.

I was finally able to purchase this feeder a week ago. I then tried my luck and found that this feeder is actually flashable via Tuya-convert, so NO HARDWARE TINKERING!

I did the Tasmota flashing on my PC via VMware by following this Youtube tutorial: Tuya-Convert on Windows - Use VMware to flash Tuya devices! - YouTube but note that this method requires a USB wifi dongle. I got a really cheap one under $10 at my local store (TP-Link TL-WN725N). However, I ran into an issue where the AP mode didn’t work with the default driver, so the drivers here helped me: GitHub - aircrack-ng/rtl8188eus: RealTek RTL8188eus WiFi driver with monitor mode & frame injection support. After the driver issue was resolved, I was able to complete the steps as described on the youtube video and have Tasmota flashed onto the feeder. Tasmota is already included with Tuya-convert.

After that, I switched to ESPHome by following Migrating from Sonoff Tasmota — ESPHome, using the esphome config yaml from Ilonda Wifi Smart Fish Feeder (L88) — ESPHome. This is with the help of the ESPHome homeassistant addon to generate the bin file.

And now I have a cloud-free fish feeder!

5 Likes

Thanks, i have succeed to set it up following your procedure. That helps a lot !

I flashed the iLonda feeder using tuya convert and everything seems to have worked fine. I’m able to connect to it on my network and can enter various configurations.

However, how do I get it connected to esphome? I’ve got the sketch setup in esphome, is it treated like any other esp device where you connect it via usb and upload the sketch? Need to do anything different since it was flashed with tuya convert?

Reason I ask is because when plugged in, esphome does not recognize that there is something plugged in to the USB port.

When you flashed it via tuya convert, you must’ve had a firmware file in (tasmota, most probably).

If that was the case, you should use esphome to create your firmware bin file and simply use the upgrade option in tasmota UI, pointing to that file.

After the upgrade is finished, you should have converted your tasmota feeder to an awesome esphome feeder.

I had used Tuya convert OS and while it was flashing I do recall seeing some sort of .bin file used as the firmware …

Thanks for the note! Took a little while to figure out, but I think I’ve found where to get esphome to compile and then download a .bin file. Much appreciated!

Unfortunately esphome crashes my HA instance any time I try to do anything now :confused: (due to high memory use) don’t see a fix yet so far … Will report back whenever that gets fixed …

If you have configured esphome to use web, you can try to visit the webpage via device IP/name.

I’m not sure I completely follow, but I think you’re saying that the esphome add-on allows you to configure so that you can access it via [[IP Address]] @ Port 6052 ?? I’m guessing it has to do with this? I can’t seem to find how to do this …

However, since my esphome is on the same RPi as HA, would it not still consume a lot of memory too regardless of whether it’s frontend is through HA or if it’s through the web? In the link above, it also mentions that this uses up a good bit of memory.

Edit: I had another thought and I think I’m going off topic further and further, but I wasn’t sure how it would play out. Let’s say I run esphome in docker on another machine, would I have to reflash all my existing devices via usb?

Just wanted to post back to say thanks to @pplucky for the suggestion to flash firmware compiled from esphome. It was successfully picked up by the esphome integration and now subsequent updates can be done through esphome.

I had to restore my instance back to a December backup to fix memory issue in order to get esphome to function.

Configuring web API on the esphome device allows you to access it via port 80 using its IP on a browser. Try it and if nothing appears, then you’d need to add ir to your esphome yaml configuration and flash it again.

Memory consumption by web server is on the esp itself, not on the HA server.

If you move the esphome dashboard to another server, you can copy the esphome config folder from HA to the corresponding folder in the new machine and you won’t need to reflash anything.

Tbe esphome dashboard is only required to change config and flash, not for the normal esphome functioning.

Thanks to all in this thread!

I just wanted to post two small modifications to the config for ESP home.

1 - My pulse counter was often double counting my feeds - to fix this, I added in internal_filter_mode: PULSE as below

sensor:
# Feeder counter pulse meter
  - platform: pulse_meter
    pin: GPIO12
    id: pulse_count
    name: 'pulses'
    internal_filter_mode: PULSE
    internal: true
    total:
      unit_of_measurement: 'times'
      name: '${name} Counter'

2 - I added in a switch to reset the counter from the UI:

# Switch to reset pulse counter
  - platform: template
    name: '${name} Counter Reset'
    restore_state: false
    entity_category: config
    turn_on_action:
      - pulse_meter.set_total_pulses:
          id: pulse_count
          value: '0'

3 - updated the LED to a single config bock and so that the LED also shows the API status. Remove the output: block and replace the light: block with

light:
  - platform: status_led
    id: led
    pin:
      number: GPIO5
      inverted: true

Cheers!

2 Likes

Thanks, appreciate all the help!

Looks like all I needed to do was add this:

web_server:
  port: 80

Thanks for the neat trick :slight_smile:

1 Like

If i use the Tuya integration, would i be able to control all these things as with Tasmota?
Also, the favour here seems to be towards ESPhome. What’s the advantage over just Tasmota?

Finally, what commands does one use for MQTT ?

How to modify this for the new-ish ‘button’ instead of the ‘switch’?

Does anyone know if this can be done with the
iLONDA L87 Automatic Pond Feeder 10L ?