ESPHome Basic Setup For All ESP Devices

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ธ.ค. 2024

ความคิดเห็น • 72

  • @craigritchie8470
    @craigritchie8470 8 หลายเดือนก่อน +8

    Absolutely hands down the best ESPHome video I’ve seen to date. Great information here.

  • @WyattSmith101
    @WyattSmith101 10 หลายเดือนก่อน +5

    Great video. Now I know how to connect my ESP32’s to Home Assistant. Excellent start!

  • @miguelavello7493
    @miguelavello7493 9 หลายเดือนก่อน +4

    Wow Pascal ..... another fantastic video. You definitely Rock !!!!
    Thank you for all your effort putting this together.

  • @herrgerd1684
    @herrgerd1684 9 หลายเดือนก่อน +1

    Got into HA and ESPHome a few months ago. This video is so absolutely packed with information. Amazing!

    • @homeautomatorza
      @homeautomatorza  9 หลายเดือนก่อน +1

      Thank you, you check out the series on the Room Sensor where I am building a room sensor packed with usefull sensors, the 2nd one is probably coming out tomorrow around 15:00 UTC

  • @GeoViljoen
    @GeoViljoen 10 หลายเดือนก่อน +3

    Excellent tutorial, I really enjoyed this video. I learnt a lot...

  • @bigskaggs
    @bigskaggs 3 หลายเดือนก่อน

    You have done a great job with your videos with explaining what things do so we can understand them rather than what is the usual with other tutorials that are "do this, do this, do that" and no explanation. I am doing this as both serving my home and improving my life but also as a healthy brain hobby. As such I may want to try things out and reuse an ESP32 for other sensors or devices. Any chance you'll do a video on wiping a esp32 for reuse and clearing it from EspHome?

    • @homeautomatorza
      @homeautomatorza  3 หลายเดือนก่อน +1

      Hi Andrew,
      First, I want to thank you for the kind words.
      As for the wiping of the ESP32 or 8266, it does not need a video, I reuse my development boards often, so I do this as often.
      If you are changing the IP address, any API keys or passwords, reupload using the USB method I showed in this tutorial.
      However, if none of these are going to change, you can use Wi-Fi, I have a couple of ESP32 S3s I regularly do that with.
      I would also encourage you to have a look at my "Coding Practices, Tips and Tricks" series, which is the advanced version of this tutorial. Because you will be re-using using the same codebase the Wi-Fi method becomes more stable.
      I hope that helps.
      Cheers
      Pascal

  • @tamilquotesdaily
    @tamilquotesdaily 10 หลายเดือนก่อน +2

    Thank you so much for knowledge transfer its really helpful.😀😀

  • @jimbo149
    @jimbo149 3 หลายเดือนก่อน

    I have been tearing my my hair out the last few days. Pascal, thank you so much. Everything I was looking for and more. Thanks again. Jim

    • @homeautomatorza
      @homeautomatorza  3 หลายเดือนก่อน +1

      Pleasure Jim, glad I could help
      You should have a look at my new series, which is a more advanced way to approach this.

    • @jimbo149
      @jimbo149 3 หลายเดือนก่อน

      Will do thanks!

  • @marko8177
    @marko8177 5 หลายเดือนก่อน

    Nice video. I also have 20 active esphome devices and wrote template for all my new devices. I'm using mostly D1 mini's(8266) because of the small size. Easier to 3D-print boxes;-) I have missed OTA details and globals altogether. Thanks for the tips 👍👍

    • @marko8177
      @marko8177 5 หลายเดือนก่อน +1

      Forgot to mention, but I'm still using ha api connection check on esphome device boot, because I have plenty of LCD-screens and it will turn of the backlight on my code when connection is ok. I can see immediately, if connection fails->
      esphome:
      name: ${esphome_name}
      platform: ESP8266
      board: d1_mini
      on_boot:
      priority: -10
      then:
      - wait_until:
      api.connected:
      - logger.log: API is connected!

    • @homeautomatorza
      @homeautomatorza  5 หลายเดือนก่อน

      Thanks Marko, I am currently working on a more advanced and modular version of this tutorial, it will include a lot of tips too.
      Now I need my voice back so I can record them.

  • @johnny-d8o8m
    @johnny-d8o8m 2 หลายเดือนก่อน

    Amazing good video. Please keep up the good work🎉

    • @homeautomatorza
      @homeautomatorza  2 หลายเดือนก่อน

      Thank you! Will do!
      Have a llok at these th-cam.com/play/PLJ3MNJX_MOUnMWzUNDatN3LWAN8l99v5I.html
      It's the new intermediate version of this video.

  • @birkey101
    @birkey101 6 หลายเดือนก่อน

    I have watched a ton of tutorials on youtube and you go the extra mile to explain why versus just showing what to do. I look forward to subscribing to your channel

  • @manukalias
    @manukalias 4 หลายเดือนก่อน

    Very detailed info why and what to follow 👍
    Got your channel suggested 1st time in 4+ year with home assistant learning 😅
    Love and respect from India 🙏🙏

    • @homeautomatorza
      @homeautomatorza  4 หลายเดือนก่อน +1

      Thanks Manu
      I’ve only been around for a few months though.
      There is much more coming and the next series is an extension of this one, but we will be going into more advanced techniques and additional properties, I hope you will enjoy it as much as I do preparing and recording them.
      And don’t hesitate to ask questions.
      Love and respect from South Africa

  • @hafey80
    @hafey80 9 หลายเดือนก่อน +1

    Amaizing video, keep them coming

  • @karlOFuchs
    @karlOFuchs 7 หลายเดือนก่อน

    Thx Pascal. I have been playing a while with ESPHome and started to work on a basic setup template. Your style, tempo and amount of info you shared is excellent. Well done.

  • @citricguy
    @citricguy 6 หลายเดือนก่อน

    Thank you. I'm just getting started and this was a fantastic introduction.

  • @orandaadnaro
    @orandaadnaro 5 หลายเดือนก่อน

    Pascal - A very elegant and streamlined way of coding a standard 'foundation' for esp home devices. Thank you.
    BTW the second link above to the code, doesn't work.

    • @homeautomatorza
      @homeautomatorza  5 หลายเดือนก่อน

      Wait until Saturday’s livestream where I’ll show more advanced ways to do the code and stream line it even more.
      I’ll check the link, thanks.

  • @geodome99
    @geodome99 10 หลายเดือนก่อน +1

    Thank you!

  • @eduardosantile2040
    @eduardosantile2040 5 หลายเดือนก่อน

    Oustanding, very clear very usefull

  • @NoCPU
    @NoCPU 8 หลายเดือนก่อน

    What a fantastic video. Gave me lots to think about

  • @jbrande
    @jbrande 4 หลายเดือนก่อน

    one thing, i believe reboot_timeout: on api config is not to get connected as soon as possible, with that you are disabling the reboot if there is no api connection, normally it waits 15 min to connect to api and if it does not find it it reboot the device, with the config you added it will no reboot if its not connected to api

    • @jbrande
      @jbrande 4 หลายเดือนก่อน

      from the documentation:
      reboot_timeout (Optional, Time): The amount of time to wait before rebooting when no client connects to the API. This is needed because sometimes the low level ESP functions report that the ESP is connected to the network, when in fact it is not - only a full reboot fixes it. Can be disabled by setting this to 0s. Defaults to 15min.

    • @homeautomatorza
      @homeautomatorza  4 หลายเดือนก่อน

      You are correct, I’ll check the video but I thought it was correctly explained

  • @miguelavello7493
    @miguelavello7493 8 หลายเดือนก่อน

    Thanks for the reply. I am structuring all my new devices that I am adding to have your suggestion structure approach.
    The old devices I think I have to reload the firmware (won't work OTA) with the new secrets structures..

  • @rolfvreijdenberger1639
    @rolfvreijdenberger1639 6 หลายเดือนก่อน

    tnx, will use the template from the site

  • @sven1858
    @sven1858 8 หลายเดือนก่อน

    This is excellent, just looking into esp home, and learnt so much here.
    Great video, thanks for sharing your knowledge.
    New subscriber 👍

    • @homeautomatorza
      @homeautomatorza  8 หลายเดือนก่อน

      Glad I could help, a channel update is coming soon, lot's of exiting stuff coming.

  • @mulleer
    @mulleer 9 หลายเดือนก่อน

    Great job !

  • @parstalberg
    @parstalberg 8 หลายเดือนก่อน

    If you use a underscore on the "device_internal_name" value you will get an notification when compiling that you should not use underscore for the host name for the device. And if yo use a - instead then it's not compiling as you can't use - in ids.

    • @homeautomatorza
      @homeautomatorza  8 หลายเดือนก่อน

      I apologize for the late response, I’ve been tied up to an hospital bed since last Saturday, I am still there.
      This happens because older WiFi protocols do not “like” underscores in the host name, most modern WiFi protocols are not as fussy, hence the warning.
      Having said that I find it odd that I did not pick up my oversight, I’ll need to compare the code of the video and my GitHub. This will have to happen when I return home.
      Thank you for pointing it out.
      - Pascal

  • @jpereiraca
    @jpereiraca 6 หลายเดือนก่อน

    900th subscriber!

    • @homeautomatorza
      @homeautomatorza  6 หลายเดือนก่อน

      Yeah! Live stream for a 1000?

  • @rsonic81
    @rsonic81 10 หลายเดือนก่อน

    Great video
    I learn a lot of things from your video. I instald thelas esphome add on version on my home assistant. But every time i want to compile a node the add on gives an eror. The eror is maximum resources reced.
    Thanks for the help

    • @homeautomatorza
      @homeautomatorza  10 หลายเดือนก่อน

      You can try 2 things,
      1. Reboot the Home Assistant machine, that worked for me last time.
      2. You may be short on memory, that would require more RAM. If you have 4Gb or more this should not be a problem though.

  • @miguelavello7493
    @miguelavello7493 8 หลายเดือนก่อน

    Pascal, I have a question for you, finally I have some times to deep dive this video. I love the structure for all the devices.
    1) I do have a question for you. This assumes that in the secrets, the api_encryption_key, the web_server_password, web_server_user they all are going to be the same for each sensor ? If that is true (correct me if understood this right), is not an issue to have different sensors with the same api_encryption_key, web_server_password .... etc been the same ???
    2) If 1) is correct can I do the same (for all the devices) to have the gateway_address and subnet_address been the same in the secrets.yaml ?
    Thanks a lot for all your videos !!!! They are awesome. Well structure and super detail. Thank you for doing all of that for your followers and subcribers.
    THANKS AGAIN !!!!!!
    Makes sure you don't miss the Solar Eclipse, for me it will be at 3:00PM (Michigan, USA) .... Not sure if you will get to see it where you are !!!!

    • @homeautomatorza
      @homeautomatorza  8 หลายเดือนก่อน

      Hey Miguel,
      Thank you, though a tweaked the structure to allow for a few other things, unfortunately the next video will probably only be available in a couple of weeks 😟.
      My body is not leaving a choice.
      1. Your assumption is correct, I use a single randomized password and key for all my devices. It makes life so much easier with very little drawbacks security wise as all the devices are within my internal network.

    • @homeautomatorza
      @homeautomatorza  8 หลายเดือนก่อน

      2. Well that too, the only one I change is the IP Address, I keep a spreadsheet for that

    • @homeautomatorza
      @homeautomatorza  8 หลายเดือนก่อน +1

      Thank you for the support

  • @Mr1279Dave
    @Mr1279Dave 5 หลายเดือนก่อน +1

    Errors compiling foundation yaml now as things have changed in HA.

    • @homeautomatorza
      @homeautomatorza  5 หลายเดือนก่อน

      Correct, the fix is explained here th-cam.com/video/wcUDYzLFjQ0/w-d-xo.html

    • @Mr1279Dave
      @Mr1279Dave 5 หลายเดือนก่อน

      @@homeautomatorza Thank you!

  • @rcmc88
    @rcmc88 6 หลายเดือนก่อน

    I have manually typed this into my home assistant and it kept not working, i then copied yours and yours also isn't working. Have there maybe been updates that have made this coding stoip working? It stops at the Binary Sensor name "id: ${device_internal_name}_status" where in the fault says the name cannot have a $ , Can anyone help me out, i have been trouble shooting this for 4 hours without any luck.

    • @homeautomatorza
      @homeautomatorza  6 หลายเดือนก่อน

      I am not sure I understand, but here are 2 things you can try
      1. Is device_internal_name defined?
      2. Are you typing as follows:
      id: ${device_internal_name}_status
      Lastly, are you doing this in ESPHome or Home Assistant ?
      The code that I have on GitHub is fully tested, except for the ota change there is nothing else that should break it.
      Can you maybe paste the full error, so I can help?

    • @rcmc88
      @rcmc88 6 หลายเดือนก่อน

      Sure will do, am using in esphome in home assistant. Will message you in the morning, many thanks, Michael

    • @rcmc88
      @rcmc88 6 หลายเดือนก่อน

      @@homeautomatorza I have a screen shot of the error code and the actions that have run before it. is there anyway i can forward this to you at all please ?

    • @rcmc88
      @rcmc88 5 หลายเดือนก่อน

      @@homeautomatorza INFO ESPHome 2024.6.6
      INFO Reading configuration /config/esphome/foundation-device.yaml...
      WARNING Found '${device_internal_name}_status' (see binary_sensor->0->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_wifi_signal_sensor' (see sensor->0->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_uptime_sensor' (see sensor->1->name) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_uptime_human' (see sensor->1->on_raw_value->then->0->text_sensor.template.publish->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found 'int seconds = round(id(${device_internal_name}_uptime_sensor).raw_state);
      int days = seconds / (24 * 3600);
      seconds = seconds % (24 * 3600);
      int hours = seconds / 3600;
      seconds = seconds % 3600;
      int minutes = seconds / 60;
      seconds = seconds % 60;
      return (
      (days ? to_string(days) + "d " : "") +
      (hours ? to_string(hours) + "h " : "") +
      (minutes ? to_string(minutes) + "m " : "") +
      to_string(seconds) + "s")
      ).c_str();' (see sensor->1->on_raw_value->then->0->text_sensor.template.publish->state) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_ip_address' (see text_sensor->0->ip_address->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_connected_ssid' (see text_sensor->0->ssid->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_mac_address' (see text_sensor->0->mac_address->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_uptime_human' (see text_sensor->2->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_status' (see binary_sensor->0->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_wifi_signal_sensor' (see sensor->0->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_uptime_sensor' (see sensor->1->name) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_uptime_human' (see sensor->1->on_raw_value->then->0->text_sensor.template.publish->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found 'int seconds = round(id(${device_internal_name}_uptime_sensor).raw_state);
      int days = seconds / (24 * 3600);
      seconds = seconds % (24 * 3600);
      int hours = seconds / 3600;
      seconds = seconds % 3600;
      int minutes = seconds / 60;
      seconds = seconds % 60;
      return (
      (days ? to_string(days) + "d " : "") +
      (hours ? to_string(hours) + "h " : "") +
      (minutes ? to_string(minutes) + "m " : "") +
      to_string(seconds) + "s")
      ).c_str();' (see sensor->1->on_raw_value->then->0->text_sensor.template.publish->state) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_ip_address' (see text_sensor->0->ip_address->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_connected_ssid' (see text_sensor->0->ssid->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_mac_address' (see text_sensor->0->mac_address->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING Found '${device_internal_name}_uptime_human' (see text_sensor->2->id) which looks like a substitution, but 'device_internal_name' was not declared
      WARNING 'esphome_foundation_device': Using the '_' (underscore) character in the hostname is discouraged as it can cause problems with some DHCP and local name services. For more information, see esphome.io/guides/faq.html#why-shouldn-t-i-use-underscores-in-my-device-name
      WARNING GPIO2 is a strapping PIN and should only be used for I/O with care.
      Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
      See esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
      INFO Detected timezone 'Europe/London'
      Failed config
      binary_sensor.status: [source /config/esphome/foundation-device.yaml:111]
      platform: status
      name: Status

      IDs must only consist of upper/lowercase characters, the underscorecharacter and numbers. The character '$' cannot be used.
      id: ${device_internal_name}_status

    • @rcmc88
      @rcmc88 5 หลายเดือนก่อน

      @@homeautomatorza Hello Pascal, i have uploaded the error code for you to review if you would be so kind please ?

  • @rsonic81
    @rsonic81 10 หลายเดือนก่อน

    I see in your secret.yaml a line with APIkey for HA the question is: for all your esphome nodes you are using the same APIkey?
    Is it working?

    • @homeautomatorza
      @homeautomatorza  10 หลายเดือนก่อน

      Yes I am using the same API key and it’s working.
      It makes management so much easier

  • @mallappa1234
    @mallappa1234 หลายเดือนก่อน

    Just some suggestions. Get to the point quickly and leave out the extra info. 44 minutes video to watch is difficult to find the info one is looking for. Thanks for your effort.

    • @homeautomatorza
      @homeautomatorza  หลายเดือนก่อน +1

      Many things have changed since my early days, I’ve focused and shortened my videos since.
      You should have a look at my Coding Practices, Tips and Tricks series (th-cam.com/play/PLJ3MNJX_MOUnMWzUNDatN3LWAN8l99v5I.html&si=lCZMVffIv4t7r3-m) which takes this tutorial content a makes it modular.
      And yes I still go deep, so you understand everything which helps you troubleshoot.
      Also all my tutorials have chapters, so you can find what you are looking for fast.
      Thanks for the suggestion though, enjoy making with ESPHome.

  • @n.r.2258
    @n.r.2258 4 หลายเดือนก่อน

    High definition screens doesn’t makes sense for such videos cause the writing is almost not to read on smaller equipment like iPhone ore iPads.👎

    • @homeautomatorza
      @homeautomatorza  4 หลายเดือนก่อน

      I changed that see the newer videos