1453 lines
50 KiB
YAML
1453 lines
50 KiB
YAML
- alias: Sungrow_Go_to_Standby_quirk
|
|
description: ''
|
|
triggers:
|
|
- trigger: time_pattern
|
|
minutes: /10
|
|
conditions:
|
|
- condition: state
|
|
entity_id: sensor.sungrow_inverter_state
|
|
state: Running
|
|
for:
|
|
hours: 1
|
|
minutes: 0
|
|
seconds: 0
|
|
- condition: state
|
|
entity_id: binary_sensor.battery_discharging_delay
|
|
state: 'off'
|
|
for:
|
|
hours: 0
|
|
minutes: 10
|
|
seconds: 0
|
|
- condition: state
|
|
entity_id: binary_sensor.pv_generating_delay
|
|
state: 'off'
|
|
for:
|
|
hours: 0
|
|
minutes: 10
|
|
seconds: 0
|
|
- condition: numeric_state
|
|
entity_id: sensor.mppt1_voltage
|
|
below: 10
|
|
- condition: numeric_state
|
|
entity_id: sensor.mppt2_voltage
|
|
below: 10
|
|
- condition: state
|
|
entity_id: sensor.ems_mode_selection
|
|
state: Self-consumption mode (default)
|
|
- condition: state
|
|
entity_id: sun.sun
|
|
state: below_horizon
|
|
- condition: state
|
|
entity_id: sensor.backup_mode
|
|
state: Disabled
|
|
actions:
|
|
- action: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: Shutdown
|
|
target:
|
|
entity_id: input_select.set_sg_inverter_run_mode
|
|
- delay:
|
|
hours: 0
|
|
minutes: 1
|
|
seconds: 0
|
|
- action: input_select.select_option
|
|
metadata: {}
|
|
data:
|
|
option: Enabled
|
|
target:
|
|
entity_id: input_select.set_sg_inverter_run_mode
|
|
mode: single
|
|
- id: automation_sungrow_inverter_state
|
|
alias: sungrow inverter state
|
|
description: Enables/ stops the inverter
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_inverter_run_mode
|
|
conditions: []
|
|
variables:
|
|
sg_start: 207
|
|
sg_stop: 206
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 12999
|
|
value: "{% if is_state('input_select.set_sg_inverter_run_mode', \"Enabled\"\
|
|
) %}\n {{sg_start}}\n{% else %}\n {{sg_stop}}\n{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.system_state
|
|
mode: single
|
|
- id: automation_sungrow_inverter_state_input_selector_update
|
|
alias: sungrow inverter enable/ stop input selector update
|
|
description: Updates enable/ stops input selector
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.sungrow_inverter_state
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.sungrow_inverter_state'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_inverter_run_mode
|
|
data:
|
|
option: "{% if is_state('sensor.sungrow_inverter_state', \"Shutdown\") %}\n\
|
|
\ Shutdown\n{% else %}\n Enabled\n{% endif %}\n"
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_max_soc
|
|
alias: sungrow inverter update max SoC
|
|
description: Updates Sungrow max Soc holding register
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_max_soc
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13057
|
|
value: '{{ states(''input_number.set_sg_max_soc'') | int *10}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.max_soc
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_max_soc_input_slider_update
|
|
alias: sungrow inverter max SoC input slider update
|
|
description: Updates Sungrow max Soc input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.max_soc
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.max_soc'', ''unavailable'') }}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_max_soc
|
|
data:
|
|
value: '{{ states(''sensor.max_soc'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_min_soc
|
|
alias: sungrow inverter update min SoC
|
|
description: Updates Sungrow min Soc holding register
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_min_soc
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13058
|
|
value: '{{ states(''input_number.set_sg_min_soc'') | int *10}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.min_soc
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_min_soc_input_slider_update
|
|
alias: sungrow inverter min SoC input slider update
|
|
description: Updates Sungrow min Soc input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.min_soc
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.min_soc'', ''unavailable'') }}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_min_soc
|
|
data:
|
|
value: '{{ states(''sensor.min_soc'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_reserved_soc_for_backup
|
|
alias: sungrow inverter update reserved soc for backup
|
|
description: Updates reserved SoC for backup register
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_reserved_soc_for_backup
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13099
|
|
value: '{{ states(''input_number.set_sg_reserved_soc_for_backup'') | int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.reserved_soc_for_backup
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_reserved_backup_soc_input_slider_update
|
|
alias: sungrow inverter reserved backup SoC input slider update
|
|
description: Updates Sungrow reserved backup Soc input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.reserved_soc_for_backup
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.reserved_soc_for_backup'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_reserved_soc_for_backup
|
|
data:
|
|
value: '{{ states(''sensor.reserved_soc_for_backup'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_battery_forced_charge_discharge_cmd
|
|
alias: sungrow inverter update battery forced charge discharge cmd
|
|
description: Updates Sungrow holding register for battery forced charge discharge
|
|
command
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_battery_forced_charge_discharge_cmd
|
|
conditions: []
|
|
variables:
|
|
ems_forced_charge: 170
|
|
ems_forced_discharge: 187
|
|
ems_stop_default: 204
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13050
|
|
value: "{% if is_state('input_select.set_sg_battery_forced_charge_discharge_cmd',\
|
|
\ \"Stop (default)\") %} \n {{ems_stop_default}}\n{% elif is_state('input_select.set_sg_battery_forced_charge_discharge_cmd',\
|
|
\ \"Forced charge\") %} \n {{ems_forced_charge}}\n{% elif is_state('input_select.set_sg_battery_forced_charge_discharge_cmd',\
|
|
\ \"Forced discharge\") %} \n {{ems_forced_discharge}}\n{% else %}\n {{ems_stop_default}}\n\
|
|
{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.battery_forced_charge_discharge_cmd_raw
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_battery_forced_charge_discharge_cmd_input_select_update
|
|
alias: sungrow inverter update battery forced charge discharge cmd input select
|
|
update
|
|
description: Updates Sungrow battery forced charge discharge cmd input select
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.battery_forced_charge_discharge_cmd
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.battery_forced_charge_discharge_cmd'',
|
|
''unavailable'') }}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_battery_forced_charge_discharge_cmd
|
|
data:
|
|
option: '{{ states(''sensor.battery_forced_charge_discharge_cmd'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_ems_mode
|
|
alias: sungrow inverter update EMS mode
|
|
description: Updates EMS mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_ems_mode
|
|
conditions: []
|
|
variables:
|
|
ems_mode_self_consume: 0
|
|
ems_mode_forced: 2
|
|
ems_mode_external: 3
|
|
ems_mode_vpp: 4
|
|
ems_mode_microgrid: 8
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13049
|
|
value: "{% if is_state('input_select.set_sg_ems_mode', \"Self-consumption mode\
|
|
\ (default)\") %} \n {{ems_mode_self_consume}}\n{% elif is_state('input_select.set_sg_ems_mode',\
|
|
\ \"Forced mode\") %} \n {{ems_mode_forced}}\n{% elif is_state('input_select.set_sg_ems_mode',\
|
|
\ \"External EMS\") %} \n {{ems_mode_external}}\n{% elif is_state('input_select.set_sg_ems_mode',\
|
|
\ \"VPP\") %} \n {{ems_mode_vpp}}\n{% elif is_state('input_select.set_sg_ems_mode',\
|
|
\ \"MicroGrid\") %} \n {{ems_mode_microgrid}}\n{% else %} \n {{ems_mode_self_consume}}\n\
|
|
{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.ems_mode_selection_raw
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_load_adjustment_mode
|
|
alias: sungrow inverter update Load adjustment mode
|
|
description: Updates Load adjustment mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_load_adjustment_mode
|
|
conditions: []
|
|
variables:
|
|
load_adjustment_mode_timing: 0
|
|
load_adjustment_on_off: 1
|
|
load_adjustment_power_optimized: 2
|
|
load_adjustment_disabled: 3
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13001
|
|
value: "{% if is_state('input_select.set_sg_load_adjustment_mode', \"Timing\"\
|
|
) %} \n {{load_adjustment_mode_timing}}\n{% elif is_state('input_select.set_sg_load_adjustment_mode',\
|
|
\ \"ON/OFF\") %} \n {{load_adjustment_on_off}}\n{% elif is_state('input_select.set_sg_load_adjustment_mode',\
|
|
\ \"Power optimization\") %} \n {{load_adjustment_power_optimized}}\n{% elif\
|
|
\ is_state('input_select.set_sg_load_adjustment_mode', \"Disabled\") %} \n\
|
|
\ {{load_adjustment_disabled}}\n{% else %} \n {{load_adjustment_disabled}}\n\
|
|
{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.load_adjustment_mode_selection_raw
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_load_adjustment_mode_on_off
|
|
alias: sungrow inverter update Load adjustment mode ON/OFF
|
|
description: Updates Load adjustment mode ON/OFF
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_load_adjustment_mode_on_off
|
|
conditions: []
|
|
variables:
|
|
load_adjustment_mode_on_off_on: 170
|
|
load_adjustment_mode_on_off_off: 85
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13010
|
|
value: "{% if is_state('input_select.set_sg_load_adjustment_mode_on_off', \"\
|
|
ON\") %} \n {{load_adjustment_mode_on_off_on}}\n{% elif is_state('input_select.set_sg_load_adjustment_mode_on_off',\
|
|
\ \"OFF\") %} \n {{load_adjustment_mode_on_off_off}}\n{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.load_adjustment_mode_on_off_selection_raw
|
|
mode: single
|
|
- id: automation_sungrow_inverter_export_power_limit_mode_update
|
|
alias: sungrow inverter export power limit mode update
|
|
description: Updates Enable/Disable for export power limit mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.export_power_limit_mode_raw
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.export_power_limit_mode_raw'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_export_power_limit_mode
|
|
data:
|
|
option: "{% if ((states('sensor.export_power_limit_mode_raw') |int) == 0x00AA)\
|
|
\ %} \n Enabled\n{% elif ((states('sensor.export_power_limit_mode_raw') |int)\
|
|
\ == 0x0055) %} \n Disabled\n{% endif %}\n"
|
|
mode: single
|
|
- id: automation_sungrow_inverter_backup_mode
|
|
alias: sungrow inverter backup mode
|
|
description: Set backup mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_backup_mode
|
|
conditions: []
|
|
variables:
|
|
enable: 170
|
|
disable: 85
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13074
|
|
value: "{% if is_state('input_select.set_sg_backup_mode', \"Enabled\") %} \n\
|
|
\ {{enable}}\n{% elif is_state('input_select.set_sg_backup_mode', \"Disabled\"\
|
|
) %}\n {{disable}}\n{% else %}\n {{disable}}\n{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.backup_mode_raw
|
|
mode: single
|
|
- id: automation_sungrow_inverter_backup_mode_update
|
|
alias: sungrow inverter backup mode mode update
|
|
description: Updates Enable/Disable for backup mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.backup_mode_raw
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.backup_mode_raw'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_backup_mode
|
|
data:
|
|
option: "{% if ((states('sensor.backup_mode_raw') |int) == 0xAA) %} \n Enabled\n\
|
|
{% elif ((states('sensor.backup_mode_raw') |int) == 0x55) %} \n Disabled\n\
|
|
{% endif %}\n"
|
|
mode: single
|
|
- id: automation_sungrow_inverter_export_power_limit_mode
|
|
alias: sungrow inverter export power limit mode
|
|
description: Set export power limit mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_export_power_limit_mode
|
|
conditions: []
|
|
variables:
|
|
export_limit_enable: 170
|
|
export_limit_disable: 85
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13086
|
|
value: "{% if is_state('input_select.set_sg_export_power_limit_mode', \"Enabled\"\
|
|
) %} \n {{export_limit_enable}}\n{% elif is_state('input_select.set_sg_export_power_limit_mode',\
|
|
\ \"Disabled\") %}\n {{export_limit_disable}}\n{% else %}\n {{export_limit_disable}}\n\
|
|
{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.export_power_limit_mode_raw
|
|
mode: single
|
|
- id: automation_sungrow_inverter_export_power_limit_update
|
|
alias: sungrow inverter export power limit update
|
|
description: Updates export power limit slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.export_power_limit
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ states(''sensor.export_power_limit'') | is_number }}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_export_power_limit
|
|
data:
|
|
value: '{{ states(''sensor.export_power_limit'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_set_export_power_limit
|
|
alias: sungrow inverter export power limit
|
|
description: Sets export power limit
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_export_power_limit
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13073
|
|
value: '{{ states(''input_number.set_sg_export_power_limit'') }}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.export_power_limit
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_load_adjustment_mode_input_select_update
|
|
alias: sungrow inverter update Load adjustment mode input select update
|
|
description: Updates Load adjustment mode input select
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.load_adjustment_mode_selection
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.load_adjustment_mode_selection'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_load_adjustment_mode
|
|
data:
|
|
option: '{{ states(''sensor.load_adjustment_mode_selection'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_ems_mode_input_select_update
|
|
alias: sungrow inverter update EMS mode input select update
|
|
description: Updates EMS mode input select
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.ems_mode_selection
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.ems_mode_selection'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_ems_mode
|
|
data:
|
|
option: '{{ states(''sensor.ems_mode_selection'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_battery_forced_charge_discharge_power
|
|
alias: sungrow inverter update battery forced charge discharge power
|
|
description: Sets battery forced charge discharge power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_forced_charge_discharge_power
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13051
|
|
value: '{{ states(''input_number.set_sg_forced_charge_discharge_power'') | int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.battery_forced_charge_discharge_power
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_battery_forced_charge_discharge_power_input_slider_update
|
|
alias: sungrow inverter update battery forced charge discharge power input slider
|
|
update
|
|
description: Updates battery forced charge discharge power input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.battery_forced_charge_discharge_power
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ states(''sensor.battery_forced_charge_discharge_power'') |
|
|
is_number }}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_forced_charge_discharge_power
|
|
data:
|
|
value: '{{ states(''sensor.battery_forced_charge_discharge_power'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_battery_max_charge_power
|
|
alias: sungrow inverter update battery max charge power
|
|
description: Sets battery max charge power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_battery_max_charge_power
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 33046
|
|
value: '{{ states(''input_number.set_sg_battery_max_charge_power'') |float /10
|
|
|int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.battery_max_charge_power
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_battery_max_charge_power_input_slider_update
|
|
alias: sungrow inverter update battery max charge power input slider update
|
|
description: Updates battery max charge power input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.battery_max_charge_power
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ states(''sensor.battery_max_charge_power'') | is_number }}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_battery_max_charge_power
|
|
data:
|
|
value: '{{ states(''sensor.battery_max_charge_power'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_battery_max_discharge_power
|
|
alias: sungrow inverter update battery max discharge power
|
|
description: Sets battery max discharge power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_battery_max_discharge_power
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 33047
|
|
value: '{{ states(''input_number.set_sg_battery_max_discharge_power'') |float
|
|
/10 |int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.battery_max_discharge_power
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_battery_max_discharge_power_input_slider_update
|
|
alias: sungrow inverter update battery max discharge power input slider update
|
|
description: Updates battery max discharge power input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.battery_max_discharge_power
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ states(''sensor.battery_max_discharge_power'') | is_number
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_battery_max_discharge_power
|
|
data:
|
|
value: '{{ states(''sensor.battery_max_discharge_power'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_battery_charging_start_power
|
|
alias: sungrow inverter update battery charging start power
|
|
description: Sets battery charging start power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_battery_charging_start_power
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 33148
|
|
value: '{{ states(''input_number.set_sg_battery_charging_start_power'') |float
|
|
/10 |int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.battery_charging_start_power
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_battery_charging_start_power_input_slider_update
|
|
alias: sungrow inverter update battery charging start power input slider update
|
|
description: Updates battery charging start power input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.battery_charging_start_power
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ states(''sensor.battery_charging_start_power'') | is_number
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_battery_charging_start_power
|
|
data:
|
|
value: '{{ states(''sensor.battery_charging_start_power'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_battery_discharging_start_power
|
|
alias: sungrow inverter update battery discharging start power
|
|
description: Sets battery discharging start power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_battery_discharging_start_power
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 33149
|
|
value: '{{ states(''input_number.set_sg_battery_discharging_start_power'') |float
|
|
/10 | int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.battery_discharging_start_power
|
|
mode: single
|
|
- id: automation_sungrow_inverter_update_battery_discharging_start_power_input_slider_update
|
|
alias: sungrow inverter update battery discharging start power input slider update
|
|
description: Updates battery discharging start power input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.battery_discharging_start_power
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ states(''sensor.set_sg_battery_discharging_start_power'')
|
|
| is_number }}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_battery_discharging_start_power
|
|
data:
|
|
value: '{{ states(''sensor.battery_discharging_start_power'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_global_mpp_scan_manual_update
|
|
alias: sungrow inverter global mpp scan manual update
|
|
description: Updates Enable/Disable for global mpp scan manual
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.global_mpp_scan_manual_raw
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.global_mpp_scan_manual_raw'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_global_mpp_scan_manual
|
|
data:
|
|
option: "{% if ((states('sensor.global_mpp_scan_manual_raw') | int(default=0))\
|
|
\ == 0x00AA) %} \n Enabled\n{% elif ((states('sensor.global_mpp_scan_manual_raw')\
|
|
\ | int(default=0)) == 0x0055) %} \n Disabled\n{% endif %}\n"
|
|
mode: single
|
|
- id: automation_sungrow_global_mpp_scan_manual
|
|
alias: sungrow inverter global mpp scan manual
|
|
description: Set global mpp scan manual
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_global_mpp_scan_manual
|
|
conditions: []
|
|
variables:
|
|
export_limit_enable: 170
|
|
export_limit_disable: 85
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx
|
|
slave: secret sungrow_modbus_slave
|
|
address: 30229
|
|
value: "{% if is_state('input_select.set_sg_global_mpp_scan_manual', \"Enabled\"\
|
|
) %} \n {{export_limit_enable}}\n{% elif is_state('input_select.set_sg_global_mpp_scan_manual',\
|
|
\ \"Disabled\") %}\n {{export_limit_disable}}\n{% else %}\n {{export_limit_disable}}\n\
|
|
{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.global_mpp_scan_manual_raw
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_state
|
|
alias: sungrow inverter 2 state
|
|
description: Enables/ stops the inverter
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_2_inverter_run_mode
|
|
conditions: []
|
|
variables:
|
|
sg_start: 207
|
|
sg_stop: 206
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 12999
|
|
value: "{% if is_state('input_select.set_sg_2_inverter_run_mode', \"Enabled\"\
|
|
) %}\n {{sg_start}}\n{% else %}\n {{sg_stop}}\n{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.system_state_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_state_input_selector_update
|
|
alias: sungrow inverter 2 enable/ stop input selector update
|
|
description: Updates enable/ stops input selector
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.sungrow_inverter_state_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.sungrow_inverter_state_2'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_2_inverter_run_mode
|
|
data:
|
|
option: "{% if is_state('sensor.sungrow_inverter_state_2', \"Shutdown\") %}\n\
|
|
\ Shutdown\n{% else %}\n Enabled\n{% endif %}\n"
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_max_soc
|
|
alias: sungrow inverter 2 update max SoC
|
|
description: Updates Sungrow max Soc holding register
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_2_max_soc
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 13057
|
|
value: '{{ states(''input_number.set_sg_2_max_soc'') | int *10}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.max_soc_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_max_soc_input_slider_update
|
|
alias: sungrow inverter 2 max SoC input slider update
|
|
description: Updates Sungrow max Soc input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.max_soc_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.max_soc_2'', ''unavailable'') }}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_2_max_soc
|
|
data:
|
|
value: '{{ states(''sensor.max_soc_2'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_min_soc
|
|
alias: sungrow inverter 2 update min SoC
|
|
description: Updates Sungrow min Soc holding register
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_2_min_soc
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 13058
|
|
value: '{{ states(''input_number.set_sg_2_min_soc'') | int *10}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.min_soc_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_min_soc_input_slider_update
|
|
alias: sungrow inverter 2 min SoC input slider update
|
|
description: Updates Sungrow min Soc input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.min_soc_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.min_soc_2'', ''unavailable'') }}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_2_min_soc
|
|
data:
|
|
value: '{{ states(''sensor.min_soc_2'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_reserved_soc_for_backup
|
|
alias: sungrow inverter 2 update reserved soc for backup
|
|
description: Updates reserved SoC for backup register
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_2_reserved_soc_for_backup
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 13099
|
|
value: '{{ states(''input_number.set_sg_2_reserved_soc_for_backup'') | int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.reserved_soc_for_backup_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_reserved_backup_soc_input_slider_update
|
|
alias: sungrow inverter 2 reserved backup SoC input slider update
|
|
description: Updates Sungrow reserved backup Soc input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.reserved_soc_for_backup_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.reserved_soc_for_backup_2'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_2_reserved_soc_for_backup
|
|
data:
|
|
value: '{{ states(''sensor.reserved_soc_for_backup_2'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_battery_forced_charge_discharge_cmd
|
|
alias: sungrow inverter 2 update battery forced charge discharge cmd
|
|
description: Updates Sungrow holding register for battery forced charge discharge
|
|
command
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_2_battery_forced_charge_discharge_cmd
|
|
conditions: []
|
|
variables:
|
|
ems_forced_charge: 170
|
|
ems_forced_discharge: 187
|
|
ems_stop_default: 204
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 13050
|
|
value: "{% if is_state('input_select.set_sg_2_battery_forced_charge_discharge_cmd',\
|
|
\ \"Stop (default)\") %} \n {{ems_stop_default}}\n{% elif is_state('input_select.set_sg_2_battery_forced_charge_discharge_cmd',\
|
|
\ \"Forced charge\") %} \n {{ems_forced_charge}}\n{% elif is_state('input_select.set_sg_2_battery_forced_charge_discharge_cmd',\
|
|
\ \"Forced discharge\") %} \n {{ems_forced_discharge}}\n{% else %}\n {{ems_stop_default}}\n\
|
|
{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.battery_forced_charge_discharge_cmd_raw_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_battery_forced_charge_discharge_cmd_input_select_update
|
|
alias: sungrow inverter 2 update battery forced charge discharge cmd input select
|
|
update
|
|
description: Updates Sungrow battery forced charge discharge cmd input select
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.battery_forced_charge_discharge_cmd_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.battery_forced_charge_discharge_cmd_2'',
|
|
''unavailable'') }}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_2_battery_forced_charge_discharge_cmd
|
|
data:
|
|
option: '{{ states(''sensor.battery_forced_charge_discharge_cmd_2'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_ems_mode
|
|
alias: sungrow inverter 2 update EMS mode
|
|
description: Updates EMS mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_2_ems_mode
|
|
conditions: []
|
|
variables:
|
|
ems_mode_self_consume: 0
|
|
ems_mode_forced: 2
|
|
ems_mode_external: 3
|
|
ems_mode_vpp: 4
|
|
ems_mode_microgrid: 8
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 13049
|
|
value: "{% if is_state('input_select.set_sg_2_ems_mode', \"Self-consumption\
|
|
\ mode (default)\") %} \n {{ems_mode_self_consume}}\n{% elif is_state('input_select.set_sg_2_ems_mode',\
|
|
\ \"Forced mode\") %} \n {{ems_mode_forced}}\n{% elif is_state('input_select.set_sg_2_ems_mode',\
|
|
\ \"External EMS\") %} \n {{ems_mode_external}}\n{% elif is_state('input_select.set_sg_2_ems_mode',\
|
|
\ \"VPP\") %} \n {{ems_mode_vpp}}\n{% elif is_state('input_select.set_sg_2_ems_mode',\
|
|
\ \"MicroGrid\") %} \n {{ems_mode_microgrid}}\n{% else %} \n {{ems_mode_self_consume}}\n\
|
|
{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.ems_mode_selection_raw_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_load_adjustment_mode
|
|
alias: sungrow inverter 2 update Load adjustment mode
|
|
description: Updates Load adjustment mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_2_load_adjustment_mode
|
|
conditions: []
|
|
variables:
|
|
load_adjustment_mode_timing: 0
|
|
load_adjustment_on_off: 1
|
|
load_adjustment_power_optimized: 2
|
|
load_adjustment_disabled: 3
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 13001
|
|
value: "{% if is_state('input_select.set_sg_2_load_adjustment_mode', \"Timing\"\
|
|
) %} \n {{load_adjustment_mode_timing}}\n{% elif is_state('input_select.set_sg_2_load_adjustment_mode',\
|
|
\ \"ON/OFF\") %} \n {{load_adjustment_on_off}}\n{% elif is_state('input_select.set_sg_2_load_adjustment_mode',\
|
|
\ \"Power optimization\") %} \n {{load_adjustment_power_optimized}}\n{% elif\
|
|
\ is_state('input_select.set_sg_2_load_adjustment_mode', \"Disabled\") %}\
|
|
\ \n {{load_adjustment_disabled}}\n{% else %} \n {{load_adjustment_disabled}}\n\
|
|
{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.load_adjustment_mode_selection_raw
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_load_adjustment_mode_on_off
|
|
alias: sungrow inverter 2 update Load adjustment mode ON/OFF
|
|
description: Updates Load adjustment mode ON/OFF
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_2_load_adjustment_mode_on_off
|
|
conditions: []
|
|
variables:
|
|
load_adjustment_mode_on_off_on: 170
|
|
load_adjustment_mode_on_off_off: 85
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 13010
|
|
value: "{% if is_state('input_select.set_sg_2_load_adjustment_mode_on_off',\
|
|
\ \"ON\") %} \n {{load_adjustment_mode_on_off_on}}\n{% elif is_state('input_select.set_sg_2_load_adjustment_mode_on_off',\
|
|
\ \"OFF\") %} \n {{load_adjustment_mode_on_off_off}}\n{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.load_adjustment_mode_on_off_selection_raw
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_export_power_limit_mode_update
|
|
alias: sungrow inverter 2 export power limit mode update
|
|
description: Updates Enable/Disable for export power limit mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.export_power_limit_mode_raw_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.export_power_limit_mode_raw_2'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_2_export_power_limit_mode
|
|
data:
|
|
option: "{% if ((states('sensor.export_power_limit_mode_raw_2') |int) == 0x00AA)\
|
|
\ %} \n Enabled\n{% elif ((states('sensor.export_power_limit_mode_raw_2')\
|
|
\ |int) == 0x0055) %} \n Disabled\n{% endif %}\n"
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_backup_mode
|
|
alias: sungrow inverter 2 backup mode
|
|
description: Set backup mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_2_backup_mode
|
|
conditions: []
|
|
variables:
|
|
enable: 170
|
|
disable: 85
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 13074
|
|
value: "{% if is_state('input_select.set_sg_2_backup_mode', \"Enabled\") %}\
|
|
\ \n {{enable}}\n{% elif is_state('input_select.set_sg_2_backup_mode', \"\
|
|
Disabled\") %}\n {{disable}}\n{% else %}\n {{disable}}\n{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.backup_mode_raw_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_backup_mode_update
|
|
alias: sungrow inverter 2 backup mode mode update
|
|
description: Updates Enable/Disable for backup mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.backup_mode_raw_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.backup_mode_raw_2'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_2_backup_mode
|
|
data:
|
|
option: "{% if ((states('sensor.backup_mode_raw_2') |int) == 0xAA) %} \n Enabled\n\
|
|
{% elif ((states('sensor.backup_mode_raw_2') |int) == 0x55) %} \n Disabled\n\
|
|
{% endif %}\n"
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_export_power_limit_mode
|
|
alias: sungrow inverter 2 export power limit mode
|
|
description: Set export power limit mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_2_export_power_limit_mode
|
|
conditions: []
|
|
variables:
|
|
export_limit_enable: 170
|
|
export_limit_disable: 85
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 13086
|
|
value: "{% if is_state('input_select.set_sg_2_export_power_limit_mode', \"Enabled\"\
|
|
) %} \n {{export_limit_enable}}\n{% elif is_state('input_select.set_sg_2_export_power_limit_mode',\
|
|
\ \"Disabled\") %}\n {{export_limit_disable}}\n{% else %}\n {{export_limit_disable}}\n\
|
|
{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.export_power_limit_mode_raw_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_export_power_limit_update
|
|
alias: sungrow inverter 2 export power limit update
|
|
description: Updates export power limit slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.export_power_limit_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ states(''sensor.export_power_limit_2'') | is_number }}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_2_export_power_limit
|
|
data:
|
|
value: '{{ states(''sensor.export_power_limit_2'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_set_export_power_limit
|
|
alias: sungrow inverter 2 export power limit
|
|
description: Sets export power limit
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_2_export_power_limit
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 13073
|
|
value: '{{ states(''input_number.set_sg_2_export_power_limit'') }}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.export_power_limit_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_load_adjustment_mode_input_select_update
|
|
alias: sungrow inverter 2 update Load adjustment mode input select update
|
|
description: Updates Load adjustment mode input select
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.load_adjustment_mode_selection
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.load_adjustment_mode_selection'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_2_load_adjustment_mode
|
|
data:
|
|
option: '{{ states(''sensor.load_adjustment_mode_selection'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_ems_mode_input_select_update
|
|
alias: sungrow inverter 2 update EMS mode input select update
|
|
description: Updates EMS mode input select
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.ems_mode_selection_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.ems_mode_selection_2'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_2_ems_mode
|
|
data:
|
|
option: '{{ states(''sensor.ems_mode_selection_2'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_battery_forced_charge_discharge_power
|
|
alias: sungrow inverter 2 update battery forced charge discharge power
|
|
description: Sets battery forced charge discharge power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_2_forced_charge_discharge_power
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 13051
|
|
value: '{{ states(''input_number.set_sg_2_forced_charge_discharge_power'') |
|
|
int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.battery_forced_charge_discharge_power_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_battery_forced_charge_discharge_power_input_slider_update
|
|
alias: sungrow inverter 2 update battery forced charge discharge power input slider
|
|
update
|
|
description: Updates battery forced charge discharge power input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.battery_forced_charge_discharge_power_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ states(''sensor.battery_forced_charge_discharge_power_2'')
|
|
| is_number }}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_2_forced_charge_discharge_power
|
|
data:
|
|
value: '{{ states(''sensor.battery_forced_charge_discharge_power_2'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_battery_max_charge_power
|
|
alias: sungrow inverter 2 update battery max charge power
|
|
description: Sets battery max charge power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_2_battery_max_charge_power
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 33046
|
|
value: '{{ states(''input_number.set_sg_2_battery_max_charge_power'') |float
|
|
/10 |int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.battery_max_charge_power_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_battery_max_charge_power_input_slider_update
|
|
alias: sungrow inverter 2 update battery max charge power input slider update
|
|
description: Updates battery max charge power input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.battery_max_charge_power_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ states(''sensor.battery_max_charge_power_2'') | is_number
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_2_battery_max_charge_power
|
|
data:
|
|
value: '{{ states(''sensor.battery_max_charge_power_2'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_battery_max_discharge_power
|
|
alias: sungrow inverter 2 update battery max discharge power
|
|
description: Sets battery max discharge power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_2_battery_max_discharge_power
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 33047
|
|
value: '{{ states(''input_number.set_sg_2_battery_max_discharge_power'') |float
|
|
/10 |int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.battery_max_discharge_power_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_battery_max_discharge_power_input_slider_update
|
|
alias: sungrow inverter 2 update battery max discharge power input slider update
|
|
description: Updates battery max discharge power input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.battery_max_discharge_power_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ states(''sensor.battery_max_discharge_power_2'') | is_number
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_2_battery_max_discharge_power
|
|
data:
|
|
value: '{{ states(''sensor.battery_max_discharge_power_2'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_battery_charging_start_power
|
|
alias: sungrow inverter 2 update battery charging start power
|
|
description: Sets battery charging start power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_2_battery_charging_start_power
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 33148
|
|
value: '{{ states(''input_number.set_sg_2_battery_charging_start_power'') |float
|
|
/10 |int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.battery_charging_start_power
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_battery_charging_start_power_input_slider_update
|
|
alias: sungrow inverter 2 update battery charging start power input slider update
|
|
description: Updates battery charging start power input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.battery_charging_start_power
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ states(''sensor.battery_charging_start_power'') | is_number
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_2_battery_charging_start_power
|
|
data:
|
|
value: '{{ states(''sensor.battery_charging_start_power'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_battery_discharging_start_power
|
|
alias: sungrow inverter 2 update battery discharging start power
|
|
description: Sets battery discharging start power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.set_sg_2_battery_discharging_start_power
|
|
conditions: []
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 33149
|
|
value: '{{ states(''input_number.set_sg_2_battery_discharging_start_power'')
|
|
|float /10 | int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.battery_discharging_start_power_2
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_update_battery_discharging_start_power_input_slider_update
|
|
alias: sungrow inverter 2 update battery discharging start power input slider update
|
|
description: Updates battery discharging start power input slider
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.battery_discharging_start_power_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ states(''sensor.set_sg_2_battery_discharging_start_power'')
|
|
| is_number }}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.set_sg_2_battery_discharging_start_power
|
|
data:
|
|
value: '{{ states(''sensor.battery_discharging_start_power_2'') }}'
|
|
mode: single
|
|
- id: automation_sungrow_inverter_2_global_mpp_scan_manual_update
|
|
alias: sungrow inverter 2 global mpp scan manual update
|
|
description: Updates Enable/Disable for global mpp scan manual
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.global_mpp_scan_manual_raw_2
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ not is_state(''sensor.global_mpp_scan_manual_raw_2'', ''unavailable'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.set_sg_2_global_mpp_scan_manual
|
|
data:
|
|
option: "{% if ((states('sensor.global_mpp_scan_manual_raw_2') | int(default=0))\
|
|
\ == 0x00AA) %} \n Enabled\n{% elif ((states('sensor.global_mpp_scan_manual_raw_2')\
|
|
\ | int(default=0)) == 0x0055) %} \n Disabled\n{% endif %}\n"
|
|
mode: single
|
|
- id: automation_sungrow_global_2_mpp_scan_manual
|
|
alias: sungrow inverter 2 global mpp scan manual
|
|
description: Set global mpp scan manual
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.set_sg_2_global_mpp_scan_manual
|
|
conditions: []
|
|
variables:
|
|
export_limit_enable: 170
|
|
export_limit_disable: 85
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowSHx 2
|
|
slave: secret sungrow_modbus_slave_inv2
|
|
address: 30229
|
|
value: "{% if is_state('input_select.set_sg_2_global_mpp_scan_manual', \"Enabled\"\
|
|
) %} \n {{export_limit_enable}}\n{% elif is_state('input_select.set_sg_2_global_mpp_scan_manual',\
|
|
\ \"Disabled\") %}\n {{export_limit_disable}}\n{% else %}\n {{export_limit_disable}}\n\
|
|
{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.global_mpp_scan_manual_raw_2
|
|
mode: single
|