Snippet content copied to clipboard.
Are you sure to delete this snippet? No, don't delete
  1. type: grid
  2. cards:
  3. - type: custom:bubble-card
  4. card_type: separator
  5. name: Ground floor
  6. card_layout: large
  7. - type: custom:bubble-card
  8. card_type: button
  9. button_type: switch
  10. entity: light.entrance_light
  11. show_icon: true
  12. force_icon: false
  13. show_state: false
  14. show_last_changed: false
  15. show_attribute: false
  16. slider_live_update: false
  17. styles: |-
  18. .bubble-button-card:before {
  19. position: absolute;
  20. display: flex;
  21. justify-content: center;
  22. align-items: center;
  23. left: 38px;
  24. top: 4px;
  25. z-index: 1;
  26. line-height: 0;
  27. background-color: ${hass.states['binary_sensor.front_door_contact'].state === 'on' ? 'var(--primary-color)' : 'gray'}!important;
  28. content: ${hass.states['binary_sensor.front_door_contact'].state === 'on' ? 'url("https://api.iconify.design/mdi/door-open.svg?color=white&width=12")' : 'url("https://api.iconify.design/mdi/door-closed.svg?color=white&width=12")'}!important;
  29. width: var(--mush-badge-size, 16px);
  30. height: var(--mush-badge-size, 16px);
  31. border-radius: var(--mush-badge-border-radius, 50%);
  32. }
  33. sub_button: []
  34. card_layout: large
  35. use_accent_color: false
  36. name: Entrance
  37. tap_action:
  38. action: toggle
  39. hold_action:
  40. action: more-info
  41. grid_options:
  42. columns: 6
  43. rows: 1
  44. icon: ""
  45. - type: custom:bubble-card
  46. card_type: button
  47. button_type: switch
  48. entity: light.back_garden_light
  49. show_icon: true
  50. force_icon: false
  51. show_state: false
  52. show_last_changed: false
  53. show_attribute: true
  54. slider_live_update: false
  55. styles: |-
  56. .bubble-button-card:before {
  57. position: absolute;
  58. display: flex;
  59. justify-content: center;
  60. align-items: center;
  61. left: 38px;
  62. top: 4px;
  63. z-index: 1;
  64. line-height: 0;
  65. background-color: ${hass.states['binary_sensor.living_room_door_contact'].state === 'on' ? 'var(--primary-color)' : 'gray'}!important;
  66. content: ${hass.states['binary_sensor.living_room_door_contact'].state === 'on' ? 'url("https://api.iconify.design/mdi/door-open.svg?color=white&width=12")' : 'url("https://api.iconify.design/mdi/door-closed.svg?color=white&width=12")'}!important;
  67. width: var(--mush-badge-size, 16px);
  68. height: var(--mush-badge-size, 16px);
  69. border-radius: var(--mush-badge-border-radius, 50%);
  70. }
  71. sub_button:
  72. - entity: binary_sensor.backgarden_all_occupancy
  73. icon: mdi:motion-sensor
  74. show_background: false
  75. state_background: false
  76. visibility:
  77. - condition: state
  78. entity: binary_sensor.backgarden_all_occupancy
  79. state: "on"
  80. show_state: false
  81. show_last_changed: false
  82. show_attribute: false
  83. show_icon: true
  84. card_layout: large
  85. use_accent_color: true
  86. name: Back garden
  87. tap_action:
  88. action: toggle
  89. hold_action:
  90. action: more-info
  91. grid_options:
  92. columns: 6
  93. rows: 1
  94. icon: mdi:light-flood-down
  95. - type: custom:bubble-card
  96. card_type: button
  97. button_type: slider
  98. entity: light.living_room_lights
  99. show_icon: true
  100. force_icon: false
  101. show_state: false
  102. show_last_changed: false
  103. show_attribute: true
  104. slider_live_update: false
  105. styles: |-
  106. .bubble-button-card:after {
  107. position: absolute;
  108. display: flex;
  109. justify-content: center;
  110. align-items: center;
  111. line-height: 0;
  112. left: 38px;
  113. bottom: 4px;
  114. z-index: 1;
  115. line-height: 0;
  116. background-color: ${hass.states['sensor.wiser_lts_heating_demand_living_room'].state > 0 ? 'var(--orange-color)' : 'gray'}!important;
  117. content: ${hass.states['sensor.wiser_lts_heating_demand_living_room'].state > 0 ? 'url("https://api.iconify.design/mdi/heater.svg?color=white&width=12")' : 'url("https://api.iconify.design/mdi/heater-disabled.svg?color=white&width=12")'}!important;
  118. width: var(--mush-badge-size, 16px);
  119. height: var(--mush-badge-size, 16px);
  120. border-radius: var(--mush-badge-border-radius, 50%);
  121. }
  122. .bubble-button-card:before {
  123. position: absolute;
  124. display: flex;
  125. justify-content: center;
  126. align-items: center;
  127. left: 38px;
  128. top: 4px;
  129. z-index: 1;
  130. line-height: 0;
  131. background-color: ${hass.states['binary_sensor.living_room_door_contact'].state === 'on' ? 'var(--primary-color)' : 'gray'}!important;
  132. content: ${hass.states['binary_sensor.living_room_door_contact'].state === 'on' ? 'url("https://api.iconify.design/mdi/door-open.svg?color=white&width=12")' : 'url("https://api.iconify.design/mdi/door-closed.svg?color=white&width=12")'}!important;
  133. width: var(--mush-badge-size, 16px);
  134. height: var(--mush-badge-size, 16px);
  135. border-radius: var(--mush-badge-border-radius, 50%);
  136. }
  137. sub_button:
  138. - entity: light.living_room_lights
  139. tap_action:
  140. action: perform-action
  141. target:
  142. entity_id: light.living_room_lights
  143. perform_action: light.turn_on
  144. data:
  145. brightness_pct: 10
  146. icon: mdi:lightbulb-on-40
  147. name: ""
  148. show_name: false
  149. show_icon: true
  150. show_state: false
  151. state_background: true
  152. show_attribute: false
  153. attribute: brightness
  154. show_background: true
  155. - entity: light.living_room_lights
  156. icon: mdi:lightbulb-on-80
  157. show_background: true
  158. light_background: true
  159. show_icon: true
  160. state_background: true
  161. tap_action:
  162. action: perform-action
  163. perform_action: light.turn_on
  164. target:
  165. entity_id: light.living_room_lights
  166. data:
  167. brightness_pct: 40
  168. - entity: light.dig2go
  169. icon: mdi:led-strip-variant
  170. show_attribute: false
  171. show_state: false
  172. show_last_changed: false
  173. show_name: false
  174. tap_action:
  175. action: toggle
  176. hold_action:
  177. action: more-info
  178. state_background: true
  179. light_background: true
  180. show_background: true
  181. - entity: media_player.lg_webos_tv_uh605v
  182. show_background: true
  183. visibility:
  184. - condition: state
  185. entity: media_player.lg_webos_tv_uh605v
  186. state_not: "off"
  187. state_background: true
  188. icon: mdi:television
  189. show_name: false
  190. show_icon: true
  191. show_attribute: false
  192. - entity: media_player.google_nest_speaker
  193. visibility:
  194. - condition: state
  195. entity: media_player.google_nest_speaker
  196. state_not: "off"
  197. - entity: binary_sensor.presence_sensor_living_room_presence
  198. icon: mdi:motion-sensor
  199. show_background: false
  200. state_background: false
  201. visibility:
  202. - condition: state
  203. entity: binary_sensor.presence_sensor_living_room_presence
  204. state: "on"
  205. show_state: false
  206. show_last_changed: false
  207. show_attribute: false
  208. show_icon: true
  209. - entity: climate.wiser_living_room
  210. show_icon: false
  211. show_state: false
  212. show_last_changed: false
  213. show_name: false
  214. state_background: true
  215. show_background: false
  216. show_attribute: true
  217. attribute: current_temperature
  218. - entity: sensor.wiser_lts_humidity_living_room
  219. show_icon: false
  220. show_state: true
  221. show_background: false
  222. card_layout: large-2-rows
  223. use_accent_color: true
  224. name: Living room
  225. tap_action:
  226. action: toggle
  227. hold_action:
  228. action: more-info
  229. grid_options:
  230. columns: 12
  231. rows: 1
  232. attribute: brightness
  233. icon: mdi:light-recessed
  234. - type: custom:bubble-card
  235. card_type: button
  236. button_type: switch
  237. entity: light.kitchen_lights_all
  238. show_icon: true
  239. force_icon: false
  240. show_state: false
  241. show_last_changed: false
  242. show_attribute: true
  243. slider_live_update: false
  244. styles: ".bubble-button-card:after { \n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n line-height: 0;\n left: 38px;\n bottom: 4px;\n z-index: 1;\n line-height: 0;\n background-color: ${hass.states['sensor.wiser_lts_heating_demand_kitchen'].state > 0 ? 'var(--orange-color)' : 'gray'}!important;\n content: ${hass.states['sensor.wiser_lts_heating_demand_kitchen'].state > 0 ? 'url(\"https://api.iconify.design/mdi/heater.svg?color=white&width=12\")' : 'url(\"https://api.iconify.design/mdi/heater-disabled.svg?color=white&width=12\")'}!important;\n width: var(--mush-badge-size, 16px);\n height: var(--mush-badge-size, 16px);\n border-radius: var(--mush-badge-border-radius, 50%);\n }\n.bubble-button-card:before { \n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n left: 38px;\n top: 4px;\n z-index: 1;\n line-height: 0;\n background-color: ${hass.states['binary_sensor.utility_room_door_contact'].state === 'on' ? 'var(--primary-color)' : 'gray'}!important;\n content: ${hass.states['binary_sensor.utility_room_door_contact'].state === 'on' ? 'url(\"https://api.iconify.design/mdi/door-open.svg?color=white&width=12\")' : 'url(\"https://api.iconify.design/mdi/door-closed.svg?color=white&width=12\")'}!important;\n width: var(--mush-badge-size, 16px);\n height: var(--mush-badge-size, 16px);\n border-radius: var(--mush-badge-border-radius, 50%);\n }\n#Place all the DOM changing stuff on the bottom\n ${(() => {\n //Getting the timer-data from hass and saving as local variable\n const timerEntity = hass.states['timer.kitchen_lights_timer'];\n \n //Saving the now as a Date variable so we can calculate the difference \n const now = new Date(); \n \n //Preparing the result \n let result = \"\";\n\n \ttry {\n \t const endTime = new Date(timerEntity.attributes.finishes_at); //Taking endtime from timer-entity and making a date-time from it \n \t const runningTime = Math.round((endTime - now)/1000); //Calculating the difference\n const minutes = Math.floor(runningTime / 60); //Distilling the minutes from it \n const remainingSeconds = runningTime % 60; //Save the rest as seconds\n\n if(isNaN(runningTime) && timerEntity.state !='paused')\n {result = timerEntity.attributes.duration;} //if not running and not paused show initial value\n else if(timerEntity.state==='paused')\n {result = timerEntity.attributes.remaining;} // if paused show remaining value\n else\n {result = minutes + \":\" + (\"0\" + remainingSeconds).slice(-2) ;} //if running show remaining seconds\n \t} \n \tcatch (error) { \n result = timerEntity.attributes.duration; //if something went wrong show initial value\n }\n \n //writing to the sub-button\n card.querySelector('.bubble-sub-button-4 .bubble-sub-button-name-container').innerText = result; \n }\n )()}"
  245. sub_button:
  246. - entity: media_player.google_mini_speaker
  247. visibility:
  248. - condition: state
  249. entity: media_player.google_mini_speaker
  250. state_not: "off"
  251. - entity: binary_sensor.kitchen_presence_sensor_presence
  252. icon: mdi:motion-sensor
  253. show_background: false
  254. state_background: false
  255. visibility:
  256. - condition: state
  257. entity: binary_sensor.kitchen_presence_sensor_presence
  258. state: "on"
  259. show_state: false
  260. show_last_changed: false
  261. show_attribute: false
  262. show_icon: true
  263. - entity: climate.wiser_kitchen
  264. show_icon: false
  265. show_state: false
  266. show_last_changed: false
  267. show_name: false
  268. state_background: true
  269. show_background: false
  270. show_attribute: true
  271. attribute: current_temperature
  272. - entity: timer.kitchen_lights_timer
  273. show_last_changed: false
  274. show_state: false
  275. show_name: false
  276. show_icon: true
  277. visibility:
  278. - condition: state
  279. entity: timer.kitchen_lights_timer
  280. state: active
  281. show_attribute: true
  282. attribute: remaining
  283. state_background: false
  284. show_background: true
  285. card_layout: large
  286. use_accent_color: true
  287. name: Kitchen & Utility
  288. tap_action:
  289. action: toggle
  290. hold_action:
  291. action: more-info
  292. grid_options:
  293. columns: 12
  294. rows: 1
  295. icon: ""
  296. - type: custom:bubble-card
  297. card_type: button
  298. button_type: switch
  299. entity: light.studio_lights_ceiling
  300. show_icon: true
  301. force_icon: false
  302. show_state: false
  303. show_last_changed: false
  304. show_attribute: false
  305. slider_live_update: false
  306. styles: |-
  307. .bubble-button-card:before {
  308. position: absolute;
  309. display: flex;
  310. justify-content: center;
  311. align-items: center;
  312. left: 38px;
  313. top: 4px;
  314. z-index: 1;
  315. line-height: 0;
  316. background-color: ${hass.states['binary_sensor.back_door_contact'].state === 'on' ? 'var(--primary-color)' : 'gray'}!important;
  317. content: ${hass.states['binary_sensor.back_door_contact'].state === 'on' ? 'url("https://api.iconify.design/mdi/door-open.svg?color=white&width=12")' : 'url("https://api.iconify.design/mdi/door-closed.svg?color=white&width=12")'}!important;
  318. width: var(--mush-badge-size, 16px);
  319. height: var(--mush-badge-size, 16px);
  320. border-radius: var(--mush-badge-border-radius, 50%);
  321. }
  322. sub_button: []
  323. card_layout: large
  324. use_accent_color: true
  325. name: Studio
  326. tap_action:
  327. action: toggle
  328. hold_action:
  329. action: more-info
  330. grid_options:
  331. columns: 6
  332. rows: 1
  333. icon: mdi:light-recessed
  334. show_name: true
  335. - type: custom:bubble-card
  336. card_type: separator
  337. name: First floor
  338. card_layout: large
  339. - type: custom:bubble-card
  340. card_type: button
  341. button_type: switch
  342. entity: light.landing_light
  343. show_icon: true
  344. force_icon: false
  345. show_state: false
  346. show_last_changed: false
  347. show_attribute: true
  348. slider_live_update: false
  349. styles: ""
  350. sub_button:
  351. - entity: binary_sensor.stairs2_motion_sensor_occupancy
  352. icon: mdi:motion-sensor
  353. show_background: false
  354. state_background: false
  355. visibility:
  356. - condition: state
  357. entity: binary_sensor.stairs2_motion_sensor_occupancy
  358. state: "on"
  359. show_state: false
  360. show_last_changed: false
  361. show_attribute: false
  362. show_icon: true
  363. card_layout: large
  364. use_accent_color: true
  365. name: Stairs & Landing
  366. tap_action:
  367. action: toggle
  368. hold_action:
  369. action: more-info
  370. grid_options:
  371. columns: 6
  372. rows: 1
  373. icon: ""
  374. - type: custom:bubble-card
  375. card_type: button
  376. button_type: slider
  377. entity: light.bed_led
  378. show_icon: true
  379. force_icon: false
  380. show_state: false
  381. show_last_changed: false
  382. show_attribute: true
  383. slider_live_update: false
  384. styles: ".bubble-button-card:after { \n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n line-height: 0;\n left: 38px;\n bottom: 4px;\n z-index: 1;\n line-height: 0;\n background-color: ${hass.states['sensor.wiser_lts_heating_demand_main_bedroom'].state > 0 ? 'var(--orange-color)' : 'gray'}!important;\n content: ${hass.states['sensor.wiser_lts_heating_demand_main_bedroom'].state > 0 ? 'url(\"https://api.iconify.design/mdi/heater.svg?color=white&width=12\")' : 'url(\"https://api.iconify.design/mdi/heater-disabled.svg?color=white&width=12\")'}!important;\n width: var(--mush-badge-size, 16px);\n height: var(--mush-badge-size, 16px);\n border-radius: var(--mush-badge-border-radius, 50%);\n }\n#Place all the DOM changing stuff on the bottom\n ${(() => {\n //Getting the timer-data from hass and saving as local variable\n const timerEntity = hass.states['timer.bed_heater_timer'];\n \n //Saving the now as a Date variable so we can calculate the difference \n const now = new Date(); \n \n //Preparing the result \n let result = \"\";\n\n \ttry {\n \t const endTime = new Date(timerEntity.attributes.finishes_at); //Taking endtime from timer-entity and making a date-time from it \n \t const runningTime = Math.round((endTime - now)/1000); //Calculating the difference\n const minutes = Math.floor(runningTime / 60); //Distilling the minutes from it \n const remainingSeconds = runningTime % 60; //Save the rest as seconds\n\n if(isNaN(runningTime) && timerEntity.state !='paused')\n {result = timerEntity.attributes.duration;} //if not running and not paused show initial value\n else if(timerEntity.state==='paused')\n {result = timerEntity.attributes.remaining;} // if paused show remaining value\n else\n {result = minutes + \":\" + (\"0\" + remainingSeconds).slice(-2) ;} //if running show remaining seconds\n \t} \n \tcatch (error) { \n result = timerEntity.attributes.duration; //if something went wrong show initial value\n }\n \n //writing to the sub-button\n card.querySelector('.bubble-sub-button-7 .bubble-sub-button-name-container').innerText = result; \n }\n )()}"
  385. sub_button:
  386. - entity: light.bed_led
  387. icon: mdi:power-sleep
  388. show_background: true
  389. tap_action:
  390. action: perform-action
  391. target:
  392. entity_id: light.bed_led
  393. perform_action: light.turn_on
  394. data:
  395. brightness_pct: 1
  396. rgb_color:
  397. - 255
  398. - 0
  399. - 0
  400. - entity: light.bed_led
  401. icon: mdi:diaper-outline
  402. show_background: true
  403. tap_action:
  404. action: perform-action
  405. perform_action: light.turn_on
  406. target:
  407. entity_id: light.bed_led
  408. data:
  409. rgb_color:
  410. - 255
  411. - 0
  412. - 0
  413. brightness_pct: 10
  414. hold_action:
  415. action: more-info
  416. - entity: sensor.bedroom_temp_test_temperature
  417. show_icon: true
  418. show_state: true
  419. show_last_changed: false
  420. show_name: false
  421. state_background: true
  422. show_background: false
  423. show_attribute: false
  424. icon: mdi:door
  425. - entity: sensor.bedroom_temp_test_humidity
  426. show_state: true
  427. state_background: false
  428. show_background: false
  429. show_icon: true
  430. show_name: false
  431. icon: mdi:door
  432. - entity: climate.wiser_main_bedroom
  433. show_attribute: true
  434. attribute: current_temperature
  435. show_background: false
  436. show_icon: true
  437. icon: mdi:window-closed-variant
  438. show_arrow: false
  439. - entity: switch.bed_heater_plug
  440. icon: fas:bed-pulse
  441. state_background: true
  442. show_background: true
  443. show_state: false
  444. show_attribute: false
  445. tap_action:
  446. action: toggle
  447. show_name: false
  448. show_icon: true
  449. show_last_changed: false
  450. - entity: timer.bed_heater_timer
  451. show_icon: true
  452. state_background: false
  453. show_background: true
  454. show_attribute: true
  455. attribute: remaining
  456. visibility:
  457. - condition: state
  458. entity: timer.bed_heater_timer
  459. state: active
  460. card_layout: large-2-rows
  461. use_accent_color: true
  462. name: Bedroom
  463. tap_action:
  464. action: toggle
  465. hold_action:
  466. action: more-info
  467. grid_options:
  468. columns: 12
  469. rows: 1
  470. icon: mdi:led-strip-variant
  471. - type: custom:bubble-card
  472. card_type: button
  473. button_type: switch
  474. entity: light.guest_bedroom_lights
  475. show_icon: true
  476. force_icon: false
  477. show_state: false
  478. show_last_changed: false
  479. show_attribute: true
  480. slider_live_update: false
  481. styles: |-
  482. .bubble-button-card:after {
  483. position: absolute;
  484. display: flex;
  485. justify-content: center;
  486. align-items: center;
  487. line-height: 0;
  488. left: 38px;
  489. bottom: 4px;
  490. z-index: 1;
  491. line-height: 0;
  492. background-color: ${hass.states['sensor.wiser_lts_heating_demand_guest_bedroom'].state > 0 ? 'var(--orange-color)' : 'gray'}!important;
  493. content: ${hass.states['sensor.wiser_lts_heating_demand_guest_bedroom'].state > 0 ? 'url("https://api.iconify.design/mdi/heater.svg?color=white&width=12")' : 'url("https://api.iconify.design/mdi/heater-disabled.svg?color=white&width=12")'}!important;
  494. width: var(--mush-badge-size, 16px);
  495. height: var(--mush-badge-size, 16px);
  496. border-radius: var(--mush-badge-border-radius, 50%);
  497. }
  498. sub_button:
  499. - entity: sensor.guest_room_weather_temperature
  500. show_background: false
  501. show_icon: false
  502. show_state: true
  503. - entity: sensor.guest_room_weather_humidity
  504. show_state: true
  505. show_icon: false
  506. state_background: false
  507. show_background: false
  508. - entity: sensor.guest_room_rad_test_temperature
  509. show_last_changed: false
  510. show_icon: false
  511. state_background: false
  512. show_background: false
  513. show_state: true
  514. - entity: sensor.guest_room_rad_test_humidity
  515. state_background: false
  516. show_background: false
  517. show_state: true
  518. show_icon: false
  519. - entity: climate.wiser_guest_bedroom
  520. show_icon: true
  521. show_state: false
  522. show_last_changed: false
  523. show_name: false
  524. state_background: true
  525. show_background: false
  526. show_attribute: true
  527. attribute: current_temperature
  528. icon: mdi:window-closed-variant
  529. card_layout: large-2-rows
  530. use_accent_color: true
  531. name: Guests
  532. tap_action:
  533. action: toggle
  534. hold_action:
  535. action: more-info
  536. grid_options:
  537. columns: 12
  538. rows: 1
  539. icon: ""
  540. - type: custom:bubble-card
  541. card_type: button
  542. button_type: switch
  543. entity: light.bathroom_lights
  544. show_icon: true
  545. force_icon: false
  546. show_state: false
  547. show_last_changed: false
  548. show_attribute: true
  549. slider_live_update: false
  550. styles: |-
  551. .bubble-button-card:before {
  552. position: absolute;
  553. display: flex;
  554. justify-content: center;
  555. align-items: center;
  556. left: 38px;
  557. top: 4px;
  558. z-index: 1;
  559. line-height: 0;
  560. background-color: ${hass.states['binary_sensor.bathroom_door_contact'].state === 'on' ? 'var(--primary-color)' : 'gray'}!important;
  561. content: ${hass.states['binary_sensor.bathroom_door_contact'].state === 'on' ? 'url("https://api.iconify.design/mdi/door-open.svg?color=white&width=12")' : 'url("https://api.iconify.design/mdi/door-closed.svg?color=white&width=12")'}!important;
  562. width: var(--mush-badge-size, 16px);
  563. height: var(--mush-badge-size, 16px);
  564. border-radius: var(--mush-badge-border-radius, 50%);
  565. }
  566. sub_button:
  567. - entity: input_boolean.bathroom_busy
  568. icon: mdi:motion-sensor
  569. show_background: false
  570. state_background: false
  571. visibility:
  572. - condition: state
  573. entity: input_boolean.bathroom_busy
  574. state: "on"
  575. show_state: false
  576. show_last_changed: false
  577. show_attribute: false
  578. show_icon: true
  579. - entity: sensor.weather_station_temperature
  580. show_icon: false
  581. show_state: true
  582. show_last_changed: false
  583. show_name: false
  584. state_background: true
  585. show_background: false
  586. show_attribute: false
  587. attribute: current_temperature
  588. - entity: sensor.weather_station_humidity
  589. show_icon: false
  590. show_state: true
  591. show_background: false
  592. card_layout: large
  593. use_accent_color: true
  594. name: Bathroom
  595. tap_action:
  596. action: toggle
  597. hold_action:
  598. action: more-info
  599. grid_options:
  600. columns: 12
  601. rows: 1
  602. icon: mdi:light-recessed
  603. - type: custom:bubble-card
  604. card_type: cover
  605. entity: cover.living_room_blinds_all
  606. force_icon: false
  607. show_state: false
  608. show_last_changed: false
  609. show_attribute: true
  610. attribute: current_position
  611. scrolling_effect: true
  612. name: Living room blinds
  613. - type: custom:bubble-card
  614. card_type: cover
  615. entity: cover.studio_blind_door
  616. force_icon: false
  617. show_state: false
  618. show_last_changed: false
  619. show_attribute: true
  620. attribute: current_position
  621. scrolling_effect: true
  622. - type: custom:bubble-card
  623. card_type: cover
  624. entity: cover.studio_blind_1
  625. force_icon: false
  626. show_state: false
  627. show_last_changed: false
  628. show_attribute: true
  629. attribute: current_position
  630. scrolling_effect: true
  631. - type: custom:bubble-card
  632. card_type: cover
  633. entity: cover.studio_blind_2
  634. force_icon: false
  635. show_state: false
  636. show_last_changed: false
  637. show_attribute: true
  638. attribute: current_position
  639. scrolling_effect: true
  640. - type: custom:bubble-card
  641. card_type: cover
  642. entity: cover.bedroom_blind
  643. force_icon: false
  644. show_state: false
  645. show_last_changed: false
  646. show_attribute: true
  647. attribute: current_position
  648. scrolling_effect: true
  649. - type: vertical-stack
  650. cards:
  651. - type: custom:bubble-card
  652. card_type: pop-up
  653. hash: "#test"
  654. button_type: slider
  655. entity: cover.bedroom_blind

Edit this Snippet