Sprinkler automation with ESPHome, a complete project

Hi,

My assumption would be that you are using some “not-recommended” GPIO for relays (some of them are needed during booting). take a look here for which GPIO’s are safe to use.

1 Like

i wanted to print the page (whole) in PDF for future reference, but only the first page get printed.

Hi, I have a problem with starting the controller when I have a switch connected to port D8 (GPIO15). The whole system freezes despite using a resistor. I used ports D1 and D2 to connect a display that shows the device’s status. Do you have any ideas?

The idea of the controller is great. Congratulations!

if you are using ESP8266, D8 is not a good choice. boot fails if pulled high.

I know that, but how do I set D8 to a low state? I used a 3.3k resistor, but it didn’t work, and changing to a 4.7k resistor didn’t help either. I don’t really want to use the D4 pin. I guess switching to ESP32 is the only option.

How are you using resistors if you dont know how to set its state? Resistors can be used to Pull-Up or Pull-Down so how are you using yours?

  1. Why are you using them? If you know boot fails if pulled High then surely you know that D8 is already pulled-Low by default and doesnt need done manually.

  2. So… if a gpio is pulled Low then what state from a switch can it read?

  3. Is your switch wired in that Active ??? configuration?

the best option.

Ya! Why bother learning what you did wrong or how to simply fix the problem because swapping boards might be easier!

Saying something is “better” is a bold claim, especially if you dont include any receipts to back it up. So, what happens after swapping boards and they run into the same problem? Just switch boards a third time and cross your fingers?

If you understood what this meant, you’ll understand that you cannot do it. Don’t use D8, as has been mentioned to you here:

Why not? Do you have some physical limitations? Otherwise the answer is simply: Follow the specs.

Or just change pins. I know ESPs are cheap, but there’s no need to waste money.

Watering system activated, thank you all for your help. I replaced pin D8 with D4, kept the ESP8266, and additionally installed a small display showing the current status of the controller. Thanks again to everyone.

1 Like

nice. could you show us how and the results?


Inside of the controller


Time to finish watering. Every 5 seconds it changes to the name of the zone currently being watered


Controller

Display handling code:

font:

  • file: “arial.ttf”
    id: font1
    size: 14

  • file: “arial.ttf”
    id: font2
    size: 25

  • file: “arial.ttf”
    id: font3
    size: 17

i2c:
sda: GPIO4
scl: GPIO5
frequency: 400kHz

display:

  • platform: ssd1306_i2c
    model: “SSD1306 128x64”
    address: 0x3C
    id: my_display
    pages:
    • id: page1
      lambda: |-
      it.printf(0, 0, id(font1), “Podlewanie:”);
      it.printf(0, 25, id(font3), “%s”, id(valve_status).state.c_str());
    • id: page2
      lambda: |-
      it.printf(0, 0, id(font1), “Pozostaly czas:”);
      it.printf(0, 30, id(font2), “%s”, id(time_remaining).state.c_str());

interval:

  • interval: 5s
    then:
    • display.page.show_next: my_display
    • component.update: my_display

Hello @Alaric,

thanks for this wonderful project and your work / contribution for this community. I followed your instructions and nearly finished my own ESPHome Irrigation Controller based on yours. I’ve used nearly the same components as you’ve mentioned and in first tests it’s technically working fine so far.

But now to my question: You’ve mentioned that you could send the .stl files for the Plates and Wall mount and that we can send you a pm for it but i haven’t found a way to send a pm… :see_no_evil: Maybe i am too blind but even after several searches i haven’t found a way.

I do have the same enclosure of Spelsberg and i would really like to have the files for printing. Is there perhaps a chance that you could make them available somewhere else?

Thanks a lot & Best regards
Thomas

1 Like