esphome-pipsolar
esphome-pipsolar copied to clipboard
charger_source_priority switch
Are there any plans to add support for changing charger_source_priority value as is the case with output_source_priority_solar?
I will love to see charger_source_priority dropdown as well thanks M.
I ll love too
syssi if you, you could tell me wich files are involve, i could try to butch the files using the inverter output priority select as a template and try with my inverter. thanks. M.
But it already has is
Here's a piece of my config
But it already has is Here's a piece of my config
Im using this and esphome return error, any help?
select:
- platform: pipsolar
pipsolar_id: ${id}
charger_source_priority:
id: ${id}_charger_source_priority_select
name: $(name) Charger Source Priority Select
optionsmap:
"Solar first": "PCP01"
"Solar and utility": "PCP02"
"Solar charging only": "PCP03"
statusmap:
"1": "Solar first"
"2": "Solar and utility"
"3": "Solar charging only"
ERROR Platform not found: 'select.pipsolar'.
@hosflow I think you don't have this installed It should be a part of ESPHome by default for a while, maybe you have a very old version? Do sensors work, for example?
@hosflow I think you don't have this installed It should be a part of ESPHome by default for a while, maybe you have a very old version? Do sensors work, for example?
Everything works from pipsolar, it only stops working if you add this configuration, I don't know if I have to install another one, I'm new to esphome and what I used was a docker container that I uploaded less than 10 days ago, version 2024.2.1, I even tried run a clean build files, but it gives the error: Platform not found: 'select.pipsolar'. But if you remove that part everything works.
substitutions: id: inverter0
select:
- platform: pipsolar pipsolar_id: ${id} charger_source_priority: id: ${id}_charger_source_priority_select name: $(name) Charger Source Priority Select optionsmap: "Solar first": "PCP01" "Solar and utility": "PCP02" "Solar charging only": "PCP03" statusmap: "1": "Solar first" "2": "Solar and utility" "3": "Solar charging only"
Do you use this repo? You'll need
external_components:
- source: github://syssi/esphome-pipsolar
in your config Or specify a branch with "@" after
Do you use this repo? You'll need
external_components: - source: github://syssi/esphome-pipsolar
in your config Or specify a branch with "@" after
Could not find components folder for source. Please check the source contains a 'components' or 'esphome/components' folder.
source: github://syssi/esphome-pipsolar@main
refresh: 0s
I tried with @main and about 5 different branches and it didn't work, it gives the error above or others with options not found. I would like to take advantage of this and thank you for taking the time to try to help me. Thank you very much
@hosflow Could you provide your complete YAML? :-)
@hosflow Could you provide your complete YAML? :-)
Of course, follow below
substitutions:
name: pipsolar
tx_pin: GPIO1
rx_pin: GPIO3
id: inverter0
esphome:
name: ${name}
esp8266:
board: esp01_1m
external_components:
- source: github://syssi/esphome-pipsolar@main
refresh: 0s
logger:
baud_rate: 0
level: INFO
api:
encryption:
key: "PInurfsFYyPLd3S4Ek2/vKdMvfjeWr/4coB2h5GD7Dc="
ota:
password: "8f2c8da7ac6d03005c844371073dd7dc"
wifi:
networks:
- ssid: !secret wifi_ssid
password: !secret wifi_password
- ssid: LIVE TIM_5201_2G
password: dazegT53
power_save_mode: none
manual_ip:
static_ip: 192.168.177.121
gateway: 192.168.177.1
subnet: 255.255.255.0
ap:
ssid: "${name} Hotspot"
password: "U1SFCinhg9jy"
# Warning:
#
# If you configure a lot of the possible sensors etc. it could be that you run
# out of memory (on esp8266). If you configure nearly all sensors etc. you run
# in a stack-size issue. In this case you have to increase stack size!
#
# https://github.com/esphome/issues/issues/855
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: 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"
battery_charging_current:
name: "${name} battery_charging_current"
battery_capacity_percent:
name: "${name} battery_capacity_percent"
inverter_heat_sink_temperature:
name: "${name} inverter_heat_sink_temperature"
pv_input_current_for_battery:
name: "${name} pv_input_current_for_battery"
pv_input_voltage:
name: "${name} pv_input_voltage"
battery_voltage_scc:
name: "${name} battery_voltage_scc"
battery_discharge_current:
name: "${name} battery_discharge_current"
battery_voltage_offset_for_fans_on:
name: "${name} battery_voltage_offset_for_fans_on"
# eeprom_version:
# name: "${name} eeprom_version"
pv_charging_power:
name: "${name} pv_charging_power"
text_sensor:
- platform: pipsolar
pipsolar_id: inverter0
device_mode:
name: "${name} device_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:
# 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
select:
- platform: pipsolar
pipsolar_id: ${id}
charger_source_priority:
id: ${id}_charger_source_priority_select
name: $(name) Charger Source Priority Select
optionsmap:
"Solar first": "PCP01"
"Solar and utility": "PCP02"
"Solar charging only": "PCP03"
statusmap:
"1": "Solar first"
"2": "Solar and utility"
"3": "Solar charging only"
# select:
# - platform: pipsolar
# pipsolar_id: ${id}
# output_source_priority:
# id: ${id}_output_source_priority_select
# name: ${name} Output Source Priority Select
# optionsmap:
# "Utility first": "POP00"
# "Solar only": "POP01"
# "Solar Battery Utility": "POP02"
# statusmap:
# "0": "Utility first"
# "1": "Solar only"
# "2": "Solar Battery Utility"
I've changed the branch to pip8084
and made some minor changes because of the updated code base. Please give it a try:
substitutions:
name: pipsolar
tx_pin: GPIO1
rx_pin: GPIO3
id: inverter0
esphome:
name: ${name}
esp8266:
board: esp01_1m
external_components:
- source: github://syssi/esphome-pipsolar@pip8048
refresh: 0s
logger:
baud_rate: 0
level: INFO
api:
encryption:
key: "PInurfsFYyPLd3S4Ek2/vKdMvfjeWr/4coB2h5GD7Dc="
ota:
password: "8f2c8da7ac6d03005c844371073dd7dc"
wifi:
networks:
- ssid: !secret wifi_ssid
password: !secret wifi_password
- ssid: LIVE TIM_5201_2G
password: dazegT53
power_save_mode: none
manual_ip:
static_ip: 192.168.177.121
gateway: 192.168.177.1
subnet: 255.255.255.0
ap:
ssid: "${name} Hotspot"
password: "U1SFCinhg9jy"
# Warning:
#
# If you configure a lot of the possible sensors etc. it could be that you run
# out of memory (on esp8266). If you configure nearly all sensors etc. you run
# in a stack-size issue. In this case you have to increase stack size!
#
# https://github.com/esphome/issues/issues/855
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: 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"
battery_charging_current:
name: "${name} 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"
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"
# 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:
# 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
select:
- platform: pipsolar
pipsolar_id: ${id}
charger_source_priority:
id: ${id}_charger_source_priority_select
name: $(name) Charger Source Priority Select
optionsmap:
"Solar first": "PCP01"
"Solar and utility": "PCP02"
"Solar charging only": "PCP03"
statusmap:
"1": "Solar first"
"2": "Solar and utility"
"3": "Solar charging only"
# select:
# - platform: pipsolar
# pipsolar_id: ${id}
# output_source_priority:
# id: ${id}_output_source_priority_select
# name: ${name} Output Source Priority Select
# optionsmap:
# "Utility first": "POP00"
# "Solar only": "POP01"
# "Solar Battery Utility": "POP02"
# statusmap:
# "0": "Utility first"
# "1": "Solar only"
# "2": "Solar Battery Utility"
I've changed the branch to
pip8084
and made some minor changes because of the updated code base. Please give it a try:
Many thanks, all working now, more one question if i want do set current_max_ac_charging_current i can create similar bellow? Or all options is always mapped to 1,2,3... list?
select:
- platform: pipsolar
pipsolar_id: ${id}
current_max_ac_charging_current:
id: ${id}_current_max_ac_charging_current
name: $(name) Charging AC max current
optionsmap:
"10A": "10"
"20A": "20"
"30A": "30"
statusmap:
"10": "10A"
"20": "20A"
"30": "20A"
@hosflow Could you create a new issue? Your new question is off-topic.
Im trying use:
`external_components:
- source: github://syssi/esphome-pipsolar@pip8048 refresh: 0s`
But at compiling i got error:
`INFO ESPHome 2024.3.0 INFO Reading configuration /config/test2.yaml... INFO Updating https://github.com/syssi/esphome-pipsolar.git@pip8048 WARNING GPIO2 is a strapping PIN and should only be used for I/O with care. Attaching external pullup/down resistors to strapping pins can cause unexpected failures. See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins INFO Detected timezone 'Europe/Warsaw' INFO Generating C++ source... INFO Compiling app... Processing test (board: esp32dev; framework: arduino; platform: platformio/[email protected])
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
- toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5 Dependency Graph |-- AsyncTCP-esphome @ 2.1.3 |-- WiFi @ 2.0.0 |-- FS @ 2.0.0 |-- Update @ 2.0.0 |-- ESPAsyncWebServer-esphome @ 3.1.0 |-- DNSServer @ 2.0.0 |-- ESPmDNS @ 2.0.0 |-- noise-c @ 0.1.4 |-- ArduinoJson @ 6.18.5 Compiling .pioenvs/test/src/esphome/components/pipsolar/pipsolar.cpp.o Compiling .pioenvs/test/src/esphome/components/pipsolar/text_sensor/pipsolar_textsensor.cpp.o Compiling .pioenvs/test/src/esphome/components/select/select_call.cpp.o Compiling .pioenvs/test/src/esphome/components/sensor/automation.cpp.o In file included from src/esphome/components/pipsolar/pipsolar.cpp:1: src/esphome/components/pipsolar/pipsolar.h:7:10: fatal error: esphome/components/pipsolar/select/pipsolar_select.h: No such file or directory #include "esphome/components/pipsolar/select/pipsolar_select.h" ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. *** [.pioenvs/test/src/esphome/components/pipsolar/pipsolar.cpp.o] Error 1 In file included from src/esphome/components/pipsolar/text_sensor/pipsolar_textsensor.h:3, from src/esphome/components/pipsolar/text_sensor/pipsolar_textsensor.cpp:1: src/esphome/components/pipsolar/text_sensor/../pipsolar.h:7:10: fatal error: esphome/components/pipsolar/select/pipsolar_select.h: No such file or directory #include "esphome/components/pipsolar/select/pipsolar_select.h" ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. *** [.pioenvs/test/src/esphome/components/pipsolar/text_sensor/pipsolar_textsensor.cpp.o] Error 1 ========================== [FAILED] Took 3.51 seconds ==========================`
....
just a bit of help, to have the syntax validated on the esphome dashboard, you shall tell which external component you retrieve on github apparently otherwise the editor will throw a lot of errors that are not real. @syssi : i noticed that only the 8048 branch has a folder components/pipsolar. is the 8048 intended to be the future main branch ?
external_components:
- source: github://syssi/esphome-pipsolar@pip8048 components : pipsolar
thanks for this useful component.