text:
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
  - 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 components 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:
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"

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/espressif32@5.4.0)
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.

Hello!  I can't activate external components for change charge source priority
I have :
external_components:

source:
type: git
url: https://github.com/syssi/esphome-pipsolar#pip8048-git

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"

and error :
INFO ESPHome 2024.9.1
INFO Reading configuration /config/esphome/inverter.yaml...
WARNING Found '${id}' (see select->0->pipsolar_id) which looks like a substitution, but 'id' was not declared
WARNING Found '${id}_charger_source_priority_select' (see select->0->charger_source_priority->id) which looks like a substitution, but 'id' was not declared
WARNING Found '${id}' (see select->0->pipsolar_id) which looks like a substitution, but 'id' was not declared
WARNING Found '${id}_charger_source_priority_select' (see select->0->charger_source_priority->id) which looks like a substitution, but 'id' was not declared
INFO Cloning https://github.com/syssi/esphome-pipsolar#pip8048-git@None
Failed config
external_components: [source /config/esphome/inverter.yaml:25]
https://github.com/syssi/esphome-pipsolar#pip8048-git/info/refs not valid: is this a git repository?.
source:
  type: git
  url: https://github.com/syssi/esphome-pipsolar#pip8048-git

Thank You for help!

The external_components section doesn't look good. Please use:
external_components:
  - source: github://syssi/esphome-pipsolar@pip8048
    refresh: 0s

Thank you for your answer!
external_components:

source: github://syssi/esphome-pipsolar@pip8048
refresh: 0s
Now I have many errors !:
INFO ESPHome 2024.9.1
INFO Reading configuration /config/esphome/inverter.yaml...
WARNING Found '${id}' (see select->0->pipsolar_id) which looks like a substitution, but 'id' was not declared
WARNING Found '${id}_charger_source_priority_select' (see select->0->charger_source_priority->id) which looks like a substitution, but 'id' was not declared
WARNING Found '${id}' (see select->0->pipsolar_id) which looks like a substitution, but 'id' was not declared
WARNING Found '${id}_charger_source_priority_select' (see select->0->charger_source_priority->id) which looks like a substitution, but 'id' was not declared
INFO Updating https://github.com/syssi/esphome-pipsolar.git@pip8048
Failed config

sensor.pipsolar: [source /config/esphome/inverter.yaml:74]
platform: pipsolar
pipsolar_id: inverter0
grid_rating_voltage:
name: grid_rating_voltage
grid_rating_current:
name: grid_rating_current
ac_output_rating_voltage:
name: ac_output_rating_voltage
ac_output_rating_frequency:
name: ac_output_rating_frequency
ac_output_rating_current:
name: ac_output_rating_current
ac_output_rating_apparent_power:
name: pipsolar ac_output_rating_apparent_power
ac_output_rating_active_power:
name: pipsolar ac_output_rating_active_power
battery_rating_voltage:
name: pipsolar battery_rating_voltage
battery_recharge_voltage:
name: pipsolar battery_recharge_voltage
battery_under_voltage:
name: pipsolar battery_under_voltage
battery_bulk_voltage:
name: pipsolar battery_bulk_voltage
battery_float_voltage:
name: pipsolar battery_float_voltage
battery_type:
name: pipsolar battery_type
current_max_ac_charging_current:
name: pipsolar current_max_ac_charging_current
current_max_charging_current:
name: pipsolar current_max_charging_current
input_voltage_range:
name: pipsolar input_voltage_range
output_source_priority:
name: pipsolar output_source_priority
charger_source_priority:
name: charger_source_priority
parallel_max_num:
name: pipsolar parallel_max_num
machine_type:
name: pipsolar machine_type
topology:
name: pipsolar topology
output_mode:
name: output_mode
battery_redischarge_voltage:
name: pipsolar battery_redischarge_voltage
pv_ok_condition_for_parallel:
name: pipsolar pv_ok_condition_for_parallel
pv_power_balance:
name: pipsolar pv_power_balance
grid_voltage:
name: pipsolar grid_voltage
grid_frequency:
name: pipsolar grid_frequency
ac_output_voltage:
name: pipsolar ac_output_voltage
ac_output_frequency:
name: pipsolar ac_output_frequency
ac_output_apparent_power:
name: pipsolar ac_output_apparent_power
ac_output_active_power:
name: pipsolar ac_output_active_power
output_load_percent:
name: pipsolar output_load_percent
bus_voltage:
name: pipsolar bus_voltage
battery_voltage:
name: pipsolar battery_voltage
battery_charging_current:
name: pipsolar battery_charging_current
battery_capacity_percent:
name: pipsolar battery_capacity_percent
inverter_heat_sink_temperature:
name: pipsolar inverter_heat_sink_temperature
[pv_input_current_for_battery] is an invalid option for [sensor.pipsolar]. Did you mean [pv2_input_current], [pv1_input_current]?
pv_input_current_for_battery:
name: pipsolar pv_input_current_for_battery
[pv_input_voltage] is an invalid option for [sensor.pipsolar]. Did you mean [pv2_input_voltage], [pv1_input_voltage], [input_voltage_range]?
pv_input_voltage:
name: pipsolar pv_input_voltage
battery_voltage_scc:
name: pipsolar battery_voltage_scc
battery_discharge_current:
name: pipsolar battery_discharge_current
battery_voltage_offset_for_fans_on:
name: pipsolar battery_voltage_offset_for_fans_on
[pv_charging_power] is an invalid option for [sensor.pipsolar]. Did you mean [pv2_charging_power], [pv1_charging_power]?
pv_charging_power:
name: pipsolar pv_charging_power

Just changing the source of the external component isn't enough because a lot of sensor names has changed etc. Do you use a ESP32 or ESP8266? You should pick one of the YAML examples of the feature branch to quick start.

Used ESP32!
This is my code :
# 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
substitutions:
name: pipsolar
tx_pin: GPIO17
rx_pin: GPIO16
esphome:
name: must-inverter
friendly_name: Must Inverter
esp32:
board: esp32dev
framework:
type: arduino
Enable logging
logger:
baud_rate: 0
level: DEBUG
external_components:

source: github://syssi/esphome-pipsolar@pip8048
refresh: 1d

Enable Home Assistant API
api:
encryption:
key: "BaJg7la45ZZNbPNXdKp7hBPxuK4BhAbR/L//CWuyTHQ="
ota:

platform: esphome
password: "04799bd8631c23c78debb4abf46fc834"

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Must-Inverter Fallback Hotspot"
password: "IEct2iEKypgY"
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: grid_rating_voltage
grid_rating_current:
name: grid_rating_current
ac_output_rating_voltage:
name: ac_output_rating_voltage
ac_output_rating_frequency:
name: ac_output_rating_frequency
ac_output_rating_current:
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: charger_source_priority
parallel_max_num:
name: "${name} parallel_max_num"
machine_type:
name: "${name} machine_type"
topology:
name: "${name} topology"
output_mode:
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:  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:
id: inverter0_configuration_status
name: inverter0_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: backlight_on

switch:

platform: pipsolar
pipsolar_id: inverter0
output_source_priority_utility:
name: inverter0_output_source_priority_utility
output_source_priority_solar:
name: inverter0_output_source_priority_solar
output_source_priority_battery:
name: inverter0_output_source_priority_battery
output_source_priority_hybrid:
name: inverter0_output_source_priority_hybrid
input_voltage_range:
name: inverter0_input_voltage_range
pv_ok_condition_for_parallel:
name: inverter0_pv_ok_condition_for_parallel
pv_power_balance:
name: inverter0_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"

