syssi / esphome-pipsolar

ESPHome component to monitor and control a pipsolar inverter via RS232
Apache License 2.0
105 stars 43 forks source link

Add battery bulk voltage setting (`PCVV`) support #38

Closed brunopiras closed 1 year ago

brunopiras commented 2 years ago

Hello there,

there's a chance to add more option in output and modify default values for the others?

example:

the float voltage (battery_float_voltage) the possible_values (Optional, list): : 48.0,49.0,50.0,51.

float voltage for agm battery it is 54.0 and other value higher than 54.6

Fault also bulk voltage..

Thanks

(inverter like mppsolar, voltronic and others clone 48V)

syssi commented 2 years ago

You can override/extend the defaults at the YAML.

syssi commented 2 years ago

If you want to provide better defaults to the community feel free to prepare a pull request but keep in mind most of the settings are device/battery specific.

brunopiras commented 2 years ago

You can override/extend the defaults at the YAML.

Hello,

no, you can't, I mean, you can put different values, compile and flash, but if you try to send in the logger you read that the value it's not allowed.

Thanks for your time.

syssi commented 2 years ago

Are you sure? Could you provide your YAML? I'm pretty sure it's working.

brunopiras commented 2 years ago

OMG..

You are right, float voltage can be override in yaml, I'm pretty sure this morning fail.., I've compiled and flash and seem overriding, how to put bulk voltage too, I'm sure bulk voltage it's not allowed..

syssi commented 2 years ago

Which command/setting do you mean in detail? The bulk voltage is a sensor value and no setting in my opinion. All output voltages f.e. the charge voltage can be overridden/extended.

brunopiras commented 2 years ago

Bulk and float voltage are the most important values, you can set only if the battery type is set to user.

Tomorrow I'll post the serial commands to set both, I mean bulk (cv constant voltage).

Thanks

syssi commented 2 years ago

It looks like you are right. The implementation of the PCVV command is missing.

syssi commented 2 years ago
output:
  - platform: pipsolar
    pipsolar_id: pip8048 
    battery_bulk_voltage:
      id: pvbrain_axpert_battery_bulk_voltage_set
      possible_values: [52.0,52.1,52.2,52.3,52.4,52.5,52.6,52.7,52.8,52.9,53.0,53.1,53.2,53.3,53.4,53.5,53.6,53.7,53.8,53.9,54.0,54.1,54.2,54.3,54.4,54.5,54.6,54.7,54.8,54.9,55.0,55.1,55.2,55.3,55.4,55.5,55.6,55.7,55.8,55.9,56.0,56.1,56.2,56.3,56.4,56.5,56.6,56.7,56.8,56.9,57.0,57.1,57.2,57.3,57.4,57.5,57.6,57.7,57.8,57.9,58.0,58.1,58.2,58.3,58.4,58.5,58.6,58.7,58.8,58.9]
brunopiras commented 2 years ago

output:

  • platform: pipsolar pipsolar_id: pip8048 battery_bulk_voltage: id: pvbrain_axpert_battery_bulk_voltage_set possible_values: [52.0,52.1,52.2,52.3,52.4,52.5,52.6,52.7,52.8,52.9,53.0,53.1,53.2,53.3,53.4,53.5,53.6,53.7,53.8,53.9,54.0,54.1,54.2,54.3,54.4,54.5,54.6,54.7,54.8,54.9,55.0,55.1,55.2,55.3,55.4,55.5,55.6,55.7,55.8,55.9,56.0,56.1,56.2,56.3,56.4,56.5,56.6,56.7,56.8,56.9,57.0,57.1,57.2,57.3,57.4,57.5,57.6,57.7,57.8,57.9,58.0,58.1,58.2,58.3,58.4,58.5,58.6,58.7,58.8,58.9]

Awesome, but in 2022.11.03 it is not available ?

Thanks

syssi commented 2 years ago

The feature is available at this feature branch only: https://github.com/syssi/esphome-pipsolar/pull/10

