AutomationDataset/florian-hild/automation-descriptions.json

444 lines
42 KiB
JSON

[
{
"id": "'1753114180411'",
"result": {
"structured": "TRIGGER: When wasserventil automatik [input_boolean.wasserventil_automatik] turns on and remains on for 3 seconds. CONDITIONS: None. ACTIONS: Turn on water valve switch [359b3d1a752509da08d4d8a3497f13c9], then delay for (wasserventil laufzeit [input_number.wasserventil_laufzeit] value multiplied by 60) seconds, then turn off water valve switch [359b3d1a752509da08d4d8a3497f13c9].",
"natural_language": {
"trigger": "When the wasserventil automatik [input_boolean.wasserventil_automatik] is switched on and stays on for at least three seconds.",
"conditions": "There are no conditions for this automation.",
"action": "It turns on the water valve switch [359b3d1a752509da08d4d8a3497f13c9], waits for a duration calculated by multiplying the value of wasserventil laufzeit [input_number.wasserventil_laufzeit] by 60 (to convert minutes to seconds), and then turns the water valve switch [359b3d1a752509da08d4d8a3497f13c9] off."
},
"human_like": "Automatically runs the water valve for a set amount of time when the automation is enabled.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_state",
"result": {
"structured": "TRIGGER: When sungrow inverter run mode selector [input_select.set_sg_inverter_run_mode] changes state. CONDITIONS: None. ACTIONS: Write a value to a Modbus register at address 12999 on hub SungrowSHx, slave secret sungrow_modbus_slave. The value is 207 if sungrow inverter run mode selector [input_select.set_sg_inverter_run_mode] is 'Enabled', otherwise 206. Then, update the entity system state [sensor.system_state].",
"natural_language": {
"trigger": "Whenever the sungrow inverter run mode selector [input_select.set_sg_inverter_run_mode] changes its selected state.",
"conditions": "There are no conditions for this automation.",
"action": "It sends a command to the Sungrow inverter's Modbus interface. If the selected mode is 'Enabled', it writes the value 207 to a specific register. If the selected mode is anything else, it writes the value 206. Afterwards, it refreshes the data for the system state [sensor.system_state] sensor."
},
"human_like": "Controls the Sungrow inverter's operational state by sending start or stop commands based on a user selection.",
"complexity": "medium"
}
},
{
"id": "automation_sungrow_inverter_state_input_selector_update",
"result": {
"structured": "TRIGGER: When sungrow inverter state [sensor.sungrow_inverter_state] changes state. CONDITIONS: sungrow inverter state [sensor.sungrow_inverter_state] is not unavailable. ACTIONS: Set sungrow inverter run mode selector [input_select.set_sg_inverter_run_mode] to 'Shutdown' if sungrow inverter state [sensor.sungrow_inverter_state] is 'Shutdown', otherwise set it to 'Enabled'.",
"natural_language": {
"trigger": "Whenever the state of the sungrow inverter state [sensor.sungrow_inverter_state] sensor changes.",
"conditions": "The automation only runs if the sungrow inverter state [sensor.sungrow_inverter_state] is not in an 'unavailable' state.",
"action": "Updates the sungrow inverter run mode selector [input_select.set_sg_inverter_run_mode] to reflect the inverter's status. If the inverter state is 'Shutdown', the selector is set to 'Shutdown'. For any other state, it is set to 'Enabled'."
},
"human_like": "Keeps the inverter mode selector in sync with the actual inverter state, showing 'Shutdown' or 'Enabled' as appropriate.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_max_soc",
"result": {
"structured": "TRIGGER: When sungrow max soc slider [input_number.set_sg_max_soc] changes state. CONDITIONS: None. ACTIONS: Write to Modbus register 13057 on hub SungrowSHx, slave secret sungrow_modbus_slave, with value equal to the integer state of sungrow max soc slider [input_number.set_sg_max_soc] multiplied by 10, AND update the entity max soc [sensor.max_soc].",
"natural_language": {
"trigger": "Whenever the value of the sungrow max soc slider [input_number.set_sg_max_soc] is changed.",
"conditions": "There are no conditions that need to be met.",
"action": "Sends the new value, multiplied by 10, to a specific register on the Sungrow inverter via Modbus, and then refreshes the data for the max soc [sensor.max_soc] sensor."
},
"human_like": "Updates the maximum state of charge setting on the Sungrow inverter whenever the user adjusts the corresponding slider.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_max_soc_input_slider_update",
"result": {
"structured": "TRIGGER: When max soc [sensor.max_soc] changes state. CONDITIONS: max soc [sensor.max_soc] is not in the 'unavailable' state. ACTIONS: Set the value of sungrow max soc slider [input_number.set_sg_max_soc] to the current state of max soc [sensor.max_soc].",
"natural_language": {
"trigger": "Whenever the max soc [sensor.max_soc] sensor updates its value.",
"conditions": "The automation only runs if the max soc [sensor.max_soc] sensor is not reporting as 'unavailable'.",
"action": "Updates the sungrow max soc slider [input_number.set_sg_max_soc] to match the current value from the max soc [sensor.max_soc] sensor."
},
"human_like": "Keeps the Sungrow inverter's maximum state of charge slider in sync with the sensor value.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_min_soc",
"result": {
"structured": "TRIGGER: When sungrow min soc slider [input_number.set_sg_min_soc] changes state. CONDITIONS: None. ACTIONS: Write to Modbus register 13058 on hub SungrowSHx, slave secret sungrow_modbus_slave, with a value equal to the integer state of sungrow min soc slider [input_number.set_sg_min_soc] multiplied by 10. Then, update the entity min soc [sensor.min_soc].",
"natural_language": {
"trigger": "Whenever the value of the sungrow min soc slider [input_number.set_sg_min_soc] is changed.",
"conditions": "There are no conditions; the action runs every time the trigger occurs.",
"action": "Sends the new slider value, multiplied by 10, to a specific register on the Sungrow inverter via Modbus. It then refreshes the min soc [sensor.min_soc] sensor to reflect the change."
},
"human_like": "Updates the minimum state of charge setting on the Sungrow inverter whenever the corresponding slider is adjusted.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_min_soc_input_slider_update",
"result": {
"structured": "TRIGGER: When min soc [sensor.min_soc] changes state. CONDITIONS: min soc [sensor.min_soc] is not in an 'unavailable' state. ACTIONS: Set the value of sungrow min soc slider [input_number.set_sg_min_soc] to the current state value of min soc [sensor.min_soc].",
"natural_language": {
"trigger": "Whenever the min soc [sensor.min_soc] sensor reports a new value.",
"conditions": "The automation only runs if the min soc [sensor.min_soc] sensor is not reporting an 'unavailable' status.",
"action": "Updates the sungrow min soc slider [input_number.set_sg_min_soc] to match the current value reported by the min soc [sensor.min_soc] sensor."
},
"human_like": "Keeps the Sungrow minimum state of charge slider in sync with the sensor value.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_reserved_soc_for_backup",
"result": {
"structured": "TRIGGER: When sungrow reserved soc for backup slider [input_number.set_sg_reserved_soc_for_backup] changes state. CONDITIONS: None. ACTIONS: Write the integer value of sungrow reserved soc for backup slider [input_number.set_sg_reserved_soc_for_backup] to Modbus register 13099 on hub SungrowSHx, slave secret sungrow_modbus_slave AND Update the sensor entity reserved soc for backup [sensor.reserved_soc_for_backup].",
"natural_language": {
"trigger": "Whenever the value of the sungrow reserved soc for backup slider [input_number.set_sg_reserved_soc_for_backup] changes.",
"conditions": "There are no conditions that must be met.",
"action": "Writes the current integer value from the slider to a specific register on the Sungrow inverter via Modbus, and then refreshes the reserved soc for backup [sensor.reserved_soc_for_backup] sensor to reflect the new value."
},
"human_like": "Updates the inverter's backup battery reserve setting when the user adjusts the corresponding slider in Home Assistant.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_reserved_backup_soc_input_slider_update",
"result": {
"structured": "TRIGGER: When reserved soc for backup [sensor.reserved_soc_for_backup] changes state. CONDITIONS: reserved soc for backup [sensor.reserved_soc_for_backup] is not in the 'unavailable' state. ACTIONS: Set the value of sungrow reserved soc for backup slider [input_number.set_sg_reserved_soc_for_backup] to the current state value of reserved soc for backup [sensor.reserved_soc_for_backup].",
"natural_language": {
"trigger": "Whenever the reserved soc for backup [sensor.reserved_soc_for_backup] sensor updates its value.",
"conditions": "The automation only runs if the reserved soc for backup [sensor.reserved_soc_for_backup] sensor is not reporting as 'unavailable'.",
"action": "Sets the sungrow reserved soc for backup slider [input_number.set_sg_reserved_soc_for_backup] to match the current value reported by the reserved soc for backup [sensor.reserved_soc_for_backup] sensor."
},
"human_like": "Keeps the Sungrow inverter's backup battery reserve slider in sync with the latest value from the system sensor.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_battery_forced_charge_discharge_cmd",
"result": {
"structured": "TRIGGER: When sungrow battery forced charge discharge cmd selector [input_select.set_sg_battery_forced_charge_discharge_cmd] changes state. CONDITIONS: None. ACTIONS: Write a value to a specific Sungrow inverter holding register (address 13050, slave: secret sungrow_modbus_slave, hub: SungrowSHx). The value is 170 if the selector is \"Forced charge\", 187 if \"Forced discharge\", 204 if \"Stop (default)\" or any other state. Then, update the sensor battery forced charge discharge cmd raw [sensor.battery_forced_charge_discharge_cmd_raw] to refresh its state.",
"natural_language": {
"trigger": "Whenever the user changes the selection in the sungrow battery forced charge discharge cmd selector [input_select.set_sg_battery_forced_charge_discharge_cmd].",
"conditions": "There are no conditions; the action runs immediately after the trigger.",
"action": "Sends a command to the Sungrow inverter via Modbus, writing a numeric code to a specific register based on the selected mode: 170 for forced charge, 187 for forced discharge, or 204 for stop/default. After writing the command, it refreshes the battery forced charge discharge cmd raw [sensor.battery_forced_charge_discharge_cmd_raw] sensor to reflect the new value."
},
"human_like": "Updates the Sungrow inverter's battery forced charge or discharge command based on a user selection and refreshes the related sensor.",
"complexity": "medium"
}
},
{
"id": "automation_sungrow_inverter_update_battery_forced_charge_discharge_cmd_input_select_update",
"result": {
"structured": "TRIGGER: When battery forced charge discharge cmd [sensor.battery_forced_charge_discharge_cmd] changes state. CONDITIONS: battery forced charge discharge cmd [sensor.battery_forced_charge_discharge_cmd] is not in the 'unavailable' state. ACTIONS: Set the sungrow battery forced charge discharge cmd selector [input_select.set_sg_battery_forced_charge_discharge_cmd] to the current state value of battery forced charge discharge cmd [sensor.battery_forced_charge_discharge_cmd].",
"natural_language": {
"trigger": "Whenever the battery forced charge discharge cmd [sensor.battery_forced_charge_discharge_cmd] sensor changes its reported value.",
"conditions": "The automation only runs if the battery forced charge discharge cmd [sensor.battery_forced_charge_discharge_cmd] sensor is not reporting as 'unavailable'.",
"action": "Updates the sungrow battery forced charge discharge cmd selector [input_select.set_sg_battery_forced_charge_discharge_cmd] dropdown to match the current value reported by the sensor."
},
"human_like": "Keeps the battery command selector in sync with the current command reported by the Sungrow inverter.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_ems_mode",
"result": {
"structured": "TRIGGER: When sungrow ems mode selector [input_select.set_sg_ems_mode] changes state. CONDITIONS: None. ACTIONS: Write a value to Modbus register 13049 on the SungrowSHx hub. The value is determined by the state of sungrow ems mode selector [input_select.set_sg_ems_mode]: 0 for \"Self-consumption mode (default)\", 2 for \"Forced mode\", 3 for \"External EMS\", 4 for \"VPP\", 8 for \"MicroGrid\". Default to 0 for any other state. Then, update the sensor ems mode selection raw [sensor.ems_mode_selection_raw].",
"natural_language": {
"trigger": "Whenever the user changes the selection in the sungrow ems mode selector [input_select.set_sg_ems_mode].",
"conditions": "There are no conditions that must be met.",
"action": "Sends a command to the Sungrow inverter to set its EMS mode. The specific numeric value written to the inverter's register depends on the selected mode: 0 for Self-consumption mode, 2 for Forced mode, 3 for External EMS, 4 for VPP, and 8 for MicroGrid. After writing the value, it refreshes the ems mode selection raw [sensor.ems_mode_selection_raw] sensor to reflect the change."
},
"human_like": "Updates the Sungrow inverter's EMS operating mode based on a user's selection from a dropdown menu.",
"complexity": "medium"
}
},
{
"id": "automation_sungrow_inverter_update_load_adjustment_mode",
"result": {
"structured": "TRIGGER: When sungrow load adjustment mode selector [input_select.set_sg_load_adjustment_mode] changes state. CONDITIONS: None. ACTIONS: Write a value to the Sungrow inverter's Modbus register at address 13001. The value is determined by the current state of sungrow load adjustment mode selector [input_select.set_sg_load_adjustment_mode]: 0 for \"Timing\", 1 for \"ON/OFF\", 2 for \"Power optimization\", 3 for \"Disabled\" (or any other state). Then, update the sensor entity load adjustment mode selection raw [sensor.load_adjustment_mode_selection_raw].",
"natural_language": {
"trigger": "Whenever the user changes the selection in the sungrow load adjustment mode selector [input_select.set_sg_load_adjustment_mode].",
"conditions": "There are no conditions that must be met.",
"action": "Sends a command to the Sungrow inverter to update its load adjustment mode. The specific numeric value sent depends on the selected mode: 0 for Timing, 1 for ON/OFF, 2 for Power optimization, or 3 for Disabled. After sending the command, it refreshes the load adjustment mode selection raw [sensor.load_adjustment_mode_selection_raw] sensor to reflect the new state."
},
"human_like": "Updates the Sungrow inverter's load adjustment mode based on the user's selection in a dropdown menu.",
"complexity": "medium"
}
},
{
"id": "automation_sungrow_inverter_update_load_adjustment_mode_on_off",
"result": {
"structured": "TRIGGER: When sungrow load adjustment mode on off selector [input_select.set_sg_load_adjustment_mode_on_off] changes state. CONDITIONS: None. ACTIONS: Write a value to Modbus register 13010 on hub SungrowSHx, slave secret sungrow_modbus_slave. The value is 170 if sungrow load adjustment mode on off selector [input_select.set_sg_load_adjustment_mode_on_off] is ON, or 85 if it is OFF. Then, update the sensor load adjustment mode on off selection raw [sensor.load_adjustment_mode_on_off_selection_raw].",
"natural_language": {
"trigger": "Whenever the sungrow load adjustment mode on off selector [input_select.set_sg_load_adjustment_mode_on_off] changes its selected option.",
"conditions": "There are no conditions; the automation runs every time the trigger occurs.",
"action": "Sends a command to the Sungrow inverter via Modbus, writing a specific numeric value to a control register. The value written is 170 if the selector is set to 'ON', or 85 if it is set to 'OFF'. After the write, it refreshes the sensor.load_adjustment_mode on off selection raw [sensor.load_adjustment_mode_on_off_selection_raw] to reflect the new state."
},
"human_like": "Updates the Sungrow inverter's Load Adjustment Mode setting based on a user selection, sending the corresponding numeric command and refreshing a sensor.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_export_power_limit_mode_update",
"result": {
"structured": "TRIGGER: When export power limit mode raw [sensor.export_power_limit_mode_raw] changes state. CONDITIONS: export power limit mode raw [sensor.export_power_limit_mode_raw] is not unavailable. ACTIONS: Set sungrow export power limit mode selector [input_select.set_sg_export_power_limit_mode] to 'Enabled' if the state of export power limit mode raw [sensor.export_power_limit_mode_raw] equals 0x00AA (170 decimal), or to 'Disabled' if it equals 0x0055 (85 decimal).",
"natural_language": {
"trigger": "Whenever the raw sensor value for the export power limit mode [sensor.export_power_limit_mode_raw] changes.",
"conditions": "The automation only runs if the raw sensor value is not in an 'unavailable' state.",
"action": "It updates a selector switch for the Sungrow inverter. If the raw sensor value is the hexadecimal number 0x00AA, the selector is set to 'Enabled'. If the raw sensor value is the hexadecimal number 0x0055, the selector is set to 'Disabled'."
},
"human_like": "This automation keeps a user-friendly selector for the inverter's export power limit mode in sync with the raw sensor value from the device.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_backup_mode",
"result": {
"structured": "TRIGGER: When sungrow backup mode selector [input_select.set_sg_backup_mode] changes state. CONDITIONS: None. ACTIONS: Write to Modbus register 13074 on hub 'SungrowSHx' with slave 'secret sungrow_modbus_slave'. The value is 170 if sungrow backup mode selector [input_select.set_sg_backup_mode] is 'Enabled', otherwise 85. Then, update the entity backup mode raw [sensor.backup_mode_raw].",
"natural_language": {
"trigger": "Whenever the sungrow backup mode selector [input_select.set_sg_backup_mode] changes its selected option.",
"conditions": "There are no conditions; the automation runs every time the trigger occurs.",
"action": "Sends a command to the Sungrow inverter via Modbus to set the backup mode. It writes the value 170 to a specific register if the selector is set to 'Enabled', or 85 if it's set to 'Disabled' or any other state. Afterwards, it refreshes the backup mode raw [sensor.backup_mode_raw] sensor to reflect the latest data."
},
"human_like": "Updates the Sungrow inverter's backup mode setting based on a user selection and refreshes the corresponding sensor.",
"complexity": "medium"
}
},
{
"id": "automation_sungrow_inverter_backup_mode_update",
"result": {
"structured": "TRIGGER: When backup mode raw [sensor.backup_mode_raw] changes state. CONDITIONS: backup mode raw [sensor.backup_mode_raw] is not unavailable. ACTIONS: Set sungrow backup mode selector [input_select.set_sg_backup_mode] to 'Enabled' if the integer value of backup mode raw [sensor.backup_mode_raw] equals 0xAA (170 decimal), or to 'Disabled' if it equals 0x55 (85 decimal).",
"natural_language": {
"trigger": "Whenever the backup mode raw [sensor.backup_mode_raw] sensor changes its state.",
"conditions": "The automation only runs if the backup mode raw [sensor.backup_mode_raw] sensor is not in an 'unavailable' state.",
"action": "It updates the sungrow backup mode selector [input_select.set_sg_backup_mode] to 'Enabled' if the raw sensor value is 0xAA, or to 'Disabled' if the raw sensor value is 0x55."
},
"human_like": "Updates the inverter backup mode selector based on the raw sensor reading, translating a numeric code into a clear 'Enabled' or 'Disabled' status.",
"complexity": "medium"
}
},
{
"id": "automation_sungrow_inverter_export_power_limit_mode",
"result": {
"structured": "TRIGGER: When sungrow export power limit mode selector [input_select.set_sg_export_power_limit_mode] changes state. CONDITIONS: None. ACTIONS: Write a value to a specific Modbus register on the SungrowSHx hub. The value is 170 if the selector is set to 'Enabled', otherwise 85. Then, update the entity export power limit mode raw [sensor.export_power_limit_mode_raw].",
"natural_language": {
"trigger": "Whenever the sungrow export power limit mode selector [input_select.set_sg_export_power_limit_mode] is changed.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a command to the Sungrow inverter via Modbus to set the export power limit mode. It writes the value 170 to a specific register if the selector is set to 'Enabled', or 85 if it is set to 'Disabled' or any other state. Afterwards, it refreshes the data for the sensor export power limit mode raw [sensor.export_power_limit_mode_raw]."
},
"human_like": "Controls the Sungrow inverter's export power limit by sending a Modbus command based on a user selection.",
"complexity": "medium"
}
},
{
"id": "automation_sungrow_inverter_export_power_limit_update",
"result": {
"structured": "TRIGGER: When export power limit [sensor.export_power_limit] changes state. CONDITIONS: None. ACTIONS: Set the value of sungrow export power limit slider [input_number.set_sg_export_power_limit] to the current state value of export power limit [sensor.export_power_limit].",
"natural_language": {
"trigger": "Whenever the export power limit [sensor.export_power_limit] sensor updates its value.",
"conditions": "There are no conditions that must be met.",
"action": "Updates the sungrow export power limit slider [input_number.set_sg_export_power_limit] to match the current value reported by the export power limit [sensor.export_power_limit] sensor."
},
"human_like": "Keeps the Sungrow inverter's export power limit slider synchronized with the current export power limit sensor value.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_set_export_power_limit",
"result": {
"structured": "TRIGGER: When sungrow export power limit slider [input_number.set_sg_export_power_limit] changes state. CONDITIONS: None. ACTIONS: Write the current value of sungrow export power limit slider [input_number.set_sg_export_power_limit] to Modbus register 13073 on hub SungrowSHx, slave secret sungrow_modbus_slave AND Update the state of export power limit [sensor.export_power_limit].",
"natural_language": {
"trigger": "Whenever the value of the sungrow export power limit slider [input_number.set_sg_export_power_limit] is changed.",
"conditions": "There are no conditions that must be met.",
"action": "Sends the new slider value to the Sungrow inverter via Modbus to set the export power limit and then refreshes the export power limit [sensor.export_power_limit] sensor to reflect the change."
},
"human_like": "Updates the inverter's export power limit whenever the user adjusts the corresponding slider.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_load_adjustment_mode_input_select_update",
"result": {
"structured": "TRIGGER: When load adjustment mode selection [sensor.load_adjustment_mode_selection] changes state. CONDITIONS: load adjustment mode selection [sensor.load_adjustment_mode_selection] is not in the 'unavailable' state. ACTIONS: Set the option of sungrow load adjustment mode selector [input_select.set_sg_load_adjustment_mode] to the current state of load adjustment mode selection [sensor.load_adjustment_mode_selection].",
"natural_language": {
"trigger": "Whenever the load adjustment mode selection [sensor.load_adjustment_mode_selection] sensor updates its value.",
"conditions": "The automation only runs if the load adjustment mode selection [sensor.load_adjustment_mode_selection] sensor is not reporting as 'unavailable'.",
"action": "Updates the sungrow load adjustment mode selector [input_select.set_sg_load_adjustment_mode] dropdown to match the current value reported by the load adjustment mode selection [sensor.load_adjustment_mode_selection] sensor."
},
"human_like": "Keeps the inverter's load adjustment mode selector in sync with the current mode reported by the system.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_ems_mode_input_select_update",
"result": {
"structured": "TRIGGER: When ems mode selection [sensor.ems_mode_selection] changes state. CONDITIONS: ems mode selection [sensor.ems_mode_selection] is not 'unavailable'. ACTIONS: Set sungrow ems mode selector [input_select.set_sg_ems_mode] to the current state of ems mode selection [sensor.ems_mode_selection].",
"natural_language": {
"trigger": "Whenever the ems mode selection [sensor.ems_mode_selection] sensor changes its state.",
"conditions": "The automation only proceeds if the ems mode selection [sensor.ems_mode_selection] sensor is not in an 'unavailable' state.",
"action": "Updates the sungrow ems mode selector [input_select.set_sg_ems_mode] dropdown to match the current value reported by the ems mode selection [sensor.ems_mode_selection] sensor."
},
"human_like": "Keeps the EMS mode selector in sync with the latest value from the inverter sensor.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_battery_forced_charge_discharge_power",
"result": {
"structured": "TRIGGER: When sungrow forced charge discharge power slider [input_number.set_sg_forced_charge_discharge_power] changes state. CONDITIONS: None. ACTIONS: Write the integer value of sungrow forced charge discharge power slider [input_number.set_sg_forced_charge_discharge_power] to Modbus register address 13051 on the SungrowSHx hub, then update the sensor battery forced charge discharge power [sensor.battery_forced_charge_discharge_power].",
"natural_language": {
"trigger": "Whenever the value of the sungrow forced charge discharge power slider [input_number.set_sg_forced_charge_discharge_power] changes.",
"conditions": "There are no conditions for this automation.",
"action": "It sends the current value from the slider to a specific register on the Sungrow inverter via Modbus, and then refreshes the battery forced charge discharge power [sensor.battery_forced_charge_discharge_power] sensor to reflect the change."
},
"human_like": "Updates the inverter's battery charge or discharge power setting whenever the user adjusts the corresponding slider.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_battery_forced_charge_discharge_power_input_slider_update",
"result": {
"structured": "TRIGGER: When battery forced charge discharge power [sensor.battery_forced_charge_discharge_power] changes state. CONDITIONS: battery forced charge discharge power [sensor.battery_forced_charge_discharge_power] is not 'unavailable'. ACTIONS: Set the value of sungrow forced charge discharge power slider [input_number.set_sg_forced_charge_discharge_power] to the current state value of battery forced charge discharge power [sensor.battery_forced_charge_discharge_power].",
"natural_language": {
"trigger": "Whenever the battery forced charge discharge power [sensor.battery_forced_charge_discharge_power] sensor updates its reading.",
"conditions": "The automation only runs if the battery forced charge discharge power [sensor.battery_forced_charge_discharge_power] sensor is not in an 'unavailable' state.",
"action": "It updates the sungrow forced charge discharge power slider [input_number.set_sg_forced_charge_discharge_power] to match the current numeric value reported by the battery forced charge discharge power sensor."
},
"human_like": "Keeps the battery charge/discharge power slider in sync with the actual sensor value.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_battery_max_charge_power",
"result": {
"structured": "TRIGGER: When sungrow battery max charge power slider [input_number.set_sg_battery_max_charge_power] changes state. CONDITIONS: None. ACTIONS: Write a value to the Sungrow inverter's Modbus register (hub: SungrowSHx, slave: secret sungrow_modbus_slave, address: 33046) where the value is the state of sungrow battery max charge power slider [input_number.set_sg_battery_max_charge_power] divided by 10 and converted to an integer. Then, update the sensor battery max charge power [sensor.battery_max_charge_power].",
"natural_language": {
"trigger": "Whenever the value of the sungrow battery max charge power slider [input_number.set_sg_battery_max_charge_power] changes.",
"conditions": "There are no conditions that must be met.",
"action": "Sends the new slider value, divided by 10 and converted to a whole number, to a specific register on the Sungrow inverter via Modbus. It then refreshes the battery max charge power [sensor.battery_max_charge_power] sensor to reflect the change."
},
"human_like": "Updates the inverter's maximum battery charging power based on a user-adjustable slider and refreshes the corresponding sensor.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_battery_max_charge_power_input_slider_update",
"result": {
"structured": "TRIGGER: When battery max charge power [sensor.battery_max_charge_power] changes state. CONDITIONS: battery max charge power [sensor.battery_max_charge_power] is not in an 'unavailable' state. ACTIONS: Set the value of sungrow battery max charge power slider [input_number.set_sg_battery_max_charge_power] to the current state of battery max charge power [sensor.battery_max_charge_power].",
"natural_language": {
"trigger": "Whenever the battery max charge power [sensor.battery_max_charge_power] sensor reports a new value.",
"conditions": "The automation only runs if the battery max charge power [sensor.battery_max_charge_power] sensor is not reporting as 'unavailable'.",
"action": "Updates the sungrow battery max charge power slider [input_number.set_sg_battery_max_charge_power] to match the latest value from the battery max charge power [sensor.battery_max_charge_power] sensor."
},
"human_like": "Keeps the battery charge power slider in sync with the actual sensor reading from the inverter.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_battery_max_discharge_power",
"result": {
"structured": "TRIGGER: When sungrow battery max discharge power slider [input_number.set_sg_battery_max_discharge_power] changes state. CONDITIONS: None. ACTIONS: Write a value to a Modbus register (hub: SungrowSHx, slave: secret sungrow_modbus_slave, address: 33047) where the value is the state of sungrow battery max discharge power slider [input_number.set_sg_battery_max_discharge_power] divided by 10 and converted to an integer. Then, update the entity battery max discharge power [sensor.battery_max_discharge_power].",
"natural_language": {
"trigger": "Whenever the value of the sungrow battery max discharge power slider [input_number.set_sg_battery_max_discharge_power] changes.",
"conditions": "There are no conditions that must be met.",
"action": "Sends the new slider value, divided by 10 and converted to a whole number, to a specific register on the Sungrow inverter via Modbus. It then refreshes the battery max discharge power [sensor.battery_max_discharge_power] sensor to reflect the change."
},
"human_like": "Updates the inverter's maximum battery discharge power setting whenever the user adjusts the corresponding slider.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_battery_max_discharge_power_input_slider_update",
"result": {
"structured": "TRIGGER: When battery max discharge power [sensor.battery_max_discharge_power] changes state. CONDITIONS: battery max discharge power [sensor.battery_max_discharge_power] is not 'unavailable'. ACTIONS: Set sungrow battery max discharge power slider [input_number.set_sg_battery_max_discharge_power] to the current numeric value of battery max discharge power [sensor.battery_max_discharge_power].",
"natural_language": {
"trigger": "Whenever the battery max discharge power [sensor.battery_max_discharge_power] sensor reports a new value.",
"conditions": "The automation only runs if the battery max discharge power [sensor.battery_max_discharge_power] sensor is not in an 'unavailable' state.",
"action": "Updates the sungrow battery max discharge power slider [input_number.set_sg_battery_max_discharge_power] to match the current value reported by the battery max discharge power [sensor.battery_max_discharge_power] sensor."
},
"human_like": "Keeps the battery discharge power slider in sync with the actual inverter reading.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_battery_charging_start_power",
"result": {
"structured": "TRIGGER: When sungrow battery charging start power slider [input_number.set_sg_battery_charging_start_power] changes state. CONDITIONS: None. ACTIONS: Write a value to the Sungrow inverter's Modbus register (hub: SungrowSHx, slave: secret sungrow_modbus_slave, address: 33148) where the value is the state of sungrow battery charging start power slider [input_number.set_sg_battery_charging_start_power] divided by 10 and converted to an integer. Then, update the sensor battery charging start power [sensor.battery_charging_start_power] to refresh its state.",
"natural_language": {
"trigger": "Whenever the value of the sungrow battery charging start power slider [input_number.set_sg_battery_charging_start_power] is changed.",
"conditions": "There are no conditions that must be met.",
"action": "Sends the new slider value, divided by 10 and converted to a whole number, to a specific register on the Sungrow inverter via Modbus. It then refreshes the battery charging start power [sensor.battery_charging_start_power] sensor to reflect the change."
},
"human_like": "Updates the battery charging start power setting on the Sungrow inverter whenever the corresponding slider is adjusted.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_battery_charging_start_power_input_slider_update",
"result": {
"structured": "TRIGGER: When battery charging start power [sensor.battery_charging_start_power] changes state. CONDITIONS: battery charging start power [sensor.battery_charging_start_power] is not unavailable. ACTIONS: Set sungrow battery charging start power slider [input_number.set_sg_battery_charging_start_power] to the current numeric value of battery charging start power [sensor.battery_charging_start_power].",
"natural_language": {
"trigger": "Whenever the battery charging start power [sensor.battery_charging_start_power] sensor updates its value.",
"conditions": "The automation only runs if the battery charging start power [sensor.battery_charging_start_power] sensor is reporting a valid state and is not unavailable.",
"action": "Updates the sungrow battery charging start power slider [input_number.set_sg_battery_charging_start_power] to match the current value reported by the battery charging start power [sensor.battery_charging_start_power] sensor."
},
"human_like": "Keeps the battery charging start power slider in sync with the actual sensor value from the inverter.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_battery_discharging_start_power",
"result": {
"structured": "TRIGGER: When sungrow battery discharging start power slider [input_number.set_sg_battery_discharging_start_power] changes state. CONDITIONS: None. ACTIONS: Write the value from sungrow battery discharging start power slider [input_number.set_sg_battery_discharging_start_power] (converted to an integer after dividing by 10) to Modbus register 33149 on the SungrowSHx hub, then update the state of battery discharging start power [sensor.battery_discharging_start_power].",
"natural_language": {
"trigger": "Whenever the value of the sungrow battery discharging start power slider [input_number.set_sg_battery_discharging_start_power] is changed.",
"conditions": "There are no conditions that must be met.",
"action": "Sends the new slider value (divided by 10 and converted to a whole number) to a specific register on the Sungrow inverter via Modbus. It then immediately refreshes the battery discharging start power [sensor.battery_discharging_start_power] sensor to reflect the change."
},
"human_like": "Updates the inverter's battery discharge power threshold whenever the user adjusts the corresponding slider.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_update_battery_discharging_start_power_input_slider_update",
"result": {
"structured": "TRIGGER: When battery discharging start power [sensor.battery_discharging_start_power] changes state. CONDITIONS: battery discharging start power [sensor.battery_discharging_start_power] is not unavailable. ACTIONS: Set sungrow battery discharging start power slider [input_number.set_sg_battery_discharging_start_power] to the current numeric value of battery discharging start power [sensor.battery_discharging_start_power].",
"natural_language": {
"trigger": "Whenever the value of the battery discharging start power [sensor.battery_discharging_start_power] sensor changes.",
"conditions": "The automation only runs if the battery discharging start power [sensor.battery_discharging_start_power] sensor is reporting a valid value and is not in an 'unavailable' state.",
"action": "Updates the sungrow battery discharging start power slider [input_number.set_sg_battery_discharging_start_power] to match the current value reported by the battery discharging start power [sensor.battery_discharging_start_power] sensor."
},
"human_like": "Keeps the battery discharging start power slider in sync with the actual sensor value.",
"complexity": "low"
}
},
{
"id": "automation_sungrow_inverter_global_mpp_scan_manual_update",
"result": {
"structured": "TRIGGER: When global mpp scan manual raw [sensor.global_mpp_scan_manual_raw] changes state. CONDITIONS: global mpp scan manual raw [sensor.global_mpp_scan_manual_raw] is not unavailable. ACTIONS: Set sungrow global mpp scan manual selector [input_select.set_sg_global_mpp_scan_manual] to 'Enabled' if the sensor state equals 0x00AA, or to 'Disabled' if the sensor state equals 0x0055.",
"natural_language": {
"trigger": "Whenever the sensor global mpp scan manual raw [sensor.global_mpp_scan_manual_raw] changes its value.",
"conditions": "The automation only runs if the sensor global mpp scan manual raw [sensor.global_mpp_scan_manual_raw] is not in an 'unavailable' state.",
"action": "It updates the selector sungrow global mpp scan manual selector [input_select.set_sg_global_mpp_scan_manual] to 'Enabled' if the sensor's numeric value is 0x00AA, or to 'Disabled' if the value is 0x0055."
},
"human_like": "Automatically updates the manual MPP scan setting based on the raw sensor value, translating a hex code into a user-friendly 'Enabled' or 'Disabled' status.",
"complexity": "medium"
}
},
{
"id": "automation_sungrow_global_mpp_scan_manual",
"result": {
"structured": "TRIGGER: When sungrow global mpp scan manual selector [input_select.set_sg_global_mpp_scan_manual] changes state. CONDITIONS: None. ACTIONS: Write a value to the Sungrow inverter's Modbus register (address 30229) via the 'SungrowSHx' hub. The value is 170 if the selector is 'Enabled', otherwise 85. Then, update the sensor global mpp scan manual raw [sensor.global_mpp_scan_manual_raw] to refresh its state.",
"natural_language": {
"trigger": "Whenever the sungrow global mpp scan manual selector [input_select.set_sg_global_mpp_scan_manual] is changed.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a command to the Sungrow inverter to enable or disable the global MPP scan feature by writing a value to a specific Modbus register. If the selector is set to 'Enabled', it writes the value 170. If it is set to 'Disabled' or any other state, it writes the value 85. After writing the value, it refreshes the global mpp scan manual raw [sensor.global_mpp_scan_manual_raw] sensor to reflect the new state."
},
"human_like": "Controls the Sungrow inverter's global MPP scan feature by sending a Modbus command based on a user selection, then updates a sensor to show the new status.",
"complexity": "medium"
}
}
]