diff --git a/automations/bernard_music.yaml b/automations/bernard_music.yaml new file mode 100644 index 0000000..d75dbb0 --- /dev/null +++ b/automations/bernard_music.yaml @@ -0,0 +1,18 @@ +- id: bernard_voice_play_music + alias: Bernard - Voice play music + description: Route Bernard's music request to his own Music Assistant player. + triggers: + - trigger: conversation + command: + - "play [some ]music" + - "put on [some ]music" + - "play [my ]Discovery Station" + conditions: + - condition: template + value_template: >- + {{ trigger.get('satellite_id') == 'assist_satellite.bernard_assist_satellite' + or trigger.get('device_id') == device_id('assist_satellite.bernard_assist_satellite') }} + actions: + - action: script.bernard_play_discovery_station + - set_conversation_response: "Starting Discovery Station." + mode: single diff --git a/esphome/.device-builder.json b/esphome/.device-builder.json index 20408ed..923ad6d 100644 --- a/esphome/.device-builder.json +++ b/esphome/.device-builder.json @@ -14,13 +14,269 @@ }, "_firmware_jobs": [ { - "job_id": "ab6187b2b257", + "job_id": "2e2903f079aa", + "configuration": "cat-medication-tracker.yaml", + "job_type": "upload", + "status": "completed", + "created_at": "2026-11-03T01:00:46.351913+00:00", + "started_at": "2026-11-03T01:00:46.352118+00:00", + "completed_at": "2026-11-03T01:00:56.162719+00:00", + "compile_started_at": null, + "compile_ended_at": null, + "exit_code": 0, + "error": null, + "port": "OTA", + "flash_bootloader": false, + "skip_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": "6c843b3bbf10", + "configuration": "led-controller-jordyn-a1.yaml", + "job_type": "upload", + "status": "completed", + "created_at": "2026-11-03T00:59:51.815561+00:00", + "started_at": "2026-11-03T00:59:51.816108+00:00", + "completed_at": "2026-11-03T01:02:20.745749+00:00", + "compile_started_at": null, + "compile_ended_at": null, + "exit_code": 0, + "error": null, + "port": "OTA", + "flash_bootloader": false, + "skip_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": "e7cc2651cdd2", + "configuration": "airqualitysensor-3.yaml", + "job_type": "upload", + "status": "completed", + "created_at": "2026-11-03T00:59:17.954273+00:00", + "started_at": "2026-11-03T00:59:17.954601+00:00", + "completed_at": "2026-11-03T01:05:20.553409+00:00", + "compile_started_at": null, + "compile_ended_at": null, + "exit_code": 0, + "error": null, + "port": "OTA", + "flash_bootloader": false, + "skip_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": "ae7b2070a3d7", + "configuration": "master_bedroom_remote.yaml", + "job_type": "upload", + "status": "completed", + "created_at": "2026-11-03T00:58:30.168506+00:00", + "started_at": "2026-11-03T00:58:30.168735+00:00", + "completed_at": "2026-11-03T01:05:18.675590+00:00", + "compile_started_at": null, + "compile_ended_at": null, + "exit_code": 0, + "error": null, + "port": "OTA", + "flash_bootloader": false, + "skip_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": "df587db7f689", + "configuration": "cat-medication-tracker.yaml", + "job_type": "compile", + "status": "completed", + "created_at": "2026-11-03T00:57:43.450509+00:00", + "started_at": "2026-11-03T00:59:51.818961+00:00", + "completed_at": "2026-11-03T01:00:46.346903+00:00", + "compile_started_at": "2026-11-03T00:59:54.278961+00:00", + "compile_ended_at": "2026-11-03T01:00:45.908218+00:00", + "exit_code": 0, + "error": null, + "port": "", + "flash_bootloader": false, + "skip_bootloader": false, + "is_deferred_install": false, + "new_name": "", + "depends_on": "", + "dependency_released": false, + "progress": 96, + "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": "2c82c1339a34", + "configuration": "led-controller-jordyn-a1.yaml", + "job_type": "compile", + "status": "completed", + "created_at": "2026-11-03T00:57:43.450426+00:00", + "started_at": "2026-11-03T00:59:17.966971+00:00", + "completed_at": "2026-11-03T00:59:51.809003+00:00", + "compile_started_at": "2026-11-03T00:59:18.842750+00:00", + "compile_ended_at": "2026-11-03T00:59:51.656320+00:00", + "exit_code": 0, + "error": null, + "port": "", + "flash_bootloader": false, + "skip_bootloader": false, + "is_deferred_install": false, + "new_name": "", + "depends_on": "", + "dependency_released": false, + "progress": 48, + "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": "fec6ca2250bc", + "configuration": "airqualitysensor-3.yaml", + "job_type": "compile", + "status": "completed", + "created_at": "2026-11-03T00:57:43.450102+00:00", + "started_at": "2026-11-03T00:58:30.176062+00:00", + "completed_at": "2026-11-03T00:59:17.946819+00:00", + "compile_started_at": "2026-11-03T00:58:31.750709+00:00", + "compile_ended_at": "2026-11-03T00:59:17.701867+00:00", + "exit_code": 0, + "error": null, + "port": "", + "flash_bootloader": false, + "skip_bootloader": false, + "is_deferred_install": false, + "new_name": "", + "depends_on": "", + "dependency_released": false, + "progress": 97, + "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": "18393d0d1884", + "configuration": "master_bedroom_remote.yaml", + "job_type": "compile", + "status": "completed", + "created_at": "2026-11-03T00:57:43.449696+00:00", + "started_at": "2026-11-03T00:57:43.450754+00:00", + "completed_at": "2026-11-03T00:58:30.157722+00:00", + "compile_started_at": "2026-11-03T00:57:46.790973+00:00", + "compile_ended_at": "2026-11-03T00:58:29.949707+00:00", + "exit_code": 0, + "error": null, + "port": "", + "flash_bootloader": false, + "skip_bootloader": false, + "is_deferred_install": false, + "new_name": "", + "depends_on": "", + "dependency_released": false, + "progress": 96, + "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": "c7d97fa92453", "configuration": "bambu-printer-display-2.yaml", "job_type": "upload", "status": "failed", - "created_at": "2026-11-01T14:50:44.287333+00:00", - "started_at": "2026-11-01T14:50:44.287580+00:00", - "completed_at": "2026-11-01T14:56:04.804159+00:00", + "created_at": "2026-11-02T17:39:40.195384+00:00", + "started_at": "2026-11-02T17:39:40.195680+00:00", + "completed_at": "2026-11-02T17:43:23.646237+00:00", "compile_started_at": null, "compile_ended_at": null, "exit_code": 1, @@ -32,7 +288,7 @@ "new_name": "", "depends_on": "", "dependency_released": false, - "progress": 2, + "progress": null, "remote_peer": "", "remote_job_id": "", "remote_peer_label": "", @@ -46,15 +302,15 @@ "failure_reason": "" }, { - "job_id": "4ad7b1d958d5", + "job_id": "16680a0681fe", "configuration": "bambu-printer-display-2.yaml", "job_type": "compile", "status": "completed", - "created_at": "2026-11-01T14:50:38.840116+00:00", - "started_at": "2026-11-01T14:50:38.841449+00:00", - "completed_at": "2026-11-01T14:50:44.281381+00:00", - "compile_started_at": "2026-11-01T14:50:42.970718+00:00", - "compile_ended_at": "2026-11-01T14:50:43.625814+00:00", + "created_at": "2026-11-02T17:39:03.377442+00:00", + "started_at": "2026-11-02T17:39:03.377645+00:00", + "completed_at": "2026-11-02T17:39:40.188162+00:00", + "compile_started_at": "2026-11-02T17:39:08.286777+00:00", + "compile_ended_at": "2026-11-02T17:39:39.565139+00:00", "exit_code": 0, "error": null, "port": "", @@ -77,134 +333,6 @@ "target_esphome_version": "", "failure_reason": "" }, - { - "job_id": "399d3620210b", - "configuration": "cat-medication-tracker.yaml", - "job_type": "upload", - "status": "completed", - "created_at": "2026-11-01T00:43:21.946765+00:00", - "started_at": "2026-11-01T00:43:21.946970+00:00", - "completed_at": "2026-11-01T00:43:32.299588+00:00", - "compile_started_at": null, - "compile_ended_at": null, - "exit_code": 0, - "error": null, - "port": "OTA", - "flash_bootloader": false, - "skip_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": "6bb5bca709dd", - "configuration": "master_bedroom_remote.yaml", - "job_type": "upload", - "status": "completed", - "created_at": "2026-11-01T00:41:09.802603+00:00", - "started_at": "2026-11-01T00:41:09.803125+00:00", - "completed_at": "2026-11-01T00:41:30.608853+00:00", - "compile_started_at": null, - "compile_ended_at": null, - "exit_code": 0, - "error": null, - "port": "OTA", - "flash_bootloader": false, - "skip_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": "eb9c46d52a07", - "configuration": "led-controller-jordyn-a1.yaml", - "job_type": "upload", - "status": "completed", - "created_at": "2026-11-01T00:40:20.734241+00:00", - "started_at": "2026-11-01T00:40:20.734447+00:00", - "completed_at": "2026-11-01T00:40:35.074262+00:00", - "compile_started_at": null, - "compile_ended_at": null, - "exit_code": 0, - "error": null, - "port": "OTA", - "flash_bootloader": false, - "skip_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": "4dfdfbbd2e53", - "configuration": "airqualitysensor-3.yaml", - "job_type": "upload", - "status": "completed", - "created_at": "2026-11-01T00:39:41.855511+00:00", - "started_at": "2026-11-01T00:39:41.855747+00:00", - "completed_at": "2026-11-01T00:39:53.763244+00:00", - "compile_started_at": null, - "compile_ended_at": null, - "exit_code": 0, - "error": null, - "port": "OTA", - "flash_bootloader": false, - "skip_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": "2dac1041d7aa", "configuration": "airqualitysensor-2.yaml", @@ -237,134 +365,6 @@ "target_esphome_version": "", "failure_reason": "" }, - { - "job_id": "4d5b3c489598", - "configuration": "cat-medication-tracker.yaml", - "job_type": "compile", - "status": "completed", - "created_at": "2026-11-01T00:38:21.572772+00:00", - "started_at": "2026-11-01T00:42:23.334043+00:00", - "completed_at": "2026-11-01T00:43:21.942211+00:00", - "compile_started_at": "2026-11-01T00:42:25.729359+00:00", - "compile_ended_at": "2026-11-01T00:43:21.561022+00:00", - "exit_code": 0, - "error": null, - "port": "", - "flash_bootloader": false, - "skip_bootloader": false, - "is_deferred_install": false, - "new_name": "", - "depends_on": "", - "dependency_released": false, - "progress": 96, - "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": "ce8d239698cd", - "configuration": "master_bedroom_remote.yaml", - "job_type": "compile", - "status": "completed", - "created_at": "2026-11-01T00:38:21.572442+00:00", - "started_at": "2026-11-01T00:40:20.745445+00:00", - "completed_at": "2026-11-01T00:41:09.786830+00:00", - "compile_started_at": "2026-11-01T00:40:23.496882+00:00", - "compile_ended_at": "2026-11-01T00:41:09.533238+00:00", - "exit_code": 0, - "error": null, - "port": "", - "flash_bootloader": false, - "skip_bootloader": false, - "is_deferred_install": false, - "new_name": "", - "depends_on": "", - "dependency_released": false, - "progress": 96, - "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": "41f03b544822", - "configuration": "led-controller-jordyn-a1.yaml", - "job_type": "compile", - "status": "completed", - "created_at": "2026-11-01T00:38:21.572389+00:00", - "started_at": "2026-11-01T00:39:41.873418+00:00", - "completed_at": "2026-11-01T00:40:20.730610+00:00", - "compile_started_at": "2026-11-01T00:39:43.103621+00:00", - "compile_ended_at": "2026-11-01T00:40:20.572824+00:00", - "exit_code": 0, - "error": null, - "port": "", - "flash_bootloader": false, - "skip_bootloader": false, - "is_deferred_install": false, - "new_name": "", - "depends_on": "", - "dependency_released": false, - "progress": 48, - "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": "ad318b31f2fc", - "configuration": "airqualitysensor-3.yaml", - "job_type": "compile", - "status": "completed", - "created_at": "2026-11-01T00:38:21.572282+00:00", - "started_at": "2026-11-01T00:39:14.059513+00:00", - "completed_at": "2026-11-01T00:39:41.852325+00:00", - "compile_started_at": "2026-11-01T00:39:15.548388+00:00", - "compile_ended_at": "2026-11-01T00:39:41.568572+00:00", - "exit_code": 0, - "error": null, - "port": "", - "flash_bootloader": false, - "skip_bootloader": false, - "is_deferred_install": false, - "new_name": "", - "depends_on": "", - "dependency_released": false, - "progress": 97, - "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": "50641b78b86d", "configuration": "airqualitysensor-2.yaml", diff --git a/esphome/family-room-control.yaml b/esphome/family-room-control.yaml index 72fbd7b..29d48af 100644 --- a/esphome/family-room-control.yaml +++ b/esphome/family-room-control.yaml @@ -5,7 +5,7 @@ substitutions: DEVICE_FRIENDLY_NAME: "Family Room Control" LANGUAGE: "en" DISPLAY_MODEL: "ST7789V" - GITHUB_REF: "screens-v0.4.93" + GITHUB_REF: "screens-v0.4.97" esphome: name: "family-room-control" @@ -14,7 +14,7 @@ esphome: packages: display: url: https://github.com/MaxGramser/homeassistant_espscreen - ref: screens-v0.4.93 + ref: screens-v0.4.97 files: [packages/cyd.yaml] refresh: 0s local_overrides: !include family-room-control.local.yaml diff --git a/esphome/living-room.yaml b/esphome/living-room.yaml index c4509da..d3ded8a 100644 --- a/esphome/living-room.yaml +++ b/esphome/living-room.yaml @@ -5,7 +5,7 @@ substitutions: DEVICE_FRIENDLY_NAME: "Living Room" LANGUAGE: "en" DISPLAY_MODEL: "ST7789V" - GITHUB_REF: "screens-v0.4.93" + GITHUB_REF: "screens-v0.4.97" esphome: name: "living-room" @@ -14,7 +14,7 @@ esphome: packages: display: url: https://github.com/MaxGramser/homeassistant_espscreen - ref: screens-v0.4.93 + ref: screens-v0.4.97 files: [packages/cyd.yaml] refresh: 0s local_overrides: !include living-room.local.yaml diff --git a/scripts.yaml b/scripts.yaml index df76ad4..4189046 100644 --- a/scripts.yaml +++ b/scripts.yaml @@ -65,3 +65,16 @@ family_announcement: target: "{{ targets }}" message: "{{ message }}" data: "{{ delivery | default({}) }}" + +bernard_play_discovery_station: + alias: Bernard - Play Discovery Station + description: Start Discovery Station on Bernard via Music Assistant. + mode: restart + sequence: + - action: music_assistant.play_media + target: + entity_id: media_player.bernard_speaker_2 + data: + media_id: apple_music--cVk7PuLm://playlist/ra.q-GAI6IDE5MmM0ODg1MmU2MTBjMjQxYWJiNzBmZjc1N2FhOTVm + media_type: playlist + enqueue: play