external_components:
  - source: github://syssi/esphome-pipsolar@pip8048
    refresh: 0s
valeriotaccardo commented 2 years ago

The feature is available at this feature branch only: #10

external_components:
  - source: github://syssi/esphome-pipsolar@pip8048
    refresh: 0s

Can it be integrated into github://syssi/esphome-pipsolar@2424mse1

Thanks

brunopiras commented 2 years ago

thank but I'm not using external library, using pi-solar officials, I think there's not solutions, try to compile but I see many errors..

In file included from src/esphome/components/pipsolar/output/pipsolar_output.h:3:0,
                 from src/esphome/components/pipsolar/output/pipsolar_output.cpp:1:
src/esphome/components/pipsolar/output/../pipsolar.h:7:64: fatal error: esphome/components/pipsolar/select/pipsolar_select.h: No such file or directory
compilation terminated.
*** [.pioenvs/mpgenius2/src/esphome/components/pipsolar/output/pipsolar_output.cpp.o] Error 1
In file included from src/esphome/components/pipsolar/pipsolar.cpp:1:0:
src/esphome/components/pipsolar/pipsolar.h:7:64: fatal error: esphome/components/pipsolar/select/pipsolar_select.h: No such file or directory
compilation terminated.
In file included from src/esphome/components/pipsolar/switch/pipsolar_switch.h:3:0,
                 from src/esphome/components/pipsolar/switch/pipsolar_switch.cpp:1:
src/esphome/components/pipsolar/switch/../pipsolar.h:7:64: fatal error: esphome/components/pipsolar/select/pipsolar_select.h: No such file or directory
compilation terminated.
*** [.pioenvs/mpgenius2/src/esphome/components/pipsolar/pipsolar.cpp.o] Error 1
*** [.pioenvs/mpgenius2/src/esphome/components/pipsolar/switch/pipsolar_switch.cpp.o] Error 1
In file included from src/esphome/components/pipsolar/text_sensor/pipsolar_textsensor.h:3:0,
                 from src/esphome/components/pipsolar/text_sensor/pipsolar_textsensor.cpp:1:
src/esphome/components/pipsolar/text_sensor/../pipsolar.h:7:64: fatal error: esphome/components/pipsolar/select/pipsolar_select.h: No such file or directory
compilation terminated.
*** [.pioenvs/mpgenius2/src/esphome/components/pipsolar/text_sensor/pipsolar_textsensor.cpp.o] Error 1
`

this is my yaml:

`
substitutions:
  name: mpgenius2
esphome:
  name: ${name}
  platform: ESP32
  board: esp32dev
logger:
external_components:
  - source: github://syssi/esphome-pipsolar@pip8048
    refresh: 0s

api:

ota:
  password: !secret ota_pw

web_server:
  port: 80

wifi:
  ssid: !secret ssid
  password: !secret wifi_pw
  manual_ip:
    static_ip: 192.168.1.140
    gateway: 192.168.1.1
    subnet: 255.255.255.0

  ap:
    ssid: "MPGenius Hotspot"
    password: !secret wifi_pw

captive_portal:

uart:
  - id: uart0
    tx_pin: GPIO16
    rx_pin: GPIO17
    baud_rate: 2400

pipsolar:
  - uart_id: uart0
    id: inverter0   

