KONFIG EMPORIA VUE2 3fazy z fotowoltaika
unknown
yaml
a year ago
11 kB
7
Indexable
esphome: name: esphome-web-cec838 friendly_name: Emporia Vue external_components: - source: github://emporia-vue-local/esphome@dev components: - emporia_vue esp32: board: esp32dev framework: type: esp-idf version: recommended # Enable logging logger: # Enable Home Assistant API api: encryption: key: "P0bfZsQ5p6CEMD6nl4JUXweRvHJAanCURFleM/PMkm0=" # DO ZMIANY NA WŁASNY ota: password: "<secure_password>" wifi: ssid: TP_LINK # DO ZMIANY NA WŁASNY password: jt292yxr # DO ZMIANY NA WŁASNY # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esphome-Web-Cec838" password: "XosJ1wyTOQYc" preferences: # the default of 1min is far too short--flash chip is rated # for approx 100k writes. flash_write_interval: "48h" output: - platform: ledc pin: GPIO12 id: buzzer rtttl: output: buzzer on_finished_playback: - logger.log: 'Song ended!' button: - platform: template name: "Two Beeps" on_press: - rtttl.play: "two short:d=4,o=5,b=100:16e6,16e6" light: - platform: status_led name: "D3_LED" pin: 23 restore_mode: ALWAYS_ON i2c: sda: 21 scl: 22 scan: false frequency: 200kHz # recommended range is 50-200kHz id: i2c_a time: - platform: sntp 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: - &moving_avg # we capture a new sample every 0.24 seconds, so the time can # be calculated from the number of samples as n * 0.24. sliding_window_moving_average: # we average over the past 2.88 seconds window_size: 12 # we push a new value every 1.44 seconds send_every: 6 - &invert # invert and filter out any values below 0. lambda: 'return max(-x, 0.0f);' - &pos # filter out any values below 0. lambda: 'return max(x, 0.0f);' - &abs # take the absolute value of the value lambda: 'return abs(x);' sensor: - platform: emporia_vue i2c_id: i2c_a phases: - id: phase_a # Verify that this specific phase/leg is connected to correct input wire color on device listed below input: BLACK # Vue device wire color calibration: 0.0225 # 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 <in-use calibration value> * <accurate voltage> / <reporting voltage> voltage: name: "Phase A Voltage" filters: [*moving_avg, *pos] frequency: name: "Phase A Frequency" filters: [*moving_avg, *pos] - id: phase_b # Verify that this specific phase/leg is connected to correct input wire color on device listed below 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 <in-use calibration value> * <accurate voltage> / <reporting voltage> voltage: name: "Phase B Voltage" filters: [*moving_avg, *pos] phase_angle: name: "Phase B Phase Angle" filters: [*moving_avg, *pos] - id: phase_c # Verify that this specific phase/leg is connected to correct input wire color on device listed below input: BLUE # 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 <in-use calibration value> * <accurate voltage> / <reporting voltage> voltage: name: "Phase C Voltage" filters: [*moving_avg, *pos] phase_angle: name: "Phase C Phase Angle" filters: [*moving_avg, *pos] ct_clamps: - phase_id: phase_a input: "A" # Verify the CT going to this device input also matches the phase/leg power: name: "Phase A Power" id: phase_a_power device_class: power filters: [*moving_avg, *pos] - phase_id: phase_b input: "B" # Verify the CT going to this device input also matches the phase/leg power: name: "Phase B Power" id: phase_b_power device_class: power filters: [*moving_avg, *pos] - phase_id: phase_c input: "C" # Verify the CT going to this device input also matches the phase/leg power: name: "Phase C Power" id: phase_c_power device_class: power filters: [*moving_avg, *pos] - phase_id: phase_a input: "A" # Verify the CT going to this device input also matches the phase/leg power: name: "Phase A Power Return" id: phase_a_power_return device_class: power filters: [*moving_avg, *invert] - phase_id: phase_b input: "B" # Verify the CT going to this device input also matches the phase/leg power: name: "Phase B Power Return" id: phase_b_power_return device_class: power filters: [*moving_avg, *invert] - phase_id: phase_c input: "C" # Verify the CT going to this device input also matches the phase/leg power: name: "Phase C Power Return" id: phase_c_power_return device_class: power filters: [*moving_avg, *invert] # Pay close attention to set the phase_id for each breaker by matching it to the phase/leg it connects to in the panel - { phase_id: phase_a, input: "1", power: { name: "Circuit 1 Power", id: cir1, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_c, input: "2", power: { name: "Circuit 2 Power", id: cir2, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_b, input: "3", power: { name: "Circuit 3 Power", id: cir3, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_a, input: "4", power: { name: "Circuit 4 Power", id: cir4, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_b, input: "5", power: { name: "Circuit 5 Power", id: cir5, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_a, input: "6", power: { name: "Circuit 6 Power", id: cir6, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_c, input: "7", power: { name: "Circuit 7 Power", id: cir7, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_a, input: "8", power: { name: "Circuit 8 Power", id: cir8, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_a, input: "9", power: { name: "Circuit 9 Power", id: cir9, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_a, input: "10", power: { name: "Circuit 10 Power", id: cir10, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_a, input: "11", power: { name: "Circuit 11 Power", id: cir11, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_a, input: "12", power: { name: "Circuit 12 Power", id: cir12, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_a, input: "13", power: { name: "Circuit 13 Power", id: cir13, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_a, input: "14", power: { name: "Circuit 14 Power", id: cir14, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_a, input: "15", power: { name: "Circuit 15 Power", id: cir15, filters: [ *moving_avg, *pos ] } } - { phase_id: phase_a, input: "16", power: { name: "Circuit 16 Power", id: cir16, filters: [ *moving_avg, *pos ] } } - platform: template name: "Total Power" lambda: return id(phase_a_power).state + id(phase_b_power).state + id(phase_c_power).state; update_interval: 2.88s id: total_power unit_of_measurement: "W" - platform: total_daily_energy name: "Total Daily Energy" power_id: total_power accuracy_decimals: 0 - platform: template name: "Total Power Return" lambda: return id(phase_a_power_return).state + id(phase_b_power_return).state + id(phase_c_power_return).state; update_interval: 2.88s id: total_power_return unit_of_measurement: "W" - platform: total_daily_energy name: "Total Daily Energy Return" power_id: total_power_return accuracy_decimals: 0 - platform: template name: "All Circuits Power" 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: 2.88s id: balance_power unit_of_measurement: "W" - platform: total_daily_energy name: "All Circuits Energy" power_id: balance_power accuracy_decimals: 0 - { power_id: cir1, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 1 Daily Energy" } - { power_id: cir2, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 2 Daily Energy" } - { power_id: cir3, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 3 Daily Energy" } - { power_id: cir4, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 4 Daily Energy" } - { power_id: cir5, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 5 Daily Energy" } - { power_id: cir6, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 6 Daily Energy" } - { power_id: cir7, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 7 Daily Energy" } - { power_id: cir8, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 8 Daily Energy" } - { power_id: cir9, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 9 Daily Energy" } - { power_id: cir10, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 10 Daily Energy" } - { power_id: cir11, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 11 Daily Energy" } - { power_id: cir12, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 12 Daily Energy" } - { power_id: cir13, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 13 Daily Energy" } - { power_id: cir14, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 14 Daily Energy" } - { power_id: cir15, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 15 Daily Energy" } - { power_id: cir16, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 16 Daily Energy" }
Editor is loading...
Leave a Comment