This is the examle configuration you should start from: https://github.com/syssi/esphome-pipsolar/blob/pip8048/esp32-example.yaml

Thank You ! It works with this example! Thank You!

Hi, I entered the yaml code for the esp8266-example.yaml, but it gives me this error, as if it can't find the 8048...
INFO ESPHome 2024.9.1
INFO Reading configuration /config/esphome/voltronic-axpert.yaml...
INFO Updating https://github.com/syssi/esphome-pipsolar.git@pip8084
Failed config
external_components: [source /config/esphome/voltronic-axpert.yaml:23]
couldn't find remote ref pip8084.
source: github://syssi/esphome-pipsolar@pip8084
refresh: 0s

Hi, I'm also trying to get my Sumry 10.2kw inverter to change from "SUB" to "SBU" mode but I also get the "Could not find components folder for source. Please check the source contains a 'components' or 'esphome/components' folder."
I'm using the ESP32 example yaml with Select section added.
I've tried @main and @pip8048 but neither work. Any ideas?
Thanks.

@gptech2444 Please create a new issue and provide your complete YAML configuration.

@gptech2444 Please create a new issue and provide your complete YAML configuration.

I was able to get it to work. I didn't realise I needed to use MQTT and then when I did there was some formatting issues in my secrets.yaml
Thanks @syssi this is such a useful resource.
Here's my YAML in case it helps anyoe else.
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
substitutions:
name: sumry10kw
tx_pin: GPIO17
rx_pin: GPIO16
id: inverter0
esphome:
name: ${name}
min_version: 2024.6.0
project:
name: "syssi.esphome-pipsolar@pip8084"
version: 1.0.0
esp32:
board: upesy_wroom
framework:
type: esp-idf
external_components:

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

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ota:
platform: esphome
logger:
baud_rate: 0
mqtt:
broker: !secret mqtt_broker
username: !secret mqtt_username
password: !secret mqtt_password
id: mqtt_client
uart:

id: uart_0
tx_pin: ${tx_pin}
rx_pin: ${rx_pin}
baud_rate: 2400

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"
pv2_input_current:
  name: "${name} pv2_input_current"
pv2_input_voltage:
  name: "${name} pv2_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"
pv2_charging_power:
  name: "${name} pv2_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

platform: pipsolar
pipsolar_id: inverter0
battery_bulk_voltage:
id: inverter0_battery_bulk_voltage_out

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"

- platform: pipsolar
pipsolar_id: inverter0
charging_discharging_control:
# See MAX_Communication_Protocol_20200526.pdf page 18
name: "${name} charging discharging control"
optionsmap:
"111": "PBATCD111"
"011": "PBATCD011"
"101": "PBATCD101"
"110": "PBATCD110"
"010": "PBATCD010"
"100": "PBATCD100"
"001": "PBATCD001"
"000": "PBATCD000"
statusmap:
"111": "111"
"011": "011"
"101": "101"
"110": "110"
"010": "010"
"100": "100"
"001": "001"
"000": "000"

- 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_ac_charging_current:
name: ${name} current_max_ac_charging_current_select
optionsmap:
"2A": "MUCHGC0002"
"10A": "MUCHGC0010"
"20A": "MUCHGC0020"
"30A": "MUCHGC0030"
"40A": "MUCHGC0040"
"50A": "MUCHGC0050"
"60A": "MUCHGC0060"
"70A": "MUCHGC0070"
"80A": "MUCHGC0080"
"90A": "MUCHGC0090"
"100A": "MUCHGC0100"
"110A": "MUCHGC0110"
"120A": "MUCHGC0120"
statusmap:
"2": "2A"
"10": "10A"
"20": "20A"
"30": "30A"
"40": "40A"
"50": "50A"
"60": "60A"
"70": "70A"
"80": "80A"
"90": "90A"
"100": "100A"
"110": "110A"
"120": "120A"

- 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"
"80A": "MCHGC080"
"90A": "MCHGC090"
"100A": "MCHGC100"
"110A": "MCHGC110"
"120A": "MCHGC120"
statusmap:
"10": "10A"
"20": "20A"
"30": "30A"
"40": "40A"
"50": "50A"
"60": "60A"
"70": "70A"
"80": "80A"
"90": "90A"
"100": "100A"
"110": "110A"
"120": "120A"

repo: syssi/esphome-pipsolar


text:
Triple charger has more then one input with the same name but different values

hi
First Problem is , how you can see below  the charger send two different frames like below :
both of them have
'votronic-solar-charger battery status':
'votronic-solar-charger controller active':
'votronic-solar-charger current reduction'
'votronic-solar-charger controller temperature'
but different values, means they toggle then in Homeassistant between this two different values.
i think one is for the solar and the other for b2b or landpower
is it possible to seperate this ?
Second : The charger controller temperature from charger data is wrong
in this Case the solar charger was active
thanks !!
[09:41:43][I][votronic:173]: **Solar charger data received**
[09:41:43][D][sensor:093]: 'votronic-solar-charger battery voltage': Sending state 13.84000 V with 2 decimals of accuracy
[09:41:43][D][sensor:093]: '**votronic-solar-charger controller temperature**': Sending state 31.00000 °C with 0 decimals of accuracy
[09:41:43][D][sensor:093]: 'votronic-solar-charger charging mode setting id': Sending state 86.00000  with 0 decimals of accuracy
[09:41:43][D][text_sensor:064]: 'votronic-solar-charger charging mode setting': Sending state 'LiFePo4 14.6V'
[09:41:43][D][sensor:093]: 'votronic-solar-charger battery status bitmask': Sending state 34.00000  with 0 decimals of accuracy
[09:41:43][D][text_sensor:064]: '**votronic-solar-charger battery status'**: Sending state **'U1 phase'**
[09:41:43][D][binary_sensor:036]: '**votronic-solar-charger controller active'**: Sending state **ON**
[09:41:44][D][binary_sensor:036]: '**votronic-solar-charger current reduction**': Sending state **ON**

[09:41:45][I][votronic:219]: **Charger data received**
[09:41:45][D][sensor:093]: 'votronic-solar-charger battery voltage': Sending state 13.84000 V with 2 decimals of accuracy
[09:41:45][D][sensor:093]: 'votronic-solar-charger secondary battery voltage': Sending state 12.46000 V with 2 decimals of accuracy
[09:41:45][D][sensor:093]: 'votronic-solar-charger current': Sending state 0.00000 A with 3 decimals of accuracy
[09:41:45][D][sensor:093]: 'votronic-solar-charger power': Sending state 0.00000 W with 2 decimals of accuracy
[09:41:45][D][sensor:093]: 'votronic-solar-charger state of charge': Sending state 0.00000 % with 0 decimals of accuracy
[09:41:45][D][sensor:093]: '**votronic-solar-charger controller temperature**': Sending state **166.00000 °C** with 0 decimals of accuracy
[09:41:45][D][sensor:093]: 'votronic-solar-charger charging mode setting id': Sending state 86.00000  with 0 decimals of accuracy
[09:41:45][D][text_sensor:064]: 'votronic-solar-charger charging mode setting': Sending state 'LiFePo4 14.6V'
[09:41:45][D][sensor:093]: 'votronic-solar-charger battery status bitmask': Sending state 40.00000  with 0 decimals of accuracy
[09:41:45][D][text_sensor:064]: '**votronic-solar-charger battery status**': Sending state '**U3 phase**'
[09:41:45][D][sensor:093]: 'votronic-solar-charger charging controller status bitmask': Sending state 0.00000  with 0 decimals of accuracy
[09:41:45][D][text_sensor:064]: 'votronic-solar-charger charging controller status': Sending state 'Standby'
[09:41:45][D][binary_sensor:036]: '**votronic-solar-charger controller active**': Sending state **OFF**
[09:41:45][D][binary_sensor:036]: '**votronic-solar-charger current reduction**': Sending state **OFF**