sensor:
  - platform: uptime
    name: Uptime Sensor
    id: uptime_sensor
    update_interval: 60s
    on_raw_value:
      then:
        - text_sensor.template.publish:
            id: uptime_human
            state: !lambda |-
              int seconds = round(id(uptime_sensor).raw_state);
              int days = seconds / (24 * 3600);
              seconds = seconds % (24 * 3600);
              int hours = seconds / 3600;
              seconds = seconds % 3600;
              int minutes = seconds /  60;
              seconds = seconds % 60;
              return (
                (days ? to_string(days) + "d " : "") +
                (hours ? to_string(hours) + "h " : "") +
                (minutes ? to_string(minutes) + "m " : "") +
                (to_string(seconds) + "s")
              ).c_str();

  - platform: homeassistant 
    name: "Volt Stacco Batterie"
    entity_id: input_number.volt_batt_off
    id: inverter0_battery_recharge_voltage_uf
    internal: false
    on_value:
      then:
        - output.pipsolar.set_level:
            id: inverter0_battery_recharge_voltage_out
            value: !lambda "return x;"
  - platform: homeassistant
    name: "Volt Attacco Batterie"
    entity_id: input_number.volt_batt_on
    id: inverter0_battery_redischarge_voltage_uf
    internal: false
    on_value:
      then:
        - output.pipsolar.set_level:
            id: inverter0_battery_redischarge_voltage_out
            value: !lambda "return x;"
  - platform: homeassistant
    name: "Volt Cut Batterie"
    entity_id: input_number.volt_batt_cut_off
    id: inverter0_battery_under_voltage_uf
    internal: false
    on_value:
      then:
        - output.pipsolar.set_level:
            id: inverter0_battery_under_voltage_out
            value: !lambda "return x;"
  - platform: homeassistant
    name: "Volt Float Batterie"
    entity_id: input_number.volt_batt_user_float
    id: inverter0_battery_float_voltage_uf
    internal: false
    on_value:
      then:
        - output.pipsolar.set_level:
            id: inverter0_battery_float_voltage_out
            value: !lambda "return x;"
  - platform: homeassistant
    name: "Volt Bulk Batterie"
    entity_id: input_number.volt_batt_user_bulk
    id: inverter0_battery_bulk_voltage_uf
    internal: false
    on_value:
      then:
        - output.pipsolar.set_level:
            id: inverter0_battery_bulk_voltage_out
            value: !lambda "return x;"

  - platform: pipsolar
    pipsolar_id: inverter0
    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"
    output_source_priority:
      name: "${name} output_source_priority"
    charger_source_priority:
      name: "${name} charger_source_priority"
    output_mode:
      name: "${name} output_mode"
    battery_redischarge_voltage:
      name: "${name} battery_redischarge_voltage"

    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} pv_input_current_for_battery"
    pv1_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"
    pv1_charging_power:
      name: "${name} pv_charging_power"
text_sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    device_mode:
      name: "${name} device_mode"

  - platform: template
    name: Uptime Human Readable
    id: uptime_human
    icon: mdi:clock-start

binary_sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    add_sbu_priority_version:
      name: "${name} add_sbu_priority_version"
    configuration_status:
      name: "${name} configuration_status"
    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"
    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"

  - platform: homeassistant
    name: "Tipo Batterie"
    entity_id: input_boolean.mpgenius_tipo_batterie
    id: inverter0_battery_type_uf
    internal: false

    on_press:
      then:
        - output.pipsolar.set_level:
            id: inverter0_battery_type_out
            value: 0

    on_release:
      then:
        - output.pipsolar.set_level:
            id: inverter0_battery_type_out
            value: 2
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"
    pv_power_balance:
      name: "${name} pv_power_balance"

