Handaloo

Untitled

Dec 3rd, 2024
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 226.09 KB | None | 0 0
  1. views:
  2. - title: Home
  3. path: home
  4. icon: mdi:home
  5. theme: waves
  6. type: sections
  7. sections:
  8. - type: grid
  9. cards:
  10. - type: grid
  11. cards:
  12. - type: custom:mushroom-chips-card
  13. chips:
  14. - type: conditional
  15. conditions:
  16. - condition: state
  17. entity: device_tracker.pixel_7a_eva_2
  18. state: home
  19. chip:
  20. type: entity
  21. entity: person.eva
  22. use_entity_picture: true
  23. content_info: none
  24. tap_action:
  25. action: navigate
  26. navigation_path: /mushroom-guide/eva
  27. - type: conditional
  28. conditions:
  29. - condition: state
  30. entity: device_tracker.pixel_7a_moo
  31. state: home
  32. chip:
  33. type: entity
  34. entity: person.amelia
  35. tap_action:
  36. action: navigate
  37. navigation_path: /mushroom-guide/amelia
  38. use_entity_picture: true
  39. content_info: none
  40. - type: conditional
  41. conditions:
  42. - condition: state
  43. entity: device_tracker.pixel_6_daniel_10
  44. state: home
  45. chip:
  46. type: entity
  47. entity: person.daniel
  48. use_entity_picture: true
  49. content_info: none
  50. tap_action:
  51. action: navigate
  52. navigation_path: /mushroom-guide/dan
  53. - type: conditional
  54. conditions:
  55. - condition: state
  56. entity: device_tracker.pixel_8_kiera
  57. state: home
  58. chip:
  59. type: entity
  60. entity: person.kiera
  61. use_entity_picture: true
  62. content_info: none
  63. - type: conditional
  64. conditions:
  65. - condition: state
  66. entity: device_tracker.pixel_8_me
  67. state: home
  68. chip:
  69. type: entity
  70. entity: person.andrew
  71. use_entity_picture: true
  72. content_info: none
  73. - type: conditional
  74. conditions:
  75. - condition: state
  76. entity: device_tracker.int8kq5hk3
  77. state: home
  78. chip:
  79. type: entity
  80. entity: device_tracker.int8kq5hk3
  81. content_info: none
  82. icon_color: deep-orange
  83. icon: mdi:laptop-account
  84. use_entity_picture: false
  85. - type: conditional
  86. conditions:
  87. - condition: state
  88. entity: switch.desk_power
  89. state: 'on'
  90. - condition: state
  91. entity: light.office_spotlights
  92. state: 'on'
  93. chip:
  94. type: entity
  95. entity: switch.desk_power
  96. icon_color: blue-grey
  97. content_info: none
  98. icon: mdi:office-building-cog
  99. - type: conditional
  100. conditions:
  101. - condition: state
  102. entity: climate.office
  103. state: heat
  104. chip:
  105. type: entity
  106. entity: climate.office
  107. icon_color: red
  108. content_info: none
  109. card_mod:
  110. style: |
  111. ha-icon {
  112. --icon-animation: boil 500ms infinite; # Apply the boil animation to the chip icon
  113. }
  114. @keyframes boil {
  115. 0%, 100% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  116. 10% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); clip-path: polygon(0 0, 66% 10%, 67% 30%, 88% 52%, 100% 100%, 0 100%); }
  117. 20% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  118. 30% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  119. 40% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  120. 50% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  121. 60% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  122. 70% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  123. 80% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  124. 90% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  125. }
  126. - type: conditional
  127. conditions:
  128. - condition: state
  129. entity: sensor.wiser_heating
  130. state: 'On'
  131. chip:
  132. type: entity
  133. entity: sensor.wiser_heating
  134. content_info: none
  135. icon_color: red
  136. - type: conditional
  137. conditions:
  138. - condition: numeric_state
  139. entity: sensor.niro_ev_battery_level
  140. below: 30
  141. chip:
  142. type: entity
  143. entity: number.niro_dc_charging_limit
  144. content_info: none
  145. icon_color: red
  146. - type: weather
  147. entity: weather.home
  148. show_temperature: true
  149. - type: conditional
  150. conditions:
  151. - condition: state
  152. entity: binary_sensor.pixel_8_kiera_android_auto
  153. state: 'on'
  154. chip:
  155. type: entity
  156. entity: binary_sensor.niro_trunk
  157. icon_color: indigo
  158. content_info: none
  159. card_mod:
  160. style:
  161. mushroom-shape-icon$: |
  162. ha-icon {
  163. --icon-animation: boil 500ms infinite;
  164. }
  165. @keyframes boil {
  166. 0%, 100% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  167. 10% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); clip-path: polygon(0 0, 66% 10%, 67% 30%, 88% 52%, 100% 100%, 0 100%); }
  168. 20% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  169. 30% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  170. 40% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  171. 50% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  172. 60% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  173. 70% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  174. 80% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  175. 90% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  176. }
  177. columns: 1
  178. square: false
  179. - type: custom:stack-in-card
  180. cards:
  181. - type: horizontal-stack
  182. cards:
  183. - type: custom:mushroom-template-card
  184. primary: ''
  185. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °C'
  186. icon: mdi:home
  187. layout: vertical
  188. fill_container: false
  189. tap_action:
  190. action: navigate
  191. navigation_path: house
  192. card_mod:
  193. style: >
  194. ha-card {
  195. background: var(--card-background-color);
  196. width: 66px;
  197. border-radius: 30px;
  198. margin-left: auto;
  199. margin-right: auto;
  200. margin-bottom: 2px;
  201. }
  202.  
  203. ha-state-icon {
  204. --icon-color: rgba(112, 156, 224, 0.5); /* Transparent blue icon color */
  205. }
  206.  
  207. {% if states('sensor.wiser_lts_temperature_hallway') |
  208. int < 18 %}
  209. ha-state-icon {
  210. animation: shake 0.5s infinite alternate; /* Shaking animation if temperature is below 18°C */
  211. }
  212. {% endif %}
  213.  
  214. @keyframes shake {
  215. 0% {
  216. transform: translate(0); /* Original position */
  217. }
  218. 8% {
  219. transform: translate(-1px, 0); /* Move slightly left */
  220. }
  221. 16% {
  222. transform: translate(2px, 0); /* Move slightly right */
  223. }
  224. 24% {
  225. transform: translate(-2px, 0); /* Move slightly left */
  226. }
  227. 50% {
  228. transform: translate(0); /* Return to original position */
  229. }
  230. }
  231. - type: custom:mushroom-template-card
  232. primary: ''
  233. secondary: >-
  234. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int
  235. }} %
  236. icon: mdi:pi-hole
  237. layout: vertical
  238. tap_action:
  239. action: navigate
  240. navigation_path: pihole
  241. icon_color: red
  242. card_mod:
  243. style: |
  244. ha-card {
  245. background: var(--card-background-color);
  246. width: 66px;
  247. border-radius: 30px;
  248. margin-left: auto;
  249. margin-right: auto;
  250. margin-bottom: 2px;
  251. }
  252. - type: custom:mushroom-template-card
  253. primary: ''
  254. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  255. icon: mdi:car
  256. layout: vertical
  257. tap_action:
  258. action: navigate
  259. navigation_path: niro
  260. icon_color: green
  261. card_mod:
  262. style: |
  263. ha-card {
  264. background: var(--card-background-color);
  265. width: 66px;
  266. border-radius: 30px;
  267. margin-left: auto;
  268. margin-right: auto;
  269. margin-bottom: 2px;
  270. }
  271. - type: custom:mushroom-template-card
  272. primary: ''
  273. secondary: '{{ states(''sensor.office_ambient_temperature'') | int }} °c'
  274. icon: mdi:heating-coil
  275. layout: vertical
  276. tap_action:
  277. action: navigate
  278. navigation_path: temp
  279. icon_color: |
  280. {% if is_state('climate.wiser_hallway', 'heat') %}
  281. red
  282. {% else %}
  283. indigo
  284. {% endif %}
  285. fill_container: false
  286. card_mod:
  287. style: |
  288. ha-card {
  289. background: var(--card-background-color);
  290. width: 66px;
  291. border-radius: 30px;
  292. margin-left: auto;
  293. margin-right: auto;
  294. margin-bottom: 2px;
  295. }
  296. ha-state-icon {
  297. {% if states('sensor.office_ambient_temperature') | int < 15 %}
  298. content: "mdi:home-alert"; /* Change icon to home-alert when temperature is below 18°C */
  299. animation: shake 0.5s infinite alternate; /* Shaking animation */
  300. {% else %}
  301. animation: none; /* No animation if temperature is 15°C or above */
  302. {% endif %}
  303. }
  304. @keyframes shake {
  305. 0% {
  306. transform: translate(0); /* Original position */
  307. }
  308. 25% {
  309. transform: translate(-2px, 0); /* Move slightly left */
  310. }
  311. 50% {
  312. transform: translate(2px, 0); /* Move slightly right */
  313. }
  314. 75% {
  315. transform: translate(-2px, 0); /* Move slightly left */
  316. }
  317. 100% {
  318. transform: translate(0); /* Return to original position */
  319. }
  320. }
  321. - type: custom:mushroom-template-card
  322. primary: null
  323. secondary: Lights
  324. icon: mdi:lightbulb
  325. layout: vertical
  326. tap_action:
  327. action: navigate
  328. navigation_path: lights
  329. icon_color: yellow
  330. fill_container: true
  331. card_mod:
  332. style: |
  333. ha-card {
  334. background: var(--card-background-color);
  335. width: 66px;
  336. border-radius: 30px;
  337. margin-left: auto;
  338. margin-right: auto;
  339. margin-bottom: 2px;
  340. }
  341. - type: custom:mushroom-template-card
  342. primary: ''
  343. secondary: Media
  344. icon: mdi:netflix
  345. layout: vertical
  346. tap_action:
  347. action: navigate
  348. navigation_path: media
  349. icon_color: pink
  350. fill_container: true
  351. card_mod:
  352. style: |
  353. ha-card {
  354. background: var(--card-background-color);
  355. width: 66px;
  356. border-radius: 30px;
  357. margin-left: auto;
  358. margin-right: auto;
  359. margin-bottom: 2px;
  360. }
  361. card_mod:
  362. style: |
  363. ha-card {
  364. padding: 2px;
  365. background: rgba(var(--rgb-primary-text-color), 0.01);
  366. }
  367. - square: false
  368. type: grid
  369. cards:
  370. - square: false
  371. type: grid
  372. cards:
  373. - type: custom:frigate-card
  374. cameras:
  375. - camera_entity: camera.doorbell
  376. live_provider: auto
  377. performance:
  378. features:
  379. animated_progress_indicator: false
  380. media_chunk_size: 0
  381. style:
  382. border_radius: false
  383. box_shadow: false
  384. profile: high
  385. menu:
  386. buttons:
  387. microphone:
  388. enabled: true
  389. frigate:
  390. enabled: false
  391. live:
  392. microphone:
  393. always_connected: false
  394. - camera_view: live
  395. type: picture-glance
  396. image: https://demo.home-assistant.io/stub_config/kitchen.png
  397. entities: []
  398. camera_image: camera.wyzecam
  399. image_entity: >-
  400. https://localhost:8123/api/hassio_ingress/JtJkFv4taulvvUTNYF74VMxX1KSkqoWFQRzjYl_y4zs/snapshot/driveway-cam.jpgities
  401. found
  402. tap_action:
  403. action: navigate
  404. navigation_path: /ccab4aaf_frigate-proxy
  405. - type: custom:frigate-card
  406. cameras:
  407. - camera_entity: camera.gardencam
  408. live_provider: auto
  409. performance:
  410. features:
  411. animated_progress_indicator: false
  412. media_chunk_size: 0
  413. style:
  414. border_radius: false
  415. box_shadow: false
  416. menu:
  417. buttons:
  418. microphone:
  419. enabled: true
  420. frigate:
  421. enabled: false
  422. live:
  423. microphone:
  424. always_connected: false
  425. columns: 3
  426. columns: 1
  427. - square: false
  428. type: grid
  429. cards:
  430. - type: custom:mushroom-light-card
  431. entity: light.lounge_lights_2
  432. name: Lounge
  433. show_brightness_control: true
  434. tap_action:
  435. action: toggle
  436. hold_action:
  437. action: more-info
  438. use_light_color: true
  439. show_color_temp_control: true
  440. show_color_control: false
  441. icon: mdi:floor-lamp-outline
  442. fill_container: false
  443. collapsible_controls: true
  444. - type: custom:mushroom-light-card
  445. entity: light.hue_color_lamp_1
  446. name: Landing
  447. show_brightness_control: true
  448. tap_action:
  449. action: toggle
  450. hold_action:
  451. action: more-info
  452. use_light_color: true
  453. show_color_temp_control: true
  454. show_color_control: false
  455. icon: mdi:ceiling-light
  456. collapsible_controls: true
  457. - type: custom:mushroom-light-card
  458. entity: light.bedroom_lights
  459. name: Bedroom
  460. show_brightness_control: true
  461. tap_action:
  462. action: toggle
  463. hold_action:
  464. action: more-info
  465. use_light_color: true
  466. show_color_temp_control: true
  467. show_color_control: false
  468. icon: mdi:lamps
  469. collapsible_controls: true
  470. columns: 3
  471. - type: custom:bubble-card
  472. card_type: climate
  473. entity: climate.wiser_hallway
  474. sub_button:
  475. - name: HVAC modes menu
  476. select_attribute: hvac_modes
  477. state_background: true
  478. show_arrow: false
  479. name: Home Heating
  480. force_icon: false
  481. show_state: true
  482. show_attribute: true
  483. show_last_changed: false
  484. attribute: current_temperature
  485. hold_action:
  486. action: more-info
  487. url_path: temp
  488. service: boost
  489. styles: ''
  490. tap_action:
  491. action: navigate
  492. navigation_path: '#heating'
  493. - square: false
  494. type: grid
  495. cards:
  496. - type: custom:bubble-card
  497. card_type: pop-up
  498. hash: '#heating'
  499. - square: false
  500. type: grid
  501. cards:
  502. - type: horizontal-stack
  503. cards:
  504. - type: custom:better-thermostat-ui-card
  505. entity: climate.wiser_hallway
  506. disable_window: false
  507. disable_buttons: true
  508. disable_eco: false
  509. eco_temperature: 15
  510. name: Home
  511. - type: custom:better-thermostat-ui-card
  512. entity: climate.office
  513. disable_window: false
  514. disable_buttons: true
  515. disable_eco: false
  516. eco_temperature: 15
  517. name: Office
  518. - type: horizontal-stack
  519. cards:
  520. - type: custom:mushroom-entity-card
  521. entity: sensor.wiser_lts_temperature_hallway
  522. icon_color: green
  523. fill_container: false
  524. primary_info: name
  525. layout: vertical
  526. name: Lounge
  527. - type: custom:mushroom-entity-card
  528. icon_color: green
  529. fill_container: false
  530. primary_info: name
  531. layout: vertical
  532. entity: sensor.kitchen_sensor_temperature
  533. name: Kitchen
  534. - type: custom:mushroom-entity-card
  535. icon_color: green
  536. fill_container: false
  537. primary_info: name
  538. layout: vertical
  539. entity: sensor.aqarabutton_device_temperature
  540. name: Bedroom
  541. - type: custom:mushroom-entity-card
  542. icon_color: green
  543. fill_container: false
  544. primary_info: name
  545. layout: vertical
  546. entity: sensor.hue_motion_sensor_1_temperature
  547. name: Landing
  548. - type: custom:mushroom-entity-card
  549. icon_color: green
  550. fill_container: false
  551. primary_info: name
  552. layout: vertical
  553. entity: sensor.office_ambient_temperature
  554. name: Office
  555. icon: mdi:home-thermometer-outline
  556. hold_action:
  557. action: call-service
  558. service: script.office_heat_boost_1hr
  559. target: {}
  560. - type: horizontal-stack
  561. cards:
  562. - type: custom:mushroom-entity-card
  563. icon_color: blue
  564. fill_container: false
  565. primary_info: name
  566. layout: vertical
  567. entity: sensor.wiser_lts_humidity_hallway
  568. name: Lounge
  569. - type: custom:mushroom-entity-card
  570. fill_container: false
  571. primary_info: name
  572. layout: vertical
  573. name: Boost
  574. icon_color: red
  575. entity: script.1703756311288
  576. icon: mdi:radiator
  577. tap_action:
  578. action: toggle
  579. - type: custom:mushroom-entity-card
  580. entity: sensor.kitchen_sensor_humidity
  581. icon_color: blue
  582. fill_container: false
  583. primary_info: name
  584. layout: vertical
  585. name: Kitchen
  586. - type: custom:mushroom-entity-card
  587. fill_container: false
  588. primary_info: name
  589. layout: vertical
  590. name: Office
  591. icon_color: blue
  592. entity: sensor.office_ambient_humidity
  593. - type: custom:mushroom-entity-card
  594. fill_container: false
  595. primary_info: name
  596. layout: vertical
  597. name: Boost
  598. icon_color: red
  599. entity: script.office_heat_boost_1hr
  600. columns: 1
  601. columns: 1
  602. - type: custom:bubble-card
  603. card_type: button
  604. sub_button: []
  605. name: Media Players
  606. entity: media_player.fire_tv_lounge
  607. styles: |
  608. .bubble-button-card-container {
  609. background: |
  610. {% if is_state('media_player.fire_tv_lounge', 'playing') %}
  611. rgba(139,0,0,0.7); /* Dark red background */
  612. {% else %}
  613. rgba(244,203,242,0.5); /* Original background */
  614. {% endif %} !important;
  615. }
  616. button_type: name
  617. icon: mdi:netflix
  618. tap_action:
  619. action: navigate
  620. navigation_path: '#media'
  621. - type: vertical-stack
  622. cards:
  623. - type: custom:bubble-card
  624. card_type: pop-up
  625. hash: '#media'
  626. button_type: switch
  627. show_state: true
  628. background_update: false
  629. close_on_click: true
  630. - type: custom:mini-media-player
  631. entity: media_player.fire_tv_lounge
  632. artwork: full-cover
  633. source: full
  634. sound_mode: full
  635. - type: custom:mini-media-player
  636. entity: media_player.bedroom_tv_2
  637. artwork: full-cover
  638. source: full
  639. sound_mode: full
  640. info: short
  641. - type: custom:mini-media-player
  642. entity: media_player.amelia_firetv
  643. artwork: full-cover
  644. source: full
  645. sound_mode: full
  646. info: short
  647. - type: custom:mini-media-player
  648. entity: media_player.daniel_firetv
  649. artwork: full-cover
  650. source: full
  651. sound_mode: full
  652. info: short
  653. - type: custom:bubble-card
  654. card_type: media-player
  655. entity: media_player.kitchen_display
  656. - type: custom:bubble-card
  657. card_type: media-player
  658. entity: media_player.jbl_link_portable_e5f7
  659. - type: horizontal-stack
  660. cards:
  661. - type: custom:mushroom-entity-card
  662. entity: sensor.dan_s_ps5_activity
  663. icon_color: deep-purple
  664. fill_container: false
  665. primary_info: state
  666. layout: vertical
  667. name: Lounge
  668. icon: mdi:sony-playstation
  669. secondary_info: last-updated
  670. icon_type: entity-picture
  671. - type: custom:mushroom-entity-card
  672. entity: sensor.dad_s_ps5_activity
  673. icon_color: blue
  674. fill_container: false
  675. primary_info: state
  676. layout: vertical
  677. name: Lounge
  678. icon: mdi:sony-playstation
  679. secondary_info: last-updated
  680. - type: custom:bubble-card
  681. card_type: button
  682. entity: switch.dan_s_ps5_power
  683. - type: grid
  684. cards:
  685. - square: false
  686. type: grid
  687. cards:
  688. - type: custom:bubble-card
  689. card_type: button
  690. name: Amelia
  691. icon_open: mdi:lightbulb-cfl
  692. icon_close: mdi:lightbulb-cfl-off
  693. button_type: state
  694. entity: person.amelia
  695. sub_button:
  696. - entity: sensor.pixel_7a_amelia_battery_level
  697. icon: ''
  698. name: Battery Level
  699. show_state: true
  700. grid_options:
  701. columns: 6
  702. rows: 1
  703. - type: custom:bubble-card
  704. card_type: button
  705. name: ''
  706. icon_open: mdi:lightbulb-cfl
  707. icon_close: mdi:lightbulb-cfl-off
  708. button_type: state
  709. entity: person.eva
  710. sub_button:
  711. - entity: sensor.pixel_7a_eva_battery_level
  712. icon: ''
  713. name: Battery Level
  714. show_state: true
  715. grid_options:
  716. columns: 6
  717. rows: 1
  718. styles: |
  719. .bubble-button-card-container {
  720. background: {% if is_state('person.eva', 'home') %} rgba(255, 165, 0, 0.5) {% else %} rgba(244, 184, 184, 0.5) {% endif %} !important;
  721. }
  722. - type: custom:bubble-card
  723. card_type: button
  724. name: ''
  725. icon_open: mdi:lightbulb-cfl
  726. icon_close: mdi:lightbulb-cfl-off
  727. button_type: state
  728. entity: person.daniel
  729. sub_button:
  730. - entity: sensor.pixel_6_daniel_battery_level
  731. icon: ''
  732. name: Battery Level
  733. show_state: true
  734. grid_options:
  735. columns: 6
  736. rows: 1
  737. - type: custom:bubble-card
  738. card_type: button
  739. name: ''
  740. icon_open: mdi:lightbulb-cfl
  741. icon_close: mdi:lightbulb-cfl-off
  742. button_type: state
  743. entity: person.kiera
  744. sub_button:
  745. - entity: sensor.pixel_8_kiera_battery_level
  746. icon: ''
  747. name: Battery Level
  748. show_state: true
  749. grid_options:
  750. columns: 6
  751. rows: 1
  752. columns: 2
  753. - type: horizontal-stack
  754. cards:
  755. - type: custom:mushroom-entity-card
  756. entity: sensor.wiser_lts_temperature_hallway
  757. icon_color: green
  758. fill_container: false
  759. layout: vertical
  760. primary_info: none
  761. card_mod:
  762. style: |
  763. ha-card {
  764. background-color: rgba(173, 216, 230, 0.3); # Light pastel blue background
  765. color: #000000 !important; # Darker text color for all card text (entity state, primary info, etc.)
  766. }
  767. ha-icon {
  768. color: #000000 !important; # Dark icon color
  769. }
  770. .primary {
  771. color: #000000 !important; # Dark color for the primary info text
  772. }
  773. ha-state-label {
  774. color: #000000 !important; # Dark color for the entity state text
  775. }
  776. - type: custom:mushroom-entity-card
  777. entity: sensor.wiser_lts_humidity_hallway
  778. icon_color: blue
  779. fill_container: false
  780. primary_info: none
  781. layout: vertical
  782. name: Lounge
  783. icon: mdi:home-flood
  784. card_mod:
  785. style: |
  786. ha-card {
  787. background-color: rgba(173, 216, 230, 0.3); # Light pastel blue background
  788. color: #000000 !important; # Darker text color for all card text (entity state, primary info, etc.)
  789. }
  790. ha-icon {
  791. color: #000000 !important; # Dark icon color
  792. }
  793. .primary {
  794. color: #000000 !important; # Dark color for the primary info text
  795. }
  796. ha-state-label {
  797. color: #000000 !important; # Dark color for the entity state text
  798. }
  799. - type: custom:mushroom-entity-card
  800. entity: sensor.office_ambient_temperature
  801. icon_color: lime
  802. fill_container: false
  803. primary_info: none
  804. layout: vertical
  805. name: Office
  806. icon: mdi:office-building
  807. card_mod:
  808. style: |
  809. ha-card {
  810. background-color: rgba(173, 216, 230, 0.3); # Light pastel blue background
  811. color: #000000 !important; # Darker text color for all card text (entity state, primary info, etc.)
  812. }
  813. ha-icon {
  814. color: #000000 !important; # Dark icon color
  815. }
  816. .primary {
  817. color: #000000 !important; # Dark color for the primary info text
  818. }
  819. ha-state-label {
  820. color: #000000 !important; # Dark color for the entity state text
  821. }
  822. - type: custom:mushroom-entity-card
  823. entity: sensor.office_ambient_humidity
  824. icon_color: cyan
  825. fill_container: false
  826. primary_info: none
  827. layout: vertical
  828. name: Office
  829. icon: mdi:office-building-outline
  830. card_mod:
  831. style: |
  832. ha-card {
  833. background-color: rgba(173, 216, 230, 0.3); # Light pastel blue background
  834. color: #000000 !important; # Darker text color for all card text (entity state, primary info, etc.)
  835. }
  836. ha-icon {
  837. color: #000000 !important; # Dark icon color
  838. }
  839. .primary {
  840. color: #000000 !important; # Dark color for the primary info text
  841. }
  842. ha-state-label {
  843. color: #000000 !important; # Dark color for the entity state text
  844. }
  845. - square: false
  846. type: grid
  847. cards:
  848. - type: custom:bubble-card
  849. card_type: button
  850. button_type: slider
  851. entity: light.office_spotlights
  852. icon: mdi:spotlight-beam
  853. scrolling_effect: true
  854. show_state: true
  855. show_attribute: false
  856. slider_live_update: false
  857. card_layout: large-2-rows
  858. - type: custom:bubble-card
  859. card_type: button
  860. button_type: slider
  861. entity: light.office_lights
  862. icon: mdi:led-strip-variant
  863. tap_action:
  864. action: toggle
  865. hold_action:
  866. action: more-info
  867. force_icon: false
  868. show_state: true
  869. card_layout: large-2-rows
  870. columns: 2
  871. - type: custom:bubble-card
  872. card_type: button
  873. entity: button.lenovo_smart_tab_m8_load_start_url
  874. icon: mdi:tablet
  875. scrolling_effect: true
  876. show_name: true
  877. force_icon: false
  878. name: Refresh Tablet View
  879. button_action:
  880. tap_action:
  881. action: toggle
  882. target: {}
  883. service: button.lenovo_smart_tab_m8_load_start_url
  884. tap_action:
  885. action: toggle
  886. show_state: false
  887. show_last_changed: false
  888. show_attribute: false
  889. attribute: friendly_name
  890. card_layout: large
  891. grid_options:
  892. columns: 6
  893. rows: 1
  894. - type: custom:bubble-card
  895. card_type: button
  896. entity: script.dinner_time
  897. icon: mdi:instrument-triangle
  898. scrolling_effect: true
  899. show_name: true
  900. force_icon: false
  901. name: Dinner Time
  902. button_action:
  903. tap_action:
  904. action: toggle
  905. target: {}
  906. service: button.lenovo_smart_tab_m8_load_start_url
  907. tap_action:
  908. action: toggle
  909. show_state: false
  910. show_last_changed: false
  911. show_attribute: false
  912. attribute: friendly_name
  913. card_layout: large
  914. grid_options:
  915. columns: 6
  916. rows: 1
  917. - type: custom:bubble-card
  918. card_type: button
  919. entity: script.start_work
  920. icon: mdi:hubspot
  921. scrolling_effect: true
  922. show_name: true
  923. force_icon: false
  924. name: Start Work
  925. button_action:
  926. tap_action:
  927. action: toggle
  928. target: {}
  929. service: button.lenovo_smart_tab_m8_load_start_url
  930. tap_action:
  931. action: toggle
  932. show_state: false
  933. show_last_changed: false
  934. show_attribute: false
  935. attribute: friendly_name
  936. card_layout: large
  937. grid_options:
  938. columns: 6
  939. rows: 1
  940. - type: custom:bubble-card
  941. card_type: button
  942. entity: script.finish_work
  943. icon: mdi:hubspot
  944. scrolling_effect: true
  945. show_name: true
  946. force_icon: false
  947. name: Finish Work
  948. button_action:
  949. tap_action:
  950. action: toggle
  951. target: {}
  952. service: button.lenovo_smart_tab_m8_load_start_url
  953. tap_action:
  954. action: toggle
  955. show_state: false
  956. show_last_changed: false
  957. show_attribute: false
  958. attribute: friendly_name
  959. card_layout: large
  960. grid_options:
  961. columns: 6
  962. rows: 1
  963. cards: []
  964. - title: pihole
  965. path: pihole
  966. icon: mdi:web
  967. theme: waves
  968. type: sections
  969. sections:
  970. - type: grid
  971. cards:
  972. - type: custom:stack-in-card
  973. cards:
  974. - type: horizontal-stack
  975. cards:
  976. - type: custom:mushroom-template-card
  977. primary: ''
  978. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  979. icon: mdi:home
  980. icon_color: blue
  981. layout: vertical
  982. fill_container: false
  983. tap_action:
  984. action: navigate
  985. navigation_path: house
  986. card_mod:
  987. style: |
  988. ha-card {
  989. background: var(--card-background-color);
  990. width: 66px;
  991. border-radius: 30px;
  992. margin-left: auto;
  993. margin-right: auto;
  994. margin-bottom: 2px;
  995. }
  996. ha-state-icon {
  997. {% if states('sensor.wiser_lts_temperature_hallway') | int < 18 %}
  998. animation: shake 0.5s infinite alternate; # Shaking animation if temperature is below 18°C
  999. {% else %}
  1000. animation: none; # No animation if temperature is 18°C or above
  1001. {% endif %}
  1002. }
  1003. @keyframes shake {
  1004. 0% {
  1005. transform: translate(0); /* Original position */
  1006. }
  1007. 8% {
  1008. transform: translate(-1px, 0); /* Move slightly left */
  1009. }
  1010. 8% {
  1011. transform: translate(2px, 0); /* Move slightly right */
  1012. }
  1013. 8% {
  1014. transform: translate(-2px, 0); /* Move slightly left */
  1015. }
  1016. 50% {
  1017. transform: translate(0); /* Return to original position */
  1018. }
  1019. }
  1020. - type: custom:mushroom-template-card
  1021. primary: ''
  1022. secondary: >-
  1023. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int
  1024. }} %
  1025. icon: mdi:pi-hole
  1026. layout: vertical
  1027. tap_action:
  1028. action: navigate
  1029. navigation_path: pihole
  1030. icon_color: red
  1031. card_mod:
  1032. style: |
  1033. ha-card {
  1034. background: var(--card-background-color);
  1035. width: 66px;
  1036. border-radius: 30px;
  1037. margin-left: auto;
  1038. margin-right: auto;
  1039. margin-bottom: 2px;
  1040. }
  1041. - type: custom:mushroom-template-card
  1042. primary: ''
  1043. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  1044. icon: mdi:car
  1045. layout: vertical
  1046. tap_action:
  1047. action: navigate
  1048. navigation_path: niro
  1049. icon_color: green
  1050. card_mod:
  1051. style: |
  1052. ha-card {
  1053. background: var(--card-background-color);
  1054. width: 66px;
  1055. border-radius: 30px;
  1056. margin-left: auto;
  1057. margin-right: auto;
  1058. margin-bottom: 2px;
  1059. }
  1060. - type: custom:mushroom-template-card
  1061. primary: ''
  1062. secondary: '{{ states(''sensor.office_ambient_temperature'') | int }} °c'
  1063. icon: mdi:heating-coil
  1064. layout: vertical
  1065. tap_action:
  1066. action: navigate
  1067. navigation_path: temp
  1068. icon_color: |
  1069. {% if is_state('climate.wiser_hallway', 'heat') %}
  1070. red
  1071. {% else %}
  1072. indigo
  1073. {% endif %}
  1074. fill_container: false
  1075. card_mod:
  1076. style: |
  1077. ha-card {
  1078. background: var(--card-background-color);
  1079. width: 66px;
  1080. border-radius: 30px;
  1081. margin-left: auto;
  1082. margin-right: auto;
  1083. margin-bottom: 2px;
  1084. }
  1085. ha-state-icon {
  1086. {% if states('sensor.office_ambient_temperature') | int < 15 %}
  1087. content: "mdi:home-alert"; /* Change icon to home-alert when temperature is below 18°C */
  1088. animation: shake 0.5s infinite alternate; /* Shaking animation */
  1089. {% else %}
  1090. animation: none; /* No animation if temperature is 15°C or above */
  1091. {% endif %}
  1092. }
  1093. @keyframes shake {
  1094. 0% {
  1095. transform: translate(0); /* Original position */
  1096. }
  1097. 25% {
  1098. transform: translate(-2px, 0); /* Move slightly left */
  1099. }
  1100. 50% {
  1101. transform: translate(2px, 0); /* Move slightly right */
  1102. }
  1103. 75% {
  1104. transform: translate(-2px, 0); /* Move slightly left */
  1105. }
  1106. 100% {
  1107. transform: translate(0); /* Return to original position */
  1108. }
  1109. }
  1110. - type: custom:mushroom-template-card
  1111. primary: null
  1112. secondary: Lights
  1113. icon: mdi:lightbulb
  1114. layout: vertical
  1115. tap_action:
  1116. action: navigate
  1117. navigation_path: lights
  1118. icon_color: yellow
  1119. fill_container: true
  1120. card_mod:
  1121. style: |
  1122. ha-card {
  1123. background: var(--card-background-color);
  1124. width: 66px;
  1125. border-radius: 30px;
  1126. margin-left: auto;
  1127. margin-right: auto;
  1128. margin-bottom: 2px;
  1129. }
  1130. - type: custom:mushroom-template-card
  1131. primary: ''
  1132. secondary: Media
  1133. icon: mdi:netflix
  1134. layout: vertical
  1135. tap_action:
  1136. action: navigate
  1137. navigation_path: media
  1138. icon_color: pink
  1139. fill_container: true
  1140. card_mod:
  1141. style: |
  1142. ha-card {
  1143. background: var(--card-background-color);
  1144. width: 66px;
  1145. border-radius: 30px;
  1146. margin-left: auto;
  1147. margin-right: auto;
  1148. margin-bottom: 2px;
  1149. }
  1150. card_mod:
  1151. style: |
  1152. ha-card {
  1153. padding: 2px;
  1154. background: rgba(var(--rgb-primary-text-color), 0.01);
  1155. }
  1156. - type: custom:stack-in-card
  1157. keep:
  1158. margin: false
  1159. box_shadow: false
  1160. background: false
  1161. cards:
  1162. - type: grid
  1163. square: false
  1164. columns: 3
  1165. cards:
  1166. - type: custom:mushroom-entity-card
  1167. entity: sensor.pi_hole_ads_blocked_today
  1168. primary_info: state
  1169. secondary_info: name
  1170. name: AdsBlk
  1171. icon_color: green
  1172. - type: custom:mushroom-entity-card
  1173. entity: sensor.pi_hole_dns_queries_today
  1174. primary_info: state
  1175. secondary_info: name
  1176. name: DNSQs
  1177. icon_color: blue
  1178. - type: custom:mushroom-entity-card
  1179. entity: sensor.pi_hole_dns_unique_clients
  1180. primary_info: state
  1181. secondary_info: name
  1182. name: UniCli
  1183. icon_color: blue
  1184. - type: custom:mini-graph-card
  1185. entities:
  1186. - entity: sensor.pi_hole_ads_blocked_today
  1187. name: Kitchen Temperature
  1188. color: '#FA8500'
  1189. - entity: sensor.pi_hole_dns_queries_today
  1190. name: Kitchen Humidity
  1191. color: '#2196f3'
  1192. y_axis: secondary
  1193. hours_to_show: 24
  1194. line_width: 3
  1195. font_size: 50
  1196. animate: true
  1197. show:
  1198. name: false
  1199. icon: false
  1200. state: false
  1201. legend: false
  1202. fill: fade
  1203. - type: custom:stack-in-card
  1204. keep:
  1205. margin: false
  1206. box_shadow: false
  1207. background: false
  1208. cards:
  1209. - type: grid
  1210. square: false
  1211. columns: 3
  1212. cards:
  1213. - type: custom:mushroom-entity-card
  1214. entity: sensor.pi_hole_ads_blocked_today_2
  1215. primary_info: state
  1216. secondary_info: name
  1217. name: AdsBlk
  1218. icon_color: amber
  1219. - type: custom:mushroom-entity-card
  1220. entity: sensor.pi_hole_dns_queries_today_2
  1221. primary_info: state
  1222. secondary_info: name
  1223. name: DNSQs
  1224. icon_color: amber
  1225. - type: custom:mushroom-entity-card
  1226. entity: sensor.pi_hole_dns_unique_clients_2
  1227. primary_info: state
  1228. secondary_info: name
  1229. name: UniCli
  1230. icon_color: green
  1231. - type: custom:mini-graph-card
  1232. entities:
  1233. - entity: sensor.pi_hole_ads_blocked_today
  1234. name: Kitchen Temperature
  1235. color: '#FA8500'
  1236. - entity: sensor.pi_hole_dns_queries_today
  1237. name: Kitchen Humidity
  1238. color: '#2196f3'
  1239. y_axis: secondary
  1240. hours_to_show: 24
  1241. line_width: 3
  1242. font_size: 50
  1243. animate: true
  1244. show:
  1245. name: false
  1246. icon: false
  1247. state: false
  1248. legend: false
  1249. fill: fade
  1250. - type: grid
  1251. cards:
  1252. - type: horizontal-stack
  1253. cards:
  1254. - show_name: true
  1255. show_icon: true
  1256. type: button
  1257. tap_action:
  1258. action: call-service
  1259. service: pi_hole.disable
  1260. data:
  1261. duration: '00:05:00'
  1262. target:
  1263. entity_id:
  1264. - switch.pi_hole
  1265. - switch.pi_hole_2
  1266. entity: switch.pi_hole
  1267. hold_action:
  1268. action: more-info
  1269. name: 5m
  1270. show_state: false
  1271. icon: mdi:pi-hole
  1272. - show_name: true
  1273. show_icon: true
  1274. type: button
  1275. tap_action:
  1276. action: call-service
  1277. service: pi_hole.disable
  1278. data:
  1279. duration: '00:30:00'
  1280. target:
  1281. entity_id:
  1282. - switch.pi_hole_2
  1283. - switch.pi_hole
  1284. entity: switch.pi_hole
  1285. hold_action:
  1286. action: more-info
  1287. name: 30m
  1288. show_state: false
  1289. - show_name: false
  1290. show_icon: true
  1291. show_state: true
  1292. type: glance
  1293. entities:
  1294. - entity: binary_sensor.pi_hole_status
  1295. - entity: binary_sensor.pi_hole_status_2
  1296. state_color: true
  1297. columns: 2
  1298. square: false
  1299. - type: grid
  1300. cards:
  1301. - type: heading
  1302. heading: PFSense Interfaces
  1303. - show_name: true
  1304. show_icon: true
  1305. show_state: true
  1306. type: glance
  1307. entities:
  1308. - entity: sensor.home_interface_wan_status
  1309. name: WAN status
  1310. - entity: sensor.home_interface_lan_status
  1311. name: LAN status
  1312. - entity: sensor.home_interface_mullvadvlan_status
  1313. name: Mullvad status
  1314. title: PFSense Interfaces
  1315. state_color: true
  1316. - show_name: true
  1317. show_icon: true
  1318. show_state: true
  1319. type: glance
  1320. entities:
  1321. - entity: sensor.home_gateway_wan_pppoe_status
  1322. name: WAN PPPOE
  1323. - entity: sensor.home_gateway_mullvad_ams1gw_status
  1324. name: Mullvad AMS1
  1325. - entity: sensor.home_gateway_mullvad_swe1gw_status
  1326. name: Mullvad SWE1
  1327. title: PFSense Gateways
  1328. state_color: true
  1329. theme: waves
  1330. - show_name: true
  1331. show_icon: true
  1332. show_state: true
  1333. type: glance
  1334. entities:
  1335. - entity: sensor.home_system_boottime
  1336. name: Sys Boottime
  1337. - entity: sensor.home_system_temperature
  1338. name: System Temp
  1339. - entity: sensor.home_memory_used_percentage
  1340. name: Memory Used
  1341. title: PFSense System Stats
  1342. state_color: true
  1343. theme: waves
  1344. - type: grid
  1345. cards:
  1346. - type: heading
  1347. heading: PFSense Traffic
  1348. - type: gauge
  1349. entity: sensor.home_interface_wan_inpkts_packets_per_second
  1350. severity:
  1351. green: 10
  1352. yellow: 5000
  1353. red: 8000
  1354. needle: true
  1355. max: 10000
  1356. name: WAN Traffic p/s
  1357. - type: gauge
  1358. entity: sensor.home_interface_lan_inpkts_packets_per_second
  1359. severity:
  1360. green: 10
  1361. yellow: 1000
  1362. red: 0
  1363. needle: true
  1364. max: 2000
  1365. name: LAN Traffic p/s
  1366. - type: gauge
  1367. entity: sensor.home_interface_mullvadvlan_inpkts_packets_per_second
  1368. severity:
  1369. green: 10
  1370. yellow: 1000
  1371. red: 0
  1372. needle: true
  1373. max: 2000
  1374. name: MullVad Traffic p/s
  1375. - type: grid
  1376. cards:
  1377. - type: heading
  1378. heading: DHCP Leases & Blocks
  1379. - type: history-graph
  1380. entities:
  1381. - entity: sensor.home_dhcp_leases_online
  1382. - entity: sensor.pi_hole_ads_blocked_today
  1383. - entity: sensor.pi_hole_ads_blocked_today_2
  1384. title: DHCP Leases
  1385. hours_to_show: 12
  1386. logarithmic_scale: false
  1387. max_columns: 4
  1388. cards: []
  1389. - title: Niro
  1390. path: niro
  1391. icon: mdi:car
  1392. theme: waves
  1393. type: sections
  1394. sections:
  1395. - type: grid
  1396. cards:
  1397. - type: custom:stack-in-card
  1398. cards:
  1399. - type: horizontal-stack
  1400. cards:
  1401. - type: custom:mushroom-template-card
  1402. primary: ''
  1403. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  1404. icon: mdi:home
  1405. icon_color: blue
  1406. layout: vertical
  1407. fill_container: false
  1408. tap_action:
  1409. action: navigate
  1410. navigation_path: house
  1411. card_mod:
  1412. style: |
  1413. ha-card {
  1414. background: var(--card-background-color);
  1415. width: 66px;
  1416. border-radius: 30px;
  1417. margin-left: auto;
  1418. margin-right: auto;
  1419. margin-bottom: 2px;
  1420. }
  1421. ha-state-icon {
  1422. {% if states('sensor.wiser_lts_temperature_hallway') | int < 18 %}
  1423. animation: shake 0.5s infinite alternate; # Shaking animation if temperature is below 18°C
  1424. {% else %}
  1425. animation: none; # No animation if temperature is 18°C or above
  1426. {% endif %}
  1427. }
  1428. @keyframes shake {
  1429. 0% {
  1430. transform: translate(0); /* Original position */
  1431. }
  1432. 8% {
  1433. transform: translate(-1px, 0); /* Move slightly left */
  1434. }
  1435. 8% {
  1436. transform: translate(2px, 0); /* Move slightly right */
  1437. }
  1438. 8% {
  1439. transform: translate(-2px, 0); /* Move slightly left */
  1440. }
  1441. 50% {
  1442. transform: translate(0); /* Return to original position */
  1443. }
  1444. }
  1445. - type: custom:mushroom-template-card
  1446. primary: ''
  1447. secondary: >-
  1448. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int
  1449. }} %
  1450. icon: mdi:pi-hole
  1451. layout: vertical
  1452. tap_action:
  1453. action: navigate
  1454. navigation_path: pihole
  1455. icon_color: red
  1456. card_mod:
  1457. style: |
  1458. ha-card {
  1459. background: var(--card-background-color);
  1460. width: 66px;
  1461. border-radius: 30px;
  1462. margin-left: auto;
  1463. margin-right: auto;
  1464. margin-bottom: 2px;
  1465. }
  1466. - type: custom:mushroom-template-card
  1467. primary: ''
  1468. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  1469. icon: mdi:car
  1470. layout: vertical
  1471. tap_action:
  1472. action: navigate
  1473. navigation_path: niro
  1474. icon_color: green
  1475. card_mod:
  1476. style: |
  1477. ha-card {
  1478. background: var(--card-background-color);
  1479. width: 66px;
  1480. border-radius: 30px;
  1481. margin-left: auto;
  1482. margin-right: auto;
  1483. margin-bottom: 2px;
  1484. }
  1485. - type: custom:mushroom-template-card
  1486. primary: ''
  1487. secondary: '{{ states(''sensor.office_ambient_temperature'') | int }} °c'
  1488. icon: mdi:heating-coil
  1489. layout: vertical
  1490. tap_action:
  1491. action: navigate
  1492. navigation_path: temp
  1493. icon_color: |
  1494. {% if is_state('climate.wiser_hallway', 'heat') %}
  1495. red
  1496. {% else %}
  1497. indigo
  1498. {% endif %}
  1499. fill_container: false
  1500. card_mod:
  1501. style: |
  1502. ha-card {
  1503. background: var(--card-background-color);
  1504. width: 66px;
  1505. border-radius: 30px;
  1506. margin-left: auto;
  1507. margin-right: auto;
  1508. margin-bottom: 2px;
  1509. }
  1510. ha-state-icon {
  1511. {% if states('sensor.office_ambient_temperature') | int < 15 %}
  1512. content: "mdi:home-alert"; /* Change icon to home-alert when temperature is below 18°C */
  1513. animation: shake 0.5s infinite alternate; /* Shaking animation */
  1514. {% else %}
  1515. animation: none; /* No animation if temperature is 15°C or above */
  1516. {% endif %}
  1517. }
  1518. @keyframes shake {
  1519. 0% {
  1520. transform: translate(0); /* Original position */
  1521. }
  1522. 25% {
  1523. transform: translate(-2px, 0); /* Move slightly left */
  1524. }
  1525. 50% {
  1526. transform: translate(2px, 0); /* Move slightly right */
  1527. }
  1528. 75% {
  1529. transform: translate(-2px, 0); /* Move slightly left */
  1530. }
  1531. 100% {
  1532. transform: translate(0); /* Return to original position */
  1533. }
  1534. }
  1535. - type: custom:mushroom-template-card
  1536. primary: null
  1537. secondary: Lights
  1538. icon: mdi:lightbulb
  1539. layout: vertical
  1540. tap_action:
  1541. action: navigate
  1542. navigation_path: lights
  1543. icon_color: yellow
  1544. fill_container: true
  1545. card_mod:
  1546. style: |
  1547. ha-card {
  1548. background: var(--card-background-color);
  1549. width: 66px;
  1550. border-radius: 30px;
  1551. margin-left: auto;
  1552. margin-right: auto;
  1553. margin-bottom: 2px;
  1554. }
  1555. - type: custom:mushroom-template-card
  1556. primary: ''
  1557. secondary: Media
  1558. icon: mdi:netflix
  1559. layout: vertical
  1560. tap_action:
  1561. action: navigate
  1562. navigation_path: media
  1563. icon_color: pink
  1564. fill_container: true
  1565. card_mod:
  1566. style: |
  1567. ha-card {
  1568. background: var(--card-background-color);
  1569. width: 66px;
  1570. border-radius: 30px;
  1571. margin-left: auto;
  1572. margin-right: auto;
  1573. margin-bottom: 2px;
  1574. }
  1575. card_mod:
  1576. style: |
  1577. ha-card {
  1578. padding: 2px;
  1579. background: rgba(var(--rgb-primary-text-color), 0.01);
  1580. }
  1581. - show_name: false
  1582. show_icon: true
  1583. show_state: true
  1584. type: glance
  1585. entities:
  1586. - entity: sensor.niro_total_driving_range
  1587. - entity: sensor.niro_ev_battery_level
  1588. icon: mdi:car-electric
  1589. - entity: binary_sensor.niro_ev_battery_plug
  1590. icon: mdi:ev-plug-ccs2
  1591. - entity: sensor.niro_odometer
  1592. state_color: true
  1593. - square: false
  1594. columns: 4
  1595. type: grid
  1596. cards:
  1597. - show_name: false
  1598. show_icon: true
  1599. type: button
  1600. tap_action:
  1601. action: call-service
  1602. service: kia_uvo.start_climate
  1603. target: {}
  1604. data:
  1605. Temperature: 25
  1606. duration: 5
  1607. climate: true
  1608. temperature: 21
  1609. defrost: false
  1610. heating: false
  1611. entity: binary_sensor.niro_defrost
  1612. show_state: true
  1613. icon: ''
  1614. - show_name: false
  1615. show_icon: true
  1616. type: button
  1617. tap_action:
  1618. action: call-service
  1619. service: kia_uvo.lock
  1620. data: {}
  1621. target: {}
  1622. entity: lock.niro_door_lock
  1623. show_state: true
  1624. icon: ''
  1625. - show_name: false
  1626. show_icon: true
  1627. type: button
  1628. tap_action:
  1629. action: call-service
  1630. service: kia_uvo.force_update
  1631. data: {}
  1632. target: {}
  1633. show_state: true
  1634. icon: mdi:car-electric
  1635. hold_action:
  1636. action: more-info
  1637. entity: binary_sensor.niro_ev_battery_charge
  1638. - show_name: false
  1639. show_icon: true
  1640. type: button
  1641. tap_action:
  1642. action: call-service
  1643. service: kia_uvo.force_update
  1644. data: {}
  1645. target: {}
  1646. show_state: true
  1647. icon: mdi:steering
  1648. hold_action:
  1649. action: more-info
  1650. entity: binary_sensor.niro_steering_wheel_heater
  1651. - type: grid
  1652. cards:
  1653. - show_name: false
  1654. show_icon: true
  1655. show_state: true
  1656. type: glance
  1657. entities:
  1658. - entity: binary_sensor.niro_tire_pressure_all
  1659. icon: mdi:tire
  1660. - entity: sensor.niro_ev_off_peak_start_time
  1661. - entity: sensor.niro_ev_off_peak_end_time
  1662. state_color: true
  1663. columns: 1
  1664. square: false
  1665. - type: tile
  1666. entity: sensor.niro_last_updated_at
  1667. layout_options:
  1668. grid_columns: 4
  1669. grid_rows: 1
  1670. cards: []
  1671. - title: Temperature
  1672. path: temp
  1673. icon: mdi:home-thermometer-outline
  1674. theme: waves
  1675. type: sections
  1676. sections:
  1677. - type: grid
  1678. cards:
  1679. - type: custom:stack-in-card
  1680. cards:
  1681. - type: horizontal-stack
  1682. cards:
  1683. - type: custom:mushroom-template-card
  1684. primary: ''
  1685. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  1686. icon: mdi:home
  1687. icon_color: blue
  1688. layout: vertical
  1689. fill_container: false
  1690. tap_action:
  1691. action: navigate
  1692. navigation_path: house
  1693. card_mod:
  1694. style: |
  1695. ha-card {
  1696. background: var(--card-background-color);
  1697. width: 66px;
  1698. border-radius: 30px;
  1699. margin-left: auto;
  1700. margin-right: auto;
  1701. margin-bottom: 2px;
  1702. }
  1703. - type: custom:mushroom-template-card
  1704. primary: ''
  1705. secondary: >-
  1706. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int
  1707. }} %
  1708. icon: mdi:pi-hole
  1709. layout: vertical
  1710. tap_action:
  1711. action: navigate
  1712. navigation_path: pihole
  1713. icon_color: red
  1714. card_mod:
  1715. style: |
  1716. ha-card {
  1717. background: var(--card-background-color);
  1718. width: 66px;
  1719. border-radius: 30px;
  1720. margin-left: auto;
  1721. margin-right: auto;
  1722. margin-bottom: 2px;
  1723. }
  1724. - type: custom:mushroom-template-card
  1725. primary: ''
  1726. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  1727. icon: mdi:car
  1728. layout: vertical
  1729. tap_action:
  1730. action: navigate
  1731. navigation_path: niro
  1732. icon_color: green
  1733. card_mod:
  1734. style: |
  1735. ha-card {
  1736. background: var(--card-background-color);
  1737. width: 66px;
  1738. border-radius: 30px;
  1739. margin-left: auto;
  1740. margin-right: auto;
  1741. margin-bottom: 2px;
  1742. }
  1743. - type: custom:mushroom-template-card
  1744. primary: ''
  1745. secondary: '{{states(''sensor.office_ambient_temperature'')|int }} °c'
  1746. icon: mdi:heating-coil
  1747. layout: vertical
  1748. tap_action:
  1749. action: navigate
  1750. navigation_path: temp
  1751. icon_color: indigo
  1752. fill_container: false
  1753. card_mod:
  1754. style: |
  1755. ha-card {
  1756. background: var(--card-background-color);
  1757. width: 66px;
  1758. border-radius: 30px;
  1759. margin-left: auto;
  1760. margin-right: auto;
  1761. margin-bottom: 2px;
  1762. }
  1763. - type: custom:mushroom-template-card
  1764. primary: null
  1765. secondary: Lights
  1766. icon: mdi:lightbulb
  1767. layout: vertical
  1768. tap_action:
  1769. action: navigate
  1770. navigation_path: lights
  1771. icon_color: yellow
  1772. fill_container: true
  1773. card_mod:
  1774. style: |
  1775. ha-card {
  1776. background: var(--card-background-color);
  1777. width: 66px;
  1778. border-radius: 30px;
  1779. margin-left: auto;
  1780. margin-right: auto;
  1781. margin-bottom: 2px;
  1782. }
  1783. - type: custom:mushroom-template-card
  1784. primary: ''
  1785. secondary: Door
  1786. icon: mdi:bell-badge
  1787. layout: vertical
  1788. tap_action:
  1789. action: navigate
  1790. navigation_path: /mushroom-guide/doorbell
  1791. icon_color: pink
  1792. fill_container: true
  1793. card_mod:
  1794. style: |
  1795. ha-card {
  1796. background: var(--card-background-color);
  1797. width: 66px;
  1798. border-radius: 30px;
  1799. margin-left: auto;
  1800. margin-right: auto;
  1801. margin-bottom: 2px;
  1802. }
  1803. - type: custom:mushroom-template-card
  1804. primary: ''
  1805. secondary: Heat
  1806. icon: mdi:home-clock
  1807. layout: vertical
  1808. tap_action:
  1809. action: navigate
  1810. navigation_path: schedule
  1811. icon_color: grey
  1812. fill_container: true
  1813. card_mod:
  1814. style: |
  1815. ha-card {
  1816. background: var(--card-background-color);
  1817. width: 66px;
  1818. border-radius: 30px;
  1819. margin-left: auto;
  1820. margin-right: auto;
  1821. margin-bottom: 2px;
  1822. }
  1823. - square: false
  1824. type: grid
  1825. cards:
  1826. - type: horizontal-stack
  1827. cards:
  1828. - type: custom:better-thermostat-ui-card
  1829. entity: climate.wiser_hallway
  1830. disable_window: false
  1831. disable_buttons: true
  1832. disable_eco: false
  1833. eco_temperature: 15
  1834. name: Home
  1835. - type: custom:better-thermostat-ui-card
  1836. entity: climate.office
  1837. disable_window: false
  1838. disable_buttons: true
  1839. disable_eco: false
  1840. eco_temperature: 15
  1841. name: Office
  1842. - type: horizontal-stack
  1843. cards:
  1844. - type: custom:mushroom-entity-card
  1845. entity: sensor.wiser_lts_temperature_hallway
  1846. icon_color: green
  1847. fill_container: false
  1848. primary_info: name
  1849. layout: vertical
  1850. name: Lounge
  1851. - type: custom:mushroom-entity-card
  1852. icon_color: green
  1853. fill_container: false
  1854. primary_info: name
  1855. layout: vertical
  1856. entity: sensor.kitchen_sensor_temperature
  1857. name: Kitchen
  1858. - type: custom:mushroom-entity-card
  1859. icon_color: green
  1860. fill_container: false
  1861. primary_info: name
  1862. layout: vertical
  1863. entity: sensor.aqarabutton_device_temperature
  1864. name: Bedroom
  1865. - type: custom:mushroom-entity-card
  1866. icon_color: green
  1867. fill_container: false
  1868. primary_info: name
  1869. layout: vertical
  1870. entity: sensor.hue_motion_sensor_1_temperature
  1871. name: Landing
  1872. - type: custom:mushroom-entity-card
  1873. icon_color: green
  1874. fill_container: false
  1875. primary_info: name
  1876. layout: vertical
  1877. entity: sensor.office_ambient_temperature
  1878. name: Office
  1879. icon: mdi:home-thermometer-outline
  1880. hold_action:
  1881. action: call-service
  1882. service: script.office_heat_boost_1hr
  1883. target: {}
  1884. - type: horizontal-stack
  1885. cards:
  1886. - type: custom:mushroom-entity-card
  1887. icon_color: blue
  1888. fill_container: false
  1889. primary_info: name
  1890. layout: vertical
  1891. entity: sensor.wiser_lts_humidity_hallway
  1892. name: Lounge
  1893. - type: custom:mushroom-entity-card
  1894. fill_container: false
  1895. primary_info: name
  1896. layout: vertical
  1897. name: Boost
  1898. icon_color: red
  1899. entity: script.1703756311288
  1900. icon: mdi:radiator
  1901. tap_action:
  1902. action: toggle
  1903. - type: custom:mushroom-entity-card
  1904. entity: sensor.kitchen_sensor_humidity
  1905. icon_color: blue
  1906. fill_container: false
  1907. primary_info: name
  1908. layout: vertical
  1909. name: Kitchen
  1910. - type: custom:mushroom-entity-card
  1911. fill_container: false
  1912. primary_info: name
  1913. layout: vertical
  1914. name: Office
  1915. icon_color: blue
  1916. entity: sensor.office_ambient_humidity
  1917. - type: custom:mushroom-entity-card
  1918. fill_container: false
  1919. primary_info: name
  1920. layout: vertical
  1921. name: Boost
  1922. icon_color: red
  1923. entity: script.office_heat_boost_1hr
  1924. columns: 1
  1925. - type: grid
  1926. cards:
  1927. - type: horizontal-stack
  1928. cards:
  1929. - type: custom:mushroom-entity-card
  1930. icon_color: blue
  1931. fill_container: false
  1932. primary_info: name
  1933. layout: vertical
  1934. entity: sensor.wiser_lts_humidity_hallway
  1935. name: Lounge
  1936. - type: custom:mushroom-entity-card
  1937. fill_container: false
  1938. primary_info: name
  1939. layout: vertical
  1940. name: Boost
  1941. icon_color: red
  1942. entity: script.1703756311288
  1943. icon: mdi:radiator
  1944. tap_action:
  1945. action: toggle
  1946. - type: custom:mushroom-entity-card
  1947. entity: sensor.kitchen_sensor_humidity
  1948. icon_color: blue
  1949. fill_container: false
  1950. primary_info: name
  1951. layout: vertical
  1952. name: Kitchen
  1953. - type: custom:mushroom-entity-card
  1954. fill_container: false
  1955. primary_info: name
  1956. layout: vertical
  1957. name: Office
  1958. icon_color: blue
  1959. entity: sensor.office_ambient_humidity
  1960. - type: custom:mushroom-entity-card
  1961. fill_container: false
  1962. primary_info: name
  1963. layout: vertical
  1964. name: Boost
  1965. icon_color: red
  1966. entity: script.office_heat_boost_1hr
  1967. - type: custom:stack-in-card
  1968. keep:
  1969. margin: false
  1970. box_shadow: false
  1971. background: false
  1972. cards:
  1973. - type: grid
  1974. square: false
  1975. columns: 2
  1976. cards:
  1977. - type: custom:mushroom-entity-card
  1978. entity: sensor.office_ambient_temperature
  1979. primary_info: state
  1980. secondary_info: name
  1981. name: Office
  1982. icon_color: blue
  1983. - type: custom:mushroom-entity-card
  1984. entity: sensor.office_ambient_humidity
  1985. primary_info: state
  1986. secondary_info: name
  1987. name: Office
  1988. icon_color: orange
  1989. - type: custom:mini-graph-card
  1990. entities:
  1991. - entity: sensor.office_ambient_temperature
  1992. name: Office Temperature
  1993. color: '#2196f3'
  1994. - entity: sensor.office_ambient_humidity
  1995. name: Office Humidity
  1996. color: '#FA8500'
  1997. y_axis: secondary
  1998. hours_to_show: 24
  1999. line_width: 3
  2000. font_size: 50
  2001. animate: true
  2002. show:
  2003. name: false
  2004. icon: false
  2005. state: false
  2006. legend: false
  2007. fill: fade
  2008. cards: []
  2009. - title: Lights
  2010. path: lights
  2011. icon: mdi:home-lightbulb
  2012. theme: waves
  2013. type: sections
  2014. sections:
  2015. - type: grid
  2016. cards:
  2017. - type: custom:stack-in-card
  2018. cards:
  2019. - type: horizontal-stack
  2020. cards:
  2021. - type: custom:mushroom-template-card
  2022. primary: ''
  2023. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  2024. icon: mdi:home
  2025. icon_color: blue
  2026. layout: vertical
  2027. fill_container: false
  2028. tap_action:
  2029. action: navigate
  2030. navigation_path: house
  2031. card_mod:
  2032. style: |
  2033. ha-card {
  2034. background: var(--card-background-color);
  2035. width: 66px;
  2036. border-radius: 30px;
  2037. margin-left: auto;
  2038. margin-right: auto;
  2039. margin-bottom: 2px;
  2040. }
  2041. ha-state-icon {
  2042. {% if states('sensor.wiser_lts_temperature_hallway') | int < 18 %}
  2043. animation: shake 0.5s infinite alternate; # Shaking animation if temperature is below 18°C
  2044. {% else %}
  2045. animation: none; # No animation if temperature is 18°C or above
  2046. {% endif %}
  2047. }
  2048. @keyframes shake {
  2049. 0% {
  2050. transform: translate(0); /* Original position */
  2051. }
  2052. 8% {
  2053. transform: translate(-1px, 0); /* Move slightly left */
  2054. }
  2055. 8% {
  2056. transform: translate(2px, 0); /* Move slightly right */
  2057. }
  2058. 8% {
  2059. transform: translate(-2px, 0); /* Move slightly left */
  2060. }
  2061. 50% {
  2062. transform: translate(0); /* Return to original position */
  2063. }
  2064. }
  2065. - type: custom:mushroom-template-card
  2066. primary: ''
  2067. secondary: >-
  2068. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int
  2069. }} %
  2070. icon: mdi:pi-hole
  2071. layout: vertical
  2072. tap_action:
  2073. action: navigate
  2074. navigation_path: pihole
  2075. icon_color: red
  2076. card_mod:
  2077. style: |
  2078. ha-card {
  2079. background: var(--card-background-color);
  2080. width: 66px;
  2081. border-radius: 30px;
  2082. margin-left: auto;
  2083. margin-right: auto;
  2084. margin-bottom: 2px;
  2085. }
  2086. - type: custom:mushroom-template-card
  2087. primary: ''
  2088. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  2089. icon: mdi:car
  2090. layout: vertical
  2091. tap_action:
  2092. action: navigate
  2093. navigation_path: niro
  2094. icon_color: green
  2095. card_mod:
  2096. style: |
  2097. ha-card {
  2098. background: var(--card-background-color);
  2099. width: 66px;
  2100. border-radius: 30px;
  2101. margin-left: auto;
  2102. margin-right: auto;
  2103. margin-bottom: 2px;
  2104. }
  2105. - type: custom:mushroom-template-card
  2106. primary: ''
  2107. secondary: '{{ states(''sensor.office_ambient_temperature'') | int }} °c'
  2108. icon: mdi:heating-coil
  2109. layout: vertical
  2110. tap_action:
  2111. action: navigate
  2112. navigation_path: temp
  2113. icon_color: |
  2114. {% if is_state('climate.wiser_hallway', 'heat') %}
  2115. red
  2116. {% else %}
  2117. indigo
  2118. {% endif %}
  2119. fill_container: false
  2120. card_mod:
  2121. style: |
  2122. ha-card {
  2123. background: var(--card-background-color);
  2124. width: 66px;
  2125. border-radius: 30px;
  2126. margin-left: auto;
  2127. margin-right: auto;
  2128. margin-bottom: 2px;
  2129. }
  2130. ha-state-icon {
  2131. {% if states('sensor.office_ambient_temperature') | int < 15 %}
  2132. content: "mdi:home-alert"; /* Change icon to home-alert when temperature is below 18°C */
  2133. animation: shake 0.5s infinite alternate; /* Shaking animation */
  2134. {% else %}
  2135. animation: none; /* No animation if temperature is 15°C or above */
  2136. {% endif %}
  2137. }
  2138. @keyframes shake {
  2139. 0% {
  2140. transform: translate(0); /* Original position */
  2141. }
  2142. 25% {
  2143. transform: translate(-2px, 0); /* Move slightly left */
  2144. }
  2145. 50% {
  2146. transform: translate(2px, 0); /* Move slightly right */
  2147. }
  2148. 75% {
  2149. transform: translate(-2px, 0); /* Move slightly left */
  2150. }
  2151. 100% {
  2152. transform: translate(0); /* Return to original position */
  2153. }
  2154. }
  2155. - type: custom:mushroom-template-card
  2156. primary: null
  2157. secondary: Lights
  2158. icon: mdi:lightbulb
  2159. layout: vertical
  2160. tap_action:
  2161. action: navigate
  2162. navigation_path: lights
  2163. icon_color: yellow
  2164. fill_container: true
  2165. card_mod:
  2166. style: |
  2167. ha-card {
  2168. background: var(--card-background-color);
  2169. width: 66px;
  2170. border-radius: 30px;
  2171. margin-left: auto;
  2172. margin-right: auto;
  2173. margin-bottom: 2px;
  2174. }
  2175. - type: custom:mushroom-template-card
  2176. primary: ''
  2177. secondary: Media
  2178. icon: mdi:netflix
  2179. layout: vertical
  2180. tap_action:
  2181. action: navigate
  2182. navigation_path: media
  2183. icon_color: pink
  2184. fill_container: true
  2185. card_mod:
  2186. style: |
  2187. ha-card {
  2188. background: var(--card-background-color);
  2189. width: 66px;
  2190. border-radius: 30px;
  2191. margin-left: auto;
  2192. margin-right: auto;
  2193. margin-bottom: 2px;
  2194. }
  2195. card_mod:
  2196. style: |
  2197. ha-card {
  2198. padding: 2px;
  2199. background: rgba(var(--rgb-primary-text-color), 0.01);
  2200. }
  2201. - square: false
  2202. type: grid
  2203. cards:
  2204. - type: custom:mushroom-light-card
  2205. entity: light.lounge_lights_2
  2206. name: Lounge
  2207. show_brightness_control: true
  2208. tap_action:
  2209. action: toggle
  2210. hold_action:
  2211. action: more-info
  2212. use_light_color: true
  2213. show_color_temp_control: true
  2214. show_color_control: false
  2215. icon: mdi:floor-lamp-outline
  2216. fill_container: false
  2217. collapsible_controls: false
  2218. - type: custom:mushroom-light-card
  2219. entity: light.hue_color_lamp_1
  2220. name: Landing
  2221. show_brightness_control: true
  2222. tap_action:
  2223. action: toggle
  2224. hold_action:
  2225. action: more-info
  2226. use_light_color: true
  2227. show_color_temp_control: true
  2228. show_color_control: false
  2229. icon: mdi:ceiling-light
  2230. - type: custom:mushroom-light-card
  2231. entity: light.bedroom_lights
  2232. name: Bedroom
  2233. show_brightness_control: true
  2234. tap_action:
  2235. action: toggle
  2236. hold_action:
  2237. action: more-info
  2238. use_light_color: true
  2239. show_color_temp_control: true
  2240. show_color_control: false
  2241. icon: mdi:lamps
  2242. columns: 3
  2243. - square: false
  2244. columns: 2
  2245. type: grid
  2246. cards:
  2247. - type: custom:mushroom-light-card
  2248. name: Daniel Main
  2249. show_brightness_control: false
  2250. tap_action:
  2251. action: toggle
  2252. hold_action:
  2253. action: more-info
  2254. use_light_color: true
  2255. show_color_control: false
  2256. icon: mdi:ceiling-light
  2257. fill_container: false
  2258. entity: light.dan_main
  2259. show_color_temp_control: false
  2260. collapsible_controls: false
  2261. - type: custom:mushroom-light-card
  2262. name: Dan's LEDs
  2263. show_brightness_control: false
  2264. tap_action:
  2265. action: toggle
  2266. hold_action:
  2267. action: more-info
  2268. use_light_color: true
  2269. show_color_control: true
  2270. icon: mdi:lamp
  2271. fill_container: false
  2272. entity: light.dan_s_leds
  2273. show_color_temp_control: true
  2274. collapsible_controls: true
  2275. margin-bottom: 2px;
  2276. - square: false
  2277. type: grid
  2278. cards:
  2279. - type: custom:mushroom-light-card
  2280. name: Amelia's Main
  2281. show_brightness_control: false
  2282. tap_action:
  2283. action: toggle
  2284. hold_action:
  2285. action: more-info
  2286. use_light_color: true
  2287. show_color_control: false
  2288. icon: mdi:ceiling-light
  2289. fill_container: false
  2290. entity: light.amelia_main
  2291. show_color_temp_control: false
  2292. collapsible_controls: false
  2293. columns: 1
  2294. - type: grid
  2295. cards:
  2296. - square: false
  2297. type: grid
  2298. cards:
  2299. - type: custom:mushroom-light-card
  2300. entity: light.kiera_s_lamp
  2301. name: Kiera's Lamp
  2302. show_brightness_control: true
  2303. tap_action:
  2304. action: toggle
  2305. hold_action:
  2306. action: more-info
  2307. use_light_color: true
  2308. show_color_temp_control: true
  2309. show_color_control: true
  2310. icon: mdi:lamp
  2311. fill_container: false
  2312. collapsible_controls: true
  2313. - type: custom:mushroom-light-card
  2314. entity: light.andrews_lamp
  2315. name: Andrew's Lamp
  2316. show_brightness_control: true
  2317. tap_action:
  2318. action: toggle
  2319. hold_action:
  2320. action: more-info
  2321. use_light_color: true
  2322. show_color_temp_control: true
  2323. show_color_control: true
  2324. collapsible_controls: true
  2325. icon: mdi:ceiling-light
  2326. columns: 2
  2327. - square: false
  2328. type: grid
  2329. cards:
  2330. - type: custom:mushroom-light-card
  2331. name: Eva's Main
  2332. show_brightness_control: false
  2333. tap_action:
  2334. action: toggle
  2335. hold_action:
  2336. action: more-info
  2337. use_light_color: true
  2338. show_color_control: false
  2339. icon: mdi:ceiling-light
  2340. fill_container: false
  2341. entity: light.eva_main
  2342. show_color_temp_control: false
  2343. collapsible_controls: false
  2344. - type: custom:mushroom-light-card
  2345. entity: light.girls_lamp
  2346. name: Eva's Lamp
  2347. show_brightness_control: false
  2348. tap_action:
  2349. action: toggle
  2350. hold_action:
  2351. action: more-info
  2352. use_light_color: false
  2353. show_color_temp_control: false
  2354. show_color_control: false
  2355. icon: mdi:lamp
  2356. fill_container: false
  2357. collapsible_controls: false
  2358. columns: 2
  2359. - square: false
  2360. type: grid
  2361. cards:
  2362. - type: custom:mushroom-light-card
  2363. entity: light.all_lights
  2364. name: All Lights
  2365. show_brightness_control: false
  2366. tap_action:
  2367. action: toggle
  2368. hold_action:
  2369. action: more-info
  2370. use_light_color: true
  2371. show_color_temp_control: false
  2372. show_color_control: false
  2373. icon: mdi:lightbulb-fluorescent-tube
  2374. fill_container: false
  2375. collapsible_controls: true
  2376. - type: custom:mushroom-light-card
  2377. entity: light.upstairs_lights
  2378. name: Upstairs Lights
  2379. show_brightness_control: false
  2380. tap_action:
  2381. action: toggle
  2382. hold_action:
  2383. action: more-info
  2384. use_light_color: true
  2385. show_color_temp_control: false
  2386. show_color_control: false
  2387. icon: mdi:lightbulb-fluorescent-tube
  2388. fill_container: false
  2389. collapsible_controls: true
  2390. columns: 2
  2391. - square: false
  2392. type: grid
  2393. cards:
  2394. - type: custom:mushroom-light-card
  2395. entity: light.office_spotlights
  2396. name: Off Spots
  2397. show_brightness_control: true
  2398. tap_action:
  2399. action: toggle
  2400. hold_action:
  2401. action: more-info
  2402. use_light_color: false
  2403. show_color_temp_control: false
  2404. show_color_control: false
  2405. icon: mdi:lamp
  2406. fill_container: false
  2407. collapsible_controls: true
  2408. icon_color: white
  2409. - type: custom:mushroom-light-card
  2410. name: Off LED
  2411. show_brightness_control: true
  2412. tap_action:
  2413. action: toggle
  2414. hold_action:
  2415. action: more-info
  2416. use_light_color: true
  2417. show_color_control: true
  2418. icon: mdi:led-strip-variant
  2419. fill_container: false
  2420. entity: light.office_wled
  2421. show_color_temp_control: true
  2422. collapsible_controls: true
  2423. - type: custom:mushroom-light-card
  2424. entity: light.eva_s_leds
  2425. name: Office Lamp
  2426. show_brightness_control: true
  2427. tap_action:
  2428. action: toggle
  2429. hold_action:
  2430. action: more-info
  2431. use_light_color: true
  2432. show_color_temp_control: true
  2433. show_color_control: true
  2434. icon: mdi:led-strip
  2435. fill_container: false
  2436. collapsible_controls: true
  2437. columns: 3
  2438. - square: false
  2439. type: grid
  2440. cards:
  2441. - type: custom:mushroom-light-card
  2442. entity: switch.lidl_smart_switch
  2443. name: Drive
  2444. show_brightness_control: false
  2445. tap_action:
  2446. action: toggle
  2447. hold_action:
  2448. action: more-info
  2449. use_light_color: true
  2450. show_color_temp_control: false
  2451. show_color_control: false
  2452. icon: mdi:led-on
  2453. fill_container: false
  2454. collapsible_controls: true
  2455. - type: custom:mushroom-light-card
  2456. show_brightness_control: false
  2457. tap_action:
  2458. action: toggle
  2459. hold_action:
  2460. action: more-info
  2461. use_light_color: true
  2462. show_color_temp_control: false
  2463. show_color_control: false
  2464. icon: mdi:television-ambient-light
  2465. fill_container: false
  2466. collapsible_controls: true
  2467. entity: light.tv
  2468. name: TV LEDs
  2469. columns: 2
  2470. cards: []
  2471. - title: Media
  2472. path: media
  2473. theme: waves
  2474. type: sections
  2475. sections:
  2476. - type: grid
  2477. cards:
  2478. - type: custom:stack-in-card
  2479. cards:
  2480. - type: horizontal-stack
  2481. cards:
  2482. - type: custom:mushroom-template-card
  2483. primary: ''
  2484. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  2485. icon: mdi:home
  2486. icon_color: blue
  2487. layout: vertical
  2488. fill_container: false
  2489. tap_action:
  2490. action: navigate
  2491. navigation_path: house
  2492. card_mod:
  2493. style: |
  2494. ha-card {
  2495. background: var(--card-background-color);
  2496. width: 66px;
  2497. border-radius: 30px;
  2498. margin-left: auto;
  2499. margin-right: auto;
  2500. margin-bottom: 2px;
  2501. }
  2502. ha-state-icon {
  2503. {% if states('sensor.wiser_lts_temperature_hallway') | int < 18 %}
  2504. animation: shake 0.5s infinite alternate; # Shaking animation if temperature is below 18°C
  2505. {% else %}
  2506. animation: none; # No animation if temperature is 18°C or above
  2507. {% endif %}
  2508. }
  2509. @keyframes shake {
  2510. 0% {
  2511. transform: translate(0); /* Original position */
  2512. }
  2513. 8% {
  2514. transform: translate(-1px, 0); /* Move slightly left */
  2515. }
  2516. 8% {
  2517. transform: translate(2px, 0); /* Move slightly right */
  2518. }
  2519. 8% {
  2520. transform: translate(-2px, 0); /* Move slightly left */
  2521. }
  2522. 50% {
  2523. transform: translate(0); /* Return to original position */
  2524. }
  2525. }
  2526. - type: custom:mushroom-template-card
  2527. primary: ''
  2528. secondary: >-
  2529. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int
  2530. }} %
  2531. icon: mdi:pi-hole
  2532. layout: vertical
  2533. tap_action:
  2534. action: navigate
  2535. navigation_path: pihole
  2536. icon_color: red
  2537. card_mod:
  2538. style: |
  2539. ha-card {
  2540. background: var(--card-background-color);
  2541. width: 66px;
  2542. border-radius: 30px;
  2543. margin-left: auto;
  2544. margin-right: auto;
  2545. margin-bottom: 2px;
  2546. }
  2547. - type: custom:mushroom-template-card
  2548. primary: ''
  2549. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  2550. icon: mdi:car
  2551. layout: vertical
  2552. tap_action:
  2553. action: navigate
  2554. navigation_path: niro
  2555. icon_color: green
  2556. card_mod:
  2557. style: |
  2558. ha-card {
  2559. background: var(--card-background-color);
  2560. width: 66px;
  2561. border-radius: 30px;
  2562. margin-left: auto;
  2563. margin-right: auto;
  2564. margin-bottom: 2px;
  2565. }
  2566. - type: custom:mushroom-template-card
  2567. primary: ''
  2568. secondary: '{{ states(''sensor.office_ambient_temperature'') | int }} °c'
  2569. icon: mdi:heating-coil
  2570. layout: vertical
  2571. tap_action:
  2572. action: navigate
  2573. navigation_path: temp
  2574. icon_color: |
  2575. {% if is_state('climate.wiser_hallway', 'heat') %}
  2576. red
  2577. {% else %}
  2578. indigo
  2579. {% endif %}
  2580. fill_container: false
  2581. card_mod:
  2582. style: |
  2583. ha-card {
  2584. background: var(--card-background-color);
  2585. width: 66px;
  2586. border-radius: 30px;
  2587. margin-left: auto;
  2588. margin-right: auto;
  2589. margin-bottom: 2px;
  2590. }
  2591. ha-state-icon {
  2592. {% if states('sensor.office_ambient_temperature') | int < 15 %}
  2593. content: "mdi:home-alert"; /* Change icon to home-alert when temperature is below 18°C */
  2594. animation: shake 0.5s infinite alternate; /* Shaking animation */
  2595. {% else %}
  2596. animation: none; /* No animation if temperature is 15°C or above */
  2597. {% endif %}
  2598. }
  2599. @keyframes shake {
  2600. 0% {
  2601. transform: translate(0); /* Original position */
  2602. }
  2603. 25% {
  2604. transform: translate(-2px, 0); /* Move slightly left */
  2605. }
  2606. 50% {
  2607. transform: translate(2px, 0); /* Move slightly right */
  2608. }
  2609. 75% {
  2610. transform: translate(-2px, 0); /* Move slightly left */
  2611. }
  2612. 100% {
  2613. transform: translate(0); /* Return to original position */
  2614. }
  2615. }
  2616. - type: custom:mushroom-template-card
  2617. primary: null
  2618. secondary: Lights
  2619. icon: mdi:lightbulb
  2620. layout: vertical
  2621. tap_action:
  2622. action: navigate
  2623. navigation_path: lights
  2624. icon_color: yellow
  2625. fill_container: true
  2626. card_mod:
  2627. style: |
  2628. ha-card {
  2629. background: var(--card-background-color);
  2630. width: 66px;
  2631. border-radius: 30px;
  2632. margin-left: auto;
  2633. margin-right: auto;
  2634. margin-bottom: 2px;
  2635. }
  2636. - type: custom:mushroom-template-card
  2637. primary: ''
  2638. secondary: Media
  2639. icon: mdi:netflix
  2640. layout: vertical
  2641. tap_action:
  2642. action: navigate
  2643. navigation_path: media
  2644. icon_color: pink
  2645. fill_container: true
  2646. card_mod:
  2647. style: |
  2648. ha-card {
  2649. background: var(--card-background-color);
  2650. width: 66px;
  2651. border-radius: 30px;
  2652. margin-left: auto;
  2653. margin-right: auto;
  2654. margin-bottom: 2px;
  2655. }
  2656. card_mod:
  2657. style: |
  2658. ha-card {
  2659. padding: 2px;
  2660. background: rgba(var(--rgb-primary-text-color), 0.01);
  2661. }
  2662. - type: horizontal-stack
  2663. cards:
  2664. - type: custom:mushroom-entity-card
  2665. entity: sensor.dan_s_ps5_activity
  2666. icon_color: deep-purple
  2667. fill_container: false
  2668. primary_info: state
  2669. layout: vertical
  2670. name: Lounge
  2671. icon: mdi:sony-playstation
  2672. secondary_info: last-updated
  2673. icon_type: entity-picture
  2674. - type: custom:mushroom-entity-card
  2675. entity: sensor.dad_s_ps5_activity
  2676. icon_color: blue
  2677. fill_container: false
  2678. primary_info: state
  2679. layout: vertical
  2680. name: Lounge
  2681. icon: mdi:sony-playstation
  2682. secondary_info: last-updated
  2683. visibility:
  2684. - condition: state
  2685. entity: sensor.dan_s_ps5_activity
  2686. state: unknown
  2687. - type: grid
  2688. cards:
  2689. - type: custom:mini-media-player
  2690. entity: media_player.fire_tv_lounge
  2691. artwork: full-cover
  2692. source: full
  2693. sound_mode: full
  2694. info: short
  2695. group: true
  2696. volume_stateless: false
  2697. - type: custom:mini-media-player
  2698. entity: media_player.samsung_cu7100_65_2
  2699. artwork: full-cover
  2700. source: full
  2701. sound_mode: full
  2702. info: short
  2703. group: true
  2704. volume_stateless: false
  2705. replace_mute: play_pause
  2706. - type: custom:mini-media-player
  2707. entity: media_player.daniel_firetv
  2708. artwork: full-cover
  2709. source: full
  2710. sound_mode: full
  2711. info: short
  2712. group: true
  2713. volume_stateless: false
  2714. - type: custom:mini-media-player
  2715. entity: media_player.amelia_firetv
  2716. artwork: full-cover
  2717. source: full
  2718. sound_mode: full
  2719. info: short
  2720. group: true
  2721. volume_stateless: false
  2722. - type: custom:mini-media-player
  2723. entity: media_player.eva_s_room_tv
  2724. artwork: full-cover
  2725. source: full
  2726. sound_mode: full
  2727. info: short
  2728. group: true
  2729. volume_stateless: false
  2730. - type: custom:mini-media-player
  2731. entity: media_player.bedroom_tv_2
  2732. artwork: full-cover
  2733. source: full
  2734. sound_mode: full
  2735. info: short
  2736. group: true
  2737. volume_stateless: false
  2738. - type: custom:mini-media-player
  2739. entity: media_player.denon_2
  2740. artwork: full-cover
  2741. source: full
  2742. sound_mode: full
  2743. info: short
  2744. group: true
  2745. volume_stateless: false
  2746. - type: grid
  2747. cards:
  2748. - type: heading
  2749. heading: Broadcast
  2750. - type: custom:notify-card
  2751. label: Broadcast....
  2752. card_title: Upstairs
  2753. action: tts.cloud_say
  2754. data:
  2755. entity_id: media_player.upstairs_speakers
  2756. message: $MSG
  2757. title: $TITLE
  2758. - type: custom:notify-card
  2759. label: Broadcast....
  2760. card_title: Dan's Speaker
  2761. action: tts.cloud_say
  2762. data:
  2763. entity_id: media_player.dan_speaker
  2764. message: $MSG
  2765. title: $TITLE
  2766. - type: custom:notify-card
  2767. label: Broadcast....
  2768. card_title: All Speakers
  2769. action: tts.cloud_say
  2770. data:
  2771. entity_id: media_player.allthegoogles
  2772. message: $MSG
  2773. title: $TITLE
  2774. - type: custom:notify-card
  2775. label: Broadcast....
  2776. card_title: Kitchen Speaker
  2777. action: tts.cloud_say
  2778. data:
  2779. entity_id: media_player.kitchen_display
  2780. message: $MSG
  2781. title: $TITLE
  2782. - type: custom:notify-card
  2783. label: Broadcast....
  2784. card_title: Kitchen Speaker
  2785. action: tts.cloud_say
  2786. data:
  2787. entity_id: media_player.jbl_link_portable_e5f7
  2788. message: $MSG
  2789. title: $TITLE
  2790. - type: grid
  2791. cards:
  2792. - type: heading
  2793. heading: Speakers
  2794. - square: false
  2795. columns: 1
  2796. type: grid
  2797. title: null
  2798. cards:
  2799. - type: custom:mushroom-media-player-card
  2800. entity: media_player.jbl_link_portable_e5f7
  2801. volume_controls:
  2802. - volume_mute
  2803. - volume_set
  2804. - volume_buttons
  2805. media_controls:
  2806. - on_off
  2807. - previous
  2808. - play_pause_stop
  2809. - next
  2810. collapsible_controls: true
  2811. - type: custom:mushroom-media-player-card
  2812. entity: media_player.dan_speaker
  2813. volume_controls:
  2814. - volume_mute
  2815. - volume_set
  2816. - volume_buttons
  2817. media_controls:
  2818. - on_off
  2819. - previous
  2820. - play_pause_stop
  2821. - next
  2822. collapsible_controls: true
  2823. icon: mdi:speak
  2824. - type: custom:mushroom-media-player-card
  2825. volume_controls:
  2826. - volume_mute
  2827. - volume_set
  2828. - volume_buttons
  2829. media_controls:
  2830. - on_off
  2831. - previous
  2832. - play_pause_stop
  2833. - next
  2834. collapsible_controls: true
  2835. icon: mdi:speak
  2836. entity: media_player.portable
  2837. name: Eva's Room
  2838. - type: custom:mushroom-media-player-card
  2839. entity: media_player.kitchen_display
  2840. volume_controls:
  2841. - volume_mute
  2842. - volume_set
  2843. - volume_buttons
  2844. media_controls:
  2845. - on_off
  2846. - previous
  2847. - play_pause_stop
  2848. - next
  2849. collapsible_controls: true
  2850. icon: mdi:netflix
  2851. cards: []
  2852. - title: Schedule
  2853. path: schedule
  2854. subview: true
  2855. icon: mdi:home-clock
  2856. visible:
  2857. - user: 904968d31ffe4b47a7876c98c547e777
  2858. - user: 55952c8ab46449fa8eae3252a254a887
  2859. - user: 86dffc2727f34592b8e9457b462e7b49
  2860. - user: 17ab9ec2134944a8a8a1aff99cb16f9a
  2861. badges: []
  2862. cards:
  2863. - type: custom:stack-in-card
  2864. cards:
  2865. - type: horizontal-stack
  2866. cards:
  2867. - type: custom:mushroom-template-card
  2868. primary: ''
  2869. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  2870. icon: mdi:home
  2871. icon_color: blue
  2872. layout: vertical
  2873. fill_container: false
  2874. tap_action:
  2875. action: navigate
  2876. navigation_path: house
  2877. card_mod:
  2878. style: |
  2879. ha-card {
  2880. background: var(--card-background-color);
  2881. width: 66px;
  2882. border-radius: 30px;
  2883. margin-left: auto;
  2884. margin-right: auto;
  2885. margin-bottom: 2px;
  2886. }
  2887. - type: custom:mushroom-template-card
  2888. primary: ''
  2889. secondary: >-
  2890. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int }}
  2891. %
  2892. icon: mdi:pi-hole
  2893. layout: vertical
  2894. tap_action:
  2895. action: navigate
  2896. navigation_path: pihole
  2897. icon_color: red
  2898. card_mod:
  2899. style: |
  2900. ha-card {
  2901. background: var(--card-background-color);
  2902. width: 66px;
  2903. border-radius: 30px;
  2904. margin-left: auto;
  2905. margin-right: auto;
  2906. margin-bottom: 2px;
  2907. }
  2908. - type: custom:mushroom-template-card
  2909. primary: ''
  2910. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  2911. icon: mdi:car
  2912. layout: vertical
  2913. tap_action:
  2914. action: navigate
  2915. navigation_path: niro
  2916. icon_color: green
  2917. card_mod:
  2918. style: |
  2919. ha-card {
  2920. background: var(--card-background-color);
  2921. width: 66px;
  2922. border-radius: 30px;
  2923. margin-left: auto;
  2924. margin-right: auto;
  2925. margin-bottom: 2px;
  2926. }
  2927. - type: custom:mushroom-template-card
  2928. primary: ''
  2929. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  2930. icon: mdi:heating-coil
  2931. layout: vertical
  2932. tap_action:
  2933. action: navigate
  2934. navigation_path: temp
  2935. icon_color: indigo
  2936. fill_container: false
  2937. card_mod:
  2938. style: |
  2939. ha-card {
  2940. background: var(--card-background-color);
  2941. width: 66px;
  2942. border-radius: 30px;
  2943. margin-left: auto;
  2944. margin-right: auto;
  2945. margin-bottom: 2px;
  2946. }
  2947. - type: custom:mushroom-template-card
  2948. primary: null
  2949. secondary: Lights
  2950. icon: mdi:lightbulb
  2951. layout: vertical
  2952. tap_action:
  2953. action: navigate
  2954. navigation_path: lights
  2955. icon_color: yellow
  2956. fill_container: true
  2957. card_mod:
  2958. style: |
  2959. ha-card {
  2960. background: var(--card-background-color);
  2961. width: 66px;
  2962. border-radius: 30px;
  2963. margin-left: auto;
  2964. margin-right: auto;
  2965. margin-bottom: 2px;
  2966. }
  2967. - type: custom:mushroom-template-card
  2968. primary: ''
  2969. secondary: Media
  2970. icon: mdi:netflix
  2971. layout: vertical
  2972. tap_action:
  2973. action: navigate
  2974. navigation_path: media
  2975. icon_color: pink
  2976. fill_container: true
  2977. card_mod:
  2978. style: |
  2979. ha-card {
  2980. background: var(--card-background-color);
  2981. width: 66px;
  2982. border-radius: 30px;
  2983. margin-left: auto;
  2984. margin-right: auto;
  2985. margin-bottom: 2px;
  2986. }
  2987. - type: custom:mushroom-template-card
  2988. primary: ''
  2989. secondary: Heat
  2990. icon: mdi:home-clock
  2991. layout: vertical
  2992. tap_action:
  2993. action: navigate
  2994. navigation_path: schedule
  2995. icon_color: grey
  2996. fill_container: true
  2997. card_mod:
  2998. style: |
  2999. ha-card {
  3000. background: var(--card-background-color);
  3001. width: 66px;
  3002. border-radius: 30px;
  3003. margin-left: auto;
  3004. margin-right: auto;
  3005. margin-bottom: 2px;
  3006. }
  3007. - type: custom:wiser-schedule-card
  3008. name: Wiser Schedule
  3009. selected_schedule: Heating|1
  3010. view_type: default
  3011. theme_colors: true
  3012. admin_only: true
  3013. - type: custom:scheduler-card
  3014. include:
  3015. - climate.office
  3016. exclude: []
  3017. - title: Dan
  3018. path: dan
  3019. icon: mdi:face-man-profile
  3020. theme: waves
  3021. visible:
  3022. - user: 1d3321f62c6b450bb1546577e9740295
  3023. - user: 904968d31ffe4b47a7876c98c547e777
  3024. badges: []
  3025. cards:
  3026. - type: custom:stack-in-card
  3027. cards:
  3028. - type: horizontal-stack
  3029. cards:
  3030. - type: custom:mushroom-template-card
  3031. primary: ''
  3032. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  3033. icon: mdi:home
  3034. icon_color: blue
  3035. layout: vertical
  3036. fill_container: false
  3037. tap_action:
  3038. action: navigate
  3039. navigation_path: house
  3040. card_mod:
  3041. style: |
  3042. ha-card {
  3043. background: var(--card-background-color);
  3044. width: 66px;
  3045. border-radius: 30px;
  3046. margin-left: auto;
  3047. margin-right: auto;
  3048. margin-bottom: 2px;
  3049. }
  3050. - type: custom:mushroom-template-card
  3051. primary: ''
  3052. secondary: >-
  3053. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int }}
  3054. %
  3055. icon: mdi:pi-hole
  3056. layout: vertical
  3057. tap_action:
  3058. action: navigate
  3059. navigation_path: pihole
  3060. icon_color: red
  3061. card_mod:
  3062. style: |
  3063. ha-card {
  3064. background: var(--card-background-color);
  3065. width: 66px;
  3066. border-radius: 30px;
  3067. margin-left: auto;
  3068. margin-right: auto;
  3069. margin-bottom: 2px;
  3070. }
  3071. - type: custom:mushroom-template-card
  3072. primary: ''
  3073. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  3074. icon: mdi:car
  3075. layout: vertical
  3076. tap_action:
  3077. action: navigate
  3078. navigation_path: niro
  3079. icon_color: green
  3080. card_mod:
  3081. style: |
  3082. ha-card {
  3083. background: var(--card-background-color);
  3084. width: 66px;
  3085. border-radius: 30px;
  3086. margin-left: auto;
  3087. margin-right: auto;
  3088. margin-bottom: 2px;
  3089. }
  3090. - type: custom:mushroom-template-card
  3091. primary: ''
  3092. secondary: '{{states(''sensor.office_ambient_temperature'')|int }} °c'
  3093. icon: mdi:heating-coil
  3094. layout: vertical
  3095. tap_action:
  3096. action: navigate
  3097. navigation_path: temp
  3098. icon_color: indigo
  3099. fill_container: false
  3100. card_mod:
  3101. style: |
  3102. ha-card {
  3103. background: var(--card-background-color);
  3104. width: 66px;
  3105. border-radius: 30px;
  3106. margin-left: auto;
  3107. margin-right: auto;
  3108. margin-bottom: 2px;
  3109. }
  3110. - type: custom:mushroom-template-card
  3111. primary: null
  3112. secondary: Lights
  3113. icon: mdi:lightbulb
  3114. layout: vertical
  3115. tap_action:
  3116. action: navigate
  3117. navigation_path: lights
  3118. icon_color: yellow
  3119. fill_container: true
  3120. card_mod:
  3121. style: |
  3122. ha-card {
  3123. background: var(--card-background-color);
  3124. width: 66px;
  3125. border-radius: 30px;
  3126. margin-left: auto;
  3127. margin-right: auto;
  3128. margin-bottom: 2px;
  3129. }
  3130. - type: custom:mushroom-template-card
  3131. primary: ''
  3132. secondary: Media
  3133. icon: mdi:netflix
  3134. layout: vertical
  3135. tap_action:
  3136. action: navigate
  3137. navigation_path: media
  3138. icon_color: pink
  3139. fill_container: true
  3140. card_mod:
  3141. style: |
  3142. ha-card {
  3143. background: var(--card-background-color);
  3144. width: 66px;
  3145. border-radius: 30px;
  3146. margin-left: auto;
  3147. margin-right: auto;
  3148. margin-bottom: 2px;
  3149. }
  3150. card_mod:
  3151. style: |
  3152. ha-card {
  3153. padding: 2px;
  3154. background: rgba(var(--rgb-primary-text-color), 0.01);
  3155. }
  3156. - type: grid
  3157. cards:
  3158. - square: false
  3159. columns: 1
  3160. type: horizontal-stack
  3161. cards:
  3162. - type: glance
  3163. entities:
  3164. - entity: person.daniel
  3165. - entity: sensor.pixel_6_daniel_battery_level
  3166. state_color: true
  3167. show_name: false
  3168. show_icon: true
  3169. show_state: true
  3170. card_mod: null
  3171. style: |
  3172. ha-card {
  3173. background: var(--card-background-color);
  3174. width: auto;
  3175. border-radius: 30px;
  3176. margin-left: auto;
  3177. margin-right: auto;
  3178. margin-bottom: 2px;
  3179. }
  3180. - square: false
  3181. type: grid
  3182. cards:
  3183. - type: custom:mushroom-light-card
  3184. entity: light.dan_s_leds
  3185. name: LED
  3186. show_brightness_control: true
  3187. tap_action:
  3188. action: toggle
  3189. hold_action:
  3190. action: more-info
  3191. use_light_color: true
  3192. show_color_temp_control: true
  3193. show_color_control: true
  3194. icon: mdi:led-strip-variant
  3195. fill_container: false
  3196. collapsible_controls: false
  3197. card_mod: null
  3198. style: |
  3199. ha-card {
  3200. background: var(--card-background-color);
  3201. width: auto;
  3202. border-radius: 30px;
  3203. margin-left: auto;
  3204. margin-right: auto;
  3205. margin-bottom: 2px;
  3206. }
  3207. - type: custom:mushroom-light-card
  3208. entity: light.dan_main
  3209. name: Bedroom
  3210. show_brightness_control: false
  3211. tap_action:
  3212. action: toggle
  3213. hold_action:
  3214. action: more-info
  3215. use_light_color: true
  3216. show_color_temp_control: true
  3217. show_color_control: false
  3218. fill_container: true
  3219. icon: mdi:ceiling-light
  3220. card_mod: null
  3221. style: |
  3222. ha-card {
  3223. background: var(--card-background-color);
  3224. width: auto;
  3225. border-radius: auto;
  3226. margin-left: auto;
  3227. margin-right: auto;
  3228. margin-bottom: 2px;
  3229. }
  3230. columns: 2
  3231. - type: custom:mini-media-player
  3232. entity: media_player.daniel_firetv
  3233. artwork: full-cover
  3234. source: full
  3235. sound_mode: full
  3236. info: short
  3237. group: true
  3238. volume_stateless: false
  3239. - type: custom:mushroom-media-player-card
  3240. entity: media_player.nestmini1887
  3241. volume_controls:
  3242. - volume_mute
  3243. - volume_set
  3244. - volume_buttons
  3245. media_controls:
  3246. - on_off
  3247. - previous
  3248. - play_pause_stop
  3249. - next
  3250. collapsible_controls: true
  3251. icon: mdi:speak
  3252. - type: custom:mushroom-entity-card
  3253. entity: sensor.dan_s_ps5_activity
  3254. icon_color: deep-purple
  3255. fill_container: false
  3256. primary_info: state
  3257. layout: vertical
  3258. name: Lounge
  3259. icon: mdi:sony-playstation
  3260. secondary_info: last-updated
  3261. icon_type: entity-picture
  3262. columns: 1
  3263. square: false
  3264. - title: Amelia
  3265. path: amelia
  3266. icon: mdi:face-woman-profile
  3267. theme: waves
  3268. visible:
  3269. - user: 99cdf9322c2d4b8f9859c4dcf45648a3
  3270. - user: 904968d31ffe4b47a7876c98c547e777
  3271. badges: []
  3272. cards:
  3273. - type: custom:stack-in-card
  3274. cards:
  3275. - type: horizontal-stack
  3276. cards:
  3277. - type: custom:mushroom-template-card
  3278. primary: ''
  3279. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  3280. icon: mdi:home
  3281. icon_color: blue
  3282. layout: vertical
  3283. fill_container: false
  3284. tap_action:
  3285. action: navigate
  3286. navigation_path: house
  3287. card_mod:
  3288. style: |
  3289. ha-card {
  3290. background: var(--card-background-color);
  3291. width: 66px;
  3292. border-radius: 30px;
  3293. margin-left: auto;
  3294. margin-right: auto;
  3295. margin-bottom: 2px;
  3296. }
  3297. - type: custom:mushroom-template-card
  3298. primary: ''
  3299. secondary: >-
  3300. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int }}
  3301. %
  3302. icon: mdi:pi-hole
  3303. layout: vertical
  3304. tap_action:
  3305. action: navigate
  3306. navigation_path: pihole
  3307. icon_color: red
  3308. card_mod:
  3309. style: |
  3310. ha-card {
  3311. background: var(--card-background-color);
  3312. width: 66px;
  3313. border-radius: 30px;
  3314. margin-left: auto;
  3315. margin-right: auto;
  3316. margin-bottom: 2px;
  3317. }
  3318. - type: custom:mushroom-template-card
  3319. primary: ''
  3320. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  3321. icon: mdi:car
  3322. layout: vertical
  3323. tap_action:
  3324. action: navigate
  3325. navigation_path: niro
  3326. icon_color: green
  3327. card_mod:
  3328. style: |
  3329. ha-card {
  3330. background: var(--card-background-color);
  3331. width: 66px;
  3332. border-radius: 30px;
  3333. margin-left: auto;
  3334. margin-right: auto;
  3335. margin-bottom: 2px;
  3336. }
  3337. - type: custom:mushroom-template-card
  3338. primary: ''
  3339. secondary: '{{states(''sensor.office_ambient_temperature'')|int }} °c'
  3340. icon: mdi:heating-coil
  3341. layout: vertical
  3342. tap_action:
  3343. action: navigate
  3344. navigation_path: temp
  3345. icon_color: indigo
  3346. fill_container: false
  3347. card_mod:
  3348. style: |
  3349. ha-card {
  3350. background: var(--card-background-color);
  3351. width: 66px;
  3352. border-radius: 30px;
  3353. margin-left: auto;
  3354. margin-right: auto;
  3355. margin-bottom: 2px;
  3356. }
  3357. - type: custom:mushroom-template-card
  3358. primary: null
  3359. secondary: Lights
  3360. icon: mdi:lightbulb
  3361. layout: vertical
  3362. tap_action:
  3363. action: navigate
  3364. navigation_path: lights
  3365. icon_color: yellow
  3366. fill_container: true
  3367. card_mod:
  3368. style: |
  3369. ha-card {
  3370. background: var(--card-background-color);
  3371. width: 66px;
  3372. border-radius: 30px;
  3373. margin-left: auto;
  3374. margin-right: auto;
  3375. margin-bottom: 2px;
  3376. }
  3377. - type: custom:mushroom-template-card
  3378. primary: ''
  3379. secondary: Media
  3380. icon: mdi:netflix
  3381. layout: vertical
  3382. tap_action:
  3383. action: navigate
  3384. navigation_path: media
  3385. icon_color: pink
  3386. fill_container: true
  3387. card_mod:
  3388. style: |
  3389. ha-card {
  3390. background: var(--card-background-color);
  3391. width: 66px;
  3392. border-radius: 30px;
  3393. margin-left: auto;
  3394. margin-right: auto;
  3395. margin-bottom: 2px;
  3396. }
  3397. card_mod:
  3398. style: |
  3399. ha-card {
  3400. padding: 2px;
  3401. background: rgba(var(--rgb-primary-text-color), 0.01);
  3402. }
  3403. - type: grid
  3404. cards:
  3405. - square: false
  3406. columns: 1
  3407. type: horizontal-stack
  3408. cards:
  3409. - type: glance
  3410. entities:
  3411. - entity: person.amelia
  3412. - entity: sensor.pixel_7a_amelia_battery_level
  3413. state_color: true
  3414. show_name: false
  3415. show_icon: true
  3416. show_state: true
  3417. card_mod: null
  3418. style: |
  3419. ha-card {
  3420. background: var(--card-background-color);
  3421. width: auto;
  3422. border-radius: 30px;
  3423. margin-left: auto;
  3424. margin-right: auto;
  3425. margin-bottom: 2px;
  3426. }
  3427. - square: false
  3428. type: grid
  3429. cards:
  3430. - type: custom:mushroom-light-card
  3431. entity: light.amelias_lamp
  3432. name: Lamp
  3433. show_brightness_control: true
  3434. tap_action:
  3435. action: toggle
  3436. hold_action:
  3437. action: more-info
  3438. use_light_color: true
  3439. show_color_temp_control: true
  3440. show_color_control: false
  3441. icon: mdi:lamp
  3442. fill_container: false
  3443. collapsible_controls: false
  3444. card_mod: null
  3445. style: |
  3446. ha-card {
  3447. background: var(--card-background-color);
  3448. width: auto;
  3449. border-radius: 30px;
  3450. margin-left: auto;
  3451. margin-right: auto;
  3452. margin-bottom: 2px;
  3453. }
  3454. - type: custom:mushroom-light-card
  3455. entity: light.amelia_main
  3456. name: Main
  3457. show_brightness_control: false
  3458. tap_action:
  3459. action: toggle
  3460. hold_action:
  3461. action: more-info
  3462. use_light_color: true
  3463. show_color_temp_control: true
  3464. show_color_control: false
  3465. fill_container: true
  3466. icon: mdi:ceiling-light
  3467. card_mod: null
  3468. style: |
  3469. ha-card {
  3470. background: var(--card-background-color);
  3471. width: auto;
  3472. border-radius: auto;
  3473. margin-left: auto;
  3474. margin-right: auto;
  3475. margin-bottom: 2px;
  3476. }
  3477. columns: 2
  3478. - type: custom:mini-media-player
  3479. entity: media_player.jbl_link_portable_11bb
  3480. artwork: full-cover
  3481. source: full
  3482. sound_mode: full
  3483. info: short
  3484. group: true
  3485. volume_stateless: false
  3486. - type: custom:mini-media-player
  3487. entity: media_player.amelia_firetv
  3488. artwork: full-cover
  3489. source: full
  3490. sound_mode: full
  3491. info: short
  3492. group: true
  3493. volume_stateless: false
  3494. columns: 1
  3495. square: false
  3496. - title: Eva
  3497. path: eva
  3498. icon: mdi:face-woman
  3499. theme: waves
  3500. visible:
  3501. - user: 904968d31ffe4b47a7876c98c547e777
  3502. - user: 56565d3026c54a3b9452737f8a9c2bb1
  3503. badges: []
  3504. cards:
  3505. - type: custom:stack-in-card
  3506. cards:
  3507. - type: horizontal-stack
  3508. cards:
  3509. - type: custom:mushroom-template-card
  3510. primary: ''
  3511. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  3512. icon: mdi:home
  3513. icon_color: blue
  3514. layout: vertical
  3515. fill_container: false
  3516. tap_action:
  3517. action: navigate
  3518. navigation_path: house
  3519. card_mod:
  3520. style: |
  3521. ha-card {
  3522. background: var(--card-background-color);
  3523. width: 66px;
  3524. border-radius: 30px;
  3525. margin-left: auto;
  3526. margin-right: auto;
  3527. margin-bottom: 2px;
  3528. }
  3529. - type: custom:mushroom-template-card
  3530. primary: ''
  3531. secondary: >-
  3532. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int }}
  3533. %
  3534. icon: mdi:pi-hole
  3535. layout: vertical
  3536. tap_action:
  3537. action: navigate
  3538. navigation_path: pihole
  3539. icon_color: red
  3540. card_mod:
  3541. style: |
  3542. ha-card {
  3543. background: var(--card-background-color);
  3544. width: 66px;
  3545. border-radius: 30px;
  3546. margin-left: auto;
  3547. margin-right: auto;
  3548. margin-bottom: 2px;
  3549. }
  3550. - type: custom:mushroom-template-card
  3551. primary: ''
  3552. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  3553. icon: mdi:car
  3554. layout: vertical
  3555. tap_action:
  3556. action: navigate
  3557. navigation_path: niro
  3558. icon_color: green
  3559. card_mod:
  3560. style: |
  3561. ha-card {
  3562. background: var(--card-background-color);
  3563. width: 66px;
  3564. border-radius: 30px;
  3565. margin-left: auto;
  3566. margin-right: auto;
  3567. margin-bottom: 2px;
  3568. }
  3569. - type: custom:mushroom-template-card
  3570. primary: ''
  3571. secondary: '{{states(''sensor.office_ambient_temperature'')|int }} °c'
  3572. icon: mdi:heating-coil
  3573. layout: vertical
  3574. tap_action:
  3575. action: navigate
  3576. navigation_path: temp
  3577. icon_color: indigo
  3578. fill_container: false
  3579. card_mod:
  3580. style: |
  3581. ha-card {
  3582. background: var(--card-background-color);
  3583. width: 66px;
  3584. border-radius: 30px;
  3585. margin-left: auto;
  3586. margin-right: auto;
  3587. margin-bottom: 2px;
  3588. }
  3589. - type: custom:mushroom-template-card
  3590. primary: null
  3591. secondary: Lights
  3592. icon: mdi:lightbulb
  3593. layout: vertical
  3594. tap_action:
  3595. action: navigate
  3596. navigation_path: lights
  3597. icon_color: yellow
  3598. fill_container: true
  3599. card_mod:
  3600. style: |
  3601. ha-card {
  3602. background: var(--card-background-color);
  3603. width: 66px;
  3604. border-radius: 30px;
  3605. margin-left: auto;
  3606. margin-right: auto;
  3607. margin-bottom: 2px;
  3608. }
  3609. - type: custom:mushroom-template-card
  3610. primary: ''
  3611. secondary: Media
  3612. icon: mdi:netflix
  3613. layout: vertical
  3614. tap_action:
  3615. action: navigate
  3616. navigation_path: media
  3617. icon_color: pink
  3618. fill_container: true
  3619. card_mod:
  3620. style: |
  3621. ha-card {
  3622. background: var(--card-background-color);
  3623. width: 66px;
  3624. border-radius: 30px;
  3625. margin-left: auto;
  3626. margin-right: auto;
  3627. margin-bottom: 2px;
  3628. }
  3629. card_mod:
  3630. style: |
  3631. ha-card {
  3632. padding: 2px;
  3633. background: rgba(var(--rgb-primary-text-color), 0.01);
  3634. }
  3635. - type: grid
  3636. cards:
  3637. - square: false
  3638. columns: 1
  3639. type: horizontal-stack
  3640. cards:
  3641. - type: glance
  3642. entities:
  3643. - entity: person.eva
  3644. - entity: sensor.pixel_7a_eva_battery_level
  3645. state_color: true
  3646. show_name: false
  3647. show_icon: true
  3648. show_state: true
  3649. card_mod: null
  3650. style: |
  3651. ha-card {
  3652. background: var(--card-background-color);
  3653. width: auto;
  3654. border-radius: 30px;
  3655. margin-left: auto;
  3656. margin-right: auto;
  3657. margin-bottom: 2px;
  3658. }
  3659. - square: false
  3660. type: grid
  3661. cards:
  3662. - type: custom:mushroom-light-card
  3663. entity: light.girls_lamp
  3664. name: Lamp
  3665. show_brightness_control: true
  3666. tap_action:
  3667. action: toggle
  3668. hold_action:
  3669. action: more-info
  3670. use_light_color: true
  3671. show_color_temp_control: true
  3672. show_color_control: false
  3673. icon: mdi:lamp
  3674. fill_container: false
  3675. collapsible_controls: false
  3676. card_mod: null
  3677. style: |
  3678. ha-card {
  3679. background: var(--card-background-color);
  3680. width: auto;
  3681. border-radius: 30px;
  3682. margin-left: auto;
  3683. margin-right: auto;
  3684. margin-bottom: 2px;
  3685. }
  3686. - type: custom:mushroom-light-card
  3687. entity: light.eva_main
  3688. name: Bedroom
  3689. show_brightness_control: false
  3690. tap_action:
  3691. action: toggle
  3692. hold_action:
  3693. action: more-info
  3694. use_light_color: true
  3695. show_color_temp_control: true
  3696. show_color_control: false
  3697. fill_container: true
  3698. icon: mdi:ceiling-light
  3699. card_mod: null
  3700. style: |
  3701. ha-card {
  3702. background: var(--card-background-color);
  3703. width: auto;
  3704. border-radius: auto;
  3705. margin-left: auto;
  3706. margin-right: auto;
  3707. margin-bottom: 2px;
  3708. }
  3709. - type: custom:mushroom-light-card
  3710. entity: light.eva_s_leds
  3711. name: LEDs
  3712. show_brightness_control: true
  3713. tap_action:
  3714. action: toggle
  3715. hold_action:
  3716. action: more-info
  3717. use_light_color: true
  3718. show_color_temp_control: true
  3719. show_color_control: true
  3720. icon: mdi:led-strip
  3721. fill_container: false
  3722. collapsible_controls: false
  3723. card_mod: null
  3724. style: |
  3725. ha-card {
  3726. background: var(--card-background-color);
  3727. width: auto;
  3728. border-radius: 30px;
  3729. margin-left: auto;
  3730. margin-right: auto;
  3731. margin-bottom: 2px;
  3732. }
  3733. columns: 3
  3734. - type: media-control
  3735. entity: media_player.chromecast_hd
  3736. - type: media-control
  3737. entity: media_player.portable
  3738. columns: 1
  3739. square: false
  3740. - type: entities
  3741. entities:
  3742. - entity: light.eva_s_leds
  3743. - entity: select.eva_s_leds_playlist
  3744. name: Playlist
  3745. title: Eva's WLED
  3746. - title: Doorbell
  3747. path: doorbell
  3748. icon: mdi:doorbell-video
  3749. theme: waves
  3750. type: sections
  3751. sections:
  3752. - type: grid
  3753. cards:
  3754. - type: custom:stack-in-card
  3755. cards:
  3756. - type: horizontal-stack
  3757. cards:
  3758. - type: custom:mushroom-template-card
  3759. primary: ''
  3760. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  3761. icon: mdi:home
  3762. icon_color: blue
  3763. layout: vertical
  3764. fill_container: false
  3765. tap_action:
  3766. action: navigate
  3767. navigation_path: house
  3768. card_mod:
  3769. style: |
  3770. ha-card {
  3771. background: var(--card-background-color);
  3772. width: 66px;
  3773. border-radius: 30px;
  3774. margin-left: auto;
  3775. margin-right: auto;
  3776. margin-bottom: 2px;
  3777. }
  3778. - type: custom:mushroom-template-card
  3779. primary: ''
  3780. secondary: >-
  3781. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int
  3782. }} %
  3783. icon: mdi:pi-hole
  3784. layout: vertical
  3785. tap_action:
  3786. action: navigate
  3787. navigation_path: pihole
  3788. icon_color: red
  3789. card_mod:
  3790. style: |
  3791. ha-card {
  3792. background: var(--card-background-color);
  3793. width: 66px;
  3794. border-radius: 30px;
  3795. margin-left: auto;
  3796. margin-right: auto;
  3797. margin-bottom: 2px;
  3798. }
  3799. - type: custom:mushroom-template-card
  3800. primary: ''
  3801. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  3802. icon: mdi:car
  3803. layout: vertical
  3804. tap_action:
  3805. action: navigate
  3806. navigation_path: niro
  3807. icon_color: green
  3808. card_mod:
  3809. style: |
  3810. ha-card {
  3811. background: var(--card-background-color);
  3812. width: 66px;
  3813. border-radius: 30px;
  3814. margin-left: auto;
  3815. margin-right: auto;
  3816. margin-bottom: 2px;
  3817. }
  3818. - type: custom:mushroom-template-card
  3819. primary: ''
  3820. secondary: '{{states(''sensor.office_ambient_temperature'')|int }} °c'
  3821. icon: mdi:heating-coil
  3822. layout: vertical
  3823. tap_action:
  3824. action: navigate
  3825. navigation_path: temp
  3826. icon_color: indigo
  3827. fill_container: false
  3828. card_mod:
  3829. style: |
  3830. ha-card {
  3831. background: var(--card-background-color);
  3832. width: 66px;
  3833. border-radius: 30px;
  3834. margin-left: auto;
  3835. margin-right: auto;
  3836. margin-bottom: 2px;
  3837. }
  3838. - type: custom:mushroom-template-card
  3839. primary: null
  3840. secondary: Lights
  3841. icon: mdi:lightbulb
  3842. layout: vertical
  3843. tap_action:
  3844. action: navigate
  3845. navigation_path: lights
  3846. icon_color: yellow
  3847. fill_container: true
  3848. card_mod:
  3849. style: |
  3850. ha-card {
  3851. background: var(--card-background-color);
  3852. width: 66px;
  3853. border-radius: 30px;
  3854. margin-left: auto;
  3855. margin-right: auto;
  3856. margin-bottom: 2px;
  3857. }
  3858. - type: custom:mushroom-template-card
  3859. primary: ''
  3860. secondary: Media
  3861. icon: mdi:netflix
  3862. layout: vertical
  3863. tap_action:
  3864. action: navigate
  3865. navigation_path: media
  3866. icon_color: pink
  3867. fill_container: true
  3868. card_mod:
  3869. style: |
  3870. ha-card {
  3871. background: var(--card-background-color);
  3872. width: 66px;
  3873. border-radius: 30px;
  3874. margin-left: auto;
  3875. margin-right: auto;
  3876. margin-bottom: 2px;
  3877. }
  3878. card_mod:
  3879. style: |
  3880. ha-card {
  3881. padding: 2px;
  3882. background: rgba(var(--rgb-primary-text-color), 0.01);
  3883. }
  3884. - type: custom:frigate-card
  3885. cameras:
  3886. - camera_entity: camera.doorbell
  3887. menu:
  3888. buttons:
  3889. microphone:
  3890. enabled: true
  3891. - type: custom:frigate-card
  3892. cameras:
  3893. - camera_entity: camera.wyzecam
  3894. menu:
  3895. buttons:
  3896. microphone:
  3897. enabled: true
  3898. icon: mdi:microphone
  3899. - type: grid
  3900. cards:
  3901. - type: custom:notify-card
  3902. target: tts.cloud_say
  3903. label: Notify All
  3904. entity: media_player.reolinkdoorbell
  3905. card_title: Doorbell
  3906. notification_title: New Notification
  3907. - title: Test Area
  3908. path: test-area
  3909. icon: mdi:test-tube
  3910. type: sections
  3911. max_columns: 4
  3912. theme: waves
  3913. sections:
  3914. - type: grid
  3915. cards:
  3916. - type: custom:stack-in-card
  3917. cards:
  3918. - type: horizontal-stack
  3919. cards:
  3920. - type: custom:mushroom-template-card
  3921. primary: ''
  3922. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  3923. icon: mdi:home
  3924. icon_color: blue
  3925. layout: vertical
  3926. fill_container: false
  3927. tap_action:
  3928. action: navigate
  3929. navigation_path: house
  3930. card_mod:
  3931. style: |
  3932. ha-card {
  3933. background: var(--card-background-color);
  3934. width: 66px;
  3935. border-radius: 30px;
  3936. margin-left: auto;
  3937. margin-right: auto;
  3938. margin-bottom: 2px;
  3939. }
  3940. ha-state-icon {
  3941. {% if states('sensor.wiser_lts_temperature_hallway') | int < 18 %}
  3942. animation: shake 0.5s infinite alternate; # Shaking animation if temperature is below 18°C
  3943. {% else %}
  3944. animation: none; # No animation if temperature is 18°C or above
  3945. {% endif %}
  3946. }
  3947. @keyframes shake {
  3948. 0% {
  3949. transform: translate(0); /* Original position */
  3950. }
  3951. 8% {
  3952. transform: translate(-1px, 0); /* Move slightly left */
  3953. }
  3954. 8% {
  3955. transform: translate(2px, 0); /* Move slightly right */
  3956. }
  3957. 8% {
  3958. transform: translate(-2px, 0); /* Move slightly left */
  3959. }
  3960. 50% {
  3961. transform: translate(0); /* Return to original position */
  3962. }
  3963. }
  3964. - type: custom:mushroom-template-card
  3965. primary: ''
  3966. secondary: >-
  3967. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int
  3968. }} %
  3969. icon: mdi:pi-hole
  3970. layout: vertical
  3971. tap_action:
  3972. action: navigate
  3973. navigation_path: pihole
  3974. icon_color: red
  3975. card_mod:
  3976. style: |
  3977. ha-card {
  3978. background: var(--card-background-color);
  3979. width: 66px;
  3980. border-radius: 30px;
  3981. margin-left: auto;
  3982. margin-right: auto;
  3983. margin-bottom: 2px;
  3984. }
  3985. - type: custom:mushroom-template-card
  3986. primary: ''
  3987. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  3988. icon: mdi:car
  3989. layout: vertical
  3990. tap_action:
  3991. action: navigate
  3992. navigation_path: niro
  3993. icon_color: green
  3994. card_mod:
  3995. style: |
  3996. ha-card {
  3997. background: var(--card-background-color);
  3998. width: 66px;
  3999. border-radius: 30px;
  4000. margin-left: auto;
  4001. margin-right: auto;
  4002. margin-bottom: 2px;
  4003. }
  4004. - type: custom:mushroom-template-card
  4005. primary: ''
  4006. secondary: '{{states(''sensor.office_ambient_temperature'')|int }} °c'
  4007. icon: mdi:heating-coil
  4008. layout: vertical
  4009. tap_action:
  4010. action: navigate
  4011. navigation_path: temp
  4012. icon_color: indigo
  4013. fill_container: false
  4014. card_mod:
  4015. style: |
  4016. ha-card {
  4017. background: var(--card-background-color);
  4018. width: 66px;
  4019. border-radius: 30px;
  4020. margin-left: auto;
  4021. margin-right: auto;
  4022. margin-bottom: 2px;
  4023. }
  4024. - type: custom:mushroom-template-card
  4025. primary: null
  4026. secondary: Lights
  4027. icon: mdi:lightbulb
  4028. layout: vertical
  4029. tap_action:
  4030. action: navigate
  4031. navigation_path: lights
  4032. icon_color: |
  4033. {% if is_state('light.office_lights', 'on') %}
  4034. yellow
  4035. {% else %}
  4036. grey
  4037. {% endif %}
  4038. fill_container: true
  4039. card_mod:
  4040. style: |
  4041. ha-state-icon {
  4042. {% if is_state('light.hue_color_lamp_1', 'on') and not is_state('light.upstairs_lights', 'on') %}
  4043. animation: spin 1s linear infinite; # Spin when hue_color_lamp_1 is on and upstairs_lights is off
  4044. color: yellow; # Change icon color to yellow
  4045. {% else %}
  4046. animation: none; # No animation if upstairs_lights is on or hue_color_lamp_1 is off
  4047. color: grey; # Optional: Set to grey if neither condition is met
  4048. {% endif %}
  4049. }
  4050. @keyframes spin {
  4051. 0% {
  4052. transform: rotate(0deg);
  4053. }
  4054. 100% {
  4055. transform: rotate(360deg);
  4056. }
  4057. }
  4058. card_mod:
  4059. style: |
  4060. ha-card {
  4061. padding: 2px;
  4062. background: rgba(var(--rgb-primary-text-color), 0.01);
  4063. }
  4064. - type: custom:stack-in-card
  4065. cards:
  4066. - type: horizontal-stack
  4067. cards:
  4068. - type: custom:mushroom-template-card
  4069. primary: null
  4070. secondary: Lights
  4071. icon: mdi:lightbulb
  4072. layout: vertical
  4073. tap_action:
  4074. action: navigate
  4075. navigation_path: lights
  4076. icon_color: yellow
  4077. fill_container: true
  4078. card_mod:
  4079. style: |
  4080. ha-state-icon {
  4081. {% if is_state('light.hue_color_lamp_1', 'on') and not is_state('light.upstairs_lights', 'on') %}
  4082. animation: spin 1s linear infinite; # Spin when hue_color_lamp_1 is on and upstairs_lights is off
  4083. {% else %}
  4084. animation: none; # No animation if upstairs_lights is on or hue_color_lamp_1 is off
  4085. {% endif %}
  4086. }
  4087. @keyframes spin {
  4088. 0% {
  4089. transform: rotate(0deg);
  4090. }
  4091. 100% {
  4092. transform: rotate(360deg);
  4093. }
  4094. }
  4095. - type: custom:mushroom-media-player-card
  4096. entity: media_player.fire_tv_lounge
  4097. icon: mdi:play
  4098. use_media_info: true
  4099. use_media_artwork: false
  4100. show_volume_level: false
  4101. media_controls:
  4102. - play_pause_stop
  4103. - previous
  4104. - next
  4105. volume_controls:
  4106. - volume_buttons
  4107. - volume_set
  4108. fill_container: false
  4109. card_mod:
  4110. style: |
  4111. mushroom-shape-icon {
  4112. display: flex;
  4113. {% set media_type = state_attr(config.entity, 'media_content_type') %}
  4114. {% if media_type == 'tvshow' %}
  4115. --card-mod-icon: mdi:television-classic;
  4116. animation: flicker 1s linear infinite alternate;
  4117. {% elif media_type == 'movie' %}
  4118. --card-mod-icon: mdi:movie-roll;
  4119. animation: spin 2s linear infinite reverse;
  4120. {% elif media_type == 'music' %}
  4121. --card-mod-icon: mdi:music;
  4122. animation: beat 1.3s ease-out infinite both;
  4123. {% elif media_type == 'playlist' %}
  4124. --card-mod-icon: mdi:music;
  4125. animation: beat 1.3s ease-out infinite both;
  4126. {% else %}
  4127. --card-mod-icon: mdi:play;
  4128. {% endif %}
  4129. }
  4130. @keyframes flicker {
  4131. 0%, 31.98%, 32.98%, 34.98%, 36.98%, 39.98%, 67.98%, 68.98%, 95.98%, 96.98%, 97.98%, 98.98%, 100% { --icon-color: rgba(var(--rgb-indigo), 1); }
  4132. 32%, 33%, 35%, 36%, 37%, 40%, 68%, 69%, 96%, 97%, 98%, 99% { --icon-color: rgba(var(--rgb-indigo), 0.6); }
  4133. }
  4134. @keyframes beat {
  4135. 0%, 60% { --icon-symbol-size: 21px; }
  4136. 5%, 17%, 57% { --icon-symbol-size: 22px; }
  4137. 10%, 20%, 51% { --icon-symbol-size: 23px; }
  4138. 25%, 45% { --icon-symbol-size: 24px; }
  4139. 30%, 39% { --icon-symbol-size: 25px; }
  4140. 33% { --icon-symbol-size: 26px; }
  4141. }
  4142. ha-card {
  4143. {% if not is_state(config.entity, 'off') %}
  4144. background: rgba(var(--rgb-card-background-color), 0.6) url( '{{ state_attr(config.entity, "entity_picture") }}' ) center no-repeat;
  4145. background-size: cover;
  4146. background-blend-mode: overlay;
  4147. {% endif %}
  4148. }
  4149. - type: custom:mushroom-template-card
  4150. primary: Boil
  4151. icon: mdi:kettle-steam
  4152. icon_color: red
  4153. card_mod:
  4154. style:
  4155. mushroom-shape-icon$: |
  4156. ha-icon {
  4157. --icon-animation: boil 500ms infinite;
  4158. }
  4159. @keyframes boil {
  4160. 0%, 100% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  4161. 10% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); clip-path: polygon(0 0, 66% 10%, 67% 30%, 88% 52%, 100% 100%, 0 100%); }
  4162. 20% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  4163. 30% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  4164. 40% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  4165. 50% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  4166. 60% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  4167. 70% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  4168. 80% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  4169. 90% { transform: translate({{ range(-20, 20) | random / 10 }}px, {{ range(-20, 20) | random / 10 }}px) rotate({{ range(-15, 15) | random }}deg); }
  4170. }
  4171. - type: custom:mushroom-template-card
  4172. primary: null
  4173. secondary: Lights
  4174. icon: mdi:lightbulb
  4175. icon_color: yellow
  4176. layout: vertical
  4177. tap_action:
  4178. action: navigate
  4179. navigation_path: lights
  4180. fill_container: true
  4181. card_mod:
  4182. style: |
  4183. ha-state-icon {
  4184. {% if is_state('light.office_lights', 'on') %}
  4185. animation: spin 1s linear infinite; # Apply spinning animation when office_lights is on
  4186. {% else %}
  4187. animation: none; # No animation if office_lights is off
  4188. {% endif %}
  4189. color: yellow; # Keep the icon color yellow at all times
  4190. }
  4191. @keyframes spin {
  4192. 0% {
  4193. transform: rotate(0deg);
  4194. }
  4195. 100% {
  4196. transform: rotate(360deg);
  4197. }
  4198. }
  4199. - type: custom:mushroom-template-card
  4200. primary: Spin
  4201. icon: mdi:fan
  4202. icon_color: teal
  4203. card_mod:
  4204. style:
  4205. mushroom-shape-icon$: |
  4206. ha-icon {
  4207. --icon-animation: spin 1s linear infinite;
  4208. }
  4209. - type: conditional
  4210. conditions:
  4211. - condition: state
  4212. entity: binary_sensor.doorbell_person_occupancy
  4213. state: 'on'
  4214. card:
  4215. type: custom:mushroom-template-card
  4216. primary: Ding
  4217. icon: mdi:bell-ring
  4218. icon_color: indigo
  4219. card_mod:
  4220. style:
  4221. mushroom-shape-icon$: |
  4222. ha-icon {
  4223. --icon-animation: ring 4s linear infinite;
  4224. transform-origin: 50% 15%;
  4225. }
  4226. @keyframes ring {
  4227. 0% { transform: rotate(0); clip-path: polygon(0 50%, 0 100%, 100% 100%, 100% 50%, 85% 50%, 80% 30%, 60% 5%, 40% 5%, 20% 30%, 15% 50%); }
  4228. 2% { transform: rotate(30deg); clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }
  4229. 6% { transform: rotate(-28deg); clip-path: polygon(0 50%, 0 100%, 100% 100%, 100% 50%, 85% 50%, 80% 30%, 60% 5%, 40% 5%, 20% 30%, 15% 50%); }
  4230. 10% { transform: rotate(34deg); clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }
  4231. 14% { transform: rotate(-32deg); clip-path: polygon(0 50%, 0 100%, 100% 100%, 100% 50%, 85% 50%, 80% 30%, 60% 5%, 40% 5%, 20% 30%, 15% 50%); }
  4232. 18% { transform: rotate(30deg); clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }
  4233. 22% { transform: rotate(-28deg); clip-path: polygon(0 50%, 0 100%, 100% 100%, 100% 50%, 85% 50%, 80% 30%, 60% 5%, 40% 5%, 20% 30%, 15% 50%); }
  4234. 26% { transform: rotate(26deg); clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }
  4235. 30% { transform: rotate(-24deg); clip-path: polygon(0 50%, 0 100%, 100% 100%, 100% 50%, 85% 50%, 80% 30%, 60% 5%, 40% 5%, 20% 30%, 15% 50%); }
  4236. 34% { transform: rotate(22deg); clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }
  4237. 38% { transform: rotate(-20deg); clip-path: polygon(0 50%, 0 100%, 100% 100%, 100% 50%, 85% 50%, 80% 30%, 60% 5%, 40% 5%, 20% 30%, 15% 50%); }
  4238. 42% { transform: rotate(18deg); clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }
  4239. 46% { transform: rotate(-16deg); clip-path: polygon(0 50%, 0 100%, 100% 100%, 100% 50%, 85% 50%, 80% 30%, 60% 5%, 40% 5%, 20% 30%, 15% 50%); }
  4240. 50% { transform: rotate(14deg); clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }
  4241. 54% { transform: rotate(-12deg); clip-path: polygon(0 50%, 0 100%, 100% 100%, 100% 50%, 85% 50%, 80% 30%, 60% 5%, 40% 5%, 20% 30%, 15% 50%); }
  4242. 58% { transform: rotate(10deg); clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }
  4243. 62% { transform: rotate(-8deg); clip-path: polygon(0 50%, 0 100%, 100% 100%, 100% 50%, 85% 50%, 80% 30%, 60% 5%, 40% 5%, 20% 30%, 15% 50%); }
  4244. 66% { transform: rotate(6deg); }
  4245. 70% { transform: rotate(-4deg); }
  4246. 74% { transform: rotate(2deg); }
  4247. 78% { transform: rotate(-1deg); }
  4248. 82% { transform: rotate(1deg); }
  4249. 86% { transform: rotate(0); }
  4250. 100% { transform: rotate(0); clip-path: polygon(0 50%, 0 100%, 100% 100%, 100% 50%, 85% 50%, 80% 30%, 60% 5%, 40% 5%, 20% 30%, 15% 50%); }
  4251. }
  4252. - type: horizontal-stack
  4253. cards:
  4254. - type: custom:mushroom-entity-card
  4255. entity: sensor.wiser_lts_temperature_hallway
  4256. icon_color: green
  4257. fill_container: false
  4258. primary_info: name
  4259. layout: vertical
  4260. name: Lounge
  4261. - type: custom:mushroom-entity-card
  4262. entity: sensor.wiser_lts_humidity_hallway
  4263. icon_color: blue
  4264. fill_container: false
  4265. primary_info: name
  4266. layout: vertical
  4267. name: Lounge
  4268. - type: custom:mushroom-entity-card
  4269. entity: sensor.office_ambient_temperature
  4270. icon_color: green
  4271. fill_container: false
  4272. primary_info: name
  4273. layout: vertical
  4274. name: Office
  4275. - type: custom:mushroom-entity-card
  4276. entity: sensor.office_ambient_humidity
  4277. icon_color: blue
  4278. fill_container: false
  4279. primary_info: name
  4280. layout: vertical
  4281. name: Office
  4282. - type: custom:stack-in-card
  4283. cards:
  4284. - type: horizontal-stack
  4285. cards:
  4286. - type: custom:mushroom-template-card
  4287. primary: Lounge
  4288. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °c'
  4289. icon: mdi:home
  4290. icon_color: green
  4291. layout: vertical
  4292. fill_container: false
  4293. - type: custom:mushroom-template-card
  4294. primary: Lounge
  4295. secondary: '{{states(''sensor.wiser_lts_humidity_hallway'')|int }} °c'
  4296. icon: mdi:home
  4297. icon_color: blue
  4298. layout: vertical
  4299. fill_container: false
  4300. - type: custom:mushroom-template-card
  4301. primary: Office
  4302. secondary: '{{states(''sensor.office_ambient_temperature'')|int }} °c'
  4303. icon: mdi:home
  4304. icon_color: green
  4305. layout: vertical
  4306. fill_container: false
  4307. - type: custom:mushroom-template-card
  4308. primary: Office
  4309. secondary: '{{states(''sensor.office_ambient_humidity'')|int }} °c'
  4310. icon: mdi:home
  4311. icon_color: blue
  4312. layout: vertical
  4313. fill_container: false
  4314. - type: grid
  4315. cards:
  4316. - type: heading
  4317. heading: Mobile Test
  4318. - type: gauge
  4319. entity: >-
  4320. sensor.octopus_energy_electricity_19e5205601_2700003108869_current_consumption
  4321. theme: waves
  4322. min: -8000
  4323. max: 20000
  4324. needle: true
  4325. severity:
  4326. green: -8000
  4327. yellow: 1000
  4328. red: 10000
  4329. - type: custom:mushroom-template-card
  4330. primary: |
  4331. {% if is_state( 'sensor.dan_s_ps5_activity', 'playing') %}
  4332. Playing on PS5
  4333. {% else %}
  4334. {% if is_state( 'sensor.dan_s_ps5_activity', 'idle') %}
  4335. PS5 is waiting
  4336. {% else %}
  4337. PS5 is off
  4338. {% endif %}
  4339. {% endif %}
  4340. secondary: >
  4341. {% if is_state( 'sensor.dan_s_ps5_activity', 'playing') %} {{
  4342. state_attr( 'sensor.dan_s_ps5_activity', 'title_name') }} {% else
  4343. %}
  4344. {% if is_state( 'sensor.dan_s_ps5_activity', 'idle') %}
  4345. Let's play!
  4346. {% else %}
  4347. Hold to turn on!
  4348. {% endif %}
  4349. {% endif %}
  4350. icon: mdi:sony-playstation
  4351. entity: sensor.dan_s_ps5_activity
  4352. picture: |
  4353. {% if is_state( 'sensor.dan_s_ps5_activity', 'playing') %}
  4354. {{ state_attr( 'sensor.dan_s_ps5_activity', 'title_image')}}
  4355. {% else %}
  4356. http://10.0.0.2:8123/local/images/ps5_1.png
  4357. {% endif %}
  4358. hold_action:
  4359. action: call-service
  4360. service: switch.toggle
  4361. data: {}
  4362. target:
  4363. entity_id: switch.dan_s_ps5_power
  4364. double_tap_action:
  4365. action: none
  4366. fill_container: false
  4367. multiline_secondary: false
  4368. tap_action:
  4369. action: more-info
  4370. layout: horizontal
  4371. icon_color: blue
  4372. - type: custom:auto-entities
  4373. card:
  4374. type: grid
  4375. columns: 1
  4376. square: false
  4377. title: Now Playing
  4378. card_param: cards
  4379. filter:
  4380. include:
  4381. - name: Playstation 5 Game Being Played
  4382. state: playing
  4383. options:
  4384. type: custom:mushroom-template-card
  4385. primary: PlayStation 5
  4386. secondary: >
  4387. {{ state_attr('sensor.dan_s_ps5_activity', 'title_name')
  4388. or states('sensor.dan_s_ps5_activity')}}
  4389. entity: switch.dan_s_ps5_power
  4390. picture: '{{state_attr(''sensor.dan_s_ps5_activity'', ''title_image'')}}'
  4391. badge_icon: mdi:controller
  4392. - domain: media_player
  4393. state: playing
  4394. options:
  4395. type: custom:mushroom-media-player-card
  4396. media_controls:
  4397. - shuffle
  4398. - previous
  4399. - play_pause_stop
  4400. - next
  4401. volume_controls:
  4402. - volume_set
  4403. use_media_info: true
  4404. show_volume_level: true
  4405. - domain: media_player
  4406. state: paused
  4407. options:
  4408. type: custom:mushroom-media-player-card
  4409. media_controls:
  4410. - shuffle
  4411. - previous
  4412. - play_pause_stop
  4413. - next
  4414. volume_controls:
  4415. - volume_set
  4416. use_media_info: true
  4417. show_volume_level: true
  4418. exclude: []
  4419. show_empty: false
  4420. - type: custom:bubble-card
  4421. card_type: button
  4422. sub_button:
  4423. - icon: mdi:fire
  4424. tap_action:
  4425. navigation_path: '#heating'
  4426. action: navigate
  4427. entity: button.wiser_boost_all_heating
  4428. name: Boost
  4429. name: Heating
  4430. entity: sensor.wiser_heating
  4431. icon: mdi:heating-coil
  4432. styles: |
  4433. .bubble-button-card-container {
  4434. background: rgba(244,184,184,0.5) !important;
  4435. }
  4436. show_state: true
  4437. force_icon: true
  4438. - square: false
  4439. type: grid
  4440. cards:
  4441. - type: custom:bubble-card
  4442. card_type: pop-up
  4443. hash: '#heating'
  4444. - square: false
  4445. type: grid
  4446. cards:
  4447. - type: horizontal-stack
  4448. cards:
  4449. - type: custom:better-thermostat-ui-card
  4450. entity: climate.wiser_hallway
  4451. disable_window: false
  4452. disable_buttons: true
  4453. disable_eco: false
  4454. eco_temperature: 15
  4455. name: Home
  4456. - type: custom:better-thermostat-ui-card
  4457. entity: climate.office
  4458. disable_window: false
  4459. disable_buttons: true
  4460. disable_eco: false
  4461. eco_temperature: 15
  4462. name: Office
  4463. - type: horizontal-stack
  4464. cards:
  4465. - type: custom:mushroom-entity-card
  4466. entity: sensor.wiser_lts_temperature_hallway
  4467. icon_color: green
  4468. fill_container: false
  4469. primary_info: name
  4470. layout: vertical
  4471. name: Lounge
  4472. - type: custom:mushroom-entity-card
  4473. icon_color: green
  4474. fill_container: false
  4475. primary_info: name
  4476. layout: vertical
  4477. entity: sensor.kitchen_sensor_temperature
  4478. name: Kitchen
  4479. - type: custom:mushroom-entity-card
  4480. icon_color: green
  4481. fill_container: false
  4482. primary_info: name
  4483. layout: vertical
  4484. entity: sensor.aqarabutton_device_temperature
  4485. name: Bedroom
  4486. - type: custom:mushroom-entity-card
  4487. icon_color: green
  4488. fill_container: false
  4489. primary_info: name
  4490. layout: vertical
  4491. entity: sensor.hue_motion_sensor_1_temperature
  4492. name: Landing
  4493. - type: custom:mushroom-entity-card
  4494. icon_color: green
  4495. fill_container: false
  4496. primary_info: name
  4497. layout: vertical
  4498. entity: sensor.office_ambient_temperature
  4499. name: Office
  4500. icon: mdi:home-thermometer-outline
  4501. hold_action:
  4502. action: call-service
  4503. service: script.office_heat_boost_1hr
  4504. target: {}
  4505. - type: horizontal-stack
  4506. cards:
  4507. - type: custom:mushroom-entity-card
  4508. icon_color: blue
  4509. fill_container: false
  4510. primary_info: name
  4511. layout: vertical
  4512. entity: sensor.wiser_lts_humidity_hallway
  4513. name: Lounge
  4514. - type: custom:mushroom-entity-card
  4515. fill_container: false
  4516. primary_info: name
  4517. layout: vertical
  4518. name: Boost
  4519. icon_color: red
  4520. entity: script.1703756311288
  4521. icon: mdi:radiator
  4522. tap_action:
  4523. action: toggle
  4524. - type: custom:mushroom-entity-card
  4525. entity: sensor.kitchen_sensor_humidity
  4526. icon_color: blue
  4527. fill_container: false
  4528. primary_info: name
  4529. layout: vertical
  4530. name: Kitchen
  4531. - type: custom:mushroom-entity-card
  4532. fill_container: false
  4533. primary_info: name
  4534. layout: vertical
  4535. name: Office
  4536. icon_color: blue
  4537. entity: sensor.office_ambient_humidity
  4538. - type: custom:mushroom-entity-card
  4539. fill_container: false
  4540. primary_info: name
  4541. layout: vertical
  4542. name: Boost
  4543. icon_color: red
  4544. entity: script.office_heat_boost_1hr
  4545. columns: 1
  4546. columns: 1
  4547. - type: custom:bubble-card
  4548. card_type: button
  4549. sub_button:
  4550. - icon: mdi:fire
  4551. tap_action:
  4552. navigation_path: '#heating'
  4553. action: navigate
  4554. entity: button.wiser_boost_all_heating
  4555. name: Boost
  4556. name: Heating
  4557. entity: sensor.wiser_heating
  4558. icon: mdi:heating-coil
  4559. styles: |
  4560. .bubble-button-card-container {
  4561. background: {% if is_state('sensor.wiser_heating', 'on') %} rgba(255, 165, 0, 0.5) {% else %} rgba(244, 184, 184, 0.5) {% endif %} !important;
  4562. }
  4563. show_state: true
  4564. force_icon: true
  4565. - type: custom:bubble-card
  4566. card_type: climate
  4567. entity: climate.wiser_hallway
  4568. sub_button:
  4569. - name: HVAC modes menu
  4570. select_attribute: hvac_modes
  4571. state_background: true
  4572. show_arrow: false
  4573. name: Home Heating
  4574. force_icon: false
  4575. show_state: true
  4576. show_attribute: true
  4577. show_last_changed: false
  4578. attribute: current_temperature
  4579. hold_action:
  4580. action: url
  4581. url_path: temp
  4582. styles: ''
  4583. - type: tile
  4584. entity: binary_sensor.presence_presence
  4585. name: Lounge Presence
  4586. icon: mdi:account-alert
  4587. - type: custom:stack-in-card
  4588. cards:
  4589. - type: horizontal-stack
  4590. cards:
  4591. - type: custom:mushroom-template-card
  4592. primary: ''
  4593. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °C'
  4594. icon: mdi:home
  4595. icon_color: rgb(112, 156, 224)
  4596. layout: vertical
  4597. tap_action:
  4598. action: navigate
  4599. navigation_path: house
  4600. card_mod:
  4601. style: |
  4602. ha-card {
  4603. background: rgba(224, 236, 255, 0.5) !important; # Light blue with beige undertone
  4604. border-radius: 30px;
  4605. }
  4606. - type: custom:mushroom-template-card
  4607. primary: ''
  4608. secondary: >-
  4609. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int
  4610. }} %
  4611. icon: mdi:pi-hole
  4612. layout: vertical
  4613. tap_action:
  4614. action: navigate
  4615. navigation_path: pihole
  4616. icon_color: rgb(224, 112, 112)
  4617. card_mod:
  4618. style: |
  4619. ha-card {
  4620. background: rgba(244, 184, 184, 0.5) !important; # Muted red
  4621. border-radius: 30px;
  4622. }
  4623. - type: custom:mushroom-template-card
  4624. primary: ''
  4625. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  4626. icon: mdi:car
  4627. layout: vertical
  4628. tap_action:
  4629. action: navigate
  4630. navigation_path: niro
  4631. icon_color: rgb(112, 224, 156)
  4632. card_mod:
  4633. style: |
  4634. ha-card {
  4635. background: rgba(216, 244, 224, 0.5) !important; # Pale green
  4636. border-radius: 30px;
  4637. }
  4638. - type: custom:mushroom-template-card
  4639. primary: ''
  4640. secondary: '{{ states(''sensor.office_ambient_temperature'') | int }} °C'
  4641. icon: mdi:heating-coil
  4642. icon_color: |
  4643. {% if is_state('climate.wiser_hallway', 'heat') %}
  4644. rgb(224, 112, 112) # Slightly vibrant red
  4645. {% else %}
  4646. rgb(156, 112, 224) # Indigo with warm tone
  4647. {% endif %}
  4648. layout: vertical
  4649. tap_action:
  4650. action: navigate
  4651. navigation_path: temp
  4652. card_mod:
  4653. style: |
  4654. ha-card {
  4655. background: rgba(224, 216, 244, 0.5) !important; # Pale indigo
  4656. border-radius: 30px;
  4657. }
  4658. - type: custom:mushroom-template-card
  4659. primary: ''
  4660. secondary: Lights
  4661. icon: mdi:lightbulb
  4662. icon_color: rgb(224, 200, 112)
  4663. layout: vertical
  4664. tap_action:
  4665. action: navigate
  4666. navigation_path: lights
  4667. card_mod:
  4668. style: |
  4669. ha-card {
  4670. background: rgba(244, 236, 216, 0.5) !important; # Pale yellow
  4671. border-radius: 30px;
  4672. }
  4673. - type: custom:mushroom-template-card
  4674. primary: ''
  4675. secondary: Media
  4676. icon: mdi:netflix
  4677. layout: vertical
  4678. tap_action:
  4679. action: navigate
  4680. navigation_path: media
  4681. icon_color: rgb(224, 112, 192)
  4682. card_mod:
  4683. style: |
  4684. ha-card {
  4685. background: rgba(244, 216, 236, 0.5) !important; # Pale pink
  4686. border-radius: 30px;
  4687. }
  4688. card_mod:
  4689. style: |
  4690. ha-card {
  4691. background: transparent !important;
  4692. box-shadow: none;
  4693. padding: 0px;
  4694. }
  4695. - type: custom:stack-in-card
  4696. cards:
  4697. - type: horizontal-stack
  4698. cards:
  4699. - type: custom:mushroom-template-card
  4700. primary: ''
  4701. secondary: '{{states(''sensor.wiser_lts_temperature_hallway'')|int }} °C'
  4702. icon: mdi:home
  4703. icon_color: rgb(112, 156, 224)
  4704. layout: vertical
  4705. tap_action:
  4706. action: navigate
  4707. navigation_path: house
  4708. card_mod:
  4709. style: |
  4710. ha-card {
  4711. border-radius: 15px;
  4712. }
  4713. - type: custom:mushroom-template-card
  4714. primary: ''
  4715. secondary: >-
  4716. {{states('sensor.pi_hole_ads_percentage_blocked_today')|int
  4717. }} %
  4718. icon: mdi:pi-hole
  4719. layout: vertical
  4720. tap_action:
  4721. action: navigate
  4722. navigation_path: pihole
  4723. icon_color: rgb(224, 112, 112)
  4724. card_mod:
  4725. style: |
  4726. ha-card {
  4727. background: rgba(244, 184, 184, 0.5) !important; # Muted red
  4728. border-radius: 15px;
  4729. }
  4730. - type: custom:mushroom-template-card
  4731. primary: ''
  4732. secondary: '{{states(''sensor.niro_ev_battery_level'') }} %'
  4733. icon: mdi:car
  4734. layout: vertical
  4735. tap_action:
  4736. action: navigate
  4737. navigation_path: niro
  4738. icon_color: rgb(112, 224, 156)
  4739. card_mod:
  4740. style: |
  4741. ha-card {
  4742. background: rgba(216, 244, 224, 0.5) !important; # Pale green
  4743. border-radius: 15px;
  4744. }
  4745. - type: custom:mushroom-template-card
  4746. primary: ''
  4747. secondary: '{{ states(''sensor.office_ambient_temperature'') | int }} °C'
  4748. icon: mdi:heating-coil
  4749. icon_color: |
  4750. {% if is_state('climate.wiser_hallway', 'heat') %}
  4751. rgb(224, 112, 112) # Slightly vibrant red
  4752. {% else %}
  4753. rgb(156, 112, 224) # Indigo with warm tone
  4754. {% endif %}
  4755. layout: vertical
  4756. tap_action:
  4757. action: navigate
  4758. navigation_path: temp
  4759. card_mod:
  4760. style: |
  4761. ha-card {
  4762. background: rgba(224, 216, 244, 0.5) !important; # Pale indigo
  4763. border-radius: 15px;
  4764. }
  4765. - type: custom:mushroom-template-card
  4766. primary: ''
  4767. secondary: Lights
  4768. icon: mdi:lightbulb
  4769. icon_color: rgb(224, 200, 112)
  4770. layout: vertical
  4771. tap_action:
  4772. action: navigate
  4773. navigation_path: lights
  4774. card_mod:
  4775. style: |
  4776. ha-card {
  4777. background: rgba(244, 236, 216, 0.5) !important; # Pale yellow
  4778. border-radius: 15px;
  4779. }
  4780. - type: custom:mushroom-template-card
  4781. primary: ''
  4782. secondary: Media
  4783. icon: mdi:netflix
  4784. layout: vertical
  4785. tap_action:
  4786. action: navigate
  4787. navigation_path: media
  4788. icon_color: rgb(224, 112, 192)
  4789. card_mod:
  4790. style: |
  4791. ha-card {
  4792. background: rgba(244, 216, 236, 0.5) !important; # Pale pink
  4793. border-radius: 15px;
  4794. }
  4795. card_mod:
  4796. style: |
  4797. ha-card {
  4798. background: transparent !important;
  4799. box-shadow: none;
  4800. padding: 0px;
  4801. }
  4802. - type: grid
  4803. cards:
  4804. - type: custom:bubble-card
  4805. card_type: button
  4806. name: Amelia
  4807. icon_open: mdi:lightbulb-cfl
  4808. icon_close: mdi:lightbulb-cfl-off
  4809. button_type: state
  4810. entity: person.amelia
  4811. sub_button:
  4812. - entity: sensor.pixel_7a_amelia_battery_level
  4813. icon: ''
  4814. name: Battery Level
  4815. show_state: true
  4816. grid_options:
  4817. columns: 6
  4818. rows: 1
  4819. - type: custom:bubble-card
  4820. card_type: button
  4821. name: ''
  4822. icon_open: mdi:lightbulb-cfl
  4823. icon_close: mdi:lightbulb-cfl-off
  4824. button_type: state
  4825. entity: person.eva
  4826. sub_button:
  4827. - entity: sensor.pixel_7a_eva_battery_level
  4828. icon: ''
  4829. name: Battery Level
  4830. show_state: true
  4831. grid_options:
  4832. columns: 6
  4833. rows: 1
  4834. - type: custom:bubble-card
  4835. card_type: button
  4836. name: ''
  4837. icon_open: mdi:lightbulb-cfl
  4838. icon_close: mdi:lightbulb-cfl-off
  4839. button_type: state
  4840. entity: person.daniel
  4841. sub_button:
  4842. - entity: sensor.pixel_6_daniel_battery_level
  4843. icon: ''
  4844. name: Battery Level
  4845. show_state: true
  4846. grid_options:
  4847. columns: 6
  4848. rows: 1
  4849. - type: custom:bubble-card
  4850. card_type: button
  4851. name: ''
  4852. icon_open: mdi:lightbulb-cfl
  4853. icon_close: mdi:lightbulb-cfl-off
  4854. button_type: state
  4855. entity: person.kiera
  4856. sub_button:
  4857. - entity: binary_sensor.pixel_8_kiera_android_auto
  4858. - entity: sensor.pixel_8_kiera_battery_level
  4859. icon: ''
  4860. name: Battery Level
  4861. show_state: true
  4862. grid_options:
  4863. columns: 6
  4864. rows: 1
  4865. - square: false
  4866. columns: 1
  4867. type: horizontal-stack
  4868. cards:
  4869. - type: glance
  4870. entities:
  4871. - entity: person.amelia
  4872. - entity: sensor.pixel_7a_amelia_battery_level
  4873. state_color: true
  4874. show_name: false
  4875. show_icon: true
  4876. show_state: true
  4877. card_mod: null
  4878. style: |
  4879. ha-card {
  4880. background: var(--card-background-color);
  4881. width: auto;
  4882. border-radius: 30px;
  4883. margin-left: auto;
  4884. margin-right: auto;
  4885. margin-bottom: 2px;
  4886. }
  4887. - type: glance
  4888. entities:
  4889. - entity: person.daniel
  4890. - entity: sensor.pixel_6_daniel_battery_level
  4891. state_color: true
  4892. show_name: false
  4893. show_icon: true
  4894. show_state: true
  4895. card_mod: null
  4896. style: |
  4897. ha-card {
  4898. background: var(--card-background-color);
  4899. width: auto;
  4900. border-radius: 30px;
  4901. margin-left: auto;
  4902. margin-right: auto;
  4903. margin-bottom: 2px;
  4904. }
  4905. - type: glance
  4906. entities:
  4907. - entity: person.eva
  4908. - entity: sensor.pixel_7a_eva_battery_level
  4909. state_color: true
  4910. show_name: false
  4911. show_icon: true
  4912. show_state: true
  4913. card_mod: null
  4914. style: |
  4915. ha-card {
  4916. background: var(--card-background-color);
  4917. width: auto;
  4918. border-radius: 30px;
  4919. margin-left: auto;
  4920. margin-right: auto;
  4921. margin-bottom: 2px;
  4922. }
  4923. - type: glance
  4924. entities:
  4925. - entity: person.kiera
  4926. - entity: sensor.pixel_8_kiera_battery_level
  4927. state_color: true
  4928. show_name: false
  4929. show_icon: true
  4930. show_state: true
  4931. card_mod: null
  4932. style: |
  4933. ha-card {
  4934. background: var(--card-background-color);
  4935. width: auto;
  4936. border-radius: 30px;
  4937. margin-left: auto;
  4938. margin-right: auto;
  4939. margin-bottom: 2px;
  4940. }
  4941. - square: false
  4942. type: grid
  4943. cards:
  4944. - type: custom:bubble-card
  4945. card_type: button
  4946. name: Amelia
  4947. icon_open: mdi:lightbulb-cfl
  4948. icon_close: mdi:lightbulb-cfl-off
  4949. button_type: state
  4950. entity: person.amelia
  4951. sub_button:
  4952. - entity: sensor.pixel_7a_amelia_battery_level
  4953. icon: ''
  4954. name: Battery Level
  4955. show_state: true
  4956. grid_options:
  4957. columns: 6
  4958. rows: 1
  4959. styles: |
  4960. .bubble-button-card-container {
  4961. background: {% if is_state('person.amelia', 'home') %} rgba(255, 165, 0, 0.5) {% else %} rgba(244, 184, 184, 0.5) {% endif %} !important;
  4962. }
  4963. - type: custom:bubble-card
  4964. card_type: button
  4965. name: Eva
  4966. icon_open: mdi:lightbulb-cfl
  4967. icon_close: mdi:lightbulb-cfl-off
  4968. button_type: state
  4969. entity: person.eva
  4970. sub_button:
  4971. - entity: sensor.pixel_7a_eva_battery_level
  4972. icon: ''
  4973. name: Battery Level
  4974. show_state: true
  4975. grid_options:
  4976. columns: 6
  4977. rows: 1
  4978. styles: |
  4979. .bubble-button-card-container {
  4980. background: {% if is_state('person.eva', 'home') %} rgba(255, 165, 0, 0.5) {% else %} rgba(244, 184, 184, 0.5) {% endif %} !important;
  4981. }
  4982. - type: custom:bubble-card
  4983. card_type: button
  4984. name: Daniel
  4985. icon_open: mdi:lightbulb-cfl
  4986. icon_close: mdi:lightbulb-cfl-off
  4987. button_type: state
  4988. entity: person.daniel
  4989. sub_button:
  4990. - entity: sensor.pixel_6_daniel_battery_level
  4991. icon: ''
  4992. name: Battery Level
  4993. show_state: true
  4994. grid_options:
  4995. columns: 6
  4996. rows: 1
  4997. styles: |
  4998. .bubble-button-card-container {
  4999. background: {% if is_state('person.daniel', 'home') %} rgba(255, 165, 0, 0.5) {% else %} rgba(244, 184, 184, 0.5) {% endif %} !important;
  5000. }
  5001. - type: custom:bubble-card
  5002. card_type: button
  5003. name: Kiera
  5004. icon_open: mdi:lightbulb-cfl
  5005. icon_close: mdi:lightbulb-cfl-off
  5006. button_type: state
  5007. entity: person.kiera
  5008. sub_button:
  5009. - entity: binary_sensor.pixel_8_kiera_android_auto
  5010. - entity: sensor.pixel_8_kiera_battery_level
  5011. icon: ''
  5012. name: Battery Level
  5013. show_state: true
  5014. grid_options:
  5015. columns: 6
  5016. rows: 1
  5017. styles: |
  5018. .bubble-button-card-container {
  5019. background: {% if is_state('person.kiera', 'home') %} rgba(255, 165,
  5020. columns: 2
  5021. - type: custom:bubble-card
  5022. card_type: horizontal-buttons-stack
  5023. 1_name: Home
  5024. 1_icon: mdi:home
  5025. 1_link: house
  5026. 1_entity: sensor.wiser_lts_temperature_hallway
  5027. 1_sub:
  5028. - text: '{{states(''sensor.wiser_lts_temperature_hallway'') | int }} °C'
  5029. icon: mdi:thermometer
  5030. 2_name: Network
  5031. 2_icon: mdi:pi-hole
  5032. 2_link: pihole
  5033. 2_entity: sensor.pi_hole_ads_percentage_blocked_today
  5034. 2_sub:
  5035. - text: >-
  5036. {{states('sensor.pi_hole_ads_percentage_blocked_today') | int
  5037. }} %
  5038. icon: mdi:network
  5039. 3_name: Kia
  5040. 3_icon: mdi:car
  5041. 3_link: niro
  5042. 3_entity: sensor.niro_ev_battery_level
  5043. 3_sub:
  5044. - text: '{{states(''sensor.niro_ev_battery_level'') }} %'
  5045. icon: mdi:battery
  5046. 4_name: Heat
  5047. 4_icon: mdi:heating-coil
  5048. 4_link: temp
  5049. 4_entity: sensor.office_ambient_temperature
  5050. 4_sub:
  5051. - text: '{{states(''sensor.office_ambient_temperature'') | int }} °C'
  5052. icon: mdi:thermometer-lines
  5053. 5_name: Lights
  5054. 5_icon: mdi:lightbulb
  5055. 5_link: lights
  5056. 5_entity: light.upstairs_lights
  5057. 5_sub:
  5058. - text: |
  5059. {% if is_state('light.office_lights', 'on') %}
  5060. On
  5061. {% else %}
  5062. Off
  5063. {% endif %}
  5064. icon: |
  5065. {% if is_state('light.office_lights', 'on') %}
  5066. mdi:lightbulb-on
  5067. {% else %}
  5068. mdi:lightbulb
  5069. {% endif %}
  5070. styles: |
  5071. .bubble-button-card-container {
  5072. background: rgba(240, 235, 216, 0.5); /* Light beige background to match your earlier example */
  5073. border-radius: 10px;
  5074. padding: 10px;
  5075. }
  5076. .bubble-button {
  5077. color: var(--primary-text-color);
  5078. }
  5079. - square: false
  5080. type: grid
  5081. cards:
  5082. - type: custom:bubble-card
  5083. card_type: button
  5084. entity: sensor.wiser_lts_temperature_hallway
  5085. name: Hallway Temperature
  5086. icon: mdi:thermometer
  5087. primary_info: state
  5088. secondary_info: attributes.unit_of_measurement
  5089. grid_options:
  5090. columns: 2
  5091. rows: 1
  5092. show_state: true
  5093. card_layout: large
  5094. button_type: state
  5095. styles: |-
  5096. .mushroom-entity-card .card-primary {
  5097. color: rgba(0, 0, 255, 0.5); /* Pastel Blue */
  5098. }
  5099. - type: custom:bubble-card
  5100. card_type: button
  5101. entity: sensor.wiser_lts_humidity_hallway
  5102. name: Hallway Humidity
  5103. icon: mdi:water-percent
  5104. primary_info: state
  5105. secondary_info: attributes.unit_of_measurement
  5106. grid_options:
  5107. columns: 2
  5108. rows: 1
  5109. styles: |
  5110. .bubble-card .card-primary {
  5111. color: rgba(0, 0, 255, 0.5); /* Pastel Blue */
  5112. }
  5113. - type: custom:bubble-card
  5114. card_type: button
  5115. entity: sensor.office_ambient_temperature
  5116. name: Office Temperature
  5117. icon: mdi:thermometer
  5118. primary_info: state
  5119. secondary_info: attributes.unit_of_measurement
  5120. grid_options:
  5121. columns: 2
  5122. rows: 1
  5123. styles: |
  5124. .bubble-card .card-primary {
  5125. color: rgba(0, 128, 0, 0.5); /* Pastel Green */
  5126. }
  5127. - type: custom:bubble-card
  5128. card_type: button
  5129. entity: sensor.office_ambient_humidity
  5130. name: Office Humidity
  5131. icon: mdi:water-percent
  5132. primary_info: state
  5133. secondary_info: attributes.unit_of_measurement
  5134. grid_options:
  5135. columns: 2
  5136. rows: 1
  5137. styles: |
  5138. .bubble-card .card-primary {
  5139. color: rgba(0, 0, 255, 0.5); /* Pastel Blue */
  5140. }
  5141. columns: 2
  5142. - square: false
  5143. type: grid
  5144. cards:
  5145. - type: custom:bubble-card
  5146. card_type: button
  5147. button_type: slider
  5148. entity: light.office_spotlights
  5149. icon: mdi:spotlight-beam
  5150. scrolling_effect: true
  5151. show_state: true
  5152. show_attribute: false
  5153. slider_live_update: false
  5154. card_layout: large-2-rows
  5155. - type: custom:bubble-card
  5156. card_type: button
  5157. button_type: slider
  5158. entity: light.office_lights
  5159. icon: mdi:led-strip-variant
  5160. tap_action:
  5161. action: toggle
  5162. hold_action:
  5163. action: more-info
  5164. force_icon: false
  5165. show_state: true
  5166. columns: 2
  5167. - type: custom:bubble-card
  5168. card_type: button
  5169. entity: button.lenovo_smart_tab_m8_load_start_url
  5170. icon: mdi:tablet
  5171. scrolling_effect: true
  5172. show_name: true
  5173. force_icon: false
  5174. name: Refresh Tablet View
  5175. button_action:
  5176. tap_action:
  5177. action: toggle
  5178. target: {}
  5179. service: button.lenovo_smart_tab_m8_load_start_url
  5180. tap_action:
  5181. action: toggle
  5182. show_state: false
  5183. show_last_changed: false
  5184. show_attribute: false
  5185. attribute: friendly_name
  5186. card_layout: large
  5187. - square: false
  5188. type: grid
  5189. cards:
  5190. - type: custom:mushroom-light-card
  5191. show_brightness_control: true
  5192. tap_action:
  5193. action: toggle
  5194. hold_action:
  5195. action: more-info
  5196. use_light_color: true
  5197. show_color_control: false
  5198. icon: mdi:spotlight-beam
  5199. fill_container: false
  5200. show_color_temp_control: false
  5201. collapsible_controls: true
  5202. icon_color: white
  5203. entity: light.office_spotlights
  5204. name: Spots
  5205. - type: custom:mushroom-light-card
  5206. show_brightness_control: true
  5207. tap_action:
  5208. action: toggle
  5209. hold_action:
  5210. action: more-info
  5211. use_light_color: true
  5212. show_color_control: true
  5213. icon: mdi:led-strip-variant
  5214. fill_container: false
  5215. show_color_temp_control: true
  5216. collapsible_controls: true
  5217. icon_color: white
  5218. entity: light.office_lights
  5219. name: All
  5220. - show_name: false
  5221. show_icon: true
  5222. type: button
  5223. tap_action:
  5224. action: toggle
  5225. entity: button.lenovo_smart_tab_m8_load_start_url
  5226. icon: ''
  5227. icon_height: 35px
  5228. columns: 3
  5229. - type: grid
  5230. columns: 3
  5231. square: false
  5232. cards:
  5233. - type: custom:mushroom-light-card
  5234. entity: light.office_spotlights
  5235. name: Spots
  5236. icon: mdi:spotlight-beam
  5237. show_brightness_control: true
  5238. show_color_temp_control: false
  5239. show_color_control: false
  5240. use_light_color: true
  5241. collapsible_controls: true
  5242. fill_container: true
  5243. tap_action:
  5244. action: toggle
  5245. hold_action:
  5246. action: more-info
  5247. card_mod:
  5248. style: |
  5249. ha-card {
  5250. background: rgba(250, 235, 215, 0.9); /* Pastel background */
  5251. border-radius: 30px; /* Increased to make more rounded */
  5252. height: 150px; /* Taller card */
  5253. padding: 10px;
  5254. box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.2); /* Softer shadow */
  5255. }
  5256. .icon {
  5257. color: white; /* Matches your bubble card style */
  5258. }
  5259. - type: custom:mushroom-light-card
  5260. entity: light.office_lights
  5261. name: All
  5262. icon: mdi:led-strip-variant
  5263. show_brightness_control: true
  5264. show_color_temp_control: true
  5265. show_color_control: true
  5266. use_light_color: true
  5267. collapsible_controls: true
  5268. fill_container: true
  5269. tap_action:
  5270. action: toggle
  5271. hold_action:
  5272. action: more-info
  5273. card_mod:
  5274. style: |
  5275. ha-card {
  5276. background: rgba(245, 222, 179, 0.9); /* Light pastel color */
  5277. border-radius: 30px; /* Increased to make more rounded */
  5278. height: 150px; /* Taller card */
  5279. padding: 10px;
  5280. box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.2); /* Softer shadow */
  5281. }
  5282. .icon {
  5283. color: white; /* Icon color for consistency */
  5284. }
  5285. - type: button
  5286. entity: button.lenovo_smart_tab_m8_load_start_url
  5287. icon: mdi:tablet
  5288. show_name: false
  5289. tap_action:
  5290. action: toggle
  5291. card_mod:
  5292. style: |
  5293. ha-card {
  5294. background: rgba(230, 230, 250, 0.9); /* Light pastel lavender */
  5295. border-radius: 30px; /* Increased to make more rounded */
  5296. height: 150px; /* Taller card */
  5297. padding: 10px;
  5298. box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.2); /* Softer shadow */
  5299. }
  5300. .button-icon {
  5301. height: 35px; /* Adjusted icon size */
  5302. color: #ffffff; /* White icon color */
  5303. }
  5304. - type: horizontal-stack
  5305. cards:
  5306. - type: custom:mushroom-entity-card
  5307. entity: sensor.wiser_lts_temperature_hallway
  5308. icon_color: green
  5309. fill_container: false
  5310. layout: vertical
  5311. primary_info: none
  5312. card_mod:
  5313. style: |
  5314. ha-card {
  5315. background-color: rgba(173, 216, 230, 0.3); # Light pastel blue background
  5316. color: #000000 !important; # Darker text color for all card text (entity state, primary info, etc.)
  5317. }
  5318. ha-icon {
  5319. color: #000000 !important; # Dark icon color
  5320. }
  5321. .primary {
  5322. color: #000000 !important; # Dark color for the primary info text
  5323. }
  5324. ha-state-label {
  5325. color: #000000 !important; # Dark color for the entity state text
  5326. }
  5327. - type: custom:mushroom-entity-card
  5328. entity: sensor.wiser_lts_humidity_hallway
  5329. icon_color: blue
  5330. fill_container: false
  5331. primary_info: none
  5332. layout: vertical
  5333. name: Lounge
  5334. icon: mdi:home-flood
  5335. card_mod:
  5336. style: |
  5337. ha-card {
  5338. background-color: rgba(173, 216, 230, 0.3); # Light pastel blue background
  5339. color: #000000 !important; # Darker text color for all card text (entity state, primary info, etc.)
  5340. }
  5341. ha-icon {
  5342. color: #000000 !important; # Dark icon color
  5343. }
  5344. .primary {
  5345. color: #000000 !important; # Dark color for the primary info text
  5346. }
  5347. ha-state-label {
  5348. color: #000000 !important; # Dark color for the entity state text
  5349. }
  5350. - type: custom:mushroom-entity-card
  5351. entity: sensor.office_ambient_temperature
  5352. icon_color: lime
  5353. fill_container: false
  5354. primary_info: none
  5355. layout: vertical
  5356. name: Office
  5357. icon: mdi:office-building
  5358. card_mod:
  5359. style: |
  5360. ha-card {
  5361. background-color: rgba(173, 216, 230, 0.3); # Light pastel blue background
  5362. color: #000000 !important; # Darker text color for all card text (entity state, primary info, etc.)
  5363. }
  5364. ha-icon {
  5365. color: #000000 !important; # Dark icon color
  5366. }
  5367. .primary {
  5368. color: #000000 !important; # Dark color for the primary info text
  5369. }
  5370. ha-state-label {
  5371. color: #000000 !important; # Dark color for the entity state text
  5372. }
  5373. - type: custom:mushroom-entity-card
  5374. entity: sensor.office_ambient_humidity
  5375. icon_color: cyan
  5376. fill_container: false
  5377. primary_info: none
  5378. layout: vertical
  5379. name: Office
  5380. icon: mdi:office-building-outline
  5381. card_mod:
  5382. style: |
  5383. ha-card {
  5384. background-color: rgba(173, 216, 230, 0.3); # Light pastel blue background
  5385. color: #000000 !important; # Darker text color for all card text (entity state, primary info, etc.)
  5386. }
  5387. ha-icon {
  5388. color: #000000 !important; # Dark icon color
  5389. }
  5390. .primary {
  5391. color: #000000 !important; # Dark color for the primary info text
  5392. }
  5393. ha-state-label {
  5394. color: #000000 !important; # Dark color for the entity state text
  5395. }
  5396. - type: grid
  5397. cards:
  5398. - square: false
  5399. type: grid
  5400. cards:
  5401. - square: false
  5402. type: grid
  5403. cards:
  5404. - camera_view: live
  5405. type: picture-glance
  5406. image: https://demo.home-assistant.io/stub_config/kitchen.png
  5407. entities: []
  5408. camera_image: camera.wyzecam
  5409. image_entity: >-
  5410. https://localhost:8123/api/hassio_ingress/JtJkFv4taulvvUTNYF74VMxX1KSkqoWFQRzjYl_y4zs/snapshot/driveway-cam.jpgities
  5411. found
  5412. tap_action:
  5413. action: navigate
  5414. navigation_path: /ccab4aaf_frigate-proxy
  5415. - type: custom:frigate-card
  5416. cameras:
  5417. - camera_entity: camera.doorbell
  5418. live_provider: auto
  5419. performance:
  5420. features:
  5421. animated_progress_indicator: false
  5422. media_chunk_size: 0
  5423. style:
  5424. border_radius: false
  5425. box_shadow: false
  5426. menu:
  5427. buttons:
  5428. microphone:
  5429. enabled: true
  5430. live:
  5431. microphone:
  5432. always_connected: false
  5433. - type: custom:frigate-card
  5434. cameras:
  5435. - camera_entity: camera.gardencam
  5436. live_provider: auto
  5437. performance:
  5438. features:
  5439. animated_progress_indicator: false
  5440. media_chunk_size: 0
  5441. style:
  5442. border_radius: false
  5443. box_shadow: false
  5444. menu:
  5445. buttons:
  5446. microphone:
  5447. enabled: true
  5448. live:
  5449. microphone:
  5450. always_connected: false
  5451. columns: 3
  5452. columns: 1
  5453. - square: false
  5454. type: grid
  5455. cards:
  5456. - type: custom:bubble-card
  5457. card_type: button
  5458. name: Amelia
  5459. icon_open: mdi:lightbulb-cfl
  5460. icon_close: mdi:lightbulb-cfl-off
  5461. button_type: state
  5462. entity: person.amelia
  5463. sub_button:
  5464. - entity: sensor.pixel_7a_amelia_battery_level
  5465. icon: ''
  5466. name: Battery Level
  5467. show_state: true
  5468. styles: |
  5469. ha-icon {
  5470. color: {% if states('sensor.pixel_7a_amelia_battery_level')|int < 10 %} red
  5471. {% elif states('sensor.pixel_7a_amelia_battery_level')|int < 40 %} amber
  5472. {% else %} green {% endif %};
  5473. }
  5474. grid_options:
  5475. columns: 6
  5476. rows: 1
  5477. - type: custom:bubble-card
  5478. card_type: button
  5479. name: ''
  5480. icon_open: mdi:lightbulb-cfl
  5481. icon_close: mdi:lightbulb-cfl-off
  5482. button_type: state
  5483. entity: person.eva
  5484. sub_button:
  5485. - entity: sensor.pixel_7a_eva_battery_level
  5486. icon: ''
  5487. name: Battery Level
  5488. show_state: true
  5489. styles: |
  5490. .bubble-button-card-container {
  5491. color: {% if states('sensor.pixel_7a_eva_battery_level')|int < 10 %} red
  5492. {% elif states('sensor.pixel_7a_eva_battery_level')|int < 40 %} amber
  5493. {% else %} green {% endif %};
  5494. }
  5495. grid_options:
  5496. columns: 6
  5497. rows: 1
  5498. - type: custom:bubble-card
  5499. card_type: button
  5500. name: ''
  5501. icon_open: mdi:lightbulb-cfl
  5502. icon_close: mdi:lightbulb-cfl-off
  5503. button_type: state
  5504. entity: person.daniel
  5505. sub_button:
  5506. - entity: sensor.pixel_6_daniel_battery_level
  5507. icon: ''
  5508. name: Battery Level
  5509. show_state: true
  5510. styles: |
  5511. ha-icon {
  5512. color: {% if states('sensor.pixel_6_daniel_battery_level')|int < 10 %} red
  5513. {% elif states('sensor.pixel_6_daniel_battery_level')|int < 30 %} amber
  5514. {% else %} green {% endif %};
  5515. }
  5516. grid_options:
  5517. columns: 6
  5518. rows: 1
  5519. - type: custom:bubble-card
  5520. card_type: button
  5521. name: ''
  5522. icon_open: mdi:lightbulb-cfl
  5523. icon_close: mdi:lightbulb-cfl-off
  5524. button_type: state
  5525. entity: person.kiera
  5526. sub_button:
  5527. - entity: sensor.pixel_8_kiera_battery_level
  5528. icon: ''
  5529. name: Battery Level
  5530. show_state: true
  5531. styles: |
  5532. ha-icon {
  5533. color: {% if states('sensor.pixel_8_kiera_battery_level')|int < 10 %} red
  5534. {% elif states('sensor.pixel_8_kiera_battery_level')|int < 30 %} amber
  5535. {% else %} green {% endif %};
  5536. }
  5537. grid_options:
  5538. columns: 6
  5539. rows: 1
  5540. columns: 2
  5541. - type: grid
  5542. cards:
  5543. - type: heading
  5544. heading: New section
  5545. - type: custom:mushroom-media-player-card
  5546. entity: media_player.bedroom_tv_2
  5547. icon: mdi:play
  5548. use_media_info: true
  5549. use_media_artwork: false
  5550. show_volume_level: false
  5551. media_controls:
  5552. - play_pause_stop
  5553. - previous
  5554. - next
  5555. volume_controls:
  5556. - volume_buttons
  5557. - volume_set
  5558. fill_container: false
  5559. card_mod:
  5560. style: |
  5561. mushroom-shape-icon {
  5562. display: flex;
  5563. {% set media_type = state_attr(config.entity, 'media_content_type') %}
  5564. {% if media_type == 'tvshow' %}
  5565. --card-mod-icon: mdi:television-classic;
  5566. animation: flicker 1s linear infinite alternate;
  5567. {% elif media_type == 'movie' %}
  5568. --card-mod-icon: mdi:movie-roll;
  5569. animation: spin 2s linear infinite reverse;
  5570. {% elif media_type == 'music' %}
  5571. --card-mod-icon: mdi:music;
  5572. animation: beat 1.3s ease-out infinite both;
  5573. {% elif media_type == 'playlist' %}
  5574. --card-mod-icon: mdi:music;
  5575. animation: beat 1.3s ease-out infinite both;
  5576. {% else %}
  5577. --card-mod-icon: mdi:play;
  5578. {% endif %}
  5579. }
  5580. @keyframes flicker {
  5581. 0%, 31.98%, 32.98%, 34.98%, 36.98%, 39.98%, 67.98%, 68.98%, 95.98%, 96.98%, 97.98%, 98.98%, 100% { --icon-color: rgba(var(--rgb-indigo), 1); }
  5582. 32%, 33%, 35%, 36%, 37%, 40%, 68%, 69%, 96%, 97%, 98%, 99% { --icon-color: rgba(var(--rgb-indigo), 0.6); }
  5583. }
  5584. @keyframes beat {
  5585. 0%, 60% { --icon-symbol-size: 21px; }
  5586. 5%, 17%, 57% { --icon-symbol-size: 22px; }
  5587. 10%, 20%, 51% { --icon-symbol-size: 23px; }
  5588. 25%, 45% { --icon-symbol-size: 24px; }
  5589. 30%, 39% { --icon-symbol-size: 25px; }
  5590. 33% { --icon-symbol-size: 26px; }
  5591. }
  5592. ha-card {
  5593. {% if not is_state(config.entity, 'off') %}
  5594. background: rgba(var(--rgb-card-background-color), 0.6) url( '{{ state_attr(config.entity, "entity_picture") }}' ) center no-repeat;
  5595. background-size: cover;
  5596. background-blend-mode: overlay;
  5597. {% endif %}
  5598. }
  5599. column_span: 1
  5600. custom_header:
  5601. hide_header: true
  5602. title: Home
  5603.  
Add Comment
Please, Sign In to add comment