Victron-Blue.yaml hinzugefügt
This commit is contained in:
@@ -0,0 +1,268 @@
|
||||
substitutions:
|
||||
external_components_source: github://KinDR007/VictronMPPT-ESPHOME@main
|
||||
lower_devicename: "victron-blue"
|
||||
devicename: "BlueSolar_75_10"
|
||||
config_version: "v2023.12.30"
|
||||
wifi_fast_connect: "false"
|
||||
accuracy: "2"
|
||||
|
||||
esphome:
|
||||
name: "${lower_devicename}"
|
||||
# platform: ESP8266
|
||||
esp8266:
|
||||
board: d1_mini
|
||||
# board: nodemcuv2
|
||||
|
||||
external_components:
|
||||
- source: ${external_components_source}
|
||||
refresh: 0s
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
power_save_mode: none
|
||||
fast_connect: $wifi_fast_connect
|
||||
|
||||
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
||||
ap:
|
||||
ssid: "${devicename} Hotspot"
|
||||
password: Andra1977
|
||||
|
||||
captive_portal:
|
||||
logger:
|
||||
baud_rate: 0
|
||||
# level: VERY_VERBOSE
|
||||
esp8266_store_log_strings_in_flash: false
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
encryption:
|
||||
key: "ck+V6y6vOpR9ty6rMXshGFb4L/15rPM+P34D6yBbV/s="
|
||||
#reboot_timeout: 0s
|
||||
|
||||
ota:
|
||||
- platform: esphome
|
||||
password: "0dd572e476ee28d45e11707f63b4c8a3"
|
||||
|
||||
web_server:
|
||||
port: 80
|
||||
|
||||
time:
|
||||
- platform: homeassistant
|
||||
|
||||
uart:
|
||||
id: uart_bus
|
||||
tx_pin: D8 # Not connected! The communication is read-only
|
||||
rx_pin: D7 # Connect this this GPIO and GND to the MPPT charger
|
||||
baud_rate: 19200
|
||||
stop_bits: 1
|
||||
data_bits: 8
|
||||
parity: NONE
|
||||
rx_buffer_size: 256
|
||||
|
||||
victron:
|
||||
id: victron0
|
||||
uart_id: uart_bus
|
||||
throttle: 10s
|
||||
|
||||
sensor:
|
||||
- platform: victron
|
||||
victron_id: victron0
|
||||
panel_voltage:
|
||||
name: "Panel voltage"
|
||||
id: pv
|
||||
battery_voltage:
|
||||
name: "Battery voltage"
|
||||
id: bv
|
||||
# battery_current:
|
||||
# name: "Battery current"
|
||||
# id: bc
|
||||
load_current:
|
||||
name: "Load current"
|
||||
id: load_current
|
||||
max_power_yesterday:
|
||||
name: "Max power yesterday"
|
||||
id: max_power_yesterday
|
||||
max_power_today:
|
||||
name: "Max power today"
|
||||
id: max_power_today
|
||||
accuracy_decimals: ${accuracy}
|
||||
# yield_total:
|
||||
# name: "Yield total"
|
||||
# id: yield_total
|
||||
# filters:
|
||||
# # Multiplication factor from W to kW is 0.001
|
||||
# - multiply: 0.001
|
||||
# unit_of_measurement: kWh
|
||||
# accuracy_decimals: ${accuracy}
|
||||
# yield_yesterday:
|
||||
# name: "Yield yesterday"
|
||||
# id: yield_yesterday
|
||||
# filters:
|
||||
# # Multiplication factor from W to kW is 0.001
|
||||
# - multiply: 0.001
|
||||
# unit_of_measurement: kWh
|
||||
# accuracy_decimals: ${accuracy}
|
||||
yield_today:
|
||||
name: "Yield today"
|
||||
id: yt
|
||||
filters:
|
||||
# Multiplication factor from W to kW is 0.001
|
||||
- multiply: 0.001
|
||||
unit_of_measurement: kWh
|
||||
accuracy_decimals: ${accuracy}
|
||||
panel_power:
|
||||
name: "Panel power"
|
||||
id: panel_power
|
||||
# day_number:
|
||||
# name: "Day sequence number"
|
||||
# id: day_number
|
||||
# icon: "mdi:calendar-today"
|
||||
# charging_mode_id:
|
||||
# name: "Charger mode id"
|
||||
error_code:
|
||||
name: "Error code"
|
||||
tracking_mode_id:
|
||||
name: "Tracker mode id"
|
||||
|
||||
# - platform: wifi_signal
|
||||
# name: "${devicename} WiFi Signal Sensor"
|
||||
# id: rssi_sensor
|
||||
# update_interval: 15s
|
||||
|
||||
# - platform: template
|
||||
# name: "Wifi Quality"
|
||||
# unit_of_measurement: "%"
|
||||
# accuracy_decimals: 0
|
||||
# icon: "mdi:wifi"
|
||||
# update_interval: 15s
|
||||
# lambda: |-
|
||||
# int quality;
|
||||
# const int rssi = id(rssi_sensor).state;
|
||||
# if (rssi <= -100) {
|
||||
# quality = 0;
|
||||
# } else if (rssi >= -50) {
|
||||
# quality = 100;
|
||||
# } else {
|
||||
# quality = 2 * (rssi + 100);
|
||||
# }
|
||||
# return quality;
|
||||
|
||||
- platform: uptime
|
||||
name: "${devicename} Uptime"
|
||||
id: uptime_s
|
||||
update_interval: 5s
|
||||
|
||||
# - platform: template # for 1 cell of battery
|
||||
# name: "Bat S1 " # 6S pack
|
||||
# lambda: |-
|
||||
# if ((((id(bv).state) / 6) > 4.22) && (((id(bv).state) / 6) < 3.0)) {
|
||||
# return NAN;
|
||||
# }
|
||||
# return ((id(bv).state) / 6);
|
||||
|
||||
# update_interval: 10s
|
||||
# icon: "mdi:battery"
|
||||
# unit_of_measurement: V
|
||||
# device_class: "voltage"
|
||||
# accuracy_decimals: ${accuracy}
|
||||
# - platform: template # Battery working percent
|
||||
# name: "Bat working percent" # cycle batt between 3,0v - 4.01v
|
||||
# lambda: |-
|
||||
# if (((((((((id(bv).state) / 7 )) - 3.142) / (4.01142 - 3.142)) * 100)) >= 115) && ((((((((id(bv).state) / 7 )) - 3.142) / (4.01142 - 3.142)) * 100)) <= -25)) {
|
||||
# return NAN;
|
||||
# }
|
||||
# return ((((((id(bv).state) / 7 )) - 3.142) / (4.01142 - 3.142) ) * 100);
|
||||
|
||||
# update_interval: 15s
|
||||
# icon: "mdi:battery"
|
||||
# unit_of_measurement: "%"
|
||||
# device_class: "voltage"
|
||||
# accuracy_decimals: ${accuracy}
|
||||
|
||||
# - platform: template # FVE percent
|
||||
# name: "FVE percent" # 500Wp max power of my FVE grid
|
||||
# lambda: |-
|
||||
# if (((((id(panel_power).state) / 500) * 100) >= 120) && ((((id(panel_power).state) / 500) * 100) < 0)) {
|
||||
# return NAN;
|
||||
# }
|
||||
# return (((id(panel_power).state) / 500) * 100);
|
||||
# icon: "mdi:gauge"
|
||||
# unit_of_measurement: "%"
|
||||
# device_class: "power"
|
||||
# accuracy_decimals: ${accuracy}
|
||||
# update_interval: 15s
|
||||
|
||||
# - platform: template # median generated day energy
|
||||
# name: "Day median generated " # 500Wp max power of my FVE grid
|
||||
# lambda: |-
|
||||
# return (id(yield_total).state) / (id(day_number).state);
|
||||
# update_interval: 15s
|
||||
# icon: "mdi:gauge"
|
||||
# unit_of_measurement: "kWh"
|
||||
# device_class: "power"
|
||||
# accuracy_decimals: 3
|
||||
|
||||
text_sensor:
|
||||
- platform: victron
|
||||
victron_id: victron0
|
||||
charging_mode:
|
||||
name: "Charging Mode"
|
||||
error:
|
||||
name: "Error"
|
||||
tracking_mode:
|
||||
name: "Tracking Mode"
|
||||
firmware_version:
|
||||
name: "Firmware Version"
|
||||
device_type:
|
||||
name: "Device Type"
|
||||
|
||||
# - platform: template
|
||||
# name: "${devicename} Config Version"
|
||||
# icon: mdi:information-outline
|
||||
# lambda: |-
|
||||
# return {"${config_version}"};
|
||||
# - platform: version
|
||||
# name: "${devicename} Esphome Version"
|
||||
# icon: mdi:information-outline
|
||||
# - platform: wifi_info
|
||||
# ip_address:
|
||||
# name: "${devicename} IP Address"
|
||||
# icon: mdi:ip
|
||||
# ssid:
|
||||
# name: "${devicename} Connected SSID"
|
||||
# icon: mdi:wifi
|
||||
# bssid:
|
||||
# name: "${devicename} Connected BSSID"
|
||||
# mac_address:
|
||||
# name: "${devicename} Mac Wifi Address"
|
||||
- platform: template
|
||||
name: "${devicename} Uptime (formatted)"
|
||||
lambda: |-
|
||||
uint32_t dur = id(uptime_s).state;
|
||||
int dys = 0;
|
||||
int hrs = 0;
|
||||
int mnts = 0;
|
||||
if (dur > 86399) {
|
||||
dys = trunc(dur / 86400);
|
||||
dur = dur - (dys * 86400);
|
||||
}
|
||||
if (dur > 3599) {
|
||||
hrs = trunc(dur / 3600);
|
||||
dur = dur - (hrs * 3600);
|
||||
}
|
||||
if (dur > 59) {
|
||||
mnts = trunc(dur / 60);
|
||||
dur = dur - (mnts * 60);
|
||||
}
|
||||
char buffer[17];
|
||||
sprintf(buffer, "%ud %02uh %02um %02us", dys, hrs, mnts, dur);
|
||||
return {buffer};
|
||||
icon: mdi:clock-start
|
||||
update_interval: 5s
|
||||
|
||||
switch:
|
||||
- platform: restart
|
||||
icon: mdi:reload-alert
|
||||
name: "${devicename} Restart"
|
||||
|
||||
Reference in New Issue
Block a user