Could you extend your YAML to write the RAW data to the log and provide a log capture?
https://github.com/syssi/esphome-votronic/blob/main/esp8266-charger-example-debug.yaml#L3-L27
This will help to get a better understanding which frames are available on your bus. Could you provide your YAML too? Did you merge different YAMLs because of the different Votronic devices?

of course
logs_votronic_run.txt
votronic.yaml.txt

Traffic to reproduce the issue:
[...]
AA.1A.2F.05.C1.06.00.00.00.E0.A5.18.56.20.01.DD
AA.4A.00.00.00.00.00.00.00.00.00.00.00.00.00.4A
AA.3A.2E.05.D5.04.00.00.00.01.00.A3.56.28.00.1C
AA.7A.2E.05.D5.04.00.00.00.00.00.A3.56.28.00.5D

AA.1A.2F.05.C1.06.00.00.00.E0.A3.19.56.20.01.DA
AA.4A.00.00.00.00.00.00.00.00.00.00.00.00.00.4A
AA.3A.2F.05.D6.04.00.00.00.01.00.A2.56.28.00.1F
AA.7A.2F.05.D6.04.00.00.00.00.00.A2.56.28.00.5E

AA.1A.2F.05.C1.06.00.00.00.E0.A2.19.56.20.01.DB
AA.4A.00.00.00.00.00.00.00.00.00.00.00.00.00.4A
AA.3A.2F.05.D5.04.00.00.00.01.00.A2.56.28.00.1C
AA.7A.2F.05.D5.04.00.00.00.00.00.A2.56.28.00.5D

AA.1A.2F.05.C1.06.00.00.00.E0.A2.19.56.20.01.DB
AA.4A.00.00.00.00.00.00.00.00.00.00.00.00.00.4A
AA.3A.2F.05.D5.04.00.00.00.01.00.A2.56.28.00.1C
AA.7A.2F.05.D5.04.00.00.00.00.00.A2.56.28.00.5D

AA.1A.2F.05.BF.06.00.00.00.E0.A2.19.56.20.01.A5
AA.4A.00.00.00.00.00.00.00.00.00.00.00.00.00.4A
AA.3A.2F.05.D5.04.00.00.00.01.00.A2.56.28.00.1C
AA.7A.2F.05.D5.04.00.00.00.00.00.A2.56.28.00.5D

AA.1A.2F.05.BF.06.00.00.00.E0.A2.19.56.20.01.A5
AA.4A.00.00.00.00.00.00.00.00.00.00.00.00.00.4A
AA.3A.2F.05.D5.04.00.00.00.01.00.A2.56.28.00.1C
AA.7A.2F.05.D5.04.00.00.00.00.00.A2.56.28.00.5D

AA.1A.2F.05.BF.06.00.00.00.E0.A2.19.56.20.01.A5
AA.4A.00.00.00.00.00.00.00.00.00.00.00.00.00.4A
AA.3A.2F.05.D5.04.00.00.00.01.00.A2.56.28.00.1C
AA.7A.2F.05.D5.04.00.00.00.00.00.A2.56.28.00.5D

AA.1A.2F.05.BF.06.00.00.00.E0.A2.19.56.20.01.A5
AA.4A.00.00.00.00.00.00.00.00.00.00.00.00.00.4A
AA.3A.2F.05.D6.04.00.00.00.01.00.A2.56.28.00.1F
AA.7A.2F.05.D6.04.00.00.00.00.00.A2.56.28.00.5E

AA.1A.2F.05.BF.06.00.00.00.E0.A2.19.56.20.01.A5
AA.4A.00.00.00.00.00.00.00.00.00.00.00.00.00.4A
AA.3A.2F.05.D5.04.00.00.00.01.00.A2.56.28.00.1C
AA.7A.2F.05.D5.04.00.00.00.00.00.A2.56.28.00.5D
[...]

I've introduced some new sensors. Please extend your YAML and try again: https://github.com/syssi/esphome-votronic/blob/main/esp8266-triple-charger-example.yaml

thanks a lot i will check it , btw the triple charger needs 500-700ms rx_timeout  otherwise you will get a high amount of invalid headers because of the timeout buffer reset
br Holger

I've increased the rx_timeout of the triple charger configuration example.

Feel free to create new issues if you miss something or if there is room for improvements!

source: gharchive/issue

repo: syssi/esphome-votronic

license_type: permissive

license_source: github-api


text:
Add subcommand to generate host and security configuration

e.g.: stmgr generate hostconfig ... and stmgr generate securityconfig ...
each argument should be parsed per command-line flags. It should use stboot library to only return valid configuration files or an error message.

https://git.glasklar.is/system-transparency/core/stmgr

authors: jensdrenhaus sylv-io

repo: system-transparency/stmgr


text:
Add jitter to sleeps

Also add test to ensure ERR messages from faktory don't trigger a
retry

Do we want jitters in heartbeats? And is 5 seconds enough/too much?

Nice! Will do.

Done, can you double check? @zacharyhamm

@paulocsanz Good point about the heartbeats. Eventually, it'd probably be good to have it be 15 seconds +/- a jitter amount, so that way they're 15 seconds apart on average, but not always exactly 15 seconds. That said, I'm more than OK with that been addressed later, and not being a blocker for this PR.

Oh @jhelwig I saw your comment after merging, ok we can deal with that later, I moved from 10 to 20 as I felt the average of 15 was reasonable, but we can change that later as we wish.

@paulocsanz No worries. You pretty much already did was I was talking about.

source: gharchive/pull-request

authors: jhelwig paulocsanz

repo: systeminit/faktory-async


text:
API

草案

[x]  signup ... アカウントを作成する
[x]  i/show ... アカウント情報取得
[ ] i/update ... プロフィール更新
[ ] i/favorites/create ... 投稿をお気に入り登録する
[ ] i/favorites/delete ... 投稿をお気に入り解除する
[ ] i/favorites/list ... お気に入りの投稿を取得
[x] i/timeline ... タイムライン取得
[ ] i/notifications ... 通知取得
[ ] i/notifications/delete ... 通知削除
[ ] i/notifications/clear ... 通知を全て削除
[x] users/show ... ユーザー情報取得
[x] users/posts/list ... ユーザーの投稿一覧
[x] users/following/create ... フォローする
[ ] users/following/delete ... フォロー解除する
[ ] users/followers/list ... フォロワーを取得する
[ ] users/following/list ... フォローを取得する
[x] posts/create ... 投稿する
[x] posts/show ... 投稿情報取得
[ ] posts/reactions/create ... リアクション作成
[ ] posts/reactions/list ... リアクション一覧
[ ] posts/reactions/delete ... リアクション削除
[ ] drive/info ... ドライブ情報
[ ] drive/files/upload ... ドライブへのファイルアップロード
[ ] drive/files/show ... ドライブのファイル取得
[ ] drive/files/list ... ドライブのファイル一覧
[ ] drive/files/move ... ドライブのファイル移動
[ ] drive/files/rename ... ドライブのファイル改名
[ ] drive/files/delete ... ドライブのファイル削除
[ ] drive/files/tag/update ... ドライブのファイルのタグ編集
[ ] drive/folders/create ... ドライブのフォルダ作成
[ ] drive/folders/list ... ドライブのフォルダ一覧
[ ] drive/folders/show ... ドライブのフォルダ取得
[ ] drive/folders/move ... ドライブのフォルダ移動
[ ] drive/folders/rename ... ドライブのフォルダ改名
[ ] drive/folders/delete ... ドライブのフォルダ削除
[ ] talks/history ... トーク履歴取得
[ ] talks/messages ... トークメッセージ一覧
[ ] talks/messages/create ... トークメッセージ作成
[ ] talks/messages/show ... トークメッセージ取得
[ ] talks/messages/delete ... トークメッセージ削除
[ ] talks/messages/favorites/create ... トークメッセージのお気に入り作成
[ ] talks/groups/create ... トークグループ作成
[ ] talks/groups/show ... トークグループ取得
[ ] talks/groups/delete ... トークグループ削除
[ ] talks/groups/invite ... トークグループへの招待
[ ] talks/groups/invitations/list ... トークグループへの招待一覧
[ ] talks/groups/invitations/show ... トークグループへの招待取得
[ ] talks/groups/invitations/accept ... トークグループへの招待承認
[ ] talks/groups/invitations/decline ... トークグループへの招待拒否

