[ { "id": "'1736734609929'", "result": { "structured": "TRIGGER: When a mobile app notification action event occurs. CONDITIONS: The event data action is defined AND the action is a key in the action_mapping variable dictionary. ACTIONS: First, resolve variables: resolved.alert, resolved.controlling_binary_sensor, and resolved.controlling_timer from the action_mapping using the triggered action. controlling_sensor_state is true if resolved.controlling_binary_sensor is 'on'. controlling_timer_state is the state of resolved.controlling_timer. error is true if resolved.controlling_binary_sensor OR resolved.controlling_timer is 'unavailable' or 'unknown'. Then, IF controlling_sensor_state is true, THEN pause resolved.controlling_timer AND log an entry with details. ELSE cancel resolved.controlling_timer AND log an entry with details. The action_mapping variable defines two mappings: ACK_WARN_TUYA_DISCONNECT maps to alert.warn_irregular_off, timer.timer_warn_tuya_disconnect, and binary_sensor.alert_state_warning_tuya_disconnect. ACK_WARN_IRREGULAR_OFF maps to alert.warn_irregular_off, timer.notification_warn_irregular_off, and binary_sensor.alert_state_warn_irregular_off.", "natural_language": { "trigger": "When a user interacts with a push notification on a mobile device, triggering a specific notification action event.", "conditions": "The action taken on the notification must be one of the predefined actions stored in the automation's internal mapping: either 'ACK_WARN_TUYA_DISCONNECT' or 'ACK_WARN_IRREGULAR_OFF'.", "action": "The automation first looks up which alert, sensor, and timer are associated with the pressed notification button. It then checks the state of the associated binary sensor. If that sensor is on, it pauses the associated timer and logs a message stating the alert was acknowledged. If the sensor is not on, it cancels the timer and logs a message stating the alert was canceled. The logs include the names and states of the controlling sensor and timer." }, "human_like": "Handles user acknowledgment of specific alerts via mobile notifications, either pausing or canceling a timer based on the current alert state.", "complexity": "medium" } }, { "id": "'1733720729443'", "result": { "structured": "TRIGGER: When the next_update attribute of aquarium lighting schedule [binary_sensor.aquarium_lighting_schedule] changes. CONDITIONS: The new state of the triggering entity after the change is either 'on' or 'off'. ACTIONS: Execute the script set_state_switch_light with parameters: bool_invert_state set to 'Off', select_state set to 'Unknown', target_entity_set containing aquarium lighting [light.aquarium_lighting], and entity_trigger set to the entity that caused the trigger.", "natural_language": { "trigger": "Whenever the 'next_update' attribute of the aquarium lighting schedule [binary_sensor.aquarium_lighting_schedule] changes state.", "conditions": "The new state value of the triggering schedule sensor must be either 'on' or 'off'.", "action": "Runs a script named 'set_state_switch_light' which is configured to control the aquarium lighting [light.aquarium_lighting]. The script is given the triggering entity's information and is instructed to handle an 'Off' state as inverted and an 'Unknown' selection state." }, "human_like": "Turns the aquarium light on or off automatically based on a predefined lighting schedule.", "complexity": "medium" } }, { "id": "'1733723752388'", "result": { "structured": "TRIGGER: When aquarium co2 schedule [binary_sensor.aquarium_co2_schedule] attribute 'next_update' changes. CONDITIONS: The new state of the triggering entity is either 'on' or 'off'. ACTIONS: Execute script 'set_state_switch_light' with parameters: target entity set to 20g rack co2 [switch.20g_rack_co2], bool_invert_state set to 'Off', select_state set to 'Unknown', and entity_trigger set to the triggering entity.", "natural_language": { "trigger": "Whenever the 'next_update' attribute of the aquarium co2 schedule [binary_sensor.aquarium_co2_schedule] changes.", "conditions": "The new state value of the schedule sensor must be either 'on' or 'off'.", "action": "Runs a script called 'set_state_switch_light' to control the 20g rack co2 [switch.20g_rack_co2] switch. The script is configured to invert the state to 'Off' and set a selection state to 'Unknown', using the triggering schedule entity as a reference." }, "human_like": "Turns the aquarium CO2 system on or off automatically based on a predefined schedule.", "complexity": "medium" } }, { "id": "'1730622599095'", "result": { "structured": "TRIGGER: When leak sensor group [binary_sensor.leak_sensor_group] changes from off to on AND remains on for 30 seconds. CONDITIONS: None. ACTIONS: Set variable 'message' to the result of the template function leak_detector_notification(trigger.entity_id). Log an entry to the logbook with name 'leak test problem', the message variable, and entity_id from the trigger. Execute script notification_dispatcher with parameters: notification channels iPhone and persistant, bool_critical OFF, sound default, SMS target 7188138156@mms.att.net, email target gbtunney@mac.com, and a message stating the device's friendly name and area is detecting moisture (this action is disabled).", "natural_language": { "trigger": "When the leak sensor group [binary_sensor.leak_sensor_group] detects moisture, changing its state from off to on, and remains in the on state for 30 seconds.", "conditions": "There are no conditions that must be met.", "action": "First, a message is prepared using a custom template function. Then, an entry is recorded in the Home Assistant logbook noting a 'leak test problem' with that message and the triggering sensor. Finally, a notification script is called to send alerts via iPhone, persistent notifications, SMS, and email, though this final notification step is currently disabled." }, "human_like": "Sends an alert and logs a problem when a leak is detected for 30 seconds, but the main notification action is turned off.", "complexity": "medium" } }, { "id": "'1733535410225'", "result": { "structured": "TRIGGER: When dummy thermometer [input_number.dummy_thermometer] OR reptile room hygrometer temperature [sensor.reptile_room_hygrometer_temperature] falls below 65. OR When dummy thermometer [input_number.dummy_thermometer] OR reptile room hygrometer temperature [sensor.reptile_room_hygrometer_temperature] rises above 85. CONDITIONS: None. ACTIONS: Execute script notification_dispatcher with a custom message. The message determines if the alert is for a low or high temperature, includes the triggering device's name, its current temperature in Fahrenheit, and the area name, then sends notifications to iPhone, iPad, macBook, persistant, alexa, and SMS to 7188138156@mms.att.net and email to gbtunney@mac.com.", "natural_language": { "trigger": "The automation triggers when the temperature reported by either the dummy thermometer [input_number.dummy_thermometer] or the reptile room hygrometer temperature [sensor.reptile_room_hygrometer_temperature] drops below 65 degrees Fahrenheit or rises above 85 degrees Fahrenheit.", "conditions": "There are no conditions that must be met for the action to run.", "action": "When triggered, it sends a critical alert via the notification_dispatcher script. The alert message specifies whether it's a low or high temperature alert, names the device that triggered it, states the current temperature, and mentions the area. This alert is sent to multiple channels: iPhone, iPad, macBook, a persistent channel, Alexa, an SMS to a specified phone number, and an email to a specified address." }, "human_like": "Sends urgent temperature alerts to all your devices if the temperature in the reptile room gets too cold or too hot.", "complexity": "medium" } }, { "id": "'1733554565177'", "result": { "structured": "TRIGGER: When ffmpeg motion detection camera 1 [binary_sensor.ffmpeg_motion_detection_camera_1] changes state and remains in the new state for 30 seconds. CONDITIONS: None. ACTIONS: If ffmpeg motion detection camera 1 [binary_sensor.ffmpeg_motion_detection_camera_1] is on AND remains on for 30 seconds, then turn on led strip color [light.led_strip_color] to green (RGB 44, 114, 39) AND run script notification_dispatcher with a 'Motion detected - green' message to iPhone, persistant channels, SMS to 7188138156@mms.att.net, and email to gbtunney@mac.com. (A second, disabled notification with message 'Motion detected' is also defined but not executed). Otherwise (if the condition is false), turn on led strip color [light.led_strip_color] to red (RGB 246, 26, 25) AND run script notification_dispatcher with a 'Motion NOT DETECTED BACM TO RED' message to the same channels.", "natural_language": { "trigger": "When the motion sensor, ffmpeg motion detection camera 1 [binary_sensor.ffmpeg_motion_detection_camera_1], changes to any state and stays in that state for 30 seconds.", "conditions": "There are no conditions that must be met before the actions run.", "action": "After the trigger, the automation checks if the motion sensor has been on for 30 seconds. If it has, it turns the led strip color [light.led_strip_color] green and sends a notification saying 'Motion detected - green' to the specified phone and email. If the motion sensor has not been on for 30 seconds (meaning it's off or hasn't been on long enough), it turns the light strip red and sends a different notification saying 'Motion NOT DETECTED BACM TO RED'." }, "human_like": "Changes a light strip's color and sends notifications based on whether motion is detected for 30 seconds, turning it green for motion and red for no motion.", "complexity": "medium" } }, { "id": "'1733563292567'", "result": { "structured": "TRIGGER: When aq and reptile connectivity status group [binary_sensor.aq_and_rept_connectivity_status_group] remains off OR unknown OR unavailable for 6 minutes. CONDITIONS: home alarm [alarm_control_panel.home_alarm] is armed_home. ACTIONS: Set variable 'message' to the result of a template function 'device_unavailable_notification' with the triggering entity ID. Set variable 'message_bk' to a backup message string. Execute script notification_dispatcher with notification channels iPhone, iPad, macBook, persistant, alexa; SMS target 7188138156@mms.att.net; email target gbtunney@mac.com; using the 'message' variable; with sound default and bool_critical OFF.", "natural_language": { "trigger": "When the aq and reptile connectivity status group [binary_sensor.aq_and_rept_connectivity_status_group] remains in a disconnected or unavailable state (off, unknown, or unavailable) for at least six minutes.", "conditions": "The home alarm [alarm_control_panel.home_alarm] must be in the 'armed_home' mode.", "action": "First, it prepares a notification message using a template function and a backup message. Then, it sends this notification via a script to multiple channels: iPhone, iPad, macBook, persistant, and alexa. It also sends an SMS to 7188138156@mms.att.net and an email to gbtunney@mac.com, using a default sound and marking the notification as non-critical." }, "human_like": "Sends urgent notifications when the reptile room connectivity group is offline for six minutes while the home alarm is armed.", "complexity": "medium" } }, { "id": "'1733605050618'", "result": { "structured": "TRIGGER: When any of the following entities remains off for 5 minutes: hallway light status [binary_sensor.hallway_light_status], living room light status [binary_sensor.living_room_light_status], bedroom light status [binary_sensor.bedroom_light_status], seafoam light status [binary_sensor.seafoam_light_status], dorn lighting status [binary_sensor.dorn_lighting_status], 10g m powerstrip status [binary_sensor.10g_m_powerstrip_status], 120g powerstrip status [binary_sensor.120g_powerstrip_status], 20g powerstrip status [binary_sensor.20g_powerstrip_status], 55g powerstrip status [binary_sensor.55g_powerstrip_status]. CONDITIONS: home alarm [alarm_control_panel.home_alarm] is armed_home. ACTIONS: Execute script notification_dispatcher with a message indicating the specific disconnected device and its area, sending notifications to iPhone, iPad, macBook, persistant, alexa, and SMS to 7188138156@mms.att.net, and email to gbtunney@mac.com.", "natural_language": { "trigger": "When any of the monitored lighting or power strip status sensors reports an 'off' state for a continuous period of 5 minutes.", "conditions": "The home alarm [alarm_control_panel.home_alarm] must be in the 'armed_home' mode.", "action": "Sends a critical notification via multiple channels (iPhone, iPad, macBook, persistent notifications, Alexa, SMS, and email) using the script 'notification_dispatcher'. The message identifies the specific device that became disconnected and its associated area, urging immediate attention." }, "human_like": "Sends urgent alerts when any important light or power strip loses connectivity while the house alarm is armed, ensuring critical devices are always online.", "complexity": "medium" } }, { "id": "'1733711998590'", "result": { "structured": "TRIGGER: When ffmpeg motion detection camera 2 [binary_sensor.ffmpeg_motion_detection_camera_2] changes from off to on. CONDITIONS: None. ACTIONS: Turn on led strip color [light.led_strip_color] with RGB color (129, 255, 26) AND send a mobile notification with the message 'motion was detected'.", "natural_language": { "trigger": "When motion is first detected by the ffmpeg motion detection camera 2 [binary_sensor.ffmpeg_motion_detection_camera_2].", "conditions": "There are no conditions that must be met.", "action": "Turn on the led strip color [light.led_strip_color] to a specific greenish color and send a notification to a mobile device stating 'motion was detected'." }, "human_like": "Turns on a green light and sends a phone notification whenever motion is detected in the reptile room.", "complexity": "low" } }, { "id": "'1733724698026'", "result": { "structured": "TRIGGER: When itag 1 button [binary_sensor.itag_tracking_hub_itag_1_button] changes from on to off OR When itag 1 button doubleclick [binary_sensor.itag_tracking_hub_itag_1_button_doubleclick] changes from on to off OR When itag 2 button [binary_sensor.itag_tracking_hub_itag_2_button] changes from on to off OR When itag 2 button doubleclick [binary_sensor.itag_tracking_hub_itag_2_button_doubleclick] changes from on to off. CONDITIONS: None. ACTIONS: If the triggering entity is itag 1 button [binary_sensor.itag_tracking_hub_itag_1_button], then turn on smart bulb 1 [light.smart_bulb_1] with RGB color (1, 208, 80). If the triggering entity is itag 1 button doubleclick [binary_sensor.itag_tracking_hub_itag_1_button_doubleclick], then turn on smart bulb 1 [light.smart_bulb_1] with RGB color (36, 80, 255). If the triggering entity is itag 2 button [binary_sensor.itag_tracking_hub_itag_2_button], then turn on smart bulb 1 [light.smart_bulb_1] with RGB color (251, 0, 255). If the triggering entity is itag 2 button doubleclick [binary_sensor.itag_tracking_hub_itag_2_button_doubleclick], then turn on smart bulb 1 [light.smart_bulb_1] with RGB color (255, 0, 89).", "natural_language": { "trigger": "When any of the four iTag button sensors (itag 1 button [binary_sensor.itag_tracking_hub_itag_1_button], itag 1 button doubleclick [binary_sensor.itag_tracking_hub_itag_1_button_doubleclick], itag 2 button [binary_sensor.itag_tracking_hub_itag_2_button], or itag 2 button doubleclick [binary_sensor.itag_tracking_hub_itag_2_button]) changes from an 'on' state to an 'off' state.", "conditions": "There are no conditions that must be met.", "action": "Depending on which specific sensor triggered the automation, the smart bulb 1 [light.smart_bulb_1] is turned on to a different color. A single press on iTag 1 sets a greenish color, a double-click on iTag 1 sets a blue color, a single press on iTag 2 sets a magenta color, and a double-click on iTag 2 sets a pinkish-red color." }, "human_like": "Changes the color of a smart light based on which iTag button is pressed, using single and double clicks to select different colors.", "complexity": "medium" } }, { "id": "'1735089085485'", "result": { "structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Set ha last start [input_datetime.ha_last_start] to the current timestamp.", "natural_language": { "trigger": "When the Home Assistant system starts up.", "conditions": "There are no conditions for this automation.", "action": "Updates the ha last start [input_datetime.ha_last_start] input_datetime entity with the current date and time." }, "human_like": "Records the timestamp when Home Assistant starts up.", "complexity": "low" } }, { "id": "'1744261059099'", "result": { "structured": "TRIGGER: When reptile lighting schedule [binary_sensor.reptile_lighting_schedule] attribute 'next_update' changes. CONDITIONS: The new state of reptile lighting schedule [binary_sensor.reptile_lighting_schedule] is either 'on' or 'off'. ACTIONS: For each status sensor in the list [binary_sensor.dorn_lighting_status, binary_sensor.seafoam_light_status]: IF the sensor's state is 'on' or 'off' THEN IF the sensor's state is 'off' (disconnected) THEN log an error and send an Alexa notification. ELSE IF the corresponding light in the list [light.dorn_and_marceline_lighting, light.seafoam_styx_lighting_switch_1] is 'on' or 'off' (available) THEN log an execution message, send an Alexa notification, and call a script to set the light state. ELSE log an error about the light being unavailable.", "natural_language": { "trigger": "The automation triggers whenever the 'next_update' attribute of the reptile lighting schedule [binary_sensor.reptile_lighting_schedule] changes.", "conditions": "It only proceeds if the new state of the reptile lighting schedule [binary_sensor.reptile_lighting_schedule] is either 'on' or 'off'.", "action": "For each reptile light status sensor (dorn lighting status [binary_sensor.dorn_lighting_status] and seafoam light status [binary_sensor.seafoam_light_status]), the automation checks if the sensor is reporting a valid state. If the sensor is disconnected, it logs an error and sends an Alexa notification to the alexa baby speaker [media_player.alexa_s_baby]. If the sensor is connected, it then checks if the corresponding light (dorn and marceline lighting [light.dorn_and_marceline_lighting] or seafoam styx lighting switch 1 [light.seafoam_styx_lighting_switch_1]) is available. If the light is available, it logs the schedule execution, sends an Alexa notification, and runs a script to set the light to the state indicated by the schedule trigger. If the light is unavailable, it logs an error." }, "human_like": "Manages the reptile room lighting schedule by checking device status and controlling the lights, sending notifications if there are any issues.", "complexity": "high" } }, { "id": "'1744768566586'", "result": { "structured": "TRIGGER: When motion sensor 29 motion [binary_sensor.motion_sensor_29_motion] changes from off to on OR When motion sensor 29 motion [binary_sensor.motion_sensor_29_motion] changes from on to off. CONDITIONS: None. ACTIONS: If motion sensor 29 motion [binary_sensor.motion_sensor_29_motion] is on, then turn on led strip color [light.led_strip_color] to 100% brightness with an orange color (RGB 255, 204, 2). Otherwise, turn on led strip color [light.led_strip_color] to 0% brightness with a blue color (RGB 1, 97, 253).", "natural_language": { "trigger": "The automation triggers whenever the motion sensor 29 motion [binary_sensor.motion_sensor_29_motion] detects motion starting (changes from off to on) or motion stopping (changes from on to off).", "conditions": "There are no conditions that must be met for the automation to proceed.", "action": "If motion is currently detected (the motion sensor is on), the LED strip [light.led_strip_color] is turned on to full brightness with an orange color. If motion is not detected (the motion sensor is off), the LED strip is turned on to zero brightness with a blue color, effectively turning it off but setting its color state." }, "human_like": "Turns the LED strip orange when motion is detected and sets it to a dim blue when motion stops.", "complexity": "low" } }, { "id": "'1749869580049'", "result": { "structured": "TRIGGER: When 120g aquarium lighting schedule [binary_sensor.120g_aquarium_lighting_schedule] attribute 'next_update' changes. CONDITIONS: The new state of the triggering entity is either 'on' OR 'off'. ACTIONS: Call script 'script.set_state_switch_light' with parameters: bool_invert_state set to 'Off', select_state set to 'Unknown', entity_trigger referencing the triggering entity, and target_entity_set containing 120g aquarium light [light.120g_aquarium_light] AND 120g aquarium pump [switch.120g_aquarium_pump].", "natural_language": { "trigger": "When the 'next_update' attribute of the 120g aquarium lighting schedule [binary_sensor.120g_aquarium_lighting_schedule] changes.", "conditions": "The new state of the schedule sensor must be either 'on' or 'off'.", "action": "Runs a script called 'script.set_state_switch_light' to control the aquarium light and pump. The script is configured to invert the state 'Off', set a selection state to 'Unknown', use the triggering schedule sensor as a reference, and target both the 120g aquarium light [light.120g_aquarium_light] and the 120g aquarium pump [switch.120g_aquarium_pump]." }, "human_like": "Automatically turns the aquarium light and pump on or off based on a predefined lighting schedule.", "complexity": "low" } }, { "id": "'1733562107777'", "result": { "structured": "TRIGGER: When cat fountain remaining water [sensor.cat_fountain_remaining_water] is below 33% AND above 0% for 20 minutes OR When cat fountain water tank status [binary_sensor.cat_fountain_water_tank_status] changes from on to off and remains off for 9 minutes. CONDITIONS: cat fountain wi fi [binary_sensor.cat_fountain_wi_fi] is on (true). ACTIONS: Set variables: water_level = current value of cat fountain remaining water [sensor.cat_fountain_remaining_water] (default 999), critical_threshold_upper = 30, critical = ON if water_level <= 30 else OFF, message = 'Cat water is extremely low at {{ water_level }}% in Area: {{ area_name(trigger.entity_id) }} :: Please fill immediately!!' (if critical is ON). Then, IF cat fountain water tank status [binary_sensor.cat_fountain_water_tank_status] is on (true): Execute script notification_dispatcher with message, notification channels (iPhone, iPad, macBook, persistant, sms, alexa), bool_critical = critical, sound = default, SMS target, and email target (alias: Low Water Notification). ELSE: Execute script notification_dispatcher with message: 'Cat fountain tank appears to be disconnected for more than 10 min in Area: {{ area_name(trigger.entity_id) }}. The last recorded water remaining was {{ states('sensor.cat_fountain_water_volume') | int(999) }} % :: Please fix immediately!!', notification channels (iPhone, iPad, macBook, persistant, alexa), bool_critical = OFF, sound = default, SMS target, and email target (alias: Cat Fountain Disconnected Notification).", "natural_language": { "trigger": "The automation triggers if the cat fountain remaining water [sensor.cat_fountain_remaining_water] drops below 33% but stays above 0% for 20 minutes, or if the cat fountain water tank status [binary_sensor.cat_fountain_water_tank_status] changes from on to off and remains off for 9 minutes.", "conditions": "The cat fountain wi fi [binary_sensor.cat_fountain_wi_fi] must be on and connected.", "action": "First, it calculates the current water level and determines if it's critically low (30% or below). Then, if the water tank is reported as connected, it sends a notification about low water levels via multiple channels (iPhone, iPad, macBook, persistent, SMS, and Alexa), marking it as critical if needed. If the water tank is reported as disconnected, it sends a different notification about the tank being disconnected, providing the last recorded water volume." }, "human_like": "Sends urgent notifications when the cat fountain has low water or the water tank becomes disconnected, ensuring the pet's water supply is monitored.", "complexity": "medium" } }, { "id": "'1734249603918'", "result": { "structured": "TRIGGER: When the numeric state of cat fountain remaining water [sensor.cat_fountain_remaining_water] satisfies a value_template that evaluates to true (i.e., the current state of the trigger entity minus the state of cat fountain water volume [sensor.cat_fountain_water_volume] is greater than 20), AND the resulting numeric value is above 0 and below 100. CONDITIONS: cat fountain water tank status [binary_sensor.cat_fountain_water_tank_status] is true AND cat fountain wi fi [binary_sensor.cat_fountain_wi_fi] is true. ACTIONS: Log an event in the logbook with the message 'Cat Fountain Tank Filled! The cat fountain was just filled and is currently at [current percentage]%. It was previously filled [days since last fill] days ago.', and set the date/time of cat fountain tank last filled date [input_datetime.cat_fountain_tank_last_filled_date] to the current timestamp.", "natural_language": { "trigger": "When the sensor cat fountain remaining water [sensor.cat_fountain_remaining_water] reports a value that is more than 20 percentage points higher than the last recorded volume stored in cat fountain water volume [sensor.cat_fountain_water_volume], and this calculated difference is between 0 and 100.", "conditions": "Both the cat fountain water tank status [binary_sensor.cat_fountain_water_tank_status] and the cat fountain wi fi [binary_sensor.cat_fountain_wi_fi] must be on (true).", "action": "Records a logbook entry announcing the tank has been filled, including the current fill percentage and how many days have passed since the last fill. It also updates the timestamp variable cat fountain tank last filled date [input_datetime.cat_fountain_tank_last_filled_date] to the current time." }, "human_like": "Detects when the cat fountain water tank has been refilled by checking for a significant increase in water level and logs the event with a timestamp.", "complexity": "medium" } }, { "id": "'1733608231107'", "result": { "structured": "TRIGGER: When reptile lighting schedule [binary_sensor.reptile_lighting_schedule] attribute 'next_update' changes. CONDITIONS: The new state of reptile lighting schedule [binary_sensor.reptile_lighting_schedule] is either 'on' OR 'off'. ACTIONS: Execute script 'script.set_state_switch_light' with parameters: target entity reptile lights [light.reptile_lights], trigger entity reptile lighting schedule [binary_sensor.reptile_lighting_schedule], bool_invert_state 'Off', select_state 'Unknown'.", "natural_language": { "trigger": "Whenever the 'next_update' attribute of the reptile lighting schedule [binary_sensor.reptile_lighting_schedule] changes.", "conditions": "The new state of the reptile lighting schedule [binary_sensor.reptile_lighting_schedule] must be either 'on' or 'off'.", "action": "Runs a script named 'set_state_switch_light' to control the reptile lights [light.reptile_lights] based on the state of the triggering schedule sensor." }, "human_like": "Updates the reptile lights based on a scheduled lighting plan.", "complexity": "medium" } } ]