654 lines
25 KiB
YAML
654 lines
25 KiB
YAML
- id: sungrow_inverter_automate_stop_battery_charging
|
|
alias: Sungrow Inverter Automate Stop Battery Charging
|
|
triggers:
|
|
- trigger: numeric_state
|
|
entity_id: sensor.sungrow_inverter_battery_level_nominal
|
|
above: 79.9
|
|
actions:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ (states(''input_number.sungrow_inverter_set_battery_maximum_charge_power'')
|
|
| float) = 10.0 }}'
|
|
then:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.sungrow_inverter_set_battery_maximum_charge_power
|
|
data:
|
|
value: 10.0
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ (states(''input_number.sungrow_inverter_set_export_power_limit'')
|
|
| float) < 10000 }}'
|
|
then:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.sungrow_inverter_set_export_power_limit
|
|
data:
|
|
value: 10000
|
|
mode: single
|
|
- id: sungrow_wallbox_automate_pv_surplus
|
|
alias: Sungrow Wallbox Automate PV surplus
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_inverter_total_dc_power
|
|
conditions:
|
|
- condition: state
|
|
entity_id: sensor.sungrow_wallbox_charging_status
|
|
state: Charging
|
|
- condition: state
|
|
entity_id: input_select.sungrow_wallbox_set_charging_mode
|
|
state: PV surplus
|
|
variables:
|
|
significance_threshold: 1
|
|
min_current: 6.0
|
|
max_current: 16.0
|
|
max_power: 10000
|
|
phase_mode: '{{ 3 if is_state(''sensor.sungrow_wallbox_phase_mode'', ''Three-phase'')
|
|
else 1 }}'
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowWallbox
|
|
slave: secret wallbox_modbus_slave
|
|
address: 21202
|
|
value: "{% set total_dc_power = states('sensor.sungrow_inverter_total_dc_power')|float\
|
|
\ %} {% set load_power = states('sensor.sungrow_inverter_load_power')|float\
|
|
\ %} {% set charging_power = states('sensor.sungrow_wallbox_charging_power')|float\
|
|
\ %} {% set rated_voltage = states('sensor.sungrow_wallbox_rated_voltage')|float\
|
|
\ %} {% set last_output_current = states('sensor.sungrow_wallbox_output_current')|float\
|
|
\ %} {% set house_power = load_power - charging_power %} {% set target_power\
|
|
\ = [max_power - house_power, total_dc_power - house_power]|min %} {% set\
|
|
\ target_output_current = (target_power / rated_voltage / phase_mode)|round(1)\
|
|
\ %} {% set target_output_current = [[min_current, target_output_current]|max,\
|
|
\ max_current]|min %} {% if (target_output_current - last_output_current)\
|
|
\ > significance_threshold %}\n {% set target_output_current = last_output_current\
|
|
\ + significance_threshold %}\n{% elif (last_output_current - target_output_current)\
|
|
\ > significance_threshold %}\n {% set target_output_current = last_output_current\
|
|
\ - significance_threshold %}\n{% elif now() - states.input_number.sungrow_wallbox_set_output_current.last_changed\
|
|
\ < timedelta(seconds=20) %}\n {% set target_output_current = last_output_current\
|
|
\ %}\n{% endif %} {{ target_output_current * 10|round|int }}"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_wallbox_output_current
|
|
- id: sungrow_inverter_update_system_state
|
|
alias: Sungrow Inverter Update system state
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_select.sungrow_inverter_set_start_stop
|
|
variables:
|
|
start: 207
|
|
stop: 206
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowInverter
|
|
slave: secret sungrow_modbus_slave
|
|
address: 12999
|
|
value: '{{ start if is_state(''input_select.sungrow_inverter_set_start_stop'',
|
|
''Start'') else stop }}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_inverter_system_state
|
|
- id: sungrow_inverter_update_battery_maximum_soc
|
|
alias: Sungrow Inverter Update Battery maximum SoC
|
|
mode: restart
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_number.sungrow_inverter_set_battery_maximum_soc
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowInverter
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13057
|
|
value: '{{ states(''input_number.sungrow_inverter_set_battery_maximum_soc'')
|
|
| int *10}}'
|
|
- delay:
|
|
milliseconds: 200
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.sungrow_inverter_battery_maximum_soc
|
|
- sensor.sungrow_inverter_battery_level
|
|
- sensor.sungrow_inverter_battery_charge
|
|
- id: sungrow_inverter_update_battery_maximum_soc_input_number
|
|
alias: Sungrow Inverter Update Battery maximum SoC input number
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_inverter_battery_maximum_soc
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ has_value(''sensor.sungrow_inverter_battery_maximum_soc'')
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.sungrow_inverter_set_battery_maximum_soc
|
|
data:
|
|
value: '{{ states(''sensor.sungrow_inverter_battery_maximum_soc'') }}'
|
|
- id: sungrow_inverter_update_battery_minimum_soc
|
|
alias: Sungrow Inverter Update Battery minimum SoC
|
|
mode: restart
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_number.sungrow_inverter_set_battery_minimum_soc
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowInverter
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13058
|
|
value: '{{ states(''input_number.sungrow_inverter_set_battery_minimum_soc'')
|
|
| int *10}}'
|
|
- delay:
|
|
milliseconds: 200
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.sungrow_inverter_battery_minimum_soc
|
|
- sensor.sungrow_inverter_battery_level
|
|
- sensor.sungrow_inverter_battery_charge
|
|
- id: sungrow_inverter_update_battery_minimum_soc_input_number
|
|
alias: Sungrow Inverter Update Battery minimum SoC input number
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_inverter_battery_minimum_soc
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ has_value(''sensor.sungrow_inverter_battery_minimum_soc'')
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.sungrow_inverter_set_battery_minimum_soc
|
|
data:
|
|
value: '{{ states(''sensor.sungrow_inverter_battery_minimum_soc'') }}'
|
|
- id: sungrow_inverter_update_battery_backup_soc
|
|
alias: Sungrow Inverter Update Battery backup SoC
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_number.sungrow_inverter_set_battery_backup_soc
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowInverter
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13099
|
|
value: '{{ states(''input_number.sungrow_inverter_set_battery_backup_soc'')
|
|
| int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_inverter_battery_backup_soc
|
|
- id: sungrow_inverter_update_battery_backup_soc_input_number
|
|
alias: Sungrow Inverter Update Battery backup SoC input number
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_inverter_battery_backup_soc
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ has_value(''sensor.sungrow_inverter_battery_backup_soc'')
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.sungrow_inverter_set_battery_backup_soc
|
|
data:
|
|
value: '{{ states(''sensor.sungrow_inverter_battery_backup_soc'') }}'
|
|
- id: sungrow_inverter_update_battery_forced_charge_discharge_mode
|
|
alias: Sungrow Inverter Update Battery forced charge/discharge mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_select.sungrow_inverter_set_battery_forced_charge_discharge_mode
|
|
variables:
|
|
stop_default: 204
|
|
forced_charge: 170
|
|
forced_discharge: 187
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowInverter
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13050
|
|
value: "{% if is_state('input_select.sungrow_inverter_set_battery_forced_charge_discharge_mode',\
|
|
\ \"Stop (default)\") %}\n {{stop_default}}\n{% elif is_state('input_select.sungrow_inverter_set_battery_forced_charge_discharge_mode',\
|
|
\ \"Forced charge\") %}\n {{forced_charge}}\n{% elif is_state('input_select.sungrow_inverter_set_battery_forced_charge_discharge_mode',\
|
|
\ \"Forced discharge\") %}\n {{forced_discharge}}\n{% else %}\n {{stop_default}}\n\
|
|
{% endif %}"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_inverter_battery_forced_charge_discharge_mode_raw
|
|
- id: sungrow_inverter_update_battery_forced_charge_discharge_mode_input_select
|
|
alias: Sungrow Inverter Update Battery forced charge/discharge mode input select
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_inverter_battery_forced_charge_discharge_mode_raw
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ has_value(''sensor.sungrow_inverter_battery_forced_charge_discharge_mode_raw'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.sungrow_inverter_set_battery_forced_charge_discharge_mode
|
|
data:
|
|
option: '{{ states(''sensor.sungrow_inverter_battery_forced_charge_discharge_mode'')
|
|
}}'
|
|
- id: sungrow_inverter_update_ems_mode
|
|
alias: Sungrow Inverter Update EMS mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_select.sungrow_inverter_set_ems_mode
|
|
variables:
|
|
self_consumtion_mode: 0
|
|
forced_mode: 2
|
|
external_ems_mode: 3
|
|
vpp: 4
|
|
microgrid: 8
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowInverter
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13049
|
|
value: "{% if is_state('input_select.sungrow_inverter_set_ems_mode', \"Self-consumption\
|
|
\ mode (default)\") %}\n {{self_consumtion_mode}}\n{% elif is_state('input_select.sungrow_inverter_set_ems_mode',\
|
|
\ \"Forced mode\") %}\n {{forced_mode}}\n{% elif is_state('input_select.sungrow_inverter_set_ems_mode',\
|
|
\ \"External EMS mode\") %}\n {{external_ems_mode}}\n{% elif is_state('input_select.sungrow_inverter_set_ems_mode',\
|
|
\ \"VPP\") %}\n {{vpp}}\n{% elif is_state('input_select.sungrow_inverter_set_ems_mode',\
|
|
\ \"MicroGrid\") %}\n {{microgrid}}\n{% else %}\n {{self_consumtion_mode}}\n\
|
|
{% endif %}\n"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_inverter_ems_mode_raw
|
|
- id: sungrow_inverter_update_ems_mode_input_select
|
|
alias: Sungrow Inverter Update EMS mode input select
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_inverter_ems_mode_raw
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ has_value(''sensor.sungrow_inverter_ems_mode_raw'') }}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.sungrow_inverter_set_ems_mode
|
|
data:
|
|
option: '{{ states(''sensor.sungrow_inverter_ems_mode'') }}'
|
|
- id: sungrow_inverter_update_export_power_limit_mode
|
|
alias: Sungrow Inverter Update Export power limit mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_select.sungrow_inverter_set_export_power_limit_mode
|
|
variables:
|
|
export_limit_enable: 170
|
|
export_limit_disable: 85
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowInverter
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13086
|
|
value: '{{ export_limit_enable if is_state(''input_select.sungrow_inverter_set_export_power_limit_mode'',
|
|
''Enabled'') else export_limit_disable }}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_inverter_export_power_limit_mode_raw
|
|
- id: sungrow_inverter_update_export_power_limit_mode_input_select
|
|
alias: Sungrow Inverter Update Export power limit mode input select
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_inverter_export_power_limit_mode_raw
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ has_value(''sensor.sungrow_inverter_export_power_limit_mode_raw'')
|
|
}}'
|
|
actions:
|
|
- action: input_select.select_option
|
|
target:
|
|
entity_id: input_select.sungrow_inverter_set_export_power_limit_mode
|
|
data:
|
|
option: '{{ states(''sensor.sungrow_inverter_export_power_limit_mode'') }}'
|
|
- id: sungrow_inverter_update_export_power_limit
|
|
alias: Sungrow Inverter Update Export power limit
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_number.sungrow_inverter_set_export_power_limit
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowInverter
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13073
|
|
value: '{{ states(''input_number.sungrow_inverter_set_export_power_limit'')
|
|
}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_inverter_export_power_limit
|
|
- id: sungrow_inverter_update_export_power_limit_input_number
|
|
alias: Sungrow Inverter Update Export power limit input number
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_inverter_export_power_limit
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ has_value(''sensor.sungrow_inverter_export_power_limit'')
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.sungrow_inverter_set_export_power_limit
|
|
data:
|
|
value: '{{ states(''sensor.sungrow_inverter_export_power_limit'') }}'
|
|
- id: sungrow_inverter_update_battery_forced_charge_discharge_power
|
|
alias: Sungrow Inverter Update Battery forced charge/discharge power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_number.sungrow_inverter_set_battery_forced_charge_discharge_power
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowInverter
|
|
slave: secret sungrow_modbus_slave
|
|
address: 13051
|
|
value: '{{ states(''input_number.sungrow_inverter_set_battery_forced_charge_discharge_power'')
|
|
| int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_inverter_battery_forced_charge_discharge_power
|
|
- id: sungrow_inverter_update_battery_forced_charge_discharge_power_input_number
|
|
alias: Sungrow Inverter Update Battery forced charge/discharge power input number
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_inverter_battery_forced_charge_discharge_power
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ has_value(''sensor.sungrow_inverter_battery_forced_charge_discharge_power'')
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.sungrow_inverter_set_battery_forced_charge_discharge_power
|
|
data:
|
|
value: '{{ states(''sensor.sungrow_inverter_battery_forced_charge_discharge_power'')
|
|
}}'
|
|
- id: sungrow_inverter_update_battery_maximum_charge_power
|
|
alias: Sungrow Inverter Update Battery maximum charge power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_number.sungrow_inverter_set_battery_maximum_charge_power
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowInverter
|
|
slave: secret sungrow_modbus_slave
|
|
address: 33046
|
|
value: '{{ states(''input_number.sungrow_inverter_set_battery_maximum_charge_power'')
|
|
|float /10 |int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_inverter_battery_maximum_charge_power
|
|
- id: sungrow_inverter_update_battery_maximum_charge_power_input_number
|
|
alias: Sungrow Inverter Update Battery maximum charge power input number
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_inverter_battery_maximum_charge_power
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ has_value(''sensor.sungrow_inverter_battery_maximum_charge_power'')
|
|
}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.sungrow_inverter_set_battery_maximum_charge_power
|
|
data:
|
|
value: '{{ states(''sensor.sungrow_inverter_battery_maximum_charge_power'')
|
|
}}'
|
|
- id: sungrow_inverter_update_battery_maximum_discharge_power
|
|
alias: Sungrow Inverter Update Battery maximum discharge power
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_number.sungrow_inverter_set_battery_maximum_discharge_power
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowInverter
|
|
slave: secret sungrow_modbus_slave
|
|
address: 33047
|
|
value: '{{ states(''input_number.sungrow_inverter_set_battery_maximum_discharge_power'') |float
|
|
/10 |int}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_inverter_battery_maximum_discharge_power
|
|
- id: sungrow_inverter_update_battery_maximum_discharge_power_input_number
|
|
alias: Sungrow Inverter Update Battery maximum discharge power input number
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_inverter_battery_maximum_discharge_power
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ has_value(''sensor.sungrow_inverter_battery_maximum_discharge_power'')}}'
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.sungrow_inverter_set_battery_maximum_discharge_power
|
|
data:
|
|
value: '{{ states(''sensor.sungrow_inverter_battery_maximum_discharge_power'')
|
|
}}'
|
|
- id: sungrow_wallbox_update_output_current
|
|
alias: Sungrow Wallbox Update Output current
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.sungrow_wallbox_set_output_current
|
|
conditions:
|
|
- condition: template
|
|
value_template: '{{ (states(''input_number.sungrow_wallbox_set_output_current'')
|
|
| float) = (states(''sensor.sungrow_wallbox_output_current'') | float) }}'
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowWallbox
|
|
slave: secret wallbox_modbus_slave
|
|
address: 21202
|
|
value: '{{ (((states(''input_number.sungrow_wallbox_set_output_current'') |
|
|
float) * 10) | int) }}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_wallbox_output_current
|
|
- id: sungrow_wallbox_update_output_current_input_number
|
|
alias: Sungrow Wallbox Update Output current input number
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_wallbox_output_current
|
|
conditions:
|
|
- condition: template
|
|
value_template: "{{\n has_value('sensor.sungrow_wallbox_output_current') \n \
|
|
\ and (states('sensor.sungrow_wallbox_output_current') | float) >= 6.0\n and\
|
|
\ (states('sensor.sungrow_wallbox_output_current') | float) <= 16.0\n and (states('sensor.sungrow_wallbox_output_current')\
|
|
\ | float) = (states('input_number.sungrow_wallbox_set_output_current') | float)\n\
|
|
}}"
|
|
actions:
|
|
- action: input_number.set_value
|
|
target:
|
|
entity_id: input_number.sungrow_wallbox_set_output_current
|
|
data:
|
|
value: '{{ states(''sensor.sungrow_wallbox_output_current'') | float }}'
|
|
- id: sungrow_wallbox_update_mileage_per_kwh
|
|
alias: Sungrow Wallbox Update Mileage per kWh
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_number.sungrow_wallbox_set_mileage_per_kwh
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowWallbox
|
|
slave: secret wallbox_modbus_slave
|
|
address: 21231
|
|
value: '{{ ((states(''input_number.sungrow_wallbox_set_mileage_per_kwh'') |
|
|
float ) * 10) | int }}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_wallbox_mileage_per_kwh
|
|
- id: sungrow_wallbox_update_phase_mode
|
|
alias: Sungrow Wallbox Update Phase mode
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_select.sungrow_wallbox_set_phase_mode
|
|
variables:
|
|
three_phase: 0
|
|
single_phase: 1
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowWallbox
|
|
slave: secret wallbox_modbus_slave
|
|
address: 21203
|
|
value: "{% if is_state('input_select.sungrow_wallbox_set_phase_mode', \"Three-phase\"\
|
|
) %}\n {{ three_phase }}\n{% elif is_state('input_select.sungrow_wallbox_set_phase_mode',\
|
|
\ \"Single-phase\") %}\n {{ single_phase }}\n{% endif %}"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.sungrow_wallbox_phase_mode_raw
|
|
- sensor.sungrow_wallbox_phase_status_raw
|
|
- sensor.sungrow_wallbox_minimum_charging_power
|
|
- sensor.sungrow_wallbox_maximum_charging_power
|
|
- id: sungrow_wallbox_update_charger_status
|
|
alias: Sungrow Wallbox Update Charger status
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_select.sungrow_wallbox_set_charger_status
|
|
variables:
|
|
disable: 0
|
|
enable: 1
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowWallbox
|
|
slave: secret wallbox_modbus_slave
|
|
address: 21210
|
|
value: "{% if is_state('input_select.sungrow_wallbox_set_charger_status', \"\
|
|
Disable\") %}\n {{disable}}\n{% elif is_state('input_select.sungrow_wallbox_set_charger_status',\
|
|
\ \"Enable\") %}\n {{enable}}\n{% endif %}"
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.sungrow_wallbox_charger_enable_status_raw
|
|
- sensor.sungrow_wallbox_charger_status_raw
|
|
- sensor.sungrow_wallbox_power_request_flag_raw
|
|
- sensor.sungrow_wallbox_power_regulation_switch_raw
|
|
- sensor.sungrow_wallbox_charging_status_raw
|
|
- id: sungrow_wallbox_update_start_charging
|
|
alias: Sungrow Wallbox Update Start charging
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_button.sungrow_wallbox_set_start_charging
|
|
variables:
|
|
start_charging: 0
|
|
stop_charging: 1
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowWallbox
|
|
slave: secret wallbox_modbus_slave
|
|
address: 21211
|
|
value: '{{start_charging}}'
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowWallbox
|
|
slave: secret wallbox_modbus_slave
|
|
address: 21202
|
|
value: '{{ (states(''input_number.sungrow_wallbox_set_output_current'') | int)
|
|
* 10 }}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.sungrow_wallbox_charging_status_raw
|
|
- sensor.sungrow_wallbox_remote_control_bit
|
|
- id: sungrow_wallbox_update_stop_charging
|
|
alias: Sungrow Wallbox Update Stop charging
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- input_button.sungrow_wallbox_set_stop_charging
|
|
variables:
|
|
start_charging: 0
|
|
stop_charging: 1
|
|
actions:
|
|
- action: modbus.write_register
|
|
data_template:
|
|
hub: SungrowWallbox
|
|
slave: secret wallbox_modbus_slave
|
|
address: 21211
|
|
value: '{{stop_charging}}'
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.sungrow_wallbox_charging_status_raw
|
|
- sensor.sungrow_wallbox_remote_control_bit
|
|
- id: sungrow_wallbox_update_charging_status
|
|
alias: Sungrow Wallbox Update charging status
|
|
triggers:
|
|
- trigger: state
|
|
entity_id:
|
|
- sensor.sungrow_wallbox_charging_status_raw
|
|
actions:
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.sungrow_wallbox_control_pilot_voltage
|
|
- sensor.sungrow_wallbox_pwm_duty_cycle
|
|
- sensor.sungrow_wallbox_start_mode_raw
|
|
- sensor.sungrow_wallbox_power_request_flag_raw
|
|
- sensor.sungrow_wallbox_power_regulation_switch_raw
|
|
- sensor.sungrow_wallbox_charging_end_time_raw
|
|
- sensor.sungrow_wallbox_total_energy_clearing
|
|
- sensor.sungrow_wallbox_total_energy
|
|
- sensor.sungrow_wallbox_phase_a_charging_current
|
|
- sensor.sungrow_wallbox_phase_a_charging_voltage
|
|
- sensor.sungrow_wallbox_phase_b_charging_current
|
|
- sensor.sungrow_wallbox_phase_b_charging_voltage
|
|
- sensor.sungrow_wallbox_phase_c_charging_current
|
|
- sensor.sungrow_wallbox_phase_c_charging_voltage
|
|
- sensor.sungrow_wallbox_charging_power
|
|
- sensor.sungrow_wallbox_charging_energy
|
|
- sensor.sungrow_wallbox_output_current
|
|
- id: sungrow_wallbox_automate_fast_updates_while_charging
|
|
alias: Sungrow Wallbox Automate fast updates while charging
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.sungrow_wallbox_charging_status
|
|
to: Charging
|
|
actions:
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id: sensor.sungrow_wallbox_charging_start_time_raw
|
|
- repeat:
|
|
sequence:
|
|
- action: homeassistant.update_entity
|
|
data:
|
|
entity_id:
|
|
- sensor.sungrow_wallbox_charging_end_time_raw
|
|
- sensor.sungrow_wallbox_total_energy_clearing
|
|
- sensor.sungrow_wallbox_total_energy
|
|
- sensor.sungrow_wallbox_phase_a_charging_current
|
|
- sensor.sungrow_wallbox_phase_a_charging_voltage
|
|
- sensor.sungrow_wallbox_phase_b_charging_current
|
|
- sensor.sungrow_wallbox_phase_b_charging_voltage
|
|
- sensor.sungrow_wallbox_phase_c_charging_current
|
|
- sensor.sungrow_wallbox_phase_c_charging_voltage
|
|
- sensor.sungrow_wallbox_charging_power
|
|
- sensor.sungrow_wallbox_charging_energy
|
|
- sensor.sungrow_wallbox_output_current
|
|
- sensor.sungrow_wallbox_pwm_duty_cycle
|
|
- sensor.sungrow_wallbox_control_pilot_voltage
|
|
- delay:
|
|
seconds: 5
|
|
while:
|
|
- condition: state
|
|
entity_id: sensor.sungrow_wallbox_charging_status_raw
|
|
state: '3'
|