ご意見募集

投稿、返信、Repostをひとつのエンドポイントにまとめた方が良いかな？

返信と投稿はまとめても良さそう RPは別にしたほうが良さそう

あと将来的なことも考えてdrive/infoみたいなのあると良さそう（ドライブ上限とか、現在の利用容量とか)

タイムラインのendpointがない

あと人のタイムライン見れると良さそう

i/timeline

drive/info追加

post, reply, repost はまとめます

やっぱりrepostは分離しようかな

i/timeline は posts/timeline/show にした方がいいかな

talks を users/talks にするべきか否か

drive を i/drive にするべきか否か

i/drive にしました。
i/ と付いているのはすべて自分しかアクセス出来ないことのエンドポイントになります。

following/(create|delete)はi/つけても良いのでは

やっぱり冗長なのでi/廃止という手も

i
i/update
だけ

signupをi/create にするべきか

authors: Petitsurume syuilo

repo: syuilo/misskey-core

license: mit

license_source: bigquery


text:
url-previewが返ってこないURLがある

Summary
URLプレビュー /url でhttps://www.aozora.gr.jp/ のURLを指定すると
応答が返ってこなくてプレビューができない。
例) https://misskey.xyz/notes/5c171a0c564d450028e24232
Expected Behavior
応答が返ってくる
Actual Behavior
返ってこない
Steps to Reproduce

URLを投稿する

Environment
Windows 10 / Firefox 64
Windows 10 / Chrome 71

多分プレビュー先のサイトがContent-Typeを返してないのが原因

返してるぽい

返ってきました、すみません

今はできるみたい、再現手順も忘れたのでClose

repo: syuilo/misskey

license: MIT


text:
デッキ使用中に別タブでユーザーページ等を開いたときにはデッキにしないように

Summary
Resolve #4270
デッキ使用中でも、ユーザー等のリンクを別タブ (つまり直接URL指定で) 開いたときには
「デッキのカラム群＋ユーザーペイン」でなく「ホームのページ」を開くようにしています

ありがとうございます！現在の実装では実現不可能ではないかしらと考えていてこんな方法は思いつきませんでした


text:
非ログイン時に検索欄がズレていたのを修正

Summary
非ログイン時に検索欄がズレていたのを修正しました。

ありがとうございます🥰
11 が若干マジックナンバーでもしヘッダーの高さを今後調整したら破綻してしまうので、根本的に解決したいところですね

確かにそうですね、問題ないのであればここはflexboxでセンタリングしてしまった方が良さそうですね

flexboxを用いてセンタリングを行うように変更したので、ヘッダーの高さが変わった場合や中の要素の追加・変更などにも対応できるようになりました 👍

ありがとうございます🥰

authors: mfmfuyu syuilo


text:
nginxのサンプルにコメント追加

Summary
前段にProxyがあるなら以下を削除するようにコメントを追加

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;

https://github.com/syuilo/misskey/issues/6857#issuecomment-734023025

🙏🙏🙏

🙏🙏🙏


text:
Missing fixes

[x] https://github.com/szepeviktor/w3-total-cache-fixed/blob/v0.9.5.x/pub/opcache.php
[x] * https://github.com/szepeviktor/w3-total-cache-fixed/blob/v0.9.5.x/readme.txt
[x] * https://github.com/szepeviktor/w3-total-cache-fixed/blob/v0.9.5.x/w3-total-cache.php
[ ] maybe https://github.com/szepeviktor/w3-total-cache-fixed/blob/v0.9.5.x/w3-total-cache-api.php
[ ] Could be many more.

* Ready into https://github.com/szepeviktor/w3-total-cache-fixed/pull/474
There's a list in https://github.com/szepeviktor/w3-total-cache-fixed/issues/468#issuecomment-297788649
Last known state: https://github.com/szepeviktor/w3-total-cache-fixed/tree/3670939bfc5b71ef70f250ae10eafa08c8b57a48
just after #459

@Furniel Could you find out how these have been missed?

Looks like fix to opcache wasn't in list of fixes that missing in official version.
I didn't updated readme files at all(only code)
W3-total-cache-fixed.php contains only version number fixes, I didn't changed version.
Can't compare w3-total-cache-api line by line (from mobile now), but all changes should be there.

Looks like fix to opcache wasn't in list of fixes that missing in official version.

Here it is: https://github.com/szepeviktor/w3-total-cache-fixed/pull/387/files

Looks like fix to opcache wasn't in list of fixes that missing in official version.

because is just a fix into the comment https://github.com/szepeviktor/w3-total-cache-fixed/pull/387/files#diff-8ad3ed895032ad08085373c888610812L3 and i don't have added to the changelog.

Here you are in the last row https://github.com/szepeviktor/w3-total-cache-fixed/wiki/Changelog
No need to put it in the readme.

https://github.com/szepeviktor/w3-total-cache-fixed/blob/v0.9.5.x/readme.txt
https://github.com/szepeviktor/w3-total-cache-fixed/blob/v0.9.5.x/w3-total-cache.php

Fixed by #474

It seem all ok https://github.com/szepeviktor/w3-total-cache-fixed/pull/475

authors: Furniel nigrosimone szepeviktor


text:
Allow PHP7.1 test fails

Oh no!!
It failed because of the indentation.

  - php: nightly
    env: WP_VERSION=3.7 WP_MULTISITE=1
  allow_failures:
    - php: nightly

https://github.com/szepeviktor/w3-total-cache-fixed/blob/v0.9.5.x/.travis.yml#L32
https://github.com/szepeviktor/w3-total-cache-fixed/blob/v0.9.4.x/.travis.yml#L32


text:
Suggestion: Add method to convert from data to dataURL

Do you want to request a feature or report a bug?
Feature
What is the current behavior?
.fromDataURL() loads the picture into the <canvas>, but it doesn't update the internal data. Therefore, when you try to draw something additionally to this picture, only the new drawing is exported (the old/loaded part is dropped).
However, when using .fromData() it is possible to "augment" the loaded picture.
What is the expected behavior?
It would be nice to have a way to convert between the output of .toDataURL() (=SVG etc.) and .toData() (=array of points).

So if you have ust the SVG, it's (rather) not possible to get the array of points back?
But what about the other way (i.e. create the SVG from the array of points)?
Right now, if I export the drawing with .toData(), I cannot create the SVG directly from it, right? The only way would be to load the data back into the <canvas>, then export the dataURL from there, right?
So what I'm suggesting would be to make the conversion of data => dataURL public (which is currently only happening internally, right?)

