3785 lines
337 KiB
JSON
3785 lines
337 KiB
JSON
[
|
|
{
|
|
"id": "shelly_blu_908f_abrir_puerta",
|
|
"result": {
|
|
"structured": "TRIGGER: When shelly blu button1 908f button [event.shelly_blu_button1_908f_button] changes state. CONDITIONS: The event_type attribute of the triggering state is 'press'. ACTIONS: Execute the script Abrir puerta principal [script.abrir_puerta_principal].",
|
|
"natural_language": {
|
|
"trigger": "When the shelly blu button1 908f button [event.shelly_blu_button1_908f_button] reports a state change.",
|
|
"conditions": "The specific state change must be a button press event.",
|
|
"action": "Runs the script to open the main door, Abrir puerta principal [script.abrir_puerta_principal]."
|
|
},
|
|
"human_like": "Opens the main door when the Shelly BLU button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG AC Clima - Quitar away si alguien regresa",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia [input_boolean.presencia] changes to on OR when simulador personas [group.simulador_personas] changes from off to on. CONDITIONS: None. ACTIONS: Execute script AC Panasonic control refrigeracion home [script.ac_panasonic_control_refrigeracion_home].",
|
|
"natural_language": {
|
|
"trigger": "When the presence indicator [input_boolean.presencia] is turned on, or when the people simulator group [group.simulador_personas] changes from off to on.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Runs the script 'AC Panasonic control refrigeracion home' [script.ac_panasonic_control_refrigeracion_home]."
|
|
},
|
|
"human_like": "Turns on the Panasonic AC cooling control when someone returns home, as indicated by a presence switch or a people simulator.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG AC Encender aire si el climate lo solicita",
|
|
"result": {
|
|
"structured": "TRIGGER: When ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido] turns on. CONDITIONS: verano [input_boolean.verano] is on. ACTIONS: Execute script AC Panasonic ion power [script.ac_panasonic_ion_power].",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean representing the AC unit's power request, ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido], is turned on.",
|
|
"conditions": "The automation only runs if the summer mode, verano [input_boolean.verano], is active and set to on.",
|
|
"action": "Runs the script named AC Panasonic ion power [script.ac_panasonic_ion_power], which presumably powers on the air conditioning unit."
|
|
},
|
|
"human_like": "Turns on the Panasonic air conditioner when it is requested, but only if summer mode is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG AC Apagar aire si el climate lo solicita",
|
|
"result": {
|
|
"structured": "TRIGGER: When ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido] changes to off. CONDITIONS: verano [input_boolean.verano] is on. ACTIONS: Execute script AC Panasonic ion power [script.ac_panasonic_ion_power]. Then set the value of ac panasonic ion motivo apagado [input_text.ac_panasonic_ion_motivo_apagado] to the current state of AC Panasonic ion motivo apagado [sensor.ac_panasonic_ion_motivo_apagado]. Then set the value of ac panasonic ion ultima desconexion [input_text.ac_panasonic_ion_ultima_desconexion] to the current date and time formatted as 'YYYY-MM-DD HH:MM:SS'.",
|
|
"natural_language": {
|
|
"trigger": "When the status of the input boolean 'ac panasonic ion encendido' [input_boolean.ac_panasonic_ion_encendido] changes to off.",
|
|
"conditions": "The automation only runs if the input boolean 'verano' [input_boolean.verano] is currently set to on.",
|
|
"action": "First, it runs the script 'AC Panasonic ion power' [script.ac_panasonic_ion_power]. Then, it logs the reason for turning off by copying the current value from the sensor 'AC Panasonic ion motivo apagado' [sensor.ac_panasonic_ion_motivo_apagado] into the input text 'ac panasonic ion motivo apagado' [input_text.ac_panasonic_ion_motivo_apagado]. Finally, it records the timestamp of the shutdown by setting the input text 'ac panasonic ion ultima desconexion' [input_text.ac_panasonic_ion_ultima_desconexion] to the current date and time."
|
|
},
|
|
"human_like": "Turns off the Panasonic AC unit when its 'on' status is switched off during summer mode, logging the reason and time of the shutdown.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG AC Iniciar temporizador al encender en modo AUTO",
|
|
"result": {
|
|
"structured": "TRIGGER: When ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido] turns on. CONDITIONS: (ac panasonic ion modo [input_select.ac_panasonic_ion_modo] is auto) AND (verano [input_boolean.verano] is on). ACTIONS: Start timer ac panasonic ion temporizador [timer.ac_panasonic_ion_temporizador] with a duration calculated from the value of ac panasonic ion temporizador minutos [input_number.ac_panasonic_ion_temporizador_minutos] (converted to hours and minutes).",
|
|
"natural_language": {
|
|
"trigger": "When the air conditioning unit is turned on, as indicated by ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido] switching to the 'on' state.",
|
|
"conditions": "The automation only proceeds if the air conditioning mode, ac panasonic ion modo [input_select.ac_panasonic_ion_modo], is set to 'auto', and if the seasonal switch verano [input_boolean.verano] is also turned on.",
|
|
"action": "Starts a timer named ac panasonic ion temporizador [timer.ac_panasonic_ion_temporizador] for a specific duration. The length of the timer is determined by the value stored in ac panasonic ion temporizador minutos [input_number.ac_panasonic_ion_temporizador_minutos], which is converted from minutes into a time format of hours and minutes."
|
|
},
|
|
"human_like": "Starts a timer for the air conditioner when it's turned on in 'Auto' mode during the summer season.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG AC Apagar aire al finalizar temporizador",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer ac panasonic ion temporizador [timer.ac_panasonic_ion_temporizador] finishes. CONDITIONS: verano [input_boolean.verano] is on AND ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido] is on. ACTIONS: Execute script AC Panasonic ion power [script.ac_panasonic_ion_power] AND turn off ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido].",
|
|
"natural_language": {
|
|
"trigger": "When the timer for the Panasonic air conditioner finishes.",
|
|
"conditions": "The automation checks if the summer mode is active and if the air conditioner is currently marked as being on.",
|
|
"action": "It runs a script to control the air conditioner's power and then updates the status to reflect that the unit is off."
|
|
},
|
|
"human_like": "Turns off the Panasonic air conditioner when its timer ends, but only during summer and if it was on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG AC Ajustar AC al cambiar umbrales",
|
|
"result": {
|
|
"structured": "TRIGGER: When pkg ind umbral maximo [input_number.pkg_ind_umbral_maximo] changes state. CONDITIONS: verano [input_boolean.verano] is on. ACTIONS: Execute script AC Panasonic control refrigeracion [script.ac_panasonic_control_refrigeracion] with data: st_target set to input_number.pkg_ind_umbral_maximo and st_real set to sensor.ac_panasonic_ion_sensacion_termica.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the input number 'pkg ind umbral maximo' [input_number.pkg_ind_umbral_maximo] changes.",
|
|
"conditions": "The automation only runs if the input boolean 'verano' [input_boolean.verano] is switched on.",
|
|
"action": "Runs the script 'AC Panasonic control refrigeracion' [script.ac_panasonic_control_refrigeracion], passing the current value of the 'pkg ind umbral maximo' as the target temperature and the current reading from the 'ac panasonic ion sensacion termica' [sensor.ac_panasonic_ion_sensacion_termica] sensor as the real temperature."
|
|
},
|
|
"human_like": "Adjusts the Panasonic air conditioner's cooling settings when the maximum threshold is changed, but only during summer mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_actualizar_estado",
|
|
"result": {
|
|
"structured": "TRIGGER: When a service call event occurs for the remote domain with service script.aire_acondicionado_power. CONDITIONS: None. ACTIONS: Toggle the state of aire acondicionado [input_boolean.aire_acondicionado].",
|
|
"natural_language": {
|
|
"trigger": "When the script 'Aire acondicionado power' [script.aire_acondicionado_power] is called via the remote service.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Toggles the state of the input boolean 'aire acondicionado' [input_boolean.aire_acondicionado]."
|
|
},
|
|
"human_like": "Toggles the air conditioner status tracker whenever the air conditioner power script is run.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_actualizacion_timer",
|
|
"result": {
|
|
"structured": "TRIGGER: When aire acondicionado timer [input_number.aire_acondicionado_timer] changes state. CONDITIONS: Aire acondicionado timer [timer.aire_acondicionado] is active. ACTIONS: Start Aire acondicionado timer [timer.aire_acondicionado] with a duration equal to the value of aire acondicionado timer [input_number.aire_acondicionado_timer] multiplied by 60 seconds.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the aire acondicionado timer [input_number.aire_acondicionado_timer] changes.",
|
|
"conditions": "The Aire acondicionado timer [timer.aire_acondicionado] must currently be running (active).",
|
|
"action": "Restarts the Aire acondicionado timer [timer.aire_acondicionado], setting its new duration to the number of minutes specified by the aire acondicionado timer [input_number.aire_acondicionado_timer] input number."
|
|
},
|
|
"human_like": "Updates the running air conditioner timer with a new duration when the timer input number is changed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_encender_temporizador",
|
|
"result": {
|
|
"structured": "TRIGGER: When Aire acondicionado timer [timer.aire_acondicionado] becomes active. CONDITIONS: aire acondicionado [input_boolean.aire_acondicionado] is off. ACTIONS: Execute script Aire acondicionado power [script.aire_acondicionado_power].",
|
|
"natural_language": {
|
|
"trigger": "When the Aire acondicionado timer [timer.aire_acondicionado] starts running.",
|
|
"conditions": "The aire acondicionado [input_boolean.aire_acondicionado] must be in the off state.",
|
|
"action": "Runs the Aire acondicionado power [script.aire_acondicionado_power] script."
|
|
},
|
|
"human_like": "Turns on the air conditioning when its timer starts, but only if it's currently off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_apagar_y_finalizar",
|
|
"result": {
|
|
"structured": "TRIGGER: When Aire acondicionado timer [timer.aire_acondicionado] becomes idle OR when aire acondicionado [input_boolean.aire_acondicionado] turns off. CONDITIONS: aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] is off. ACTIONS: Execute script Aire acondicionado power [script.aire_acondicionado_power] AND finish Aire acondicionado timer [timer.aire_acondicionado].",
|
|
"natural_language": {
|
|
"trigger": "When the Aire acondicionado timer [timer.aire_acondicionado] stops running and becomes idle, or when the main switch for the air conditioner, aire acondicionado [input_boolean.aire_acondicionado], is turned off.",
|
|
"conditions": "The automation only proceeds if the temperature mode switch, aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura], is in the off state.",
|
|
"action": "It runs the power control script, Aire acondicionado power [script.aire_acondicionado_power], and then stops the associated timer, Aire acondicionado timer [timer.aire_acondicionado]."
|
|
},
|
|
"human_like": "Turns off the air conditioner and stops its timer when the timer finishes or the AC is manually switched off, but only if temperature mode is disabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_encender_modo_temperatura",
|
|
"result": {
|
|
"structured": "TRIGGER: When aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] turns on OR When aire acondicionado diferencia temperatura target [sensor.aire_acondicionado_diferencia_temperatura_target] becomes greater than 0. CONDITIONS: (aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] is on) AND (aire acondicionado [input_boolean.aire_acondicionado] is off) AND (aire acondicionado diferencia temperatura target [sensor.aire_acondicionado_diferencia_temperatura_target] is greater than 0). ACTIONS: Execute script Aire acondicionado power [script.aire_acondicionado_power].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either when the 'aire acondicionado modo temperatura' [input_boolean.aire_acondicionado_modo_temperatura] switch is turned on, or when the 'aire acondicionado diferencia temperatura target' [sensor.aire_acondicionado_diferencia_temperatura_target] sensor reports a value above zero.",
|
|
"conditions": "For the action to run, the 'aire acondicionado modo temperatura' [input_boolean.aire_acondicionado_modo_temperatura] must be in the 'on' state, the main 'aire acondicionado' [input_boolean.aire_acondicionado] must be off, and the temperature difference sensor [sensor.aire_acondicionado_diferencia_temperatura_target] must show a value greater than zero.",
|
|
"action": "Runs the 'Aire acondicionado power' [script.aire_acondicionado_power] script, which presumably powers on the air conditioning unit."
|
|
},
|
|
"human_like": "Turns on the air conditioner when the temperature mode is activated and the current temperature is below the target.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_apagar_por_temperatura",
|
|
"result": {
|
|
"structured": "TRIGGER: When aire acondicionado temperatura [sensor.aire_acondicionado_temperatura] changes state OR When aire acondicionado diferencia temperatura target [sensor.aire_acondicionado_diferencia_temperatura_target] falls below 0.1. CONDITIONS: (aire acondicionado [input_boolean.aire_acondicionado] is on) AND (aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] is on) AND (aire acondicionado diferencia temperatura target [sensor.aire_acondicionado_diferencia_temperatura_target] is below 0.1). ACTIONS: Execute script Aire acondicionado power [script.aire_acondicionado_power] AND Turn off aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura].",
|
|
"natural_language": {
|
|
"trigger": "When the temperature sensor for the air conditioner [sensor.aire_acondicionado_temperatura] reports a new value, or when the sensor indicating the difference between the current and target temperature [sensor.aire_acondicionado_diferencia_temperatura_target] drops below 0.1 degrees.",
|
|
"conditions": "The automation only runs if the air conditioner is manually switched on [input_boolean.aire_acondicionado], the temperature control mode is active [input_boolean.aire_acondicionado_modo_temperatura], and the difference between the current and target temperature [sensor.aire_acondicionado_diferencia_temperatura_target] is less than 0.1 degrees.",
|
|
"action": "Turns off the air conditioner by running the power control script [script.aire_acondicionado_power] and then disables the temperature control mode by turning off the corresponding switch [input_boolean.aire_acondicionado_modo_temperatura]."
|
|
},
|
|
"human_like": "Automatically turns off the air conditioner when the room temperature reaches the desired target, ensuring it doesn't run longer than necessary.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_apagar_modo_manual",
|
|
"result": {
|
|
"structured": "TRIGGER: When aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] changes to off. CONDITIONS: aire acondicionado [input_boolean.aire_acondicionado] is on AND Aire acondicionado timer [timer.aire_acondicionado] is idle. ACTIONS: Execute script Aire acondicionado power [script.aire_acondicionado_power].",
|
|
"natural_language": {
|
|
"trigger": "When the manual temperature mode is turned off, indicated by the entity aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] changing its state to off.",
|
|
"conditions": "The air conditioning must be currently active, meaning the entity aire acondicionado [input_boolean.aire_acondicionado] is on, and the associated timer Aire acondicionado timer [timer.aire_acondicionado] must not be running, meaning it is in an idle state.",
|
|
"action": "Runs the script Aire acondicionado power [script.aire_acondicionado_power] to power off the air conditioning unit."
|
|
},
|
|
"human_like": "Turns off the air conditioning when the manual temperature mode is disabled, provided the AC is on and not on a timer.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_apagar_modo_si_ac_se_apaga_manual",
|
|
"result": {
|
|
"structured": "TRIGGER: When aire acondicionado [input_boolean.aire_acondicionado] turns off. CONDITIONS: aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] is on. ACTIONS: Turn off aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura].",
|
|
"natural_language": {
|
|
"trigger": "When the air conditioner [input_boolean.aire_acondicionado] is turned off.",
|
|
"conditions": "If the air conditioner temperature mode [input_boolean.aire_acondicionado_modo_temperatura] is currently active (on).",
|
|
"action": "Deactivates the air conditioner temperature mode by turning off aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura]."
|
|
},
|
|
"human_like": "Automatically turns off the temperature mode when the air conditioner is manually switched off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_temporizador_on_apaga_modo",
|
|
"result": {
|
|
"structured": "TRIGGER: When Aire acondicionado timer [timer.aire_acondicionado] becomes active. CONDITIONS: aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] is on. ACTIONS: Turn off aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura].",
|
|
"natural_language": {
|
|
"trigger": "When the Aire acondicionado timer [timer.aire_acondicionado] starts running.",
|
|
"conditions": "If the temperature mode for the air conditioner, aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura], is currently turned on.",
|
|
"action": "Turns off the temperature mode for the air conditioner, aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura]."
|
|
},
|
|
"human_like": "Automatically disables the air conditioner's temperature mode when its timer starts.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_modo_on_apaga_temporizador",
|
|
"result": {
|
|
"structured": "TRIGGER: When aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] turns on. CONDITIONS: Aire acondicionado timer [timer.aire_acondicionado] is active. ACTIONS: Finish Aire acondicionado timer [timer.aire_acondicionado].",
|
|
"natural_language": {
|
|
"trigger": "When the 'aire acondicionado modo temperatura' [input_boolean.aire_acondicionado_modo_temperatura] input boolean is turned on.",
|
|
"conditions": "The 'Aire acondicionado timer' [timer.aire_acondicionado] must currently be running (active).",
|
|
"action": "Stops the running 'Aire acondicionado timer' [timer.aire_acondicionado]."
|
|
},
|
|
"human_like": "Cancels the air conditioner timer when the temperature mode is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "notificar_puerta_abierta_10min",
|
|
"result": {
|
|
"structured": "TRIGGER: When puerta principal door 2 [binary_sensor.puerta_principal_door_2] changes to open (on) AND remains open for 10 minutes. CONDITIONS: puerta principal 2 [lock.puerta_principal_2] is unlocked. ACTIONS: Send a notification to mobile_app_sm_a155f with title '🚪 Puerta principal abierta' and message 'La puerta lleva abierta más de 10 minutos. ¿Quieres cerrarla?', providing two action buttons: 'Sí, lo sé' (action SABE_ABIERTA) and 'Ciérrala ahora' (action CERRAR_PUERTA).",
|
|
"natural_language": {
|
|
"trigger": "When the puerta principal door 2 [binary_sensor.puerta_principal_door_2] is detected as open and stays open for 10 minutes.",
|
|
"conditions": "The puerta principal 2 [lock.puerta_principal_2] must be unlocked.",
|
|
"action": "Sends a notification to the mobile device with the title '🚪 Puerta principal abierta' and a message asking if the user wants to close the door, offering two interactive buttons: one to acknowledge the alert and another to trigger a door closure."
|
|
},
|
|
"human_like": "Sends a mobile notification if the main door has been left open for 10 minutes while unlocked, allowing the user to acknowledge or close it.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "respuesta_cerrar_puerta",
|
|
"result": {
|
|
"structured": "TRIGGER: When a mobile app notification action event occurs with action 'CERRAR_PUERTA'. CONDITIONS: puerta principal 2 [lock.puerta_principal_2] is unlocked AND puerta principal door 2 [binary_sensor.puerta_principal_door_2] is open (on). ACTIONS: Execute the script Cerrar puerta principal [script.cerrar_puerta_principal].",
|
|
"natural_language": {
|
|
"trigger": "When the user taps the 'Ciérrala ahora' (CERRAR_PUERTA) action button on a mobile app notification.",
|
|
"conditions": "The main door lock, puerta principal 2 [lock.puerta_principal_2], must be unlocked, and the main door sensor, puerta principal door 2 [binary_sensor.puerta_principal_door_2], must report that the door is open.",
|
|
"action": "Runs the script 'Cerrar puerta principal' [script.cerrar_puerta_principal] to close the main door."
|
|
},
|
|
"human_like": "Closes the main door when the user responds to a notification, but only if the door is unlocked and open.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "respuesta_sabe_abierta",
|
|
"result": {
|
|
"structured": "TRIGGER: When a mobile app notification action event occurs with action value SABE_ABIERTA. CONDITIONS: None. ACTIONS: Log an entry in the logbook with entity name 'Puerta principal' and message 'El usuario ha confirmado que sabía que estaba abierta'.",
|
|
"natural_language": {
|
|
"trigger": "When the user interacts with a mobile app notification and selects the action labeled 'SABE_ABIERTA'.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Creates a logbook entry for the entity 'Puerta principal' with the message stating that the user has confirmed they knew it was open."
|
|
},
|
|
"human_like": "Logs a user's confirmation that they were aware the main door was open.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alerta_co2_activada",
|
|
"result": {
|
|
"structured": "TRIGGER: When alerta co2 [input_boolean.alerta_co2] turns on. CONDITIONS: None. ACTIONS: Turn on alias pinguino [switch.alias_pinguino] AND run script Notifica telegram [script.notifica_telegram] with a message containing the current CO2 level from zigbee heiman hs3aq 01 co2 [sensor.zigbee_heiman_hs3aq_01_co2].",
|
|
"natural_language": {
|
|
"trigger": "When the alerta co2 [input_boolean.alerta_co2] is turned on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It turns on the switch alias pinguino [switch.alias_pinguino] and sends a Telegram notification via the Notifica telegram [script.notifica_telegram] script. The notification message includes the current CO2 level in parts per million from the sensor zigbee heiman hs3aq 01 co2 [sensor.zigbee_heiman_hs3aq_01_co2]."
|
|
},
|
|
"human_like": "Activates a fan and sends a CO2 level alert via Telegram when the CO2 alert is manually or automatically enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alerta_co2_desactivada",
|
|
"result": {
|
|
"structured": "TRIGGER: When alerta co2 [input_boolean.alerta_co2] changes to off. CONDITIONS: None. ACTIONS: Turn off alias pinguino [switch.alias_pinguino].",
|
|
"natural_language": {
|
|
"trigger": "When the alerta co2 [input_boolean.alerta_co2] is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Turns off the switch alias pinguino [switch.alias_pinguino]."
|
|
},
|
|
"human_like": "Turns off the 'alias pinguino' switch when the CO2 alert is deactivated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Guardar peso Pau",
|
|
"result": {
|
|
"structured": "TRIGGER: When pkg bodymiscale pau peso [sensor.pkg_bodymiscale_pau_peso] changes state. CONDITIONS: The new state value of pkg bodymiscale pau peso [sensor.pkg_bodymiscale_pau_peso] is greater than 0. ACTIONS: Set the value of pkg bodymiscale pau peso last [input_number.pkg_bodymiscale_pau_peso_last] to the new state value of pkg bodymiscale pau peso [sensor.pkg_bodymiscale_pau_peso].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the pkg bodymiscale pau peso [sensor.pkg_bodymiscale_pau_peso] sensor reports a new value.",
|
|
"conditions": "The new weight value reported by the sensor must be greater than zero.",
|
|
"action": "Store that new weight value by updating the pkg bodymiscale pau peso last [input_number.pkg_bodymiscale_pau_peso_last] input number."
|
|
},
|
|
"human_like": "Saves Pau's latest weight measurement whenever a new, valid reading is received.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Guardar impedancia Pau",
|
|
"result": {
|
|
"structured": "TRIGGER: When pkg bodymiscale pau impedance [sensor.pkg_bodymiscale_pau_impedance] changes state. CONDITIONS: The new state value of pkg bodymiscale pau impedance [sensor.pkg_bodymiscale_pau_impedance] is greater than 0. ACTIONS: Set the value of pkg bodymiscale pau impedance last [input_number.pkg_bodymiscale_pau_impedance_last] to the new state value of pkg bodymiscale pau impedance [sensor.pkg_bodymiscale_pau_impedance].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor pkg bodymiscale pau impedance [sensor.pkg_bodymiscale_pau_impedance] reports a new measurement.",
|
|
"conditions": "The new measurement value must be a positive number greater than zero.",
|
|
"action": "Store this new positive measurement value by updating the input number pkg bodymiscale pau impedance last [input_number.pkg_bodymiscale_pau_impedance_last]."
|
|
},
|
|
"human_like": "Saves a new positive body impedance reading for Pau to a persistent storage variable.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Guardar impedancia baja Pau",
|
|
"result": {
|
|
"structured": "TRIGGER: When pkg bodymiscale pau impedance low [sensor.pkg_bodymiscale_pau_impedance_low] changes state. CONDITIONS: The new state value of pkg bodymiscale pau impedance low [sensor.pkg_bodymiscale_pau_impedance_low] is greater than 0. ACTIONS: Set the value of pkg bodymiscale pau impedance low last [input_number.pkg_bodymiscale_pau_impedance_low_last] to the new state value of pkg bodymiscale pau impedance low [sensor.pkg_bodymiscale_pau_impedance_low].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor pkg bodymiscale pau impedance low [sensor.pkg_bodymiscale_pau_impedance_low] reports a new state.",
|
|
"conditions": "The new value reported by the sensor must be a positive number.",
|
|
"action": "Store that new positive value into the input number pkg bodymiscale pau impedance low last [input_number.pkg_bodymiscale_pau_impedance_low_last]."
|
|
},
|
|
"human_like": "Saves the latest positive low impedance reading from Pau's scale for future reference.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Guardar peso Ramón",
|
|
"result": {
|
|
"structured": "TRIGGER: When pkg bodymiscale ramon peso [sensor.pkg_bodymiscale_ramon_peso] changes state. CONDITIONS: The new state value of pkg bodymiscale ramon peso [sensor.pkg_bodymiscale_ramon_peso] is greater than 0. ACTIONS: Set the value of pkg bodymiscale ramon peso last [input_number.pkg_bodymiscale_ramon_peso_last] to the new state value of pkg bodymiscale ramon peso [sensor.pkg_bodymiscale_ramon_peso].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the weight sensor pkg bodymiscale ramon peso [sensor.pkg_bodymiscale_ramon_peso] reports a new measurement.",
|
|
"conditions": "The new weight reading must be a positive number (greater than zero).",
|
|
"action": "Store the new weight reading by updating the helper input_number.pkg bodymiscale ramon peso last [input_number.pkg_bodymiscale_ramon_peso_last] with that value."
|
|
},
|
|
"human_like": "Saves Ramón's latest positive weight measurement to a persistent helper value.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Guardar impedancia Ramón",
|
|
"result": {
|
|
"structured": "TRIGGER: When pkg bodymiscale ramon impedance [sensor.pkg_bodymiscale_ramon_impedance] changes state. CONDITIONS: The new state value of pkg bodymiscale ramon impedance [sensor.pkg_bodymiscale_ramon_impedance] is greater than 0. ACTIONS: Set the value of pkg bodymiscale ramon impedance last [input_number.pkg_bodymiscale_ramon_impedance_last] to the new state value of pkg bodymiscale ramon impedance [sensor.pkg_bodymiscale_ramon_impedance].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the impedance sensor pkg bodymiscale ramon impedance [sensor.pkg_bodymiscale_ramon_impedance] reports a new value.",
|
|
"conditions": "The new value reported by the sensor must be a number greater than zero.",
|
|
"action": "Store this new positive value by updating the input number pkg bodymiscale ramon impedance last [input_number.pkg_bodymiscale_ramon_impedance_last]."
|
|
},
|
|
"human_like": "Saves a new positive impedance reading from Ramón's scale to a persistent storage variable.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Guardar impedancia baja Ramón",
|
|
"result": {
|
|
"structured": "TRIGGER: When pkg bodymiscale ramon impedance low [sensor.pkg_bodymiscale_ramon_impedance_low] changes state. CONDITIONS: The new state value of pkg bodymiscale ramon impedance low [sensor.pkg_bodymiscale_ramon_impedance_low] is greater than 0. ACTIONS: Set the value of pkg bodymiscale ramon impedance low last [input_number.pkg_bodymiscale_ramon_impedance_low_last] to the new state value of pkg bodymiscale ramon impedance low [sensor.pkg_bodymiscale_ramon_impedance_low].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor pkg bodymiscale ramon impedance low [sensor.pkg_bodymiscale_ramon_impedance_low] reports a new state.",
|
|
"conditions": "The new value reported by the sensor must be a number greater than zero.",
|
|
"action": "Store the new sensor value by updating the input number pkg bodymiscale ramon impedance low last [input_number.pkg_bodymiscale_ramon_impedance_low_last]."
|
|
},
|
|
"human_like": "Saves the latest low impedance reading for Ramón whenever a new, positive value is reported.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Guardar peso Ramón",
|
|
"result": {
|
|
"structured": "TRIGGER: When pkg salut ramon peso [sensor.pkg_salut_ramon_peso] changes state. CONDITIONS: The new state value of pkg salut ramon peso [sensor.pkg_salut_ramon_peso] is greater than 0. ACTIONS: Set the value of pkg salut ramon peso last [input_number.pkg_salut_ramon_peso_last] to the new state value of pkg salut ramon peso [sensor.pkg_salut_ramon_peso].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the weight sensor pkg salut ramon peso [sensor.pkg_salut_ramon_peso] reports a new state.",
|
|
"conditions": "The reported weight value must be a positive number (greater than zero).",
|
|
"action": "Saves the new weight value by updating the helper pkg salut ramon peso last [input_number.pkg_salut_ramon_peso_last]."
|
|
},
|
|
"human_like": "Saves a new weight reading from a sensor whenever a valid, positive value is reported.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Guardar IMC Ramón",
|
|
"result": {
|
|
"structured": "TRIGGER: When pkg salut ramon imc [sensor.pkg_salut_ramon_imc] changes state. CONDITIONS: The new state value of pkg salut ramon imc [sensor.pkg_salut_ramon_imc] is a number greater than 0. ACTIONS: Set the value of pkg salut ramon imc last [input_number.pkg_salut_ramon_imc_last] to the new state value of pkg salut ramon imc [sensor.pkg_salut_ramon_imc].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor pkg salut ramon imc [sensor.pkg_salut_ramon_imc] reports a new value.",
|
|
"conditions": "The new value reported by the sensor must be a positive number.",
|
|
"action": "Saves the new value by updating the input number pkg salut ramon imc last [input_number.pkg_salut_ramon_imc_last] to match it."
|
|
},
|
|
"human_like": "Saves the latest positive BMI (IMC) reading for Ramón to a persistent storage field.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Guardar peso Pau",
|
|
"result": {
|
|
"structured": "TRIGGER: When pkg salut pau peso [sensor.pkg_salut_pau_peso] changes state. CONDITIONS: The new state value of pkg salut pau peso [sensor.pkg_salut_pau_peso] is greater than 0. ACTIONS: Set the value of pkg salut pau peso last [input_number.pkg_salut_pau_peso_last] to the new state value of pkg salut pau peso [sensor.pkg_salut_pau_peso].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the weight sensor pkg salut pau peso [sensor.pkg_salut_pau_peso] reports a new measurement.",
|
|
"conditions": "The new weight reading must be a positive number (greater than zero).",
|
|
"action": "Saves the new weight value by updating the input number pkg salut pau peso last [input_number.pkg_salut_pau_peso_last]."
|
|
},
|
|
"human_like": "Saves Pau's latest weight measurement when a new, valid reading is received.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Guardar IMC Pau",
|
|
"result": {
|
|
"structured": "TRIGGER: When pkg salut pau imc [sensor.pkg_salut_pau_imc] changes state. CONDITIONS: The new state value of pkg salut pau imc [sensor.pkg_salut_pau_imc] is a number greater than 0. ACTIONS: Set the value of pkg salut pau imc last [input_number.pkg_salut_pau_imc_last] to the new state value of pkg salut pau imc [sensor.pkg_salut_pau_imc].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor pkg salut pau imc [sensor.pkg_salut_pau_imc] reports a new state.",
|
|
"conditions": "The new value reported by the sensor must be a positive number (greater than zero).",
|
|
"action": "Saves the new positive value by updating the input number pkg salut pau imc last [input_number.pkg_salut_pau_imc_last]."
|
|
},
|
|
"human_like": "Saves a new, valid BMI (IMC) reading for Pau whenever it is reported.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_send_confort",
|
|
"result": {
|
|
"structured": "TRIGGER: When send confort [input_button.send_confort] changes state. CONDITIONS: None. ACTIONS: Call service rest_command.send_to_influxdb with data value set to the current numeric state of nivel confort actual [input_number.nivel_confort_actual].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the send confort [input_button.send_confort] button is pressed or its state changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends the current numeric value from nivel confort actual [input_number.nivel_confort_actual] to an InfluxDB database using a REST command."
|
|
},
|
|
"human_like": "Sends the current comfort level reading to a database whenever a button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735560626804'",
|
|
"result": {
|
|
"structured": "TRIGGER: When calendar event starts on domotica [calendar.domotica] with an offset of 5 minutes before the event start time. CONDITIONS: None. ACTIONS: Send a mobile notification to Device 2e125cc8a76db2210a51672189f23b01 with the message 'Calendar {{ trigger.calendar_event.summary }} at {{ trigger.calendar_event.start }}'.",
|
|
"natural_language": {
|
|
"trigger": "Five minutes before a calendar event begins on the domotica [calendar.domotica] calendar.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sends a notification to a mobile device [Device 2e125cc8a76db2210a51672189f23b01] containing the event summary and its start time."
|
|
},
|
|
"human_like": "Sends a mobile notification five minutes before a calendar event starts, reminding you of the event details.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "iniciar_temporizador_bloqueo_puerta",
|
|
"result": {
|
|
"structured": "TRIGGER: When puerta principal door 2 [binary_sensor.puerta_principal_door_2] changes to off. CONDITIONS: None. ACTIONS: Start timer bloqueo puerta principal [timer.bloqueo_puerta_principal] AND write an info log message 'Temporizador iniciado al cerrarse la puerta principal'.",
|
|
"natural_language": {
|
|
"trigger": "When the puerta principal door 2 [binary_sensor.puerta_principal_door_2] closes (changes to the 'off' state).",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Starts (or restarts if already running) the timer named bloqueo puerta principal [timer.bloqueo_puerta_principal] and logs an informational message stating that the timer was started when the main door closed."
|
|
},
|
|
"human_like": "Starts or restarts a door lock timer whenever the main door is closed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "bloquear_puerta_tras_temporizador",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer bloqueo puerta principal [timer.bloqueo_puerta_principal] finishes. CONDITIONS: puerta principal 2 [lock.puerta_principal_2] is unlocked AND puerta principal door 2 [binary_sensor.puerta_principal_door_2] is closed (off). ACTIONS: Lock puerta principal 2 [lock.puerta_principal_2] AND write an info log message 'Puerta principal bloqueada automáticamente tras cierre y temporizador'.",
|
|
"natural_language": {
|
|
"trigger": "When the timer named bloqueo puerta principal [timer.bloqueo_puerta_principal] finishes.",
|
|
"conditions": "The lock puerta principal 2 [lock.puerta_principal_2] must be unlocked, and the door sensor puerta principal door 2 [binary_sensor.puerta_principal_door_2] must report that the door is closed.",
|
|
"action": "Locks the door puerta principal 2 [lock.puerta_principal_2] and records an informational log entry stating that the main door was locked automatically after closing and the timer."
|
|
},
|
|
"human_like": "Automatically locks the main door after a timer finishes, but only if the door is currently unlocked and closed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "clima_adaptativo_prediccion",
|
|
"result": {
|
|
"structured": "TRIGGER: When n8n test [input_button.n8n_test] changes state. CONDITIONS: None. ACTIONS: Execute the REST command clima_adaptativo.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the n8n test [input_button.n8n_test] is pressed or its state changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Calls a custom REST command named 'clima_adaptativo'."
|
|
},
|
|
"human_like": "Runs a climate adaptation prediction routine when a test button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "luces_cortesia",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command 'test' is received OR When presencia zona entrada [binary_sensor.presencia_zona_entrada] changes from off to on. CONDITIONS: my box 2 [media_player.my_box_2] is NOT on. ACTIONS: Set variable 'dispositivos_a_encender' to a list of switch entities that have a custom_etiquetas attribute containing 'cortesia' and are currently off. If the list length is greater than 0, then turn on all switches in the list, wait for 3 minutes, and then turn off all switches in the list.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered either by a voice or text command saying 'test', or when motion is detected in the entrance area, indicated by the sensor presencia zona entrada [binary_sensor.presencia_zona_entrada] changing from no presence to presence.",
|
|
"conditions": "The automation only runs if the media player my box 2 [media_player.my_box_2] is not currently playing or turned on.",
|
|
"action": "First, the automation finds all switch devices that have a 'cortesia' tag and are currently turned off. If any such devices are found, it turns them on, waits for three minutes, and then turns them off again."
|
|
},
|
|
"human_like": "Turns on courtesy lights for three minutes when someone enters the entrance area, but only if the main media player is off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "custom_temporizador1_automation_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When custom temporizador1 toggle [input_button.custom_temporizador1_toggle] changes state. CONDITIONS: None. ACTIONS: Start timer custom temporizador1 [timer.custom_temporizador1] for a duration equal to the value of custom temporizador1 mm [input_number.custom_temporizador1_mm] multiplied by 60 seconds.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the custom temporizador1 toggle [input_button.custom_temporizador1_toggle] is pressed or changes state.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Starts the timer named custom temporizador1 [timer.custom_temporizador1]. The timer's duration is set by taking the number of minutes from custom temporizador1 mm [input_number.custom_temporizador1_mm] and converting it to seconds."
|
|
},
|
|
"human_like": "Starts a timer for a specified number of minutes when a button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "custom_temporizador1_automation_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When custom temporizador1 [timer.custom_temporizador1] changes state to idle. CONDITIONS: None. ACTIONS: Send a mobile notification to Device 2e125cc8a76db2210a51672189f23b01 with the message 'Temporizador1 off'.",
|
|
"natural_language": {
|
|
"trigger": "When the timer custom temporizador1 [timer.custom_temporizador1] finishes and becomes idle.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a notification to the mobile device Device 2e125cc8a76db2210a51672189f23b01 with the message 'Temporizador1 off'."
|
|
},
|
|
"human_like": "Sends a phone notification when a specific timer finishes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "custom_temporizador2_automation_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When custom temporizador2 toggle [input_button.custom_temporizador2_toggle] changes state. CONDITIONS: None. ACTIONS: Start timer custom temporizador2 [timer.custom_temporizador2] with a duration equal to the value of custom temporizador2 mm [input_number.custom_temporizador2_mm] (in minutes) multiplied by 60 seconds.",
|
|
"natural_language": {
|
|
"trigger": "When the custom temporizador2 toggle [input_button.custom_temporizador2_toggle] is pressed or changes state.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Starts the timer named custom temporizador2 [timer.custom_temporizador2] for a duration calculated by taking the number of minutes set in custom temporizador2 mm [input_number.custom_temporizador2_mm] and converting it to seconds."
|
|
},
|
|
"human_like": "Starts a timer for a user-defined number of minutes when a button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "custom_temporizador2_automation_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When custom temporizador2 [timer.custom_temporizador2] becomes idle. CONDITIONS: None. ACTIONS: Send a mobile notification to Device 2e125cc8a76db2210a51672189f23b01 with the message 'Temporizador 2 off'.",
|
|
"natural_language": {
|
|
"trigger": "When the timer named custom temporizador2 [timer.custom_temporizador2] finishes and enters the idle state.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a push notification to the mobile device identified as Device 2e125cc8a76db2210a51672189f23b01, containing the message 'Temporizador 2 off'."
|
|
},
|
|
"human_like": "Sends a phone notification when Timer 2 finishes running.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "pc_wake_up",
|
|
"result": {
|
|
"structured": "TRIGGER: When MQTT topic iotlink/workgroup/pc-gaming/lwt receives payload 'ON'. CONDITIONS: None. ACTIONS: Turn on enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1].",
|
|
"natural_language": {
|
|
"trigger": "When the PC gaming device sends an 'ON' status message via MQTT.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns on the socket switch for the room, specifically enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1]."
|
|
},
|
|
"human_like": "Turns on a room socket when the gaming PC wakes up.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_shelly_1_double",
|
|
"result": {
|
|
"structured": "TRIGGER: When device Device 78214af407f022e52036cd35517b0838 sends a BTHome button double press event. CONDITIONS: None. ACTIONS: Toggle enchufe doble socket 2 [switch.enchufe_doble_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "When the button on the device named 'Device 78214af407f022e52036cd35517b0838' is double-pressed.",
|
|
"conditions": "There are no conditions; the automation runs immediately after the trigger.",
|
|
"action": "Toggles the state of the switch named 'enchufe doble socket 2' [switch.enchufe_doble_socket_2]."
|
|
},
|
|
"human_like": "Double-pressing a button toggles a power socket on or off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "shelly_blu_908f_luz_piano",
|
|
"result": {
|
|
"structured": "TRIGGER: When shelly blu button1 908f button [event.shelly_blu_button1_908f_button] changes state. CONDITIONS: The trigger event type is 'double_press'. ACTIONS: Restart the Home Assistant addon '45df7312_zigbee2mqtt', write a warning log message 'Zigbee2MQTT reiniciado automáticamente por sensores caídos.', and toggle enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1].",
|
|
"natural_language": {
|
|
"trigger": "When the shelly blu button1 908f button [event.shelly_blu_button1_908f_button] is pressed, generating a state change event.",
|
|
"conditions": "The button press must be a double press.",
|
|
"action": "Restarts the Zigbee2MQTT addon, writes a warning log message stating 'Zigbee2MQTT reiniciado automáticamente por sensores caídos.', and toggles the state of the enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1]."
|
|
},
|
|
"human_like": "Double-pressing the Shelly BLU button restarts the Zigbee2MQTT addon and toggles a socket in the bedroom, helping to recover from sensor issues.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "sincronizar_dos_enchufes",
|
|
"result": {
|
|
"structured": "TRIGGER: When the state of enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1] changes. CONDITIONS: None. ACTIONS: Wait 2 seconds, then turn enchufe habitacion socket 2 [switch.enchufe_habitacion_socket_2] to the same state (on or off) that enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1] changed to.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the switch enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1] changes, whether it turns on or off.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "After a two-second delay, the automation will turn the switch enchufe habitacion socket 2 [switch.enchufe_habitacion_socket_2] to match the new state of the first switch."
|
|
},
|
|
"human_like": "Syncs the state of a second power socket to match the first one after a short delay.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Encender y apagar leds ESP32 Proxy según ubicación y áreas activas",
|
|
"result": {
|
|
"structured": "TRIGGER: When ubicacion ramon [input_select.ubicacion_ramon] changes state OR When ubicacion pau [input_select.ubicacion_pau] changes state OR When esp32 btproxy areas [sensor.esp32_btproxy_areas] changes state. CONDITIONS: None. ACTIONS: Turn off lights for all ESP32 proxy area LEDs that are not in the active areas where a person is located. Turn on lights for all ESP32 proxy area LEDs that are in the active areas where a person is located.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers whenever the location of Ramon [input_select.ubicacion_ramon] or Pau [input_select.ubicacion_pau] changes, or when the list of active Bluetooth proxy areas [sensor.esp32_btproxy_areas] is updated.",
|
|
"conditions": "There are no explicit conditions that must be met for the actions to run.",
|
|
"action": "The automation calculates which ESP32 proxy area lights correspond to the active areas where either Ramon or Pau is currently located, and turns those lights on. It also calculates which ESP32 proxy area lights are not in those active areas and turns those lights off."
|
|
},
|
|
"human_like": "Controls ESP32 proxy area lights based on where people are located, turning on lights in active areas and turning off lights elsewhere.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nfc_etiqueta_piano",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command 'piano' is issued OR when an NFC tag with ID 'secret nfc_tag_ha_piano' is scanned. CONDITIONS: None. ACTIONS: Toggle the state of enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1].",
|
|
"natural_language": {
|
|
"trigger": "When the voice assistant hears the command 'piano' or when the specific NFC tag with ID 'secret nfc_tag_ha_piano' is scanned.",
|
|
"conditions": "There are no conditions that must be met for this automation to run.",
|
|
"action": "Toggles the power state of the outlet enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1]."
|
|
},
|
|
"human_like": "Turns the room socket on or off when you say 'piano' or scan a specific NFC tag.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nfc_etiqueta_yale_exterior",
|
|
"result": {
|
|
"structured": "TRIGGER: When NFC tag with ID secret nfc_tag_ha_exterior is scanned. CONDITIONS: None. ACTIONS: Run script Abrir puerta principal [script.abrir_puerta_principal].",
|
|
"natural_language": {
|
|
"trigger": "When a specific NFC tag with the ID 'secret nfc_tag_ha_exterior' is scanned.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Executes the script named Abrir puerta principal [script.abrir_puerta_principal]."
|
|
},
|
|
"human_like": "Scans an NFC tag to unlock the main door by running a predefined script.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nfc_etiqueta_yale_interior",
|
|
"result": {
|
|
"structured": "TRIGGER: When an NFC tag with ID 'secret nfc_tag_ha_door' is scanned. CONDITIONS: None. ACTIONS: Execute the script Secuencia of switches [script.secuencia_of_switches] with the parameter 'my_estado' set to 'off'.",
|
|
"natural_language": {
|
|
"trigger": "When a specific NFC tag with the ID 'secret nfc_tag_ha_door' is scanned.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Runs the script named Secuencia of switches [script.secuencia_of_switches], passing the parameter 'my_estado' with the value 'off'."
|
|
},
|
|
"human_like": "Scans an NFC tag to run a script that turns something off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Iniciar temporizador extractor bathroom 01 al encender",
|
|
"result": {
|
|
"structured": "TRIGGER: When alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01] turns on. CONDITIONS: None. ACTIONS: Start temporizador extractor bathroom 01 [timer.temporizador_extractor_bathroom_01].",
|
|
"natural_language": {
|
|
"trigger": "When the switch alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01] is turned on.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Starts the timer named temporizador extractor bathroom 01 [timer.temporizador_extractor_bathroom_01]."
|
|
},
|
|
"human_like": "Starts the bathroom extractor timer when the extractor fan is turned on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Encender extractor bathroom 01 por humedad alta",
|
|
"result": {
|
|
"structured": "TRIGGER: When cfg humedad bathroom 1 [sensor.cfg_humedad_bathroom_1] humidity value is greater than umbral dinamico encendido extractor bathroom 01 [sensor.umbral_dinamico_encendido_extractor_bathroom_01] threshold value (with a default fallback of 70). CONDITIONS: alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01] is off. ACTIONS: Turn on alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01].",
|
|
"natural_language": {
|
|
"trigger": "When the humidity reading from cfg humedad bathroom 1 [sensor.cfg_humedad_bathroom_1] rises above the dynamic threshold value provided by umbral dinamico encendido extractor bathroom 01 [sensor.umbral_dinamico_encendido_extractor_bathroom_01] (or above 70 if the threshold sensor is unavailable).",
|
|
"conditions": "The extractor fan, alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01], must currently be off.",
|
|
"action": "Turns on the extractor fan, alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01]."
|
|
},
|
|
"human_like": "Automatically turns on the bathroom extractor fan when the humidity gets too high.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Apagar extractor bathroom 01 por humedad baja",
|
|
"result": {
|
|
"structured": "TRIGGER: When cfg humedad bathroom 1 [sensor.cfg_humedad_bathroom_1] remains below umbral dinamico apagado extractor bathroom 01 [sensor.umbral_dinamico_apagado_extractor_bathroom_01] for 3 minutes. CONDITIONS: alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01] is on. ACTIONS: Turn off alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01].",
|
|
"natural_language": {
|
|
"trigger": "When the humidity reading from cfg humedad bathroom 1 [sensor.cfg_humedad_bathroom_1] stays below the dynamic off threshold defined by umbral dinamico apagado extractor bathroom 01 [sensor.umbral_dinamico_apagado_extractor_bathroom_01] for at least three minutes.",
|
|
"conditions": "The bathroom extractor fan, alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01], must be currently switched on.",
|
|
"action": "Turns off the bathroom extractor fan, alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01]."
|
|
},
|
|
"human_like": "Turns off the bathroom extractor fan when the humidity level drops below a dynamic threshold for a sustained period.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Apagar extractor bathroom 01 tras x minutos (por temporizador)",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer temporizador extractor bathroom 01 [timer.temporizador_extractor_bathroom_01] finishes. CONDITIONS: alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01] is on. ACTIONS: Turn off alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01].",
|
|
"natural_language": {
|
|
"trigger": "When the timer named temporizador extractor bathroom 01 [timer.temporizador_extractor_bathroom_01] finishes.",
|
|
"conditions": "The switch alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01] must be in the 'on' state.",
|
|
"action": "Turns off the switch alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01]."
|
|
},
|
|
"human_like": "Turns off the bathroom extractor fan when its associated timer finishes, provided the fan is still running.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Parar temporizador extractor baño 01 si se apaga",
|
|
"result": {
|
|
"structured": "TRIGGER: When alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01] turns off. CONDITIONS: None. ACTIONS: Cancel temporizador extractor bathroom 01 [timer.temporizador_extractor_bathroom_01].",
|
|
"natural_language": {
|
|
"trigger": "When the switch for the bathroom extractor fan, alias aire extractor bathroom 01 [switch.alias_aire_extractor_bathroom_01], is turned off.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Cancels the associated timer named temporizador extractor bathroom 01 [timer.temporizador_extractor_bathroom_01]."
|
|
},
|
|
"human_like": "Stops the bathroom extractor fan's timer when the fan is manually turned off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "aviso_lluvia_12h_debug",
|
|
"result": {
|
|
"structured": "TRIGGER: At 08:00:00 daily OR When salida casa detectada [binary_sensor.salida_casa_detectada] turns on OR When tag secret nfc_tag_ha_despacho is scanned OR When tag secret nfc_tag_ha_piano is scanned OR When ramon en habitacion 02 [binary_sensor.ramon_en_habitacion_02] turns off OR When multi forecast home rain next 12h [sensor.multi_forecast_home_rain_next_12h] changes to 'yes'. CONDITIONS: None. ACTIONS: First, get hourly weather forecasts for forecast home [weather.forecast_home] and store the result. Then, process the forecast data using a Python script with location 'home' and the retrieved forecast. Finally, choose between two notification actions based on a template condition: If any of the first 24 hourly forecast entries has a condition in the list ['rainy','pouring','hail','lightning','lightning-rainy','snowy-rainy'], then send a Telegram message with a rain warning and the 24-hour forecast details. Otherwise, send a Telegram message indicating no rain forecast with the 24-hour forecast details.",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: at 8:00 AM every day, when the 'salida casa detectada' [binary_sensor.salida_casa_detectada] sensor indicates someone has left the house, when a specific NFC tag (secret nfc_tag_ha_despacho) is scanned, when another specific NFC tag (secret nfc_tag_ha_piano) is scanned, when the 'ramon en habitacion 02' [binary_sensor.ramon_en_habitacion_02] sensor indicates Ramon has left the room, or when the 'multi forecast home rain next 12h' [sensor.multi_forecast_home_rain_next_12h] sensor changes its state to 'yes'.",
|
|
"conditions": "There are no conditions that must be checked after a trigger occurs.",
|
|
"action": "When triggered, the automation first fetches the hourly weather forecast for 'forecast home' [weather.forecast_home]. It then processes this forecast data using a custom Python script. Based on the processed data, it checks if any of the next 24 hours are forecast to have rainy weather (like 'rainy', 'pouring', 'hail', etc.). If rain is forecast, it sends a detailed Telegram message warning of rain and listing the 24-hour forecast. If no rain is forecast, it sends a different Telegram message stating there is no rain expected, also including the 24-hour forecast details."
|
|
},
|
|
"human_like": "Sends a Telegram notification with a weather forecast, warning about rain if it's expected in the next 24 hours, triggered by various daily events like leaving the house or scanning an NFC tag.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "Reset luces alerta forecast",
|
|
"result": {
|
|
"structured": "TRIGGER: When reset luces alerta [input_button.reset_luces_alerta] changes state OR When forecast alert active [input_boolean.forecast_alert_active] turns off (to 'off'). CONDITIONS: None. ACTIONS: Run script.secuencia_by_label with data: label 'alerta', excludes 'sonoff_trvzb', estado 'turn_off'.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered either when the reset luces alerta [input_button.reset_luces_alerta] button is pressed, or when the forecast alert active [input_boolean.forecast_alert_active] switch is turned off.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "It runs a script labeled 'secuencia_by_label' with specific parameters: it targets devices with the label 'alerta', excludes any device named 'sonoff_trvzb', and instructs them to turn off."
|
|
},
|
|
"human_like": "Turns off all lights and devices tagged with an 'alerta' label when either a reset button is pressed or a forecast alert is deactivated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Reset alerta forecast",
|
|
"result": {
|
|
"structured": "TRIGGER: When forecast alert active [input_boolean.forecast_alert_active] turns on. ACTIONS: Wait 12 hours, then turn off forecast alert active [input_boolean.forecast_alert_active].",
|
|
"natural_language": {
|
|
"trigger": "When the forecast alert active [input_boolean.forecast_alert_active] is switched on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "After a 12-hour delay, the automation turns off the forecast alert active [input_boolean.forecast_alert_active]."
|
|
},
|
|
"human_like": "Automatically resets the forecast alert after 12 hours by turning it off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "forecast_alert_notify",
|
|
"result": {
|
|
"structured": "TRIGGER: When an event of type forecast_alert occurs. CONDITIONS: None. ACTIONS: Set variable loc to the location from the event data. Set variable reasons to the details from the event data. Set variable msg to a message containing the location and reasons, and if sun [sun.sun] is below_horizon, append a note about lights turning on. Turn on forecast alert active [input_boolean.forecast_alert_active]. Run script Notifica telegram [script.notifica_telegram] with the message variable. If sun [sun.sun] is below_horizon, then turn on all switches or lights whose custom_etiquetas attribute contains 'alerta'.",
|
|
"natural_language": {
|
|
"trigger": "When a forecast_alert event is received.",
|
|
"conditions": "There are no conditions that must be met for the actions to run; the automation executes immediately upon the trigger.",
|
|
"action": "The automation creates a notification message with the alert location and details. It turns on the forecast alert active [input_boolean.forecast_alert_active] indicator. It sends the notification message via the Notifica telegram [script.notifica_telegram] script. If it is nighttime (the sun [sun.sun] is below the horizon), it also turns on all lights or switches that are tagged with 'alerta'."
|
|
},
|
|
"human_like": "Sends a weather alert notification via Telegram and turns on alert lights if it's dark outside.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "forecast_scheduler",
|
|
"result": {
|
|
"structured": "TRIGGER: When get forecasts [input_button.get_forecasts] is pressed OR at every half hour (minutes: /30). CONDITIONS: None. ACTIONS: Retrieve hourly weather forecasts for forecast home [weather.forecast_home] and store the result. Process the forecast and current weather data for location 'home' using the python_script.forecast_processor service. Retrieve hourly weather forecasts for forecast work [weather.forecast_work] and store the result. Process the forecast and current weather data for location 'work' using the python_script.forecast_processor service.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs either when the get forecasts [input_button.get_forecasts] button is pressed, or automatically every 30 minutes.",
|
|
"conditions": "There are no conditions that must be met for the automation to proceed.",
|
|
"action": "It fetches the hourly weather forecast for the home location from forecast home [weather.forecast_home] and sends the forecast data along with current weather attributes (like temperature, humidity, and wind speed) to a custom script for processing. It then repeats the same process for the work location using forecast work [weather.forecast_work]."
|
|
},
|
|
"human_like": "This automation periodically fetches and processes weather forecasts for home and work, either on a schedule or when manually triggered.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "Resumen trayecto moto al desenchufar móvil",
|
|
"result": {
|
|
"structured": "TRIGGER: When get trip forecasts [input_button.get_trip_forecasts] changes state OR when salida casa detectada [binary_sensor.salida_casa_detectada] turns on OR when an NFC tag with ID 'secret nfc_tag_ha_despacho' is scanned OR when an NFC tag with ID 'secret nfc_tag_ha_piano' is scanned OR when ramon en habitacion 02 [binary_sensor.ramon_en_habitacion_02] turns off OR when multi forecast home rain next 12h [sensor.multi_forecast_home_rain_next_12h] changes to 'yes'. CONDITIONS: None. ACTIONS: Get hourly weather forecasts for forecast home [weather.forecast_home] and store the result in variable 'pronostico_home'. Get hourly weather forecasts for forecast work [weather.forecast_work] and store the result in variable 'pronostico_work'. Call service python_script.forecast_processor with location 'home' and the forecast data from 'pronostico_home' and current weather attributes from forecast home [weather.forecast_home]. Call service python_script.forecast_processor with location 'work' and the forecast data from 'pronostico_work' and current weather attributes from forecast work [weather.forecast_work]. Call service python_script.forecast_trip with the home and work forecast data, the current hour as departure hour, a trip duration of 8, the current time, and current temperature and humidity from temperatura exterior [sensor.temperatura_exterior] and humedad exterior [sensor.humedad_exterior].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: by pressing the get trip forecasts [input_button.get_trip_forecasts] button, when the salida casa detectada [binary_sensor.salida_casa_detectada] sensor detects someone has left the house, by scanning one of two specific NFC tags (secret nfc_tag_ha_despacho or secret nfc_tag_ha_piano), when the ramon en habitacion 02 [binary_sensor.ramon_en_habitacion_02] sensor indicates the person is no longer in the room, or when the multi forecast home rain next 12h [sensor.multi_forecast_home_rain_next_12h] sensor reports 'yes' for rain in the next 12 hours.",
|
|
"conditions": "There are no conditions that must be met for the actions to run; the automation executes whenever any of the triggers occur.",
|
|
"action": "The automation fetches detailed hourly weather forecasts for both the home and work locations. It then processes these forecasts for each location separately, passing current weather data like temperature and humidity. Finally, it runs a trip forecast analysis using both forecasts, the current time as the departure hour, an 8-hour trip duration, and the current outdoor temperature and humidity readings."
|
|
},
|
|
"human_like": "This automation provides a weather forecast summary for a motorcycle trip when triggered by various events like leaving the house, scanning an NFC tag, or a rain forecast, by gathering and processing weather data from home and work locations.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "Controlar válvula del salón",
|
|
"result": {
|
|
"structured": "TRIGGER: When temperatura salon [sensor.temperatura_salon] falls below 21. CONDITIONS: None. ACTIONS: Set valvula salon [climate.valvula_salon] to heat mode.",
|
|
"natural_language": {
|
|
"trigger": "When the temperature in the salon, measured by temperatura salon [sensor.temperatura_salon], drops below 21 degrees.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns on the heating for the salon by setting the HVAC mode of valvula salon [climate.valvula_salon] to heat."
|
|
},
|
|
"human_like": "Turns on the salon heater when the room temperature gets too cold.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "invierno_calefaccion_toggle",
|
|
"result": {
|
|
"structured": "TRIGGER: When invierno [input_boolean.invierno] changes state. CONDITIONS: None. ACTIONS: Execute script control_calefaccion with parameters mode set to 'off' and temperatura set to the current value of temperatura interior [sensor.temperatura_interior].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the input boolean 'invierno' [input_boolean.invierno] changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the script 'control_calefaccion' to turn the heating off, passing the current interior temperature from temperatura interior [sensor.temperatura_interior] as a parameter."
|
|
},
|
|
"human_like": "Turns the heating off using a script when the 'invierno' mode is toggled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "encender_luzled_living_1_presencia",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia zona living 1 [binary_sensor.presencia_zona_living_1] becomes on AND remains on for 15 seconds. CONDITIONS: control por presencia [input_boolean.control_por_presencia] is on AND NOT (my box 2 [media_player.my_box_2] is on). ACTIONS: Turn on enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1].",
|
|
"natural_language": {
|
|
"trigger": "When the presence sensor in the living area [binary_sensor.presencia_zona_living_1] detects presence and remains in the 'on' state for at least 15 seconds.",
|
|
"conditions": "If the presence control feature [input_boolean.control_por_presencia] is enabled, and the media player my box 2 [media_player.my_box_2] is not currently turned on.",
|
|
"action": "Turns on the switch for the socket in the room [switch.enchufe_habitacion_socket_1]."
|
|
},
|
|
"human_like": "Turns on a light or device when presence is detected in the living area, but only if the media player is off and presence control is enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "apagar_luzled_living_1_sin_presencia",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia zona living 1 [binary_sensor.presencia_zona_living_1] remains off for 3 minutes. CONDITIONS: control por presencia [input_boolean.control_por_presencia] is on AND enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1] is on. ACTIONS: Turn off enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1].",
|
|
"natural_language": {
|
|
"trigger": "When the presence sensor for the living area [binary_sensor.presencia_zona_living_1] reports no presence for a continuous period of three minutes.",
|
|
"conditions": "If the master control for presence-based automation [input_boolean.control_por_presencia] is enabled, and the socket switch [switch.enchufe_habitacion_socket_1] is currently turned on.",
|
|
"action": "Turns off the socket switch [switch.enchufe_habitacion_socket_1]."
|
|
},
|
|
"human_like": "Turns off a specific socket in the living room if no presence is detected for three minutes and the automation is enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "WH_Luz_Habitacion_2",
|
|
"result": {
|
|
"structured": "TRIGGER: When a webhook with ID wh_luz_habitacion_2 is received via POST, PUT, or GET, and is local only. CONDITIONS: None. ACTIONS: Toggle regleta antela socket 4 2 [switch.regleta_antela_socket_4_2].",
|
|
"natural_language": {
|
|
"trigger": "When a local webhook request with the specific ID 'wh_luz_habitacion_2' is received, using the POST, PUT, or GET HTTP methods.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Toggle the state of the switch regleta antela socket 4 2 [switch.regleta_antela_socket_4_2]."
|
|
},
|
|
"human_like": "Toggles a power socket when a specific local webhook is triggered.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wm_actualizar_estado",
|
|
"result": {
|
|
"structured": "TRIGGER: When washing machine ciclo en curso [binary_sensor.washing_machine_ciclo_en_curso] changes state. CONDITIONS: None. ACTIONS: If washing machine ciclo en curso [binary_sensor.washing_machine_ciclo_en_curso] is on, then turn on washingmachine en uso [input_boolean.washingmachine_en_uso]. Otherwise, if washing machine ciclo en curso [binary_sensor.washing_machine_ciclo_en_curso] is off AND washingmachine en uso [input_boolean.washingmachine_en_uso] is on, then turn off washingmachine en uso [input_boolean.washingmachine_en_uso] AND run script Notifica movil [script.notifica_movil] with data title 'WashingMachine terminada' and message 'La WashingMachine ha finalizado su ciclo. Puedes vaciarla.'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the washing machine ciclo en curso [binary_sensor.washing_machine_ciclo_en_curso] sensor changes.",
|
|
"conditions": "There are no global conditions for this automation.",
|
|
"action": "If the washing machine cycle starts (the sensor turns on), it marks the machine as in use by turning on the washingmachine en uso [input_boolean.washingmachine_en_uso] switch. If the washing machine cycle ends (the sensor turns off) and the machine is currently marked as in use, it marks the machine as no longer in use by turning off the washingmachine en uso [input_boolean.washingmachine_en_uso] switch and sends a mobile notification via the Notifica movil [script.notifica_movil] script, announcing that the washing machine has finished its cycle and can be emptied."
|
|
},
|
|
"human_like": "Tracks the washing machine's cycle, marking it as in use when it starts and sending a notification when it finishes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "Meteocat forzar update manual",
|
|
"result": {
|
|
"structured": "TRIGGER: When the meteocat update [input_button.meteocat_update] button is pressed. CONDITIONS: None. ACTIONS: Force an update of the meteocat home raw [sensor.meteocat_home_raw] sensor.",
|
|
"natural_language": {
|
|
"trigger": "When the meteocat update [input_button.meteocat_update] button is pressed.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Forces an immediate update of the meteocat home raw [sensor.meteocat_home_raw] sensor to fetch the latest data."
|
|
},
|
|
"human_like": "Manually refreshes the local weather data from Meteocat when a button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Meteocat incrementar contador y procesar home",
|
|
"result": {
|
|
"structured": "TRIGGER: When meteocat home raw [sensor.meteocat_home_raw] changes state. CONDITIONS: None. ACTIONS: If meteocat call counter [input_number.meteocat_call_counter] is below 10, then increment meteocat call counter [input_number.meteocat_call_counter] and execute python_script.meteocat_processor with entity_id sensor.meteocat_home_raw and name_prefix meteocat_home. Otherwise, if meteocat call counter [input_number.meteocat_call_counter] is above 9, send a Telegram notification with the message: '⚠️ Se ha superado el límite de 10 llamadas al mes de Meteocat.'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor meteocat home raw [sensor.meteocat_home_raw] updates its state.",
|
|
"conditions": "There are no global conditions for this automation.",
|
|
"action": "The automation checks the current value of the meteocat call counter [input_number.meteocat_call_counter]. If the counter is less than 10, it increments the counter and then runs a Python script called 'meteocat_processor' to process the data from the meteocat home raw sensor. If the counter is 10 or more, it sends a warning message to Telegram stating that the monthly limit of 10 calls to Meteocat has been exceeded."
|
|
},
|
|
"human_like": "This automation processes weather data from Meteocat and keeps track of API usage, sending an alert if a monthly call limit is reached.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "Reset contador Meteocat mensual",
|
|
"result": {
|
|
"structured": "TRIGGER: At 00:00:00 daily. CONDITIONS: The current day of the month is the first. ACTIONS: Set meteocat call counter [input_number.meteocat_call_counter] value to 0.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every day at midnight.",
|
|
"conditions": "It only proceeds if the current day is the first day of the month.",
|
|
"action": "Resets the meteocat call counter [input_number.meteocat_call_counter] to zero."
|
|
},
|
|
"human_like": "Resets the Meteocat API call counter to zero on the first day of each month.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "control_ventilador_por_co2_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When zigbee heiman hs3aq 01 co2 [sensor.zigbee_heiman_hs3aq_01_co2] remains above 1000 for 2 minutes. CONDITIONS: None. ACTIONS: Turn on alerta co2 [input_boolean.alerta_co2].",
|
|
"natural_language": {
|
|
"trigger": "When the CO2 sensor [sensor.zigbee_heiman_hs3aq_01_co2] detects a level above 1000 parts per million for at least two consecutive minutes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Activates the CO2 alert by turning on the alerta co2 [input_boolean.alerta_co2] input boolean."
|
|
},
|
|
"human_like": "Turns on a CO2 alert when high carbon dioxide levels are detected for a sustained period.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "control_ventilador_por_co2_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When zigbee heiman hs3aq 01 co2 [sensor.zigbee_heiman_hs3aq_01_co2] remains below 750 for 5 minutes. CONDITIONS: None. ACTIONS: Turn off alerta co2 [input_boolean.alerta_co2].",
|
|
"natural_language": {
|
|
"trigger": "When the CO2 level measured by the sensor zigbee heiman hs3aq 01 co2 [sensor.zigbee_heiman_hs3aq_01_co2] stays below 750 parts per million for a continuous period of 5 minutes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns off the CO2 alert status by switching off the input boolean alerta co2 [input_boolean.alerta_co2]."
|
|
},
|
|
"human_like": "Turns off the CO2 alert when the air quality has been good for five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "seq_shutdown",
|
|
"result": {
|
|
"structured": "TRIGGER: When the voice command 'desconecta' is issued OR When shutdown [input_button.shutdown] changes state OR When simulador personas [group.simulador_personas] changes from 'on' to 'off' OR When presencia [input_boolean.presencia] changes to 'off'. CONDITIONS: None. ACTIONS: Execute Cerrar puerta principal [script.cerrar_puerta_principal]. Set resumen shutdown [input_text.resumen_shutdown] to '🛑 Cerrando puerta...'. Execute Notifica movil [script.notifica_movil] with title 'Shut down' and message containing the current value of resumen shutdown [input_text.resumen_shutdown]. Execute script.control_calefaccion with mode 'off' and temperature set to the current value of temperatura exterior [sensor.temperatura_exterior]. Append to resumen shutdown [input_text.resumen_shutdown] a new line with '· Calefacción apagada (' followed by the current value of temperatura interior [sensor.temperatura_interior] and ')'. Execute script.ac_panasonic_control_refrigeracion_away. Append to resumen shutdown [input_text.resumen_shutdown] a new line with '· Aire acondicionado apagado (' followed by the current value of temperatura interior [sensor.temperatura_interior] and ')'. Execute script.secuencia_by_area with parameters my_area: 'living_2', my_excludes: 'sonoff_trvzb', my_estado: 'turn_off'. Append to resumen shutdown [input_text.resumen_shutdown] a new line with '· Dispositivos salón apagados'. Execute Selector ventilador [script.selector_ventilador] with parameters dispositivo: 'ventilador_habitacion', desde: 'secuencia', modo: 'manual', valor: 'Apagar'. Append to resumen shutdown [input_text.resumen_shutdown] a new line with '· Ventilador habitación apagado'. Wait for 1 second. Turn off ventilador equation [input_boolean.ventilador_equation]. Append to resumen shutdown [input_text.resumen_shutdown] a new line with '· Ventilador equation apagado'. Wait for 1 second. Execute Selector ventilador [script.selector_ventilador] with parameters dispositivo: 'ventilador_despacho', desde: 'secuencia', modo: 'manual', valor: 'Apagar'. Append to resumen shutdown [input_text.resumen_shutdown] a new line with '· Ventilador despacho apagado'. Append to resumen shutdown [input_text.resumen_shutdown] a new line with '✅ Fin desconexión total.'. Execute Notifica movil [script.notifica_movil] with title 'Shutdown' and message containing the final value of resumen shutdown [input_text.resumen_shutdown].",
|
|
"natural_language": {
|
|
"trigger": "The automation starts when any of these events occur: a voice command 'desconecta' is spoken, the shutdown [input_button.shutdown] button is pressed, the simulador personas [group.simulador_personas] group turns off, or the presence indicator presencia [input_boolean.presencia] is turned off.",
|
|
"conditions": "There are no conditions that must be met for the actions to run.",
|
|
"action": "The automation performs a complete shutdown sequence. It starts by closing the main door via the Cerrar puerta principal [script.cerrar_puerta_principal] script and logs this action. It then sends a mobile notification. Next, it turns off the heating using the current exterior temperature, logs the action with the interior temperature, and turns off the air conditioning, logging that as well. It proceeds to turn off devices in the living room area, logs it, and then turns off three specific fans (ventilador habitación, ventilador equation, and ventilador despacho), logging each step with short delays between some actions. Finally, it marks the shutdown as complete and sends a final mobile notification with the full summary log from resumen shutdown [input_text.resumen_shutdown]."
|
|
},
|
|
"human_like": "This automation performs a full house shutdown sequence, turning off heating, cooling, fans, and other devices, and notifying the user, when leaving the house or upon command.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735397441465'",
|
|
"result": {
|
|
"structured": "TRIGGER: When media_player device [device_id: 4212ed74edbdc7e8bd7b75f3ae1a9c4c, entity_id: e97f30b9edecdd38711ec6b28781147b] becomes idle. CONDITIONS: The sun is below the horizon (after sunset). ACTIONS: Turn on switch device [device_id: fd3d372290728ff8c9438f0d40b84e53, entity_id: 6eba2032971432a1ed86d5363bbd2770].",
|
|
"natural_language": {
|
|
"trigger": "When the media player device [device_id: 4212ed74edbdc7e8bd7b75f3ae1a9c4c, entity_id: e97f30b9edecdd38711ec6b28781147b] becomes idle.",
|
|
"conditions": "The automation only runs after sunset.",
|
|
"action": "Turn on the switch device [device_id: fd3d372290728ff8c9438f0d40b84e53, entity_id: 6eba2032971432a1ed86d5363bbd2770]."
|
|
},
|
|
"human_like": "Turns on a light when a media player stops playing and it's after sunset.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "pkg_kts_encender_luces_cortesia_entrada",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia zona entrada [binary_sensor.presencia_zona_entrada] changes from off to on OR a conversation command 'test' is processed. CONDITIONS: sun [sun.sun] is below_horizon AND my box 2 [media_player.my_box_2] is NOT on. ACTIONS: Set variable 'dispositivos_a_encender' to a list of switch entities that have a custom_etiquetas attribute containing 'cortesia' and are currently off. If the list length is greater than 0, then turn on all switches in the list and start the timer luces cortesia entrada [timer.luces_cortesia_entrada].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the entrance area, indicated by the sensor presencia zona entrada [binary_sensor.presencia_zona_entrada] turning on, or when the voice command 'test' is spoken.",
|
|
"conditions": "The sun [sun.sun] must be below the horizon (i.e., it is night or dusk), and the media player my box 2 [media_player.my_box_2] must not be playing or active.",
|
|
"action": "The automation first finds all switch devices that are tagged with 'cortesia' and are currently turned off. If any such devices are found, it turns them on and starts a timer named luces cortesia entrada [timer.luces_cortesia_entrada]."
|
|
},
|
|
"human_like": "Turns on courtesy lights in the entrance when someone enters at night, provided the TV isn't on, and starts a timer to manage them.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "pkg_kts_apagar_luces_cortesia_entrada_timer",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer luces cortesia entrada [timer.luces_cortesia_entrada] finishes. CONDITIONS: None. ACTIONS: Set variable 'dispositivos_a_apagar' to a list of all switch entities that have a custom_etiquetas attribute containing 'cortesia' and are currently on. If the length of the list 'dispositivos_a_apagar' is greater than 0, then turn off all switches in that list.",
|
|
"natural_language": {
|
|
"trigger": "When the timer named luces cortesia entrada [timer.luces_cortesia_entrada] finishes.",
|
|
"conditions": "There are no specific conditions that must be met for the action to run.",
|
|
"action": "The automation first finds all switch devices that have a custom tag 'cortesia' and are currently turned on. If any such devices are found, it turns them all off."
|
|
},
|
|
"human_like": "Turns off all courtesy lights when the entrance courtesy timer finishes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "pkg_kts_cancelar_temporizador_cortesia_por_living",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia zona living 1 [binary_sensor.presencia_zona_living_1] changes to on. CONDITIONS: luces cortesia entrada [timer.luces_cortesia_entrada] is active. ACTIONS: Cancel luces cortesia entrada [timer.luces_cortesia_entrada].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the living area, indicated by the presence sensor [binary_sensor.presencia_zona_living_1] turning on.",
|
|
"conditions": "The courtesy light timer [timer.luces_cortesia_entrada] must currently be running.",
|
|
"action": "Cancels the running courtesy light timer [timer.luces_cortesia_entrada]."
|
|
},
|
|
"human_like": "Cancels the courtesy light timer when someone enters the living area, preventing the lights from turning off automatically.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ramon_actualizar_ubicacion_habitacion_02",
|
|
"result": {
|
|
"structured": "TRIGGER: When ramon en habitacion 02 [binary_sensor.ramon_en_habitacion_02] changes state. CONDITIONS: None. ACTIONS: If ramon en habitacion 02 [binary_sensor.ramon_en_habitacion_02] is on, set ubicacion ramon [input_select.ubicacion_ramon] to 'habitacion_2'. If ramon en habitacion 02 [binary_sensor.ramon_en_habitacion_02] is off, set ubicacion ramon [input_select.ubicacion_ramon] to 'unknown'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the sensor ramon en habitacion 02 [binary_sensor.ramon_en_habitacion_02] changes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "If the sensor indicates Ramon is in the room (state 'on'), update the location tracker ubicacion ramon [input_select.ubicacion_ramon] to 'habitacion_2'. If the sensor indicates Ramon is not in the room (state 'off'), update the location tracker to 'unknown'."
|
|
},
|
|
"human_like": "Updates Ramon's tracked location to 'Room 2' when he is detected there, and to 'unknown' when he is not.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'[Presencia] Activar si alguien llega a casa'",
|
|
"result": {
|
|
"structured": "TRIGGER: When any person in all persons [group.all_persons] changes state to home. CONDITIONS: None. ACTIONS: Turn on presencia [input_boolean.presencia].",
|
|
"natural_language": {
|
|
"trigger": "When any tracked person in the home arrives, as indicated by the group all persons [group.all_persons] changing its state to 'home'.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns on the presence indicator by activating presencia [input_boolean.presencia]."
|
|
},
|
|
"human_like": "Turns on the home presence indicator when someone arrives.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'[Presencia] Desactivar si todos se van (con FOR)'",
|
|
"result": {
|
|
"structured": "TRIGGER: When all persons [group.all_persons] state changes to not_home AND remains in that state for 1 minute. CONDITIONS: None. ACTIONS: Turn off presencia [input_boolean.presencia].",
|
|
"natural_language": {
|
|
"trigger": "When the group tracking all persons [group.all_persons] changes its state to 'not_home' and stays that way for at least one minute.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "Turns off the presence indicator by switching off presencia [input_boolean.presencia]."
|
|
},
|
|
"human_like": "Turns off the home presence indicator when everyone has been away for one minute.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'[Presencia] Sincronizar al iniciar Home Assistant'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: If all persons [group.all_persons] is home, turn on presencia [input_boolean.presencia]; otherwise, if all persons [group.all_persons] is not_home, turn off presencia [input_boolean.presencia].",
|
|
"natural_language": {
|
|
"trigger": "When Home Assistant starts up.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "The automation checks the state of the group all persons [group.all_persons]. If everyone is home, it turns on the presence indicator presencia [input_boolean.presencia]. If everyone is away, it turns off the presence indicator."
|
|
},
|
|
"human_like": "This automation ensures the presence indicator is correctly set to match whether everyone is home or away whenever Home Assistant restarts.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Ramon - Entrada al despacho",
|
|
"result": {
|
|
"structured": "TRIGGER: When NFC tag secret nfc_tag_ha_despacho is scanned. CONDITIONS: (ubicacion ramon [input_select.ubicacion_ramon] is despacho) AND (control por presencia [input_boolean.control_por_presencia] is on). ACTIONS: Set ubicacion ramon [input_select.ubicacion_ramon] to despacho.",
|
|
"natural_language": {
|
|
"trigger": "When the NFC tag with ID 'secret nfc_tag_ha_despacho' is scanned.",
|
|
"conditions": "If the current location for Ramon, ubicacion ramon [input_select.ubicacion_ramon], is already set to 'despacho', and the presence control system, control por presencia [input_boolean.control_por_presencia], is turned on.",
|
|
"action": "Sets Ramon's location to 'despacho' by updating the ubicacion ramon [input_select.ubicacion_ramon] selector."
|
|
},
|
|
"human_like": "Updates Ramon's location to 'despacho' when he scans a specific NFC tag, provided the presence control system is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Tag despacho",
|
|
"result": {
|
|
"structured": "TRIGGER: When NFC tag secret nfc_tag_ha_despacho is scanned. CONDITIONS: control por presencia [input_boolean.control_por_presencia] is off. ACTIONS: Set ventilador despacho modo auto [input_select.ventilador_despacho_modo_auto] to option 'auto'.",
|
|
"natural_language": {
|
|
"trigger": "When the NFC tag with ID 'secret nfc_tag_ha_despacho' is scanned.",
|
|
"conditions": "If the presence control switch, control por presencia [input_boolean.control_por_presencia], is turned off.",
|
|
"action": "Sets the automatic mode selector for the office fan, ventilador despacho modo auto [input_select.ventilador_despacho_modo_auto], to the 'auto' option."
|
|
},
|
|
"human_like": "Scans an NFC tag to set the office fan to automatic mode, but only when presence control is disabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Ramon - Tocando el piano",
|
|
"result": {
|
|
"structured": "TRIGGER: When NFC tag 'secret nfc_tag_ha_piano' is scanned. CONDITIONS: None. ACTIONS: Set ubicacion ramon [input_select.ubicacion_ramon] to the option 'living_1'.",
|
|
"natural_language": {
|
|
"trigger": "When the NFC tag with the ID 'secret nfc_tag_ha_piano' is scanned.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Updates the location tracker for Ramon by setting the 'ubicacion ramon' [input_select.ubicacion_ramon] to the value 'living_1'."
|
|
},
|
|
"human_like": "Updates Ramon's location to the living room when he scans a specific NFC tag at the piano.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Ramon - En la cama",
|
|
"result": {
|
|
"structured": "TRIGGER: When secret nfc_tag_ha_bedroom_2 is scanned. CONDITIONS: None. ACTIONS: Set ubicacion ramon [input_select.ubicacion_ramon] to habitacion_2.",
|
|
"natural_language": {
|
|
"trigger": "When the NFC tag with the ID 'secret nfc_tag_ha_bedroom_2' is scanned.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Updates Ramon's location to 'habitacion_2' by setting the ubicacion ramon [input_select.ubicacion_ramon] input select."
|
|
},
|
|
"human_like": "Updates Ramon's location to bedroom 2 when a specific NFC tag is scanned.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Pau - En la habitacion",
|
|
"result": {
|
|
"structured": "TRIGGER: When scene switch 01 1 [input_boolean.scene_switch_01_1] turns on. CONDITIONS: None. ACTIONS: Set ubicacion pau [input_select.ubicacion_pau] to 'habitacion_1'.",
|
|
"natural_language": {
|
|
"trigger": "When the scene switch 01 1 [input_boolean.scene_switch_01_1] is turned on.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Updates Pau's location to 'habitacion_1' by setting the ubicacion pau [input_select.ubicacion_pau] input select."
|
|
},
|
|
"human_like": "Sets Pau's location to 'habitacion_1' when a specific scene switch is turned on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'[Presencia] Actualizar ubicación Ramón si se va de casa'",
|
|
"result": {
|
|
"structured": "TRIGGER: When person ramon [person.ramon] is not_home AND remains in that state for 5 minutes. CONDITIONS: None. ACTIONS: Set ubicacion ramon [input_select.ubicacion_ramon] to the option 'not_home'.",
|
|
"natural_language": {
|
|
"trigger": "When the person ramon [person.ramon] leaves home and remains in the 'not_home' state for at least five minutes.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "Updates the location selector ubicacion ramon [input_select.ubicacion_ramon] to show 'not_home'."
|
|
},
|
|
"human_like": "Updates Ramón's location status to 'not_home' after he has been away from home for five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Actualizar ubicación Ramon desde Bermuda",
|
|
"result": {
|
|
"structured": "TRIGGER: When bermuda 543f666fe64b4cbc93b0895ef6488bfb 100 40004 area [sensor.bermuda_543f666fe64b4cbc93b0895ef6488bfb_100_40004_area] changes state. CONDITIONS: sm a155f charger type [sensor.sm_a155f_charger_type] is none. ACTIONS: Set ubicacion ramon [input_select.ubicacion_ramon] to the new state value of the trigger entity.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the bermuda 543f666fe64b4cbc93b0895ef6488bfb 100 40004 area [sensor.bermuda_543f666fe64b4cbc93b0895ef6488bfb_100_40004_area] sensor updates its value.",
|
|
"conditions": "The automation only runs if the sm a155f charger type [sensor.sm_a155f_charger_type] sensor is in the 'none' state.",
|
|
"action": "Updates the ubicacion ramon [input_select.ubicacion_ramon] selector to match the new area value reported by the trigger sensor."
|
|
},
|
|
"human_like": "Updates Ramon's location based on a Bermuda area sensor, but only when his phone is not charging.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "encender_ventilador_habitacion_salida_casa",
|
|
"result": {
|
|
"structured": "TRIGGER: When entrada casa detectada [binary_sensor.entrada_casa_detectada] changes to on. CONDITIONS: None. ACTIONS: Turn on ventilador habitacion 01 running [input_boolean.ventilador_habitacion_01_running] AND execute script Notifica telegram [script.notifica_telegram] with a message containing the detection probability.",
|
|
"natural_language": {
|
|
"trigger": "When the sensor entrada casa detectada [binary_sensor.entrada_casa_detectada] detects someone entering the house.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns on the status indicator ventilador habitacion 01 running [input_boolean.ventilador_habitacion_01_running] and sends a Telegram notification via the Notifica telegram [script.notifica_telegram] script. The message includes the detection probability from the sensor."
|
|
},
|
|
"human_like": "Turns on a fan status indicator and sends a notification when someone is detected entering the house.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "apagar_ventilador_habitacion_salida_casa",
|
|
"result": {
|
|
"structured": "TRIGGER: When salida casa detectada [binary_sensor.salida_casa_detectada] changes to on. CONDITIONS: None. ACTIONS: Turn off ventilador habitacion 01 running [input_boolean.ventilador_habitacion_01_running] AND execute Notifica telegram [script.notifica_telegram] with a message containing the detection probability.",
|
|
"natural_language": {
|
|
"trigger": "When the sensor 'salida casa detectada' [binary_sensor.salida_casa_detectada] detects that someone has left the house.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns off the 'ventilador habitacion 01 running' [input_boolean.ventilador_habitacion_01_running] switch and sends a Telegram notification [script.notifica_telegram] with a message that includes the probability of the departure detection."
|
|
},
|
|
"human_like": "Turns off the bedroom fan and sends a notification when the system detects someone has left the house.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_shelly_1_press",
|
|
"result": {
|
|
"structured": "TRIGGER: When button press event occurs on device 78214af407f022e52036cd35517b0838. CONDITIONS: None. ACTIONS: Toggle enchufe doble socket 1 [switch.enchufe_doble_socket_1].",
|
|
"natural_language": {
|
|
"trigger": "When a button on the device with ID 78214af407f022e52036cd35517b0838 is pressed.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Toggles the state of the enchufe doble socket 1 [switch.enchufe_doble_socket_1]."
|
|
},
|
|
"human_like": "Toggles a double socket switch when a specific button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_shelly_1_press_studioBricks",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command 'caja' is issued OR When the state of studiobricks toggle [input_button.studiobricks_toggle] changes OR When a button press event occurs on device 78214af407f022e52036cd35517b0838. CONDITIONS: None. ACTIONS: Toggle regleta antela socket 3 [switch.regleta_antela_socket_3], wait 1 second, toggle regleta antela socket 2 [switch.regleta_antela_socket_2], wait 1 second, toggle regleta antela socket 1 [switch.regleta_antela_socket_1], wait 1 second, toggle regleta antela socket 5 [switch.regleta_antela_socket_5].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: by saying the voice command 'caja', by pressing the studiobricks toggle [input_button.studiobricks_toggle] button, or by pressing a button on the device with ID 78214af407f022e52036cd35517b0838.",
|
|
"conditions": "There are no conditions that must be met for the automation to run.",
|
|
"action": "The automation toggles a sequence of four power sockets on a power strip, one after another, with a one-second delay between each toggle. It starts with regleta antela socket 3 [switch.regleta_antela_socket_3], then regleta antela socket 2 [switch.regleta_antela_socket_2], then regleta antela socket 1 [switch.regleta_antela_socket_1], and finally regleta antela socket 5 [switch.regleta_antela_socket_5]."
|
|
},
|
|
"human_like": "Toggles a sequence of power strip sockets in order when triggered by a voice command, a virtual button, or a physical button press.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_shelly_1_press_studioBricks_luz",
|
|
"result": {
|
|
"structured": "TRIGGER: When the conversation command 'caja' is issued OR When studiobricks toggle [input_button.studiobricks_toggle] changes state OR When Device 78214af407f022e52036cd35517b0838 button press event occurs. CONDITIONS: None. ACTIONS: Toggle regleta antela socket 3 [switch.regleta_antela_socket_3].",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered in three ways: by saying the voice command 'caja', by pressing the studiobricks toggle [input_button.studiobricks_toggle] button, or by pressing the button on the device with ID 78214af407f022e52036cd35517b0838.",
|
|
"conditions": "There are no conditions that must be met for the automation to run.",
|
|
"action": "The automation toggles the state of the regleta antela socket 3 [switch.regleta_antela_socket_3], turning it on if it's off, or off if it's on."
|
|
},
|
|
"human_like": "Toggles a power socket when a specific voice command is given, a virtual button is pressed, or a physical device button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_shelly_1_double_press",
|
|
"result": {
|
|
"structured": "TRIGGER: When Device 78214af407f022e52036cd35517b0838 [device_id: 78214af407f022e52036cd35517b0838] sends a BTHome button double press event. CONDITIONS: None. ACTIONS: Toggle enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1].",
|
|
"natural_language": {
|
|
"trigger": "When the button on the device with ID 78214af407f022e52036cd35517b0838 is double-pressed.",
|
|
"conditions": "There are no conditions; the action runs immediately after the trigger.",
|
|
"action": "Toggles the state of the plug named enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1]."
|
|
},
|
|
"human_like": "Toggles a bedroom plug when a specific button is double-pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "pulsador_scene_switch_01",
|
|
"result": {
|
|
"structured": "TRIGGER: When zigbee scene switch 01 action [sensor.zigbee_scene_switch_01_action] changes state. CONDITIONS: None. ACTIONS: Choose an action based on the state of zigbee scene switch 01 action [sensor.zigbee_scene_switch_01_action]: If state is 1_single, execute script Scene switch 01 1 single [script.scene_switch_01_1_single]. If state is 2_single, execute script Scene switch 01 2 single [script.scene_switch_01_2_single]. If state is 1_double, execute script Scene switch 01 1 double [script.scene_switch_01_1_double]. If state is 2_double, execute script Scene switch 01 2 double [script.scene_switch_01_2_double].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the zigbee scene switch 01 action [sensor.zigbee_scene_switch_01_action] reports a new state.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Depending on the specific state reported by the switch, a corresponding script is run. A single press on button 1 runs the 'Scene switch 01 1 single' script, a single press on button 2 runs the 'Scene switch 01 2 single' script, a double press on button 1 runs the 'Scene switch 01 1 double' script, and a double press on button 2 runs the 'Scene switch 01 2 double' script."
|
|
},
|
|
"human_like": "Maps different button presses on a Zigbee scene switch to run specific automation scripts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "secuencia_switches",
|
|
"result": {
|
|
"structured": "TRIGGER: When the NFC tag with ID secret nfc_tag_ha_door is scanned. CONDITIONS: None. ACTIONS: Execute the script Secuencia of switches [script.secuencia_of_switches] with the parameter my_estado set to 'off'.",
|
|
"natural_language": {
|
|
"trigger": "When a specific NFC tag with the ID 'secret nfc_tag_ha_door' is scanned near a compatible reader.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Runs the script named Secuencia of switches [script.secuencia_of_switches], passing the instruction to turn things off (my_estado: 'off')."
|
|
},
|
|
"human_like": "Scans an NFC tag to trigger a script that turns off a sequence of switches.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1736097910938'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a tag with ID secret nfc_tag_ha_37 is scanned OR When the state of a dormir [input_button.a_dormir] changes OR When media player Device 595047351c96be1289eefa62731cda3e [media_player.595047351c96be1289eefa62731cda3e] is turned off OR When remote Device 4212ed74edbdc7e8bd7b75f3ae1a9c4c [remote.8c098c4f5799ff0d519ed64b05a880e1] is turned off. CONDITIONS: The sun is below the horizon (after sunset). ACTIONS: Turn on enchufe doble socket 1 [switch.enchufe_doble_socket_1], then wait 1 second, then turn on enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1], then wait 1 second, then turn on enchufe habitacion socket 2 [switch.enchufe_habitacion_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in four ways: by scanning a specific NFC tag with the ID 'secret nfc_tag_ha_37', by pressing the 'a dormir' [input_button.a_dormir] button, when a specific media player [media_player.595047351c96be1289eefa62731cda3e] is turned off, or when a specific remote [remote.8c098c4f5799ff0d519ed64b05a880e1] is turned off.",
|
|
"conditions": "The automation will only run if it is after sunset.",
|
|
"action": "The automation will turn on three switches in sequence: first the 'enchufe doble socket 1' [switch.enchufe_doble_socket_1], wait one second, then turn on 'enchufe habitacion socket 1' [switch.enchufe_habitacion_socket_1], wait another second, and finally turn on 'enchufe habitacion socket 2' [switch.enchufe_habitacion_socket_2]."
|
|
},
|
|
"human_like": "Turns on courtesy lights in the bedroom after sunset when you signal you're going to sleep via an NFC tag, a button, or by turning off the TV or remote.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "scheduler_studioBricks_activa_aire",
|
|
"result": {
|
|
"structured": "TRIGGER: When studiobricks schedule [schedule.studiobricks_schedule] turns on. CONDITIONS: None. ACTIONS: Turn on regleta antela socket 2 [switch.regleta_antela_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "When the studiobricks schedule [schedule.studiobricks_schedule] becomes active (turns on).",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns on the regleta antela socket 2 [switch.regleta_antela_socket_2]."
|
|
},
|
|
"human_like": "Turns on the studio air conditioning when its schedule becomes active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "scheduler_studioBricks_desactiva_aire",
|
|
"result": {
|
|
"structured": "TRIGGER: When studiobricks schedule [schedule.studiobricks_schedule] changes to off. CONDITIONS: regleta antela socket 3 [switch.regleta_antela_socket_3] is off. ACTIONS: Turn off regleta antela socket 2 [switch.regleta_antela_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "When the studiobricks schedule [schedule.studiobricks_schedule] changes its state to off.",
|
|
"conditions": "The regleta antela socket 3 [switch.regleta_antela_socket_3] must be off.",
|
|
"action": "Turn off the regleta antela socket 2 [switch.regleta_antela_socket_2]."
|
|
},
|
|
"human_like": "Turns off the air conditioning (socket 2) when the schedule is off and the light (socket 3) is not in use.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "studioBricks.luz.on",
|
|
"result": {
|
|
"structured": "TRIGGER: When Device 28e6316f3bac782b057d5d82b60dc60a [device_id:28e6316f3bac782b057d5d82b60dc60a] or Device 729509638d02b0959917f15e1c9c1104 [device_id:729509638d02b0959917f15e1c9c1104] is turned on. CONDITIONS: None. ACTIONS: Turn on regleta antela socket 5 [switch.regleta_antela_socket_5], wait 1 second, turn on regleta antela socket 1 [switch.regleta_antela_socket_1], wait 1 second, turn on regleta antela socket 2 [switch.regleta_antela_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "When a specific device (Device 28e6316f3bac782b057d5d82b60dc60a) or another device (Device 729509638d02b0959917f15e1c9c1104) is turned on.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "The automation performs a sequence of actions: first, it turns on the regleta antela socket 5 [switch.regleta_antela_socket_5]. After a one-second delay, it turns on the regleta antela socket 1 [switch.regleta_antela_socket_1]. Following another one-second delay, it finally turns on the regleta antela socket 2 [switch.regleta_antela_socket_2]."
|
|
},
|
|
"human_like": "Turns on a sequence of power sockets with a short delay between each when a specific device is switched on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "studioBricks.luz.off",
|
|
"result": {
|
|
"structured": "TRIGGER: When Device 28e6316f3bac782b057d5d82b60dc60a [device_id: 28e6316f3bac782b057d5d82b60dc60a] with entity Device 729509638d02b0959917f15e1c9c1104 [entity_id: 729509638d02b0959917f15e1c9c1104] is turned off. CONDITIONS: None. ACTIONS: Turn off regleta antela socket 5 [switch.regleta_antela_socket_5], wait 2 seconds, turn off regleta antela socket 1 [switch.regleta_antela_socket_1], wait 2 seconds, turn off regleta antela socket 2 [switch.regleta_antela_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "When a specific device (Device 28e6316f3bac782b057d5d82b60dc60a) with the entity ID 729509638d02b0959917f15e1c9c1104 is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "The automation performs a sequence of actions: first, it turns off the regleta antela socket 5 [switch.regleta_antela_socket_5]. After a 2-second delay, it turns off the regleta antela socket 1 [switch.regleta_antela_socket_1]. Following another 2-second delay, it finally turns off the regleta antela socket 2 [switch.regleta_antela_socket_2]."
|
|
},
|
|
"human_like": "Turns off a sequence of power sockets with short delays when a specific device is switched off, likely to manage a shutdown order for equipment.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735563377877'",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs with a 5-minute offset. CONDITIONS: presencia [input_boolean.presencia] is on. ACTIONS: Execute script.secuencia_by_area with parameters my_area: habitacion_2, my_excludes: sonoff_trvzb, my_estado: turn_on.",
|
|
"natural_language": {
|
|
"trigger": "When the sun sets, with a 5-minute offset.",
|
|
"conditions": "The presence indicator presencia [input_boolean.presencia] must be on.",
|
|
"action": "Runs the script 'secuencia_by_area' for the area 'habitacion_2', excluding the device 'sonoff_trvzb', and setting the state to 'turn_on'."
|
|
},
|
|
"human_like": "At sunset, if presence is detected, it turns on lights or devices in the second bedroom, excluding a specific thermostat.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735396993529'",
|
|
"result": {
|
|
"structured": "TRIGGER: When media_player device [device_id: f2cf32e97e729a9a14fd3657ed260afe, entity_id: 595047351c96be1289eefa62731cda3e] is turned on OR remote device [device_id: 4212ed74edbdc7e8bd7b75f3ae1a9c4c, entity_id: 8c098c4f5799ff0d519ed64b05a880e1] is turned on. CONDITIONS: None. ACTIONS: Turn off enchufe doble socket 1 [switch.enchufe_doble_socket_1], wait 1 second, then turn off enchufe doble socket 2 [switch.enchufe_doble_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "When a specific media player device [device_id: f2cf32e97e729a9a14fd3657ed260afe, entity_id: 595047351c96be1289eefa62731cda3e] is turned on, or when a specific remote device [device_id: 4212ed74edbdc7e8bd7b75f3ae1a9c4c, entity_id: 8c098c4f5799ff0d519ed64b05a880e1] is turned on.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "The automation will turn off the switch enchufe doble socket 1 [switch.enchufe_doble_socket_1], wait for one second, and then turn off the switch enchufe doble socket 2 [switch.enchufe_doble_socket_2]."
|
|
},
|
|
"human_like": "Turns off two specific power sockets when a media player or remote device is switched on, likely to dim the lights for watching TV.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735739612217'",
|
|
"result": {
|
|
"structured": "TRIGGER: When NFC tag with ID 'secret nfc_tag_ha_37' is scanned. CONDITIONS: None. ACTIONS: Start timer cocina 10m [timer.cocina_10m] AND Speak 'inicio temporal' on media player my box 2 [media_player.my_box_2].",
|
|
"natural_language": {
|
|
"trigger": "When a specific NFC tag with the ID 'secret nfc_tag_ha_37' is scanned.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Starts a 10-minute timer named cocina 10m [timer.cocina_10m] and uses text-to-speech to announce 'inicio temporal' on the media player called my box 2 [media_player.my_box_2]."
|
|
},
|
|
"human_like": "Scans an NFC tag to start a kitchen timer and announce the start.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735485273824'",
|
|
"result": {
|
|
"structured": "TRIGGER: When NFC tag with ID secret nfc_tag_ha_37 is scanned. CONDITIONS: None. ACTIONS: Toggle Device 6eba2032971432a1ed86d5363bbd2770 [device_id: 6eba2032971432a1ed86d5363bbd2770] AND Turn on Device 8c098c4f5799ff0d519ed64b05a880e1 [device_id: 4212ed74edbdc7e8bd7b75f3ae1a9c4c] AND Send notification to mobile_app_sm_a155f with title 'HA NFC' and message 'NFC Temporizador'.",
|
|
"natural_language": {
|
|
"trigger": "When the NFC tag with the ID 'secret nfc_tag_ha_37' is scanned.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "The automation will toggle the state of Device 6eba2032971432a1ed86d5363bbd2770, turn on Device 8c098c4f5799ff0d519ed64b05a880e1, and send a notification to the mobile app 'mobile_app_sm_a155f' with the title 'HA NFC' and the message 'NFC Temporizador'."
|
|
},
|
|
"human_like": "Scans an NFC tag to toggle a device, turn on another device, and send a notification.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "temporizador_luces_automation_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When temporizador luces [input_button.temporizador_luces] changes state. CONDITIONS: None. ACTIONS: Start timer temporizador luces [timer.temporizador_luces] for a duration equal to the value of temporizador luces mm [input_number.temporizador_luces_mm] (in minutes) multiplied by 60 seconds.",
|
|
"natural_language": {
|
|
"trigger": "When the state of the temporizador luces [input_button.temporizador_luces] changes.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Starts the timer temporizador luces [timer.temporizador_luces] for a duration calculated by taking the number of minutes set in temporizador luces mm [input_number.temporizador_luces_mm] and converting it to seconds."
|
|
},
|
|
"human_like": "Starts a timer for the lights when the timer button is pressed, using a pre-set duration.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "temporizador_luces_automation_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When temporizador luces [timer.temporizador_luces] changes to idle. CONDITIONS: None. ACTIONS: Execute Notifica movil [script.notifica_movil] with title 'luces automation off' and message 'Han pasado {{ states('input_number.temporizador_luces_mm') }} min'. Then execute script.secuencia_by_area with parameters my_area: habitacion_1, my_excludes: sonoff_trvzb, my_estado: turn_off. Wait 1 second. Then execute script.secuencia_by_area with parameters my_area: habitacion_2, my_excludes: sonoff_trvzb, my_estado: turn_off.",
|
|
"natural_language": {
|
|
"trigger": "When the timer named temporizador luces [timer.temporizador_luces] finishes and becomes idle.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "It first sends a mobile notification via Notifica movil [script.notifica_movil] with the title 'luces automation off' and a message stating how many minutes have passed, using the value from temporizador luces mm [input_number.temporizador_luces_mm]. It then runs a script to turn off devices in the area 'habitacion_1', excluding any device named 'sonoff_trvzb'. After a one-second delay, it runs the same script again for the area 'habitacion_2', also excluding 'sonoff_trvzb'."
|
|
},
|
|
"human_like": "Turns off the lights in two rooms and sends a notification when a timer expires.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_calefaccion_toggle",
|
|
"result": {
|
|
"structured": "TRIGGER: When the state of calefaccion boolean [input_boolean.calefaccion_boolean] changes. CONDITIONS: invierno [input_boolean.invierno] is on. ACTIONS: Execute script.control_calefaccion with data: mode set to 'heat' if calefaccion boolean [input_boolean.calefaccion_boolean] is 'on', otherwise 'off'; temperatura set to the value of nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal] if calefaccion boolean [input_boolean.calefaccion_boolean] is 'on', otherwise set to the value of temperatura exterior [sensor.temperatura_exterior].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the heating toggle, calefaccion boolean [input_boolean.calefaccion_boolean], changes.",
|
|
"conditions": "The automation only runs if the winter mode, invierno [input_boolean.invierno], is turned on.",
|
|
"action": "It runs a script called control_calefaccion, passing it parameters. The heating mode is set to 'heat' if the heating toggle is on, otherwise it's set to 'off'. The target temperature is set to the ideal thermal comfort level, nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal], if heating is on, otherwise it's set to the current outside temperature from temperatura exterior [sensor.temperatura_exterior]."
|
|
},
|
|
"human_like": "Controls the heating system based on a manual toggle, adjusting the mode and target temperature depending on whether heating is turned on or off, but only during winter mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_demanda_de_calefaccion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When demanda de calefaccion [sensor.demanda_de_calefaccion] changes to 'on'. CONDITIONS: None. ACTIONS: Set the temperature of termostato virtual [climate.termostato_virtual] to the current value of nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal].",
|
|
"natural_language": {
|
|
"trigger": "When the sensor demanda de calefaccion [sensor.demanda_de_calefaccion] turns on.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "Sets the target temperature of the termostato virtual [climate.termostato_virtual] to the current value set in nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]."
|
|
},
|
|
"human_like": "Turns on the virtual thermostat to the desired comfort temperature when heating demand is detected.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_demanda_de_calefaccion_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When demanda de calefaccion [sensor.demanda_de_calefaccion] changes to 'off'. CONDITIONS: None. ACTIONS: Run script control_calefaccion with mode 'off' and temperatura set to the current state of nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal].",
|
|
"natural_language": {
|
|
"trigger": "When the sensor demanda de calefaccion [sensor.demanda_de_calefaccion] changes its state to 'off'.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Executes the script control_calefaccion, setting the heating mode to 'off' and using the current value from nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal] as the temperature parameter."
|
|
},
|
|
"human_like": "Turns off the heating system when there is no demand for heat.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_nivel_confort_change",
|
|
"result": {
|
|
"structured": "TRIGGER: When nivel confort actual [input_number.nivel_confort_actual] changes state. ACTIONS: Send the current numeric value of nivel confort actual [input_number.nivel_confort_actual] to InfluxDB via the rest_command.send_to_influxdb service.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the nivel confort actual [input_number.nivel_confort_actual] input number changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sends the current numeric value of nivel confort actual [input_number.nivel_confort_actual] to an InfluxDB database using a REST command."
|
|
},
|
|
"human_like": "Logs the current comfort level to a database whenever it changes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "scheduler_calefaccion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When calefaccion schedule [schedule.calefaccion_schedule] changes state to on. CONDITIONS: invierno [input_boolean.invierno] is on. ACTIONS: Set temperature of termostato virtual [climate.termostato_virtual] to the current value of nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal].",
|
|
"natural_language": {
|
|
"trigger": "When the heating schedule, calefaccion schedule [schedule.calefaccion_schedule], is activated and changes its state to on.",
|
|
"conditions": "The automation only runs if the winter mode, invierno [input_boolean.invierno], is currently switched on.",
|
|
"action": "Sets the target temperature of the virtual thermostat, termostato virtual [climate.termostato_virtual], to match the current value set in the ideal thermal sensation level, nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]."
|
|
},
|
|
"human_like": "Turns on the heating to the desired temperature when the heating schedule is active and winter mode is enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "scheduler_calefaccion_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When calefaccion schedule [schedule.calefaccion_schedule] changes to off. CONDITIONS: None. ACTIONS: Execute script control_calefaccion with parameters: mode = off, temperatura = current value of temperatura interior [sensor.temperatura_interior].",
|
|
"natural_language": {
|
|
"trigger": "When the calefaccion schedule [schedule.calefaccion_schedule] changes its state to off.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Runs the script 'control_calefaccion' to turn off the heating, passing the current interior temperature from temperatura interior [sensor.temperatura_interior] as a parameter."
|
|
},
|
|
"human_like": "Turns off the heating when the heating schedule is set to off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "scheduler_lavavajillas_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When lavavajillas schedule [schedule.lavavajillas_schedule] changes state to on. CONDITIONS: None. ACTIONS: Turn on alias lavavajillas [switch.alias_lavavajillas].",
|
|
"natural_language": {
|
|
"trigger": "When the lavavajillas schedule [schedule.lavavajillas_schedule] is activated, meaning it changes its state to 'on'.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns on the dishwasher by activating the switch alias lavavajillas [switch.alias_lavavajillas]."
|
|
},
|
|
"human_like": "Turns on the dishwasher when its scheduled time arrives.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "scheduler_lavavajillas_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When lavavajillas schedule [schedule.lavavajillas_schedule] changes to off. CONDITIONS: None. ACTIONS: Wait until the power consumption of zigbee nous enchufe 03 power [sensor.zigbee_nous_enchufe_03_power] is less than 5 watts, with a timeout of 10 minutes. If the condition is met within the timeout, turn off alias lavavajillas [switch.alias_lavavajillas]. If the timeout is reached, the automation stops and does not proceed to turn off the switch.",
|
|
"natural_language": {
|
|
"trigger": "When the lavavajillas schedule [schedule.lavavajillas_schedule] changes its state to off.",
|
|
"conditions": "There are no additional conditions that must be met before the action runs.",
|
|
"action": "The automation waits for the power consumption reported by the zigbee nous enchufe 03 power [sensor.zigbee_nous_enchufe_03_power] to drop below 5 watts. It will wait for up to 10 minutes. If the power consumption drops below that threshold within the waiting period, it proceeds to turn off the alias lavavajillas [switch.alias_lavavajillas] switch. If the power does not drop below 5 watts after 10 minutes, the automation stops without turning off the switch."
|
|
},
|
|
"human_like": "Turns off the dishwasher switch after its schedule ends, but only once its power consumption indicates it has finished its cycle.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_temperatura_change",
|
|
"result": {
|
|
"structured": "TRIGGER: When temperatura objetivo max [sensor.temperatura_objetivo_max] changes state OR When temperatura caldera [sensor.temperatura_caldera] changes state. CONDITIONS: invierno [input_boolean.invierno] is on AND demanda calefaccion [sensor.demanda_calefaccion] is on. ACTIONS: Execute the sequence: Run script control_calefaccion_advanced with data st_target set to sensor.temperatura_objetivo_max and st_real set to sensor.temperatura_caldera.",
|
|
"natural_language": {
|
|
"trigger": "When the temperature target maximum [sensor.temperatura_objetivo_max] changes, or when the boiler temperature [sensor.temperatura_caldera] changes.",
|
|
"conditions": "The winter mode [input_boolean.invierno] must be turned on, and the heating demand [sensor.demanda_calefaccion] must be active (on).",
|
|
"action": "Runs the advanced heating control script [script.control_calefaccion_advanced], passing the target temperature sensor and the current boiler temperature sensor as parameters to adjust the heating system."
|
|
},
|
|
"human_like": "Adjusts the thermostat based on the highest target temperature from the TRVs when heating is needed in winter.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_termostato_virtual_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When termostato virtual [climate.termostato_virtual] changes state to off. CONDITIONS: None. ACTIONS: Set HVAC mode to off for all TRVs in the group lista trvs [group.lista_trvs].",
|
|
"natural_language": {
|
|
"trigger": "When the termostato virtual [climate.termostato_virtual] is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Turns off all the TRVs (Thermostatic Radiator Valves) in the group lista trvs [group.lista_trvs] by setting their HVAC mode to off."
|
|
},
|
|
"human_like": "Turns off all the radiator valves when the main virtual thermostat is switched off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_trvs",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following TRV entities remains in a new state for 10 seconds: zigbee sonoff trvzb 01 [climate.zigbee_sonoff_trvzb_01], zigbee sonoff trvzb 02 [climate.zigbee_sonoff_trvzb_02], zigbee sonoff trvzb 03 [climate.zigbee_sonoff_trvzb_03], zigbee sonoff trvzb 04 [climate.zigbee_sonoff_trvzb_04]. CONDITIONS: invierno [input_boolean.invierno] is on. ACTIONS: If the number of TRVs in the group lista trvs [group.lista_trvs] that are in 'heat' or 'auto' mode is greater than 0, then after a 5-second delay, set the HVAC mode of termostato virtual [climate.termostato_virtual] to 'heat'. Otherwise, if the number of such TRVs is exactly 0, then after a 5-second delay, set the HVAC mode of termostato virtual [climate.termostato_virtual] to 'off'.",
|
|
"natural_language": {
|
|
"trigger": "When any of the four specified thermostatic radiator valves (TRVs) changes state and remains in that new state for at least 10 seconds.",
|
|
"conditions": "The automation only runs if the 'invierno' [input_boolean.invierno] input boolean is switched on, indicating the winter mode is active.",
|
|
"action": "The automation checks how many TRVs in the 'lista trvs' [group.lista_trvs] group are currently set to either 'heat' or 'auto' mode. If at least one TRV is in one of these modes, it waits 5 seconds and then turns the virtual thermostat [climate.termostato_virtual] to 'heat' mode. If none of the TRVs are in 'heat' or 'auto' mode, it waits 5 seconds and turns the virtual thermostat off."
|
|
},
|
|
"human_like": "Coordinates the main heating system based on individual room radiator valves, turning the heat on if any room needs it and off when none do, but only during winter mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "update_titulo_video",
|
|
"result": {
|
|
"structured": "TRIGGER: When media_title attribute of my box [media_player.my_box] changes OR when app_name attribute of my box 2 [media_player.my_box_2] changes OR when a conversation command 'titulo' is processed. CONDITIONS: None. ACTIONS: Set the value of ultimo video reproducido [input_text.ultimo_video_reproducido] to the media_title attribute of my box [media_player.my_box] if available; otherwise, set it to the app_name attribute of my box 2 [media_player.my_box_2] with the substrings 'com.', 'google.android.', and '.androidtv' removed; if neither attribute is available, set it to 'Desconocido'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the media title attribute of my box [media_player.my_box] changes, or when the app name attribute of my box 2 [media_player.my_box_2] changes, or when someone says the voice command 'titulo'.",
|
|
"conditions": "There are no conditions; the automation runs whenever any trigger occurs.",
|
|
"action": "It updates the text field ultimo video reproducido [input_text.ultimo_video_reproducido] with the current media title from my box [media_player.my_box]. If that title is not available, it uses the app name from my box 2 [media_player.my_box_2], removing certain prefixes like 'com.', 'google.android.', and '.androidtv'. If neither is available, it sets the text to 'Desconocido'."
|
|
},
|
|
"human_like": "Saves the title of the currently playing media or app name from either media player to a text field, with fallback handling for missing data.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventiladores_apagar",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command 'apaga todos los ventiladores' is received OR When ventiladores off [input_button.ventiladores_off] state changes. CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data {dispositivo: ventilador_habitacion, desde: apagar_Script, valor: Apagar}, then wait 1 second, then execute script Selector ventilador [script.selector_ventilador] with data {dispositivo: ventilador_despacho, desde: apagar_Script, valor: Apagar}.",
|
|
"natural_language": {
|
|
"trigger": "When a voice or text command 'apaga todos los ventiladores' is given, or when the ventiladores off [input_button.ventiladores_off] button is pressed.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "It runs a script to turn off a fan in the bedroom (ventilador_habitacion), waits one second, and then runs the same script to turn off a fan in the office (ventilador_despacho)."
|
|
},
|
|
"human_like": "Turns off all fans when you ask it to or press a button.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "activar_extractores_si_temp_exterior_menor",
|
|
"result": {
|
|
"structured": "TRIGGER: When temperatura exterior [sensor.temperatura_exterior] changes state OR when cfg temperatura habitacion 2 [sensor.cfg_temperatura_habitacion_2] changes state OR when Home Assistant starts. CONDITIONS: extractores habilitados [input_boolean.extractores_habilitados] is on AND ventilador habitacion [input_boolean.ventilador_habitacion] is off AND (the numeric value of temperatura exterior [sensor.temperatura_exterior] is less than the numeric value of cfg temperatura habitacion 2 [sensor.cfg_temperatura_habitacion_2]). ACTIONS: Turn on extractores activos [input_boolean.extractores_activos].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the outside temperature [sensor.temperatura_exterior] changes, when the target room temperature [sensor.cfg_temperatura_habitacion_2] changes, or when Home Assistant first starts up.",
|
|
"conditions": "The automation will only run if the extractors are enabled [input_boolean.extractores_habilitados], the room fan is off [input_boolean.ventilador_habitacion], and the outside temperature is lower than the configured target temperature for the room.",
|
|
"action": "Activates the extractors by turning on the extractores activos [input_boolean.extractores_activos] input boolean."
|
|
},
|
|
"human_like": "Turns on the extractors when the outside air is cooler than the target room temperature, provided the extractors are enabled and the room fan is off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "desactivar_extractores_si_temp_exterior_no_menor",
|
|
"result": {
|
|
"structured": "TRIGGER: When temperatura exterior [sensor.temperatura_exterior] changes state OR when cfg temperatura habitacion 2 [sensor.cfg_temperatura_habitacion_2] changes state. CONDITIONS: extractores habilitados [input_boolean.extractores_habilitados] is on AND (temperatura exterior [sensor.temperatura_exterior] is greater than or equal to cfg temperatura habitacion 2 [sensor.cfg_temperatura_habitacion_2]). ACTIONS: Turn off extractores activos [input_boolean.extractores_activos].",
|
|
"natural_language": {
|
|
"trigger": "When the temperature outside [sensor.temperatura_exterior] changes, or when the configured temperature for room 2 [sensor.cfg_temperatura_habitacion_2] changes.",
|
|
"conditions": "If the extractors are currently enabled [input_boolean.extractores_habilitados] and the outside temperature [sensor.temperatura_exterior] is not lower than the configured room temperature [sensor.cfg_temperatura_habitacion_2].",
|
|
"action": "Deactivates the extractors by turning off the extractores activos [input_boolean.extractores_activos] switch."
|
|
},
|
|
"human_like": "Turns off the active extractors if they are enabled and the outside temperature is not lower than the target room temperature.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ciclo_extractores_modos_2switch",
|
|
"result": {
|
|
"structured": "TRIGGER: When extractores activos [input_boolean.extractores_activos] turns on OR When timer extractores descanso [timer.extractores_descanso] finishes OR When modo extractores [input_select.modo_extractores] changes state. CONDITIONS: extractores activos [input_boolean.extractores_activos] is on. ACTIONS: (Choose based on modo extractores [input_select.modo_extractores] state: If state is 'Extracción', turn on alias aire extraccion habitacion 02 [switch.alias_aire_extraccion_habitacion_02] AND turn off alias aire introduccion habitacion 02 [switch.alias_aire_introduccion_habitacion_02]. If state is 'Introducción', turn off alias aire extraccion habitacion 02 [switch.alias_aire_extraccion_habitacion_02] AND turn on alias aire introduccion habitacion 02 [switch.alias_aire_introduccion_habitacion_02]. If state is 'Mixto', turn on alias aire extraccion habitacion 02 [switch.alias_aire_extraccion_habitacion_02], wait 5 seconds, AND turn on alias aire introduccion habitacion 02 [switch.alias_aire_introduccion_habitacion_02].) THEN wait 5 minutes, turn off alias aire extraccion habitacion 02 [switch.alias_aire_extraccion_habitacion_02], wait 5 seconds, turn off alias aire introduccion habitacion 02 [switch.alias_aire_introduccion_habitacion_02], AND start timer extractores descanso [timer.extractores_descanso].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers in three situations: when the extractores activos [input_boolean.extractores_activos] switch is turned on, when the extractores descanso [timer.extractores_descanso] timer finishes its countdown, or when the modo extractores [input_select.modo_extractores] selection changes.",
|
|
"conditions": "The automation only proceeds if the extractores activos [input_boolean.extractores_activos] is currently in the 'on' state.",
|
|
"action": "First, it sets the fan switches based on the current mode. In 'Extracción' mode, it turns on the extraction fan [switch.alias_aire_extraccion_habitacion_02] and turns off the intake fan [switch.alias_aire_introduccion_habitacion_02]. In 'Introducción' mode, it does the opposite: turns off the extraction fan and turns on the intake fan. In 'Mixto' mode, it turns on the extraction fan, waits 5 seconds, and then turns on the intake fan. After this initial setup, the automation waits 5 minutes, then turns off the extraction fan, waits another 5 seconds, and turns off the intake fan. Finally, it starts the extractores descanso [timer.extractores_descanso] timer."
|
|
},
|
|
"human_like": "Controls a timed cycle for room ventilation fans, turning them on in a specific pattern based on the selected mode, running for 5 minutes, and then starting a rest timer.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "apagar_extractores_manual",
|
|
"result": {
|
|
"structured": "TRIGGER: When extractores activos [input_boolean.extractores_activos] changes to off. CONDITIONS: None. ACTIONS: Turn off alias aire extraccion habitacion 02 [switch.alias_aire_extraccion_habitacion_02] AND Turn off alias aire introduccion habitacion 02 [switch.alias_aire_introduccion_habitacion_02] AND Cancel extractores descanso [timer.extractores_descanso].",
|
|
"natural_language": {
|
|
"trigger": "When the extractores activos [input_boolean.extractores_activos] is turned off.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Turns off both the extraction and introduction air switches for room 02 (alias aire extraccion habitacion 02 [switch.alias_aire_extraccion_habitacion_02] and alias aire introduccion habitacion 02 [switch.alias_aire_introduccion_habitacion_02]) and cancels the extractores descanso [timer.extractores_descanso] timer."
|
|
},
|
|
"human_like": "Turns off the ventilation fans and cancels their rest timer when the 'extractores activos' switch is manually turned off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "guardar_temp_inicial_extractores",
|
|
"result": {
|
|
"structured": "TRIGGER: When extractores activos [input_boolean.extractores_activos] turns on. CONDITIONS: None. ACTIONS: Set the value of temperatura inicial [input_number.temperatura_inicial] to the current numeric value of cfg temperatura habitacion 2 [sensor.cfg_temperatura_habitacion_2].",
|
|
"natural_language": {
|
|
"trigger": "When the extractores activos [input_boolean.extractores_activos] switch is turned on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Saves the current temperature reading from cfg temperatura habitacion 2 [sensor.cfg_temperatura_habitacion_2] by setting the temperatura inicial [input_number.temperatura_inicial] to that value."
|
|
},
|
|
"human_like": "Records the room temperature when the extractor fans are turned on, storing it as a reference starting temperature.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alerta_temp_no_baja",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer extractores descanso [timer.extractores_descanso] finishes. CONDITIONS: extractores activos [input_boolean.extractores_activos] is on AND cfg temperatura habitacion 2 [sensor.cfg_temperatura_habitacion_2] is greater than or equal to temperatura inicial [input_number.temperatura_inicial]. ACTIONS: Set extractores modo alerta [input_text.extractores_modo_alerta] to the current value of modo extractores [input_select.modo_extractores] AND execute script Notifica movil [script.notifica_movil] with a title 'Alerta Extractores' and a message stating the interior temperature has not decreased after 15 minutes of ventilation, including the active mode.",
|
|
"natural_language": {
|
|
"trigger": "When the timer named extractores descanso [timer.extractores_descanso] finishes.",
|
|
"conditions": "The input boolean extractores activos [input_boolean.extractores_activios] must be on, and the current temperature measured by cfg temperatura habitacion 2 [sensor.cfg_temperatura_habitacion_2] must be equal to or higher than the initial temperature stored in temperatura inicial [input_number.temperatura_inicial].",
|
|
"action": "First, the automation saves the current operating mode by writing the value of modo extractores [input_select.modo_extractores] into the text field extractores modo alerta [input_text.extractores_modo_alerta]. Then, it sends a mobile notification via the script Notifica movil [script.notifica_movil] with the title 'Alerta Extractores' and a message warning that the interior temperature has not decreased after 15 minutes of ventilation, mentioning the active mode."
|
|
},
|
|
"human_like": "Sends an alert if the room temperature hasn't dropped after a ventilation cycle, while the extractors were active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "elegir_modo_optimo_extractores",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 07:00:00 OR when Home Assistant starts. CONDITIONS: extractores habilitados [input_boolean.extractores_habilitados] is on. ACTIONS: Set variables: fallos_extraccion = integer value of fallos en modo extraccion [sensor.fallos_en_modo_extraccion] (default 99), fallos_introduccion = integer value of fallos en modo introduccion [sensor.fallos_en_modo_introduccion] (default 99), fallos_mixto = integer value of fallos en modo mixto [sensor.fallos_en_modo_mixto] (default 99). Then, choose an option for modo extractores [input_select.modo_extractores] based on the lowest failure count: If fallos_extraccion is less than or equal to both fallos_introduccion and fallos_mixto, select 'Extracción'. Otherwise, if fallos_introduccion is less than fallos_extraccion and less than or equal to fallos_mixto, select 'Introducción'. Otherwise, if fallos_mixto is less than both fallos_extraccion and fallos_introduccion, select 'Mixto'.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs either at 7:00 AM every day or when Home Assistant starts up.",
|
|
"conditions": "It only proceeds if the extractores habilitados [input_boolean.extractores_habilitados] switch is turned on.",
|
|
"action": "First, it reads the current failure counts from three sensors: fallos en modo extraccion [sensor.fallos_en_modo_extraccion], fallos en modo introduccion [sensor.fallos_en_modo_introduccion], and fallos en modo mixto [sensor.fallos_en_modo_mixto], using a default value of 99 if a sensor is unavailable. It then compares these three numbers. It selects the mode with the lowest failure count for the modo extractores [input_select.modo_extractores] selector. If 'Extracción' has the lowest (or tied lowest) count, it is chosen. If 'Introducción' has a strictly lower count than 'Extracción' and is the lowest or tied with 'Mixto', it is chosen. Finally, if 'Mixto' has a strictly lower count than both other modes, it is chosen."
|
|
},
|
|
"human_like": "At 7 AM or on startup, this automation selects the fan mode (Extraction, Introduction, or Mixed) that has historically had the fewest failures, provided the fan system is enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "extractores_apagan_si_ventilador_techo_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion [input_boolean.ventilador_habitacion] turns on. CONDITIONS: None. ACTIONS: Turn off extractores activos [input_boolean.extractores_activos] AND Turn off alias aire extraccion habitacion 02 [switch.alias_aire_extraccion_habitacion_02] AND Turn off alias aire introduccion habitacion 02 [switch.alias_aire_introduccion_habitacion_02] AND Cancel extractores descanso [timer.extractores_descanso].",
|
|
"natural_language": {
|
|
"trigger": "When the room fan is turned on, as indicated by the ventilador habitacion [input_boolean.ventilador_habitacion] switching to the 'on' state.",
|
|
"conditions": "There are no conditions that need to be met for the actions to run.",
|
|
"action": "Turns off the extractores activos [input_boolean.extractores_activos] flag, turns off the two air extraction and introduction switches (alias aire extraccion habitacion 02 [switch.alias_aire_extraccion_habitacion_02] and alias aire introduccion habitacion 02 [switch.alias_aire_introduccion_habitacion_02]), and cancels the extractores descanso [timer.extractores_descanso] timer."
|
|
},
|
|
"human_like": "Turns off the room's air extraction system and cancels its timer when the ceiling fan is turned on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "extractores_desactivados_por_maestro",
|
|
"result": {
|
|
"structured": "TRIGGER: When extractores habilitados [input_boolean.extractores_habilitados] changes to off. CONDITIONS: None. ACTIONS: Turn off extractores activos [input_boolean.extractores_activos]; Turn off alias aire extraccion habitacion 02 [switch.alias_aire_extraccion_habitacion_02]; Turn off alias aire introduccion habitacion 02 [switch.alias_aire_introduccion_habitacion_02]; Cancel timer extractores descanso [timer.extractores_descanso].",
|
|
"natural_language": {
|
|
"trigger": "When the extractores habilitados [input_boolean.extractores_habilitados] is manually switched off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It turns off the extractores activos [input_boolean.extractores_activos] status, turns off the two ventilation switches (alias aire extraccion habitacion 02 [switch.alias_aire_extraccion_habitacion_02] and alias aire introduccion habitacion 02 [switch.alias_aire_introduccion_habitacion_02]), and cancels the extractores descanso [timer.extractores_descanso] timer."
|
|
},
|
|
"human_like": "Turns off all extraction fans and related timers when the master enable switch is manually disabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "revisar_extractores_al_habilitar",
|
|
"result": {
|
|
"structured": "TRIGGER: When extractores habilitados [input_boolean.extractores_habilitados] turns on. CONDITIONS: ventilador habitacion [input_boolean.ventilador_habitacion] is off AND temperatura exterior [sensor.temperatura_exterior] is less than cfg temperatura habitacion 2 [sensor.cfg_temperatura_habitacion_2]. ACTIONS: Turn on extractores activos [input_boolean.extractores_activos].",
|
|
"natural_language": {
|
|
"trigger": "When the extractores habilitados [input_boolean.extractores_habilitados] switch is turned on.",
|
|
"conditions": "If the ventilador habitacion [input_boolean.ventilador_habitacion] is off, and the current temperatura exterior [sensor.temperatura_exterior] is lower than the configured temperature threshold cfg temperatura habitacion 2 [sensor.cfg_temperatura_habitacion_2].",
|
|
"action": "Activates the extractors by turning on extractores activos [input_boolean.extractores_activos]."
|
|
},
|
|
"human_like": "Automatically activates the extractors when they are enabled, provided the room fan is off and the outside temperature is cooler than the room's target temperature.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "evitar_activacion_extractores_no_permitida",
|
|
"result": {
|
|
"structured": "TRIGGER: When extractores activos [input_boolean.extractores_activos] turns on. CONDITIONS: (extractores habilitados [input_boolean.extractores_habilitados] is off) OR (ventilador habitacion [input_boolean.ventilador_habitacion] is on). ACTIONS: Turn off extractores activos [input_boolean.extractores_activos].",
|
|
"natural_language": {
|
|
"trigger": "When the extractores activos [input_boolean.extractores_activos] switch is turned on.",
|
|
"conditions": "If either the extractores habilitados [input_boolean.extractores_habilitados] switch is off, or the ventilador habitacion [input_boolean.ventilador_habitacion] switch is on.",
|
|
"action": "Immediately turns off the extractores activos [input_boolean.extractores_activos] switch."
|
|
},
|
|
"human_like": "Prevents the extractor fans from being activated if they are not enabled or if the room fan is already running.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VD Ventilador Despacho - alguien regresa",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia [input_boolean.presencia] changes to on. CONDITIONS: None. ACTIONS: Execute script Modo ventilador [script.modo_ventilador] with data: dispositivo = ventilador_despacho, valor = auto.",
|
|
"natural_language": {
|
|
"trigger": "When the presence indicator [input_boolean.presencia] is turned on.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Runs the fan mode script [script.modo_ventilador] for the 'ventilador_despacho' device, setting its mode to 'auto'."
|
|
},
|
|
"human_like": "Sets the office fan to auto mode when someone returns home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VD Encender ventilador despacho",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho [input_boolean.ventilador_despacho] changes state to on. CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_despacho, valor = velocidad 1.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean for the office fan, ventilador despacho [input_boolean.ventilador_despacho], is turned on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the script named Selector ventilador [script.selector_ventilador], passing the parameters 'ventilador_despacho' as the device and 'velocidad 1' as the value."
|
|
},
|
|
"human_like": "Turns on the office fan to speed 1 when its control switch is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VD Apagar ventilador despacho",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho [input_boolean.ventilador_despacho] changes to off. CONDITIONS: None. ACTIONS: Run script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_despacho, valor = Apagar.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean 'ventilador despacho' [input_boolean.ventilador_despacho] is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Executes the script 'Selector ventilador' [script.selector_ventilador], passing the parameters 'ventilador_despacho' for the device and 'Apagar' for the value, which presumably turns off the fan."
|
|
},
|
|
"human_like": "Turns off the office fan when its corresponding input boolean is switched off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_sinergia",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho running [input_boolean.ventilador_despacho_running] changes state. CONDITIONS: None. ACTIONS: Execute script.ventilador_despacho_change.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the input boolean ventilador despacho running [input_boolean.ventilador_despacho_running] changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Runs the script named 'ventilador_despacho_change'."
|
|
},
|
|
"human_like": "Automatically runs a script to control the office fan whenever its running status changes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following entities change state: sensacion termica despacho [sensor.sensacion_termica_despacho], ventilador despacho modo auto [input_select.ventilador_despacho_modo_auto], ventilador margen calor [input_number.ventilador_margen_calor], nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal], ventilador umbral velocidad 1 [input_number.ventilador_umbral_velocidad_1], ventilador umbral velocidad 2 [input_number.ventilador_umbral_velocidad_2], ventilador umbral velocidad 3 [input_number.ventilador_umbral_velocidad_3], ventilador umbral brisa [input_number.ventilador_umbral_brisa]. CONDITIONS: ventilador despacho modo auto [input_select.ventilador_despacho_modo_auto] is in state 'auto'. ACTIONS: Calculate a temperature difference (dif_temp) as (cfg sensacion termica despacho [sensor.cfg_sensacion_termica_despacho] + ventilador margen calor [input_number.ventilador_margen_calor]) - nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]. Then, based on dif_temp and thresholds (u1, u2, u3, ub), choose an action: IF dif_temp <= 0 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'Apagar', call script.selector_ventilador to set ventilador_despacho to 'Apagar'. IF dif_temp > 0 AND dif_temp <= u1 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'velocidad 1', call script.selector_ventilador to set ventilador_despacho to 'velocidad 1'. IF dif_temp > u1 AND dif_temp <= u2 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'velocidad 2', call script.selector_ventilador to set ventilador_despacho to 'velocidad 2'. IF dif_temp > u2 AND dif_temp <= u3 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'velocidad 3', call script.selector_ventilador to set ventilador_despacho to 'velocidad 3'. IF dif_temp > u3 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'brisa', call script.selector_ventilador to set ventilador_despacho to 'brisa'.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered whenever there is a change in the thermal sensation sensor for the office, the auto mode selector, or any of the configurable threshold values for the fan.",
|
|
"conditions": "The automation only runs if the office fan's auto mode [input_select.ventilador_despacho_modo_auto] is set to 'auto'.",
|
|
"action": "It calculates a temperature difference by adding a heat margin to the configured thermal sensation and subtracting the ideal level. Based on this difference and the configured speed thresholds, it selects a fan speed (Off, Speed 1, Speed 2, Speed 3, or Breeze) via a script, but only if the fan's current button panel setting is different from the target speed."
|
|
},
|
|
"human_like": "Automatically adjusts the office fan speed based on how warm it feels, using configurable temperature thresholds to choose the appropriate cooling level.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_timer_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] changes state. CONDITIONS: The new state of ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] is not 'idle' AND is a valid option from its list of options. ACTIONS: Start timer ventilador despacho file timer [timer.ventilador_despacho_file_timer] with a duration based on the selected option: 30 minutes for '1', 1 hour 30 minutes for '2', 6 hours for '3', 9 hours for '4', or 3 minutes 30 seconds for '0'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the selection for the office fan timer, ventilador despacho temporizador [input_select.ventilador_despacho_temporizador], is changed.",
|
|
"conditions": "The new selection must be a valid timer option (not the 'idle' state) from the list of available options for that selector.",
|
|
"action": "Starts the office fan timer, ventilador despacho file timer [timer.ventilador_despacho_file_timer], setting its duration according to the chosen option: 30 minutes for option '1', 1 hour and 30 minutes for '2', 6 hours for '3', 9 hours for '4', or 3 minutes and 30 seconds for '0'."
|
|
},
|
|
"human_like": "Starts a timer for the office fan based on a selected duration from a menu.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_timer_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho file timer [timer.ventilador_despacho_file_timer] becomes idle. CONDITIONS: None. ACTIONS: Set ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] to idle AND run script Selector ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_despacho, modo=manual, valor=Apagar.",
|
|
"natural_language": {
|
|
"trigger": "When the timer for the office fan, ventilador despacho file timer [timer.ventilador_despacho_file_timer], finishes and enters the idle state.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It sets the office fan timer selector, ventilador despacho temporizador [input_select.ventilador_despacho_temporizador], to 'idle', and then runs a script called Selector ventilador [script.selector_ventilador] to manually turn off the office fan."
|
|
},
|
|
"human_like": "Turns off the office fan and resets its timer selector when the fan's timer finishes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Actualizar presencia en despacho",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia zona despacho [binary_sensor.presencia_zona_despacho] changes state AND remains in the new state for 5 seconds. CONDITIONS: control por presencia [input_boolean.control_por_presencia] is on. ACTIONS: IF presencia zona despacho [binary_sensor.presencia_zona_despacho] is on THEN select option '4' on ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] AND call script Modo ventilador [script.modo_ventilador] with parameters dispositivo: ventilador_despacho, valor: auto. IF presencia zona despacho [binary_sensor.presencia_zona_despacho] is off THEN select option '0' on ventilador despacho temporizador [input_select.ventilador_despacho_temporizador].",
|
|
"natural_language": {
|
|
"trigger": "When the motion sensor for the office area, presencia zona despacho [binary_sensor.presencia_zona_despacho], changes its state and remains in that new state for at least five seconds.",
|
|
"conditions": "The automation only runs if the master switch, control por presencia [input_boolean.control_por_presencia], is turned on.",
|
|
"action": "If motion is detected (the sensor is 'on'), it sets the office fan timer, ventilador despacho temporizador [input_select.ventilador_despacho_temporizador], to option '4' and runs the script Modo ventilador [script.modo_ventilador] to set the office fan to auto mode. If no motion is detected (the sensor is 'off'), it sets the office fan timer to option '0'."
|
|
},
|
|
"human_like": "Automatically adjusts the office fan timer and mode based on whether someone is present in the room, but only when the presence control feature is enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG EQ Ventilador Equation - alguien regresa",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia [input_boolean.presencia] turns on. CONDITIONS: verano [input_boolean.verano] is on. ACTIONS: Execute script Modo ventilador [script.modo_ventilador] with data: dispositivo = ventilador_equation, valor = auto.",
|
|
"natural_language": {
|
|
"trigger": "When the presence indicator [input_boolean.presencia] changes to the 'on' state.",
|
|
"conditions": "The summer mode indicator [input_boolean.verano] must be set to 'on'.",
|
|
"action": "Runs the fan mode script [script.modo_ventilador] for the 'ventilador_equation' device, setting its mode to 'auto'."
|
|
},
|
|
"human_like": "When someone returns home during summer, it automatically sets the Equation fan to auto mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG EQ Encender ventilador Equation desde input_boolean",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador equation [input_boolean.ventilador_equation] turns on. CONDITIONS: verano [input_boolean.verano] is on. ACTIONS: Execute script Mando ventilador equation [script.mando_ventilador_equation] with data valor: speed AND Turn on ventilador equation running [input_boolean.ventilador_equation_running].",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean for the Equation fan, ventilador equation [input_boolean.ventilador_equation], is turned on.",
|
|
"conditions": "The automation only runs if the summer mode, verano [input_boolean.verano], is active and set to on.",
|
|
"action": "It runs the script Mando ventilador equation [script.mando_ventilador_equation] with a specific speed value, and then turns on the status indicator ventilador equation running [input_boolean.ventilador_equation_running]."
|
|
},
|
|
"human_like": "Turns on the Equation fan at a set speed when summer mode is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG EQ Apagar ventilador Equation desde input_boolean",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador equation [input_boolean.ventilador_equation] changes to off. CONDITIONS: None. ACTIONS: Execute script Mando ventilador equation [script.mando_ventilador_equation] with parameter valor = Apagar, execute script Modo ventilador [script.modo_ventilador] with parameters dispositivo = ventilador_equation and valor = manual, and turn off ventilador equation running [input_boolean.ventilador_equation_running].",
|
|
"natural_language": {
|
|
"trigger": "When the state of the 'ventilador equation' [input_boolean.ventilador_equation] changes to off.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "It runs the 'Mando ventilador equation' [script.mando_ventilador_equation] script with the command 'Apagar', then runs the 'Modo ventilador' [script.modo_ventilador] script to set the 'ventilador_equation' device to manual mode, and finally turns off the 'ventilador equation running' [input_boolean.ventilador_equation_running] indicator."
|
|
},
|
|
"human_like": "Turns off the Equation fan and sets its mode to manual when the corresponding control switch is turned off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG EQ Oscilación ventilador Equation",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador equation oscilacion [input_boolean.ventilador_equation_oscilacion] changes state. CONDITIONS: ventilador equation [input_boolean.ventilador_equation] is on AND verano [input_boolean.verano] is on. ACTIONS: Execute script Mando ventilador equation [script.mando_ventilador_equation] with parameter valor set to oscilacion.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the ventilador equation oscilacion [input_boolean.ventilador_equation_oscilacion] changes.",
|
|
"conditions": "The ventilador equation [input_boolean.ventilador_equation] must be turned on, and the verano [input_boolean.verano] mode must also be active.",
|
|
"action": "Runs the script Mando ventilador equation [script.mando_ventilador_equation] to set the oscillation mode."
|
|
},
|
|
"human_like": "Turns on the oscillation for the Equation fan when both the fan and summer mode are active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_equation_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following entities change state: sensacion termica equation [sensor.sensacion_termica_equation] OR ventilador equation modo auto [input_select.ventilador_equation_modo_auto] OR ventilador margen calor [input_number.ventilador_margen_calor] OR nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]. CONDITIONS: ventilador equation modo auto [input_select.ventilador_equation_modo_auto] is auto AND verano [input_boolean.verano] is on. ACTIONS: Calculate variable dif_temp as (sensacion termica equation [sensor.sensacion_termica_equation] + ventilador margen calor [input_number.ventilador_margen_calor]) - nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]. IF dif_temp <= 0.0 THEN turn off ventilador equation [input_boolean.ventilador_equation]. IF dif_temp > 0.2 THEN turn on ventilador equation [input_boolean.ventilador_equation].",
|
|
"natural_language": {
|
|
"trigger": "Whenever there is a change in the thermal sensation reading, the auto mode setting for the fan, the heat margin value, or the ideal thermal sensation level.",
|
|
"conditions": "The fan's auto mode must be set to 'auto', and the summer mode must be active.",
|
|
"action": "First, a temperature difference is calculated by adding the current thermal sensation to the configured heat margin, then subtracting the ideal thermal sensation level. If this difference is zero or negative, the fan is turned off. If the difference is greater than 0.2, the fan is turned on."
|
|
},
|
|
"human_like": "Automatically turns the Equation fan on or off based on whether the room feels too warm compared to a desired comfort level, but only during summer and when auto mode is enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "Actualizar presencia en living 1",
|
|
"result": {
|
|
"structured": "TRIGGER: When ubicacion ramon [input_select.ubicacion_ramon] changes state OR When ubicacion pau [input_select.ubicacion_pau] changes state. CONDITIONS: verano [input_boolean.verano] is on AND (('living_1' is in the list of states of the entities in group ubicacion personas [group.ubicacion_personas]) OR ('living_2' is in the list of states of the entities in group ubicacion personas [group.ubicacion_personas])). ACTIONS: Call script Modo ventilador [script.modo_ventilador] with parameters: dispositivo = ventilador_equation, valor = auto.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the location selection for either 'ubicacion ramon' [input_select.ubicacion_ramon] or 'ubicacion pau' [input_select.ubicacion_pau] changes.",
|
|
"conditions": "The 'verano' [input_boolean.verano] mode must be turned on. Additionally, at least one person's tracked location (from the group 'ubicacion personas' [group.ubicacion_personas]) must be set to either 'living_1' or 'living_2'.",
|
|
"action": "Runs the 'Modo ventilador' [script.modo_ventilador] script to set the 'ventilador_equation' device to 'auto' mode."
|
|
},
|
|
"human_like": "When summer mode is on and someone is in the living room, it automatically sets the Equation fan to auto mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VH Ventilador habitacion - alguien regresa",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia [input_boolean.presencia] changes to on. CONDITIONS: None. ACTIONS: Execute script Modo ventilador [script.modo_ventilador] with data: dispositivo = ventilador_habitacion, valor = auto.",
|
|
"natural_language": {
|
|
"trigger": "When the presence indicator [input_boolean.presencia] is turned on.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Runs the fan mode script [script.modo_ventilador] for the device named 'ventilador_habitacion', setting its value to 'auto'."
|
|
},
|
|
"human_like": "Automatically sets the bedroom fan to auto mode when someone returns home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VH Encender ventilador habitacion",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion [input_boolean.ventilador_habitacion] turns on. CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_habitacion, valor = velocidad 1.",
|
|
"natural_language": {
|
|
"trigger": "When the ventilador habitacion [input_boolean.ventilador_habitacion] is turned on.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Runs the script Selector ventilador [script.selector_ventilador] with the parameters set to device 'ventilador_habitacion' and value 'velocidad 1'."
|
|
},
|
|
"human_like": "Turns on the room fan at speed 1 when the fan switch is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VH Apagar ventilador habitacion",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion [input_boolean.ventilador_habitacion] changes to off. CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_habitacion, valor = Apagar.",
|
|
"natural_language": {
|
|
"trigger": "When the ventilador habitacion [input_boolean.ventilador_habitacion] is turned off.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Runs the script Selector ventilador [script.selector_ventilador], passing the parameters 'ventilador_habitacion' for the device and 'Apagar' for the value."
|
|
},
|
|
"human_like": "Turns off the room fan when its control switch is set to off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_habitacion_sinergia",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion running [input_boolean.ventilador_habitacion_running] changes state. CONDITIONS: None. ACTIONS: Execute script ventilador_habitacion_change.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the input boolean 'ventilador habitacion running' [input_boolean.ventilador_habitacion_running] changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the script named 'ventilador_habitacion_change'."
|
|
},
|
|
"human_like": "Runs a script to control the room fan whenever the fan's running status changes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_habitacion_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following entities change state: sensacion termica habitacion [sensor.sensacion_termica_habitacion], ventilador habitacion modo auto [input_select.ventilador_habitacion_modo_auto], ventilador margen calor [input_number.ventilador_margen_calor], nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal], ventilador umbral velocidad 1 [input_number.ventilador_umbral_velocidad_1], ventilador umbral velocidad 2 [input_number.ventilador_umbral_velocidad_2], ventilador umbral velocidad 3 [input_number.ventilador_umbral_velocidad_3], ventilador umbral brisa [input_number.ventilador_umbral_brisa]. CONDITIONS: ventilador habitacion modo auto [input_select.ventilador_habitacion_modo_auto] is set to 'auto'. ACTIONS: Calculate the temperature difference (dif_temp) as (cfg sensacion termica habitacion 2 [sensor.cfg_sensacion_termica_habitacion_2] + ventilador margen calor [input_number.ventilador_margen_calor]) - nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]. Then, based on dif_temp and the thresholds (u1, u2, u3, ub), choose an action: IF dif_temp <= 0 AND ventilador habitacion botonera [input_select.ventilador_habitacion_botonera] is not 'Apagar', THEN call script.selector_ventilador to set ventilador_habitacion to 'Apagar'. IF dif_temp > 0 AND dif_temp <= u1 AND ventilador habitacion botonera [input_select.ventilador_habitacion_botonera] is not 'velocidad 1', THEN call script.selector_ventilador to set ventilador_habitacion to 'velocidad 1'. IF dif_temp > u1 AND dif_temp <= u2 AND ventilador habitacion botonera [input_select.ventilador_habitacion_botonera] is not 'velocidad 2', THEN call script.selector_ventilador to set ventilador_habitacion to 'velocidad 2'. IF dif_temp > u2 AND dif_temp <= u3 AND ventilador habitacion botonera [input_select.ventilador_habitacion_botonera] is not 'velocidad 3', THEN call script.selector_ventilador to set ventilador_habitacion to 'velocidad 3'. IF dif_temp > u3 AND ventilador habitacion botonera [input_select.ventilador_habitacion_botonera] is not 'brisa', THEN call script.selector_ventilador to set ventilador_habitacion to 'brisa'.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs whenever there is a change in the thermal sensation sensor for the room, the auto mode selector for the room fan, or any of the configurable numeric thresholds for the fan's operation.",
|
|
"conditions": "The automation only proceeds if the room fan's auto mode selector is set to 'auto'.",
|
|
"action": "First, it calculates a temperature difference. This difference is based on the adjusted thermal sensation (which includes a comfort margin) compared to an ideal level. Depending on how large this difference is, the automation selects a fan speed. If the difference is zero or negative, it turns the fan off. For small positive differences, it sets the fan to speed 1. As the difference increases, it steps up to speed 2, then speed 3, and finally to a 'breeze' mode for the highest differences. Before changing the speed, it checks that the fan's current manual control setting is not already on the target speed to avoid unnecessary changes."
|
|
},
|
|
"human_like": "Automatically adjusts the bedroom fan speed based on how hot it feels, using configurable temperature thresholds to choose between off, three speeds, and a breeze mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_habitacion_timer_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion temporizador [input_select.ventilador_habitacion_temporizador] changes state. CONDITIONS: The new state of ventilador habitacion temporizador [input_select.ventilador_habitacion_temporizador] is not 'idle' AND is a valid option from its list of options. ACTIONS: Start timer ventilador habitacion file timer [timer.ventilador_habitacion_file_timer] with a duration based on the selected option: 30 minutes for option '1', 90 minutes for option '2', 6 hours for option '3', 9 hours for option '4', or 3 minutes 30 seconds for option '0'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the selection for ventilador habitacion temporizador [input_select.ventilador_habitacion_temporizador] changes.",
|
|
"conditions": "The new selection must not be 'idle' and must be one of the valid options available for that selector.",
|
|
"action": "Starts the timer ventilador habitacion file timer [timer.ventilador_habitacion_file_timer] for a specific duration depending on the selected value: 30 minutes for '1', 1 hour and 30 minutes for '2', 6 hours for '3', 9 hours for '4', or 3 minutes and 30 seconds for '0'."
|
|
},
|
|
"human_like": "Starts a fan timer for a specific duration when a timer option is selected from a list.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_habitacion_timer_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion file timer [timer.ventilador_habitacion_file_timer] becomes idle. CONDITIONS: None. ACTIONS: Set ventilador habitacion temporizador [input_select.ventilador_habitacion_temporizador] to 'idle' AND Execute script Selector ventilador [script.selector_ventilador] with parameters dispositivo='ventilador_habitacion', modo='manual', valor='Apagar'.",
|
|
"natural_language": {
|
|
"trigger": "When the timer for the room fan, ventilador habitacion file timer [timer.ventilador_habitacion_file_timer], finishes and enters the idle state.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It sets the fan timer selector, ventilador habitacion temporizador [input_select.ventilador_habitacion_temporizador], to the 'idle' option, and then runs a script called Selector ventilador [script.selector_ventilador] to manually turn off the room fan."
|
|
},
|
|
"human_like": "Turns off the room fan and resets its timer selector when the fan's countdown timer finishes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Actualizar presencia en habitacion",
|
|
"result": {
|
|
"structured": "TRIGGER: When ubicacion ramon [input_select.ubicacion_ramon] changes state OR When ubicacion pau [input_select.ubicacion_pau] changes state. CONDITIONS: None. ACTIONS: Choose one of two sequences based on a condition. Condition 1: IF 'habitacion_2' is in the list of states of the group ubicacion personas [group.ubicacion_personas] THEN set ventilador habitacion temporizador [input_select.ventilador_habitacion_temporizador] to option '4' AND execute script Modo ventilador [script.modo_ventilador] with parameters dispositivo=ventilador_habitacion and valor=auto. Condition 2: IF 'habitacion_2' is NOT in the list of states of the group ubicacion personas [group.ubicacion_personas] THEN set ventilador habitacion temporizador [input_select.ventilador_habitacion_temporizador] to option '0'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the location of either 'ubicacion ramon' [input_select.ubicacion_ramon] or 'ubicacion pau' [input_select.ubicacion_pau] changes.",
|
|
"conditions": "There are no separate conditions that must be met for the automation to run; the actions are executed directly based on the trigger.",
|
|
"action": "The automation checks the current states of all members in the 'ubicacion personas' [group.ubicacion_personas] group. If the state 'habitacion_2' is found among them, it sets the 'ventilador habitacion temporizador' [input_select.ventilador_habitacion_temporizador] to option '4' and then runs the 'Modo ventilador' [script.modo_ventilador] script with the fan device set to 'ventilador_habitacion' and the mode to 'auto'. If the state 'habitacion_2' is not found in the group, it simply sets the timer for the fan to option '0'."
|
|
},
|
|
"human_like": "Adjusts the room fan settings based on whether someone is in 'habitacion_2', updating whenever someone's location changes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "sync_boolean_to_climate_ventilador_habitacion_01",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion 01 running [input_boolean.ventilador_habitacion_01_running] changes state. CONDITIONS: None. ACTIONS: If ventilador habitacion 01 running [input_boolean.ventilador_habitacion_01_running] is on, turn on ventilador habitacion 01 [climate.ventilador_habitacion_01]. If ventilador habitacion 01 running [input_boolean.ventilador_habitacion_01_running] is off, turn off ventilador habitacion 01 [climate.ventilador_habitacion_01].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the input boolean ventilador habitacion 01 running [input_boolean.ventilador_habitacion_01_running] changes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Depending on the new state of the boolean, it will either turn on or off the climate device. If the boolean is turned on, it turns on the ventilador habitacion 01 [climate.ventilador_habitacion_01]. If the boolean is turned off, it turns off the ventilador habitacion 01 [climate.ventilador_habitacion_01]."
|
|
},
|
|
"human_like": "This automation synchronizes the state of a fan control switch with the actual fan climate device, turning the fan on or off to match the switch.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "sync_climate_to_boolean_ventilador_habitacion",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion 01 [climate.ventilador_habitacion_01] changes state. CONDITIONS: None. ACTIONS: If ventilador habitacion 01 [climate.ventilador_habitacion_01] is in cool state, then turn on ventilador habitacion 01 running [input_boolean.ventilador_habitacion_01_running]. If ventilador habitacion 01 [climate.ventilador_habitacion_01] is in off state, then turn off ventilador habitacion 01 running [input_boolean.ventilador_habitacion_01_running].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the climate device ventilador habitacion 01 [climate.ventilador_habitacion_01] changes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Depending on the new state of the climate device: if it is set to 'cool', it turns on the boolean switch ventilador habitacion 01 running [input_boolean.ventilador_habitacion_01_running]. If it is set to 'off', it turns off the same boolean switch."
|
|
},
|
|
"human_like": "Keeps a boolean switch in sync with the operating mode of a fan, turning it on when cooling is active and off when the fan is off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventiladores_por_calor_exterior",
|
|
"result": {
|
|
"structured": "TRIGGER: When temperatura interior [sensor.temperatura_interior] changes OR when nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal] changes. CONDITIONS: (temperatura interior [sensor.temperatura_interior] is greater than nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]) AND (person ramon [person.ramon] is home). ACTIONS: Choose based on time of day. If time is between 07:00:00 and 23:00:00 AND ventilador despacho [input_boolean.ventilador_despacho] is off, then run script Selector ventilador [script.selector_ventilador] with parameters dispositivo: ventilador_despacho, valor: velocidad 1. Otherwise, if time is before 07:00:00 OR after 23:00:00 AND ventilador habitacion [input_boolean.ventilador_habitacion] is off, then run script Selector ventilador [script.selector_ventilador] with parameters dispositivo: ventilador_habitacion, valor: velocidad 1.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the interior temperature sensor [sensor.temperatura_interior] changes, or when the ideal thermal comfort level [input_number.nivel_sensacion_termica_ideal] is adjusted.",
|
|
"conditions": "It checks if the current interior temperature is higher than the set ideal comfort level, and also verifies that person ramon [person.ramon] is at home.",
|
|
"action": "Depending on the time of day, it will turn on a fan. During the day (between 7 AM and 11 PM), if the office fan [input_boolean.ventilador_despacho] is off, it activates the office fan at speed 1. At night (before 7 AM or after 11 PM), if the bedroom fan [input_boolean.ventilador_habitacion] is off, it activates the bedroom fan at speed 1. The fan is activated by running a script [script.selector_ventilador] with the appropriate device and speed setting."
|
|
},
|
|
"human_like": "Turns on a fan in the office or bedroom when it's too warm inside and someone is home, choosing the fan based on the time of day.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "encender_ventilador_living_1_verano",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia zona living 1 [binary_sensor.presencia_zona_living_1] becomes on and remains for 20 seconds. CONDITIONS: control por presencia [input_boolean.control_por_presencia] is on AND my box 2 [media_player.my_box_2] is NOT on. ACTIONS: Turn on alias ventilador living 1 [switch.alias_ventilador_living_1].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the living area for at least 20 seconds, as indicated by the sensor presencia zona living 1 [binary_sensor.presencia_zona_living_1].",
|
|
"conditions": "The automation requires that the presence control feature is enabled, meaning control por presencia [input_boolean.control_por_presencia] is on. It also checks that the media player my box 2 [media_player.my_box_2] is not currently playing or active.",
|
|
"action": "Switches on the living room fan, alias ventilador living 1 [switch.alias_ventilador_living_1]."
|
|
},
|
|
"human_like": "Turns on the living room fan when someone is present and the TV is off, but only if the presence control feature is enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "apagar_ventilador_living_1_sin_presencia",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia zona living 1 [binary_sensor.presencia_zona_living_1] remains off for 3 minutes. CONDITIONS: control por presencia [input_boolean.control_por_presencia] is on AND alias ventilador living 1 [switch.alias_ventilador_living_1] is on. ACTIONS: Turn off alias ventilador living 1 [switch.alias_ventilador_living_1].",
|
|
"natural_language": {
|
|
"trigger": "When the presence sensor for the living area 1 [binary_sensor.presencia_zona_living_1] detects no presence for a continuous period of three minutes.",
|
|
"conditions": "If the master control for presence-based automations [input_boolean.control_por_presencia] is enabled, and the living area 1 fan [switch.alias_ventilador_living_1] is currently switched on.",
|
|
"action": "Turns off the living area 1 fan [switch.alias_ventilador_living_1]."
|
|
},
|
|
"human_like": "Automatically turns off the living room fan when no one has been detected in the area for three minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "sync_boolean_ventilador_living_1",
|
|
"result": {
|
|
"structured": "TRIGGER: When alias ventilador living 1 [switch.alias_ventilador_living_1] changes state. CONDITIONS: None. ACTIONS: If alias ventilador living 1 [switch.alias_ventilador_living_1] is on, turn on ventilador living 1 running [input_boolean.ventilador_living_1_running]. If alias ventilador living 1 [switch.alias_ventilador_living_1] is off, turn off ventilador living 1 running [input_boolean.ventilador_living_1_running].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the switch alias ventilador living 1 [switch.alias_ventilador_living_1] changes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "If the switch is turned on, the automation turns on the input boolean ventilador living 1 running [input_boolean.ventilador_living_1_running]. If the switch is turned off, it turns off the same input boolean."
|
|
},
|
|
"human_like": "Keeps a helper switch synchronized with the actual fan switch, so its on/off state always matches.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "pkg_th_apagar_ventiladores_fin_verano",
|
|
"result": {
|
|
"structured": "TRIGGER: When verano [input_boolean.verano] turns off. CONDITIONS: None. ACTIONS: Turn off ventilador equation [input_boolean.ventilador_equation], wait 1 second, turn off alias ventilador living 1 [switch.alias_ventilador_living_1], wait 1 second, run script Selector ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_habitacion and valor=Apagar, wait 1 second, run script Selector ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_despacho and valor=Apagar.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean verano [input_boolean.verano] is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It turns off the ventilador equation [input_boolean.ventilador_equation], waits for one second, then turns off the alias ventilador living 1 [switch.alias_ventilador_living_1]. After another one-second delay, it runs the Selector ventilador [script.selector_ventilador] script to turn off a device named 'ventilador_habitacion'. Finally, after a final one-second delay, it runs the same script again to turn off a device named 'ventilador_despacho'."
|
|
},
|
|
"human_like": "Turns off all the fans when the 'summer mode' is deactivated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "apagado_ventiladores_por_templado",
|
|
"result": {
|
|
"structured": "TRIGGER: When temperatura interior [sensor.temperatura_interior] changes state OR when nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal] changes state. CONDITIONS: temperatura interior [sensor.temperatura_interior] is less than or equal to nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal] AND person ramon [person.ramon] is home. ACTIONS: If ventilador despacho [input_boolean.ventilador_despacho] is on, then run script Selector ventilador [script.selector_ventilador] with data {dispositivo: ventilador_despacho, valor: Apagar}. If ventilador habitacion [input_boolean.ventilador_habitacion] is on, then run script Selector ventilador [script.selector_ventilador] with data {dispositivo: ventilador_habitacion, valor: Apagar}.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered whenever the interior temperature sensor [sensor.temperatura_interior] or the ideal thermal sensation level [input_number.nivel_sensacion_termica_ideal] changes its value.",
|
|
"conditions": "Two conditions must be met: first, the current interior temperature must be less than or equal to the set ideal thermal sensation level. Second, the person Ramon [person.ramon] must be at home.",
|
|
"action": "The automation checks the state of two fans. If the office fan [input_boolean.ventilador_despacho] is on, it runs a script to turn it off. Similarly, if the bedroom fan [input_boolean.ventilador_habitacion] is on, it runs the same script to turn it off."
|
|
},
|
|
"human_like": "Turns off the fans when the house is cool enough and Ramon is home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vigilancia_grp_luces_habitacion",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 6 minutes (time pattern). CONDITIONS: modo ahorro [input_boolean.modo_ahorro] is on AND grp luces habitacion [switch.grp_luces_habitacion] is on AND sun is between sunrise and sunset. ACTIONS: Execute script.secuencia_by_area with data: my_area = habitacion_1, my_excludes = sonoff_trvzb, my_estado = turn_off.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every 6 minutes.",
|
|
"conditions": "The automation only runs if the modo ahorro [input_boolean.modo_ahorro] is turned on, the grp luces habitacion [switch.grp_luces_habitacion] is on, and it is currently daytime (between sunrise and sunset).",
|
|
"action": "It runs a script called 'secuencia_by_area' for the area 'habitacion_1', excluding the device 'sonoff_trvzb', to turn devices off."
|
|
},
|
|
"human_like": "Turns off plugs in the bedroom during the day to save energy, but only when energy saving mode is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vigilancia_grp_luces_comedor",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 5 minutes (time pattern). CONDITIONS: modo ahorro [input_boolean.modo_ahorro] is on AND sun is above the horizon (after sunrise and before sunset). ACTIONS: Execute script.secuencia_by_label with parameters: label 'nocturno', excludes 'sonoff_trvzb', action 'turn_off'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every 5 minutes.",
|
|
"conditions": "The automation checks if the energy-saving mode, modo ahorro [input_boolean.modo_ahorro], is turned on, and if it is currently daytime (after sunrise and before sunset).",
|
|
"action": "It runs a script called 'secuencia_by_label' with the label 'nocturno', excluding devices with the identifier 'sonoff_trvzb', and instructing it to turn them off."
|
|
},
|
|
"human_like": "Turns off specific 'nocturno' labeled plugs during the day if energy-saving mode is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vigilancia_ventilador_por_co2",
|
|
"result": {
|
|
"structured": "TRIGGER: When zigbee heiman hs3aq 01 co2 [sensor.zigbee_heiman_hs3aq_01_co2] remains above 1000 for 2 minutes OR When zigbee heiman hs3aq 01 co2 [sensor.zigbee_heiman_hs3aq_01_co2] remains below 750 for 2 minutes OR Every 4 minutes (time pattern). CONDITIONS: None. ACTIONS: Choose based on condition: If zigbee heiman hs3aq 01 co2 [sensor.zigbee_heiman_hs3aq_01_co2] is above 1000, then turn on alerta co2 [input_boolean.alerta_co2]. If zigbee heiman hs3aq 01 co2 [sensor.zigbee_heiman_hs3aq_01_co2] is below 750, then turn off alerta co2 [input_boolean.alerta_co2].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when the CO2 sensor [sensor.zigbee_heiman_hs3aq_01_co2] reads above 1000 ppm for at least two minutes, when it reads below 750 ppm for at least two minutes, or on a scheduled basis every four minutes.",
|
|
"conditions": "There are no additional conditions that must be met for the automation to run.",
|
|
"action": "When triggered, the automation checks the current CO2 level. If the level is above 1000 ppm, it turns on the CO2 alert [input_boolean.alerta_co2]. If the level is below 750 ppm, it turns off the CO2 alert [input_boolean.alerta_co2]. If triggered by the timer, it performs the same check and updates the alert accordingly."
|
|
},
|
|
"human_like": "Automatically turns a CO2 alert on or off based on air quality readings, checking the levels every four minutes or when they cross specific thresholds.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735500800353'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an NFC tag with ID secret nfc_tag_ha_37 is scanned OR when the voice command 'musica' is spoken. CONDITIONS: None. ACTIONS: Turn on the remote device Device 4212ed74edbdc7e8bd7b75f3ae1a9c4c [device_id:4212ed74edbdc7e8bd7b75f3ae1a9c4c], wait for 5 seconds, then play the YouTube playlist 'https://www.youtube.com/watch?v=aelpqWEBHR4&list=PL9cZWaO9mg-Re-NKyuQA25s7igEbNZd8-' on my box 2 [media_player.my_box_2].",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered either by scanning a specific NFC tag with the ID 'secret nfc_tag_ha_37', or by using a voice assistant to say the command 'musica'.",
|
|
"conditions": "There are no conditions that must be met for the automation to proceed.",
|
|
"action": "First, it turns on a remote device (Device 4212ed74edbdc7e8bd7b75f3ae1a9c4c). After a 5-second delay, it starts playing a specific YouTube playlist on the media player called 'my box 2'."
|
|
},
|
|
"human_like": "Starts a YouTube playlist on the TV when you scan an NFC tag or say 'musica'.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "WD Watchdog Zigbee Devices Offline",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following sensors becomes unavailable for 1 minute: zigbee heiman hs3aq 01 co2 [sensor.zigbee_heiman_hs3aq_01_co2] OR zigbee sonoff snzb02 01 temperature [sensor.zigbee_sonoff_snzb02_01_temperature] OR zigbee sonoff trvzb 01 temperature [sensor.zigbee_sonoff_trvzb_01_temperature] OR zigbee nous enchufe 01 power [sensor.zigbee_nous_enchufe_01_power] OR zigbee nous enchufe 02 power [sensor.zigbee_nous_enchufe_02_power] OR zigbee nous enchufe 03 power [sensor.zigbee_nous_enchufe_03_power] OR zigbee nous enchufe 04 power [sensor.zigbee_nous_enchufe_04_power]. CONDITIONS: None. ACTIONS: Send a Telegram notification via Notifica telegram [script.notifica_telegram] with a message indicating the unavailable device, and write a warning log entry with the same information.",
|
|
"natural_language": {
|
|
"trigger": "If any of the listed Zigbee sensors, such as the CO2 sensor, temperature sensors, or power sensors, changes its state to 'unavailable' and remains in that state for at least one minute.",
|
|
"conditions": "There are no additional conditions that need to be met.",
|
|
"action": "The automation sends a notification via the Telegram script, Notifica telegram [script.notifica_telegram], containing the entity ID of the device that became unavailable. It also logs a warning message to the system log with the same details."
|
|
},
|
|
"human_like": "Monitors a set of Zigbee devices and sends an alert if any of them goes offline for more than a minute.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Sincronizar válvulas con caldera",
|
|
"result": {
|
|
"structured": "TRIGGER: When alias caldera [switch.alias_caldera] changes state. CONDITIONS: None. ACTIONS: If alias caldera [switch.alias_caldera] is on, set valvula salon [climate.valvula_salon] and valvula habitacion [climate.valvula_habitacion] to heat mode. If alias caldera [switch.alias_caldera] is off, set valvula salon [climate.valvula_salon] and valvula habitacion [climate.valvula_habitacion] to off mode.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the alias caldera [switch.alias_caldera] changes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Depending on the state of the alias caldera [switch.alias_caldera], the automation will set the HVAC mode for the valvula salon [climate.valvula_salon] and valvula habitacion [climate.valvula_habitacion]. If the alias caldera is turned on, it sets both valves to heat mode. If the alias caldera is turned off, it sets both valves to off mode."
|
|
},
|
|
"human_like": "This automation synchronizes the heating valves in the living room and bedroom with the boiler's power switch, turning the valves on or off accordingly.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_calefaccion_toggle",
|
|
"result": {
|
|
"structured": "TRIGGER: When the state of calefaccion boolean [input_boolean.calefaccion_boolean] changes. CONDITIONS: None. ACTIONS: Set the temperature of termostato virtual [climate.termostato_virtual] to the current value of temperatura exterior [sensor.temperatura_exterior] AND set the HVAC mode of termostato virtual [climate.termostato_virtual] to 'heat' if calefaccion boolean [input_boolean.calefaccion_boolean] is 'on', otherwise set it to 'off'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the input boolean named calefaccion boolean [input_boolean.calefaccion_boolean] changes.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "First, it sets the target temperature of the virtual thermostat, termostato virtual [climate.termostato_virtual], to match the current outside temperature reported by temperatura exterior [sensor.temperatura_exterior]. Then, it sets the thermostat's heating mode: it turns heating on ('heat' mode) if the calefaccion boolean is on, or turns heating off ('off' mode) if the boolean is off."
|
|
},
|
|
"human_like": "Toggles the virtual thermostat's heating based on a switch, and sets its target temperature to the current outside temperature.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_termostato_virtual_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When termostato virtual [climate.termostato_virtual] changes state to off. CONDITIONS: None. ACTIONS: Set the HVAC mode of all entities in the group lista trvs [group.lista_trvs] to auto.",
|
|
"natural_language": {
|
|
"trigger": "When the termostato virtual [climate.termostato_virtual] is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sets all the thermostatic radiator valves (TRVs) in the group lista trvs [group.lista_trvs] to auto mode."
|
|
},
|
|
"human_like": "Turns all the radiator valves to auto mode when the virtual thermostat is switched off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "bloquear_puerta_principal_con_switch",
|
|
"result": {
|
|
"structured": "TRIGGER: When bloquear puerta principal [input_boolean.bloquear_puerta_principal] turns on. CONDITIONS: puerta principal 2 [lock.puerta_principal_2] is unlocked. ACTIONS: Lock puerta principal 2 [lock.puerta_principal_2], wait for 1 second, then turn off bloquear puerta principal [input_boolean.bloquear_puerta_principal].",
|
|
"natural_language": {
|
|
"trigger": "When the switch bloquear puerta principal [input_boolean.bloquear_puerta_principal] is turned on.",
|
|
"conditions": "The lock puerta principal 2 [lock.puerta_principal_2] must be unlocked.",
|
|
"action": "Locks the puerta principal 2 [lock.puerta_principal_2], waits for one second, and then turns the bloquear puerta principal [input_boolean.bloquear_puerta_principal] switch back off."
|
|
},
|
|
"human_like": "Locks the main door when a switch is activated, and automatically resets the switch afterwards.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "desbloquear_puerta_principal_con_switch",
|
|
"result": {
|
|
"structured": "TRIGGER: When desbloquear puerta principal [input_boolean.desbloquear_puerta_principal] turns on. CONDITIONS: puerta principal 2 [lock.puerta_principal_2] is locked. ACTIONS: Unlock puerta principal 2 [lock.puerta_principal_2], wait 1 second, then turn off desbloquear puerta principal [input_boolean.desbloquear_puerta_principal].",
|
|
"natural_language": {
|
|
"trigger": "When the switch desbloquear puerta principal [input_boolean.desbloquear_puerta_principal] is turned on.",
|
|
"conditions": "The lock puerta principal 2 [lock.puerta_principal_2] must be in the locked state.",
|
|
"action": "Unlocks the lock puerta principal 2 [lock.puerta_principal_2], waits for one second, and then turns the switch desbloquear puerta principal [input_boolean.desbloquear_puerta_principal] back off."
|
|
},
|
|
"human_like": "Unlocks the main door when a switch is activated, then automatically resets the switch.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "abrir_puerta_principal_con_switch",
|
|
"result": {
|
|
"structured": "TRIGGER: When abrir puerta principal [input_boolean.abrir_puerta_principal] turns on. CONDITIONS: puerta principal 2 [lock.puerta_principal_2] is NOT unavailable. ACTIONS: Choose: If puerta principal 2 [lock.puerta_principal_2] is locked, then unlock it and wait 2 seconds. Then, open puerta principal 2 [lock.puerta_principal_2]. Wait 1 second. Turn off abrir puerta principal [input_boolean.abrir_puerta_principal]. Wait 30 seconds. Then, if sun [sun.sun] is below the horizon AND puerta principal door 2 [binary_sensor.puerta_principal_door_2] is closed (off) AND puerta principal 2 [lock.puerta_principal_2] is unlocked, lock puerta principal 2 [lock.puerta_principal_2].",
|
|
"natural_language": {
|
|
"trigger": "When the switch abrir puerta principal [input_boolean.abrir_puerta_principal] is turned on.",
|
|
"conditions": "The lock puerta principal 2 [lock.puerta_principal_2] must be available (not reporting as unavailable).",
|
|
"action": "First, it checks if the lock is currently locked. If it is, the automation unlocks it and waits for two seconds. Then, it opens the lock. After a one-second delay, it turns the switch abrir puerta principal [input_boolean.abrir_puerta_principal] back off. It then waits for thirty seconds. Finally, if it is nighttime (the sun [sun.sun] is below the horizon), the door sensor puerta principal door 2 [binary_sensor.puerta_principal_door_2] reports the door is closed, and the lock is unlocked, the automation locks the lock."
|
|
},
|
|
"human_like": "Opens the main door when a switch is activated, and then automatically locks it again after a short delay if it's nighttime and the door is closed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'[Presencia] Activar si alguien llega a casa'",
|
|
"result": {
|
|
"structured": "TRIGGER: When any person in the group all persons [group.all_persons] changes state to home. CONDITIONS: None. ACTIONS: Turn on presencia [input_boolean.presencia].",
|
|
"natural_language": {
|
|
"trigger": "When any person tracked by the system arrives home, as indicated by the group all persons [group.all_persons] changing its state to 'home'.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sets the presence indicator to active by turning on the input boolean presencia [input_boolean.presencia]."
|
|
},
|
|
"human_like": "Turns on a presence indicator whenever someone arrives home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'[Presencia] Desactivar si todos se van (con FOR)'",
|
|
"result": {
|
|
"structured": "TRIGGER: When all persons [group.all_persons] remains not_home for 1 minute. CONDITIONS: None. ACTIONS: Turn off presencia [input_boolean.presencia].",
|
|
"natural_language": {
|
|
"trigger": "When the group tracking all persons [group.all_persons] has been in the 'not_home' state for at least one minute.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Turns off the presence indicator by turning off presencia [input_boolean.presencia]."
|
|
},
|
|
"human_like": "Turns off the presence indicator when everyone has been away from home for one minute.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'[Presencia] Sincronizar al iniciar Home Assistant'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: If all persons [group.all_persons] is home, turn on presencia [input_boolean.presencia]. Otherwise, if all persons [group.all_persons] is not_home, turn off presencia [input_boolean.presencia].",
|
|
"natural_language": {
|
|
"trigger": "When Home Assistant starts up.",
|
|
"conditions": "There are no conditions that must be checked before performing the action.",
|
|
"action": "The automation checks if the group tracking all persons [group.all_persons] is set to 'home'. If it is, it turns on the presence boolean [input_boolean.presencia]. If the group is set to 'not_home', it turns off the presence boolean [input_boolean.presencia]."
|
|
},
|
|
"human_like": "Synchronizes the home presence status when Home Assistant starts, ensuring the presence indicator matches whether anyone is home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Ramon - Actualizar ubicación con ESPresense",
|
|
"result": {
|
|
"structured": "TRIGGER: When presence movil ramon [sensor.presence_movil_ramon] remains in a state for 10 seconds. CONDITIONS: configuracion espresense activa [input_boolean.configuracion_espresense_activa] is on AND the state of presence movil ramon [sensor.presence_movil_ramon] is different from the current option of ubicacion ramon [input_select.ubicacion_ramon]. ACTIONS: Set ubicacion ramon [input_select.ubicacion_ramon] to the current state of presence movil ramon [sensor.presence_movil_ramon].",
|
|
"natural_language": {
|
|
"trigger": "When the sensor presence movil ramon [sensor.presence_movil_ramon] reports a stable location for at least 10 seconds.",
|
|
"conditions": "The automation only runs if the configuracion espresense activa [input_boolean.configuracion_espresense_activa] is turned on, and if the location reported by the sensor is different from the currently selected location in ubicacion ramon [input_select.ubicacion_ramon].",
|
|
"action": "Updates the location dropdown ubicacion ramon [input_select.ubicacion_ramon] to match the new location reported by the sensor."
|
|
},
|
|
"human_like": "Updates Ramon's tracked location when his phone's ESPresence sensor detects a stable new location, but only if the feature is enabled and the location has actually changed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Ramon - Entrada al despacho",
|
|
"result": {
|
|
"structured": "TRIGGER: When the NFC tag with ID secret nfc_tag_ha_despacho is scanned. CONDITIONS: ubicacion ramon [input_select.ubicacion_ramon] is currently set to 'despacho'. ACTIONS: Set ubicacion ramon [input_select.ubicacion_ramon] to 'despacho'.",
|
|
"natural_language": {
|
|
"trigger": "When the specific NFC tag with the ID 'secret nfc_tag_ha_despacho' is scanned.",
|
|
"conditions": "The automation only runs if the location tracker for Ramon, ubicacion ramon [input_select.ubicacion_ramon], is already set to 'despacho'.",
|
|
"action": "Sets the location tracker ubicacion ramon [input_select.ubicacion_ramon] to the option 'despacho'."
|
|
},
|
|
"human_like": "Updates Ramon's location to 'despacho' when he scans a specific NFC tag, but only if he's already shown as being there.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Ramon - Tocando el piano",
|
|
"result": {
|
|
"structured": "TRIGGER: When a tag with ID 'secret nfc_tag_ha_piano' is scanned. CONDITIONS: None. ACTIONS: Set ubicacion ramon [input_select.ubicacion_ramon] to the option 'living_1'.",
|
|
"natural_language": {
|
|
"trigger": "When a specific NFC tag with the ID 'secret nfc_tag_ha_piano' is scanned.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Updates Ramon's location tracker, ubicacion ramon [input_select.ubicacion_ramon], to show he is in 'living_1'."
|
|
},
|
|
"human_like": "Updates Ramon's location to the living room when he scans a specific NFC tag at the piano.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Ramon - En la cama",
|
|
"result": {
|
|
"structured": "TRIGGER: When tag secret nfc_tag_ha_bedroom_2 is scanned OR When sm a155f charger type [sensor.sm_a155f_charger_type] changes to ac. CONDITIONS: None. ACTIONS: Set ubicacion ramon [input_select.ubicacion_ramon] to habitacion_2.",
|
|
"natural_language": {
|
|
"trigger": "When a specific NFC tag (secret nfc_tag_ha_bedroom_2) is scanned, or when the phone charger type for device 'sm a155f' [sensor.sm_a155f_charger_type] changes to 'ac'.",
|
|
"conditions": "There are no conditions to check.",
|
|
"action": "Updates Ramon's location tracker [input_select.ubicacion_ramon] to 'habitacion_2'."
|
|
},
|
|
"human_like": "Updates Ramon's location to 'habitacion_2' when he taps his NFC tag or when his phone starts charging on AC power.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Ramon - donde estara",
|
|
"result": {
|
|
"structured": "TRIGGER: When sm a155f charger type [sensor.sm_a155f_charger_type] changes to state 'none'. CONDITIONS: None. ACTIONS: Set ubicacion ramon [input_select.ubicacion_ramon] to option 'not_home'.",
|
|
"natural_language": {
|
|
"trigger": "When the sensor for the phone's charger type [sensor.sm_a155f_charger_type] reports that the charger is disconnected (state becomes 'none').",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Updates Ramon's location status [input_select.ubicacion_ramon] to 'not_home'."
|
|
},
|
|
"human_like": "Updates Ramon's location to 'not_home' when his phone is disconnected from a charger.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "temporizador_luces_automation_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When temporizador luces [input_button.temporizador_luces] changes state. CONDITIONS: None. ACTIONS: Start timer temporizador luces [timer.temporizador_luces] with a duration equal to the value of temporizador luces mm [input_number.temporizador_luces_mm] (in minutes) multiplied by 60 seconds.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the temporizador luces [input_button.temporizador_luces] changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Starts the timer named temporizador luces [timer.temporizador_luces]. The duration for the timer is calculated by taking the number stored in temporizador luces mm [input_number.temporizador_luces_mm] (which represents minutes) and converting it to seconds."
|
|
},
|
|
"human_like": "Starts a light timer for a user-defined number of minutes when a button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "temporizador_luces_automation_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When temporizador luces [timer.temporizador_luces] changes to idle. CONDITIONS: None. ACTIONS: Execute Notifica movil [script.notifica_movil] with parameters title='luces automation off' and message='Han pasado {{ states('input_number.temporizador_luces_mm') }} min' AND Execute script.secuencia_by_friendly_name with parameters my_name='comedor' and my_estado='turn_off'.",
|
|
"natural_language": {
|
|
"trigger": "When the timer named temporizador luces [timer.temporizador_luces] finishes and becomes idle.",
|
|
"conditions": "There are no conditions; the automation runs immediately when triggered.",
|
|
"action": "Sends a mobile notification via Notifica movil [script.notifica_movil] with the title 'luces automation off' and a message indicating how many minutes have passed, using the value from temporizador luces mm [input_number.temporizador_luces_mm]. It also runs a script called script.secuencia_by_friendly_name to turn off devices in the 'comedor' area."
|
|
},
|
|
"human_like": "Sends a notification and turns off the lights in the dining area when a timer finishes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VD Ventilador Despacho - alguien regresa",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia [input_boolean.presencia] changes to on. CONDITIONS: None. ACTIONS: Execute script Modo ventilador [script.modo_ventilador] with data: dispositivo = ventilador_despacho, valor = auto.",
|
|
"natural_language": {
|
|
"trigger": "When the presence indicator [input_boolean.presencia] is turned on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the fan mode script [script.modo_ventilador] for the 'ventilador_despacho' device, setting its mode to 'auto'."
|
|
},
|
|
"human_like": "When someone returns home, this automation automatically sets the office fan to auto mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VD Encender ventilador despacho",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho [input_boolean.ventilador_despacho] changes to on. CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_despacho, valor = velocidad 1.",
|
|
"natural_language": {
|
|
"trigger": "When the ventilador despacho [input_boolean.ventilador_despacho] is turned on.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Runs the script called Selector ventilador [script.selector_ventilador] and tells it to operate the 'ventilador_despacho' device at 'velocidad 1'."
|
|
},
|
|
"human_like": "Turns on the office fan at speed 1 when the corresponding switch is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VD Apagar ventilador despacho",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho [input_boolean.ventilador_despacho] changes to off. CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_despacho, valor = Apagar.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean ventilador despacho [input_boolean.ventilador_despacho] is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the script Selector ventilador [script.selector_selector_ventilador] with the parameters 'dispositivo' set to 'ventilador_despacho' and 'valor' set to 'Apagar'."
|
|
},
|
|
"human_like": "Turns off the office fan when the corresponding virtual switch is toggled off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_sinergia",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho running [input_boolean.ventilador_despacho_running] changes state. CONDITIONS: None. ACTIONS: Execute script ventilador despacho change [script.ventilador_despacho_change].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the input boolean ventilador despacho running [input_boolean.ventilador_despacho_running] changes.",
|
|
"conditions": "There are no conditions to check.",
|
|
"action": "Runs the script named ventilador despacho change [script.ventilador_despacho_change]."
|
|
},
|
|
"human_like": "Runs a script to control the office fan whenever its running state is changed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following entities change state: sensacion termica despacho [sensor.sensacion_termica_despacho], ventilador despacho modo auto [input_select.ventilador_despacho_modo_auto], ventilador margen calor [input_number.ventilador_margen_calor], nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal], ventilador umbral velocidad 1 [input_number.ventilador_umbral_velocidad_1], ventilador umbral velocidad 2 [input_number.ventilador_umbral_velocidad_2], ventilador umbral velocidad 3 [input_number.ventilador_umbral_velocidad_3], ventilador umbral brisa [input_number.ventilador_umbral_brisa]. CONDITIONS: ventilador despacho modo auto [input_select.ventilador_despacho_modo_auto] is in state 'auto'. ACTIONS: Calculate a temperature difference (dif_temp) as (cfg sensacion termica despacho [sensor.cfg_sensacion_termica_despacho] + ventilador margen calor [input_number.ventilador_margen_calor]) - nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]. Then, based on dif_temp and the defined thresholds (u1, u2, u3, ub), choose an action: IF dif_temp <= 0 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'Apagar', THEN call script.selector_ventilador to set ventilador despacho to 'Apagar'. IF dif_temp > 0 AND dif_temp <= u1 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'velocidad 1', THEN call script.selector_ventilador to set ventilador despacho to 'velocidad 1'. IF dif_temp > u1 AND dif_temp <= u2 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'velocidad 2', THEN call script.selector_ventilador to set ventilador despacho to 'velocidad 2'. IF dif_temp > u2 AND dif_temp <= u3 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'velocidad 3', THEN call script.selector_ventilador to set ventilador despacho to 'velocidad 3'. IF dif_temp > u3 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'brisa', THEN call script.selector_ventilador to set ventilador despacho to 'brisa'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers whenever there is a change in the thermal sensation in the office, the auto mode selector, or any of the configurable threshold values for the fan.",
|
|
"conditions": "The automation only runs if the ventilador despacho modo auto [input_select.ventilador_despacho_modo_auto] is set to 'auto'.",
|
|
"action": "It calculates a temperature difference by adding a comfort margin to the configured thermal sensation and subtracting the ideal level. Based on this difference and the user-defined speed thresholds, it selects an appropriate fan speed (Off, Speed 1, Speed 2, Speed 3, or Breeze) and calls a script to change the fan's setting, but only if the fan is not already in that target state."
|
|
},
|
|
"human_like": "Automatically adjusts the office fan speed based on how hot it feels, using configurable temperature thresholds to choose between off, three speeds, or a breeze mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_timer_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] changes state. CONDITIONS: The new state of ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] is not 'idle' AND the new state is a valid option defined for the entity. ACTIONS: Start timer ventilador despacho file timer [timer.ventilador_despacho_file_timer] with a duration determined by the new state: 30 minutes for '1', 90 minutes for '2', 6 hours for '3', 9 hours for '4', or 3 minutes 30 seconds for '0'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the selection for ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] changes.",
|
|
"conditions": "The new selected value must not be 'idle' and must be one of the predefined options for the selector.",
|
|
"action": "Starts the timer ventilador despacho file timer [timer.ventilador_despacho_file_timer] for a specific duration based on the selected value: 30 minutes for option '1', 1 hour and 30 minutes for '2', 6 hours for '3', 9 hours for '4', or 3 minutes and 30 seconds for '0'."
|
|
},
|
|
"human_like": "Starts a timer for the office fan based on a selected duration from a menu, ignoring the 'idle' setting.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_timer_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho file timer [timer.ventilador_despacho_file_timer] becomes idle. CONDITIONS: None. ACTIONS: Set ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] to 'idle' AND run script Selector ventilador [script.selector_ventilador] with parameters dispositivo='ventilador_despacho', modo='manual', valor='Apagar'.",
|
|
"natural_language": {
|
|
"trigger": "When the timer for the office fan, ventilador despacho file timer [timer.ventilador_despacho_file_timer], finishes and enters the idle state.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It updates the timer selector, ventilador despacho temporizador [input_select.ventilador_despacho_temporizador], to show 'idle', and then runs a script, Selector ventilador [script.selector_ventilador], to manually turn off the office fan."
|
|
},
|
|
"human_like": "Turns off the office fan and resets its timer selector when the fan's timer finishes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Actualizar presencia en despacho",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia zona despacho [binary_sensor.presencia_zona_despacho] changes state AND remains in the new state for 5 seconds. CONDITIONS: None. ACTIONS: If presencia zona despacho [binary_sensor.presencia_zona_despacho] is on, then set ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] to option '4' AND execute script Modo ventilador [script.modo_ventilador] with parameters (dispositivo: ventilador_despacho, valor: auto). If presencia zona despacho [binary_sensor.presencia_zona_despacho] is off, then set ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] to option '0'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the presence sensor for the office area, presencia zona despacho [binary_sensor.presencia_zona_despacho], changes its state and remains in that new state for at least 5 seconds.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "If the presence sensor is detected as 'on', the automation will set the office fan timer, ventilador despacho temporizador [input_select.ventilador_despacho_temporizador], to the '4' option and then run the fan mode script, Modo ventilador [script.modo_ventilador], to set the office fan to auto mode. If the presence sensor is detected as 'off', the automation will set the office fan timer to the '0' option."
|
|
},
|
|
"human_like": "Adjusts the office fan timer and sets the fan to auto when someone is detected in the office, or sets the timer to zero when the office is empty.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_habitacion_speed_1",
|
|
"result": {
|
|
"structured": "TRIGGER: When a voice command 'enciende ventilador habitacion' is issued via conversation OR When ventilador habitacion [input_boolean.ventilador_habitacion] turns on. CONDITIONS: None. ACTIONS: Execute the script Selector ventilador [script.selector_ventilador] with data: dispositivo = 'ventilador_habitacion', valor = 'velocidad 1'.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered either by a voice command saying 'enciende ventilador habitacion' or when the input boolean ventilador habitacion [input_boolean.ventilador_habitacion] changes its state to on.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "It runs the script named Selector ventilador [script.selector_ventilador], passing the parameters 'ventilador_habitacion' for the device and 'velocidad 1' for the value."
|
|
},
|
|
"human_like": "Turns on the bedroom fan to speed 1 when you ask for it or when its switch is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_habitacion_apagar",
|
|
"result": {
|
|
"structured": "TRIGGER: When a voice command 'apaga ventilador habitacion' is issued via conversation OR When ventilador habitacion off [input_button.ventilador_habitacion_off] changes state OR When ventilador habitacion [input_boolean.ventilador_habitacion] turns off (to 'off'). CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data: dispositivo = 'ventilador_habitacion', valor = 'Apagar'.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: by saying the voice command 'apaga ventilador habitacion', by pressing the ventilador habitacion off [input_button.ventilador_habitacion_off] button, or when the ventilador habitacion [input_boolean.ventilador_habitacion] input boolean is turned off.",
|
|
"conditions": "There are no conditions that must be met for the automation to run.",
|
|
"action": "It runs a script called Selector ventilador [script.selector_ventilador], telling it to target the 'ventilador_habitacion' device and set its value to 'Apagar' (which means 'Turn off')."
|
|
},
|
|
"human_like": "Turns off the bedroom fan using a voice command, a button, or when its status is set to off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vigilancia_luces",
|
|
"result": {
|
|
"structured": "TRIGGER: When grp luces [switch.grp_luces] turns on. CONDITIONS: It is after sunset. ACTIONS: Wait for 1 minute, then turn off grp luces [switch.grp_luces].",
|
|
"natural_language": {
|
|
"trigger": "When the grp luces [switch.grp_luces] switch is turned on.",
|
|
"conditions": "The automation only runs if it is after sunset.",
|
|
"action": "After a one-minute delay, the automation turns off the grp luces [switch.grp_luces] switch."
|
|
},
|
|
"human_like": "Turns off a group of lights one minute after they are turned on, but only if it's after sunset.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG AC Clima - Quitar away si alguien regresa",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia [input_boolean.presencia] turns on OR when simulador personas [group.simulador_personas] changes from off to on. CONDITIONS: None. ACTIONS: Execute the script AC Panasonic control refrigeracion home [script.ac_panasonic_control_refrigeracion_home].",
|
|
"natural_language": {
|
|
"trigger": "When the presence indicator [input_boolean.presencia] is turned on, or when the group representing simulated people [group.simulador_personas] changes from an 'off' state to an 'on' state.",
|
|
"conditions": "There are no conditions that must be met for the automation to proceed.",
|
|
"action": "Runs the script named AC Panasonic control refrigeracion home [script.ac_panasonic_control_refrigeracion_home]."
|
|
},
|
|
"human_like": "Turns on the air conditioning's home cooling mode when someone is detected as present or when a simulated presence is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ac_panasonic_ion_encender_automatizacion",
|
|
"result": {
|
|
"structured": "TRIGGER: When ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido] turns on. CONDITIONS: None. ACTIONS: Execute AC Panasonic ion power [script.ac_panasonic_ion_power].",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido] changes its state to on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the script AC Panasonic ion power [script.ac_panasonic_ion_power]."
|
|
},
|
|
"human_like": "Turns on the Panasonic air conditioning when requested by the climate system.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ac_panasonic_ion_apagar_automatizacion",
|
|
"result": {
|
|
"structured": "TRIGGER: When ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido] changes to off. CONDITIONS: None. ACTIONS: Execute AC Panasonic ion power [script.ac_panasonic_ion_power].",
|
|
"natural_language": {
|
|
"trigger": "When the ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido] is turned off.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Runs the AC Panasonic ion power [script.ac_panasonic_ion_power] script."
|
|
},
|
|
"human_like": "Turns off the Panasonic air conditioning when the corresponding status switch is toggled off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ac_panasonic_ion_temporizador_inicio",
|
|
"result": {
|
|
"structured": "TRIGGER: When ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido] turns on. CONDITIONS: ac panasonic ion modo [input_select.ac_panasonic_ion_modo] is in state auto. ACTIONS: Start timer ac panasonic ion temporizador [timer.ac_panasonic_ion_temporizador] with a duration calculated from the value of ac panasonic ion temporizador minutos [input_number.ac_panasonic_ion_temporizador_minutos] (converted from total minutes to HH:MM:00 format).",
|
|
"natural_language": {
|
|
"trigger": "When the air conditioner's power state, represented by ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido], is turned on.",
|
|
"conditions": "The air conditioner's operating mode, ac panasonic ion modo [input_select.ac_panasonic_ion_modo], must be set to 'auto'.",
|
|
"action": "Starts a timer named ac panasonic ion temporizador [timer.ac_panasonic_ion_temporizador]. The duration for the timer is taken from the numeric input ac panasonic ion temporizador minutos [input_number.ac_panasonic_ion_temporizador_minutos], which is converted from a total number of minutes into an hours and minutes format (HH:MM:00)."
|
|
},
|
|
"human_like": "Starts a timer for the Panasonic air conditioner when it is turned on while in Auto mode, using a pre-set duration.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ac_panasonic_ion_temporizador_final",
|
|
"result": {
|
|
"structured": "TRIGGER: When the timer ac panasonic ion temporizador [timer.ac_panasonic_ion_temporizador] finishes. CONDITIONS: ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido] is on. ACTIONS: Execute script AC Panasonic ion power [script.ac_panasonic_ion_power] AND turn off ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido].",
|
|
"natural_language": {
|
|
"trigger": "When the timer named ac panasonic ion temporizador [timer.ac_panasonic_ion_temporizador] finishes its countdown.",
|
|
"conditions": "The input boolean representing the air conditioner's on/off state, ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido], must be in the 'on' state.",
|
|
"action": "Runs the script AC Panasonic ion power [script.ac_panasonic_ion_power] and then turns off the input boolean ac panasonic ion encendido [input_boolean.ac_panasonic_ion_encendido]."
|
|
},
|
|
"human_like": "Turns off the Panasonic air conditioner when its timer runs out, provided the AC is currently marked as being on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_cool_temperatura_change",
|
|
"result": {
|
|
"structured": "TRIGGER: When pkg ind umbral maximo [input_number.pkg_ind_umbral_maximo] changes state OR When ac panasonic ion temperatura [sensor.ac_panasonic_ion_temperatura] changes state. CONDITIONS: verano [input_boolean.verano] is on. ACTIONS: Execute script AC Panasonic control refrigeracion [script.ac_panasonic_control_refrigeracion] with data: st_target = input_number.pkg_ind_umbral_maximo, st_real = sensor.ac_panasonic_ion_temperatura.",
|
|
"natural_language": {
|
|
"trigger": "When the value of the maximum threshold input [input_number.pkg_ind_umbral_maximo] changes, or when the temperature reading from the Panasonic AC [sensor.ac_panasonic_ion_temperatura] changes.",
|
|
"conditions": "The 'verano' (summer) mode [input_boolean.verano] must be switched on.",
|
|
"action": "Runs the 'AC Panasonic control refrigeracion' script [script.ac_panasonic_control_refrigeracion], passing the current maximum threshold and the current temperature as parameters to adjust the air conditioning."
|
|
},
|
|
"human_like": "Adjusts the Panasonic air conditioning cooling settings whenever the target temperature threshold or the actual room temperature changes, but only when summer mode is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_actualizar_estado",
|
|
"result": {
|
|
"structured": "TRIGGER: When a remote service call is made to the script Aire acondicionado power [script.aire_acondicionado_power]. CONDITIONS: None. ACTIONS: Toggle the state of aire acondicionado [input_boolean.aire_acondicionado].",
|
|
"natural_language": {
|
|
"trigger": "When the script 'Aire acondicionado power' [script.aire_acondicionado_power] is called via a remote service.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Toggles the state of the input boolean 'aire acondicionado' [input_boolean.aire_acondicionado]."
|
|
},
|
|
"human_like": "Toggles an air conditioning status indicator whenever the associated power script is run.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_actualizacion_timer",
|
|
"result": {
|
|
"structured": "TRIGGER: When aire acondicionado timer [input_number.aire_acondicionado_timer] changes state. CONDITIONS: Aire acondicionado timer [timer.aire_acondicionado] is active. ACTIONS: Start Aire acondicionado timer [timer.aire_acondicionado] with a duration equal to the value of aire acondicionado timer [input_number.aire_acondicionado_timer] (in minutes) multiplied by 60 (converted to seconds).",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the aire acondicionado timer [input_number.aire_acondicionado_timer] changes.",
|
|
"conditions": "The Aire acondicionado timer [timer.aire_acondicionado] must already be running (in an active state).",
|
|
"action": "Restarts the Aire acondicionado timer [timer.aire_acondicionado], setting its duration to the number of minutes specified by the aire acondicionado timer [input_number.aire_acondicionado_timer] input (converted to seconds)."
|
|
},
|
|
"human_like": "Updates the running air conditioner timer to a new duration whenever the timer input number is changed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_encender_temporizador",
|
|
"result": {
|
|
"structured": "TRIGGER: When Aire acondicionado timer [timer.aire_acondicionado] becomes active. CONDITIONS: aire acondicionado [input_boolean.aire_acondicionado] is off. ACTIONS: Execute the script Aire acondicionado power [script.aire_acondicionado_power].",
|
|
"natural_language": {
|
|
"trigger": "When the Aire acondicionado timer [timer.aire_acondicionado] starts running.",
|
|
"conditions": "The aire acondicionado [input_boolean.aire_acondicionado] must be in the off state.",
|
|
"action": "Runs the Aire acondicionado power [script.aire_acondicionado_power] script."
|
|
},
|
|
"human_like": "Turns on the air conditioning when its timer is started, but only if the air conditioning is currently off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_apagar_y_finalizar",
|
|
"result": {
|
|
"structured": "TRIGGER: When Aire acondicionado timer [timer.aire_acondicionado] becomes idle OR when aire acondicionado [input_boolean.aire_acondicionado] turns off. CONDITIONS: aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] is off. ACTIONS: Execute script Aire acondicionado power [script.aire_acondicionado_power] AND finish Aire acondicionado timer [timer.aire_acondicionado].",
|
|
"natural_language": {
|
|
"trigger": "When the Aire acondicionado timer [timer.aire_acondicionado] finishes and becomes idle, or when the main air conditioning switch, aire acondicionado [input_boolean.aire_acondicionado], is turned off.",
|
|
"conditions": "The automation only runs if the temperature mode switch, aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura], is turned off.",
|
|
"action": "It runs the Aire acondicionado power [script.aire_acondicionado_power] script and then stops the Aire acondicionado timer [timer.aire_acondicionado]."
|
|
},
|
|
"human_like": "Turns off the air conditioning and stops its timer when either the timer finishes or the AC is manually switched off, but only when temperature mode is disabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_encender_modo_temperatura",
|
|
"result": {
|
|
"structured": "TRIGGER: When aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] turns on OR When aire acondicionado diferencia temperatura target [sensor.aire_acondicionado_diferencia_temperatura_target] becomes greater than 0. CONDITIONS: aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] is on AND aire acondicionado [input_boolean.aire_acondicionado] is off AND aire acondicionado diferencia temperatura target [sensor.aire_acondicionado_diferencia_temperatura_target] is greater than 0. ACTIONS: Execute script Aire acondicionado power [script.aire_acondicionado_power].",
|
|
"natural_language": {
|
|
"trigger": "When the 'aire acondicionado modo temperatura' [input_boolean.aire_acondicionado_modo_temperatura] is switched on, or when the 'aire acondicionado diferencia temperatura target' [sensor.aire_acondicionado_diferencia_temperatura_target] sensor reports a value above zero.",
|
|
"conditions": "The 'aire acondicionado modo temperatura' [input_boolean.aire_acondicionado_modo_temperatura] must be on, the air conditioner must be off (aire acondicionado [input_boolean.aire_acondicionado] is off), and the temperature difference sensor (aire acondicionado diferencia temperatura target [sensor.aire_acondicionado_diferencia_temperatura_target]) must be above zero.",
|
|
"action": "Runs the 'Aire acondicionado power' [script.aire_acondicionado_power] script, which presumably turns on the air conditioner."
|
|
},
|
|
"human_like": "Turns on the air conditioner when the temperature mode is activated and the current temperature is below the target.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_apagar_por_temperatura",
|
|
"result": {
|
|
"structured": "TRIGGER: When aire acondicionado temperatura [sensor.aire_acondicionado_temperatura] changes state OR When aire acondicionado diferencia temperatura target [sensor.aire_acondicionado_diferencia_temperatura_target] falls below 0.1. CONDITIONS: (aire acondicionado [input_boolean.aire_acondicionado] is on) AND (aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] is on) AND (aire acondicionado diferencia temperatura target [sensor.aire_acondicionado_diferencia_temperatura_target] is below 0.1). ACTIONS: Execute script Aire acondicionado power [script.aire_acondicionado_power] AND Turn off aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura].",
|
|
"natural_language": {
|
|
"trigger": "When the temperature sensor for the air conditioner [sensor.aire_acondicionado_temperatura] reports a new value, or when the sensor tracking the difference between the current temperature and the target [sensor.aire_acondicionado_diferencia_temperatura_target] indicates the difference is less than 0.1 degrees.",
|
|
"conditions": "The air conditioner must be switched on [input_boolean.aire_acondicionado is 'on'], the temperature control mode must be active [input_boolean.aire_acondicionado_modo_temperatura is 'on'], and the difference between the current and target temperature must be less than 0.1 degrees [sensor.aire_acondicionado_diferencia_temperatura_target below 0.1].",
|
|
"action": "Turns off the air conditioner by running the power control script [script.aire_acondicionado_power] and then deactivates the temperature control mode by turning off the corresponding switch [input_boolean.aire_acondicionado_modo_temperatura]."
|
|
},
|
|
"human_like": "Automatically turns off the air conditioner when it reaches the target temperature, ensuring it doesn't run unnecessarily.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_apagar_modo_manual",
|
|
"result": {
|
|
"structured": "TRIGGER: When aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] changes to off. CONDITIONS: aire acondicionado [input_boolean.aire_acondicionado] is on AND Aire acondicionado timer [timer.aire_acondicionado] is idle. ACTIONS: Execute the script Aire acondicionado power [script.aire_acondicionado_power].",
|
|
"natural_language": {
|
|
"trigger": "When the manual temperature mode for the air conditioner, represented by 'aire acondicionado modo temperatura' [input_boolean.aire_acondicionado_modo_temperatura], is turned off.",
|
|
"conditions": "The main air conditioner switch, 'aire acondicionado' [input_boolean.aire_acondicionado], must be on, and the 'Aire acondicionado timer' [timer.aire_acondicionado] must not be running (it must be idle).",
|
|
"action": "Runs the 'Aire acondicionado power' [script.aire_acondicionado_power] script, which presumably turns off the air conditioning unit."
|
|
},
|
|
"human_like": "Turns off the air conditioner when its manual temperature mode is disabled, provided the AC is currently on and not on a timer.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_apagar_modo_si_ac_se_apaga_manual",
|
|
"result": {
|
|
"structured": "TRIGGER: When aire acondicionado [input_boolean.aire_acondicionado] turns off. CONDITIONS: aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] is on. ACTIONS: Turn off aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura].",
|
|
"natural_language": {
|
|
"trigger": "When the air conditioning [input_boolean.aire_acondicionado] is manually turned off.",
|
|
"conditions": "The air conditioning temperature mode [input_boolean.aire_acondicionado_modo_temperatura] is currently active.",
|
|
"action": "Deactivates the air conditioning temperature mode by turning off aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura]."
|
|
},
|
|
"human_like": "Automatically turns off the temperature control mode when the air conditioning is manually switched off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_temporizador_on_apaga_modo",
|
|
"result": {
|
|
"structured": "TRIGGER: When Aire acondicionado timer [timer.aire_acondicionado] becomes active. CONDITIONS: aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] is on. ACTIONS: Turn off aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura].",
|
|
"natural_language": {
|
|
"trigger": "When the Aire acondicionado timer [timer.aire_acondicionado] starts running (becomes active).",
|
|
"conditions": "The automation only runs if the aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] is currently switched on.",
|
|
"action": "Turns off the aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] input boolean."
|
|
},
|
|
"human_like": "Turns off the air conditioner's temperature mode when its timer starts, likely to stop a timed temperature control session.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "AC_modo_on_apaga_temporizador",
|
|
"result": {
|
|
"structured": "TRIGGER: When aire acondicionado modo temperatura [input_boolean.aire_acondicionado_modo_temperatura] turns on. CONDITIONS: Aire acondicionado timer [timer.aire_acondicionado] is active. ACTIONS: Finish Aire acondicionado timer [timer.aire_acondicionado].",
|
|
"natural_language": {
|
|
"trigger": "When the 'aire acondicionado modo temperatura' [input_boolean.aire_acondicionado_modo_temperatura] is turned on.",
|
|
"conditions": "The 'Aire acondicionado timer' [timer.aire_acondicionado] must be currently running.",
|
|
"action": "Stops the 'Aire acondicionado timer' [timer.aire_acondicionado]."
|
|
},
|
|
"human_like": "Cancels the air conditioning timer when the temperature mode is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alerta_co2_activada",
|
|
"result": {
|
|
"structured": "TRIGGER: When alerta co2 [input_boolean.alerta_co2] turns on. CONDITIONS: None. ACTIONS: Turn on alias pinguino [switch.alias_pinguino]. IF (sun is after sunset AND before sunrise) THEN turn on alias antimosquitos [switch.alias_antimosquitos].",
|
|
"natural_language": {
|
|
"trigger": "When the alerta co2 [input_boolean.alerta_co2] is turned on.",
|
|
"conditions": "There are no explicit conditions that must be met before the actions run.",
|
|
"action": "It turns on the alias pinguino [switch.alias_pinguino]. Additionally, if the sun is below the horizon (i.e., it is nighttime between sunset and sunrise), it also turns on the alias antimosquitos [switch.alias_antimosquitos]."
|
|
},
|
|
"human_like": "Activates a cooling device when a CO2 alert is triggered, and also turns on a mosquito repellent if it's nighttime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "alerta_co2_desactivada",
|
|
"result": {
|
|
"structured": "TRIGGER: When alerta co2 [input_boolean.alerta_co2] changes to off. CONDITIONS: None. ACTIONS: Turn off alias pinguino [switch.alias_pinguino] AND turn off alias antimosquitos [switch.alias_antimosquitos].",
|
|
"natural_language": {
|
|
"trigger": "When the alerta co2 [input_boolean.alerta_co2] is turned off.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Turns off the alias pinguino [switch.alias_pinguino] and the alias antimosquitos [switch.alias_antimosquitos] switches."
|
|
},
|
|
"human_like": "Turns off specific devices when the CO2 alert is deactivated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_send_confort",
|
|
"result": {
|
|
"structured": "TRIGGER: When send confort [input_button.send_confort] changes state. CONDITIONS: None. ACTIONS: Send a REST command to InfluxDB with the current numeric value of nivel confort actual [input_number.nivel_confort_actual].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the send confort [input_button.send_confort] button is pressed or changes state.",
|
|
"conditions": "There are no conditions; the action runs immediately after the trigger.",
|
|
"action": "Sends the current value from the nivel confort actual [input_number.nivel_confort_actual] number input to an InfluxDB database via a REST command."
|
|
},
|
|
"human_like": "Sends the current comfort level value to a database whenever a button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735560626804'",
|
|
"result": {
|
|
"structured": "TRIGGER: When calendar event on domotica [calendar.domotica] starts, 5 minutes before the scheduled start time. CONDITIONS: None. ACTIONS: Send a mobile notification to Device 2e125cc8a76db2210a51672189f23b01 with the message 'Calendar {{ trigger.calendar_event.summary }} at {{trigger.calendar_event.start }}'.",
|
|
"natural_language": {
|
|
"trigger": "Five minutes before a calendar event on the domotica [calendar.domotica] calendar is scheduled to start.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Sends a notification to a mobile device [Device 2e125cc8a76db2210a51672189f23b01] containing the event summary and its start time."
|
|
},
|
|
"human_like": "Sends a mobile notification five minutes before a calendar event starts.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "custom_temporizador1_automation_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When custom temporizador1 toggle [input_button.custom_temporizador1_toggle] changes state. CONDITIONS: None. ACTIONS: Start timer custom temporizador1 [timer.custom_temporizador1] for a duration equal to the value of custom temporizador1 mm [input_number.custom_temporizador1_mm] (in minutes) multiplied by 60 seconds.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the custom temporizador1 toggle [input_button.custom_temporizador1_toggle] is pressed or its state changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Starts the timer named custom temporizador1 [timer.custom_temporizador1]. The timer's duration is set based on the number stored in custom temporizador1 mm [input_number.custom_temporizador1_mm], converting the minutes value to seconds."
|
|
},
|
|
"human_like": "Starts a timer for a user-defined number of minutes when a button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "custom_temporizador1_automation_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When custom temporizador1 [timer.custom_temporizador1] becomes idle. CONDITIONS: None. ACTIONS: Send a mobile notification 'Temporizador1 off' to Device 2e125cc8a76db2210a51672189f23b01.",
|
|
"natural_language": {
|
|
"trigger": "When the timer named custom temporizador1 [timer.custom_temporizador1] finishes and enters the idle state.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sends a push notification with the message 'Temporizador1 off' to a mobile device identified as Device 2e125cc8a76db2210a51672189f23b01."
|
|
},
|
|
"human_like": "Sends a mobile notification when a specific timer finishes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "custom_temporizador2_automation_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When custom temporizador2 toggle [input_button.custom_temporizador2_toggle] changes state. CONDITIONS: None. ACTIONS: Start timer custom temporizador2 [timer.custom_temporizador2] with a duration equal to the value of custom temporizador2 mm [input_number.custom_temporizador2_mm] (in minutes) multiplied by 60 seconds.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the custom temporizador2 toggle [input_button.custom_temporizador2_toggle] is pressed or changes its state.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Starts the timer named custom temporizador2 [timer.custom_temporizador2]. The duration for the timer is calculated by taking the number of minutes set in custom temporizador2 mm [input_number.custom_temporizador2_mm] and converting it to seconds."
|
|
},
|
|
"human_like": "Starts a timer for a user-defined number of minutes when a button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "custom_temporizador2_automation_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When custom temporizador2 [timer.custom_temporizador2] becomes idle. CONDITIONS: None. ACTIONS: Send a mobile notification to Device 2e125cc8a76db2210a51672189f23b01 with the message 'Temporizador 2 off'.",
|
|
"natural_language": {
|
|
"trigger": "When the timer custom temporizador2 [timer.custom_temporizador2] finishes and enters the idle state.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sends a notification to the mobile device Device 2e125cc8a76db2210a51672189f23b01 with the message 'Temporizador 2 off'."
|
|
},
|
|
"human_like": "Sends a mobile notification when Timer 2 finishes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_shelly_1_double",
|
|
"result": {
|
|
"structured": "TRIGGER: When device Device 78214af407f022e52036cd35517b0838 [device_id: 78214af407f022e52036cd35517b0838] sends a BTHome button event of type double_press. CONDITIONS: None. ACTIONS: Toggle the state of enchufe doble socket 2 [switch.enchufe_doble_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "When the button on the device named 'Device 78214af407f022e52036cd35517b0838' is double-pressed.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Toggles the power state of the switch named 'enchufe doble socket 2' [switch.enchufe_doble_socket_2]."
|
|
},
|
|
"human_like": "Double-pressing a button toggles a power socket on or off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nfc_etiqueta_piano",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command 'piano' is received OR when an NFC tag with ID 'secret nfc_tag_ha_piano' is scanned. CONDITIONS: None. ACTIONS: Toggle the state of enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1].",
|
|
"natural_language": {
|
|
"trigger": "When someone says the voice command 'piano' to the assistant, or when the specific NFC tag with the ID 'secret nfc_tag_ha_piano' is scanned.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Toggles the power state of the enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1]."
|
|
},
|
|
"human_like": "Turns the bedroom socket on or off using either a voice command or by scanning a specific NFC tag.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Controlar válvula del salón",
|
|
"result": {
|
|
"structured": "TRIGGER: When temperatura salon [sensor.temperatura_salon] falls below 21. CONDITIONS: None. ACTIONS: Set valvula salon [climate.valvula_salon] HVAC mode to heat.",
|
|
"natural_language": {
|
|
"trigger": "When the temperature in the salon, as measured by the sensor temperatura salon [sensor.temperatura_salon], drops below 21 degrees.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns on the heating for the salon by setting the HVAC mode of the valve valvula salon [climate.valvula_salon] to 'heat'."
|
|
},
|
|
"human_like": "Turns on the heating in the living room when the temperature gets too cold.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "invierno_calefaccion_toggle",
|
|
"result": {
|
|
"structured": "TRIGGER: When invierno [input_boolean.invierno] changes state. CONDITIONS: None. ACTIONS: Run script control_calefaccion [script.control_calefaccion] with mode 'off' and temperatura set to the current state of temperatura interior [sensor.temperatura_interior].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the invierno [input_boolean.invierno] input boolean changes.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Executes the script control_calefaccion [script.control_calefaccion], turning the heating mode to 'off' and passing the current value from the temperatura interior [sensor.temperatura_interior] sensor as the temperature parameter."
|
|
},
|
|
"human_like": "Turns off the heating and records the current indoor temperature whenever the 'invierno' mode is toggled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "control_ventilador_por_co2_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When zigbee heiman hs3aq co2 [sensor.zigbee_heiman_hs3aq_co2] remains above 1000 for 2 minutes. CONDITIONS: None. ACTIONS: Turn on alerta co2 [input_boolean.alerta_co2].",
|
|
"natural_language": {
|
|
"trigger": "When the CO2 sensor [sensor.zigbee_heiman_hs3aq_co2] detects a level above 1000 parts per million for at least two minutes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Activates the CO2 alert by turning on the alerta co2 [input_boolean.alerta_co2] input boolean."
|
|
},
|
|
"human_like": "Turns on a CO2 alert when high carbon dioxide levels are detected for a sustained period.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "control_ventilador_por_co2_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When zigbee heiman hs3aq co2 [sensor.zigbee_heiman_hs3aq_co2] remains below 750 for 5 minutes. CONDITIONS: None. ACTIONS: Turn off alerta co2 [input_boolean.alerta_co2].",
|
|
"natural_language": {
|
|
"trigger": "When the CO2 level measured by the sensor zigbee heiman hs3aq co2 [sensor.zigbee_heiman_hs3aq_co2] stays below 750 parts per million for a continuous period of 5 minutes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns off the CO2 alert indicator by switching off the input boolean alerta co2 [input_boolean.alerta_co2]."
|
|
},
|
|
"human_like": "Turns off the CO2 alert when the air quality returns to a normal level for five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "seq_shutdown",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command 'desconecta' is issued OR when a tag with ID 'secret nfc_tag_ha_door' is scanned OR when shutdown [input_button.shutdown] state changes OR when simulador personas [group.simulador_personas] changes from 'on' to 'off' OR when presencia [input_boolean.presencia] changes to 'off'. CONDITIONS: None. ACTIONS: Set resumen shutdown [input_text.resumen_shutdown] value to '🛑 Inicio desconexión total...'. Execute script Notifica movil [script.notifica_movil] with title 'Shut down' and message containing the current value of resumen shutdown [input_text.resumen_shutdown]. Execute script control_calefaccion with mode 'off' and temperature set to the current value of temperatura exterior [sensor.temperatura_exterior]. Update resumen shutdown [input_text.resumen_shutdown] value by appending a new line with heating status and interior temperature. Execute script AC Panasonic control refrigeracion [script.ac_panasonic_control_refrigeracion_away]. Update resumen shutdown [input_text.resumen_shutdown] value by appending a new line with air conditioning status and interior temperature. Execute script secuencia_by_area for area 'Bedroom' with excludes 'sonoff_trvzb' and state 'turn_off'. Update resumen shutdown [input_text.resumen_shutdown] value by appending a new line indicating bedroom devices are off. Execute script secuencia_by_area for area 'Living room' with excludes 'sonoff_trvzb' and state 'turn_off'. Update resumen shutdown [input_text.resumen_shutdown] value by appending a new line indicating living room devices are off. Execute script Selector ventilador [script.selector_ventilador] for device 'ventilador_habitacion' with mode 'manual' and value 'Apagar'. Update resumen shutdown [input_text.resumen_shutdown] value by appending a new line indicating bedroom fan is off. Wait 1 second. Turn off ventilador equation [input_boolean.ventilador_equation]. Update resumen shutdown [input_text.resumen_shutdown] value by appending a new line indicating equation fan is off. Wait 1 second. Execute script Selector ventilador [script.selector_ventilador] for device 'ventilador_despacho' with mode 'manual' and value 'Apagar'. Update resumen shutdown [input_text.resumen_shutdown] value by appending a new line indicating office fan is off. Update resumen shutdown [input_text.resumen_shutdown] value by appending a new line with completion message. Execute script Notifica movil [script.notifica_movil] with title 'Shutdown' and message containing the final value of resumen shutdown [input_text.resumen_shutdown].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: by saying the voice command 'desconecta', by scanning a specific NFC tag, by pressing the shutdown [input_button.shutdown] button, when the group simulador personas [group.simulador_personas] turns from on to off, or when the presence indicator presencia [input_boolean.presencia] is turned off.",
|
|
"conditions": "There are no conditions that must be met for the actions to run.",
|
|
"action": "The automation performs a comprehensive shutdown sequence. It starts by updating a log text field, resumen shutdown [input_text.resumen_shutdown], and sends a mobile notification. It then turns off the heating system, referencing the exterior temperature, and logs the action. Next, it turns off the air conditioning and logs it. It proceeds to turn off all devices in the 'Bedroom' and 'Living room' areas (excluding certain devices) and logs each step. It then turns off specific fans: first the bedroom fan, waits a second, turns off the equation fan, waits another second, and turns off the office fan, logging each action. Finally, it marks the shutdown as complete in the log and sends a final mobile notification with the full summary."
|
|
},
|
|
"human_like": "This automation performs a full home shutdown sequence, turning off heating, air conditioning, and devices in key rooms when triggered by a voice command, NFC tag, button, or when the house becomes unoccupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735397441465'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Device e97f30b9edecdd38711ec6b28781147b [media_player entity] becomes idle. CONDITIONS: The sun is below the horizon (after sunset). ACTIONS: Turn on Device 6eba2032971432a1ed86d5363bbd2770 [switch entity].",
|
|
"natural_language": {
|
|
"trigger": "When the media player Device e97f30b9edecdd38711ec6b28781147b becomes idle.",
|
|
"conditions": "This only runs after sunset.",
|
|
"action": "Turns on the switch Device 6eba2032971432a1ed86d5363bbd2770."
|
|
},
|
|
"human_like": "Turns on a light switch when a media player stops playing and it's after sunset.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'[Presencia] Activar si alguien llega a casa'",
|
|
"result": {
|
|
"structured": "TRIGGER: When any person in the group all persons [group.all_persons] changes state to home. CONDITIONS: None. ACTIONS: Turn on presencia [input_boolean.presencia].",
|
|
"natural_language": {
|
|
"trigger": "When any tracked person in the system arrives home, as indicated by the group all persons [group.all_persons] changing its state to 'home'.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns on the presence indicator by activating the input boolean entity presencia [input_boolean.presencia]."
|
|
},
|
|
"human_like": "Turns on the presence indicator when someone arrives home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'[Presencia] Desactivar si todos se van (con FOR)'",
|
|
"result": {
|
|
"structured": "TRIGGER: When all persons [group.all_persons] remains not_home for 1 minute. CONDITIONS: None. ACTIONS: Turn off presencia [input_boolean.presencia].",
|
|
"natural_language": {
|
|
"trigger": "When the group tracking all persons [group.all_persons] has been in the 'not_home' state for at least one minute.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns off the presence indicator by switching off presencia [input_boolean.presencia]."
|
|
},
|
|
"human_like": "Turns off the home presence mode when everyone has been away for one minute.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'[Presencia] Sincronizar al iniciar Home Assistant'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: If all persons [group.all_persons] is home, then turn on presencia [input_boolean.presencia]. Otherwise, if all persons [group.all_persons] is not_home, then turn off presencia [input_boolean.presencia].",
|
|
"natural_language": {
|
|
"trigger": "When Home Assistant starts up.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "The automation checks the state of the group tracking all persons [group.all_persons]. If everyone is home, it turns on the presence indicator [input_boolean.presencia]. If no one is home, it turns the presence indicator off."
|
|
},
|
|
"human_like": "Synchronizes the home presence status when Home Assistant starts, ensuring the indicator correctly reflects whether anyone is home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_shelly_1_press",
|
|
"result": {
|
|
"structured": "TRIGGER: When Device 78214af407f022e52036cd35517b0838 sends a BTHome button press event. CONDITIONS: None. ACTIONS: Toggle enchufe doble socket 1 [switch.enchufe_doble_socket_1].",
|
|
"natural_language": {
|
|
"trigger": "When the button on the device identified as Device 78214af407f022e52036cd35517b0838 is pressed.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Toggles the state of the switch named enchufe doble socket 1 [switch.enchufe_doble_socket_1]."
|
|
},
|
|
"human_like": "Pressing the button on the BTHome device toggles a double socket switch.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_shelly_1_press_studioBricks",
|
|
"result": {
|
|
"structured": "TRIGGER: When the conversation command 'caja' is issued OR When the state of studiobricks toggle [input_button.studiobricks_toggle] changes OR When a button press event occurs on BTHome device Device 78214af407f022e52036cd35517b0838. CONDITIONS: None. ACTIONS: Toggle regleta antela socket 3 [switch.regleta_antela_socket_3], wait 1 second, toggle regleta antela socket 2 [switch.regleta_antela_socket_2], wait 1 second, toggle regleta antela socket 1 [switch.regleta_antela_socket_1], wait 1 second, toggle regleta antela socket 5 [switch.regleta_antela_socket_5].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: by saying the voice command 'caja', by pressing the studiobricks toggle [input_button.studiobricks_toggle] button, or by pressing a button on the BTHome device identified as Device 78214af407f022e52036cd35517b0838.",
|
|
"conditions": "There are no conditions that must be met for the automation to run.",
|
|
"action": "The automation toggles a sequence of four power sockets on a power strip, with a one-second delay between each action. It starts by toggling regleta antela socket 3 [switch.regleta_antela_socket_3], then regleta antela socket 2 [switch.regleta_antela_socket_2], then regleta antela socket 1 [switch.regleta_antela_socket_1], and finally regleta antela socket 5 [switch.regleta_antela_socket_5]."
|
|
},
|
|
"human_like": "Toggles a sequence of power strip sockets when a specific voice command, virtual button, or physical button is pressed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_shelly_1_press_studioBricks_luz",
|
|
"result": {
|
|
"structured": "TRIGGER: When the conversation command 'caja' is processed OR When studiobricks toggle [input_button.studiobricks_toggle] changes state OR When Device 78214af407f022e52036cd35517b0838 button press event occurs. CONDITIONS: None. ACTIONS: Toggle regleta antela socket 3 [switch.regleta_antela_socket_3].",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered in three ways: by saying the voice command 'caja', by pressing the studiobricks toggle [input_button.studiobricks_toggle] button, or by pressing the physical button on the device with ID 78214af407f022e52036cd35517b0838.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "The automation toggles the state of the switch regleta antela socket 3 [switch.regleta_antela_socket_3], turning it on if it was off, or off if it was on."
|
|
},
|
|
"human_like": "Turns the studio light on or off using a voice command, a virtual button, or a physical button press.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "pulsador_scene_switch_01",
|
|
"result": {
|
|
"structured": "TRIGGER: When zigbee scene switch 01 action [sensor.zigbee_scene_switch_01_action] changes state. CONDITIONS: None. ACTIONS: If zigbee scene switch 01 action [sensor.zigbee_scene_switch_01_action] state is 1_single, then execute Scene switch 01 1 single [script.scene_switch_01_1_single]. If zigbee scene switch 01 action [sensor.zigbee_scene_switch_01_action] state is 2_single, then execute Scene switch 01 2 single [script.scene_switch_01_2_single]. If zigbee scene switch 01 action [sensor.zigbee_scene_switch_01_action] state is 1_double, then execute Scene switch 01 1 double [script.scene_switch_01_1_double]. If zigbee scene switch 01 action [sensor.zigbee_scene_switch_01_action] state is 2_double, then execute Scene switch 01 2 double [script.scene_switch_01_2_double].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the zigbee scene switch 01 action [sensor.zigbee_scene_switch_01_action] sensor reports a new action.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Depending on the specific action reported, a different script is run. A single press on button 1 runs the Scene switch 01 1 single [script.scene_switch_01_1_single] script. A single press on button 2 runs the Scene switch 01 2 single [script.scene_switch_01_2_single] script. A double press on button 1 runs the Scene switch 01 1 double [script.scene_switch_01_1_double] script. A double press on button 2 runs the Scene switch 01 2 double [script.scene_switch_01_2_double] script."
|
|
},
|
|
"human_like": "This automation maps different button presses on a Zigbee scene switch to run specific scripts, allowing for single and double presses on two buttons to trigger different actions.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1736097910938'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a specific NFC tag (secret nfc_tag_ha_37) is scanned OR When the a dormir [input_button.a_dormir] is pressed OR When the media player device (Device 595047351c96be1289eefa62731cda3e) is turned off OR When the remote device (Device 4212ed74edbdc7e8bd7b75f3ae1a9c4c) is turned off. CONDITIONS: The sun is below the horizon (after sunset). ACTIONS: Turn on enchufe doble socket 1 [switch.enchufe_doble_socket_1], wait 1 second, turn on enchufe habitacion socket 1 [switch.enchufe_habitacion_socket_1], wait 1 second, turn on enchufe habitacion socket 2 [switch.enchufe_habitacion_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in four ways: by scanning a specific NFC tag (secret nfc_tag_ha_37), by pressing the 'a dormir' [input_button.a_dormir] button, by turning off a specific media player device (Device 595047351c96be1289eefa62731cda3e), or by turning off a specific remote device (Device 4212ed74edbdc7e8bd7b75f3ae1a9c4c).",
|
|
"conditions": "The automation will only run if it is currently after sunset.",
|
|
"action": "It will turn on three switches in sequence: first the 'enchufe doble socket 1' [switch.enchufe_doble_socket_1], then after a one-second delay, the 'enchufe habitacion socket 1' [switch.enchufe_habitacion_socket_1], and finally, after another one-second delay, the 'enchufe habitacion socket 2' [switch.enchufe_habitacion_socket_2]."
|
|
},
|
|
"human_like": "Turns on courtesy lights in the bedroom after sunset when you scan an NFC tag, press a button, or turn off the TV or remote.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "scheduler_studioBricks_activa_aire",
|
|
"result": {
|
|
"structured": "TRIGGER: When studiobricks schedule [schedule.studiobricks_schedule] turns on. CONDITIONS: None. ACTIONS: Turn on regleta antela socket 2 [switch.regleta_antela_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "When the studiobricks schedule [schedule.studiobricks_schedule] becomes active (turns on).",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns on the power outlet regleta antela socket 2 [switch.regleta_antela_socket_2]."
|
|
},
|
|
"human_like": "Turns on a power outlet when the studio schedule is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "scheduler_studioBricks_desactiva_aire",
|
|
"result": {
|
|
"structured": "TRIGGER: When studiobricks schedule [schedule.studiobricks_schedule] changes to off. CONDITIONS: regleta antela socket 3 [switch.regleta_antela_socket_3] is off. ACTIONS: Turn off regleta antela socket 2 [switch.regleta_antela_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "When the studiobricks schedule [schedule.studiobricks_schedule] changes its state to off.",
|
|
"conditions": "If the regleta antela socket 3 [switch.regleta_antela_socket_3] is currently off.",
|
|
"action": "Turns off the regleta antela socket 2 [switch.regleta_antela_socket_2]."
|
|
},
|
|
"human_like": "Turns off the air conditioning (socket 2) when the schedule is off and the light (socket 3) is not in use.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "studioBricks.luz.on",
|
|
"result": {
|
|
"structured": "TRIGGER: When Device 28e6316f3bac782b057d5d82b60dc60a [device_id: 28e6316f3bac782b057d5d82b60dc60a] or Device 729509638d02b0959917f15e1c9c1104 [device_id: 729509638d02b0959917f15e1c9c1104] is turned on. CONDITIONS: None. ACTIONS: Wait 1 second, then turn on regleta antela socket 5 [switch.regleta_antela_socket_5], wait 1 second, then turn on regleta antela socket 1 [switch.regleta_antela_socket_1], wait 1 second, then turn on regleta antela socket 2 [switch.regleta_antela_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "When a specific device (Device 28e6316f3bac782b057d5d82b60dc60a) or another device (Device 729509638d02b0959917f15e1c9c1104) is turned on.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "After a one-second delay, it turns on the regleta antela socket 5 [switch.regleta_antela_socket_5]. It then waits another second before turning on the regleta antela socket 1 [switch.regleta_antela_socket_1]. Finally, after a final one-second delay, it turns on the regleta antela socket 2 [switch.regleta_antela_socket_2]."
|
|
},
|
|
"human_like": "When a specific light is turned on, it sequentially powers on three sockets with a one-second pause between each.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "studioBricks.luz.off",
|
|
"result": {
|
|
"structured": "TRIGGER: When a device (device_id: 28e6316f3bac782b057d5d82b60dc60a, entity_id: 729509638d02b0959917f15e1c9c1104) is turned off. CONDITIONS: None. ACTIONS: Wait 2 seconds, then turn off regleta antela socket 5 [switch.regleta_antela_socket_5], wait 2 seconds, then turn off regleta antela socket 1 [switch.regleta_antela_socket_1], wait 2 seconds, then turn off regleta antela socket 2 [switch.regleta_antela_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "When a specific device (device_id: 28e6316f3bac782b057d5d82b60dc60a, entity_id: 729509638d02b0959917f15e1c9c1104) is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "After a 2-second delay, it turns off the regleta antela socket 5 [switch.regleta_antela_socket_5]. Then, after another 2-second delay, it turns off the regleta antela socket 1 [switch.regleta_antela_socket_1]. Finally, after a final 2-second delay, it turns off the regleta antela socket 2 [switch.regleta_antela_socket_2]."
|
|
},
|
|
"human_like": "Turns off a sequence of power sockets with short delays when a specific device is switched off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735563377877'",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs with a 5-minute offset. CONDITIONS: presencia [input_boolean.presencia] is on. ACTIONS: Execute script.secuencia_by_area with parameters my_area: Bedroom, my_excludes: sonoff_trvzb, my_estado: turn_on.",
|
|
"natural_language": {
|
|
"trigger": "Five minutes after sunset.",
|
|
"conditions": "The presence toggle presencia [input_boolean.presencia] must be switched on.",
|
|
"action": "Runs the script 'secuencia_by_area' for the Bedroom area, excluding the device 'sonoff_trvzb', to turn devices on."
|
|
},
|
|
"human_like": "Turns on lights in the bedroom at sunset, but only when the presence mode is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735396993529'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Device 595047351c96be1289eefa62731cda3e [media_player entity] is turned on OR When Device 8c098c4f5799ff0d519ed64b05a880e1 [remote entity] is turned on. CONDITIONS: None. ACTIONS: Turn off enchufe doble socket 1 [switch.enchufe_doble_socket_1], wait for 1 second, then turn off enchufe doble socket 2 [switch.enchufe_doble_socket_2].",
|
|
"natural_language": {
|
|
"trigger": "When a specific media player device [Device 595047351c96be1289eefa62731cda3e] is turned on, or when a specific remote device [Device 8c098c4f5799ff0d519ed64b05a880e1] is turned on.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "The automation will first turn off the switch for enchufe doble socket 1 [switch.enchufe_doble_socket_1], wait for one second, and then turn off the switch for enchufe doble socket 2 [switch.enchufe_doble_socket_2]."
|
|
},
|
|
"human_like": "Turns off two power sockets when the TV or remote is turned on, likely to dim the lights for a better viewing experience.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735739612217'",
|
|
"result": {
|
|
"structured": "TRIGGER: When NFC tag with ID 'secret nfc_tag_ha_37' is scanned. CONDITIONS: None. ACTIONS: Start timer cocina 10m [timer.cocina_10m] AND use text-to-speech to say 'inicio temporal' on media player my box 2 [media_player.my_box_2].",
|
|
"natural_language": {
|
|
"trigger": "When a specific NFC tag (with ID 'secret nfc_tag_ha_37') is scanned.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Starts a timer named cocina 10m [timer.cocina_10m] and announces 'inicio temporal' via the speaker my box 2 [media_player.my_box_2]."
|
|
},
|
|
"human_like": "Starts a kitchen timer and announces its start when a specific NFC tag is scanned.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735485273824'",
|
|
"result": {
|
|
"structured": "TRIGGER: When NFC tag with ID 'secret nfc_tag_ha_37' is scanned. CONDITIONS: None. ACTIONS: Toggle Device 6eba2032971432a1ed86d5363bbd2770 [device_id: 6eba2032971432a1ed86d5363bbd2770] AND Turn on Device 8c098c4f5799ff0d519ed64b05a880e1 [device_id: 8c098c4f5799ff0d519ed64b05a880e1] AND Send a notification to mobile_app_sm_a155f with title 'HA NFC' and message 'NFC Temporizador'.",
|
|
"natural_language": {
|
|
"trigger": "When the NFC tag with the ID 'secret nfc_tag_ha_37' is scanned.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Toggles the state of the device identified by '6eba2032971432a1ed86d5363bbd2770', turns on the device identified by '8c098c4f5799ff0d519ed64b05a880e1', and sends a push notification to the mobile app 'sm_a155f' with the title 'HA NFC' and the message 'NFC Temporizador'."
|
|
},
|
|
"human_like": "Scans an NFC tag to toggle a device, turn on another device, and send a notification.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "temporizador_luces_automation_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When temporizador luces [input_button.temporizador_luces] changes state. CONDITIONS: None. ACTIONS: Start timer temporizador luces [timer.temporizador_luces] for a duration equal to the value of temporizador luces mm [input_number.temporizador_luces_mm] (in minutes) multiplied by 60 seconds.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the temporizador luces [input_button.temporizador_luces] is pressed or its state changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Starts the timer temporizador luces [timer.temporizador_luces], setting its duration to the number of minutes specified by the temporizador luces mm [input_number.temporizador_luces_mm] input number."
|
|
},
|
|
"human_like": "Starts a light timer for a user-specified duration when a button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "temporizador_luces_automation_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When temporizador luces [timer.temporizador_luces] changes to idle. CONDITIONS: None. ACTIONS: Execute script Notifica movil [script.notifica_movil] with data title 'luces automation off' and message 'Han pasado {{ states('input_number.temporizador_luces_mm') }} min' AND Execute script.secuencia_by_area with data my_area 'Bedroom', my_excludes 'sonoff_trvzb', and my_estado 'turn_off'.",
|
|
"natural_language": {
|
|
"trigger": "When the timer named temporizador luces [timer.temporizador_luces] finishes and becomes idle.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "First, it sends a mobile notification via the Notifica movil [script.notifica_movil] script, with the title 'luces automation off' and a message stating how many minutes have passed according to the temporizador luces mm [input_number.temporizador_luces_mm] input. Then, it runs another script called 'secuencia_by_area' to turn off devices in the 'Bedroom' area, excluding any device named 'sonoff_trvzb'."
|
|
},
|
|
"human_like": "Turns off the bedroom lights and sends a notification when a timer finishes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_calefaccion_toggle",
|
|
"result": {
|
|
"structured": "TRIGGER: When calefaccion boolean [input_boolean.calefaccion_boolean] changes state. CONDITIONS: invierno [input_boolean.invierno] is on. ACTIONS: Run script control_calefaccion with data: mode set to 'heat' if calefaccion boolean [input_boolean.calefaccion_boolean] is 'on', otherwise 'off'; temperatura set to nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal] if calefaccion boolean [input_boolean.calefaccion_boolean] is 'on', otherwise temperatura exterior [sensor.temperatura_exterior].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the heating toggle, calefaccion boolean [input_boolean.calefaccion_boolean], changes.",
|
|
"conditions": "The automation only runs if the winter mode, invierno [input_boolean.invierno], is turned on.",
|
|
"action": "It runs a script named control_calefaccion. The script is given two pieces of data: the heating mode and a target temperature. The mode is set to 'heat' if the heating toggle is on, otherwise it's set to 'off'. The target temperature is set to the ideal thermal sensation level, nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal], if the heating is on. If the heating is being turned off, the target temperature is set to the current exterior temperature, temperatura exterior [sensor.temperatura_exterior]."
|
|
},
|
|
"human_like": "Toggles the heating system on or off based on a manual switch, but only when winter mode is active, setting appropriate temperatures for each state.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_demanda_de_calefaccion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When demanda de calefaccion [sensor.demanda_de_calefaccion] changes to 'on'. CONDITIONS: None. ACTIONS: Set the temperature of termostato virtual [climate.termostato_virtual] to the current value of nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal].",
|
|
"natural_language": {
|
|
"trigger": "When the sensor demanda de calefaccion [sensor.demanda_de_calefaccion] turns on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sets the target temperature of the termostato virtual [climate.termostato_virtual] to the value currently set in nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]."
|
|
},
|
|
"human_like": "Turns on the heating by setting the thermostat to the desired comfort temperature when a heating demand is detected.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_demanda_de_calefaccion_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When demanda de calefaccion [sensor.demanda_de_calefaccion] changes to off. CONDITIONS: None. ACTIONS: Execute script control_calefaccion with parameters: mode off and temperatura set to the current state of nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal].",
|
|
"natural_language": {
|
|
"trigger": "When the sensor demanda de calefaccion [sensor.demanda_de_calefaccion] changes its state to off.",
|
|
"conditions": "There are no additional conditions that need to be met.",
|
|
"action": "Runs the script control_calefaccion to turn off the heating, using the current value from nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal] as the temperature parameter."
|
|
},
|
|
"human_like": "Turns off the heating thermostat when there is no heating demand.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_nivel_confort_change",
|
|
"result": {
|
|
"structured": "TRIGGER: When nivel confort actual [input_number.nivel_confort_actual] changes state. CONDITIONS: None. ACTIONS: Send a REST command to InfluxDB with the current numeric value of nivel confort actual [input_number.nivel_confort_actual].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the nivel confort actual [input_number.nivel_confort_actual] changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends the current numeric value of nivel confort actual [input_number.nivel_confort_actual] to an InfluxDB database via a REST command."
|
|
},
|
|
"human_like": "Logs the current comfort level value to InfluxDB whenever it changes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "scheduler_calefaccion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When calefaccion schedule [schedule.calefaccion_schedule] changes to on. CONDITIONS: invierno [input_boolean.invierno] is on. ACTIONS: Set the temperature of termostato virtual [climate.termostato_virtual] to the current value of nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal].",
|
|
"natural_language": {
|
|
"trigger": "When the heating schedule, calefaccion schedule [schedule.calefaccion_schedule], turns on.",
|
|
"conditions": "If the winter mode switch, invierno [input_boolean.invierno], is turned on.",
|
|
"action": "Sets the target temperature of the virtual thermostat, termostato virtual [climate.termostato_virtual], to the current value set in the ideal thermal sensation level, nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]."
|
|
},
|
|
"human_like": "Turns on the heating to the desired comfort temperature when the schedule activates and winter mode is enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "scheduler_calefaccion_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When calefaccion schedule [schedule.calefaccion_schedule] changes to off. CONDITIONS: None. ACTIONS: Execute the script control_calefaccion with data: mode set to 'off' and temperatura set to the current state of temperatura interior [sensor.temperatura_interior].",
|
|
"natural_language": {
|
|
"trigger": "When the calefaccion schedule [schedule.calefaccion_schedule] changes its state to off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the script control_calefaccion, passing the mode 'off' and the current interior temperature from temperatura interior [sensor.temperatura_interior]."
|
|
},
|
|
"human_like": "Turns the heating off when the schedule says it's time, using the current indoor temperature as a parameter.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "scheduler_lavavajillas_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When lavavajillas schedule [schedule.lavavajillas_schedule] changes state to 'on'. CONDITIONS: None. ACTIONS: Turn on alias lavavajillas [switch.alias_lavavajillas].",
|
|
"natural_language": {
|
|
"trigger": "When the lavavajillas schedule [schedule.lavavajillas_schedule] is activated, meaning it changes its state to 'on'.",
|
|
"conditions": "There are no conditions; the automation runs immediately when triggered.",
|
|
"action": "Turns on the dishwasher by activating the switch alias lavavajillas [switch.alias_lavavajillas]."
|
|
},
|
|
"human_like": "Turns on the dishwasher when its schedule is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "scheduler_lavavajillas_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When lavavajillas schedule [schedule.lavavajillas_schedule] changes to 'off'. ACTIONS: Wait until zigbee nous enchufe 03 power [sensor.zigbee_nous_enchufe_03_power] reports a value less than 5 watts, with a timeout of 10 minutes. If the condition is met before the timeout, then turn off alias lavavajillas [switch.alias_lavavajillas]. If the timeout is reached, the automation stops and does not turn off the switch.",
|
|
"natural_language": {
|
|
"trigger": "When the lavavajillas schedule [schedule.lavavajillas_schedule] is set to 'off'.",
|
|
"conditions": "There are no explicit conditions; however, the action includes a waiting period that requires the dishwasher's power consumption to drop below 5 watts.",
|
|
"action": "The automation waits for the zigbee nous enchufe 03 power [sensor.zigbee_nous_enchufe_03_power] to indicate a power draw of less than 5 watts, which suggests the dishwasher has finished its cycle. It will wait up to 10 minutes for this to happen. Once the low power state is detected, it turns off the alias lavavajillas [switch.alias_lavavajillas]. If the power does not drop below 5 watts within 10 minutes, the automation stops without turning off the switch."
|
|
},
|
|
"human_like": "Turns off the dishwasher after its schedule ends, but only once it has finished running and its power consumption is low.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_temperatura_change",
|
|
"result": {
|
|
"structured": "TRIGGER: When temperatura objetivo max [sensor.temperatura_objetivo_max] changes state OR When temperatura caldera [sensor.temperatura_caldera] changes state. CONDITIONS: invierno [input_boolean.invierno] is on AND demanda calefaccion [sensor.demanda_calefaccion] is on. ACTIONS: Execute the sequence: Run script control_calefaccion_advanced with data: st_target set to sensor.temperatura_objetivo_max and st_real set to sensor.temperatura_caldera.",
|
|
"natural_language": {
|
|
"trigger": "When the temperature target maximum [sensor.temperatura_objetivo_max] changes, or when the boiler temperature [sensor.temperatura_caldera] changes.",
|
|
"conditions": "The winter mode [input_boolean.invierno] must be enabled, and the heating demand [sensor.demanda_calefaccion] must be active.",
|
|
"action": "Runs the advanced heating control script [script.control_calefaccion_advanced], passing the maximum target temperature and the current boiler temperature as parameters."
|
|
},
|
|
"human_like": "Adjusts the thermostat based on the highest temperature from the TRVs when heating is needed during winter.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_termostato_virtual_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When termostato virtual [climate.termostato_virtual] changes state to off. CONDITIONS: None. ACTIONS: Set HVAC mode to off for the group lista trvs [group.lista_trvs].",
|
|
"natural_language": {
|
|
"trigger": "When the termostato virtual [climate.termostato_virtual] is turned off.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns off all the TRVs (Thermostatic Radiator Valves) in the group lista trvs [group.lista_trvs] by setting their HVAC mode to off."
|
|
},
|
|
"human_like": "Turns off all the radiator valves when the main virtual thermostat is switched off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_trvs",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following TRV entities remains in a new state for 10 seconds: zigbee sonoff trvzb 01 [climate.zigbee_sonoff_trvzb_01], zigbee sonoff trvzb 02 [climate.zigbee_sonoff_trvzb_02], zigbee sonoff trvzb 03 [climate.zigbee_sonoff_trvzb_03], or zigbee sonoff trvzb 04 [climate.zigbee_sonoff_trvzb_04]. CONDITIONS: invierno [input_boolean.invierno] is on. ACTIONS: Choose based on the state of TRVs in the group lista trvs [group.lista_trvs]. If the count of TRVs in the group with HVAC mode 'heat' or 'auto' is greater than 0, then after a 5-second delay, set termostato virtual [climate.termostato_virtual] to HVAC mode 'heat'. Otherwise, if the count of TRVs in the group with HVAC mode 'heat' or 'auto' is equal to 0, then after a 5-second delay, set termostato virtual [climate.termostato_virtual] to HVAC mode 'off'.",
|
|
"natural_language": {
|
|
"trigger": "When any of the four individual TRVs (zigbee sonoff trvzb 01, zigbee sonoff trvzb 02, zigbee sonoff trvzb 03, or zigbee sonoff trvzb 04) stays in a new state for at least 10 seconds.",
|
|
"conditions": "The automation only runs if the winter mode switch, invierno [input_boolean.invierno], is turned on.",
|
|
"action": "The automation checks the current heating modes of all TRVs listed in the group lista trvs [group.lista_trvs]. If at least one TRV is set to 'heat' or 'auto' mode, it waits 5 seconds and then turns on the heating for the virtual thermostat, termostato virtual [climate.termostato_virtual], by setting it to 'heat' mode. If none of the TRVs are in 'heat' or 'auto' mode, it waits 5 seconds and then turns off the heating for the virtual thermostat by setting it to 'off' mode."
|
|
},
|
|
"human_like": "Controls the main virtual thermostat based on the heating demands of individual room TRVs, turning the heat on if any room needs it and off if none do, but only during winter mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "update_titulo_video",
|
|
"result": {
|
|
"structured": "TRIGGER: When media_title attribute of my box [media_player.my_box] changes OR When app_name attribute of my box 2 [media_player.my_box_2] changes OR When a conversation command 'titulo' is processed. CONDITIONS: None. ACTIONS: Set the value of ultimo video reproducido [input_text.ultimo_video_reproducido] to the media_title attribute of my box [media_player.my_box] if available; otherwise, use the app_name attribute of my box 2 [media_player.my_box_2] with the substrings 'com.', 'google.android.', and '.androidtv' removed; if neither is available, use 'Desconocido'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the media title of my box [media_player.my_box] changes, when the app name of my box 2 [media_player.my_box_2] changes, or when someone says the voice command 'titulo'.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It updates the text field ultimo video reproducido [input_text.ultimo_video_reproducido] with the current media title from my box [media_player.my_box]. If that is not available, it uses the app name from my box 2 [media_player.my_box_2], cleans it by removing certain prefixes like 'com.', 'google.android.', and '.androidtv', and if that is also not available, it sets the text to 'Desconocido'."
|
|
},
|
|
"human_like": "Saves the title of the currently playing video or app from the media players into a text field, either automatically when it changes or via a voice command.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventiladores_apagar",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command 'apaga todos los ventiladores' is issued OR When ventiladores off [input_button.ventiladores_off] changes state. CONDITIONS: None. ACTIONS: Run script Selector ventilador [script.selector_ventilador] with parameters dispositivo: ventilador_habitacion, desde: apagar_Script, valor: Apagar, then wait 1 second, then run script Selector ventilador [script.selector_ventilador] with parameters dispositivo: ventilador_despacho, desde: apagar_Script, valor: Apagar.",
|
|
"natural_language": {
|
|
"trigger": "When someone issues the voice or text command 'apaga todos los ventiladores' (turn off all fans) or when the ventiladores off [input_button.ventiladores_off] button is pressed.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "It runs a script called Selector ventilador [script.selector_ventilador] to turn off the 'ventilador_habitacion' (bedroom fan), waits for one second, and then runs the same script again to turn off the 'ventilador_despacho' (office fan)."
|
|
},
|
|
"human_like": "Turns off all the fans in the bedroom and office, either by voice command or by pressing a button.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VD Ventilador Despacho - alguien regresa",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia [input_boolean.presencia] changes to on. CONDITIONS: None. ACTIONS: Execute script Modo ventilador [script.modo_ventilador] with data: dispositivo = ventilador_despacho, valor = auto.",
|
|
"natural_language": {
|
|
"trigger": "When the presence indicator [input_boolean.presencia] is turned on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the fan mode script [script.modo_ventilador] for the 'ventilador_despacho' device, setting its mode to 'auto'."
|
|
},
|
|
"human_like": "Automatically sets the office fan to auto mode when someone returns home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VD Encender ventilador despacho",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho [input_boolean.ventilador_despacho] changes state to on. CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_despacho, valor = velocidad 1.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean for the office fan, ventilador despacho [input_boolean.ventilador_despacho], is turned on.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Runs the fan selector script, Selector ventilador [script.selector_ventilador], telling it to set the device named 'ventilador_despacho' to speed 1."
|
|
},
|
|
"human_like": "Turns on the office fan to speed 1 when its control switch is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VD Apagar ventilador despacho",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho [input_boolean.ventilador_despacho] changes to off. CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_despacho, valor = Apagar.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean representing the office fan, ventilador despacho [input_boolean.ventilador_despacho], is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs a script called Selector ventilador [script.selector_ventilador] to handle the fan, passing the specific device 'ventilador_despacho' and the command 'Apagar' (which means 'Turn off')."
|
|
},
|
|
"human_like": "Turns off the office fan when its corresponding virtual switch is set to off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_sinergia",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho running [input_boolean.ventilador_despacho_running] changes state. CONDITIONS: None. ACTIONS: Execute script ventilador despacho change [script.ventilador_despacho_change].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the input boolean ventilador despacho running [input_boolean.ventilador_despacho_running] changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the script named ventilador despacho change [script.ventilador_despacho_change]."
|
|
},
|
|
"human_like": "This automation runs a script to control the office fan whenever its running status changes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensacion termica despacho [sensor.sensacion_termica_despacho] OR ventilador despacho modo auto [input_select.ventilador_despacho_modo_auto] OR ventilador margen calor [input_number.ventilador_margen_calor] OR nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal] changes state. CONDITIONS: ventilador despacho modo auto [input_select.ventilador_despacho_modo_auto] is auto. ACTIONS: Calculate variable dif_temp = (cfg sensacion termica despacho [sensor.cfg_sensacion_termica_despacho] + ventilador margen calor [input_number.ventilador_margen_calor]) - nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]. Then, based on dif_temp: IF dif_temp <= 0.0 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'Apagar', run script Selector ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_despacho, modo=auto, valor=Apagar. IF dif_temp > 0.0 AND dif_temp <= 1.5 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'velocidad 1', run script Selector ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_despacho, modo=auto, valor=velocidad 1. IF dif_temp > 1.5 AND dif_temp <= 2.5 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'velocidad 2', run script Selector ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_despacho, modo=auto, valor=velocidad 2. IF dif_temp > 2.5 AND dif_temp <= 3.0 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'velocidad 3', run script Selector ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_despacho, modo=auto, valor=velocidad 3. IF dif_temp > 3.0 AND ventilador despacho botonera [input_select.ventilador_despacho_botonera] is not 'brisa', run script Selector ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_despacho, modo=auto, valor=brisa.",
|
|
"natural_language": {
|
|
"trigger": "When the thermal sensation sensor in the office, the auto mode selector for the office fan, the heat margin setting, or the ideal thermal sensation level changes its state.",
|
|
"conditions": "The office fan must be set to auto mode.",
|
|
"action": "First, a temperature difference is calculated. This is done by taking the configured thermal sensation for the office, adding the heat margin, and subtracting the ideal thermal sensation level. Based on this calculated difference, the fan speed is adjusted to keep the room comfortable. If the difference is zero or negative, the fan is turned off, but only if it's not already off. For small positive differences, the fan is set to speed 1, then speed 2, then speed 3 for progressively larger differences. For the largest temperature differences, the fan is set to 'brisa' (breeze) mode. Each speed change only occurs if the fan is not already set to that specific speed."
|
|
},
|
|
"human_like": "Automatically adjusts the office fan speed based on how much warmer the room feels compared to the desired comfort level.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_timer_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] changes state. CONDITIONS: None. ACTIONS: Start timer ventilador despacho file timer [timer.ventilador_despacho_file_timer] with a duration determined by the new state of ventilador despacho temporizador [input_select.ventilador_despacho_temporizador]: 30 minutes if state is \"1\", 90 minutes if state is \"2\", 6 hours if state is \"3\", 8 hours if state is \"4\", otherwise 45 minutes.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the selection for ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Starts the timer ventilador despacho file timer [timer.ventilador_despacho_file_timer] for a duration based on the new selection. If the selection is \"1\", it runs for 30 minutes; if \"2\", for 90 minutes; if \"3\", for 6 hours; if \"4\", for 8 hours; for any other selection, it runs for 45 minutes."
|
|
},
|
|
"human_like": "Starts a timer for the desk fan based on a selected duration option.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_timer_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador despacho file timer [timer.ventilador_despacho_file_timer] changes to idle. CONDITIONS: None. ACTIONS: Set ventilador despacho temporizador [input_select.ventilador_despacho_temporizador] to idle AND execute script Selector ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_despacho and valor=Apagar.",
|
|
"natural_language": {
|
|
"trigger": "When the timer for the desk fan, ventilador despacho file timer [timer.ventilador_despacho_file_timer], finishes and becomes idle.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It sets the timer selector, ventilador despacho temporizador [input_select.ventilador_despacho_temporizador], back to the idle option, and then runs a script called Selector ventilador [script.selector_ventilador] to turn off the desk fan by passing the device name 'ventilador_despacho' and the command 'Apagar'."
|
|
},
|
|
"human_like": "Turns off the desk fan and resets its timer selector when the fan's timer finishes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG EQ Ventilador Equation - alguien regresa",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia [input_boolean.presencia] turns on. CONDITIONS: None. ACTIONS: Execute script Modo ventilador [script.modo_ventilador] with data: dispositivo = ventilador_habitacion, valor = auto.",
|
|
"natural_language": {
|
|
"trigger": "When the presence indicator [input_boolean.presencia] is switched on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the fan mode script [script.modo_ventilador], setting the device to 'ventilador_habitacion' and the value to 'auto'."
|
|
},
|
|
"human_like": "Automatically sets the room fan to auto mode when someone returns home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG EQ Encender ventilador Equation desde input_boolean",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador equation [input_boolean.ventilador_equation] turns on. CONDITIONS: None. ACTIONS: Execute script Mando ventilador equation [script.mando_ventilador_equation] with data valor: speed.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean for the Equation fan, ventilador equation [input_boolean.ventilador_equation], is switched to the 'on' state.",
|
|
"conditions": "There are no conditions that must be met for this automation to run.",
|
|
"action": "Runs the script named Mando ventilador equation [script.mando_ventilador_equation], passing the value 'speed' to it."
|
|
},
|
|
"human_like": "Turns on the Equation fan by running a control script when its virtual switch is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG EQ Apagar ventilador Equation desde input_boolean",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador equation [input_boolean.ventilador_equation] changes to off. CONDITIONS: None. ACTIONS: Execute script Mando ventilador equation [script.mando_ventilador_equation] with parameter valor set to 'Apagar' AND execute script Modo ventilador [script.modo_ventilador] with parameters dispositivo set to 'ventilador_equation' and valor set to 'manual'.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean for the Equation fan, ventilador equation [input_boolean.ventilador_equation], is turned off.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "It runs two scripts: first, the 'Mando ventilador equation' [script.mando_ventilador_equation] script with the command 'Apagar' (Turn Off), and second, the 'Modo ventilador' [script.modo_ventilador] script to set the mode of the 'ventilador_equation' device to 'manual'."
|
|
},
|
|
"human_like": "Turns off the Equation fan and sets its mode to manual when its control switch is turned off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG EQ Oscilación ventilador Equation",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador equation oscilacion [input_boolean.ventilador_equation_oscilacion] changes state. CONDITIONS: ventilador equation [input_boolean.ventilador_equation] is on. ACTIONS: Execute script Mando ventilador equation [script.mando_ventilador_equation] with parameter 'valor' set to 'oscilacion'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the 'ventilador equation oscilacion' [input_boolean.ventilador_equation_oscilacion] input boolean changes.",
|
|
"conditions": "The 'ventilador equation' [input_boolean.ventilador_equation] input boolean must be in the 'on' state.",
|
|
"action": "Runs the 'Mando ventilador equation' [script.mando_ventilador_equation] script, passing the value 'oscilacion' to it."
|
|
},
|
|
"human_like": "Toggles the oscillation mode of the Equation fan when its oscillation switch is changed, but only if the fan itself is turned on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_equation_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor.sensacion_termica_equation OR input_select.ventilador_equation_modo_auto OR input_number.ventilador_margen_calor OR input_number.nivel_sensacion_termica_ideal changes state. CONDITIONS: input_select.ventilador_equation_modo_auto is set to 'auto'. ACTIONS: Calculate variable dif_temp as (sensacion termica equation [sensor.sensacion_termica_equation] + ventilador margen calor [input_number.ventilador_margen_calor]) - nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]. IF dif_temp <= 0.0 THEN turn off ventilador equation [input_boolean.ventilador_equation]. IF dif_temp > 0.2 THEN turn on ventilador equation [input_boolean.ventilador_equation].",
|
|
"natural_language": {
|
|
"trigger": "When the thermal sensation sensor [sensor.sensacion_termica_equation], the auto mode selector [input_select.ventilador_equation_modo_auto], the heat margin setting [input_number.ventilador_margen_calor], or the ideal thermal sensation level [input_number.nivel_sensacion_termica_ideal] changes.",
|
|
"conditions": "The automation only runs if the auto mode selector [input_select.ventilador_equation_modo_auto] is set to 'auto'.",
|
|
"action": "First, it calculates a temperature difference (dif_temp) by adding the current thermal sensation to the heat margin and subtracting the ideal level. If this difference is zero or negative, the fan [input_boolean.ventilador_equation] is turned off. If the difference is greater than 0.2, the fan is turned on."
|
|
},
|
|
"human_like": "Automatically turns the Equation fan on or off based on the difference between the current thermal sensation and the desired comfort level.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VH Ventilador habitacion - alguien regresa",
|
|
"result": {
|
|
"structured": "TRIGGER: When presencia [input_boolean.presencia] changes to on. CONDITIONS: None. ACTIONS: Execute script Modo ventilador [script.modo_ventilador] with data: dispositivo = ventilador_habitacion, valor = auto.",
|
|
"natural_language": {
|
|
"trigger": "When the presence indicator [input_boolean.presencia] turns on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the fan mode script [script.modo_ventilador], setting the device 'ventilador_habitacion' to 'auto' mode."
|
|
},
|
|
"human_like": "Sets the room fan to auto mode when someone returns home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VH Encender ventilador habitacion",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion [input_boolean.ventilador_habitacion] turns on. CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_habitacion, valor = velocidad 1.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean for the room fan, ventilador habitacion [input_boolean.ventilador_habitacion], is turned on.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Runs the script Selector ventilador [script.selector_ventilador], passing the parameters 'ventilador_habitacion' for the device and 'velocidad 1' for the value."
|
|
},
|
|
"human_like": "Turns on the room fan at speed 1 when its virtual switch is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "PKG VH Apagar ventilador habitacion",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion [input_boolean.ventilador_habitacion] turns off. CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_habitacion, valor = Apagar.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean for the room fan, ventilador habitacion [input_boolean.ventilador_habitacion], changes its state to off.",
|
|
"conditions": "There are no additional conditions that need to be met.",
|
|
"action": "Runs the script named Selector ventilador [script.selector_ventilador], passing the specific parameters 'ventilador_habitacion' for the device and 'Apagar' (which means 'Turn off') as the value."
|
|
},
|
|
"human_like": "Turns off the room fan when its control switch is set to off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_habitacion_sinergia",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion running [input_boolean.ventilador_habitacion_running] changes state. CONDITIONS: None. ACTIONS: Execute script.ventilador_habitacion_change.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the input boolean ventilador habitacion running [input_boolean.ventilador_habitacion_running] changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the script named script.ventilador_habitacion_change."
|
|
},
|
|
"human_like": "Runs a fan control script whenever the fan's running status changes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_habitacion_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensacion termica habitacion [sensor.sensacion_termica_habitacion] OR ventilador habitacion modo auto [input_select.ventilador_habitacion_modo_auto] OR ventilador margen calor [input_number.ventilador_margen_calor] OR nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal] changes state. CONDITIONS: ventilador habitacion modo auto [input_select.ventilador_habitacion_modo_auto] is auto. ACTIONS: Calculate variable dif_temp as (sensacion termica habitacion [sensor.sensacion_termica_habitacion] + ventilador margen calor [input_number.ventilador_margen_calor]) - nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]. Then, based on dif_temp: IF dif_temp <= 0.0 AND ventilador habitacion botonera [input_select.ventilador_habitacion_botonera] is not 'Apagar', THEN run script.selector_ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_habitacion, modo=auto, valor=Apagar. IF dif_temp > 0.0 AND dif_temp <= 1.5 AND ventilador habitacion botonera [input_select.ventilador_habitacion_botonera] is not 'velocidad 1', THEN run script.selector_ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_habitacion, modo=auto, valor=velocidad 1. IF dif_temp > 1.5 AND dif_temp <= 2.5 AND ventilador habitacion botonera [input_select.ventilador_habitacion_botonera] is not 'velocidad 2', THEN run script.selector_ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_habitacion, modo=auto, valor=velocidad 2. IF dif_temp > 2.5 AND dif_temp <= 3.0 AND ventilador habitacion botonera [input_select.ventilador_habitacion_botonera] is not 'velocidad 3', THEN run script.selector_ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_habitacion, modo=auto, valor=velocidad 3. IF dif_temp > 3.0 AND ventilador habitacion botonera [input_select.ventilador_habitacion_botonera] is not 'brisa', THEN run script.selector_ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_habitacion, modo=auto, valor=brisa.",
|
|
"natural_language": {
|
|
"trigger": "When the thermal sensation sensor for the room [sensor.sensacion_termica_habitacion], the auto mode selector for the room fan [input_select.ventilador_habitacion_modo_auto], the heat margin setting [input_number.ventilador_margen_calor], or the ideal thermal sensation level [input_number.nivel_sensacion_termica_ideal] changes its state.",
|
|
"conditions": "The room fan must be set to auto mode, meaning ventilador habitacion modo auto [input_select.ventilador_habitacion_modo_auto] is set to 'auto'.",
|
|
"action": "First, a temperature difference (dif_temp) is calculated by adding the current thermal sensation in the room [sensor.sensacion_termica_habitacion] to the configured heat margin [input_number.ventilador_margen_calor], and then subtracting the ideal thermal sensation level [input_number.nivel_sensacion_termica_ideal]. Based on this calculated difference, the fan speed is adjusted: If the difference is zero or negative, the fan is turned off, but only if it's not already off. If the difference is between 0 and 1.5 degrees, the fan is set to speed 1, but only if it's not already at that speed. If the difference is between 1.5 and 2.5 degrees, the fan is set to speed 2, but only if it's not already at that speed. If the difference is between 2.5 and 3.0 degrees, the fan is set to speed 3, but only if it's not already at that speed. If the difference is greater than 3.0 degrees, the fan is set to 'breeze' mode, but only if it's not already in that mode. All adjustments are made by calling the fan selector script [script.selector_ventilador] with the appropriate parameters."
|
|
},
|
|
"human_like": "Automatically adjusts the bedroom fan speed based on how much warmer the room feels compared to the desired comfort level.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_habitacion_timer_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion temporizador [input_select.ventilador_habitacion_temporizador] changes state. CONDITIONS: None. ACTIONS: Start timer ventilador habitacion file timer [timer.ventilador_habitacion_file_timer] with a duration determined by the new state of ventilador habitacion temporizador [input_select.ventilador_habitacion_temporizador]: 30 minutes if state is \"1\", 1 hour 30 minutes if state is \"2\", 6 hours if state is \"3\", 8 hours if state is \"4\", otherwise 45 minutes.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the selection for ventilador habitacion temporizador [input_select.ventilador_habitacion_temporizador] changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Starts the timer ventilador habitacion file timer [timer.ventilador_habitacion_file_timer]. The duration of the timer is set based on the new selection: 30 minutes for option \"1\", 1 hour and 30 minutes for option \"2\", 6 hours for option \"3\", 8 hours for option \"4\", or 45 minutes for any other selection."
|
|
},
|
|
"human_like": "Starts a room fan timer for a selected duration when the timer option is changed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_habitacion_timer_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When ventilador habitacion file timer [timer.ventilador_habitacion_file_timer] becomes idle. CONDITIONS: None. ACTIONS: Set ventilador habitacion temporizador [input_select.ventilador_habitacion_temporizador] to 'idle' AND run script Selector ventilador [script.selector_ventilador] with parameters dispositivo='ventilador_habitacion' and valor='Apagar'.",
|
|
"natural_language": {
|
|
"trigger": "When the timer for the room fan, ventilador habitacion file timer [timer.ventilador_habitacion_file_timer], finishes and becomes idle.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "First, it sets the fan timer selector, ventilador habitacion temporizador [input_select.ventilador_habitacion_temporizador], to the 'idle' option. Then, it runs the fan selector script, Selector ventilador [script.selector_ventilador], to turn off the room fan by passing the device name 'ventilador_habitacion' and the command 'Apagar' (which means 'Turn off')."
|
|
},
|
|
"human_like": "Turns off the room fan and resets its timer selector when the fan's countdown timer finishes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventiladores_por_calor_exterior",
|
|
"result": {
|
|
"structured": "TRIGGER: When temperatura interior [sensor.temperatura_interior] changes OR when nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal] changes. CONDITIONS: (temperatura interior [sensor.temperatura_interior] is greater than nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal]) AND (person ramon [person.ramon] is home). ACTIONS: If (time is between 07:00:00 and 23:00:00) AND (ventilador despacho [input_boolean.ventilador_despacho] is off) THEN run script Selector ventilador [script.selector_ventilador] with data {dispositivo: ventilador_despacho, valor: velocidad 1}. ELSE IF ((time is after 23:00:00 OR time is before 07:00:00)) AND (ventilador habitacion [input_boolean.ventilador_habitacion] is off) THEN run script Selector ventilador [script.selector_ventilador] with data {dispositivo: ventilador_habitacion, valor: velocidad 1}.",
|
|
"natural_language": {
|
|
"trigger": "When the interior temperature sensor [sensor.temperatura_interior] changes or when the ideal thermal comfort level [input_number.nivel_sensacion_termica_ideal] is adjusted.",
|
|
"conditions": "If the current interior temperature is higher than the set ideal thermal comfort level, and if the person Ramon [person.ramon] is at home.",
|
|
"action": "Depending on the time of day, a different fan is turned on. During the day (between 7 AM and 11 PM), if the office fan [input_boolean.ventilador_despacho] is off, the 'Selector ventilador' script is called to turn on the office fan at speed 1. During the night (between 11 PM and 7 AM), if the bedroom fan [input_boolean.ventilador_habitacion] is off, the same script is called to turn on the bedroom fan at speed 1."
|
|
},
|
|
"human_like": "Turns on a fan in the office or bedroom when it's warmer inside than the desired comfort level and someone is home, choosing the fan based on the time of day.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "apagado_ventiladores_por_templado",
|
|
"result": {
|
|
"structured": "TRIGGER: When temperatura interior [sensor.temperatura_interior] OR nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal] changes state. CONDITIONS: temperatura interior [sensor.temperatura_interior] is less than or equal to nivel sensacion termica ideal [input_number.nivel_sensacion_termica_ideal] AND person ramon [person.ramon] is home. ACTIONS: If ventilador despacho [input_boolean.ventilador_despacho] is on, then run script Selector ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_despacho, valor=Apagar. If ventilador habitacion [input_boolean.ventilador_habitacion] is on, then run script Selector ventilador [script.selector_ventilador] with parameters dispositivo=ventilador_habitacion, valor=Apagar.",
|
|
"natural_language": {
|
|
"trigger": "When the interior temperature [sensor.temperatura_interior] or the ideal thermal sensation level [input_number.nivel_sensacion_termica_ideal] changes.",
|
|
"conditions": "If the interior temperature [sensor.temperatura_interior] is less than or equal to the ideal thermal sensation level [input_number.nivel_sensacion_termica_ideal], and person ramon [person.ramon] is at home.",
|
|
"action": "Turns off the fans that are currently on. Specifically, if the study fan [input_boolean.ventilador_despacho] is on, it runs a script to turn it off. If the bedroom fan [input_boolean.ventilador_habitacion] is on, it runs a script to turn it off."
|
|
},
|
|
"human_like": "Turns off the fans when the inside temperature is comfortable and Ramon is home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vigilancia_grp_luces_habitacion",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 6 minutes (time pattern). CONDITIONS: grp luces habitacion [switch.grp_luces_habitacion] is on AND the current time is between sunrise and sunset (daytime). ACTIONS: Execute script.secuencia_by_area with parameters: my_area = Bedroom, my_excludes = sonoff_trvzb, my_estado = turn_off.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every six minutes.",
|
|
"conditions": "It checks if the switch grp luces habitacion [switch.grp_luces_habitacion] is turned on, and if it is currently daytime (between sunrise and sunset).",
|
|
"action": "If both conditions are met, it runs a script called 'secuencia_by_area', instructing it to turn off devices in the 'Bedroom' area, excluding any device named 'sonoff_trvzb'."
|
|
},
|
|
"human_like": "Turns off bedroom lights and other devices during the day if they were left on, checking every six minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vigilancia_grp_luces_comedor",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 5 minutes. CONDITIONS: grp luces comedor [switch.grp_luces_comedor] is on AND the sun is above the horizon (after sunrise and before sunset). ACTIONS: Execute script.secuencia_by_area with data: my_area = Living room, my_excludes = sonoff_trvzb, my_estado = turn_off.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every five minutes.",
|
|
"conditions": "The switch for the dining room light group [switch.grp_luces_comedor] must be on, and it must be daytime (between sunrise and sunset).",
|
|
"action": "It runs a script called 'secuencia_by_area' for the 'Living room' area, excluding devices matching 'sonoff_trvzb', to turn them off."
|
|
},
|
|
"human_like": "Turns off the living room lights and devices during the day if the dining room light group is accidentally left on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vigilancia_ventilador_por_co2",
|
|
"result": {
|
|
"structured": "TRIGGER: When zigbee heiman hs3aq co2 [sensor.zigbee_heiman_hs3aq_co2] remains above 1000 for 2 minutes OR When zigbee heiman hs3aq co2 [sensor.zigbee_heiman_hs3aq_co2] remains below 750 for 2 minutes OR When the time pattern matches every 4 minutes. CONDITIONS: None. ACTIONS: Choose based on conditions: If zigbee heiman hs3aq co2 [sensor.zigbee_heiman_hs3aq_co2] is above 1000, then turn on alerta co2 [input_boolean.alerta_co2]. If zigbee heiman hs3aq co2 [sensor.zigbee_heiman_hs3aq_co2] is below 750, then turn off alerta co2 [input_boolean.alerta_co2].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the CO2 level sensor [sensor.zigbee_heiman_hs3aq_co2] stays above 1000 ppm for at least two minutes, or when it stays below 750 ppm for at least two minutes. It also triggers every four minutes based on a time pattern.",
|
|
"conditions": "There are no separate conditions; the logic is handled within the action's choose block.",
|
|
"action": "When triggered, the automation checks the current CO2 level. If the level is above 1000 ppm, it turns on the CO2 alert [input_boolean.alerta_co2]. If the level is below 750 ppm, it turns off the CO2 alert [input_boolean.alerta_co2]. If triggered by the time pattern, it performs the same check and acts accordingly."
|
|
},
|
|
"human_like": "Turns a CO2 alert on or off based on the measured CO2 levels, checking every four minutes to ensure the alert state is correct.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1735500800353'",
|
|
"result": {
|
|
"structured": "TRIGGER: When NFC tag with ID secret nfc_tag_ha_37 is scanned OR When the voice command 'play youtube' is spoken. CONDITIONS: None. ACTIONS: Turn on Device 4212ed74edbdc7e8bd7b75f3ae1a9c4c [device_id:4212ed74edbdc7e8bd7b75f3ae1a9c4c] and Device 8c098c4f5799ff0d519ed64b05a880e1 [device_id:8c098c4f5799ff0d519ed64b05a880e1] via the remote domain, wait for 5 seconds, then play the YouTube playlist at URL https://www.youtube.com/playlist?list=PLjF50Dlp9ienDb1cqXQOSDgNZFC-tVdya on you box [media_player.you_box].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in two ways: either by scanning a specific NFC tag with the ID 'secret nfc_tag_ha_37', or by using a voice command and saying 'play youtube'.",
|
|
"conditions": "There are no conditions that must be met for the automation to run.",
|
|
"action": "First, it turns on a remote device identified by device ID 4212ed74edbdc7e8bd7b75f3ae1a9c4c and entity ID 8c098c4f5799ff0d519ed64b05a880e1. After a 5-second delay, it instructs the media player 'you box' [media_player.you_box] to play a specific YouTube playlist from a given URL."
|
|
},
|
|
"human_like": "Starts playing a YouTube playlist on the TV when you scan a specific NFC tag or use a voice command.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "Sincronizar válvulas con caldera",
|
|
"result": {
|
|
"structured": "TRIGGER: When alias caldera [switch.alias_caldera] changes state. CONDITIONS: None. ACTIONS: If alias caldera [switch.alias_caldera] is on, set HVAC mode to heat for valvula salon [climate.valvula_salon] AND valvula habitacion [climate.valvula_habitacion]. If alias caldera [switch.alias_caldera] is off, set HVAC mode to off for valvula salon [climate.valvula_salon] AND valvula habitacion [climate.valvula_habitacion].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the alias caldera [switch.alias_caldera] changes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Depending on the state of the alias caldera: if it is turned on, it sets the heating mode to 'heat' for both the valvula salon [climate.valvula_salon] and valvula habitacion [climate.valvula_habitacion]. If the alias caldera is turned off, it turns off the heating mode for both valves."
|
|
},
|
|
"human_like": "Synchronizes the heating valves with the boiler switch, turning the valves on or off to match the boiler's state.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "boton_calefaccion_toggle",
|
|
"result": {
|
|
"structured": "TRIGGER: When the state of calefaccion boolean [input_boolean.calefaccion_boolean] changes. CONDITIONS: None. ACTIONS: Set the target temperature of termostato virtual [climate.termostato_virtual] to the current value of temperatura exterior [sensor.temperatura_exterior]. Then, set the HVAC mode of termostato virtual [climate.termostato_virtual] to 'heat' if calefaccion boolean [input_boolean.calefaccion_boolean] is 'on', otherwise set it to 'off'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the calefaccion boolean [input_boolean.calefaccion_boolean] changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "First, it sets the target temperature of the termostato virtual [climate.termostato_virtual] to match the current outdoor temperature reported by temperatura exterior [sensor.temperatura_exterior]. Then, it sets the heating mode of the termostato virtual [climate.termostato_virtual] to 'heat' if the calefaccion boolean is turned on, or to 'off' if it is turned off."
|
|
},
|
|
"human_like": "Toggles the virtual thermostat's heating mode and sets its target temperature to the outside temperature whenever the heating switch is flipped.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "trigger_on_termostato_virtual_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When termostato virtual [climate.termostato_virtual] changes state to off. CONDITIONS: None. ACTIONS: Set HVAC mode to auto for all entities in the group lista trvs [group.lista_trvs].",
|
|
"natural_language": {
|
|
"trigger": "When the termostato virtual [climate.termostato_virtual] is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sets all the thermostatic radiator valves (TRVs) in the group lista trvs [group.lista_trvs] to auto mode."
|
|
},
|
|
"human_like": "Turns all the radiator valves to auto mode when the main virtual thermostat is switched off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "temporizador_luces_automation_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When temporizador luces [input_button.temporizador_luces] changes state. CONDITIONS: None. ACTIONS: Start timer temporizador luces [timer.temporizador_luces] with a duration equal to the integer value of temporizador luces mm [input_number.temporizador_luces_mm] multiplied by 60 seconds.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the temporizador luces [input_button.temporizador_luces] changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Starts the timer temporizador luces [timer.temporizador_luces], setting its duration to the number of minutes specified by temporizador luces mm [input_number.temporizador_luces_mm] converted to seconds."
|
|
},
|
|
"human_like": "Starts a light timer for a user-defined number of minutes when a button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "temporizador_luces_automation_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When temporizador luces [timer.temporizador_luces] becomes idle. CONDITIONS: None. ACTIONS: Execute Notifica movil [script.notifica_movil] with title 'luces automation off' and message containing the value of temporizador luces mm [input_number.temporizador_luces_mm] minutes AND execute script.secuencia_by_friendly_name with parameters my_name 'comedor' and my_estado 'turn_off'.",
|
|
"natural_language": {
|
|
"trigger": "When the timer named temporizador luces [timer.temporizador_luces] finishes and enters the idle state.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sends a mobile notification via Notifica movil [script.notifica_movil] with the title 'luces automation off' and a message stating how many minutes have passed, using the value from temporizador luces mm [input_number.temporizador_luces_mm]. It then runs another script called 'secuencia_by_friendly_name' to turn off the lights in the 'comedor' (dining room)."
|
|
},
|
|
"human_like": "Sends a notification and turns off the dining room lights when a timer finishes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_speed_1",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command 'enciende ventilador despacho' is issued OR When ventilador despacho [input_boolean.ventilador_despacho] turns on. CONDITIONS: None. ACTIONS: Execute the script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_despacho, desde = speed_1_Script, valor = velocidad 1.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered either by a voice or text command saying 'enciende ventilador despacho' (turn on office fan) or when the input boolean representing the office fan state, ventilador despacho [input_boolean.ventilador_despacho], changes to 'on'.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "It runs the script named Selector ventilador [script.selector_ventilador], passing it the specific parameters to set the office fan to speed 1."
|
|
},
|
|
"human_like": "Turns on the office fan to speed 1 when you ask for it or when its virtual switch is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_despacho_apagar",
|
|
"result": {
|
|
"structured": "TRIGGER: When a voice command 'apaga ventilador despacho' is issued via conversation OR When ventilador despacho off [input_button.ventilador_despacho_off] changes state OR When ventilador despacho [input_boolean.ventilador_despacho] turns off (to 'off'). CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_despacho, desde = speed_1_Script, valor = Apagar.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: by a voice command saying 'apaga ventilador despacho', by pressing the ventilador despacho off [input_button.ventilador_despacho_off] button, or when the ventilador despacho [input_boolean.ventilador_despacho] status changes to off.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Runs the 'Selector ventilador' [script.selector_ventilador] script, configured to turn off the 'ventilador despacho' device, specifying it originates from the 'speed_1_Script' context."
|
|
},
|
|
"human_like": "Turns off the office fan via voice command, a button press, or when its status is manually set to off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_habitacion_speed_1",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command 'enciende ventilador habitacion' is received OR When ventilador habitacion [input_boolean.ventilador_habitacion] turns on. CONDITIONS: None. ACTIONS: Execute script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_habitacion, valor = velocidad 1.",
|
|
"natural_language": {
|
|
"trigger": "When you say the voice command 'enciende ventilador habitacion' or when the input boolean ventilador habitacion [input_boolean.ventilador_habitacion] is turned on.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Runs the script Selector ventilador [script.selector_ventilador], setting the device to 'ventilador_habitacion' and the value to 'velocidad 1'."
|
|
},
|
|
"human_like": "Turns on the bedroom fan to speed 1 either by voice command or by activating its input boolean.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilador_habitacion_apagar",
|
|
"result": {
|
|
"structured": "TRIGGER: When a voice command 'apaga ventilador habitacion' is received OR When ventilador habitacion off [input_button.ventilador_habitacion_off] changes state OR When ventilador habitacion [input_boolean.ventilador_habitacion] turns off. CONDITIONS: None. ACTIONS: Execute the script Selector ventilador [script.selector_ventilador] with data: dispositivo = ventilador_habitacion, valor = Apagar.",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in three ways: by saying the voice command 'apaga ventilador habitacion', by pressing the ventilador habitacion off [input_button.ventilador_habitacion_off] button, or when the ventilador habitacion [input_boolean.ventilador_habitacion] switch is turned off.",
|
|
"conditions": "There are no conditions that must be met for the automation to run.",
|
|
"action": "It runs a script called Selector ventilador [script.selector_ventilador], passing it the information that the target device is 'ventilador_habitacion' and the desired action is 'Apagar' (which means 'Turn off')."
|
|
},
|
|
"human_like": "Turns off the bedroom fan using a voice command, a button press, or when its status switch is set to off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vigilancia_luces",
|
|
"result": {
|
|
"structured": "TRIGGER: When grp luces [switch.grp_luces] turns on. CONDITIONS: The sun is above the horizon (it is after sunset). ACTIONS: Wait for 1 minute, then turn off grp luces [switch.grp_luces].",
|
|
"natural_language": {
|
|
"trigger": "When the grp luces [switch.grp_luces] switch is turned on.",
|
|
"conditions": "The automation only runs if it is daytime, specifically after the sun has set.",
|
|
"action": "After a one-minute delay, the automation turns off the grp luces [switch.grp_luces] switch."
|
|
},
|
|
"human_like": "Turns off a group of lights one minute after they are turned on, but only during the daytime.",
|
|
"complexity": "low"
|
|
}
|
|
}
|
|
] |