output:
  - platform: pipsolar
    pipsolar_id: inverter0
    battery_recharge_voltage:
      id: inverter0_battery_recharge_voltage_out
      zero_means_zero: False
      possible_values: 
          - 44.0
          - 45.0
          - 46.0
          - 47.0
          - 48.0
          - 49.0
          - 50.0
          - 51.0
    battery_redischarge_voltage:
      id: inverter0_battery_redischarge_voltage_out
      zero_means_zero: False
      possible_values:
          - 00.0 
          - 48.0
          - 49.0
          - 50.0
          - 51.0
          - 52.0
          - 53.0
          - 54.0
    battery_under_voltage:
      id: inverter0_battery_under_voltage_out
      zero_means_zero: False
      possible_values:
          - 40.0 
          - 41.0
          - 42.0
          - 43.0
          - 44.0
          - 45.0
          - 46.0
          - 47.0 
    battery_type:
      id: inverter0_battery_type_out
      zero_means_zero: False
      possible_values:
          - 0 
          - 1
          - 2                  
    charger_source_priority:
      id: inverter0_charger_source_priority_out
      zero_means_zero: False
      possible_values: 
          - 0
          - 1
          - 2
          - 3
    output_source_priority:
      id: inverter0_output_source_priority_out
      zero_means_zero: False
      possible_values: 
          - 0
          - 1
          - 2
    battery_float_voltage:
      id: inverter0_battery_float_voltage_out
      zero_means_zero: False
      possible_values:
          - 52.0
          - 53.0
          - 54.0
          - 54.1
          - 54.2
          - 54.3
          - 54.4
          - 54.5
          - 54.6           
    battery_bulk_voltage:
      id: inverter0_battery_bulk_voltage_out
      possible_values: [52.0,52.1,52.2,52.3,52.4,52.5,52.6,52.7,52.8,52.9,53.0,53.1,53.2,53.3,53.4,53.5,53.6,53.7,53.8,53.9,54.0,54.1,54.2,54.3,54.4,54.5,54.6,54.7,54.8,54.9,55.0,55.1,55.2,55.3,55.4,55.5,55.6,55.7,55.8,55.9,56.0,56.1,56.2,56.3,56.4,56.5,56.6,56.7,56.8,56.9,57.0,57.1,57.2,57.3,57.4,57.5,57.6,57.7,57.8,57.9,58.0,58.1,58.2,58.3,58.4,58.5,58.6,58.7,58.8,58.9]
syssi commented 2 years ago

If you add a select entity to your yaml the error should be gone:

select:
  - platform: pipsolar
    pipsolar_id: inverter0
    output_source_priority:
      id: inverter0_output_source_priority_select
      name: inverter0_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"

If not please try a clean build:

esphone clean yourconfig.yaml
esphone run yourconfig.yaml
brunopiras commented 2 years ago

If you add a select entity to your yaml the error should be gone:


select:

  - platform: pipsolar

    pipsolar_id: inverter0

    output_source_priority:

      id: inverter0_output_source_priority_select

      name: inverter0_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"

If not please try a clean build:


esphone clean yourconfig.yaml

esphone run yourconfig.yaml

I need to delete same related output or simply add the select for output sources priority?

Thanks

ans-gw commented 1 year ago

The feature is available at this feature branch only: #10

external_components:
  - source: github://syssi/esphome-pipsolar@pip8048
    refresh: 0s

Can it be integrated into github://syssi/esphome-pipsolar@2424mse1

Thanks

Please update branch pipsolar@2424mse1. I m stuck with this version.Cant change any inverter parameter,excpt for inverter mode. cant change any battery voltage ,charge priority ecc ecc.

The feature is available at this feature branch only: #10

external_components:
  - source: github://syssi/esphome-pipsolar@pip8048
    refresh: 0s

Please update branch pipsolar@2424mse1. I m stuck from many months with this version.Cant change any inverter parameter,excpt for inverter mode. cant change any battery voltage ,charge priority ecc ecc. We need help from you please.

Thank you

syssi commented 1 year ago

I've merged the improvements of the pip8048 branch into 2424mse1. Does this help?

ans-gw commented 1 year ago

Ok. I just try to compile and get error.Usng esphome 12.1 in Home Assistant. Processing pip-inverter-switch (board: nodemcuv2; framework: arduino; platform: platformio/espressif8266 @ 3.2.0)

