Open
Description
my inverter HMS-3K-24V, my yaml code
substitutions:
name: hms
tx_pin: GPIO16
rx_pin: GPIO17
esphome:
name: ${name}
friendly_name: hms-inverter
comment: "Monitor and control a HMS inverter"
esp32:
board: esp32dev
framework:
type: arduino
external_components:
- source: github://syssi/esphome-pipsolar@pip8048
refresh: 0s
# Enable logging
logger:
baud_rate: 0
level: DEBUG
# If you use Home Assistant please remove this `mqtt` section and uncomment the `api` component!
# The native API has many advantages over MQTT: https://esphome.io/components/api.html#advantages-over-mqtt
# mqtt:
# broker: !secret mqtt_host
# username: !secret mqtt_username
# password: !secret mqtt_password
# id: mqtt_client
# Enable Home Assistant API
api:
encryption:
key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ota:
- platform: esphome
password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 10.55.50.225
gateway: 10.55.50.1
subnet: 255.255.255.0
domain: .invismesagi.hotspot
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Hms-Esp32 Fallback Hotspot"
password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
captive_portal:
uart:
- id: uart_0
baud_rate: 2400
tx_pin: ${tx_pin}
rx_pin: ${rx_pin}
# debug:
# direction: BOTH
# dummy_receiver: false
# after:
# delimiter: "\r"
# sequence:
# - lambda: UARTDebug::log_string(direction, bytes);
pipsolar:
uart_id: uart_0
id: inverter0
sensor:
- platform: uptime
name: "Uptime"
entity_category: "diagnostic"
device_class: duration
update_interval: 60s
- platform: wifi_signal
name: "RSSI"
id: wifi_rssi
entity_category: "diagnostic"
update_interval: 60s
- platform: internal_temperature
name: "Controller Temperature"
update_interval: 10s
state_class: measurement
device_class: temperature
#-------------------------------------------
# Start Actual Sensor from UART
#-------------------------------------------
- platform: pipsolar
pipsolar_id: inverter0
# QPIRI
# grid_rating_voltage:
# name: "${name} grid_rating_voltage"
# grid_rating_current:
# name: "${name} grid_rating_current"
# ac_output_rating_voltage:
# name: "${name} ac_output_rating_voltage"
# ac_output_rating_frequency:
# name: "${name} ac_output_rating_frequency"
# ac_output_rating_current:
# name: "${name} ac_output_rating_current"
ac_output_rating_apparent_power:
name: "${name} ac_output_rating_apparent_power"
ac_output_rating_active_power:
name: "${name} ac_output_rating_active_power"
battery_rating_voltage:
name: "${name} battery_rating_voltage"
# battery_recharge_voltage:
# name: "${name} battery_recharge_voltage"
# battery_under_voltage:
# name: "${name} battery_under_voltage"
# battery_bulk_voltage:
# name: "${name} battery_bulk_voltage"
# battery_float_voltage:
# name: "${name} battery_float_voltage"
battery_type:
name: "${name} battery_type"
current_max_ac_charging_current:
name: "${name} current_max_ac_charging_current"
current_max_charging_current:
name: "${name} current_max_charging_current"
input_voltage_range:
name: "${name} input_voltage_range"
# output_source_priority:
# name: "${name} output_source_priority"
# charger_source_priority:
# name: "${name} charger_source_priority"
# parallel_max_num:
# name: "${name} parallel_max_num"
# machine_type:
# name: "${name} machine_type"
# topology:
# name: "${name} topology"
# output_mode:
# name: "${name} output_mode"
# battery_redischarge_voltage:
# name: "${name} battery_redischarge_voltage"
# pv_ok_condition_for_parallel:
# name: "${name} pv_ok_condition_for_parallel"
# pv_power_balance:
# name: "${name} pv_power_balance"
# QPIGS
grid_voltage:
name: "${name} grid_voltage"
grid_frequency:
name: "${name} grid_frequency"
ac_output_voltage:
name: "${name} ac_output_voltage"
ac_output_frequency:
name: "${name} ac_output_frequency"
ac_output_apparent_power:
name: "${name} ac_output_apparent_power"
ac_output_active_power:
name: "${name} ac_output_active_power"
output_load_percent:
name: "${name} output_load_percent"
bus_voltage:
name: "${name} bus_voltage"
battery_voltage:
name: "${name} battery_voltage"
id: battery_voltage
battery_charging_current:
name: "${name} battery_charging_current"
id: battery_charging_current
battery_capacity_percent:
name: "${name} battery_capacity_percent"
inverter_heat_sink_temperature:
name: "${name} inverter_heat_sink_temperature"
pv1_input_current:
name: "${name} pv1_input_current"
pv1_input_voltage:
name: "${name} pv1_input_voltage"
battery_voltage_scc:
name: "${name} battery_voltage_scc"
battery_discharge_current:
name: "${name} battery_discharge_current"
id: battery_discharging_current
# battery_voltage_offset_for_fans_on:
# name: "${name} battery_voltage_offset_for_fans_on"
# eeprom_version:
# name: "${name} eeprom_version"
pv1_charging_power:
name: "${name} pv1_charging_power"
text_sensor:
- platform: pipsolar
pipsolar_id: inverter0
device_mode:
name: "${name} device_mode"
filters:
map:
- P -> Power on mode
- S -> Standby mode
- L -> Line mode
- B -> Battery mode
- F -> Fault mode
- D -> Shutdown mode
# last_qpigs:
# name: "${name} last_qpigs"
# last_qpiri:
# name: "${name} last_qpiri"
# last_qmod:
# name: "${name} last_qmod"
# last_qflag:
# name: "${name} last_qflag"
binary_sensor:
- platform: pipsolar
pipsolar_id: inverter0
add_sbu_priority_version:
name: "${name} add_sbu_priority_version"
configuration_status:
name: "${name} configuration_status"
# scc_firmware_version:
# name: "${name} scc_firmware_version"
load_status:
name: "${name} load_status"
battery_voltage_to_steady_while_charging:
name: "${name} battery_voltage_to_steady_while_charging"
charging_status:
name: "${name} charging_status"
scc_charging_status:
name: "${name} scc_charging_status"
ac_charging_status:
name: "${name} ac_charging_status"
charging_to_floating_mode:
name: "${name} charging_to_floating_mode"
switch_on:
name: "${name} switch_on"
# dustproof_installed:
# name: "${name} dustproof_installed"
silence_buzzer_open_buzzer:
name: "${name} silence_buzzer_open_buzzer"
overload_bypass_function:
name: "${name} overload_bypass_function"
lcd_escape_to_default:
name: "${name} lcd_escape_to_default"
overload_restart_function:
name: "${name} overload_restart_function"
over_temperature_restart_function:
name: "${name} over_temperature_restart_function"
# backlight_on:
# name: "${name} backlight_on"
switch:
- platform: pipsolar
pipsolar_id: inverter0
output_source_priority_utility:
name: "${name} output_source_priority_utility"
output_source_priority_solar:
name: "${name} output_source_priority_solar"
output_source_priority_battery:
name: "${name} output_source_priority_battery"
#-------------------------------------------
# Input Voltage Range - 0 = Apliance, 1 = UPS
#-------------------------------------------
input_voltage_range:
name: "${name} input_voltage_range"
# pv_ok_condition_for_parallel:
# name: "${name} pv_ok_condition_for_parallel"
# pv_power_balance:
# name: "${name} pv_power_balance"
output:
- platform: pipsolar
pipsolar_id: inverter0
battery_recharge_voltage:
id: inverter0_battery_recharge_voltage_out
possible_values: [26.0, 27.0, 27.5, 28.0, 28.2, 28.4, 28.6, 28.8, 29.0, 29.2]
select:
- platform: pipsolar
pipsolar_id: inverter0
charger_source_priority:
name: "${name} charger_source_priority_select"
optionsmap:
# "Utility first": "PCP00"
"Solar first": "PCP01"
"Solar and utility": "PCP02"
"Solar charging only": "PCP03"
statusmap:
# "0": "Utility first"
"1": "Solar first"
"2": "Solar and utility"
"3": "Solar charging only"
- platform: pipsolar
pipsolar_id: inverter0
current_max_charging_current:
name: "${name} current_max_charging_current_select"
optionsmap:
# "10A": "MCHGC010"
"20A": "MCHGC020"
"30A": "MCHGC030"
"40A": "MCHGC040"
"50A": "MCHGC050"
"60A": "MCHGC060"
# "70A": "MCHGC070"
statusmap:
# "10": "10A"
"20": "20A"
"30": "30A"
"40": "40A"
"50": "50A"
"60": "60A"
# "70": "70A"
- platform: pipsolar
pipsolar_id: inverter0
current_max_ac_charging_current:
name: "${name} current_max_ac_charging_current_select"
optionsmap:
# "2A": "MUCHGC0002"
# "10A": "MUCHGC0010"
"20A": "MUCHGC0020"
"30A": "MUCHGC0030"
statusmap:
# "2": "2A"
# "10": "10A"
"20": "20A"
"30": "30A"
#-------------------------------------------
# TIME COMPONENT
#-------------------------------------------
time:
- platform: homeassistant
when changing via home assistant select input, all working without problem when i check in actual inverter,
but the problem when changing charger_source_priority to Solar charging only, always return "solar first" not "solar charging only"
Metadata
Metadata
Assignees
Labels
No labels