diff --git a/automations/rooms/master_bedroom/master_bedroom_white_noise_off.yaml b/automations/rooms/master_bedroom/master_bedroom_white_noise_off.yaml index 2a22d03..255bc1c 100644 --- a/automations/rooms/master_bedroom/master_bedroom_white_noise_off.yaml +++ b/automations/rooms/master_bedroom/master_bedroom_white_noise_off.yaml @@ -7,6 +7,8 @@ trigger: to: "off" action: - - service: media_player.media_stop - entity_id: media_player.master_bedroom_clock + - action: media_player.media_stop + data: {} + target: + device_id: d534ab473e271021b537397cbc6fe700 diff --git a/automations/rooms/master_bedroom/master_bedroom_white_noise_on.yaml b/automations/rooms/master_bedroom/master_bedroom_white_noise_on.yaml index 170275b..f6fc400 100644 --- a/automations/rooms/master_bedroom/master_bedroom_white_noise_on.yaml +++ b/automations/rooms/master_bedroom/master_bedroom_white_noise_on.yaml @@ -11,29 +11,33 @@ action: # data: # entity_id: input_select.master_bedroom_mode # option: 'Off' - - service: media_player.volume_set + - action: media_player.volume_set data: - volume_level: 0.4 + volume_level: 0.3 target: - entity_id: media_player.master_bedroom_clock + device_id: d534ab473e271021b537397cbc6fe700 - - choose: - - conditions: - condition: state - entity_id: input_boolean.kristy_home - state: 'on' - sequence: - - service: media_player.play_media - target: - entity_id: media_player.master_bedroom_clock - data: - media_content_id: media-source://media_source/local/Sounds/relaxing/thunderstorm/thunderstorm.mp3 - media_content_type: audio/mpeg - default: - - service: media_player.play_media - target: - entity_id: media_player.master_bedroom_clock - data: - media_content_id: media-source://media_source/local/Sounds/relaxing/thunderstorm/thunderstorm.mp3 - media_content_type: audio/mpeg + + #- service: script.goodnight_kids_youtube_music + + - action: media_player.shuffle_set + metadata: {} + data: + shuffle: false + target: + device_id: d534ab473e271021b537397cbc6fe700 + - action: media_player.repeat_set + metadata: {} + data: + repeat: all + target: + device_id: d534ab473e271021b537397cbc6fe700 + - action: music_assistant.play_media + metadata: {} + data: + media_id: library://track/101 + media_type: track + enqueue: replace + target: + device_id: d534ab473e271021b537397cbc6fe700 diff --git a/automations/rooms/nursery/nursery_bedtime_button.yaml b/automations/rooms/nursery/nursery_bedtime_button.yaml index cdf0e3f..250ebc2 100644 --- a/automations/rooms/nursery/nursery_bedtime_button.yaml +++ b/automations/rooms/nursery/nursery_bedtime_button.yaml @@ -31,16 +31,14 @@ action: condition: and conditions: - condition: state - entity_id: media_player.ytube_music_player + entity_id: media_player.ma_nursery_hub state: "playing" - - condition: state - entity_id: media_player.ytube_music_player - attribute: remote_player_id - state: "media_player.nursery_hub" - - condition: state - entity_id: media_player.ytube_music_player - attribute: current_playlist_title - state: "Kid's Goodnight Songs" + + - action: media_player.volume_set + data: + volume_level: 0.4 + target: + device_id: be28c87a729c28b9b27b540589895e20 #- service: script.goodnight_kids_youtube_music - action: media_player.shuffle_set @@ -57,7 +55,7 @@ action: - action: music_assistant.play_media data: - media_id: library://playlist/3 + media_id: library://playlist/5 media_type: playlist enqueue: replace target: diff --git a/automations/rooms/nursery/nursery_white_noise_off.yaml b/automations/rooms/nursery/nursery_white_noise_off.yaml index 370398e..8d0d871 100644 --- a/automations/rooms/nursery/nursery_white_noise_off.yaml +++ b/automations/rooms/nursery/nursery_white_noise_off.yaml @@ -8,5 +8,5 @@ trigger: action: - service: media_player.turn_off - entity_id: media_player.nursery_hub + entity_id: media_player.ma_nursery_hub diff --git a/automations/rooms/nursery/nursery_white_noise_on.yaml b/automations/rooms/nursery/nursery_white_noise_on.yaml index 2f46e64..b2e6700 100644 --- a/automations/rooms/nursery/nursery_white_noise_on.yaml +++ b/automations/rooms/nursery/nursery_white_noise_on.yaml @@ -10,16 +10,12 @@ action: - choose: - conditions: - condition: state - entity_id: media_player.ytube_music_player + entity_id: media_player.ma_nursery_hub state: "playing" - - condition: state - entity_id: media_player.ytube_music_player - attribute: remote_player_id - state: "media_player.nursery_hub" sequence: - service: media_player.media_stop target: - entity_id: media_player.ytube_music_player + entity_id: media_player.ma_nursery_hub #- service: input_select.select_option # data: diff --git a/blueprints/script/homeassistant/ask_yes_no_question.yaml b/blueprints/script/homeassistant/ask_yes_no_question.yaml new file mode 100644 index 0000000..e301b12 --- /dev/null +++ b/blueprints/script/homeassistant/ask_yes_no_question.yaml @@ -0,0 +1,264 @@ +blueprint: + name: Ask a Yes/No question + description: 'Ask a simple Yes/No question. Supports 50 different ways of confirming + or rejecting the question. Supports retries. + + ' + domain: script + author: JLo + homeassistant: + min_version: 2025.6.99 + input: + question: + name: Question + description: The question that will be asked by the voice assistant. + selector: + text: {} + yes_section: + name: Confirmation ('Yes', 'Of course', ...) + description: Define what should happen if you reply positively to the question + asked. + icon: mdi:play + input: + yes_actions: + name: Actions + description: Actions to perform if you reply positively to the question + asked. + default: [] + selector: + action: {} + yes_answer: + name: Answer + description: Answer of the voice assistant if you reply positively to the + question asked. + default: Done + selector: + text: {} + no_section: + name: Rejection ('No', 'Negative', ...) + description: Define what should happen if you reply negatively to the question + asked. + icon: mdi:stop + input: + no_actions: + name: Actions + description: Actions to perform if you reply negatively to the question + asked. + default: [] + selector: + action: {} + no_answer: + name: Answer + description: Answer of the voice assistant if you reply negatively to the + question asked. + default: Action cancelled + selector: + text: {} + other_section: + name: Other responses + description: Define what should happen if the response is not understood. + icon: mdi:help + collapsed: true + input: + other_actions: + name: Actions + description: Actions to perform if the response is not understood. + default: [] + selector: + action: {} + other_answer: + name: Answer + description: Answer of the voice assistant if the response is not understood. + default: Sorry, I couldn't understand that + selector: + text: {} + repeat_section: + name: Advanced parameters (Retries) + description: Define how many times the question should be asked if the answer + is not understood. + icon: mdi:cog + collapsed: true + input: + number_of_retries: + name: Number of retries + description: Number of times the question should be re-asked if the answer + is not understood. + default: 0 + selector: + number: + min: 0.0 + max: 10.0 + mode: slider + step: 1.0 + source_url: https://www.home-assistant.io/blueprints/blog/2025-07/ask_yes_no_question.yaml +fields: + voice_assistant: + name: Voice assistant + description: The voice assistant that will be used for that conversation. + required: true + selector: + entity: + multiple: false + filter: + - domain: assist_satellite + preannounce: + name: Preannounce + description: Play a sound before the question is asked. + required: true + default: true + selector: + boolean: +sequence: +- variables: + number_of_retries: !input number_of_retries +- repeat: + sequence: + - action: assist_satellite.ask_question + continue_on_error: true + data: + question: !input question + preannounce: '{{preannounce}}' + entity_id: '{{voice_assistant}}' + answers: + - id: 'yes' + sentences: + - 'Yes' + - Sure + - Absolutely + - Go ahead + - Please do + - Of course + - That's fine + - Do it + - Yep + - Yeah + - Ok + - Okay + - Affirmative + - I agree + - Sounds good + - You got it + - Definitely + - By all means + - Why not + - Indeed + - Confirmed + - Let's do it + - Certainly + - Right + - Fine + - All good + - Make it so + - I approve + - That's right + - I'm okay with that + - No problem + - Go for it + - Sounds fine + - I'm on board + - Proceed + - It's a yes + - I'm in + - Okay yes + - That's a yes + - Yeah go ahead + - I'm good with that + - Positive + - Do that + - It's okay + - Works for me + - I'm fine with that + - Yep do it + - Please go ahead + - That's what I want + - Exactly + - id: 'no' + sentences: + - 'No' + - Nope + - Don't + - Please don't + - No thank you + - I don't think so + - Not now + - That's a no + - I'd rather not + - No way + - Not really + - Cancel that + - Negative + - Stop + - Don't do it + - I said no + - No need + - Never mind + - Not necessary + - No that's not right + - I disagree + - Skip it + - Don't proceed + - I don't want that + - Don't go ahead + - Leave it + - That's incorrect + - I prefer not to + - No thanks + - I'm not okay with that + - I'm saying no + - Let's not + - Not this time + - I'm not in + - Please don't do that + - Don't take action + - I'd say no + - No action needed + - I'm against that + - I'd skip it + - Rather not + - Not today + - I'm not sure better not + - That's not what I want + - That won't be necessary + - I don't agree + - No that's wrong + - Let's skip that + - I'm not comfortable with that + response_variable: response + - choose: + - conditions: + - condition: template + value_template: '{{response.id == ''yes''}}' + sequence: + - sequence: !input yes_actions + - action: assist_satellite.announce + metadata: {} + data: + message: !input yes_answer + preannounce: false + target: + entity_id: '{{voice_assistant}}' + - conditions: + - condition: template + value_template: '{{response.id == ''no''}}' + sequence: + - sequence: !input no_actions + - action: assist_satellite.announce + metadata: {} + data: + message: !input no_answer + preannounce: false + target: + entity_id: '{{voice_assistant}}' + default: + - sequence: !input other_actions + - action: assist_satellite.announce + metadata: {} + data: + message: !input other_answer + preannounce: false + target: + entity_id: '{{voice_assistant}}' + until: + - condition: template + value_template: '{{ (response is defined and response.id in [''yes'',''no'']) + or repeat.index > number_of_retries}}' diff --git a/components/packages/ambientsounds.yaml b/components/packages/ambientsounds.yaml index f99b3ca..c48777d 100644 --- a/components/packages/ambientsounds.yaml +++ b/components/packages/ambientsounds.yaml @@ -134,7 +134,7 @@ script: {% elif is_state("input_select.ambient_sound", "River") %} media-source://media_source/local/Sounds/relaxing/river.mp3 {% elif is_state("input_select.ambient_sound", "Female Rock-a-bye Baby") %} media-source://media_source/local/Sounds/relaxing/rock_a_bye_baby_hol.mp3 {% elif is_state("input_select.ambient_sound", "Male Rock-a-bye Baby") %} media-source://media_source/local/Sounds/relaxing/rock_a_bye_baby_jmp.mp3 - {% elif is_state("input_select.ambient_sound", "Thunderstorm") %} media-source://media_source/local/Sounds/relaxing/thunderstorm/thunderstorm.mp3 + {% elif is_state("input_select.ambient_sound", "Thunderstorm") %} media-source://media_source/local/Sounds/relaxing/thunderstorm.mp3 {% elif is_state("input_select.ambient_sound", "Female Twinkle Twinkle") %} media-source://media_source/local/Sounds/relaxing/twinkle_twinkle_hol.mp3 {% elif is_state("input_select.ambient_sound", "Male Twinkle Twinkle") %} media-source://media_source/local/Sounds/relaxing/twinkle_twinkle_jmp.mp3 {% elif is_state("input_select.ambient_sound", "White Noise") %} media-source://media_source/local/Sounds/relaxing/white_noise.mp3 @@ -144,7 +144,7 @@ script: 'media-source://media_source/local/Sounds/relaxing/oscillating_fan.mp3', 'media-source://media_source/local/Sounds/relaxing/rain.mp3', 'media-source://media_source/local/Sounds/relaxing/river.mp3', - 'media-source://media_source/local/Sounds/relaxing/thunderstorm/thunderstorm.mp3'] %} + 'media-source://media_source/local/Sounds/relaxing/thunderstorm.mp3'] %} {{ noises|random }} {% elif is_state("input_select.ambient_sound", "Random Kids Noise") %} {% set noises = ['media-source://media_source/local/Sounds/relaxing/baby_shusher_hol.mp3', diff --git a/components/packages/amcrest_cameras.yaml b/components/packages/amcrest_cameras.yaml new file mode 100644 index 0000000..468c541 --- /dev/null +++ b/components/packages/amcrest_cameras.yaml @@ -0,0 +1,8 @@ +amcrest: + - name: Amcrest Camera19 + host: !secret camera19ip + username: !secret camera19username + password: !secret camerapassword + stream_source: rtsp + binary_sensors: + - online diff --git a/components/packages/databases.yaml b/components/packages/databases.yaml index b2dbb04..11d37a7 100644 --- a/components/packages/databases.yaml +++ b/components/packages/databases.yaml @@ -35,6 +35,7 @@ recorder: - automation.cam14_ptz_presets - automation.cam14_ptz_move - automation.cycle_back_yard_camera + - sensor.nws_alerts_last_updated entity_globs: - sensor.*_text - sensor.*_last_motion @@ -44,6 +45,11 @@ recorder: - sensor.acurite* - sensor.*auto_tare - sensor.*mac_address + - sensor.*_last_seen + - sensor.*_lastactive + - sensor.*_audio_peak_volume + - sensor.*_activewindow + - media_player.zz* - binary_sensor.*running - switch.frigate* #- binary_sensor.*battery* @@ -77,6 +83,8 @@ recorder: - sensor.interlogix* - sensor.*_timestamp - sensor.everything_presence_lite*target* + - sensor.*_cpu_percent + - sensor.*_memory_percent domains: - updater - calendar @@ -222,6 +230,8 @@ logbook: - sensor.*cube* - sensor.*power_outage_count - sensor.*_timestamp + - sensor.*_cpu_percent + - sensor.*_memory_percent domains: - sun - device_tracker diff --git a/components/packages/dialogflow.yaml b/components/packages/dialogflow.yaml deleted file mode 100644 index c3b0248..0000000 --- a/components/packages/dialogflow.yaml +++ /dev/null @@ -1,41 +0,0 @@ -dialogflow: - -intent_script: - Temperature: - speech: - text: The temperature at home is {{ states('sensor.thermostat_temperature') }} degrees - LocateIntent: - speech: - text: > - {%- for state in states.person -%} - {%- if state.name.lower() == User.lower() -%} - {{ state.name }} is at {{ state.state }} - {%- endif -%} - {%- else -%} - Sorry, I don't have any trackers registered. - {%- endfor %} - WhereAreWeIntent: - speech: - text: > - {%- if is_state('person.clint', 'home') and - is_state('person.kristy', 'home') -%} - You are both home, you silly - {%- else -%} - Kristy is at {{ states("person.kristy") }} - and Clint is at {{ states("person.clint") }} - {% endif %} - TurnLights: - speech: - text: Turning {{ Room }} lights {{ OnOff }} - action: - - service: notify.mobile_app_pixel_7 - data: - message: Someone asked via apiai to turn {{ Room }} lights {{ OnOff }} - - service_template: > - {%- if OnOff == "on" -%} - switch.turn_on - {%- else -%} - switch.turn_off - {%- endif -%} - data: - entity_id: "switch.light_{{ Room | replace(' ', '_') }}" diff --git a/components/packages/google_assistant.yaml b/components/packages/google_assistant.yaml index ab1145a..6806877 100644 --- a/components/packages/google_assistant.yaml +++ b/components/packages/google_assistant.yaml @@ -224,83 +224,6 @@ google_assistant: room: Furnace Room expose: true - input_button.blue_room_chores: - name: Blue Room Chores - room: Blue Room - expose: true - - input_button.computer_area_chores: - name: Computer Area Chores - room: Computer Area - expose: true - - input_button.dining_room_chores: - name: Dining Room Chores - room: Dining Room - expose: true - - input_button.entryway_chores: - name: Entryway Chores - room: Entryway - expose: true - - input_button.front_room_chores: - name: Front Room Chores - room: Front Room - expose: true - - input_button.furnace_room_chores: - name: Furnace Room Chores - room: Furnace Room - expose: true - - input_button.garage_chores: - name: Garage Chores - room: Garage - expose: true - - input_button.kitchen_chores: - name: Kitchen Chores - room: Kitchen - expose: true - - input_button.great_room_chores: - name: Great Room Chores - room: Great Room - expose: true - - input_button.mancave_chores: - name: Mancave Chores - room: Mancave - expose: true - - input_button.master_bathroom_chores: - name: Master Bathroom Chores - room: Master Bathroom - expose: true - - input_button.master_bedroom_chores: - name: Master Bedroom Chores - room: Master Bedroom - expose: true - - input_button.nursery_chores: - name: Nursery Chores - room: Nursery - expose: true - - input_button.utility_room_chores: - name: Utility Room Chores - room: Utility Room - expose: true - - input_button.all_chores: - name: All Chores - room: Computer Area - expose: true - aliases: - - Chores - input_button.nursery_bedtime: name: Kids Bedtime room: Nursery diff --git a/components/packages/hvac_stats.yaml b/components/packages/hvac_stats.yaml index 0edb97c..1bd2f87 100644 --- a/components/packages/hvac_stats.yaml +++ b/components/packages/hvac_stats.yaml @@ -21,16 +21,16 @@ sensor: - sensor.front_room_thermostat_temperature - sensor.kitchen_multisensor_air_temperature - - platform: min_max - name: Upstairs Mean Temperature - type: mean - entity_ids: - - sensor.master_bedroom_multisensor_air_temperature - - sensor.nursery_multisensor_air_temperature - - sensor.thermostat_temperature - - sensor.bar_temperature - - sensor.front_room_thermostat_temperature - - sensor.kitchen_multisensor_air_temperature + # - platform: min_max + # name: Upstairs Mean Temperature + # type: mean + # entity_ids: + # - sensor.master_bedroom_multisensor_air_temperature + # - sensor.nursery_multisensor_air_temperature + # - sensor.thermostat_temperature + # - sensor.bar_temperature + # - sensor.front_room_thermostat_temperature + # - sensor.kitchen_multisensor_air_temperature - platform: min_max name: Upstairs Max Humidity @@ -81,14 +81,14 @@ sensor: - sensor.blue_room_thermostat_temperature - sensor.great_room_multisensor_air_temperature - - platform: min_max - name: Downstairs Mean Temperature - type: mean - entity_ids: - - sensor.computer_area_multisensor_air_temperature - - sensor.mancave_thermostat_temperature - - sensor.blue_room_thermostat_temperature - - sensor.great_room_multisensor_air_temperature + # - platform: min_max + # name: Downstairs Mean Temperature + # type: mean + # entity_ids: + # - sensor.computer_area_multisensor_air_temperature + # - sensor.mancave_thermostat_temperature + # - sensor.blue_room_thermostat_temperature + # - sensor.great_room_multisensor_air_temperature - platform: min_max name: Downstairs Max Humidity diff --git a/components/packages/ytmusic.yaml b/components/packages/ytmusic.yaml index 6e8cf86..0ebe8c1 100644 --- a/components/packages/ytmusic.yaml +++ b/components/packages/ytmusic.yaml @@ -1,32 +1,3 @@ -input_select: - ytube_music_player_source: - name: Source - icon: mdi:music-box-multiple - options: # don't change - - "Playlist Radio" - - "Playlist" - - ytube_music_player_speakers: - name: Speakers - icon: mdi:speaker - options: # don't change - - "loading" - - ytube_music_player_playlist: - name: Playlist - icon: mdi:playlist-music - options: # don't change - - "loading" - - ytube_music_player_playmode: - name: Playmode - icon: mdi:playlist-music - options: ## don't change - - "Shuffle" - - "Random" - - "Shuffle Random" - - "Direct" - # Optional, defaults to true input_boolean: ytube_music_player_playcontinuous: diff --git a/customizations/entities/media_players.yaml b/customizations/entities/media_players.yaml index 1f3eade..f2b0eb8 100644 --- a/customizations/entities/media_players.yaml +++ b/customizations/entities/media_players.yaml @@ -49,8 +49,8 @@ media_player.kitchen: media_player.master_bedroom_clock: icon: mdi:cast-audio -media_player.master_bedroom_tv: - icon: mdi:cast-variant +# media_player.master_bedroom_tv: +# icon: mdi:cast-variant media_player.nursery_hub: icon: mdi:cast-variant diff --git a/lovelace/cameras/view-camera-18.yaml b/lovelace/cameras/view-camera-18.yaml index 226b66d..4259e9b 100644 --- a/lovelace/cameras/view-camera-18.yaml +++ b/lovelace/cameras/view-camera-18.yaml @@ -179,16 +179,16 @@ cards: top: 12% left: 76% - - type: conditional - conditions: - - entity: binary_sensor.front_yard_animal_occupancy - state: "on" - elements: - - type: state-icon - entity: binary_sensor.front_yard_animal_occupancy - style: - top: 12% - left: 71% + # - type: conditional + # conditions: + # - entity: binary_sensor.front_yard_animal_occupancy + # state: "on" + # elements: + # - type: state-icon + # entity: binary_sensor.front_yard_animal_occupancy + # style: + # top: 12% + # left: 71% - type: state-icon entity: light.front_porch_overhead diff --git a/lovelace/cameras/view-camera-19.yaml b/lovelace/cameras/view-camera-19.yaml index 8e364e1..662c52e 100644 --- a/lovelace/cameras/view-camera-19.yaml +++ b/lovelace/cameras/view-camera-19.yaml @@ -168,16 +168,16 @@ cards: top: 60% left: 65% - - type: conditional - conditions: - - entity: binary_sensor.front_yard_animal_occupancy - state: "on" - elements: - - type: state-icon - entity: binary_sensor.front_yard_animal_occupancy - style: - top: 60% - left: 70% + # - type: conditional + # conditions: + # - entity: binary_sensor.front_yard_animal_occupancy + # state: "on" + # elements: + # - type: state-icon + # entity: binary_sensor.front_yard_animal_occupancy + # style: + # top: 60% + # left: 70% - type: state-icon entity: light.front_porch_overhead diff --git a/lovelace/details/view-weather.yaml b/lovelace/details/view-weather.yaml index f2ee017..40c3078 100644 --- a/lovelace/details/view-weather.yaml +++ b/lovelace/details/view-weather.yaml @@ -4,11 +4,21 @@ icon: mdi:weather-sunny type: sidebar visible: - user: 24a4bd075e7f41a497dd0390a1dd4a9f + +header: + layout: responsive + badges_position: bottom + badges_wrap: scroll + +badges: + - type: custom:mushroom-chips-card + chips: + - type: back + cards: - type: iframe url: >- https://embed.windy.com/embed2.html?lat=42.534&lon=-85.842&detailLat=42.439&detailLon=-85.838&width=650&height=450&zoom=9&level=surface&overlay=radar&product=radar&menu=&message=&marker=&calendar=now&pressure=&type=map&location=coordinates&detail=&metricWind=default&metricTemp=default&radarRange=-1 - - type: vertical-stack view_layout: position: sidebar @@ -22,43 +32,18 @@ cards: dawn: true noon: true dusk: true - # azimuth: true - # sun_azimuth: true - # moon_azimuth: true - # elevation: true - # sun_elevation: true - # moon_elevation: true moonrise: true moonset: true moon_phase: true - - - type: weather-forecast entity: weather.kbiv name: Next 5 Hours show_current: true show_forecast: true forecast_type: hourly - - type: weather-forecast entity: weather.thermostat name: Next 5 Days show_current: true show_forecast: true forecast_type: daily - - # - type: custom:hourly-weather - # entity: weather.openweathermap_hourly - # icons: true - # name: "" - # hide_hours: false - - # - type: markdown - # content: >- - #

