386 lines
16 KiB
JSON
386 lines
16 KiB
JSON
[
|
|
{
|
|
"id": "End Quick Clean Mode",
|
|
"automation": "- alias: End Quick Clean Mode\n description: Turns off Quick Clean Mode after 8 hours\n triggers:\n - minutes: /10\n trigger: time_pattern\n conditions:\n - condition: state\n entity_id: input_boolean.quick_clean_mode\n state: 'on'\n - condition: template\n value_template: '{{ now() >= (states(''input_datetime.quick_clean_start'') | as_datetime\n + timedelta(hours=8)) }}\n\n '\n actions:\n - target:\n entity_id: input_boolean.quick_clean_mode\n action: input_boolean.turn_off\n data: {}\n mode: single",
|
|
"config": [
|
|
{
|
|
"name": "quick clean mode",
|
|
"room": null,
|
|
"type": "input_boolean",
|
|
"id": {
|
|
"entity_id": "input_boolean.quick_clean_mode",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "quick clean start",
|
|
"room": null,
|
|
"type": "input_datetime",
|
|
"id": {
|
|
"entity_id": "input_datetime.quick_clean_start",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "✅ Flow Restored - Clear Alert",
|
|
"automation": "- alias: ✅ Flow Restored - Clear Alert\n description: ''\n triggers:\n - entity_id: sensor.pool_flow_monitor_flow_gpm\n above: 0.1\n trigger: numeric_state\n conditions:\n - condition: numeric_state\n entity_id: sensor.esp32_pool_pump_pump_actual_rpm\n above: 0\n actions:\n - data:\n notification_id: pool_pump_flow_warning\n action: persistent_notification.dismiss",
|
|
"config": [
|
|
{
|
|
"name": "pool flow monitor flow gpm",
|
|
"room": "pool",
|
|
"type": "sensor",
|
|
"id": {
|
|
"entity_id": "sensor.pool_flow_monitor_flow_gpm",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "esp32 pool pump pump actual rpm",
|
|
"room": "pool",
|
|
"type": "sensor",
|
|
"id": {
|
|
"entity_id": "sensor.esp32_pool_pump_pump_actual_rpm",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "Gallon Counter Increment",
|
|
"automation": "- alias: Gallon Counter Increment\n description: ''\n triggers:\n - minutes: /1\n trigger: time_pattern\n conditions:\n - condition: numeric_state\n entity_id: sensor.pool_flow_monitor_flow_gpm\n above: 0\n actions:\n - repeat:\n count: '{{ states(''sensor.pool_flow_monitor_flow_gpm'') | float | round(0)\n }}'\n sequence:\n - target:\n entity_id: counter.gallons_this_cycle\n action: counter.increment\n data: {}",
|
|
"config": [
|
|
{
|
|
"name": "pool flow monitor flow gpm",
|
|
"room": "pool",
|
|
"type": "sensor",
|
|
"id": {
|
|
"entity_id": "sensor.pool_flow_monitor_flow_gpm",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "gallons this cycle",
|
|
"room": "pool",
|
|
"type": "counter",
|
|
"id": {
|
|
"entity_id": "counter.gallons_this_cycle",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "Pool Pump Manual Override - Turn Off",
|
|
"automation": "- alias: Pool Pump Manual Override - Turn Off\n description: Reset manual override when pump turns off\n triggers:\n - entity_id: switch.esp32_pool_pump_pool_pump_run\n to: 'off'\n trigger: state\n conditions: []\n actions:\n - target:\n entity_id: input_boolean.pool_pump_manual\n action: input_boolean.turn_off\n data: {}\n mode: single",
|
|
"config": [
|
|
{
|
|
"name": "esp32 pool pump pool pump run",
|
|
"room": "pool",
|
|
"type": "switch",
|
|
"id": {
|
|
"entity_id": "switch.esp32_pool_pump_pool_pump_run",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "pool pump manual",
|
|
"room": "pool",
|
|
"type": "input_boolean",
|
|
"id": {
|
|
"entity_id": "input_boolean.pool_pump_manual",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "Pool Pump Manual Override - Turn On",
|
|
"automation": "- alias: Pool Pump Manual Override - Turn On\n description: Set manual override if pump is turned on outside of automation\n triggers:\n - entity_id: switch.esp32_pool_pump_pool_pump_run\n to: 'on'\n trigger: state\n conditions:\n - condition: not\n conditions:\n - condition: time\n after: 07:59:00\n before: 08:01:00\n - condition: state\n entity_id: input_boolean.pool_pump_manual\n state: 'off'\n actions:\n - target:\n entity_id: input_boolean.pool_pump_manual\n action: input_boolean.turn_on\n data: {}\n mode: single",
|
|
"config": [
|
|
{
|
|
"name": "esp32 pool pump pool pump run",
|
|
"room": "pool",
|
|
"type": "switch",
|
|
"id": {
|
|
"entity_id": "switch.esp32_pool_pump_pool_pump_run",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "pool pump manual",
|
|
"room": "pool",
|
|
"type": "input_boolean",
|
|
"id": {
|
|
"entity_id": "input_boolean.pool_pump_manual",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "Pump Cycle End - Stop at 18000 Gallons",
|
|
"automation": "- alias: Pump Cycle End - Stop at 18000 Gallons\n description: ''\n triggers:\n - entity_id: counter.gallons_this_cycle\n above: 17999\n trigger: numeric_state\n conditions:\n - condition: time\n after: 08:00:00\n actions:\n - target:\n entity_id: switch.esp32_pool_pump_pool_pump_run\n action: switch.turn_off\n data: {}\n mode: single",
|
|
"config": [
|
|
{
|
|
"name": "gallons this cycle",
|
|
"room": "pool",
|
|
"type": "counter",
|
|
"id": {
|
|
"entity_id": "counter.gallons_this_cycle",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "esp32 pool pump pool pump run",
|
|
"room": "pool",
|
|
"type": "switch",
|
|
"id": {
|
|
"entity_id": "switch.esp32_pool_pump_pool_pump_run",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "Pump Cycle Start - 3000 RPM at 8 AM",
|
|
"automation": "- alias: Pump Cycle Start - 3000 RPM at 8 AM\n description: ''\n triggers:\n - at: 08:00:00\n trigger: time\n conditions:\n - condition: state\n entity_id: timer.quick_clean_timer\n state: idle\n actions:\n - target:\n entity_id: switch.esp32_pool_pump_pool_pump_run\n action: switch.turn_on\n data: {}\n - target:\n entity_id: number.esp32_pool_pump_pump_target_rpm\n data:\n value: 3000\n action: number.set_value\n mode: single",
|
|
"config": [
|
|
{
|
|
"name": "esp32 pool pump pool pump run",
|
|
"room": "pool",
|
|
"type": "switch",
|
|
"id": {
|
|
"entity_id": "switch.esp32_pool_pump_pool_pump_run",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "quick clean timer",
|
|
"room": "pool",
|
|
"type": "timer",
|
|
"id": {
|
|
"entity_id": "timer.quick_clean_timer",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "esp32 pool pump pump target rpm",
|
|
"room": "pool",
|
|
"type": "number",
|
|
"id": {
|
|
"entity_id": "number.esp32_pool_pump_pump_target_rpm",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "Pump Cycle Step 2 - 2450 RPM at 6000 Gallons",
|
|
"automation": "- alias: Pump Cycle Step 2 - 2450 RPM at 6000 Gallons\n description: ''\n triggers:\n - entity_id: counter.gallons_this_cycle\n above: 5999\n below: 12000\n trigger: numeric_state\n conditions:\n - condition: time\n after: 08:00:00\n - condition: state\n entity_id: timer.quick_clean_timer\n state: idle\n actions:\n - target:\n entity_id: number.esp32_pool_pump_pump_target_rpm\n data:\n value: 2450\n action: number.set_value\n mode: single",
|
|
"config": [
|
|
{
|
|
"name": "gallons this cycle",
|
|
"room": "pool",
|
|
"type": "counter",
|
|
"id": {
|
|
"entity_id": "counter.gallons_this_cycle",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "quick clean timer",
|
|
"room": "pool",
|
|
"type": "timer",
|
|
"id": {
|
|
"entity_id": "timer.quick_clean_timer",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "esp32 pool pump pump target rpm",
|
|
"room": "pool",
|
|
"type": "number",
|
|
"id": {
|
|
"entity_id": "number.esp32_pool_pump_pump_target_rpm",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "Pump Cycle Step 3 - 1700 RPM at 12000 Gallons",
|
|
"automation": "- alias: Pump Cycle Step 3 - 1700 RPM at 12000 Gallons\n description: ''\n triggers:\n - entity_id: counter.gallons_this_cycle\n above: 11999\n below: 18000\n trigger: numeric_state\n conditions:\n - condition: time\n after: 08:00:00\n - condition: state\n entity_id: timer.quick_clean_timer\n state: idle\n actions:\n - target:\n entity_id: number.esp32_pool_pump_pump_target_rpm\n data:\n value: 1700\n action: number.set_value\n mode: single",
|
|
"config": [
|
|
{
|
|
"name": "gallons this cycle",
|
|
"room": "pool",
|
|
"type": "counter",
|
|
"id": {
|
|
"entity_id": "counter.gallons_this_cycle",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "quick clean timer",
|
|
"room": "pool",
|
|
"type": "timer",
|
|
"id": {
|
|
"entity_id": "timer.quick_clean_timer",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "esp32 pool pump pump target rpm",
|
|
"room": "pool",
|
|
"type": "number",
|
|
"id": {
|
|
"entity_id": "number.esp32_pool_pump_pump_target_rpm",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "⚠️ Pump Running But No Flow (3+ Minutes)",
|
|
"automation": "- alias: ⚠️ Pump Running But No Flow (3+ Minutes)\n description: Alerts if RPM > 0 but flow is zero for more than 3 minutes.\n triggers:\n - entity_id:\n - sensor.esp32_pool_pump_pump_actual_rpm\n - sensor.pool_flow_monitor_flow_gpm\n for: 00:03:00\n trigger: state\n conditions:\n - condition: numeric_state\n entity_id: sensor.esp32_pool_pump_pump_actual_rpm\n above: 0\n - condition: numeric_state\n entity_id: sensor.pool_flow_monitor_flow_gpm\n below: 0.1\n actions:\n - data:\n title: ⚠️ Pool Pump Flow Warning\n message: The pump is running (RPM > 0) but flow is 0 GPM. Please check for clogs,\n closed valves, or airlocks.\n action: notify.persistent_notification\n mode: single",
|
|
"config": [
|
|
{
|
|
"name": "pool flow monitor flow gpm",
|
|
"room": "pool",
|
|
"type": "sensor",
|
|
"id": {
|
|
"entity_id": "sensor.pool_flow_monitor_flow_gpm",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "esp32 pool pump pump actual rpm",
|
|
"room": "pool",
|
|
"type": "sensor",
|
|
"id": {
|
|
"entity_id": "sensor.esp32_pool_pump_pump_actual_rpm",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "Reset Gallons After Pump Idle",
|
|
"automation": "- alias: Reset Gallons After Pump Idle\n description: ''\n triggers:\n - entity_id:\n - sensor.pool_flow_monitor_flow_gpm\n - sensor.esp32_pool_pump_pump_actual_rpm\n to: '0'\n for: 00:02:00\n trigger: state\n conditions:\n - condition: numeric_state\n entity_id: sensor.pool_flow_monitor_flow_gpm\n below: 0.1\n - condition: numeric_state\n entity_id: sensor.esp32_pool_pump_pump_actual_rpm\n below: 1\n actions:\n - target:\n entity_id: counter.gallons_this_cycle\n action: counter.reset\n data: {}\n mode: single",
|
|
"config": [
|
|
{
|
|
"name": "pool flow monitor flow gpm",
|
|
"room": "pool",
|
|
"type": "sensor",
|
|
"id": {
|
|
"entity_id": "sensor.pool_flow_monitor_flow_gpm",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "esp32 pool pump pump actual rpm",
|
|
"room": "pool",
|
|
"type": "sensor",
|
|
"id": {
|
|
"entity_id": "sensor.esp32_pool_pump_pump_actual_rpm",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "gallons this cycle",
|
|
"room": "pool",
|
|
"type": "counter",
|
|
"id": {
|
|
"entity_id": "counter.gallons_this_cycle",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "Start Quick Clean Mode",
|
|
"automation": "- alias: Start Quick Clean Mode\n description: Activates Quick Clean Mode for 8 hours\n triggers:\n - event_type: call_service\n event_data:\n domain: input_button\n service: press\n service_data:\n entity_id: input_button.quick_clean_button\n trigger: event\n - trigger: webhook\n allowed_methods:\n - POST\n - PUT\n - GET\n local_only: true\n webhook_id: INSERT WEBHOOK ID HERE\n conditions: []\n actions:\n - target:\n entity_id: input_datetime.quick_clean_start\n data:\n datetime: '{{ now().isoformat() }}'\n action: input_datetime.set_datetime\n - target:\n entity_id: input_boolean.quick_clean_mode\n action: input_boolean.turn_on\n data: {}\n - action: script.pool_pump_quick_clean\n data: {}\n - action: timer.start\n metadata: {}\n data: {}\n target:\n entity_id: timer.quick_clean_timer\n - action: counter.reset\n metadata: {}\n data: {}\n target:\n entity_id: counter.gallons_this_cycle\n mode: single",
|
|
"config": [
|
|
{
|
|
"name": "quick clean mode",
|
|
"room": null,
|
|
"type": "input_boolean",
|
|
"id": {
|
|
"entity_id": "input_boolean.quick_clean_mode",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "quick clean start",
|
|
"room": null,
|
|
"type": "input_datetime",
|
|
"id": {
|
|
"entity_id": "input_datetime.quick_clean_start",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "gallons this cycle",
|
|
"room": "pool",
|
|
"type": "counter",
|
|
"id": {
|
|
"entity_id": "counter.gallons_this_cycle",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "quick clean timer",
|
|
"room": "pool",
|
|
"type": "timer",
|
|
"id": {
|
|
"entity_id": "timer.quick_clean_timer",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "quick clean button",
|
|
"room": "pool",
|
|
"type": "input_button",
|
|
"id": {
|
|
"entity_id": "input_button.quick_clean_button",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "Update Pump Stage Start Time",
|
|
"automation": "- alias: Update Pump Stage Start Time\n description: ''\n triggers:\n - entity_id: counter.gallons_this_cycle\n below: 1\n trigger: numeric_state\n - entity_id: counter.gallons_this_cycle\n above: 5999\n below: 6001\n trigger: numeric_state\n - entity_id: counter.gallons_this_cycle\n above: 11999\n below: 12001\n trigger: numeric_state\n - entity_id: counter.gallons_this_cycle\n above: 17999\n trigger: numeric_state\n conditions:\n - condition: numeric_state\n entity_id: sensor.esp32_pool_pump_pump_actual_rpm\n above: 0\n actions:\n - target:\n entity_id: input_datetime.stage_start_time\n data:\n datetime: '{{ now().isoformat() }}'\n action: input_datetime.set_datetime\n mode: single",
|
|
"config": [
|
|
{
|
|
"name": "esp32 pool pump pump actual rpm",
|
|
"room": "pool",
|
|
"type": "sensor",
|
|
"id": {
|
|
"entity_id": "sensor.esp32_pool_pump_pump_actual_rpm",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "gallons this cycle",
|
|
"room": "pool",
|
|
"type": "counter",
|
|
"id": {
|
|
"entity_id": "counter.gallons_this_cycle",
|
|
"device_id": null
|
|
}
|
|
},
|
|
{
|
|
"name": "stage start time",
|
|
"room": "pool",
|
|
"type": "input_datetime",
|
|
"id": {
|
|
"entity_id": "input_datetime.stage_start_time",
|
|
"device_id": null
|
|
}
|
|
}
|
|
]
|
|
}
|
|
] |