Library Manager: Installing ottowinter/ESPAsyncTCP-esphome @ 1.2.3 INFO Installing ottowinter/ESPAsyncTCP-esphome @ 1.2.3 Unpacking [####################################] 100% Library Manager: ESPAsyncTCP-esphome@1.2.3 has been installed! INFO ESPAsyncTCP-esphome@1.2.3 has been installed! Library Manager: Installing esphome/ESPAsyncWebServer-esphome @ 2.1.0 INFO Installing esphome/ESPAsyncWebServer-esphome @ 2.1.0 Unpacking [####################################] 100% Library Manager: ESPAsyncWebServer-esphome@2.1.0 has been installed! INFO ESPAsyncWebServer-esphome@2.1.0 has been installed! Library Manager: Resolving dependencies... INFO Resolving dependencies... HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf Dependency Graph |-- ESPAsyncTCP-esphome @ 1.2.3 |-- ESPAsyncWebServer-esphome @ 2.1.0 | |-- ESPAsyncTCP-esphome @ 1.2.3 | |-- Hash @ 1.0 | |-- ESP8266WiFi @ 1.0 |-- DNSServer @ 1.1.1 |-- ESP8266WiFi @ 1.0 |-- ESP8266mDNS @ 1.2 Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/api/api_connection.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/api/api_frame_helper.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/api/api_pb2.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/api/api_pb2_service.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/api/api_server.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/api/list_entities.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/api/proto.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/api/subscribe_state.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/api/user_services.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/binary_sensor/automation.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/binary_sensor/binary_sensor.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/binary_sensor/filter.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/captive_portal/captive_portal.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/dht/dht.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/esp8266/core.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/esp8266/gpio.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/esp8266/preferences.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/gpio/switch/gpio_switch.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/homeassistant/binary_sensor/homeassistant_binary_sensor.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/logger/logger.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/md5/md5.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/mdns/mdns_component.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/mdns/mdns_esp32_arduino.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/mdns/mdns_esp8266.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/mdns/mdns_esp_idf.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/mdns/mdns_rp2040.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/network/util.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/ota/ota_backend_arduino_rp2040.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/ota/ota_backend_esp_idf.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/ota/ota_component.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/output/automation.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/output/float_output.cpp.o Compiling /data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/pipsolar/output/pipsolar_output.cpp.o In file included from src/esphome/components/pipsolar/output/pipsolar_output.h:3, from src/esphome/components/pipsolar/output/pipsolar_output.cpp:1: src/esphome/components/pipsolar/output/../pipsolar.h:7:10: fatal error: esphome/components/pipsolar/select/pipsolar_select.h: No such file or directory 7 | #include "esphome/components/pipsolar/select/pipsolar_select.h" | ^~~~~~~~~~~~~~ compilation terminated. *** [/data/pip-inverter-switch/.pioenvs/pip-inverter-switch/src/esphome/components/pipsolar/output/pipsolar_output.cpp.o] Error 1 ========================= [FAILED] Took 48.19 seconds =========================

syssi commented 1 year ago

You have to extend your configuration YAML with the new select entities.

brunopiras commented 1 year ago

There’s just one select entities or more than one?

Thanks

Il giorno dom 18 dic 2022 alle 22:07 Sebastian Muszynski < @.***> ha scritto:

You have to extend your configuration YAML with the new select entities.

— Reply to this email directly, view it on GitHub https://github.com/syssi/esphome-pipsolar/issues/38#issuecomment-1356875733, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANFLBT6OIF5SLMXCEXL6LD3WN54KVANCNFSM6AAAAAASCOIXW4 . You are receiving this because you authored the thread.Message ID: @.***>

-- Bruno Piras ——————————————————- The contents of this e-mail communication, including any attached files, may contain confidential and/or proprietary information between the sender and the addressee(s). If you received this communication in error, please delete this message (including any attachments) and notify the sender promptly. If you are not the designated recipient of this message, misuse or redistribution of this content is strictly prohibited and may be unlawful. ——————————————————- Il contenuto di questa comunicazione via e-mail, compresi gli eventuali file allegati, può contenere informazioni riservate e/o confidenziali tra il mittente e il destinatario (o i destinatari). Se avete ricevuto questa comunicazione per errore, siete pregati di cancellare questo messaggio (compresi gli eventuali allegati) e di avvisare tempestivamente il mittente. Se non siete il destinatario designato di questo messaggio, l'uso improprio o la ridistribuzione di questo contenuto è severamente proibito e può essere illegale. ——————————————————-

ans-gw commented 1 year ago

You have to extend your configuration YAML with the new select entities.

Ok..done..now compile and works ok. Great job..Thank you so much.

I try to add to your yaml:

but get error:Failed config select.pipsolar: [source /config/esphome/pip-inverter-switch.yaml:227] platform: pipsolar pipsolar_id: inverter0

[charger_source_priority] is an invalid option for [select.pipsolar]. Did you mean [output_source_priority]? charger_source_priority:

mmm .. how to get inverter0_charger_source_priority working?

ans-gw commented 1 year ago

I try also to add to yaml this,but no any entity is added to the divice !? Why?I cant understand...where I m wrong? Thanks for your help.

output:

bHOLDher commented 1 year ago

@ans-gw FYI, I was able to add an API service and now I can call the service from Home Assistant to change the charger_source_priority.

I defined the output as you have it for charger_source_priority with id: inverter0_charger_source_priority_out.

Then I added the services to the api:

api:
  encryption:
    key: ......
  services:
    - service: set_charge_float_voltage
      variables:
        voltage: float
      then:
        - output.pipsolar.set_level:
            id: inverter0_battery_float_voltage_out
            value: !lambda "return voltage;"
    - service: set_charge_bulk_voltage
      variables:
        voltage: float
      then:
        - output.pipsolar.set_level:
            id: inverter0_battery_bulk_voltage_out
            value: !lambda "return voltage;"
    - service: set_charge_priority
      variables:
        priority: int
      then:
        - output.pipsolar.set_level:
            id: inverter0_charger_source_priority_out
            value: !lambda "return priority;"
    - service: set_output_priority
      variables:
        priority: int
      then:
        - output.pipsolar.set_level:
            id: inverter0_output_source_priority_out
            value: !lambda "return priority;"

After uploading these changes, new services were added to Home Assistant, so I can call:

service: esphome.inverter_set_charge_priority
data:
  priority: 1

We will need to wait for changes to be made so that a select can support changing the charge priority, but this works perfectly for me.

nuvolare12 commented 1 year ago

You have to extend your configuration YAML with the new select entities.

Ok..done..now compile and works ok. Great job..Thank you so much.

I try to add to your yaml:

  • platform: pipsolar     pipsolar_id: inverter0     charger_source_priority:       id: inverter0_charger_source_priority_select       name: inverter0_charger_source_priority_select       optionsmap:         "Utility first": "PCP00"         "Solar first": "PCP01"         "Solar and Utility": "PCP02"         "Solar only": "PCP03"       statusmap:         "0": "Utility first"         "1": "Solar first"         "2": "Solar and Utility"         "3": "Solar only"

but get error:Failed config select.pipsolar: [source /config/esphome/pip-inverter-switch.yaml:227] platform: pipsolar pipsolar_id: inverter0

[charger_source_priority] is an invalid option for [select.pipsolar]. Did you mean [output_source_priority]? charger_source_priority:

mmm .. how to get inverter0_charger_source_priority working?

Hello, could you please paste all code? Because I want to change and select the option from home assistant, but i was not abble to Thank you

KosieKramer commented 1 year ago

Will this feature to set the bulk charging voltage make it into mainstream ESPHome?

ans-gw commented 1 year ago

.... any news??

proasnet commented 1 year ago

Hello, I have a 24V PIP inverter, is possible use PCVV for 24V series? The default values is in another series than 48V system. Thanks

syssi commented 1 year ago

Just apply different possible_valeus here:

output:
  - platform: pipsolar
    pipsolar_id: inverter0
    battery_bulk_voltage:
      id: inverter0_battery_bulk_voltage_out
      possible_values: [24.0, 24.1, 24.2] 
proasnet commented 1 year ago

Thank you. And is possible send my own text command to inverter? For example for calibrating battery ("BTA0, BTA1, BTA2 etc..)? As text output with internal CRC calculating? And return NAK or ACK