Moving from data to dataurl is already possible.
signaturePad.fromData(data);
const dataurl = signaturePad.toDataUrl("image/svg+xml");

Going the other way is what I think is not currently possible.

Indeed, great, thanks! :-)
Should I add this as a separate point to https://github.com/szimek/signature_pad#tips-and-tricks ?

The fromData method is documented in the API section.

Yeah, but the info that only .fromData() will allow you to add something to the existing painting is missing.

The clear option is documented there as well.
It seems like you want to take a dataurl (image) and add those points to the internal data so they can be added to and exported again as an svg dataurl. The first step of converting an image to internal data isn't possible.
You can however add the old dataurl, essentially as a background image, draw over it and export the whole canvas as a dataurl again.

authors: ThomasLandauer UziTech


text:
brick my kde

i am using opensuse and tumbleweed.
I love your themes and wanted to try with my awesomewm setup.
tried stow stuff cant get it work and now cant login to my kde either. Can you please provide simple installation guide. or installing without stow.
Again love your RICE.

hi, thanks you.
Do you see my wiki for arch, https://github.com/szorfein/dotfiles/wiki/theme-anonymous ?
Also, It doesn't work (not tested) with SDDM / GDM, etc. I use xinit to start my session simply with startx.
You can try to kill / uninstall your display manager .

hi, thanks you.
Do you see the wiki for arch, https://github.com/szorfein/dotfiles/wiki/theme-anonymous ?
Also, It doesn't work (not tested) with SDDM / GDM, etc. I use xinit to start my session simply with startx.
You can try to kill / uninstall your display manager .
With SDDM, you may need to add the entry for awesome : sddm/sddm#868

i found one page where kill command and startx was shown and atleast kde seems to be back.
I might be super wrong since I am way noob in linux stuff compare to you. My understanding is you are coping stuff from your dot files to home folder.
like stow theme-anonmoys -t ~/.config/awesome/
that will install it your files inside my awesome directory? i think i broke stuff when i copied to home folder.  since my main DE is kde i want only files inside ~/.config/awesomewm how do i do that.
also i was not able to see rc.lua files after running stow commands

stow images
also when run this it says images package is not installed or not found.

I will update the wiki :)
there is no more image folder, it was over ~50 mo with the git cache. To install the last images, do a
./install --images

In the directory of this repo.

like stow theme-anonmoys -t ~/.config/awesome/

No, the directory target (with ~t) is always your $HOME , so ~ or /home/najamsk. so the corrected command are:
$ stow awesomewm -t ~
$ stow theme-anonymous -t ~

It will install color for the Xresources, color for zathura, etc, (look this content).

authors: najamsk szorfein

repo: szorfein/dotfiles


text:
Can you set the selected row class (jsgrid-selected-row) per table? And how to define a tooltip for rowclick?

Two questions:
1- I got some tables that are only used for display and I would like to have the selected-row not highlighted and the mouse pointer not showing a hand. But I don't want to change the jsgrid-selected-row class as I have other tables that are using the rowClick feature.
2- Is it possible to define a tooltip for rolling over a row?
Thanks and BTW congrats for the amazing work!
c.

what's about settings selecting: false for these grids, so that selection will be disabled?

you can add title attribute to a cell, or to the <tr>. You can do it defining rowRenderer function and calling this._renderCells($myTrElement, item); to render content cells.

perfect! thanks for the response!

authors: christiansyl tabalinas

repo: tabalinas/jsgrid


text:
Tamon instance #

In the prior Tabmon 1.3 releases, the instance # of the process would be split out into the Postgres database.  This appears to not be the case with 1.3.  Can you please confirm or offer any thoughts?

Hello,
I am going to close this issue due to inactivity. If the issue is still occurring please let me know.
Thanks,
Dan

repo: tableau/TabMon


text:
Handle https proxy values

We were assuming that any proxy value given would be a valid http URL. Updated this so that we check if it is https and pass it to the correct protocol handler if so, and we check  the url begins with a protocol and adds 'http' if not.
Updated logging to remove the full stack trace, which is pretty ugly and unhelpful in the case of connectivity errors where the first line is usually the meaningful one. Not sure if this will be the best decision in all scenarios - should probably add it back when logging at debug level?

@jacalata to your comment about adjusting/trimming the debug logs, why don't we create an issue to revisit that in the future, so we don't forget.

authors: bcantoni jacalata

repo: tableau/tabcmd


text:
Number of clients in code

Dear Tabularelf,
Is it possible to access the number of clients in code? The number of clients is set with the "Number_Of_Clients" option in the extension and it would also be useful to read it in code. For example, for automatically positioning the windows on screen depending on the number of clients. Thanks in advance for the response!
Kind regards,
Tom Postmus

There isn't currently a feature for getting the number of clients, but there is an alternative.
You can instead use MultiClientGetID(), which will give you a number between 0-number of clients (-1 on release builds)
You can then use a switch/case and set the window position from there. Hopefully that helps!

authors: TomPostmus tabularelf

repo: tabularelf/MultiClient


text:
Overlapping batches + zero-inflated Poisson likelihood

Added overlap to BatchLoader so that one can batch AR(p) processes with overlapping end points (i.e. it slices the data with p overlapping end points per batch), let me know if this is wrong. The reason is that I cannot reproduce the 50 ms binning without running out of memory if we do not batch with an AR(p) prior, or maybe I misunderstood the implementation? Let me know.
Also added Zero - inflated Poisson process, used in grid cell literature (only overdispersed counts again). I think I used the pytorch distribution constraints correctly, although let me know if I didn't. Never used them before but they seem neat.
Added ZIP to test_likelihoods.py. So from what I see, it tests the likelihood fitting on Gaussian synthetic data?

looks good!
To answer a couple of questions:
(a)
The likelihood test just checks that it runs and that E[log p(Y)] <= log E[p(y)] for the likelihood in question.
(b)
Regarding the overlapping points, this should definitely deal with the non-continuity. However, I will also 'overcount' the overlapping points when computing the ELBO so I'm not sure if there are better ways?
Either way I think this is a reasonable functionality to have and happy to merge.

If you have time it might also be useful to add a few comments in the ZIP class noting what the different steps are doing/what the probability density is -- not sure I'm entirely following what's happening everywhere!

authors: KrisJensen davindicode

repo: tachukao/mgplvm-pytorch


text:
Quantitative Results Evaluation Instruction

Hi, taconite
Thanks for your excellent work! It's so interesting!
I wonder if you could offer the commands and scripts of Quantitative Results Evaluation (e.g. mIoU, Outer CD, Inner CD, Per-vetex error)?
Thanks in advance!

Hi, Bingoang
Thanks for your interest! Regarding your questions:

mIoU is already computed in the validation function. Per-vertex error is computed in the registration code.
For outer/inner chamfer distance, as described in the paper it is L1 chamfer distance which is quite standard to compute. If you urgently need it I can send you the script via email, otherwise, I can clean the evaluation scripts and update the repo later.

best,
Shaofei

@taconite
Oh, thanks very much! I've sent an e-mail to you~

authors: Bingoang taconite

repo: taconite/PTF


text:
Add iPad Pro icon size.

Adds 83.5 as an icon size, creating the Icon-83.5@2x that is required for apps targeting the iPad Pro. Also adds new icon names to the icon name list so that the appropriate artboards are removed when the plugin runs.

Thanks @theck01, it's merged.

Thanks @theck01, it's merged.

repo: tadija/AEIconizer


