Replies: 1 comment
-
When this question went live, I see the formatting clearly is off. Let me try looking at that. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have successfully set-up and deployed my first emporia vue using the documentation that was excellent. I am now working to set-up my second emporia because I have 2 separate 200amp panels. I am getting errors with my YAML that I can't figure out since it looks basically the same as my YAML from the 1st Vue I installed.
above is the error output and below is my YAML. I am new to ESPHome and Home Assistant, but I am making progress and appreciate the community support. Apologies for anything I am doing wrong and happy to buy coffee for those that help me solve my problems. Based on the output above, it is a problem w/ line 5, but "googling" hasn't helped me resolve this yet. Thanks!
esphome:
name: emporiavue2
friendly_name: vue2
external_components:
components:
esp32:
board: esp32dev
framework:
type: esp-idf
version: recommended
Enable Home Assistant API
api:
encryption:
# Encryption key is generated by the new device wizard.
key: "
services:
- service: play_rtttl
variables:
song_str: string
then:
- rtttl.play:
rtttl: !lambda 'return song_str;'
ota:
Create a secure password for pushing OTA updates.
password: "<secure_password>"
Enable logging
logger:
logs:
# by default, every reading will be printed to the UART, which is very slow
# This will disable printing the readings but keep other helpful messages
sensor: INFO
wifi:
Wifi credentials are stored securely by new device wizard.
ssid: !secret wifi_ssid
password: !secret wifi_password
preferences:
please also make sure
restore: false
is set on allplatform: total_daily_energy
sensors below.
flash_write_interval: "48h"
output:
pin: GPIO12
id: buzzer
pin: GPIO27
id: buzzer_gnd
rtttl:
output: buzzer
on_finished_playback:
- logger.log: 'Song ended!'
button:
name: "Two Beeps"
on_press:
light:
name: "D3_LED"
pin: 23
restore_mode: ALWAYS_ON
entity_category: config
i2c:
sda: 21
scl: 22
scan: false
frequency: 200kHz # recommended range is 50-200kHz
id: i2c_a
time:
id: my_time
these are called references in YAML. They allow you to reuse
this configuration in each sensor, while only defining it once
.defaultfilters:
average all raw readings together over a 5 second span before publishing
throttle_average: 5sonly send the most recent measurement every 60 seconds
throttle: 60sinvert and filter out any values below 0.
lambda: 'return max(-x, 0.0f);'filter out any values below 0.
lambda: 'return max(x, 0.0f);'take the absolute value of the value
lambda: 'return abs(x);'sensor:
i2c_id: i2c_a
phases:
input: BLACK # Vue device wire color
calibration: 0.022 # 0.022 is used as the default as starting point but may need adjusted to ensure accuracy
To calculate new calibration value use the formula * /
voltage:name: "Phase A Voltage"
filters: [*throttle_avg, *pos]
frequency:
name: "Phase A Frequency"
filters: [*throttle_avg, *pos]
input: RED # Vue device wire color
calibration: 0.022 # 0.022 is used as the default as starting point but may need adjusted to ensure accuracy
To calculate new calibration value use the formula * /
voltage:name: "Phase B Voltage"
filters: [*throttle_avg, *pos]
phase_angle:
name: "Phase B Phase Angle"
filters: [*throttle_avg, *pos]
ct_clamps:
Do not specify a name for any of the power sensors here, only an id. This leaves the power sensors internal to ESPHome.
Copy sensors will filter and then send power measurements to HA
These non-throttled power sensors are used for accurately calculating energy
input: "A" # Verify the CT going to this device input also matches the phase/leg
power:
id: phase_a_power
filters: [*pos]
input: "B" # Verify the CT going to this device input also matches the phase/leg
power:
id: phase_b_power
filters: [*pos]
Pay close attention to set the phase_id for each breaker by matching it to the phase/leg it connects to in the panel
on_update:
then:
The copy sensors filter and send the power state to HA
lambda: return id(phase_a_power).state + id(phase_b_power).state;
update_interval: never # will be updated after all power sensors update via on_update trigger
id: total_power
device_class: power
state_class: measurement
unit_of_measurement: "W"
name: "Total Daily Energy"
power_id: total_power
accuracy_decimals: 0
restore: false
filters: *throttle_time
lambda: !lambda |-
return max(0.0f, id(total_power).state -
id( cir1).state -
id( cir2).state -
id( cir3).state -
id( cir4).state -
id( cir5).state -
id( cir6).state -
id( cir7).state -
id( cir8).state -
id( cir9).state -
id(cir10).state -
id(cir11).state -
id(cir12).state -
id(cir13).state -
id(cir14).state -
id(cir15).state -
id(cir16).state);
update_interval: never # will be updated after all power sensors update via on_update trigger
id: balance_power
device_class: power
state_class: measurement
unit_of_measurement: "W"
name: "Balance Daily Energy"
power_id: balance_power
accuracy_decimals: 0
restore: false
filters: *throttle_time
Beta Was this translation helpful? Give feedback.
All reactions