diff --git a/automations/07_climate_and_plugs.yaml b/automations/07_climate_and_plugs.yaml index 4112493..39622b7 100644 --- a/automations/07_climate_and_plugs.yaml +++ b/automations/07_climate_and_plugs.yaml @@ -42,3 +42,21 @@ - switch.smart_wi_fi_plug_2 - switch.smart_wi_fi_plug_3 - switch.smart_wi_fi_plug_4 + +- id: dehumidifier_tank_full_shutoff + alias: Dehumidifier Tank Full - Shut Off Parents Window Fan + description: When the dehumidifier tank level sensor detects water, turn off the Parents Window Fan outlet and send an alerts-channel notification. + mode: single + triggers: + - trigger: state + entity_id: binary_sensor.water_leak_sensor_moisture + to: 'on' + conditions: [] + actions: + - action: switch.turn_off + target: + entity_id: switch.parents_window_fan + - action: notify.notify_events_alerts + data: + title: Dehumidifier tank is full + message: Dehumidifier tank is full — Parents Window Fan outlet has been turned off. diff --git a/esphome/.device-builder.json b/esphome/.device-builder.json index e5e411a..04b3c26 100644 --- a/esphome/.device-builder.json +++ b/esphome/.device-builder.json @@ -14,16 +14,18 @@ }, "_firmware_jobs": [ { - "job_id": "83ff97eac4b6", + "job_id": "031ce0028282", "configuration": "airqualitysensor-1.yaml", "job_type": "upload", "status": "failed", - "created_at": "2026-07-06T07:14:57.934328+00:00", - "started_at": "2026-07-06T07:14:57.934473+00:00", - "completed_at": "2026-07-06T07:15:18.438539+00:00", + "created_at": "2026-07-14T07:15:09.431228+00:00", + "started_at": "2026-07-14T07:15:09.431420+00:00", + "completed_at": "2026-07-14T07:15:29.960541+00:00", "exit_code": 1, "error": null, "port": "OTA", + "flash_bootloader": false, + "is_deferred_install": false, "new_name": "", "depends_on": "", "dependency_released": false, @@ -36,19 +38,23 @@ "source": "local", "source_pin_sha256": "", "source_label": "", - "source_esphome_version": "" + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" }, { - "job_id": "fc23837b7e86", + "job_id": "5996051441c3", "configuration": "airqualitysensor-1.yaml", "job_type": "compile", "status": "completed", - "created_at": "2026-07-06T07:14:45.811548+00:00", - "started_at": "2026-07-06T07:14:45.811712+00:00", - "completed_at": "2026-07-06T07:14:57.931380+00:00", + "created_at": "2026-07-14T07:14:56.419706+00:00", + "started_at": "2026-07-14T07:14:56.419921+00:00", + "completed_at": "2026-07-14T07:15:09.426887+00:00", "exit_code": 0, "error": null, "port": "", + "flash_bootloader": false, + "is_deferred_install": false, "new_name": "", "depends_on": "", "dependency_released": false, @@ -61,19 +67,23 @@ "source": "local", "source_pin_sha256": "", "source_label": "", - "source_esphome_version": "" + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" }, { - "job_id": "6f9f38190dce", + "job_id": "b6d554240d91", "configuration": "home-energy-monitor.yaml", "job_type": "upload", "status": "failed", - "created_at": "2026-07-06T07:07:42.422375+00:00", - "started_at": "2026-07-06T07:07:42.422527+00:00", - "completed_at": "2026-07-06T07:07:45.800565+00:00", + "created_at": "2026-07-14T07:07:53.011898+00:00", + "started_at": "2026-07-14T07:07:53.012046+00:00", + "completed_at": "2026-07-14T07:07:56.407322+00:00", "exit_code": 1, "error": null, "port": "OTA", + "flash_bootloader": false, + "is_deferred_install": false, "new_name": "", "depends_on": "", "dependency_released": false, @@ -86,19 +96,23 @@ "source": "local", "source_pin_sha256": "", "source_label": "", - "source_esphome_version": "" + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" }, { - "job_id": "aa815463f71a", + "job_id": "b7b66abbc114", "configuration": "home-energy-monitor.yaml", "job_type": "compile", "status": "completed", - "created_at": "2026-07-06T07:07:32.873716+00:00", - "started_at": "2026-07-06T07:07:32.873896+00:00", - "completed_at": "2026-07-06T07:07:42.419598+00:00", + "created_at": "2026-07-14T07:07:42.815315+00:00", + "started_at": "2026-07-14T07:07:42.815515+00:00", + "completed_at": "2026-07-14T07:07:53.008796+00:00", "exit_code": 0, "error": null, "port": "", + "flash_bootloader": false, + "is_deferred_install": false, "new_name": "", "depends_on": "", "dependency_released": false, @@ -111,19 +125,23 @@ "source": "local", "source_pin_sha256": "", "source_label": "", - "source_esphome_version": "" + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" }, { - "job_id": "a026b3604139", + "job_id": "bfebfe0b5707", "configuration": "airqualitysensor-2.yaml", "job_type": "upload", "status": "failed", - "created_at": "2026-07-06T07:00:12.362659+00:00", - "started_at": "2026-07-06T07:00:12.362797+00:00", - "completed_at": "2026-07-06T07:00:32.863455+00:00", + "created_at": "2026-07-14T07:00:22.262176+00:00", + "started_at": "2026-07-14T07:00:22.262357+00:00", + "completed_at": "2026-07-14T07:00:42.803402+00:00", "exit_code": 1, "error": null, "port": "OTA", + "flash_bootloader": false, + "is_deferred_install": false, "new_name": "", "depends_on": "", "dependency_released": false, @@ -136,19 +154,23 @@ "source": "local", "source_pin_sha256": "", "source_label": "", - "source_esphome_version": "" + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" }, { - "job_id": "82d9719aa786", + "job_id": "0f89bc698797", "configuration": "airqualitysensor-2.yaml", "job_type": "compile", "status": "completed", - "created_at": "2026-07-06T07:00:00.273931+00:00", - "started_at": "2026-07-06T07:00:00.274093+00:00", - "completed_at": "2026-07-06T07:00:12.359506+00:00", + "created_at": "2026-07-14T07:00:00.466192+00:00", + "started_at": "2026-07-14T07:00:00.466407+00:00", + "completed_at": "2026-07-14T07:00:22.257683+00:00", "exit_code": 0, "error": null, "port": "", + "flash_bootloader": false, + "is_deferred_install": false, "new_name": "", "depends_on": "", "dependency_released": false, @@ -161,69 +183,23 @@ "source": "local", "source_pin_sha256": "", "source_label": "", - "source_esphome_version": "" + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" }, { - "job_id": "710749f8bf5b", - "configuration": "airqualitysensor-3.yaml", - "job_type": "upload", - "status": "completed", - "created_at": "2026-07-03T07:02:02.652669+00:00", - "started_at": "2026-07-03T07:02:02.652808+00:00", - "completed_at": "2026-07-03T07:02:14.193714+00:00", - "exit_code": 0, - "error": null, - "port": "OTA", - "new_name": "", - "depends_on": "", - "dependency_released": false, - "progress": 100, - "remote_peer": "", - "remote_job_id": "", - "remote_peer_label": "", - "device_name": "", - "device_friendly_name": "", - "source": "local", - "source_pin_sha256": "", - "source_label": "", - "source_esphome_version": "" - }, - { - "job_id": "b05928bbeba5", - "configuration": "airqualitysensor-3.yaml", - "job_type": "compile", - "status": "completed", - "created_at": "2026-07-03T07:00:00.120739+00:00", - "started_at": "2026-07-03T07:00:00.120931+00:00", - "completed_at": "2026-07-03T07:02:02.648578+00:00", - "exit_code": 0, - "error": null, - "port": "", - "new_name": "", - "depends_on": "", - "dependency_released": false, - "progress": null, - "remote_peer": "", - "remote_job_id": "", - "remote_peer_label": "", - "device_name": "", - "device_friendly_name": "", - "source": "local", - "source_pin_sha256": "", - "source_label": "", - "source_esphome_version": "" - }, - { - "job_id": "0fc65058e009", + "job_id": "9e6087c28aaf", "configuration": "esphome-web-0fdcf4.yaml", "job_type": "upload", "status": "completed", - "created_at": "2026-07-02T07:14:58.350941+00:00", - "started_at": "2026-07-02T07:14:58.351097+00:00", - "completed_at": "2026-07-02T07:15:08.710820+00:00", + "created_at": "2026-07-10T07:28:01.452355+00:00", + "started_at": "2026-07-10T07:28:01.452562+00:00", + "completed_at": "2026-07-10T07:28:12.008676+00:00", "exit_code": 0, "error": null, "port": "OTA", + "flash_bootloader": false, + "is_deferred_install": false, "new_name": "", "depends_on": "", "dependency_released": false, @@ -236,19 +212,23 @@ "source": "local", "source_pin_sha256": "", "source_label": "", - "source_esphome_version": "" + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" }, { - "job_id": "7d1360cf4232", + "job_id": "2f3ebe4602a0", "configuration": "esphome-web-0fdcf4.yaml", "job_type": "compile", "status": "completed", - "created_at": "2026-07-02T07:13:01.274124+00:00", - "started_at": "2026-07-02T07:13:01.274290+00:00", - "completed_at": "2026-07-02T07:14:58.347067+00:00", + "created_at": "2026-07-10T07:26:01.735000+00:00", + "started_at": "2026-07-10T07:26:01.735174+00:00", + "completed_at": "2026-07-10T07:28:01.446978+00:00", "exit_code": 0, "error": null, "port": "", + "flash_bootloader": false, + "is_deferred_install": false, "new_name": "", "depends_on": "", "dependency_released": false, @@ -261,119 +241,23 @@ "source": "local", "source_pin_sha256": "", "source_label": "", - "source_esphome_version": "" + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" }, { - "job_id": "e381c0388a36", - "configuration": "master_bedroom_remote.yaml", - "job_type": "upload", - "status": "completed", - "created_at": "2026-07-02T07:10:46.706276+00:00", - "started_at": "2026-07-02T07:10:46.706418+00:00", - "completed_at": "2026-07-02T07:10:56.910904+00:00", - "exit_code": 0, - "error": null, - "port": "OTA", - "new_name": "", - "depends_on": "", - "dependency_released": false, - "progress": 100, - "remote_peer": "", - "remote_job_id": "", - "remote_peer_label": "", - "device_name": "", - "device_friendly_name": "", - "source": "local", - "source_pin_sha256": "", - "source_label": "", - "source_esphome_version": "" - }, - { - "job_id": "ec8fe3196ff0", - "configuration": "master_bedroom_remote.yaml", - "job_type": "compile", - "status": "completed", - "created_at": "2026-07-02T07:08:42.348401+00:00", - "started_at": "2026-07-02T07:08:42.348572+00:00", - "completed_at": "2026-07-02T07:10:46.703198+00:00", - "exit_code": 0, - "error": null, - "port": "", - "new_name": "", - "depends_on": "", - "dependency_released": false, - "progress": null, - "remote_peer": "", - "remote_job_id": "", - "remote_peer_label": "", - "device_name": "", - "device_friendly_name": "", - "source": "local", - "source_pin_sha256": "", - "source_label": "", - "source_esphome_version": "" - }, - { - "job_id": "beb14d23a4c4", - "configuration": "cat-medication-tracker.yaml", - "job_type": "upload", - "status": "completed", - "created_at": "2026-07-02T07:06:29.436087+00:00", - "started_at": "2026-07-02T07:06:29.436237+00:00", - "completed_at": "2026-07-02T07:06:38.057166+00:00", - "exit_code": 0, - "error": null, - "port": "OTA", - "new_name": "", - "depends_on": "", - "dependency_released": false, - "progress": 100, - "remote_peer": "", - "remote_job_id": "", - "remote_peer_label": "", - "device_name": "", - "device_friendly_name": "", - "source": "local", - "source_pin_sha256": "", - "source_label": "", - "source_esphome_version": "" - }, - { - "job_id": "6eeeb4d3fd94", - "configuration": "cat-medication-tracker.yaml", - "job_type": "compile", - "status": "completed", - "created_at": "2026-07-02T07:04:14.253642+00:00", - "started_at": "2026-07-02T07:04:14.253812+00:00", - "completed_at": "2026-07-02T07:06:29.432823+00:00", - "exit_code": 0, - "error": null, - "port": "", - "new_name": "", - "depends_on": "", - "dependency_released": false, - "progress": null, - "remote_peer": "", - "remote_job_id": "", - "remote_peer_label": "", - "device_name": "", - "device_friendly_name": "", - "source": "local", - "source_pin_sha256": "", - "source_label": "", - "source_esphome_version": "" - }, - { - "job_id": "d1b8c78622f9", + "job_id": "38e4a34ed188", "configuration": "esp32-h2c-camera.yaml", "job_type": "upload", "status": "completed", - "created_at": "2026-07-02T07:01:59.319101+00:00", - "started_at": "2026-07-02T07:01:59.319258+00:00", - "completed_at": "2026-07-02T07:02:09.799843+00:00", + "created_at": "2026-07-10T07:23:47.441880+00:00", + "started_at": "2026-07-10T07:23:47.442286+00:00", + "completed_at": "2026-07-10T07:23:57.356112+00:00", "exit_code": 0, "error": null, "port": "OTA", + "flash_bootloader": false, + "is_deferred_install": false, "new_name": "", "depends_on": "", "dependency_released": false, @@ -386,19 +270,23 @@ "source": "local", "source_pin_sha256": "", "source_label": "", - "source_esphome_version": "" + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" }, { - "job_id": "9f561c876e04", + "job_id": "e1d38f98efd7", "configuration": "esp32-h2c-camera.yaml", "job_type": "compile", "status": "completed", - "created_at": "2026-07-02T07:00:00.241579+00:00", - "started_at": "2026-07-02T07:00:00.241775+00:00", - "completed_at": "2026-07-02T07:01:59.315422+00:00", + "created_at": "2026-07-10T07:22:00.215365+00:00", + "started_at": "2026-07-10T07:22:00.215558+00:00", + "completed_at": "2026-07-10T07:23:47.438591+00:00", "exit_code": 0, "error": null, "port": "", + "flash_bootloader": false, + "is_deferred_install": false, "new_name": "", "depends_on": "", "dependency_released": false, @@ -411,7 +299,183 @@ "source": "local", "source_pin_sha256": "", "source_label": "", - "source_esphome_version": "" + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" + }, + { + "job_id": "0df46a60b342", + "configuration": "master_bedroom_remote.yaml", + "job_type": "upload", + "status": "completed", + "created_at": "2026-07-10T07:19:45.128951+00:00", + "started_at": "2026-07-10T07:19:45.129091+00:00", + "completed_at": "2026-07-10T07:19:55.955681+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "flash_bootloader": false, + "is_deferred_install": false, + "new_name": "", + "depends_on": "", + "dependency_released": false, + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" + }, + { + "job_id": "eb398eeccc94", + "configuration": "master_bedroom_remote.yaml", + "job_type": "compile", + "status": "completed", + "created_at": "2026-07-10T07:17:39.575203+00:00", + "started_at": "2026-07-10T07:17:39.575393+00:00", + "completed_at": "2026-07-10T07:19:45.125410+00:00", + "exit_code": 0, + "error": null, + "port": "", + "flash_bootloader": false, + "is_deferred_install": false, + "new_name": "", + "depends_on": "", + "dependency_released": false, + "progress": null, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" + }, + { + "job_id": "1da64f3e6b5d", + "configuration": "cat-medication-tracker.yaml", + "job_type": "upload", + "status": "completed", + "created_at": "2026-07-10T07:15:26.282164+00:00", + "started_at": "2026-07-10T07:15:26.282301+00:00", + "completed_at": "2026-07-10T07:15:35.065390+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "flash_bootloader": false, + "is_deferred_install": false, + "new_name": "", + "depends_on": "", + "dependency_released": false, + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" + }, + { + "job_id": "b4083155a04c", + "configuration": "cat-medication-tracker.yaml", + "job_type": "compile", + "status": "completed", + "created_at": "2026-07-10T07:13:12.880640+00:00", + "started_at": "2026-07-10T07:13:12.880813+00:00", + "completed_at": "2026-07-10T07:15:26.278365+00:00", + "exit_code": 0, + "error": null, + "port": "", + "flash_bootloader": false, + "is_deferred_install": false, + "new_name": "", + "depends_on": "", + "dependency_released": false, + "progress": null, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" + }, + { + "job_id": "a453a5677168", + "configuration": "airqualitysensor-3.yaml", + "job_type": "upload", + "status": "completed", + "created_at": "2026-07-10T07:02:17.931556+00:00", + "started_at": "2026-07-10T07:02:17.931728+00:00", + "completed_at": "2026-07-10T07:02:29.169985+00:00", + "exit_code": 0, + "error": null, + "port": "OTA", + "flash_bootloader": false, + "is_deferred_install": false, + "new_name": "", + "depends_on": "", + "dependency_released": false, + "progress": 100, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" + }, + { + "job_id": "a72c279c7e59", + "configuration": "airqualitysensor-3.yaml", + "job_type": "compile", + "status": "completed", + "created_at": "2026-07-10T07:00:00.412447+00:00", + "started_at": "2026-07-10T07:00:00.412658+00:00", + "completed_at": "2026-07-10T07:02:17.928583+00:00", + "exit_code": 0, + "error": null, + "port": "", + "flash_bootloader": false, + "is_deferred_install": false, + "new_name": "", + "depends_on": "", + "dependency_released": false, + "progress": null, + "remote_peer": "", + "remote_job_id": "", + "remote_peer_label": "", + "device_name": "", + "device_friendly_name": "", + "source": "local", + "source_pin_sha256": "", + "source_label": "", + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" }, { "job_id": "2ce572f89e47", @@ -424,6 +488,8 @@ "exit_code": 0, "error": null, "port": "OTA", + "flash_bootloader": false, + "is_deferred_install": false, "new_name": "", "depends_on": "", "dependency_released": false, @@ -436,7 +502,9 @@ "source": "local", "source_pin_sha256": "", "source_label": "", - "source_esphome_version": "" + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" }, { "job_id": "e416079bc9ee", @@ -449,6 +517,8 @@ "exit_code": 0, "error": null, "port": "", + "flash_bootloader": false, + "is_deferred_install": false, "new_name": "", "depends_on": "", "dependency_released": false, @@ -461,7 +531,9 @@ "source": "local", "source_pin_sha256": "", "source_label": "", - "source_esphome_version": "" + "source_esphome_version": "", + "target_esphome_version": "", + "failure_reason": "" } ], "attic-climate-sensor.yaml": {