text:
Generate installer

Hi,
I start using generator and I would like generate an installer. Do you now how I can do with this project stucture ?
Best regards

Awesome! I will create a npm command to package the code.

fixed in the latest commit

authors: eksavoy tahnik

repo: tahnik/generator-electron-react


text:
v0.5.2 does not include PR #60

@taichi
Thank you for merging and releasing PR https://github.com/taichi/ci-yarn-upgrade/pull/60.
However, v0.5.2 distributed at npm does not include PR https://github.com/taichi/ci-yarn-upgrade/pull/60 changes :cry:
$ yarn add ci-yarn-upgrade
$ head -n32 node_modules/ci-yarn-upgrade/lib/compare.js | tail -n1
        return cw.homepage ? `[${cw.name}](${cw.homepage})` : cw.name;

oh... i'm sorry about release v0.5.2.
i release v0.5.3 again, please check it.

authors: taichi tsub

repo: taichi/ci-yarn-upgrade


text:
Please don't recommend using build.rs - adds to crate build time for everyone

A GitHub Actions code generator for Rust is a great idea!
However, build.rs gets run whenever building the crate, which means that for a library crate, it'll become part of the build time for everyone using the crate as a dependency, even though only the maintainer really needs to perform the build and commit the resulting .yml file. And for a binary crate, it'll become part of the build time for anyone doing cargo install.
This would be a good use case for something like cargo script. Until that's stable, please consider recommending a separate workspace crate that doesn't get published, or an example (examples/gh.rs, run with cargo run --example gh), or a similar.

How about recommending people to use https://rust-script.org/

I've not yet checked out rust-gh-workflow in detail, but I'd probably take the cargo xtask approach to call rust-gh-workflow. There's also a blog post about that approach. I guess that's what @joshtriplett meant when mentioning a separate workspace crate.

@Lintermute cargo xtask is another approach, and that'd work well too.

Hey @Lintermute! I haven’t had the chance to work with xtask yet, but I’d love to learn more. Would be really grateful for any PRs if you’re up for it! 😊

Updated readme to use cargo test instead of build.rs

authors: Lintermute joshtriplett tusharmath

repo: tailcallhq/rust-gh-workflow


text:
Add TXT record parsing

Add ability to add TXT record parsing. TXT records can be used to store pretty much anything (nowadays frequently used for SPF). https://tools.ietf.org/html/rfc1035#section-3.3.14
Also, there can be multiple strings for one TXT data record, so this combines them into one string, as described here, https://tools.ietf.org/html/rfc7208#section-3.3.

Merged in and released as 0.7.0. Thanks!

authors: rigdent tailhook

repo: tailhook/dns-parser


text:
add expiry to key capabilities

Need key expiry in the terraform provider, and I saw it was not yet added to the client pkg, but is available in the API.
Will open separate PR for terraform provider, if this is approved.
Thanks!

This repo and the terraform repo require signed commits using either GPG or SSH keys. Are you set up to do that? If not, I can generate a PR with this change and sign it.

This repo and the terraform repo require signed commits using either GPG or SSH keys. Are you set up to do that? If not, I can generate a PR with this change and sign it.

Ah, just noticed that, sorry. I don't have signing set up on this computer. I can amend the PR later (I think pushing a new signed commit will suffice?), but feel free to generate a separate one instead. I also just created https://github.com/tailscale/terraform-provider-tailscale/pull/175 which will have the same issue :/

@DentonGentry pushed a signed commit, but it seems that didn't pass the check.

There are two commits in this PR and the first is not signed, so it is rejected. I think you want to remove the second, signing commit: git reset --hard HEAD^1
Then sign the first commit: git commit --amend -S
Then force push it to the PR: git push -f

Bingo, thanks :)

Looks like this field has been added in the incorrect place based on #35 and the API documentation. Have added an example here

authors: DentonGentry davidsbond dizzzan

repo: tailscale/tailscale-client-go


text:
[FEATURE] CSS variables

Did you already consider including the JS config variables in the generated lib, as css variables?
In my projects, I include the generated output of a configured tailwind as a css library, then extend it with targeted css, and I'd love to be able to make use of, say, colors as css variables.
Ex:
In Tailwind config:
let colors = {
  ...
  'black': '#22292f',
  ...
}

would generate in the css:
:root {
  --color-black: #22292f;
}

See https://github.com/tailwindcss/tailwindcss/issues/260
At the current time it makes more sense to define the variables you'd like in your CSS.

Alright, so, the other way around. Thanks.

Yeah like mentioned in the other issue we don't have concrete plans to implement anything like this, but it could totally be done with another PostCSS plugin or even Tailwind's upcoming plugin system.

I made it as plugin
https://github.com/omarkhatibco/tailwind-css-variables

authors: SmashBrando adamwathan florenthobein omarkhatibco

repo: tailwindcss/tailwindcss


text:
chore: tests Node.js 8 and 10, remove PHP in CI config

Great thanks for this!

authors: DanielRuf adamwathan


text:
いいところ診断に優しさを追加したい

以下の結果を追加したい
'{userName}のいいところは優しさです。あなたの優しい雰囲気や立ち振る舞いに多くの人が癒やされています。'

これから対応します

repo: takanq/assessment


text:
Linting

Description:
The code should follow standards and conventions described in lint.
Acceptance Criteria:

It should use standard lint settings
It should not have any lint errors or warnings in the code

This has been done and merged.

repo: talamer/vscode-knative


text:
dns_config: should probably look for dns instead

I'm trying to get Headplane to work with the new beta2, but I'm getting this error:
2024-08-21T07:06:07.204Z (ERRO) [CFGX] Recieved invalid configuration file
2024-08-21T07:06:07.205Z (ERRO) [CFGX] The following schema issues were found:
2024-08-21T07:06:07.205Z (ERRO) [CFGX]   'dns_config': Required
It looks like Headplane is expecting dns_config to still be in the config, but it's now called dns:
As a sidenote, I believe that acl_policy_path might also need to be updated to work with later versions, the new format is:
policy:
mode: file
path: "/etc/headscale/acl.json"

I saw a post on the discord with a bit of a fix/workaround for now, thought it would be worth sharing here whilst waiting for a fix.
Add this to your headscale config.yaml
dns_config: {}
and set HEADSCALE_CONFIG_UNSTRICT to true
Also, I added an environment variable “ACL_FILE” so that I could still view/make changes to my ACL file from Headplane, as you say above, they fixed the issues with policy.path mapping now and removed acl_policy_path
This of course means no DNS functionality from within Headplane, but nice to have the UI back!

I'll update the config ASAP.

Fixed in 0.2.3. The minimum requirement for Headscale is now 0.23.0-beta2 or else Headplane will start with errors.

authors: Heavensong89 tale yeyeoke

repo: tale/headplane


text:
My first blog | 終わり群星 | Home

https://stazxr.cn/2023/02/05/My-first-blog/

First blog.


text:
Disable warning spam from nan/empty slice operations

Currently, when repeatedly running trait extraction via pipelines like sleap_roots.graphpipeline.get_traits_value_plant_summary, we get an intractably long spam of warnings about nan slices and etc that crashes the browser if running in a notebook.
This can be fixed by ignoring these warnings (maybe at the module level in graphpipeline.py and/or the specific trait modules):
import warnings
warnings.filterwarnings("ignore", message="invalid value encountered in intersection", category=RuntimeWarning, module="shapely")
warnings.filterwarnings("ignore", message="All-NaN slice encountered", category=RuntimeWarning)
warnings.filterwarnings("ignore", message="All-NaN axis encountered", category=RuntimeWarning)
warnings.filterwarnings("ignore", message="Degrees of freedom <= 0 for slice.", category=RuntimeWarning, module="numpy")
warnings.filterwarnings("ignore", message="Mean of empty slice", category=RuntimeWarning)
warnings.filterwarnings("ignore", message="invalid value encountered in sqrt", category=RuntimeWarning, module="skimage")
warnings.filterwarnings("ignore", message="invalid value encountered in double_scalars", category=RuntimeWarning)

