Minor edits & change the "better" yaml to "simple" with more comments.

This commit is contained in:
Victor Chang
2025-09-02 00:09:51 -07:00
parent 4119104259
commit 0ec0d49b83
5 changed files with 42 additions and 35 deletions

View File

@@ -101,7 +101,9 @@ See the [Backup original firmware](docs/backup_firmware.md) section.
### 5. Create a YAML configuration
Pick one of the [example YAML files](example_yaml/) in this project as a starting point. You will need to customize it.
Pick one of the [example YAML files](example_yaml/) in this project as a starting point. The simplest one is `vue-utility-simple.yaml`, but if you want to send fewer datapoints to Home Assistant, then choose one of the `throttled` files.
In any case, you will need to customize it.
1. for ESPHome CLI, you will do this in a text file on your computer.
2. for ESPHome Device Builder, you will do within the Device Builder editor in Home Assistant UI.
@@ -142,10 +144,10 @@ You would do **ONE** of these steps depending on which [ESPHome Install method](
#### A) For ESPHome CLI:
You **do not need** to clone this git repo. Even though this project has custom code in it (Python and C++), ESPHome will download the latest custom code from this project automatically from GitHub as part of the compilation step. Assuming you called this file `vue-utility-solar.yaml` from the previous step, you would run:
You **do not need** to clone this git repo. Even though this project has custom code in it (Python and C++), ESPHome will download the latest custom code from this project automatically from GitHub as part of the compilation step. Assuming you called this file `vue-utility-simple.yaml` from the previous step, you would run:
```
esphome run vue-utility-solar.yaml
esphome run vue-utility-simple.yaml
```
This should build the firmware and flash the device all on the command line.
@@ -153,15 +155,15 @@ This should build the firmware and flash the device all on the command line.
**-- OR --**
#### B) For ESPHome Device Builder:
- go to the [ESPHome Device Builder Add-on](https://esphome.io/guides/getting_started_hassio/)
- click `Open web UI`
- follow the UI to create a device.
- paste the YAML code into the editor and customize it as above
- click `Install`
- Go to the [ESPHome Device Builder Add-on](https://esphome.io/guides/getting_started_hassio/).
- Click `Open web UI`.
- Follow the UI to create a device.
- Paste the YAML code into the editor and customize it as above.
- Click `Install`.
This should build the firmware and flash the device all within the web browser:
- ESPHome uses WebSerial (a browser API supported in Chrome/Edge). ESPHome compiles the firmware on your HA server, streams it over WebSerial and flashes the Vue on your computer.
- To be clear: if Home Assistant is running on a Raspberry PI in a closet, you will have the USB to TTL Adapter connected to your computer, not the raspberry PI.
- To be clear: if Home Assistant is running on a Raspberry Pi in a closet, you will have the USB to TTL Adapter connected to your computer, not the Raspberry Pi.
----

View File

@@ -13,8 +13,8 @@ ESPHome is a **framework and toolchain** for creating custom firmware. This usua
So when you hear someone say "a device running ESPHome", what they really mean is "a device running firmware built with ESPHome".
There are multiple ways to do this and much of the documentation out there is difficult for new comers. This document walks you through:
- the high level of ESPHome
- the two of the ways to use ESPHome to build and flash the firmware for this project
- The high level of ESPHome.
- The two of the ways to use ESPHome to build and flash the firmware for this project.
## Overview
@@ -41,22 +41,22 @@ There is an overwhelming amount of documentation on writing a YAML file. You do
#### 1. ESPHome CLI --- [install guide](https://esphome.io/guides/installing_esphome/)
This gives you a CLI (command-line interface) to run ESPHome. You run this in the terminal of your computer: Windows, Mac or Linux. It is completely separate from Home Assistant. It does not run with or on Home Assistant, and does not talk to it in any way.
- you simply run: `esphome run <yaml_file>`
- runs on your own computer (Python or Docker).
- better for developers: quick iteration, local editing of YAML/Python/C++.
- flexible: you can use local custom code without publishing to GitHub.
- full control over build logs, debugging, and advanced options.
- you **can** backup the original firmware with this.
- You simply run: `esphome run <yaml_file>`
- Runs on your own computer (Python or Docker).
- Better for developers: quick iteration, local editing of YAML/Python/C++.
- Flexible: you can use local custom code without publishing to GitHub.
- Full control over build logs, debugging, and advanced options.
- You **can** backup the original firmware with this.
#### 2. ESPHome Device Builder --- [install guide](https://esphome.io/guides/getting_started_hassio/#installing-esphome-device-builder)
This is a Home Assistant add-on. It is basically a UI wrapper for the ESPHome CLI, and runs on the Home Assistant server. You use the Home Assitant web interface to access it.
- you use an in-browser editor to paste YAML code
- runs inside Home Assistant (web UI).
- better for end users: simpler UI.
- initial flashing still happens on your PC. It works using WebSerial (via a browser).
- you **cannot** use this to backup the original firmware.
- You use an in-browser editor to paste YAML code
- Runs inside Home Assistant (web UI).
- Better for end users: simpler UI.
- Initial flashing still happens on your PC. It works using WebSerial (via a browser).
- You **cannot** use this to backup the original firmware.
### What is best for you?

View File

@@ -1,10 +1,6 @@
esphome:
name: emporia-vue-utility
devices:
- id: smart_meter_reader
name: "Meter"
esp32:
board: esp-wrover-kit
framework:
@@ -22,12 +18,12 @@ logger:
# Encryption secures it. Any password will work. See FAQ.
api:
encryption:
key: "blah"
key: "some_password"
# Secures OTA Updates. Any password will work. See FAQ.
ota:
platform: esphome
password: "blah"
password: "some_password"
wifi:
ssid: !secret wifi_ssid
@@ -38,8 +34,8 @@ web_server:
port: 80
# Optionally define a username + password
# auth:
# username: 'glen'
# password: 'vue_password'
# username: 'some_username'
# password: 'your_password'
# This uart connects to the MGM111
uart:
@@ -51,20 +47,29 @@ uart:
sensor:
- platform: emporia_vue_utility
uart_id: emporia_uart
# Enables verbose logging.
debug: true
update_interval: 15s
# The default update interval is 30s, but you can experiment with how frequent your smart meter
# supports providing an updated value.
# update_interval: 15s
# Below is a reasonable setup for someone with solar/batteries, but if you do not have that
# then you can remove the `energy_export` sensor and keep either `energy` or `energy_import`.
# All of the sensors are optional, so keep the ones you are interested in.
power:
name: "Watts"
device_id: smart_meter_reader
# power_export:
# name: "Watts Returned"
# power_import:
# name: "Watts Consumed"
energy:
name: "Wh Net"
device_id: smart_meter_reader
energy_export:
name: "Wh Returned"
device_id: smart_meter_reader
energy_import:
name: "Wh Consumed"
device_id: smart_meter_reader
# This LED is marked D3 on the pcb and is the power led on the case
status_led: