ESPHome Indigo Plugin

Posted on
Tue Oct 10, 2023 3:21 pm
GlennNZ offline
User avatar
Posts: 1578
Joined: Dec 07, 2014
Location: Central Coast, Australia

ESPHome Indigo Plugin

Image

https://github.com/Ghawken/ESPHome_Indi ... /tree/main

This is a plugin for Indigo (Indigodomo) to allow direct access to some ESPHome sensor devices, and growing over time switches/action devices. This connects directly, locally to the ESPHome device via the local network and requires nothing further. The ESPHome device needs API enabled. ESPHome is a complex, fantastic project and overtime has become very mature/stable.

Many thanks for the enormous man-hours of maintaining and updating this project - it truly is an impressive feat.

So What is ESPHome? (What follows is my, likely limited understanding)

https://esphome.io/
& sensor options: https://esphome.io/#sensor-components


It is essentially firmware for a number of microprocessors, most common, and most powerful the ESP32.

The ESP32, such as this relatively expensive $22 USD one: https://www.sparkfun.com/products/15663
Image
Sparkfun Thing Plus:

or
Image
https://shop.allnetchina.cn/collections/quinled/products/quinled-esp32?variant=39253005795430

This includes a processor, memory, Wi-Fi connection, a number of pins for connecting sensors/devices.

Oh shoot, I read this far and how this seems far too complicated?

Hold off for a couple of minutes...
Sure it sounds somewhat complicated, but actual setup is straightforward.

This above ESP32 option includes a QWIC connection for i2C devices, meaning plug and play for a high number of sensors.

But anyway – on to setup.

Need:

Need ESP32 (or like device) like above, which is $22 USD.

Plug it into a USB port on a computer (Possibly some drivers needed depending on PC).

Go to http://web.esphome.io.

Press the Connect button and find the USB-connected device.

Install the latest version of ESPHome onto the device via the install button on the web.

Enter Wi-Fi details – and in a minute or two, you have a default ESPHome device connected to your Wi-Fi.

Admittedly, it won’t do much – but it connects, and you can visit its web server with its IP in a web browser. It also enables Over the Air updates via the web browser where you can upload new firmware.

See, very easy!

So what now?

Now you need to customize the firmware for the device. To do so, you need to install ESPHome (the software responsible for creating the firmware) on a computer. The firmware is modified depending on the configuration YAML file and is then uploaded to the device, either via the web or via USB.

See: https://esphome.io/guides/installing_esphome

For me, on a Windows device, it was as easy as:

Running the below, having already had a Python3 install:
Code: Select all
pip3 install wheel

Code: Select all
pip3 install esphome


Now we have an esphome command (Python script) to create the correct firmware for the device. This does need a YAML file, detailing the device details and any sensors/switches you might have added. Can start with the command, in a directory where the YAML file will be saved.

Code: Select all
esphome wizard nameofyaml.yaml


And this takes you through basic setup options, then pretty easy to add sensors, and other devices as per the instructions. Once the appropriate code has been downloaded, the firmware bin has been created it then needs to be placed on your new ESPHome device. This is very easy if you can connect via USB, or can use the firmware.bin file and web page for OTA updates.

If you already have an ESPHome device or ‘works with ESPHome device,’ then as long as ESPHome API is enabled on the device, it should be able to connect to it with this plugin.

Why this Plugin?

It enables direct Indigo -> Each ESPHome device communication/connection without the need for anything else. It is a very simple and robust way of getting a huge number of sensors into the Indigo system directly. Sensor updates, or button presses are immediately communicated back to Indigo.

Other options:

The piBeacon Indigo plugin enables similar sensor support/and much more, but rPIs are hard to find, and another level of expense compared to a $5 ESP32. Alternatively, I suspect one of the HA plugins, and then duplicating ESPHome devices from HA into Indigo may also work. To me, this approach is:

1. Simpler.
Uses an ESP32, firmware avoids the cost, and overhead of RPI/SD-Card, formatting, etc. Only possible because of ESPHome, mind you!
2. Avoids the need for other systems/RPI/Computers running elsewhere and complexity of communication risk.
3. Gives us immediate communication in both directions. Other time I hope to expand the device control – lights, switches, plugs, and enable increased support for these types of ESPHome devices. (The issue being there are an infinite number)

This enables direct support for the huge number of works with ESPHome devices.