Added the warnings in graphpipeline.py.
Solved in PR #32 with commit: Disable warning spam from nan/empty slice operations.

repo: talmolab/sleap-roots


text:
Property does not exist on type 'UseThemeResult' when useTheme

Current Behavior
After upgrading to v1.88.11, Typescript isn't infering color tokens from useTheme anymore.

Expected Behavior
Typescript infer all colors from my theme.
Tamagui Version
1.88.11

Platform (Web, iOS, Android)
Web, iOS, Android

Reproduction
My config file:
import { createInterFont } from '@tamagui/font-inter';
import { shorthands } from '@tamagui/shorthands';
import { tokens as tamaguiTokens, themes } from '@tamagui/themes';
import { createTamagui, createTokens } from 'tamagui';

const tokens = createTokens({
    ...tamaguiTokens,
    color: {
        ...tamaguiTokens.color,
        primary900: '#ffdbdb',
        primary500: '#8D1B15',
        primary400: '#52100d',
        secondary500: '#171923',
        secondary400: '#1a1a1c',
        secondary900: '#878cab',
    },
});

const appConfig = createTamagui({
    themes: {
        ...themes,
        light_primary_button: {
            ...themes.light_red_Button,
            background: tokens.color.primary900,
            borderColor: tokens.color.primary900,
        },
        light_secondary_button: {
            ...themes.light_blue_Button,
            background: tokens.color.secondary500,
            borderColorPress: '#50515c',
            backgroundPress: '#50515c',
            borderColor: tokens.color.secondary500,
            color: '#ffffff',
        },
    },
    tokens,
    shorthands,
    fonts: {
        heading: createInterFont(),
        body: createInterFont(),
    },
});

export type AppConfig = typeof appConfig;

declare module 'tamagui' {
    interface TamaguiCustomConfig extends AppConfig {}
}

export default appConfig;

System Info
OS: macOS 14.0
CPU: (10) arm64 Apple M2 Pro
Memory: 70.45 MB / 16.00 GB
Shell: 5.9 - /bin/zsh

Can't repro, just tested on a few apps. Please open with a reproduction!

authors: gstcarv natew

repo: tamagui/tamagui


text:
(Hover/Focus/etc) Style not applied on variants

Current Behavior
When applying styling using variants and setting a conditional style (for example, hover) it doesn't get set and is overwritten by the default theme styles, for example, the border is overwritten by borderColorHover set in theme.

https://user-images.githubusercontent.com/33583906/231321676-79fbd0d7-291b-4388-835c-47b2c109eda6.mov
Expected Behavior
Effect styles take preference to those defined when defining a component over those defined in a theme.
!!Note!!
This can be mitigated by removing the  backgroundHover, backgroundPress, borderColorHover, borderColorPress, borderColorFocus keys on the theme you're using.

Recording was produced by toggling "hover" element stage in inspect element, change the values to "transparent !important" and untoggling "hover"

https://user-images.githubusercontent.com/33583906/231321925-42c877cf-ce21-4c77-8860-dfb9f07e51d1.mov
Tamagui Version
1.14.3

Reproduction
https://codesandbox.io/p/sandbox/wizardly-lovelace-w7ef8w?file=%2Fpackages%2Fapp%2Ffeatures%2Fhome%2Fscreen.tsx&selection=%5B%7B%22endColumn%22%3A53%2C%22endLineNumber%22%3A25%2C%22startColumn%22%3A53%2C%22startLineNumber%22%3A25%7D%5D

System Info
CodeSandbox and everywhere I guess

this should be fixed

authors: VladyslavKochetkov natew


text:
How to add my google account for over limit request?

Hello @tananaev .
Traccar working successfully but i crossed google api default request so i purchase some extra request. Where to add my credentials?? In which file
Thanks in advance :)

You would have to change the source code as URL is hard-coded for Google API:
https://github.com/tananaev/traccar/blob/master/src/org/traccar/geocode/GoogleReverseGeocoder.java

repo: tananaev/traccar


text:
Traccar server starts but server wont load after changing config to use MySQL instead of H2 database

Hello,
After installing traccar, I changed traccar.xml to use MySQL server instead of default H2 database. Changes were as under:-
<entry key='database.url'>jdbc:mysql://SERVER:3306/DB?allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=sql_mode=''</entry>
<entry key='database.user'>USER</entry>
<entry key='database.password'>PASS</entry>

When I start traccar via sh startDaemon.sh, I get success messages as under:-
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
wrapper home : /opt/traccar
configuration: /opt/traccar/conf/wrapper.conf
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
---------- YAJSW SET ENV ----------
YAJSW: yajsw-beta-12.07
OS   : Linux/2.6.32-642.6.2.el6.x86_64/amd64
JVM  : Oracle Corporation/1.8.0_111//usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-0.b15.el6_8.x86_64/jre/64
Dec 26, 2016 11:23:27 PM org.apache.commons.vfs2.VfsLog info
INFO: Using "/tmp/vfs_cache" as temporary files store.
Dec 26, 2016 11:23:27 PM org.rzo.yajsw.os.posix.PosixService init
INFO: /etc/init.d/traccar already exists
************* STARTING traccar ***********************

Dec 26, 2016 11:23:27 PM org.rzo.yajsw.os.posix.PosixService getPid
INFO: wrapper pid file: /var/run/wrapper.traccar.pid
Dec 26, 2016 11:23:30 PM org.rzo.yajsw.os.posix.PosixService start
INFO: Starting traccar ...
YAJSW: yajsw-beta-12.07
OS   : Linux/2.6.32-642.6.2.el6.x86_64/amd64
JVM  : Oracle Corporation/1.8.0_111//usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-0.b15.el6_8.x86_64/jre/64
************* STARTING traccar ***********************

Service traccar started

Dec 26, 2016 11:23:30 PM org.rzo.yajsw.os.posix.PosixService getPid
INFO: wrapper pid file: /var/run/wrapper.traccar.pid
Dec 26, 2016 11:23:31 PM org.rzo.yajsw.os.posix.PosixService getPid
INFO: wrapper pid file: /var/run/wrapper.traccar.pid
Dec 26, 2016 11:23:31 PM org.rzo.yajsw.os.posix.PosixService getPid
INFO: wrapper pid file: /var/run/wrapper.traccar.pid
Service traccar started