Weather Forecast

- #

Now: {{ states('weather.openweathermap_hourly') }}

- #

Next 12 Hours:

- # {% for forecast in state_attr("weather.openweathermap_hourly","forecast") -%} - # {{ forecast.condition }} - {{ forecast.precipitation_probability }}% chance of precipitation - - # {% endfor %} diff --git a/lovelace/frigate/view-ai-cam03.yaml b/lovelace/frigate/view-ai-cam03.yaml index 80df4d2..eaf20b0 100644 --- a/lovelace/frigate/view-ai-cam03.yaml +++ b/lovelace/frigate/view-ai-cam03.yaml @@ -93,14 +93,19 @@ cards: - camera_entity: camera.frigate_cam03 title: Great Room icon: mdi:microsoft-xbox-controller - live_provider: ha + live_provider: go2rtc + go2rtc: + modes: + - webrtc + stream: rtsp_cam03_sub frigate: camera_name: frigate_cam03 zone: great_room label: person - url: http://192.168.1.11:5000 view: default: snapshots + theme: + themes: [] event_gallery: controls: thumbnails: @@ -115,11 +120,25 @@ cards: enabled: false frigate_ui: enabled: false - frigate: - enabled: false live: enabled: false + iris: + enabled: false + snapshots: + enabled: true + cameras: + enabled: false media_viewer: controls: next_previous: style: chevrons + snapshot_click_plays_clip: false + status_bar: {} + media_gallery: + controls: + thumbnails: + size: 150 + show_details: false + show_favorite_control: false + show_timeline_control: false + show_download_control: false diff --git a/lovelace/frigate/view-ai-cam14.yaml b/lovelace/frigate/view-ai-cam14.yaml index 99c138f..1bb9b12 100644 --- a/lovelace/frigate/view-ai-cam14.yaml +++ b/lovelace/frigate/view-ai-cam14.yaml @@ -82,48 +82,48 @@ cards: controls: next_previous: style: chevrons - - type: horizontal-stack - cards: - - type: glance - title: Animals - show_icon: false - columns: 1 - entities: - - name: Count - entity: sensor.frigate_cam14_animal_count - - name: Occupancy - entity: binary_sensor.frigate_cam14_animal_occupancy - - type: custom:advanced-camera-card - cameras: - - camera_entity: camera.frigate_cam14 - title: Back Yard - icon: mdi:bird - live_provider: ha - frigate: - camera_name: frigate_cam14 - label: animal - url: http://192.168.1.11:5000 - view: - default: snapshots - event_gallery: - controls: - thumbnails: - size: 100 - menu: - style: overlay - position: top - buttons: - clips: - enabled: false - download: - enabled: false - frigate_ui: - enabled: false - frigate: - enabled: false - live: - enabled: false - media_viewer: - controls: - next_previous: - style: chevrons + # - type: horizontal-stack + # cards: + # - type: glance + # title: Animals + # show_icon: false + # columns: 1 + # entities: + # - name: Count + # entity: sensor.frigate_cam14_animal_count + # - name: Occupancy + # entity: binary_sensor.frigate_cam14_animal_occupancy + # - type: custom:advanced-camera-card + # cameras: + # - camera_entity: camera.frigate_cam14 + # title: Back Yard + # icon: mdi:bird + # live_provider: ha + # frigate: + # camera_name: frigate_cam14 + # label: animal + # url: http://192.168.1.11:5000 + # view: + # default: snapshots + # event_gallery: + # controls: + # thumbnails: + # size: 100 + # menu: + # style: overlay + # position: top + # buttons: + # clips: + # enabled: false + # download: + # enabled: false + # frigate_ui: + # enabled: false + # frigate: + # enabled: false + # live: + # enabled: false + # media_viewer: + # controls: + # next_previous: + # style: chevrons diff --git a/lovelace/frigate/view-ai-cam18.yaml b/lovelace/frigate/view-ai-cam18.yaml index b7ab1e2..93fafb1 100644 --- a/lovelace/frigate/view-ai-cam18.yaml +++ b/lovelace/frigate/view-ai-cam18.yaml @@ -126,48 +126,48 @@ cards: controls: next_previous: style: chevrons - - type: horizontal-stack - cards: - - type: glance - title: Animals - show_icon: false - columns: 1 - entities: - - name: Count - entity: sensor.frigate_cam18_animal_count - - name: Occupancy - entity: binary_sensor.frigate_cam18_animal_occupancy - - type: custom:advanced-camera-card - cameras: - - camera_entity: camera.frigate_cam18 - title: Front Porch - icon: mdi:bird - live_provider: ha - frigate: - camera_name: frigate_cam18 - label: animal - url: http://192.168.1.11:5000 - view: - default: snapshots - event_gallery: - controls: - thumbnails: - size: 100 - menu: - style: overlay - position: top - buttons: - clips: - enabled: false - download: - enabled: false - frigate_ui: - enabled: false - frigate: - enabled: false - live: - enabled: false - media_viewer: - controls: - next_previous: - style: chevrons + # - type: horizontal-stack + # cards: + # - type: glance + # title: Animals + # show_icon: false + # columns: 1 + # entities: + # - name: Count + # entity: sensor.frigate_cam18_animal_count + # - name: Occupancy + # entity: binary_sensor.frigate_cam18_animal_occupancy + # - type: custom:advanced-camera-card + # cameras: + # - camera_entity: camera.frigate_cam18 + # title: Front Porch + # icon: mdi:bird + # live_provider: ha + # frigate: + # camera_name: frigate_cam18 + # label: animal + # url: http://192.168.1.11:5000 + # view: + # default: snapshots + # event_gallery: + # controls: + # thumbnails: + # size: 100 + # menu: + # style: overlay + # position: top + # buttons: + # clips: + # enabled: false + # download: + # enabled: false + # frigate_ui: + # enabled: false + # frigate: + # enabled: false + # live: + # enabled: false + # media_viewer: + # controls: + # next_previous: + # style: chevrons diff --git a/lovelace/frigate/view-ai-cam19.yaml b/lovelace/frigate/view-ai-cam19.yaml index 77d542c..cfa1be9 100644 --- a/lovelace/frigate/view-ai-cam19.yaml +++ b/lovelace/frigate/view-ai-cam19.yaml @@ -126,48 +126,48 @@ cards: controls: next_previous: style: chevrons - - type: horizontal-stack - cards: - - type: glance - title: Animals - show_icon: false - columns: 1 - entities: - - name: Count - entity: sensor.frigate_cam19_animal_count - - name: Occupancy - entity: binary_sensor.frigate_cam19_animal_occupancy - - type: custom:advanced-camera-card - cameras: - - camera_entity: camera.frigate_cam19 - title: Front Porch - icon: mdi:bird - live_provider: ha - frigate: - camera_name: frigate_cam19 - label: animal - url: http://192.168.1.11:5000 - view: - default: snapshots - event_gallery: - controls: - thumbnails: - size: 100 - menu: - style: overlay - position: top - buttons: - clips: - enabled: false - download: - enabled: false - frigate_ui: - enabled: false - frigate: - enabled: false - live: - enabled: false - media_viewer: - controls: - next_previous: - style: chevrons + # - type: horizontal-stack + # cards: + # - type: glance + # title: Animals + # show_icon: false + # columns: 1 + # entities: + # - name: Count + # entity: sensor.frigate_cam19_animal_count + # - name: Occupancy + # entity: binary_sensor.frigate_cam19_animal_occupancy + # - type: custom:advanced-camera-card + # cameras: + # - camera_entity: camera.frigate_cam19 + # title: Front Porch + # icon: mdi:bird + # live_provider: ha + # frigate: + # camera_name: frigate_cam19 + # label: animal + # url: http://192.168.1.11:5000 + # view: + # default: snapshots + # event_gallery: + # controls: + # thumbnails: + # size: 100 + # menu: + # style: overlay + # position: top + # buttons: + # clips: + # enabled: false + # download: + # enabled: false + # frigate_ui: + # enabled: false + # frigate: + # enabled: false + # live: + # enabled: false + # media_viewer: + # controls: + # next_previous: + # style: chevrons diff --git a/lovelace/phone/media.yaml b/lovelace/phone/media.yaml index e0b3156..27b808a 100644 --- a/lovelace/phone/media.yaml +++ b/lovelace/phone/media.yaml @@ -1,31 +1,95 @@ -theme: Mushroom +type: sections +max_columns: 4 title: Media path: media icon: mdi:music -badges: [] subview: true -cards: - # Back button and title - - !include /config/lovelace/templates/front-room-roku-card.yaml - - !include /config/lovelace/templates/great-room-roku-card.yaml - - type: vertical-stack +sections: + - type: grid + cards: + - type: custom:mini-media-player + entity: media_player.front_room_tv + toggle_power: true + artwork: material + info: short + source: full + volume_stateless: false + group: false + idle_view: + when_standby: true + when_idle: true + - type: custom:firemote-card + entity: media_player.front_room_tv + device_family: roku + device_type: roku-ultra-2020 + compatibility_mode: default + roku_remote_entity: remote.front_room_tv + app_launch_1: youtube + app_launch_2: disney-plus + app_launch_3: max + app_launch_4: hulu + app_launch_5: function-find-my-remote + visible_name_text: Front Room + name_position: top + visible_name_text_color: '#ffffff' + grid_options: + columns: full + defaultRemoteStyle_override: RVR + app_launcher_relative_size: '8' + useCustomSkin: true + dpad_style: minimal + scale: '100' + column_span: 1 + - type: grid + cards: + - type: custom:mini-media-player + entity: media_player.downstairs_roku + toggle_power: false + artwork: cover + info: scroll + source: icon + volume_stateless: false + group: false + idle_view: + when_idle: true + when_standby: true + - type: custom:firemote-card + entity: media_player.downstairs_roku + device_family: roku + device_type: roku-ultra-2020 + compatibility_mode: default + roku_remote_entity: remote.downstairs_roku + app_launch_1: youtube + app_launch_2: disney-plus + app_launch_3: max + app_launch_4: hulu + app_launch_5: function-find-my-remote + visible_name_text: Great Room + name_position: top + visible_name_text_color: '#ffffff' + grid_options: + columns: full + defaultRemoteStyle_override: RVR + app_launcher_relative_size: '8' + scale: '100' + column_span: 1 + - type: grid cards: - # Primary YouTube Music Player card - type: vertical-stack cards: - type: horizontal-stack cards: - type: custom:mushroom-entity-card - entity: input_select.ytube_music_player_playlist + entity: select.ytube_music_player_playlist name: Playlist layout: vertical - hide_icon: true + icon_type: none primary_info: state secondary_info: name - type: custom:mushroom-entity-card - entity: input_select.ytube_music_player_speakers + entity: select.ytube_music_player_speaker name: Speakers - hide_icon: true + icon_type: none layout: vertical primary_info: state secondary_info: name @@ -44,24 +108,26 @@ cards: - previous - next - play_pause_stop - - type: vertical-stack - cards: - - !include /config/lovelace/templates/card-mini-media-player.yaml + - !include /config/lovelace/templates/card-mini-media-player.yaml - type: horizontal-stack cards: - type: custom:mushroom-entity-card - entity: input_boolean.ytube_music_player_playcontinuous + entity: select.ytube_music_player_play_mode layout: vertical - hide_icon: true - name: Continuous? + icon_type: none + name: Play Mode + fill_container: true - type: custom:mushroom-entity-card - entity: input_select.ytube_music_player_playmode + entity: select.ytube_music_player_repeat_mode layout: vertical - hide_icon: true + name: Repeat Mode + icon_type: none + fill_container: true - type: custom:mushroom-entity-card - entity: input_select.ytube_music_player_source + entity: select.ytube_music_player_radio_mode layout: vertical - hide_icon: true + icon_type: none + fill_container: true - type: custom:button-card styles: card: @@ -69,12 +135,14 @@ cards: state: - operator: template value: > - [[[ return states['media_player.ytube_music_player'].attributes.likeStatus + [[[ return + states['media_player.ytube_music_player'].attributes.likeStatus == "LIKE"]]] icon: mdi:thumb-up - operator: template value: > - [[[ return states['media_player.ytube_music_player'].attributes.likeStatus + [[[ return + states['media_player.ytube_music_player'].attributes.likeStatus == "INDIFFERENT"]]] icon: mdi:thumb-up-outline - operator: default @@ -86,207 +154,4 @@ cards: service_data: entity_id: media_player.ytube_music_player command: rate_track - parameters: thumb_toggle_up_middle - - # Lyrics - - type: conditional - conditions: - - entity: media_player.ytube_music_player - state: playing - card: - type: vertical-stack - cards: - - type: custom:mushroom-entity-card - entity: input_boolean.ytube_music_player_show_lyrics - name: Lyrics - secondary_info: none - tap_action: - action: toggle - - type: conditional - conditions: - - entity: input_boolean.ytube_music_player_show_lyrics - state: "on" - card: - type: markdown - content: >- - {% if is_state('media_player.ytube_music_player','playing') %}{{ - state_attr("sensor.ytube_music_player_extra", "lyrics") }}{% else - %}Player off{% endif %} - - # Speaker list - - type: conditional - conditions: - - entity: media_player.ytube_music_player - state: playing - card: - type: vertical-stack - cards: - - type: custom:mushroom-entity-card - entity: input_boolean.ytube_music_player_show_speakers - name: Speakers - secondary_info: none - tap_action: - action: toggle - - type: conditional - conditions: - - entity: input_boolean.ytube_music_player_show_speakers - state: "on" - card: - type: vertical-stack - cards: - - type: conditional - conditions: - - entity: media_player.front_room_hub - state_not: "off" - card: - entity: media_player.front_room_hub - name: Front Room Hub - type: custom:mini-media-player - group: true - hide_when_off: true - - type: conditional - conditions: - - entity: media_player.kitchen - state_not: "off" - card: - entity: media_player.kitchen - name: Kitchen - type: custom:mini-media-player - group: true - hide_when_off: true - - type: conditional - conditions: - - entity: media_player.bathroom_mini - state_not: "off" - card: - entity: media_player.bathroom_mini - name: Bathroom Mini - type: custom:mini-media-player - group: true - - type: conditional - conditions: - - entity: media_player.nursery_hub - state_not: "off" - card: - entity: media_player.nursery_hub - name: Nursery Hub - type: custom:mini-media-player - group: true - - type: conditional - conditions: - - entity: media_player.master_bedroom_clock - state_not: "off" - card: - entity: media_player.master_bedroom_clock - name: Master Bedroom Clock - type: custom:mini-media-player - group: true - - type: conditional - conditions: - - entity: media_player.computer_area_hub - state_not: "off" - card: - entity: media_player.computer_area_hub - name: Computer Area Clock - type: custom:mini-media-player - group: true - - type: conditional - conditions: - - entity: media_player.garage - state_not: "off" - card: - entity: media_player.garage - name: Garage - type: custom:mini-media-player - group: true - - type: conditional - conditions: - - entity: media_player.deck - state_not: "off" - card: - entity: media_player.deck - name: Deck - type: custom:mini-media-player - group: true - - type: conditional - conditions: - - entity: media_player.great_room - state_not: "off" - card: - entity: media_player.great_room - name: Great Room - type: custom:mini-media-player - group: true - - # Playlist - - type: conditional - conditions: - - entity: media_player.ytube_music_player - state: playing - card: - type: vertical-stack - cards: - - type: custom:mushroom-entity-card - entity: input_boolean.ytube_music_player_show_playlist - name: Playlist - secondary_info: none - tap_action: - action: toggle - - type: conditional - conditions: - - entity: input_boolean.ytube_music_player_show_playlist - state: "on" - card: - type: markdown - content: >- - {% if is_state('media_player.ytube_music_player','playing') %} - {% for i in - range(0,state_attr("sensor.ytube_music_player_extra","total_tracks")) - %} - {% if i == state_attr("media_player.ytube_music_player","current_track") %}Track {{i+1}} of {{state_attr('sensor.ytube_music_player_extra','total_tracks')}}{% endif %} - {%- endfor %}{% else %}Player off{% endif %} - - {% if is_state('media_player.ytube_music_player','playing') %}{% - for i in range(0,state_attr("sensor.ytube_music_player_extra", - "total_tracks")) %} - {% if i == state_attr("media_player.ytube_music_player", - "current_track") %}**{% endif %}\[{{i+1}}] {{ - state_attr("sensor.ytube_music_player_extra", "tracks")[i] }}{% - if i == state_attr("media_player.ytube_music_player", - "current_track") %}**{% endif %} {%- endfor %}{% else %}Player - off{% endif %} - - # Song Details - - type: conditional - conditions: - - entity: media_player.ytube_music_player - state: playing - card: - type: vertical-stack - cards: - - type: custom:mushroom-entity-card - entity: input_boolean.ytube_music_player_show_details - name: Details - secondary_info: none - tap_action: - action: toggle - - type: conditional - conditions: - - entity: input_boolean.ytube_music_player_show_details - state: "on" - card: - type: vertical-stack - cards: - - type: custom:mushroom-template-card - primary: '{{state_attr("media_player.ytube_music_player","media_artist")}}' - secondary: Artist - - type: custom:mushroom-template-card - primary: '{{state_attr("media_player.ytube_music_player","media_title")}}' - secondary: Track - - type: custom:mushroom-template-card - primary: >- - {{state_attr(state_attr("media_player.ytube_music_player","remote_player_id"),"friendly_name")}} - secondary: Speaker(s) - - type: custom:mushroom-template-card - primary: '{{state_attr("media_player.ytube_music_player", "videoId")}}' - secondary: VideoId + parameters: thumb_toggle_up_middle \ No newline at end of file diff --git a/lovelace/resources.yaml b/lovelace/resources.yaml index 5bcbbda..2ad5879 100644 --- a/lovelace/resources.yaml +++ b/lovelace/resources.yaml @@ -2,6 +2,9 @@ - url: /webrtc/webrtc-camera.js type: module +- url: /hacsfiles/HA-Firemote/HA-Firemote.js + type: module + # - url: /hacsfiles/webrtc/webrtc-camera.js # type: module @@ -22,8 +25,8 @@ - type: module url: /local/floorplan/floorplan-card.js -- url: /hacsfiles/power-flow-card-plus/power-flow-card-plus.js - type: module +# - url: /hacsfiles/power-flow-card-plus/power-flow-card-plus.js +# type: module # - type: module # url: /local/webrtc/webrtc-camera.js @@ -48,8 +51,8 @@ - url: /hacsfiles/lovelace-horizon-card/lovelace-horizon-card.js type: module -- url: /hacsfiles/frigate-hass-card/frigate-hass-card.js - type: module +# - url: /hacsfiles/frigate-hass-card/frigate-hass-card.js +# type: module - url: /hacsfiles/Home-Assistant-Mail-And-Packages-Custom-Card/Home-Assistant-Mail-And-Packages-Custom-Card.js type: module @@ -78,4 +81,7 @@ - url: /hacsfiles/mass-search-card/mass-search-card.js type: module +- url: /hacsfiles/advanced-camera-card/advanced-camera-card.js + type: module + - url: /local \ No newline at end of file diff --git a/lovelace/stretch-cameras/computer-area-card.yaml b/lovelace/stretch-cameras/computer-area-card.yaml index 924aace..6b1a7d4 100644 --- a/lovelace/stretch-cameras/computer-area-card.yaml +++ b/lovelace/stretch-cameras/computer-area-card.yaml @@ -1,16 +1,3 @@ -# type: custom:webrtc-camera -# url: rtsp://192.168.1.7:8554/rtsp_cam03_sub -# #ui: true # custom video controls, default false -# title: Computer Area # optional card title -# # poster: https://home-assistant.io/images/cast/splash.png # still image when stream is loading -# muted: true # disable sound, default false -# # intersection: 0.75 # auto stop stream when less than 75% of video element is in the screen, 50% by default -# # background: true # run stream when not displayed (ex. for quick video loading), default false - - -# mode: webrtc #,mse,mp4,mjpeg - - type: custom:advanced-camera-card cameras: - camera_entity: camera.frigate_cam03 diff --git a/lovelace/templates/card-mini-media-player.yaml b/lovelace/templates/card-mini-media-player.yaml index d9ba305..7cceabc 100644 --- a/lovelace/templates/card-mini-media-player.yaml +++ b/lovelace/templates/card-mini-media-player.yaml @@ -18,18 +18,18 @@ shortcuts: icon: mdi:rug - name: Outside type: source - id: media_player.outside + id: outside icon: mdi:grass - name: Everywhere type: source id: inside_and_outside - name: Upstairs type: source - id: all_upstairs_speakers + id: upstairs_public icon: mdi:home-floor-1 - name: Downstairs type: source - id: all_downstairs_speakers + id: downstairs_public icon: mdi:home-floor-b - name: Nursery type: source @@ -49,11 +49,11 @@ shortcuts: icon: mdi:dance-ballroom - name: Country type: playlist - id: PLtfKVM9o2_5YBQCwU-6NeAAuonxHfZ7ff + id: RDCLAK5uy_kpxnNxJpPZjLKbL9WgvrPuErWkUxMP6x4 icon: mdi:cow - name: Exercise type: playlist - id: PLtfKVM9o2_5YBQCwU-6NeAAuonxHfZ7ff + id: RDCLAK5uy_n7AeQQ7AO_YuS1kymCjW_OgEkplisOXoA icon: mdi:weight-lifter - name: Disney type: playlist diff --git a/lovelace/templates/front-room-remote.yaml b/lovelace/templates/front-room-remote.yaml new file mode 100644 index 0000000..439d691 --- /dev/null +++ b/lovelace/templates/front-room-remote.yaml @@ -0,0 +1,35 @@ +type: grid +cards: + - type: custom:mini-media-player + entity: media_player.front_room_tv + toggle_power: true + artwork: material + info: short + source: full + volume_stateless: false + group: false + idle_view: + when_standby: true + when_idle: true + - type: custom:firemote-card + entity: media_player.front_room_tv + device_family: roku + device_type: roku-ultra-2020 + compatibility_mode: default + roku_remote_entity: remote.front_room_tv + app_launch_1: youtube + app_launch_2: disney-plus + app_launch_3: max + app_launch_4: hulu + app_launch_5: function-find-my-remote + visible_name_text: Front Room + name_position: top + visible_name_text_color: '#ffffff' + grid_options: + columns: full + defaultRemoteStyle_override: RVR + app_launcher_relative_size: '8' + useCustomSkin: true + dpad_style: minimal + scale: '100' +column_span: 1 diff --git a/lovelace/templates/great-room-remote.yaml b/lovelace/templates/great-room-remote.yaml new file mode 100644 index 0000000..eb4025b --- /dev/null +++ b/lovelace/templates/great-room-remote.yaml @@ -0,0 +1,33 @@ +type: grid +cards: + - type: custom:mini-media-player + entity: media_player.downstairs_roku + toggle_power: false + artwork: cover + info: scroll + source: icon + volume_stateless: false + group: false + idle_view: + when_idle: true + when_standby: true + - type: custom:firemote-card + entity: media_player.downstairs_roku + device_family: roku + device_type: roku-ultra-2020 + compatibility_mode: default + roku_remote_entity: remote.downstairs_roku + app_launch_1: youtube + app_launch_2: disney-plus + app_launch_3: max + app_launch_4: hulu + app_launch_5: function-find-my-remote + visible_name_text: Great Room + name_position: top + visible_name_text_color: '#ffffff' + grid_options: + columns: full + defaultRemoteStyle_override: RVR + app_launcher_relative_size: '8' + scale: '100' +column_span: 1 \ No newline at end of file diff --git a/lovelace/templates/view-ytube-media-player.yaml b/lovelace/templates/view-ytube-media-player.yaml deleted file mode 100644 index a30b238..0000000 --- a/lovelace/templates/view-ytube-media-player.yaml +++ /dev/null @@ -1,151 +0,0 @@ -type: vertical-stack -cards: - - type: horizontal-stack - cards: - - type: custom:mushroom-entity-card - entity: input_select.ytube_music_player_playlist - name: Playlist - layout: vertical - hide_icon: true - primary_info: state - secondary_info: name - - type: custom:mushroom-entity-card - entity: input_select.ytube_music_player_speakers - name: Speakers - hide_icon: true - layout: vertical - primary_info: state - secondary_info: name - - type: horizontal-stack - cards: - - type: custom:mushroom-media-player-card - entity: media_player.ytube_music_player - name: YouTube Music Player - volume_controls: - - volume_mute - - volume_set - use_media_info: true - use_media_artwork: true - media_controls: - - on_off - - previous - - next - - play_pause_stop - - type: vertical-stack - cards: - - type: custom:mini-media-player - entity: media_player.ytube_music_player - artwork: cover - hide: - shuffle: false - icon_state: false - repeat: false - name: true - icon: true - power: true - shortcuts: - columns: 3 - hide_when_off: false - buttons: - - name: Inside - type: source - id: all_speakers - icon: mdi:rug - - name: Outside - type: source - id: media_player.outside - icon: mdi:grass - - name: Everywhere - type: source - id: inside_and_outside - - name: Upstairs - type: source - id: all_upstairs_speakers - icon: mdi:home-floor-1 - - name: Downstairs - type: source - id: all_downstairs_speakers - icon: mdi:home-floor-b - - name: Nursery - type: source - id: nursery_hub - icon: mdi:bunk-bed - - name: Timeless - type: playlist - id: RDCLAK5uy_mH5mS2pbI9c743F2Xoi7WxRVBbw7k3hPE - icon: mdi:clock - - name: Goodnight - type: playlist - id: PLtfKVM9o2_5ag5qC9nHxl7tKBvGRnh2HM - icon: mdi:sleep - - name: Dance Games - type: playlist - id: PLtfKVM9o2_5YBQCwU-6NeAAuonxHfZ7ff - icon: mdi:dance-ballroom - - name: Country - type: playlist - id: PLtfKVM9o2_5YBQCwU-6NeAAuonxHfZ7ff - icon: mdi:cow - - name: Exercise - type: playlist - id: PLtfKVM9o2_5YBQCwU-6NeAAuonxHfZ7ff - icon: mdi:weight-lifter - - name: Disney - type: playlist - id: RDCLAK5uy_nwGVTzraBvAR-wPGHBPeqp4Qb139ns16Y - icon: mdi:castle - - name: My Likes - type: channel - id: Your Likes - icon: mdi:thumb-up - - name: Classic Rock - type: playlist - id: RDCLAK5uy_nZiG9ehz_MQoWQxY5yElsLHCcG0tv9PRg - icon: mdi:guitar-acoustic - - name: Concentrate - type: playlist - id: PLtfKVM9o2_5ZnAHaOSKRoN1bU3QIMxqvR - icon: mdi:brain - icon: mdi:music - volume_stateless: false - toggle_power: true - - type: horizontal-stack - cards: - - type: custom:mushroom-entity-card - entity: input_boolean.ytube_music_player_playcontinuous - layout: vertical - hide_icon: true - name: Continuous? - - type: custom:mushroom-entity-card - entity: input_select.ytube_music_player_playmode - layout: vertical - hide_icon: true - - type: custom:mushroom-entity-card - entity: input_select.ytube_music_player_source - layout: vertical - hide_icon: true - - type: custom:button-card - styles: - card: - - height: 64px - state: - - operator: template - value: > - [[[ return states['media_player.ytube_music_player'].attributes.likeStatus - == "LIKE"]]] - icon: mdi:thumb-up - - operator: template - value: > - [[[ return states['media_player.ytube_music_player'].attributes.likeStatus - == "INDIFFERENT"]]] - icon: mdi:thumb-up-outline - - operator: default - icon: mdi:power-off - value: false - tap_action: - action: call-service - service: ytube_music_player.call_method - service_data: - entity_id: media_player.ytube_music_player - command: rate_track - parameters: thumb_toggle_up_middle \ No newline at end of file diff --git a/lovelace/view-media.yaml b/lovelace/view-media.yaml index 2b73beb..6107994 100644 --- a/lovelace/view-media.yaml +++ b/lovelace/view-media.yaml @@ -238,14 +238,14 @@ cards: - type: horizontal-stack cards: - type: custom:mushroom-entity-card - entity: input_select.ytube_music_player_playlist + entity: select.ytube_music_player_playlist name: Playlist layout: vertical hide_icon: true primary_info: state secondary_info: name - type: custom:mushroom-entity-card - entity: input_select.ytube_music_player_speakers + entity: select.ytube_music_player_speaker name: Speakers hide_icon: true layout: vertical diff --git a/lovelace/view-overview.yaml b/lovelace/view-overview.yaml index 7c25de4..f8e1ca3 100644 --- a/lovelace/view-overview.yaml +++ b/lovelace/view-overview.yaml @@ -15,6 +15,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/weather + hold_action: + action: more_info - type: conditional conditions: @@ -56,6 +58,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/hvac + hold_action: + action: more_info - type: conditional conditions: @@ -93,6 +97,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/hvac + hold_action: + action: more_info - type: conditional conditions: @@ -131,6 +137,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/hvac + hold_action: + action: more_info - type: conditional conditions: @@ -165,6 +173,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/hvac + hold_action: + action: more_info - type: conditional conditions: @@ -208,6 +218,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/hvac + hold_action: + action: more_info - type: conditional conditions: @@ -253,6 +265,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/hvac + hold_action: + action: more_info - type: conditional conditions: @@ -301,6 +315,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/hvac + hold_action: + action: more_info - type: conditional conditions: @@ -325,6 +341,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/mobile-app + hold_action: + action: more_info - type: conditional conditions: @@ -339,6 +357,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/mobile-app + hold_action: + action: more_info - type: conditional conditions: @@ -353,6 +373,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/mobile-app + hold_action: + action: more_info - type: conditional conditions: @@ -364,6 +386,8 @@ badges: tap_action: action: navigate navigation_path: /phone-yaml/plants + hold_action: + action: more_info - type: conditional conditions: @@ -375,6 +399,8 @@ badges: tap_action: action: navigate navigation_path: /phone-yaml/plants + hold_action: + action: more_info - type: conditional conditions: @@ -387,6 +413,8 @@ badges: tap_action: action: navigate navigation_path: /phone-yaml/plants + hold_action: + action: more_info - type: conditional conditions: @@ -399,6 +427,8 @@ badges: tap_action: action: navigate navigation_path: /phone-yaml/plants + hold_action: + action: more_info - type: conditional conditions: @@ -412,6 +442,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/watchman + hold_action: + action: more_info - type: conditional conditions: @@ -425,6 +457,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/watchman + hold_action: + action: more_info - type: conditional conditions: @@ -487,6 +521,8 @@ badges: action: navigate navigation_path: /phone-yaml/media content: "{{states('sensor.speakers_on_count')}}" + hold_action: + action: more_info - type: conditional conditions: @@ -510,6 +546,8 @@ badges: name: AM tap_action: action: toggle + hold_action: + action: more_info - type: conditional conditions: @@ -522,6 +560,8 @@ badges: name: PM tap_action: action: toggle + hold_action: + action: more_info - type: conditional conditions: @@ -547,6 +587,8 @@ badges: tap_action: action: navigate navigation_path: /phone-yaml/dishwasher + hold_action: + action: more_info - type: conditional conditions: @@ -572,6 +614,8 @@ badges: tap_action: action: navigate navigation_path: /phone-yaml/washing-machine + hold_action: + action: more_info - type: conditional conditions: @@ -597,6 +641,8 @@ badges: tap_action: action: navigate navigation_path: /phone-yaml/tumble-dryer + hold_action: + action: more_info - type: custom:mushroom-chips-card alignment: center @@ -659,6 +705,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/nws-alerts + hold_action: + action: more_info state_filter: - operator: ">" value: 0 @@ -671,35 +719,30 @@ badges: tap_action: action: navigate navigation_path: /details-yml/hvac + hold_action: + action: more_info - entity: sensor.master_bedroom_thermal_comfort_humidex_perception name: Bedroom icon: mdi:bed-queen tap_action: action: navigate navigation_path: /details-yml/hvac + hold_action: + action: more_info - entity: sensor.great_room_thermal_comfort_humidex_perception name: Great Room icon: mdi:microsoft-xbox-controller tap_action: action: navigate navigation_path: /details-yml/hvac + hold_action: + action: more_info state_filter: - "noticable_discomfort" - "evident_discomfort" - "great_discomfort" - "dangerous_discomfort" - # - type: entity-filter - # entities: - # - entity: sensor.openweathermap_hourly_forecast_precipitation_probability - # name: Precip % - # tap_action: - # action: navigate - # navigation_path: /details-yml/weather - # state_filter: - # - operator: ">" - # value: 30 - - type: entity-filter entities: - entity: sensor.lowest_door_battery @@ -707,36 +750,50 @@ badges: tap_action: action: navigate navigation_path: /details-yml/batteries + hold_action: + action: more_info - entity: sensor.lowest_window_battery name: Window tap_action: action: navigate navigation_path: /details-yml/batteries + hold_action: + action: more_info - entity: sensor.lowest_thermostat_battery name: Thermostat tap_action: action: navigate navigation_path: /details-yml/batteries + hold_action: + action: more_info - entity: sensor.lowest_zwave_device_battery name: ZWave tap_action: action: navigate navigation_path: /details-yml/batteries + hold_action: + action: more_info - entity: sensor.lowest_xiaomi_plant_sensor_battery name: BLE Plant tap_action: action: navigate navigation_path: /details-yml/batteries + hold_action: + action: more_info - entity: sensor.lowest_ecowitt_battery name: 433 Plant tap_action: action: navigate navigation_path: /details-yml/batteries + hold_action: + action: more_info - entity: sensor.lowest_hue_device_battery name: Hue tap_action: action: navigate navigation_path: /details-yml/batteries + hold_action: + action: more_info state_filter: - operator: "<" value: 20 @@ -749,21 +806,20 @@ badges: name: Dark Soon # - entity: device_tracker.dream_frigate # name: Frigate - - entity: binary_sensor.hacs_update_available - name: HACS - tap_action: - action: navigate - navigation_path: /hacs/entry - entity: binary_sensor.need_to_open_something_too_warm_or_cold name: Open Something tap_action: action: navigate navigation_path: /details-yml/hvac + hold_action: + action: more_info - entity: binary_sensor.something_open_too_warm_or_cold name: Close Something tap_action: action: navigate navigation_path: /details-yml/hvac + hold_action: + action: more_info - entity: input_boolean.doorbell name: Doorbell - entity: plant.plant_sensor_cea4 @@ -771,41 +827,43 @@ badges: tap_action: action: navigate navigation_path: /phone-yaml/plants + hold_action: + action: more_info - entity: plant.plant_sensor_3eb0 name: Green Onions tap_action: action: navigate navigation_path: /phone-yaml/plants + hold_action: + action: more_info - entity: plant.plant_sensor_3eae name: Lavendar Plants tap_action: action: navigate navigation_path: /phone-yaml/plants + hold_action: + action: more_info - entity: plant.fineoffset_wh51_0ce593 name: Hostas tap_action: action: navigate navigation_path: /phone-yaml/plants + hold_action: + action: more_info - entity: plant.fineoffset_wh51_00f935 name: Dasies tap_action: action: navigate navigation_path: /phone-yaml/plants + hold_action: + action: more_info - entity: plant.fineoffset_wh51_0d1e11 name: Cacti tap_action: action: navigate navigation_path: /phone-yaml/plants - - entity: binary_sensor.clint_s_watch_needs_to_charge - name: Charge Watch - tap_action: - action: navigate - navigation_path: /details-yml/batteries - - entity: binary_sensor.clint_s_watch_done_charging - name: Watch Charged - tap_action: - action: navigate - navigation_path: /details-yml/batteries + hold_action: + action: more_info - entity: binary_sensor.check_mail name: Mail tap_action: @@ -813,6 +871,8 @@ badges: service: homeassistant.turn_on service_data: entity_id: input_boolean.mail_checked + hold_action: + action: more_info - entity: binary_sensor.take_trash_out name: Trash tap_action: @@ -839,36 +899,50 @@ badges: tap_action: action: navigate navigation_path: /ai-yml/ai-cam04 + hold_action: + action: more_info - entity: binary_sensor.walkway_person_occupancy name: Walkway tap_action: action: navigate navigation_path: /ai-yml/ai-cam04 + hold_action: + action: more_info - entity: binary_sensor.back_yard_person_occupancy name: Yard tap_action: action: navigate navigation_path: /ai-yml/ai-cam14 + hold_action: + action: more_info - entity: binary_sensor.front_yard_person_occupancy name: Front tap_action: action: navigate navigation_path: /ai-yml/ai-cam19 + hold_action: + action: more_info - entity: binary_sensor.driveway_east_side_vehicle_occupancy name: Driveway tap_action: action: navigate navigation_path: /ai-yml/ai-cam19 + hold_action: + action: more_info - entity: binary_sensor.driveway_center_vehicle_occupancy name: Driveway tap_action: action: navigate navigation_path: /ai-yml/ai-cam19 + hold_action: + action: more_info - entity: binary_sensor.driveway_west_side_vehicle_occupancy name: Driveway tap_action: action: navigate navigation_path: /ai-yml/ai-cam19 + hold_action: + action: more_info # - entity: input_boolean.guest_mode # name: Guest Mode # tap_action: @@ -904,6 +978,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/power-breaker + hold_action: + action: more_info state_filter: - "Summer Non-Peak" @@ -915,6 +991,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/power-breaker + hold_action: + action: more_info state_filter: - "Summer Peak" @@ -926,6 +1004,8 @@ badges: tap_action: action: navigate navigation_path: /details-yml/power-breaker + hold_action: + action: more_info state_filter: - "Non-Summer" @@ -1064,14 +1144,20 @@ cards: name: Nursery Closet tap_action: action: toggle + hold_action: + action: more_info - entity: light.garage_overhead name: Garage tap_action: action: toggle + hold_action: + action: more_info - entity: light.front_porch_overhead name: Porch tap_action: action: toggle + hold_action: + action: more_info # - entity: binary_sensor.entryway_window_contact # name: Entryway # - entity: binary_sensor.front_room_window_contact @@ -1088,14 +1174,14 @@ cards: name: MBR Closet tap_action: action: toggle + hold_action: + action: more_info - entity: light.driveway name: Driveway tap_action: action: toggle - # - entity: switch.outdoor_plug - # name: Outdoor Plug - # tap_action: - # action: toggle + hold_action: + action: more_info - entity: switch.deck_power_plug name: Deck Plug state_filter: @@ -1106,6 +1192,8 @@ cards: - "on" tap_action: action: toggle + hold_action: + action: more_info - entity: sensor.frigate_status name: Frigate state_filter: @@ -1194,9 +1282,6 @@ cards: - entity: sensor.entryway_motion_switch_node_status name: Entryway - # - entity: sensor.outdoor_plug_node_status - # name: Front Porch Plug - - entity: sensor.front_room_motion_sensor_node_status name: Front Room Motion - entity: sensor.front_room_motion_switch_node_status diff --git a/lovelace/view-remotes.yaml b/lovelace/view-remotes.yaml index 6e3b7bf..53116c5 100644 --- a/lovelace/view-remotes.yaml +++ b/lovelace/view-remotes.yaml @@ -1,13 +1,11 @@ +type: sections +max_columns: 4 title: Remotes path: remotes icon: mdi:remote-tv visible: - user: 24a4bd075e7f41a497dd0390a1dd4a9f - user: cad46dedf86f454ebbd7f697a58730f2 -panel: true -cards: - - type: horizontal-stack - cards: - - !include /config/lovelace/templates/front-room-roku-card.yaml - - - !include /config/lovelace/templates/great-room-roku-card.yaml +sections: + - !include /config/lovelace/templates/front-room-remote.yaml + - !include /config/lovelace/templates/great-room-remote.yaml \ No newline at end of file diff --git a/scripts/master_bedroom/wake_up_the_master_bedroom.yaml b/scripts/master_bedroom/wake_up_the_master_bedroom.yaml index 74425c3..ca62548 100644 --- a/scripts/master_bedroom/wake_up_the_master_bedroom.yaml +++ b/scripts/master_bedroom/wake_up_the_master_bedroom.yaml @@ -10,16 +10,47 @@ sequence: sequence: - variables: volume: "{{ 0.5 + (repeat.index * 0.05) }}" - - service: script.make_clever_announcement - data: + + - action: media_player.volume_set + target: entity_id: media_player.master_bedroom_clock - media_content_id: media-source://media_source/local/Sounds/tts/time_to_wake_up.mp3 - volume: "{{iif(volume>1,1,volume)}}" - - service: script.make_clever_announcement data: - entity_id: media_player.master_bedroom_clock + volume_level: "{{iif(volume>1,1,volume)}}" + + - action: google_generative_ai_conversation.generate_content + metadata: {} + data: + prompt: Say something to help me wake up. Use a maximum of two sexy lines. + response_variable: response + + - action: media_player.play_media + data: media_content_id: media-source://media_source/local/Sounds/alarms/Alarm_Clock.mp3 - volume: "{{iif(volume>1,1,volume)}}" + media_content_type: music + target: + entity_id: media_player.master_bedroom_clock + + - delay: + hours: 0 + minutes: 0 + seconds: 12 + milliseconds: 0 + + - action: tts.google_translate_say + data: + entity_id: media_player.master_bedroom_clock + message: "{{ response.text }}" + + # - action: tts.speak + # target: + # entity_id: tts.google_ai_tts + # data: + # cache: false + # message: "Wake the user in a flirtacious and seductive voice: {{ response.text }}" + # media_player_entity_id: media_player.great_room + # options: + # voice: Callirrhoe + - delay: hours: 0 minutes: 5 diff --git a/ui-lovelace.yaml b/ui-lovelace.yaml index bdad529..d0e2518 100644 --- a/ui-lovelace.yaml +++ b/ui-lovelace.yaml @@ -12,5 +12,4 @@ views: - !include lovelace/view-inputs.yaml # - !include lovelace/view-plants.yaml - !include lovelace/view-power.yaml -# - !include lovelace/view-power-usage.yaml -# - !include lovelace/view-tasks-all.yaml # This isn't really needed unless multiple people get multiple tasks on a regular-ish basis \ No newline at end of file +# - !include lovelace/view-power-usage.yaml \ No newline at end of file