AutomationDataset/tomatensaus/automation-descriptions.json

340 lines
46 KiB
JSON

[
{
"id": "'1680707528756'",
"result": {
"structured": "TRIGGER: When any of the following entities change state: timezone1 time [number.deyeinvertermaster_timezone1_time], timezone2 time [number.deyeinvertermaster_timezone2_time], timezone3 time [number.deyeinvertermaster_timezone3_time], timezone4 time [number.deyeinvertermaster_timezone4_time], timezone5 time [number.deyeinvertermaster_timezone5_time], timezone6 time [number.deyeinvertermaster_timezone6_time] (trigger id: sendUpdatetoHATimeObjects) OR When any of the following entities change state: timezone1 time input [input_datetime.timezone1_time], timezone2 time input [input_datetime.timezone2_time], timezone3 time input [input_datetime.timezone3_time], timezone4 time input [input_datetime.timezone4_time], timezone5 time input [input_datetime.timezone5_time], timezone6 time input [input_datetime.timezone6_time] (trigger id: SendUpdateToInverter). CONDITIONS: The new state of the triggering entity is not 'unavailable'. ACTIONS: Wait 2 seconds. Then, if the trigger was SendUpdateToInverter, set the value of timezone1 time [number.deyeinvertermaster_timezone1_time] to the hour and minute from timezone1 time input [input_datetime.timezone1_time] timestamp, set the value of timezone2 time [number.deyeinvertermaster_timezone2_time] to the hour and minute from timezone2 time input [input_datetime.timezone2_time] timestamp, set the value of timezone3 time [number.deyeinvertermaster_timezone3_time] to the hour and minute from timezone3 time input [input_datetime.timezone3_time] timestamp, set the value of timezone4 time [number.deyeinvertermaster_timezone4_time] to the hour and minute from timezone4 time input [input_datetime.timezone4_time] timestamp, set the value of timezone5 time [number.deyeinvertermaster_timezone5_time] to the hour and minute from timezone5 time input [input_datetime.timezone5_time] timestamp, set the value of timezone6 time [number.deyeinvertermaster_timezone6_time] to the hour and minute from timezone6 time input [input_datetime.timezone6_time] timestamp. Otherwise, if the trigger was sendUpdatetoHATimeObjects, set the time of timezone1 time input [input_datetime.timezone1_time] to the hour and minute derived from the value of timezone1 time [number.deyeinvertermaster_timezone1_time], set the time of timezone2 time input [input_datetime.timezone2_time] to the hour and minute derived from the value of timezone2 time [number.deyeinvertermaster_timezone2_time], set the time of timezone3 time input [input_datetime.timezone3_time] to the hour and minute derived from the value of timezone3 time [number.deyeinvertermaster_timezone3_time], set the time of timezone4 time input [input_datetime.timezone4_time] to the hour and minute derived from the value of timezone4 time [number.deyeinvertermaster_timezone4_time], set the time of timezone5 time input [input_datetime.timezone5_time] to the hour and minute derived from the value of timezone5 time [number.deyeinvertermaster_timezone5_time], set the time of timezone6 time input [input_datetime.timezone6_time] to the hour and minute derived from the value of timezone6 time [number.deyeinvertermaster_timezone6_time]. Finally, wait another 2 seconds.",
"natural_language": {
"trigger": "The automation is triggered when the state of any of the six inverter timezone number entities (timezone1 time [number.deyeinvertermaster_timezone1_time], timezone2 time [number.deyeinvertermaster_timezone2_time], timezone3 time [number.deyeinvertermaster_timezone3_time], timezone4 time [number.deyeinvertermaster_timezone4_time], timezone5 time [number.deyeinvertermaster_timezone5_time], timezone6 time [number.deyeinvertermaster_timezone6_time]) changes. It is also triggered when the state of any of the six corresponding input_datetime entities (timezone1 time input [input_datetime.timezone1_time], timezone2 time input [input_datetime.timezone2_time], timezone3 time input [input_datetime.timezone3_time], timezone4 time input [input_datetime.timezone4_time], timezone5 time input [input_datetime.timezone5_time], timezone6 time input [input_datetime.timezone6_time]) changes.",
"conditions": "The automation only runs if the new state of the entity that triggered it is not 'unavailable'.",
"action": "After a 2-second delay, the automation checks which set of entities triggered the run. If the trigger came from a change in the input_datetime entities, it updates all six inverter number entities with the hour and minute values extracted from the corresponding input_datetime's timestamp. If the trigger came from a change in the inverter number entities, it updates all six input_datetime entities with a time value calculated from the corresponding number entity's value (interpreting it as HHMM format). After performing the updates, it waits for another 2 seconds."
},
"human_like": "This automation keeps the inverter's timezone settings and the corresponding Home Assistant input fields synchronized in both directions.",
"complexity": "medium"
}
},
{
"id": "'1717083464657'",
"result": {
"structured": "TRIGGER: When the time is 00:50:00 OR When the time is 01:10:00. CONDITIONS: None. ACTIONS: If the trigger was time at 00:50:00, then set inverter sync clock [select.deyeinvertermaster_inverter_basic_settings_sync_clock] to 'Enable'. If the trigger was time at 01:10:00, then set inverter sync clock [select.deyeinvertermaster_inverter_basic_settings_sync_clock] to 'Disable'.",
"natural_language": {
"trigger": "The automation runs at two specific times: at 00:50 (12:50 AM) and at 01:10 (1:10 AM).",
"conditions": "There are no conditions that need to be met for this automation to proceed.",
"action": "Depending on which time triggered the automation, it will change a setting on the inverter. At 00:50, it enables the clock synchronization feature on the inverter sync clock [select.deyeinvertermaster_inverter_basic_settings_sync_clock]. At 01:10, it disables the same feature."
},
"human_like": "This automation enables the inverter's clock sync feature just before 1 AM and disables it shortly after.",
"complexity": "low"
}
},
{
"id": "'1686299812078'",
"result": {
"structured": "TRIGGER: When sunset occurs with a 45-minute offset before sunset OR when sunrise occurs with a 45-minute offset after sunrise. CONDITIONS: None. ACTIONS: If the trigger is sunset with offset (poweressentials), then set load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to 'Essentials'. If the trigger is sunrise with offset (powernonessentials), then set load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to 'Zero Export'.",
"natural_language": {
"trigger": "When the sun sets, 45 minutes before the actual sunset, or when the sun rises, 45 minutes after the actual sunrise.",
"conditions": "There are no conditions that need to be met.",
"action": "If the automation was triggered by the sunset offset, it sets the inverter's load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to 'Essentials'. If it was triggered by the sunrise offset, it sets the same control to 'Zero Export'."
},
"human_like": "Adjusts the inverter's power export settings based on the time of day, switching to 'Essentials' before sunset and 'Zero Export' after sunrise.",
"complexity": "medium"
}
},
{
"id": "'1708977359107'",
"result": {
"structured": "TRIGGER: When nordpool energy price [sensor.nordpool_kwh_lt_eur_3_095_021] changes state OR When charge below price [input_number.charge_below_price] changes state OR When discharge above price [input_number.discharge_above_price] changes state. CONDITIONS: None. ACTIONS: Choose based on conditions: IF nordpool energy price [sensor.nordpool_kwh_lt_eur_3_095_021] is less than or equal to charge below price [input_number.charge_below_price] THEN turn on charge battery switch [input_boolean.charge_battery_switch]. OTHERWISE IF nordpool energy price [sensor.nordpool_kwh_lt_eur_3_095_021] is greater than charge below price [input_number.charge_below_price] THEN turn off charge battery switch [input_boolean.charge_battery_switch].",
"natural_language": {
"trigger": "When the nordpool energy price [sensor.nordpool_kwh_lt_eur_3_095_021] changes, or when the charge below price [input_number.charge_below_price] threshold is adjusted, or when the discharge above price [input_number.discharge_above_price] threshold is adjusted.",
"conditions": "There are no separate conditions that must be met before the action runs.",
"action": "The automation checks the current energy price against the charge threshold. If the price is at or below the charge below price [input_number.charge_below_price], it turns on the charge battery switch [input_boolean.charge_battery_switch]. If the price is above that threshold, it turns the switch off."
},
"human_like": "Automatically turns battery charging on or off based on whether the current electricity price is below a set threshold.",
"complexity": "medium"
}
},
{
"id": "'1709319682608'",
"result": {
"structured": "TRIGGER: When discharge battery switch [input_boolean.discharge_battery_switch] changes from off to on OR When discharge battery switch [input_boolean.discharge_battery_switch] changes from on to off. CONDITIONS: discharge automation enable [input_boolean.discharge_automation_enable] is on. ACTIONS: If the trigger was Enable Discharge, then turn off time of use switch [switch.deyeinvertermaster_time_of_use], set load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to 'Allow Export', create a scene named normal_settings [scene.normal_settings] from the current states of timezone1 soc [number.deyeinvertermaster_timezone1_soc], timezone2 soc [number.deyeinvertermaster_timezone2_soc], timezone3 soc [number.deyeinvertermaster_timezone3_soc], timezone4 soc [number.deyeinvertermaster_timezone4_soc], timezone5 soc [number.deyeinvertermaster_timezone5_soc], and timezone6 soc [number.deyeinvertermaster_timezone6_soc], and set the value of all those timezone SOC numbers to 50. If the trigger was Disable Discharge, then turn off time of use switch [switch.deyeinvertermaster_time_of_use], set load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to 'Zero Export', and activate the normal settings scene [scene.normal_settings].",
"natural_language": {
"trigger": "The automation is triggered when the discharge battery switch [input_boolean.discharge_battery_switch] is turned on or when it is turned off.",
"conditions": "The automation will only run if the discharge automation enable [input_boolean.discharge_automation_enable] is currently switched on.",
"action": "If the switch was turned on, the automation will disable the time of use switch [switch.deyeinvertermaster_time_of_use], set the load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to 'Allow Export', save the current state of six battery state-of-charge settings as a scene called normal_settings [scene.normal_settings], and then set all six of those state-of-charge settings to 50. If the switch was turned off, the automation will disable the time of use switch [switch.deyeinvertermaster_time_of_use], set the load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to 'Zero Export', and restore the previously saved inverter settings by activating the normal_settings scene [scene.normal_settings]."
},
"human_like": "This automation configures the inverter for battery discharge when enabled, and restores normal settings when disabled, all controlled by a master switch.",
"complexity": "medium"
}
},
{
"id": "'1709319936727'",
"result": {
"structured": "TRIGGER: When charge battery switch [input_boolean.charge_battery_switch] changes from off to on (Enable Charge from Grid) OR when charge battery switch [input_boolean.charge_battery_switch] changes from on to off (Disable Charge from Grid). CONDITIONS: charge automation enable [input_boolean.charge_automation_enable] is on. ACTIONS: If the trigger is Enable Charge from Grid, then turn on battery grid charge enabled [switch.deyeinvertermaster_battery_grid_charge_enabled], turn off time of use switch [switch.deyeinvertermaster_time_of_use], create a scene named before battery charge [scene.before_battery_charge] by snapshotting the states of six timezone charge select entities and six timezone soc number entities, set all six timezone charge select entities to Grid, and set all six timezone soc number entities to the value from charge battery target percentage [input_number.charge_battery_target_percentage]. If the trigger is Disable Charge from Grid, then turn off battery grid charge enabled [switch.deyeinvertermaster_battery_grid_charge_enabled], turn on time of use switch [switch.deyeinvertermaster_time_of_use], and activate the before battery charge scene [scene.before_battery_charge].",
"natural_language": {
"trigger": "When the charge battery switch [input_boolean.charge_battery_switch] is turned on or off.",
"conditions": "The automation only runs if the charge automation enable [input_boolean.charge_automation_enable] is switched on.",
"action": "If the switch is turned on, the automation enables grid charging for the battery, disables time-of-use settings, saves the current inverter charge and state-of-charge settings into a scene, then configures all charging time slots to use grid power and sets their target state-of-charge to a user-defined percentage. If the switch is turned off, the automation disables grid charging, re-enables time-of-use settings, and restores the previously saved inverter settings from the scene."
},
"human_like": "This automation manages battery charging from the grid, enabling or disabling it with a single switch while preserving and restoring the inverter's original settings.",
"complexity": "medium"
}
},
{
"id": "'1709538239920'",
"result": {
"structured": "TRIGGER: When nordpool energy price [sensor.nordpool_kwh_lt_eur_3_095_021] changes state OR When charge below price [input_number.charge_below_price] changes state OR When discharge above price [input_number.discharge_above_price] changes state. CONDITIONS: None. ACTIONS: Choose based on condition: IF nordpool energy price [sensor.nordpool_kwh_lt_eur_3_095_021] is greater than or equal to discharge above price [input_number.discharge_above_price] THEN turn on discharge battery switch [input_boolean.discharge_battery_switch]. OTHERWISE IF nordpool energy price [sensor.nordpool_kwh_lt_eur_3_095_021] is less than discharge above price [input_number.discharge_above_price] THEN turn off discharge battery switch [input_boolean.discharge_battery_switch].",
"natural_language": {
"trigger": "The automation runs whenever the current energy price from nordpool energy price [sensor.nordpool_kwh_lt_eur_3_095_021] changes, or when the user-defined thresholds for charge below price [input_number.charge_below_price] or discharge above price [input_number.discharge_above_price] are adjusted.",
"conditions": "There are no additional conditions that must be met for the automation to proceed.",
"action": "The automation checks the current energy price against the 'discharge above' threshold. If the price is at or above the set threshold, it turns on the discharge battery switch [input_boolean.discharge_battery_switch] to allow battery discharge. If the price is below the threshold, it turns the switch off to prevent discharge."
},
"human_like": "Automatically controls battery discharge based on the current electricity price, turning it on when prices are high to save money.",
"complexity": "medium"
}
},
{
"id": "'1736228839643'",
"result": {
"structured": "TRIGGER: When suggested cheap price [sensor.suggested_cheap_price] changes state OR when automatically update charge price automation [automation.automatically_update_charge_price] turns on (from off). CONDITIONS: None. ACTIONS: Set the value of charge below price [input_number.charge_below_price] to the current state of suggested cheap price [sensor.suggested_cheap_price].",
"natural_language": {
"trigger": "The automation runs whenever the suggested cheap price [sensor.suggested_cheap_price] sensor updates, or when the automation itself (automatically update charge price automation [automation.automatically_update_charge_price]) is manually turned on.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "It updates the charge below price [input_number.charge_below_price] input number to match the latest value from the suggested cheap price [sensor.suggested_cheap_price] sensor."
},
"human_like": "Automatically keeps the charging price threshold in sync with the latest suggested cheap energy price.",
"complexity": "low"
}
},
{
"id": "'1710562585517'",
"result": {
"structured": "TRIGGER: Every 4 hours (time pattern). CONDITIONS: During daylight hours (after sunrise AND before sunset). ACTIONS: Call service solcast_solar.update_forecasts.",
"natural_language": {
"trigger": "The automation runs every four hours.",
"conditions": "It only runs during daylight hours, meaning after the sun has risen and before the sun sets.",
"action": "It updates the solar forecasts by calling the 'solcast_solar.update_forecasts' service."
},
"human_like": "Updates solar energy forecasts from Solcast every four hours during the day.",
"complexity": "low"
}
},
{
"id": "'1712779724660'",
"result": {
"structured": "TRIGGER: When octopus energy state [input_select.octopus_energy_state] changes to 'start charge' AND remains in that state for 15 seconds. CONDITIONS: None. ACTIONS: Set grid charge current [number.deyeinvertermaster_grid_charge_current] to 85 (action disabled) AND Turn on battery grid charge enabled [switch.deyeinvertermaster_battery_grid_charge_enabled] AND Set timezone1 charge [select.deyeinvertermaster_timezone1_charge] to 'Grid'.",
"natural_language": {
"trigger": "When the octopus energy state [input_select.octopus_energy_state] is set to 'start charge' and remains in that state for 15 seconds.",
"conditions": "There are no conditions for this automation.",
"action": "It sets the grid charge current [number.deyeinvertermaster_grid_charge_current] to 85 (though this action is currently disabled), turns on the battery grid charge enabled [switch.deyeinvertermaster_battery_grid_charge_enabled] switch, and sets the timezone1 charge [select.deyeinvertermaster_timezone1_charge] to 'Grid'."
},
"human_like": "Starts a grid-based battery charging process when the energy system is set to 'start charge'.",
"complexity": "low"
}
},
{
"id": "'1712831382846'",
"result": {
"structured": "TRIGGER: When octopus energy state [input_select.octopus_energy_state] changes to 'stop charge' AND remains in that state for 15 seconds. CONDITIONS: None. ACTIONS: First, set the option for timezone1 charge [select.deyeinvertermaster_timezone1_charge] to 'None'. Then, wait for 1 minute. Finally, set the value for grid charge current [number.deyeinvertermaster_grid_charge_current] to 85.",
"natural_language": {
"trigger": "When the octopus energy state [input_select.octopus_energy_state] is set to 'stop charge' and stays in that state for 15 seconds.",
"conditions": "There are no conditions that must be met.",
"action": "The automation first changes the timezone1 charge [select.deyeinvertermaster_timezone1_charge] setting to 'None'. It then waits for one minute before setting the grid charge current [number.deyeinvertermaster_grid_charge_current] to a value of 85."
},
"human_like": "Stops the inverter's scheduled charge and, after a short delay, sets the grid charge current to a specific level when the energy system is commanded to stop charging.",
"complexity": "low"
}
},
{
"id": "'1712832456126'",
"result": {
"structured": "TRIGGER: When octopus energy state [input_select.octopus_energy_state] changes to 'start discharge' AND remains in that state for 15 seconds. CONDITIONS: None. ACTIONS: Set load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to the option 'Allow Export'.",
"natural_language": {
"trigger": "When the octopus energy state [input_select.octopus_energy_state] changes to 'start discharge' and stays in that state for 15 seconds.",
"conditions": "There are no conditions that must be met.",
"action": "Changes the setting of the load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to 'Allow Export'."
},
"human_like": "When the energy system is set to start discharging, it automatically enables the inverter to allow energy export after a short delay.",
"complexity": "low"
}
},
{
"id": "'1712832480479'",
"result": {
"structured": "TRIGGER: When octopus energy state [input_select.octopus_energy_state] changes to 'stop discharge' AND remains in that state for 15 seconds. CONDITIONS: None. ACTIONS: First, set load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to 'Zero Export'. Then, wait for 1 minute. Finally, set timezone4 power [number.deyeinvertermaster_timezone4_power] to 5000.",
"natural_language": {
"trigger": "When the octopus energy state [input_select.octopus_energy_state] is set to 'stop discharge' and stays in that state for 15 seconds.",
"conditions": "There are no conditions that must be met.",
"action": "First, the automation changes the load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to 'Zero Export'. After a one-minute delay, it sets the timezone4 power [number.deyeinvertermaster_timezone4_power] to a value of 5000."
},
"human_like": "Stops energy export by setting the inverter to zero export and adjusting a power setting after a short delay when the energy system state changes.",
"complexity": "low"
}
},
{
"id": "'1712838905064'",
"result": {
"structured": "TRIGGER: At 02:01:00 OR At 04:59:00 OR At 16:00:00 OR At 19:00:00. CONDITIONS: NOT (octopus energy state [input_select.octopus_energy_state] is disable). ACTIONS: If trigger is startCharge, set octopus energy state [input_select.octopus_energy_state] to 'start charge'. If trigger is stopCharge, set octopus energy state [input_select.octopus_energy_state] to 'stop charge'. If trigger is startExport, set octopus energy state [input_select.octopus_energy_state] to 'start discharge'. If trigger is stopExport, set octopus energy state [input_select.octopus_energy_state] to 'stop discharge'.",
"natural_language": {
"trigger": "The automation runs at four specific times of day: 2:01 AM, 4:59 AM, 4:00 PM, and 7:00 PM.",
"conditions": "The automation only proceeds if the octopus energy state [input_select.octopus_energy_state] is not currently set to 'disable'.",
"action": "Depending on which time triggered the automation, it changes the octopus energy state [input_select.octopus_energy_state] to a different mode. At 2:01 AM, it sets it to 'start charge'. At 4:59 AM, it sets it to 'stop charge'. At 4:00 PM, it sets it to 'start discharge'. At 7:00 PM, it sets it to 'stop discharge'."
},
"human_like": "This automation manages a home energy system by setting different charging and discharging modes for a battery at scheduled times throughout the day.",
"complexity": "medium"
}
},
{
"id": "'1713294916505'",
"result": {
"structured": "TRIGGER: When the time pattern matches every 3 minutes OR when battery soc [sensor.deyeinvertermaster_battery_soc] changes state. CONDITIONS: octopus energy state [input_select.octopus_energy_state] is set to 'start discharge'. ACTIONS: Set timezone4 power [number.deyeinvertermaster_timezone4_power] to the current value of timezone4 estimate export power filtered [sensor.deyeinvertermaster_timezone4_estimate_export_power_filtered].",
"natural_language": {
"trigger": "The automation runs every 3 minutes, or whenever the battery state of charge [sensor.deyeinvertermaster_battery_soc] changes.",
"conditions": "The automation only proceeds if the octopus energy state [input_select.octopus_energy_state] is set to 'start discharge'.",
"action": "It updates the timezone4 power [number.deyeinvertermaster_timezone4_power] setting to match the current estimated export power value from the sensor timezone4 estimate export power filtered [sensor.deyeinvertermaster_timezone4_estimate_export_power_filtered]."
},
"human_like": "Updates the inverter's discharge power setting based on estimated export power when the system is in a discharge state.",
"complexity": "medium"
}
},
{
"id": "'1714048088646'",
"result": {
"structured": "TRIGGER: When the time pattern matches every 3 minutes OR When battery soc [sensor.deyeinvertermaster_battery_soc] changes state. CONDITIONS: octopus energy state [input_select.octopus_energy_state] is set to 'start charge'. ACTIONS: Set the value of grid charge current [number.deyeinvertermaster_grid_charge_current] to the current state of timezone1 estimate charge current filtered [sensor.deyeinvertermaster_timezone1_estimate_charge_current_filtered].",
"natural_language": {
"trigger": "The automation triggers either every 3 minutes on a repeating schedule, or whenever the battery state of charge [sensor.deyeinvertermaster_battery_soc] sensor changes its value.",
"conditions": "The automation only proceeds if the octopus energy state [input_select.octopus_energy_state] is currently set to 'start charge'.",
"action": "It updates the grid charge current [number.deyeinvertermaster_grid_charge_current] setting to match the latest estimated charge current value from the timezone1 estimate charge current filtered [sensor.deyeinvertermaster_timezone1_estimate_charge_current_filtered] sensor."
},
"human_like": "Updates the inverter's grid charge current setting to a filtered estimate every few minutes or when the battery level changes, but only when the energy system is in 'start charge' mode.",
"complexity": "medium"
}
},
{
"id": "'1708977359107'",
"result": {
"structured": "TRIGGER: When tge fixing rate [sensor.tge_fixing_1_rate] changes state OR when charge below price [input_number.charge_below_price] changes state OR when discharge above price [input_number.discharge_above_price] changes state. CONDITIONS: None. ACTIONS: If tge fixing rate [sensor.tge_fixing_1_rate] is less than or equal to charge below price [input_number.charge_below_price], then turn on charge battery switch [input_boolean.charge_battery_switch]. Otherwise, if tge fixing rate [sensor.tge_fixing_1_rate] is greater than charge below price [input_number.charge_below_price], then turn off charge battery switch [input_boolean.charge_battery_switch].",
"natural_language": {
"trigger": "The automation runs whenever the tge fixing rate [sensor.tge_fixing_1_rate] changes, or when the user-defined charge below price [input_number.charge_below_price] or discharge above price [input_number.discharge_above_price] thresholds are adjusted.",
"conditions": "There are no additional conditions that must be met for the automation to proceed.",
"action": "The automation compares the current electricity rate to the charge threshold. If the tge fixing rate [sensor.tge_fixing_1_rate] is at or below the charge below price [input_number.charge_below_price], it turns on the charge battery switch [input_boolean.charge_battery_switch] to enable charging. If the rate is above that threshold, it turns the switch off to stop charging."
},
"human_like": "Automatically controls battery charging based on the current electricity price, turning charging on when the price is low and off when it's high.",
"complexity": "medium"
}
},
{
"id": "'1709319682608'",
"result": {
"structured": "TRIGGER: When discharge battery switch [input_boolean.discharge_battery_switch] changes from off to on OR when discharge battery switch [input_boolean.discharge_battery_switch] changes from on to off. CONDITIONS: discharge automation enable [input_boolean.discharge_automation_enable] is on. ACTIONS: If the trigger is Enable Discharge, then turn off time of use switch [switch.deyeinvertermaster_time_of_use], set load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to 'Allow Export', create a scene named 'normal_settings' from the current state of six timezone SOC number entities, and set the value of all six timezone SOC number entities to 50. If the trigger is Disable Discharge, then turn off time of use switch [switch.deyeinvertermaster_time_of_use], set load limit export [select.deyeinvertermaster_load_limit_exp_ess_non_ess] to 'Zero Export', and activate the normal settings scene [scene.normal_settings].",
"natural_language": {
"trigger": "The automation is triggered when the discharge battery switch [input_boolean.discharge_battery_switch] is turned on or when it is turned off.",
"conditions": "The automation will only run if the discharge automation enable [input_boolean.discharge_automation_enable] is switched on.",
"action": "If the switch was turned on, it disables the time of use feature, sets the inverter to allow exporting power, saves the current battery charge level settings for six time periods as a scene, and then sets all those charge level targets to 50%. If the switch was turned off, it disables the time of use feature, sets the inverter to a zero-export mode, and then restores the previously saved battery charge level settings from the scene."
},
"human_like": "This automation manages battery discharge settings, switching between a high-discharge mode for exporting power and a normal mode that prevents export, based on a master switch.",
"complexity": "medium"
}
},
{
"id": "'1709319936727'",
"result": {
"structured": "TRIGGER: When charge battery switch [input_boolean.charge_battery_switch] changes from off to on OR when charge battery switch [input_boolean.charge_battery_switch] changes from on to off. CONDITIONS: charge automation enable [input_boolean.charge_automation_enable] is on. ACTIONS: IF the trigger is Enable Charge from Grid THEN turn on battery grid charge enabled [switch.deyeinvertermaster_battery_grid_charge_enabled], turn off time of use switch [switch.deyeinvertermaster_time_of_use], create a snapshot scene named before battery charge [scene.before_battery_charge] from the states of six timezone charge select entities and six timezone soc number entities, set all six timezone charge select entities to Grid, and set all six timezone soc number entities to the value from charge battery target percentage [input_number.charge_battery_target_percentage]. IF the trigger is Disable Charge from Grid THEN turn off battery grid charge enabled [switch.deyeinvertermaster_battery_grid_charge_enabled], turn on time of use switch [switch.deyeinvertermaster_time_of_use], and activate the before battery charge [scene.before_battery_charge] scene.",
"natural_language": {
"trigger": "When the charge battery switch [input_boolean.charge_battery_switch] is turned on or off.",
"conditions": "The charge automation enable [input_boolean.charge_automation_enable] must be switched on for the automation to run.",
"action": "If the switch was turned on, the automation enables grid charging for the battery, disables time-of-use settings, saves the current inverter charge and state-of-charge settings to a scene, and then configures all time-of-use periods to charge from the grid up to a specified target percentage. If the switch was turned off, the automation disables grid charging, re-enables time-of-use settings, and restores the inverter's previous charge and state-of-charge settings from the saved scene."
},
"human_like": "Manages battery charging from the grid by toggling the necessary inverter settings and saving or restoring configurations when the charge switch is used.",
"complexity": "medium"
}
},
{
"id": "'1709538239920'",
"result": {
"structured": "TRIGGER: When tge fixing rate [sensor.tge_fixing_1_rate] changes state OR When charge below price [input_number.charge_below_price] changes state OR When discharge above price [input_number.discharge_above_price] changes state. CONDITIONS: None. ACTIONS: If tge fixing rate [sensor.tge_fixing_1_rate] is greater than or equal to discharge above price [input_number.discharge_above_price], then turn on discharge battery switch [input_boolean.discharge_battery_switch]. Otherwise, if tge fixing rate [sensor.tge_fixing_1_rate] is less than discharge above price [input_number.discharge_above_price], then turn off discharge battery switch [input_boolean.discharge_battery_switch].",
"natural_language": {
"trigger": "The automation runs whenever the tge fixing rate [sensor.tge_fixing_1_rate] changes, or when the user-adjustable thresholds for charging or discharging, charge below price [input_number.charge_below_price] and discharge above price [input_number.discharge_above_price], are changed.",
"conditions": "There are no additional conditions that must be met.",
"action": "The automation checks the current electricity price. If the tge fixing rate is at or above the set discharge threshold, it turns on the discharge battery switch [input_boolean.discharge_battery_switch] to enable battery discharge. If the price falls below that threshold, it turns the switch off."
},
"human_like": "Automatically controls battery discharge based on the current electricity price, turning it on when prices are high and off when they are low.",
"complexity": "medium"
}
},
{
"id": "'1736266366952'",
"result": {
"structured": "TRIGGER: When suggested cheap price [sensor.suggested_cheap_price] changes state OR when automatically update charge price automation [automation.automatically_update_charge_price] turns on (from off). CONDITIONS: None. ACTIONS: Set the value of charge below price [input_number.charge_below_price] to the current state of suggested cheap price [sensor.suggested_cheap_price].",
"natural_language": {
"trigger": "The automation runs when the value of the suggested cheap price [sensor.suggested_cheap_price] sensor changes, or when the automation itself is manually turned on.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "It updates the 'charge below price' [input_number.charge_below_price] setting to match the latest value from the 'suggested cheap price' [sensor.suggested_cheap_price] sensor."
},
"human_like": "Automatically keeps the charging price threshold in sync with the latest suggested cheap electricity price.",
"complexity": "low"
}
},
{
"id": "'1717429630744'",
"result": {
"structured": "TRIGGER: When prepaid meter units [input_number.prepaid_meter_units] changes state. CONDITIONS: The value of prepaid meter units [input_number.prepaid_meter_units] is greater than 0. ACTIONS: Set the value of prepaid meter inverter total units [input_number.prepaid_meter_inverter_total_units] to the value of summary total grid import buy [sensor.deyeinvertermaster_summary_total_grid_import_buy] multiplied by 1000.",
"natural_language": {
"trigger": "Whenever the value of prepaid meter units [input_number.prepaid_meter_units] changes.",
"conditions": "The automation only proceeds if the current value of prepaid meter units [input_number.prepaid_meter_units] is greater than zero.",
"action": "It calculates a new value by taking the current reading from the summary total grid import buy [sensor.deyeinvertermaster_summary_total_grid_import_buy] sensor, multiplying it by 1000, and then sets that result as the new value for prepaid meter inverter total units [input_number.prepaid_meter_inverter_total_units]."
},
"human_like": "Updates the total inverter units from the grid when the prepaid meter units are adjusted and positive.",
"complexity": "low"
}
},
{
"id": "'1680707528756'",
"result": {
"structured": "TRIGGER: When any of the following entities changes state: timezone1 time [number.deyeinvertermaster_timezone1_time], timezone2 time [number.deyeinvertermaster_timezone2_time], timezone3 time [number.deyeinvertermaster_timezone3_time], timezone4 time [number.deyeinvertermaster_timezone4_time], timezone5 time [number.deyeinvertermaster_timezone5_time], timezone6 time [number.deyeinvertermaster_timezone6_time] (with trigger ID sendUpdatetoHATimeObjects) OR when any of the following entities changes state: timezone1 time input [input_datetime.timezone1_time], timezone2 time input [input_datetime.timezone2_time], timezone3 time input [input_datetime.timezone3_time], timezone4 time input [input_datetime.timezone4_time], timezone5 time input [input_datetime.timezone5_time], timezone6 time input [input_datetime.timezone6_time] (with trigger ID SendUpdateToInverter). CONDITIONS: The new state of the triggering entity is not 'unavailable'. ACTIONS: Wait 2 seconds. Then, if the trigger ID is SendUpdateToInverter, set the value of timezone1 time [number.deyeinvertermaster_timezone1_time] to the hour and minute from timezone1 time input [input_datetime.timezone1_time] timestamp formatted as HHMM, set the value of timezone2 time [number.deyeinvertermaster_timezone2_time] to the hour and minute from timezone2 time input [input_datetime.timezone2_time] timestamp formatted as HHMM, set the value of timezone3 time [number.deyeinvertermaster_timezone3_time] to the hour and minute from timezone3 time input [input_datetime.timezone3_time] timestamp formatted as HHMM, set the value of timezone4 time [number.deyeinvertermaster_timezone4_time] to the hour and minute from timezone4 time input [input_datetime.timezone4_time] timestamp formatted as HHMM, set the value of timezone5 time [number.deyeinvertermaster_timezone5_time] to the hour and minute from timezone5 time input [input_datetime.timezone5_time] timestamp formatted as HHMM, set the value of timezone6 time [number.deyeinvertermaster_timezone6_time] to the hour and minute from timezone6 time input [input_datetime.timezone6_time] timestamp formatted as HHMM. Otherwise, if the trigger ID is sendUpdatetoHATimeObjects, set the time of timezone1 time input [input_datetime.timezone1_time] to the hour and minute derived from the integer value of timezone1 time [number.deyeinvertermaster_timezone1_time] (where the integer is in HHMM format), set the time of timezone2 time input [input_datetime.timezone2_time] to the hour and minute derived from the integer value of timezone2 time [number.deyeinvertermaster_timezone2_time], set the time of timezone3 time input [input_datetime.timezone3_time] to the hour and minute derived from the integer value of timezone3 time [number.deyeinvertermaster_timezone3_time], set the time of timezone4 time input [input_datetime.timezone4_time] to the hour and minute derived from the integer value of timezone4 time [number.deyeinvertermaster_timezone4_time], set the time of timezone5 time input [input_datetime.timezone5_time] to the hour and minute derived from the integer value of timezone5 time [number.deyeinvertermaster_timezone5_time], set the time of timezone6 time input [input_datetime.timezone6_time] to the hour and minute derived from the integer value of timezone6 time [number.deyeinvertermaster_timezone6_time]. Finally, wait another 2 seconds.",
"natural_language": {
"trigger": "The automation is triggered when any of the six inverter timezone number entities (timezone1 time [number.deyeinvertermaster_timezone1_time], timezone2 time [number.deyeinvertermaster_timezone2_time], timezone3 time [number.deyeinvertermaster_timezone3_time], timezone4 time [number.deyeinvertermaster_timezone4_time], timezone5 time [number.deyeinvertermaster_timezone5_time], timezone6 time [number.deyeinvertermaster_timezone6_time]) changes state, or when any of the six corresponding input datetime entities (timezone1 time input [input_datetime.timezone1_time], timezone2 time input [input_datetime.timezone2_time], timezone3 time input [input_datetime.timezone3_time], timezone4 time input [input_datetime.timezone4_time], timezone5 time input [input_datetime.timezone5_time], timezone6 time input [input_datetime.timezone6_time]) changes state.",
"conditions": "The automation only proceeds if the new state of the entity that triggered the automation is not 'unavailable'.",
"action": "After a two-second delay, the automation checks which set of entities triggered it. If the trigger came from a change in one of the input datetime entities, it converts the timestamp from each input datetime into a simple HHMM number format and updates the corresponding inverter timezone number entity with that value. If the trigger came from a change in one of the inverter timezone number entities, it does the reverse: it takes the integer value (which represents a time in HHMM format), extracts the hour and minute, and updates the corresponding input datetime entity's time. After performing these updates, the automation waits for another two seconds."
},
"human_like": "This automation keeps the inverter's timezone settings and the corresponding Home Assistant input helpers synchronized, ensuring changes in one are reflected in the other after a short delay.",
"complexity": "medium"
}
},
{
"id": "'1717083464657'",
"result": {
"structured": "TRIGGER: When the time is 00:50:00 (enableSync) OR When the time is 01:10:00 (disableSync). CONDITIONS: None. ACTIONS: If the trigger is enableSync, set inverter sync clock [select.deyeinvertermaster_inverter_basic_settings_sync_clock] to 'Enable'. If the trigger is disableSync, set inverter sync clock [select.deyeinvertermaster_inverter_basic_settings_sync_clock] to 'Disable'.",
"natural_language": {
"trigger": "The automation runs at two specific times: at 00:50:00 and at 01:10:00.",
"conditions": "There are no conditions that need to be met for the automation to proceed.",
"action": "Depending on which time triggered the automation, it will either enable or disable the clock synchronization on the inverter. At 00:50, it sets the inverter sync clock [select.deyeinvertermaster_inverter_basic_settings_sync_clock] to 'Enable'. At 01:10, it sets the same entity to 'Disable'."
},
"human_like": "This automation enables the inverter's clock synchronization just before 1 AM and disables it 20 minutes later.",
"complexity": "low"
}
},
{
"id": "'1685459034446'",
"result": {
"structured": "TRIGGER: When a Telegram text event occurs with text 'command1' OR When any Telegram text event occurs. CONDITIONS: None. ACTIONS: If the trigger is the 'Unknown' Telegram text event, send a Telegram message to the chat ID from the event with content 'I got a message from chatID: {{ trigger.event.data.chat_id }}'. If the trigger is the 'sampleCommand1' Telegram text event, send a Telegram message to the chat ID from the event with content 'command1 was understood and I will action it now' AND turn on an unspecified input_boolean.",
"natural_language": {
"trigger": "The automation is triggered either by receiving a specific Telegram message containing the text 'command1', or by receiving any other Telegram text message.",
"conditions": "There are no conditions that must be met for the actions to run.",
"action": "Depending on which message was received, the automation performs different actions. If the message was the generic 'Unknown' Telegram text, it replies to the sender's chat ID with a message stating the received chat ID. If the message was the specific 'command1' text, it replies to the sender confirming the command was understood and then turns on an unspecified input boolean."
},
"human_like": "This automation replies to Telegram messages, providing debug information for unknown messages and acknowledging specific commands.",
"complexity": "medium"
}
},
{
"id": "'1685462793973'",
"result": {
"structured": "TRIGGER: When grid frequency [sensor.deyeinvertermaster_grid_frequency] remains below 49 Hz for 5 seconds OR When grid frequency [sensor.deyeinvertermaster_grid_frequency] remains above 49.1 Hz for 5 seconds OR When battery soc [sensor.deyeinvertermaster_battery_soc] falls below 20%. CONDITIONS: None. ACTIONS: Choose based on trigger: IF trigger is power-on AND previous state was not 'unavailable' THEN send two Telegram messages with battery SOC percentage, one to default target and one to target -12333321. IF trigger is power-off AND previous state was not 'unavailable' THEN send two Telegram messages with battery SOC percentage, one to default target and one to target -12333321. IF trigger is Battery below 20 AND grid frequency [sensor.deyeinvertermaster_grid_frequency] is below 49 Hz THEN send two Telegram messages stating 'Grid down and battery below 20%', one to default target and one to target -12333321.",
"natural_language": {
"trigger": "The automation triggers when the grid frequency [sensor.deyeinvertermaster_grid_frequency] stays below 49 Hz for 5 seconds, or when it stays above 49.1 Hz for 5 seconds, or when the battery soc [sensor.deyeinvertermaster_battery_soc] drops below 20%.",
"conditions": "There are no global conditions for this automation.",
"action": "Depending on which trigger occurred: If the grid frequency returns above 49.1 Hz and the sensor was not previously unavailable, two Telegram messages are sent announcing the end of loadshedding and including the current battery percentage. If the grid frequency drops below 49 Hz and the sensor was not previously unavailable, two Telegram messages are sent announcing the start of loadshedding with the battery percentage. If the battery falls below 20% while the grid frequency is also below 49 Hz, two Telegram messages are sent warning that the grid is down and the battery is below 20%. In each case, one message goes to a default recipient and another to a specific target (ID -12333321)."
},
"human_like": "Sends Telegram notifications about loadshedding status and battery level, alerting when power goes off or on, or when the battery is critically low during an outage.",
"complexity": "medium"
}
}
]