But when I tried to execute server in web browser, page wont load.
I can see entries in error log as under:-
INFO|wrapper|Service traccar|16-12-26 23:15:54|posix_spawn pid 19897
INFO|wrapper|Service traccar|16-12-26 23:15:54|started process 19897
INFO|wrapper|Service traccar|16-12-26 23:15:54|started process with pid 19897
INFO|19897/0|Service traccar|16-12-26 23:15:55|[INFO] StandardFileSystemManager - Using "/tmp/vfs_cache" as temporary files store.
INFO|19897/0|Service traccar|16-12-26 23:15:55|java.lang.reflect.InvocationTargetException
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at java.lang.reflect.Method.invoke(Method.java:498)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at org.rzo.yajsw.app.WrapperJVMMain.executeMain(WrapperJVMMain.java:60)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at org.rzo.yajsw.app.WrapperJVMMain.main(WrapperJVMMain.java:43)
INFO|19897/0|Service traccar|16-12-26 23:15:55|Caused by: java.lang.RuntimeException: Failed to load class of driverClassName null
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at com.zaxxer.hikari.HikariConfig.setDriverClassName(HikariConfig.java:323)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at org.traccar.database.DataManager.initDatabase(DataManager.java:99)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at org.traccar.database.DataManager.<init>(DataManager.java:67)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at org.traccar.Context.init(Context.java:176)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at org.traccar.Main.main(Main.java:35)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	... 6 more
INFO|19897/0|Service traccar|16-12-26 23:15:55|Caused by: java.lang.NullPointerException
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:307)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	at com.zaxxer.hikari.HikariConfig.setDriverClassName(HikariConfig.java:318)
INFO|19897/0|Service traccar|16-12-26 23:15:55|	... 10 more
INFO|wrapper|Service traccar|16-12-26 23:15:56|waitpid 19897 59136
INFO|wrapper|Service traccar|16-12-26 23:15:56|exit code posix process: 59136 application: 0

Kindly help.
Regards

Looks like you have forgotten point the driver
https://www.traccar.org/mysql/

Exactly it was the problem.
Thanks


text:
🛑 Test Down is down

In 4b1e9ee, Test Down (https://mail.surat.boyolali.go.id/accounts/login/?next=/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Test Down is back up in 2890dbe.

repo: tandatanya/upptime


text:
v3: Option creation fails if message ID is longer than 32 characters

Steps to reproduce

Install Hikari-Lightbulb v3.0.0a5 with the localization extra
Create a translations/en-US/LC_MESSAGES/commands.po file with a message ID with 32 characters or more, like this:

msgid "ext.mediawiki.command.articleRandom.option.number.description"
msgstr "The number of articles to show."

Develop on your bot like normal, and try to use that message ID with a line like this:

    number = lightbulb.integer(
        "ext.mediawiki.command.articleRandom.option.number.name",
        "ext.mediawiki.command.articleRandom.option.number.description",
        localize=True,
    )

See traceback in "Actual result"

Expected result
I should be able to use message IDs longer than 32 characters, considering that Gettext does not appear to have a limitation like this.
Actual result
Lightbulb complains about the key being longer than 32 characters:
E 2024-07-15 21:38:31,742 hikari.event_manager: an exception occurred handling an event (StartingEvent)
Traceback (most recent call last):
  File "/home/me/git/github.com/tomodachi94/dash2/dash/__main__.py", line 25, in on_starting
    await client.load_extensions_from_package(dash.ext)
  File "/home/me/.cache/pypoetry/virtualenvs/dash-6b0j9Q79-py3.11/lib/python3.11/site-packages/lightbulb/client.py", line 495, in load_extensions_from_package
    await self.load_extensions(*extensions)
  File "/home/me/.cache/pypoetry/virtualenvs/dash-6b0j9Q79-py3.11/lib/python3.11/site-packages/lightbulb/client.py", line 403, in load_extensions
    extension = importlib.import_module(path)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/6b1fqdwb3g56j5pazv8zkx9qd0mv3wiz-python3-3.11.9/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/me/git/github.com/tomodachi94/dash2/dash/ext/mediawiki.py", line 48, in <module>
    show_embeds_option = lightbulb.boolean(
                         ^^^^^^^^^^^^^^^^^^
  File "/home/me/.cache/pypoetry/virtualenvs/dash-6b0j9Q79-py3.11/lib/python3.11/site-packages/lightbulb/commands/options.py", line 400, in boolean
    OptionData(
  File "<string>", line 18, in __init__
  File "/home/me/.cache/pypoetry/virtualenvs/dash-6b0j9Q79-py3.11/lib/python3.11/site-packages/lightbulb/commands/options.py", line 114, in __post_init__
    raise ValueError("'name' - must be 1-32 characters")
ValueError: 'name' - must be 1-32 characters

System info
hikari-lightbulb (3.0.0a5)
hikari (2.0.0.dev126) [f65737f4]
located at /nix/store/m1k00v0qvc50hx5yx6zc2pbwnh41h224-python3.11-hikari-2.0.0.dev126/lib/python3.11/site-packages/hikari
CPython 3.11.9 GCC 13.3.0
Linux [REDACTED; was a hostname] 6.6.37 #1-NixOS SMP PREEMPT_DYNAMIC Fri Jul  5 07:34:07 UTC 2024 x86_64

Further info
No response
Checklist

[X] I have made sure to remove ANY sensitive information (bot token, passwords, credentials, personal details, etc.).
[X] I have searched the issue tracker and have made sure it's not a duplicate. If it is a follow up of another issue, I have specified it.

Thank you for your issue - this is fixed on the v3 branch and will be available from the next release. Until then you can install from source if you need it sooner.

This fix is now released in version 3.0.0a6. Install from PyPI.

repo: tandemdude/hikari-lightbulb


text:
Add FilamentPHP Icon

Skill Name
FilamentPHP
Why?
FilamentPHP is one of best full stack application builder of the moment. In really could be a good addition to icons collection
Reference Image

@eng-gabrielscardoso does only the "i" be added, since else it's kinda messy (since its text and gets horizontally too long to fit in)

@eng-gabrielscardoso what do you think about this ?

@LelouchFR great man

authors: LelouchFR eng-gabrielscardoso

repo: tandpfun/skill-icons


text:
IOS-3220 Fix decimal formatter

точно последний фикс, я случайно обрезанием и переводом в Decimal сломал логику 0,000.
Сейчас все окей 🤞

Вообще он покрыт, я не понимаю как он прошел раньше, там же явно из 0,000 в decimal 0 было, и тест все равно ОК говорил

Нужны тесты для тестов

repo: tangem/tangem-app-ios


text:
[Markets] IOS-7604 fix problem add token portfolio

Доработаны состояния под загрузку портфолио.
Также сделана фильтрация доступных сетей для отображения кнопки "Добавить"
Сделан опицонал состояния View для того чтобы не было сайд эффектов начальной инициализации

@Andoran90 вроде как все комменты учел


text:
Issue #22: Fix concurrent bulk generation

This PR attempts to fix issue #22.
The root cause of the issue with concurrent bulk generation of Snowflake IDs resulting in duplicate IDs seems to lie in how the sequence variable is being managed within the Snowflake structure in a Rust environment. I think the problem arises due to the lack of synchronisation mechanisms around the access and update of shared state—in this case, the sequence and last_timestamp fields of the Snowflake struct—when accessed by multiple threads.
Why Does This Happen?
In a concurrent environment, multiple threads might call the get_unique_id method on the same Snowflake instance at the same microsecond. Since the current implementation does not include any form of locking or synchronisation, there's a race condition on the sequence field: multiple threads read the same last_timestamp, see that it hasn't changed, and then concurrently attempt to increment the sequence. However, without proper synchronisation, they might not see each other's updates, resulting in the same sequence value being used for multiple IDs.
To fix this, we need to introduce thread-safety into the ID generation process to ensure that concurrent accesses to the sequence and last_timestamp fields are correctly synchronised. In Rust, this can be achieved using synchronisation primitives from the std::sync module with Mutex or Atomic types. Given that the performance of the ID generation is critical and must be high-throughput, using atomic operations is preferable because they incur less overhead than a mutex lock.

@tangledbytes Please take a look at this PR which might fix issue #22. Please feel free to use the code and mould it to suit your coding standards and style.

repo: tangledbytes/nodejs-snowflake