Okay... So far I haven't mentioned the Plugin... well mainly because I wrote this summary elsewhere and haven't really sorted it out as yet... But that has all changed in the last 5 hours or so...

Plugin:

Download. Install double click. We do have some dependencies., which in Indigo 2023.2+ are automatically managed. - so double click away

Essentially, nothing will happen all going well except the plugin will start.

Next create an ESPHome4Indigo Core Device (the only device option)
Name it ideally before much else...
Image

Enter the IP address of your ESPHome device, password, and port (defaults to 6053)
Press Save:

& All the Sensor devices, and all the Switch devices connected to this ESPHome device will be created in Indigo. Live updating and the ability to turn on/turn off switch devices currently.

These Sensor and Switch devices will be all grouped together in one Device Group. But they are all separate standard indigo devices and can be exported into other ecosystems (like Homekit) without problem. (via HomekitLink plugin)

If you need to recreate Devices as have some changes - delete current devices (sorry might update this aspect) and then press Recreate Devices. All Sensors and Switches (the only devices this version supports are created as a Device Group) The main Core device I have left outside of this group so you can delete and add sensors etc. more easily.
Image
Image
Image

or Repeated as a chatGPT generated advertising summary of above:
:D :D :D :D :D :D :D :D :D :D :D

"In a world where smart home automation reigns supreme, get ready for the ultimate connectivity experience! From the studio that brought you 'HomeKitLink' and 'AppleTV for Indigo,' comes a groundbreaking new adventure – 'ESPHome4Indigo'!

Prepare to be amazed as we dive into the heart of cutting-edge technology. It's a journey where ESPHome, the firmware for the powerful ESP32 microcontroller, takes center stage. Meet your guide, the $22 ESP32 device, packed with memory, Wi-Fi, and plug-and-play capabilities for an array of sensors. This ain't rocket science; it's simpler than you think!

Join us as we unveil the magic of ESPHome. Set up your ESP32, connect it via USB, and let the web interface do the rest. Customize your firmware with ESPHome, and you're off to the races. But that's just the beginning!

Now, enter the world of 'ESPHome4Indigo' – the plugin that bridges the gap between Indigo and ESPHome devices. It's a direct connection, no middlemen, no fuss. Watch in awe as your ESPHome sensors and switches seamlessly integrate with your Indigo system. Instant updates, two-way communication – it's like a dream come true.

Discover why 'ESPHome4Indigo' is the top choice. No need for costly alternatives or complex setups. This plugin is the future of home automation. But there's more! Stay tuned as we expand device control, lighting, switches, and plugs. The possibilities are endless, and you're at the forefront.

But wait, there's a twist! 'ESPHome4Indigo' is not just a plugin; it's an epic adventure waiting for you. Download, install, and embark on a journey like no other. We've got the dependencies lined up, and the plugin is ready to roll. It's a breeze, just like a blockbuster movie – sit back and watch the magic unfold.

So, don't miss out! Get ready to explore the incredible world of 'ESPHome4Indigo.' It's your ticket to a smarter, more connected home. From the studio that brought you innovation, get ready to be amazed. Your home, your rules – 'ESPHome4Indigo' is here to make it happen."

Posted on
Wed Oct 25, 2023 11:44 am
mundmc offline
User avatar
Posts: 1063
Joined: Sep 14, 2012

Re: ESPHome Indigo Plugin

Oh my god oh my god Glenn this AMAZING! Seriously, for basic sensor devices and actuator devices (that don't really need to run custom code on the device), this makes DIY homeautomation suddenly very affordable and WAY easier than learning micropython/arduino C/ VS Code and mqtt/ api calls.

Anybody even curious about this, I strongly recommend giving it a go. You can get four packs of ESP32's on Amazon for $25 USD (I use https://amzn.to/3QeqI70 for all of my projects, mainly because they are expensive and I am very familiar with the 30 pin layout).

Kudos and congrats!

Posted on
Wed Jan 24, 2024 3:10 pm
GlennNZ offline
User avatar
Posts: 1578
Joined: Dec 07, 2014
Location: Central Coast, Australia

Re: ESPHome Indigo Plugin

0.1.5

Plugin Store Release

Indigo 2023.2 Version Only. API 3.4

Move to Indigo managing all dependencies/libraries.
Limit floats to five decimal places
Space between value and units

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 1 guest