Tu n’as pas mis à jour le firmware du nspanel ? Le mode développeur est toujours actif ?
Ah j’ai peut être mis à jour le firmware, il ne fallait pas?
Il faut réactiver le mode développeur du coup
Le mode developpeur est toujours activé
et l’adb aussi est tjs activé ?
Bonjour,
Je file mon NSPanel à un ami, comment retourner au choix du launcher pour qu’il configure son propre reseau wifi et son lien home assistant ?
Le hardreset me relance toujours HAOS, merci
Bonjour,
est ce quelqu’un à réussie à faire fonctionner le mqtt broker intégré, car j’aimerai bien utiliser le nspanel pro en tant que coordinateur zigbee et du coup éviter de mettre une clé zibgee sur mon serveur home assistant ?
Hello,
ce n’est pas encore possible, mais très prochainement si j’ai bien compris:
Du coup j’ai fais autrement, j’ai juste gardé le zigbee de mon sonoff panel pro et pour la partie mqtt j’ai installé mosquitto en container
voici ma page final du moins pour la gestion des volets.
Code
type: sections
max_columns: 3
path: volets
subview: true
sections:
- type: grid
cards:
- grid_options:
columns: 3
rows: 1
show_name: false
show_icon: true
icon: mdi:backspace
type: custom:button-card
styles:
icon:
- width: 35%
card:
- padding: 10% 0%
- margin: 6% 0% 0%
- width: 100%
tap_action:
action: navigate
navigation_path: /dashboard-nspanel1/accueil
- variables:
name: Salon
show_name: true
show_icon: false
type: custom:button-card
name: "[[[ return variables.name]]]"
tap_action:
action: perform-action
perform_action: input_text.set_value
target:
entity_id: input_text.selection_pieces
data:
value: "[[[ return variables.name]]]"
styles:
card:
- padding: 18% 0%
- margin: 5% 0% 0%
- background: |
[[[
if (states['input_text.selection_pieces'].state == variables.name)
return "var(--paper-item-icon-color)";
else if (states['input_text.selection_pieces'].state == "2 Volets")
return "var(--paper-item-icon-color)";
]]]
custom_fields:
card1:
- position: absolute
- width: 100%
grid_options:
columns: 3
rows: auto
- variables:
name: Cuisine
show_name: true
show_icon: false
type: custom:button-card
name: "[[[ return variables.name]]]"
tap_action:
action: perform-action
perform_action: input_text.set_value
target:
entity_id: input_text.selection_pieces
data:
value: "[[[ return variables.name]]]"
styles:
card:
- padding: 18% 0%
- margin: 5% 0% 0%
- background: |
[[[
if (states['input_text.selection_pieces'].state == variables.name)
return "var(--paper-item-icon-color)";
]]]
custom_fields:
card1:
- position: absolute
- width: 100%
grid_options:
columns: 3
rows: 1
- variables:
name: Chambres
show_name: true
show_icon: false
type: custom:button-card
name: "[[[ return variables.name]]]"
tap_action:
action: perform-action
perform_action: input_text.set_value
target:
entity_id: input_text.selection_pieces
data:
value: "[[[ return variables.name]]]"
styles:
card:
- padding: 18% 0%
- margin: 5% 0% 0%
- background: |
[[[
if (states['input_text.selection_pieces'].state == variables.name)
return "var(--paper-item-icon-color)";
]]]
custom_fields:
card1:
- position: absolute
- width: 100%
grid_options:
columns: 3
rows: 1
column_span: 3
visibility:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- type: grid
cards:
- show_name: false
show_icon: false
type: custom:button-card
grid_options:
columns: 1
rows: auto
styles:
card:
- background: none
- border: none
- height: 1px
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 1
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: false
show_icon: false
type: custom:button-card
grid_options:
columns: 1
rows: auto
styles:
card:
- background: none
- border: none
- height: 1px
- show_name: false
show_icon: false
type: custom:button-card
grid_options:
columns: 2
rows: auto
styles:
card:
- background: none
- border: none
- height: 1px
- show_name: false
show_icon: false
type: custom:button-card
grid_options:
columns: 2
rows: auto
styles:
card:
- background: none
- border: none
- height: 1px
- show_name: false
show_icon: false
type: custom:button-card
grid_options:
columns: 2
rows: auto
styles:
card:
- background: none
- border: none
- height: 1px
- show_name: false
show_icon: false
type: custom:button-card
grid_options:
columns: 2
rows: auto
styles:
card:
- background: none
- border: none
- height: 1px
- show_name: false
show_icon: false
type: custom:button-card
grid_options:
columns: 2
rows: auto
styles:
card:
- background: none
- border: none
- height: 1px
- grid_options:
columns: 4
rows: auto
variables:
entitee: cover.tous_les_volets
name: Général
color: rgb(255,50,50)
template: info
type: custom:button-card
show_name: true
show_icon: false
show_label: true
label: |
[[[
return 'Position - ' + (entity.attributes.current_position) + "%"
]]]
entity: "[[[return variables.entitee]]]"
name: "[[[return variables.name]]]"
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.tous_les_volets
name: Général
color: rgb(255,50,50)
type: custom:button-card
show_name: false
show_icon: true
entity: "[[[return variables.entitee]]]"
icon: mdi:arrow-up-bold
tap_action:
action: perform-action
perform_action: cover.open_cover
target:
entity_id: "[[[return variables.entitee]]]"
styles:
icon:
- width: 100%
- color: |
[[[
if (entity.attributes.current_position == 100)
return "grey";
else
return variables.color;
]]]
card:
- height: 60px
- width: 60px
- border-radius: 30px
- border-color: |
[[[
if (entity.attributes.current_position == 100)
return "grey";
else
return variables.color;
]]]
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.tous_les_volets
name: Général
color: rgb(255,50,50)
type: custom:button-card
show_name: false
show_icon: true
entity: "[[[return variables.entitee]]]"
icon: mdi:stop
tap_action:
action: perform-action
perform_action: cover.stop_cover
target:
entity_id: "[[[return variables.entitee]]]"
styles:
icon:
- width: 100%
- color: |
[[[
return variables.color;
]]]
card:
- height: 60px
- width: 60px
- border-radius: 30px
- border-color: |
[[[
return variables.color;
]]]
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.tous_les_volets
name: Général
color: rgb(255,50,50)
type: custom:button-card
show_name: false
show_icon: true
entity: "[[[return variables.entitee]]]"
icon: mdi:arrow-down-bold
tap_action:
action: perform-action
perform_action: cover.close_cover
target:
entity_id: "[[[return variables.entitee]]]"
styles:
icon:
- width: 100%
- color: |
[[[
if (entity.attributes.current_position == 0)
return "grey";
else
return variables.color;
]]]
card:
- height: 60px
- width: 60px
- border-radius: 30px
- border-color: |
[[[
if (entity.attributes.current_position == 0)
return "grey";
else
return variables.color;
]]]
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.tous_les_volets
name: Général
color: rgb(255,50,50)
type: custom:button-card
entity: "[[[return variables.entitee]]]"
show_name: true
show_icon: false
tap_action:
action: perform-action
perform_action: cover.set_cover_position
target:
entity_id: "[[[return variables.entitee]]]"
data:
position: 25
name: 25%
styles:
card:
- height: 60px
- width: 60px
- font-weight: 900
- font-size: 25px
- border-radius: 30px
- border: 1px solid
- border-color: "[[[return variables.color]]]"
- background: |
[[[
if (entity.attributes.current_position == 25)
return variables.color;
]]]
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 1
styles:
card:
- background: none
- border: none
column_span: 3
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
name: Salon
grid_options:
columns: full
rows: 1
styles:
card:
- font-size: 300%
- color: white
- background: none
- border: none
- border-bottom: 2px white double
- margin: 0px
- padding: 0px
- font-weight: 500
name:
- align-self: start
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- variables:
name: 2 Volets
grid_options:
columns: 4
rows: auto
template: info
type: custom:button-card
entity: cover.salon
name: "[[[return variables.name]]]"
tap_action:
action: perform-action
perform_action: input_text.set_value
target:
entity_id: input_text.selection_pieces
data:
value: "[[[return variables.name]]]"
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Salon
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- grid_options:
columns: 2
rows: auto
template: up
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Salon
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- grid_options:
columns: 2
rows: auto
template: volet
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Salon
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- grid_options:
columns: 2
rows: auto
template: down
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Salon
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- grid_options:
columns: 2
rows: auto
template: position
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Salon
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- grid_options:
columns: 4
rows: auto
template: info
type: custom:button-card
entity: cover.salon_volet3
name: Canapé
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 2
rows: auto
template: up
variables:
entitee: cover.salon_volet3
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.salon_volet3
template: volet
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.salon_volet3
template: down
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.salon_volet3
template: position
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 4
rows: auto
template: info
type: custom:button-card
entity: cover.salon_volet1
name: Table
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 2
rows: auto
template: up
variables:
entitee: cover.salon_volet1
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.salon_volet1
template: volet
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.salon_volet1
template: down
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.salon_volet1
template: position
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 4
rows: auto
template: info
type: custom:button-card
entity: cover.salon_volet2
name: Veranda
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Salon
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 2
rows: auto
template: up
variables:
entitee: cover.salon_volet2
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Salon
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.salon_volet2
template: volet
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Salon
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.salon_volet2
template: down
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Salon
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.salon_volet2
template: position
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Salon
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 1
styles:
card:
- background: none
- border: none
visibility:
- condition: or
conditions:
- condition: screen
media_query: "(min-width: 1024px)"
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Salon
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: 2 Volets
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
name: Cuisine
grid_options:
columns: full
rows: 1
styles:
card:
- font-size: 300%
- color: white
- background: none
- border: none
- border-bottom: 2px white double
- margin: 0px
- padding: 0px
- font-weight: 500
name:
- align-self: start
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 4
rows: auto
template: info
type: custom:button-card
entity: cover.cuisine_volet1
name: Cuisine
- grid_options:
columns: 2
rows: auto
template: up
variables:
entitee: cover.cuisine_volet1
type: custom:button-card
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.cuisine_volet1
template: volet
type: custom:button-card
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.cuisine_volet1
template: down
type: custom:button-card
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.cuisine_volet1
template: position
type: custom:button-card
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 1
styles:
card:
- background: none
- border: none
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Cuisine
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
name: Chambres
grid_options:
columns: full
rows: 1
styles:
card:
- font-size: 300%
- color: white
- background: none
- border: none
- border-bottom: 2px white double
- margin: 0px
- padding: 0px
- font-weight: 500
name:
- align-self: start
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- grid_options:
columns: 4
rows: auto
template: info
type: custom:button-card
entity: cover.chambre_filles
name: Filles
- grid_options:
columns: 2
rows: auto
template: up
variables:
entitee: cover.chambre_filles
type: custom:button-card
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.chambre_filles
template: volet
type: custom:button-card
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.chambre_filles
template: down
type: custom:button-card
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.chambre_filles
template: position
type: custom:button-card
- grid_options:
columns: 4
rows: auto
template: info
type: custom:button-card
entity: cover.chambre_parents
name: Parents
- grid_options:
columns: 2
rows: auto
template: up
variables:
entitee: cover.chambre_parents
type: custom:button-card
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.chambre_parents
template: volet
type: custom:button-card
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.chambre_parents
template: down
type: custom:button-card
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.chambre_parents
template: position
type: custom:button-card
- grid_options:
columns: 4
rows: auto
template: info
type: custom:button-card
entity: cover.bureau
name: Bureau
- grid_options:
columns: 2
rows: auto
template: up
variables:
entitee: cover.bureau
type: custom:button-card
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.bureau
template: volet
type: custom:button-card
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.bureau
template: down
type: custom:button-card
- grid_options:
columns: 2
rows: auto
variables:
entitee: cover.bureau
template: position
type: custom:button-card
visibility:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity: input_text.selection_pieces
state: Chambres
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: screen
media_query: "(min-width: 1024px)"
dense_section_placement: false
cards: []
title: Volets
icon: mdi:window-shutter
background:
image: >-
https://th.bing.com/th/id/R.938077d3f98d8113b9ae9c37a14fc290?rik=WrdcLkgrED01Ag&riu=http%3a%2f%2fwww.10wallpaper.com%2fwallpaper%2f1920x1080%2f1304%2fline_violet_color_graphics-Art_abstract_design_wallpaper_1920x1080.jpg&ehk=KNeMQzyFXi4TrCK%2bxSCbOrI1t%2bzFk9gdfqmJwafA2T8%3d&risl=&pid=ImgRaw&r=0
templates button_card
button_card_templates:
info:
show_name: true
show_icon: false
show_label: true
label: |
[[[
return 'Position - ' + (entity.attributes.current_position) + "%"
]]]
styles:
name:
- justify-self: left
- font-weight: 700
- margin-left: 2px
- font-size: 30px
label:
- align-self: start
- justify-self: left
- font-size: 15px
- font-weight: 500
- margin-left: 10%
- margin-top: 5%
card:
- padding-bottom: 0px
- width: 150px
- font-size: 18px
- border: none
- color: white
- background-color: transparent
volet:
entity: '[[[return variables.entitee]]]'
show_name: false
show_icon: true
icon: mdi:stop
name: 25%
tap_action:
action: perform-action
perform_action: cover.stop_cover
target:
entity_id: '[[[return variables.entitee]]]'
variables:
entitee: cover.salon
color: var(--paper-item-icon-color)
styles:
icon:
- width: 100%
- color: '[[[return variables.color]]]'
card:
- height: 60px
- width: 60px
- border-radius: 30px
- border-color: '[[[return variables.color]]]'
up:
template: volet
icon: mdi:arrow-up-bold
tap_action:
action: perform-action
perform_action: cover.open_cover
target:
entity_id: '[[[return variables.entitee]]]'
styles:
icon:
- color: |
[[[
if (entity.attributes.current_position == 100)
return "grey";
else
return variables.color;
]]]
card:
- border-color: |
[[[
if (entity.attributes.current_position == 100)
return "grey";
else
return variables.color;
]]]
down:
template: volet
icon: mdi:arrow-down-bold
tap_action:
action: perform-action
perform_action: cover.close_cover
target:
entity_id: '[[[return variables.entitee]]]'
styles:
icon:
- color: |
[[[
if (entity.attributes.current_position == 0)
return "grey";
else
return variables.color;
]]]
card:
- border-color: |
[[[
if (entity.attributes.current_position == 0)
return "grey";
else
return variables.color;
]]]
position:
template: volet
show_name: true
show_icon: false
tap_action:
action: perform-action
perform_action: cover.set_cover_position
target:
entity_id: '[[[return variables.entitee]]]'
data:
position: 25
styles:
card:
- font-weight: 900
- font-size: 25px
- background: |
[[[
if (entity.attributes.current_position == 25)
return variables.color;
]]]
Hello
Je confirme que la rapidité des NSpanel Pro et 120 est directement lié au nombre et à la complexité des dashboard que nous avons dans HA !
Un grand merci @Loic69 car sans son analyse je n’aurais jamais trouvé !
Par contre je n’arrive pas à faire fonctionner ce fameux capteur d’approche. Quelqu’un l’a déjà fait fonctionner avec nspanelpro tools ? Je ne comprends pas la logique derrière dans nspanel tools.
Merci pour votre aide.
voici la suite avec la page de mes chauffages.
Code
type: sections
max_columns: 4
title: Chauffages
path: Chauffages
sections:
- type: grid
cards:
- grid_options:
columns: 3
rows: 2
show_name: false
show_icon: true
icon: mdi:backspace
type: custom:button-card
styles:
icon:
- width: 35%
card:
- padding: 10% 0%
- margin: 6% 0% 0%
- width: 100%
tap_action:
action: navigate
navigation_path: /dashboard-nspanel1/accueil
visibility:
- condition: user
users:
- fc5eca5eec334095bdbaf0583043a051
- variables:
name: Salon
show_name: true
show_icon: false
type: custom:button-card
name: "[[[ return variables.name]]]"
tap_action:
action: perform-action
perform_action: input_text.set_value
target:
entity_id: input_text.selection_pieces
data:
value: "[[[ return variables.name]]]"
styles:
card:
- padding: 18% 0%
- margin: 5% 0% 0%
- background: |
[[[
if (states['input_text.selection_pieces'].state == variables.name)
return "var(--paper-item-icon-color)";
else if (states['input_text.selection_pieces'].state == "2 Volets")
return "var(--paper-item-icon-color)";
]]]
custom_fields:
card1:
- position: absolute
- width: 100%
grid_options:
columns: 3
rows: auto
- variables:
name: Cuisine
show_name: true
show_icon: false
type: custom:button-card
name: "[[[ return variables.name]]]"
tap_action:
action: perform-action
perform_action: input_text.set_value
target:
entity_id: input_text.selection_pieces
data:
value: "[[[ return variables.name]]]"
styles:
card:
- padding: 18% 0%
- margin: 5% 0% 0%
- background: |
[[[
if (states['input_text.selection_pieces'].state == variables.name)
return "var(--paper-item-icon-color)";
]]]
custom_fields:
card1:
- position: absolute
- width: 100%
grid_options:
columns: 3
rows: 1
- variables:
name: S.D.B
show_name: true
show_icon: false
type: custom:button-card
name: "[[[ return variables.name]]]"
tap_action:
action: perform-action
perform_action: input_text.set_value
target:
entity_id: input_text.selection_pieces
data:
value: "[[[ return variables.name]]]"
styles:
card:
- padding: 18% 0%
- margin: 5% 0% 0%
- background: |
[[[
if (states['input_text.selection_pieces'].state == variables.name)
return "var(--paper-item-icon-color)";
]]]
custom_fields:
card1:
- position: absolute
- width: 100%
grid_options:
columns: 3
rows: 1
- variables:
name: Ch.Filles
show_name: true
show_icon: false
type: custom:button-card
name: "[[[ return variables.name]]]"
tap_action:
action: perform-action
perform_action: input_text.set_value
target:
entity_id: input_text.selection_pieces
data:
value: "[[[ return variables.name]]]"
styles:
card:
- padding: 18% 0%
- margin: 5% 0% 0%
- background: |
[[[
if (states['input_text.selection_pieces'].state == variables.name)
return "var(--paper-item-icon-color)";
]]]
custom_fields:
card1:
- position: absolute
- width: 100%
grid_options:
columns: 3
rows: 1
- variables:
name: Ch.Parents
show_name: true
show_icon: false
type: custom:button-card
name: "[[[ return variables.name]]]"
tap_action:
action: perform-action
perform_action: input_text.set_value
target:
entity_id: input_text.selection_pieces
data:
value: "[[[ return variables.name]]]"
styles:
card:
- padding: 18% 0%
- margin: 5% 0% 0%
- background: |
[[[
if (states['input_text.selection_pieces'].state == variables.name)
return "var(--paper-item-icon-color)";
]]]
custom_fields:
card1:
- position: absolute
- width: 100%
grid_options:
columns: 3
rows: 1
- variables:
name: Bureau
show_name: true
show_icon: false
type: custom:button-card
name: "[[[ return variables.name]]]"
tap_action:
action: perform-action
perform_action: input_text.set_value
target:
entity_id: input_text.selection_pieces
data:
value: "[[[ return variables.name]]]"
styles:
card:
- padding: 18% 0%
- margin: 5% 0% 0%
- background: |
[[[
if (states['input_text.selection_pieces'].state == variables.name)
return "var(--paper-item-icon-color)";
]]]
custom_fields:
card1:
- position: absolute
- width: 100%
grid_options:
columns: 3
rows: 1
column_span: 10
visibility:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
name: Salon
grid_options:
columns: full
rows: 1
styles:
card:
- font-size: 300%
- color: white
- background: none
- border: none
- border-bottom: 2px white double
- margin: 0px
- padding: 0px
- font-weight: 500
name:
- align-self: start
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- grid_options:
columns: 2
rows: auto
type: custom:button-card
entity: climate.thermostat_salon
show_name: false
show_icon: true
show_label: false
size: 50px
icon: |
[[[
if (entity.attributes.hvac_action == "heating")
return "mdi:radiator"
if (entity.state == "off")
return "mdi:radiator-off"
else
return "mdi:radiator-disabled"
]]]
tap_action:
action: toggle
hold_action:
action: none
styles:
card:
- background: none
- border: none
- padding-top: 12px
- grid_options:
columns: 8
rows: auto
type: custom:button-card
entity: climate.thermostat_salon
show_name: false
show_icon: false
show_label: false
tap_action:
action: none
hold_action:
action: none
custom_fields:
fen: |
[[[
return `<br><ha-icon
icon="mdi:window-open-variant"
style="width: 20px; color:orange; ">
</ha-icon>`
]]]
alert: |
[[[
return `<br><ha-icon
icon="mdi:alert"
style="width: 30px; ">
</ha-icon>`
]]]
power: |
[[[
return `
<span
style="font-size: 10px; ">rad1
</span><br>
<ha-icon
icon="mdi:power"
style="width: 20px; ">
</ha-icon>`
]]]
power1: |
[[[
return `
<span
style="font-size: 10px; ">rad2
</span><br>
<ha-icon
icon="mdi:power"
style="width: 20px; ">
</ha-icon>`
]]]
styles:
card:
- padding-bottom: 0px
- border: none
- background-color: transparent
grid:
- grid-template-areas: "'power power1 fen alert' "
- grid-template-columns: 1fr 0.5fr 1fr 1fr
custom_fields:
power:
- color: |
[[[
if (states['switch.salon_radiateur1'].state == "on")
return "orange";
]]]
power1:
- color: |
[[[
if (states['switch.salon_radiateur2'].state == "on")
return "orange";
]]]
fen:
- display: |
[[[
if (states['binary_sensor.fenetres_salon'].state == "on")
return "content"
else
return "none"
]]]
alert:
- display: |
[[[
if (entity.state == "unavailable")
return "content"
else
return "none"
]]]
- color: red
- animation: blink 2s ease infinite
- grid_options:
columns: 2
rows: auto
type: custom:button-card
icon: mdi:cog
size: 30px
tap_action:
action: navigate
navigation_path: /dashboard-nspanel1/param_chauff_salon
styles:
card:
- position: relative
- top: 20px
- background: none
- border: none
icon:
- position: relative
- align-items: end
- type: custom:button-card
entity: climate.thermostat_salon
variables:
hum: sensor.salon_capteurs_humidity
batterie: sensor.salon_capteurs_battery
template: info_chauffe
grid_options:
columns: 6
rows: auto
- type: custom:simple-thermostat
entity: climate.thermostat_salon
hide:
state: true
temperature: true
label:
temperature: T°
layout:
step: null
mode:
names: false
icons: false
headings: false
control:
- null
header: false
card_mod:
style: |
ha-card {
background: rgba(0,0,0, 0);
border: none;
--st-font-size-xl: 60px;
--st-font-size-m: 50px;
--st-spacing: 1px;
--st-font-size-l: 60px;
}
grid_options:
columns: 6
rows: auto
- variables:
entity: climate.thermostat_salon
mode: frost
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_salon
mode: eco
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_salon
mode: comfort
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_salon
mode: boost
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
visibility:
- condition: user
users:
- ef27be782c824f3298261b3dc9c614dc
- 71ec97164a674471a182e3b838794a7d
- 2d3459002c5b4154b2b4e701f3c964c0
- a446ea61780348cb88b936b4c8f21558
- 84678b3eb9e849498aa8ff85da35367c
- condition: or
conditions:
- condition: and
conditions:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: state
entity: input_text.selection_pieces
state: Salon
- condition: screen
media_query: "(min-width: 1024px)"
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
name: Cuisine
grid_options:
columns: full
rows: 1
styles:
card:
- font-size: 300%
- color: white
- background: none
- border: none
- border-bottom: 2px white double
- margin: 0px
- padding: 0px
- font-weight: 500
name:
- align-self: start
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- grid_options:
columns: 2
rows: auto
type: custom:button-card
entity: climate.thermostat_cuisine
show_name: false
show_icon: true
show_label: false
size: 50px
icon: |
[[[
if (entity.attributes.hvac_action == "heating")
return "mdi:radiator"
if (entity.state == "off")
return "mdi:radiator-off"
else
return "mdi:radiator-disabled"
]]]
tap_action:
action: toggle
hold_action:
action: none
styles:
card:
- background: none
- border: none
- padding-top: 12px
- grid_options:
columns: 8
rows: auto
type: custom:button-card
entity: climate.thermostat_cuisine
show_name: false
show_icon: false
show_label: false
tap_action:
action: none
hold_action:
action: none
custom_fields:
fen: |
[[[
return `<br><ha-icon
icon="mdi:window-open-variant"
style="width: 20px; color:orange; ">
</ha-icon>`
]]]
alert: |
[[[
return `<br><ha-icon
icon="mdi:alert"
style="width: 30px; ">
</ha-icon>`
]]]
power: |
[[[
return `
<span
style="font-size: 10px; ">rad
</span><br>
<ha-icon
icon="mdi:power"
style="width: 20px; ">
</ha-icon>`
]]]
styles:
card:
- padding-bottom: 0px
- border: none
- background-color: transparent
grid:
- grid-template-areas: "'power power1 fen alert' "
- grid-template-columns: 1fr 0.5fr 1fr 1fr
custom_fields:
power:
- color: |
[[[
if (states['switch.cuisine_radiateur'].state == "on")
return "orange";
]]]
fen:
- display: |
[[[
if (states['binary_sensor.fenetres_cuisine_contact'].state == "on")
return "content"
else
return "none"
]]]
alert:
- display: |
[[[
if (entity.state == "unavailable")
return "content"
else
return "none"
]]]
- color: red
- animation: blink 2s ease infinite
- grid_options:
columns: 2
rows: auto
type: custom:button-card
icon: mdi:cog
size: 30px
tap_action:
action: navigate
navigation_path: /dashboard-nspanel1/param_chauff_cuisine
styles:
card:
- position: relative
- top: 20px
- background: none
- border: none
icon:
- position: relative
- align-items: end
- type: custom:button-card
entity: climate.thermostat_cuisine
variables:
hum: sensor.cuisine_capteurs_humidity
batterie: sensor.cuisine_capteurs_battery
template: info_chauffe
grid_options:
columns: 6
rows: auto
- type: custom:simple-thermostat
entity: climate.thermostat_cuisine
hide:
state: true
temperature: true
label:
temperature: T°
layout:
step: null
mode:
names: false
icons: false
headings: false
control:
- null
header: false
grid_options:
columns: 6
rows: auto
card_mod:
style: |
ha-card {
background: rgba(0,0,0, 0);
border: none;
--st-font-size-xl: 60px;
--st-font-size-m: 50px;
--st-spacing: 1px;
--st-font-size-l: 60px;
}
- variables:
entity: climate.thermostat_cuisine
mode: frost
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_cuisine
mode: eco
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_cuisine
mode: comfort
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_cuisine
mode: boost
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
visibility:
- condition: user
users:
- ef27be782c824f3298261b3dc9c614dc
- 71ec97164a674471a182e3b838794a7d
- 2d3459002c5b4154b2b4e701f3c964c0
- a446ea61780348cb88b936b4c8f21558
- 84678b3eb9e849498aa8ff85da35367c
- condition: or
conditions:
- condition: and
conditions:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: state
entity: input_text.selection_pieces
state: Cuisine
- condition: screen
media_query: "(min-width: 1024px)"
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
name: S.D.B
grid_options:
columns: full
rows: 1
styles:
card:
- font-size: 300%
- color: white
- background: none
- border: none
- border-bottom: 2px white double
- margin: 0px
- padding: 0px
- font-weight: 500
name:
- align-self: start
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- grid_options:
columns: 2
rows: auto
type: custom:button-card
entity: climate.thermostat_s_d_b
show_name: false
show_icon: true
show_label: false
size: 50px
icon: |
[[[
if (entity.attributes.hvac_action == "heating")
return "mdi:radiator"
if (entity.state == "off")
return "mdi:radiator-off"
else
return "mdi:radiator-disabled"
]]]
tap_action:
action: toggle
hold_action:
action: none
styles:
card:
- background: none
- border: none
- padding-top: 12px
- grid_options:
columns: 8
rows: auto
type: custom:button-card
entity: climate.thermostat_s_d_b
show_name: false
show_icon: false
show_label: false
tap_action:
action: none
hold_action:
action: none
custom_fields:
fen: |
[[[
return `<br><ha-icon
icon="mdi:window-open-variant"
style="width: 20px; color:orange; ">
</ha-icon>`
]]]
alert: |
[[[
return `<br><ha-icon
icon="mdi:alert"
style="width: 30px; ">
</ha-icon>`
]]]
power: |
[[[
return `
<span
style="font-size: 10px; ">rad
</span><br>
<ha-icon
icon="mdi:power"
style="width: 20px; ">
</ha-icon>`
]]]
power1: |
[[[
return `
<span
style="font-size: 10px; ">
</span><br>
<ha-icon
icon="mdi:fan"
style="width: 20px; ">
</ha-icon>`
]]]
styles:
card:
- padding-bottom: 0px
- border: none
- background-color: transparent
grid:
- grid-template-areas: "'power power1 fen alert' "
- grid-template-columns: 1fr 0.5fr 1fr 1fr 1fr
custom_fields:
power:
- color: |
[[[
if (states['switch.s_d_b_radiateur'].state == "on")
return "orange";
]]]
power1:
- color: |
[[[
if (states['switch.s_d_b_soufflerie'].state == "on")
return "orange";
]]]
fen:
- display: |
[[[
if (states['binary_sensor.fenetres_salon'].state == "on")
return "content"
else
return "none"
]]]
alert:
- display: |
[[[
if (entity.state == "unavailable")
return "content"
else
return "none"
]]]
- color: red
- animation: blink 2s ease infinite
- grid_options:
columns: 2
rows: auto
type: custom:button-card
icon: mdi:cog
size: 30px
tap_action:
action: navigate
navigation_path: /dashboard-nspanel1/parametre_chauff_s-d-b
styles:
card:
- position: relative
- top: 20px
- background: none
- border: none
icon:
- position: relative
- align-items: end
- type: custom:button-card
entity: climate.thermostat_s_d_b
variables:
hum: sensor.s_d_b_capteurs_humidity
batterie: sensor.s_d_b_capteurs_battery
template: info_chauffe
grid_options:
columns: 6
rows: auto
- type: custom:simple-thermostat
entity: climate.thermostat_s_d_b
hide:
state: true
temperature: true
label:
temperature: T°
layout:
step: null
mode:
names: false
icons: false
headings: false
control:
- null
header: false
grid_options:
columns: 6
rows: auto
card_mod:
style: |
ha-card {
background: rgba(0,0,0, 0);
border: none;
--st-font-size-xl: 60px;
--st-font-size-m: 50px;
--st-font-size-l: 60px;
--st-spacing: 1px;
}
- variables:
entity: climate.thermostat_s_d_b
mode: frost
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_s_d_b
mode: eco
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_s_d_b
mode: comfort
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_s_d_b
mode: boost
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
visibility:
- condition: user
users:
- ef27be782c824f3298261b3dc9c614dc
- 71ec97164a674471a182e3b838794a7d
- 2d3459002c5b4154b2b4e701f3c964c0
- a446ea61780348cb88b936b4c8f21558
- 84678b3eb9e849498aa8ff85da35367c
- condition: or
conditions:
- condition: and
conditions:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: state
entity: input_text.selection_pieces
state: S.D.B
- condition: screen
media_query: "(min-width: 1024px)"
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
name: Ch. Filles
grid_options:
columns: full
rows: 1
styles:
card:
- font-size: 300%
- color: white
- background: none
- border: none
- border-bottom: 2px white double
- margin: 0px
- padding: 0px
- font-weight: 500
name:
- align-self: start
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- grid_options:
columns: full
rows: auto
type: custom:button-card
entity: climate.thermostat_ch_filles
show_name: false
show_icon: false
show_label: false
tap_action:
action: toggle
hold_action:
action: none
custom_fields:
fen: |
[[[
return `<br><ha-icon
icon="mdi:window-open-variant"
style="width: 20px; color:orange; ">
</ha-icon>`
]]]
rad: |
[[[
if (entity.attributes.hvac_action == "heating")
return `<ha-icon
icon="mdi:radiator"
style="width: 50px; ">
</ha-icon>`
else
return `<ha-icon
icon="mdi:radiator-disabled"
style="width: 50px; ">
</ha-icon>`
]]]
para:
card:
type: custom:button-card
icon: mdi:cog
size: 30px
tap_action:
action: navigate
navigation_path: /dashboard-nspanel1/param_chauff_cuisine
styles:
card:
- position: relative
- top: 10px
- background: none
- border: none
alert: |
[[[
return `<br><ha-icon
icon="mdi:alert"
style="width: 30px; ">
</ha-icon>`
]]]
power: |
[[[
return `
<span
style="font-size: 10px; ">rad
</span><br>
<ha-icon
icon="mdi:power"
style="width: 20px; ">
</ha-icon>`
]]]
styles:
card:
- padding-bottom: 0px
- border: none
- background-color: transparent
grid:
- grid-template-areas: "'rad power power1 fen alert para' "
- grid-template-columns: 1fr 1fr 0.5fr 1fr 1fr 1fr
custom_fields:
rad:
- color: |
[[[
if (entity.attributes.hvac_action == "heating")
return "#E92F00";
else if (entity.state == "heat")
return "var(--paper-item-icon-color)";
else
return "grey";
]]]
power:
- color: |
[[[
if (states['switch.chambre_filles_radiateur'].state == "on")
return "orange";
]]]
fen:
- display: |
[[[
if (states['binary_sensor.fenetre_filles_contact'].state == "on")
return "content"
else
return "none"
]]]
alert:
- display: |
[[[
if (entity.state == "unavailable")
return "content"
else
return "none"
]]]
- color: red
- animation: blink 2s ease infinite
- type: custom:button-card
entity: climate.thermostat_ch_filles
variables:
hum: sensor.ch_filles_capteurs_humidity
batterie: sensor.ch_filles_capteurs_battery
template: info_chauffe
grid_options:
columns: 6
rows: auto
- type: custom:simple-thermostat
entity: climate.thermostat_ch_filles
hide:
state: true
temperature: true
label:
temperature: T°
layout:
step: null
mode:
names: false
icons: false
headings: false
control:
- null
header: false
grid_options:
columns: 6
rows: auto
card_mod:
style: |
ha-card {
background: rgba(0,0,0, 0);
border: none;
--st-font-size-xl: 60px;
--st-font-size-m: 50px;
--st-spacing: 1px;
--st-font-size-l: 60px;
}
- variables:
entity: climate.thermostat_ch_filles
mode: frost
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_ch_filles
mode: eco
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_ch_filles
mode: comfort
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_ch_filles
mode: boost
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
visibility:
- condition: user
users:
- ef27be782c824f3298261b3dc9c614dc
- 71ec97164a674471a182e3b838794a7d
- 2d3459002c5b4154b2b4e701f3c964c0
- a446ea61780348cb88b936b4c8f21558
- 84678b3eb9e849498aa8ff85da35367c
- condition: or
conditions:
- condition: and
conditions:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: state
entity: input_text.selection_pieces
state: Ch.Filles
- condition: screen
media_query: "(min-width: 1024px)"
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
name: Ch. Parents
grid_options:
columns: full
rows: 1
styles:
card:
- font-size: 300%
- color: white
- background: none
- border: none
- border-bottom: 2px white double
- margin: 0px
- padding: 0px
- font-weight: 500
name:
- align-self: start
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- grid_options:
columns: full
rows: auto
type: custom:button-card
entity: climate.thermostat_parent
show_name: false
show_icon: false
show_label: false
tap_action:
action: toggle
hold_action:
action: none
custom_fields:
fen: |
[[[
return `<br><ha-icon
icon="mdi:window-open-variant"
style="width: 20px; color:orange; ">
</ha-icon>`
]]]
rad: |
[[[
if (entity.attributes.hvac_action == "heating")
return `<ha-icon
icon="mdi:radiator"
style="width: 50px; ">
</ha-icon>`
else
return `<ha-icon
icon="mdi:radiator-disabled"
style="width: 50px; ">
</ha-icon>`
]]]
para:
card:
type: custom:button-card
icon: mdi:cog
size: 30px
tap_action:
action: navigate
navigation_path: /dashboard-nspanel1/param_chauff_parent
styles:
card:
- position: relative
- top: 10px
- background: none
- border: none
alert: |
[[[
return `<br><ha-icon
icon="mdi:alert"
style="width: 30px; ">
</ha-icon>`
]]]
power: |
[[[
return `
<span
style="font-size: 10px; ">rad
</span><br>
<ha-icon
icon="mdi:power"
style="width: 20px; ">
</ha-icon>`
]]]
styles:
card:
- padding-bottom: 0px
- border: none
- background-color: transparent
grid:
- grid-template-areas: "'rad power power1 fen alert para' "
- grid-template-columns: 1fr 1fr 0.5fr 1fr 1fr 1fr
custom_fields:
rad:
- color: |
[[[
if (entity.attributes.hvac_action == "heating")
return "FireBrick";
else if (entity.state == "heat")
return "var(--paper-item-icon-color)";
else
return "grey";
]]]
power:
- color: |
[[[
if (states['switch.chambre_parents_radiateur'].state == "on")
return "orange";
]]]
fen:
- display: |
[[[
if (states['binary_sensor.fenetre_parents_contact'].state == "on")
return "content"
else
return "none"
]]]
alert:
- display: |
[[[
if (entity.state == "unavailable")
return "content"
else
return "none"
]]]
- color: red
- animation: blink 2s ease infinite
- type: custom:button-card
entity: climate.thermostat_parent
variables:
hum: sensor.ch_parents_capteurs_humidity
batterie: sensor.ch_parents_capteurs_battery
template: info_chauffe
grid_options:
columns: 6
rows: auto
- type: custom:simple-thermostat
entity: climate.thermostat_parent
hide:
state: true
temperature: true
label:
temperature: T°
layout:
step: null
mode:
names: false
icons: false
headings: false
control:
- null
header: false
grid_options:
columns: 6
rows: auto
card_mod:
style: |
ha-card {
background: rgba(0,0,0, 0);
border: none;
--st-font-size-xl: 60px;
--st-font-size-m: 50px;
--st-spacing: 1px;
--st-font-size-l: 60px;
}
- variables:
entity: climate.thermostat_parent
mode: frost
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_parent
mode: eco
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_parent
mode: comfort
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_parent
mode: boost
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
visibility:
- condition: user
users:
- ef27be782c824f3298261b3dc9c614dc
- 71ec97164a674471a182e3b838794a7d
- 2d3459002c5b4154b2b4e701f3c964c0
- a446ea61780348cb88b936b4c8f21558
- 84678b3eb9e849498aa8ff85da35367c
- condition: or
conditions:
- condition: and
conditions:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: state
entity: input_text.selection_pieces
state: Ch.Parents
- condition: screen
media_query: "(min-width: 1024px)"
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
name: Bureau
grid_options:
columns: full
rows: 1
styles:
card:
- font-size: 300%
- color: white
- background: none
- border: none
- border-bottom: 2px white double
- margin: 0px
- padding: 0px
- font-weight: 500
name:
- align-self: start
visibility:
- condition: screen
media_query: "(min-width: 1024px)"
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
visibility:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- grid_options:
columns: full
rows: auto
type: custom:button-card
entity: climate.thermostat_bureau
show_name: false
show_icon: false
show_label: false
tap_action:
action: toggle
hold_action:
action: none
custom_fields:
fen: |
[[[
return `<br><ha-icon
icon="mdi:window-open-variant"
style="width: 20px; color:orange; ">
</ha-icon>`
]]]
rad: |
[[[
if (entity.attributes.hvac_action == "heating")
return `<ha-icon
icon="mdi:radiator"
style="width: 50px; ">
</ha-icon>`
else
return `<ha-icon
icon="mdi:radiator-disabled"
style="width: 50px; ">
</ha-icon>`
]]]
para:
card:
type: custom:button-card
icon: mdi:cog
size: 30px
tap_action:
action: navigate
navigation_path: /dashboard-nspanel1/param_chauff_bureau
styles:
card:
- position: relative
- top: 10px
- background: none
- border: none
alert: |
[[[
return `<br><ha-icon
icon="mdi:alert"
style="width: 30px; ">
</ha-icon>`
]]]
power: |
[[[
return `
<span
style="font-size: 10px; ">rad
</span><br>
<ha-icon
icon="mdi:power"
style="width: 20px; ">
</ha-icon>`
]]]
styles:
card:
- padding-bottom: 0px
- border: none
- background-color: transparent
grid:
- grid-template-areas: "'rad power power1 fen alert para' "
- grid-template-columns: 1fr 1fr 0.5fr 1fr 1fr 1fr
custom_fields:
rad:
- color: |
[[[
if (entity.attributes.hvac_action == "heating")
return "#E92F00";
else if (entity.state == "heat")
return "var(--paper-item-icon-color)";
else
return "grey";
]]]
power:
- color: |
[[[
if (states['switch.chambre1_radiateur'].state == "on")
return "orange";
]]]
fen:
- display: |
[[[
if (states['binary_sensor.fenetre_bureau'].state == "on")
return "content"
else
return "none"
]]]
alert:
- display: |
[[[
if (entity.state == "unavailable")
return "content"
else
return "none"
]]]
- color: red
- animation: blink 2s ease infinite
- type: custom:button-card
entity: climate.thermostat_bureau
variables:
hum: sensor.bureau_capteur_humidity
batterie: sensor.bureau_capteur_battery
template: info_chauffe
grid_options:
columns: 6
rows: auto
- type: custom:simple-thermostat
entity: climate.thermostat_bureau
hide:
state: true
temperature: true
label:
temperature: T°
layout:
step: null
mode:
names: false
icons: false
headings: false
control:
- null
header: false
card_mod:
style: |
ha-card {
background: rgba(0,0,0, 0);
border: none;
--st-font-size-xl: 60px;
--st-font-size-m: 50px;
--st-spacing: 1px;
--st-font-size-l: 60px;
}
grid_options:
columns: 6
rows: auto
- variables:
entity: climate.thermostat_bureau
mode: frost
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_bureau
mode: eco
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_bureau
mode: comfort
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
- variables:
entity: climate.thermostat_bureau
mode: boost
template: mode_chauffe
type: custom:button-card
grid_options:
columns: 3
rows: 1
visibility:
- condition: user
users:
- ef27be782c824f3298261b3dc9c614dc
- 71ec97164a674471a182e3b838794a7d
- 2d3459002c5b4154b2b4e701f3c964c0
- a446ea61780348cb88b936b4c8f21558
- 84678b3eb9e849498aa8ff85da35367c
- condition: or
conditions:
- condition: and
conditions:
- condition: screen
media_query: "(min-width: 0px) and (max-width: 1023px)"
- condition: state
entity: input_text.selection_pieces
state: Bureau
- condition: screen
media_query: "(min-width: 1024px)"
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
- type: custom:simple-thermostat
entity: climate.thermostat_s_d_b
hide:
state: true
temperature: true
control:
preset:
eco:
icon: mdi:leaf
frost:
icon: mdi:snowflake
comfort:
icon: mdi:sofa
boost:
icon: mdi:rocket-launch
none: false
layout:
step: null
mode:
icons: true
headings: false
names: true
sensors:
- entity: sensor.s_d_b_capteurs_temperature
icon: mdi:thermometer
- entity: sensor.s_d_b_capteurs_humidity
icon: mdi:water-percent
- entity: sensor.s_d_b_capteurs_battery
icon: mdi:battery
header:
name: .
faults:
- entity: switch.s_d_b_radiateur
icon: mdi:power
- entity: switch.s_d_b_soufflerie
icon: mdi:fan
hide_inactive: true
card_mod:
style: |
ha-card {
background: rgba(0,0,0, 0.5);
--st-font-size-xl: 60px;
--st-font-size-m: 50px;
--st-font-size-title: 0px;
--st-font-size-sensors: 20px;
--st-spacing: 1px;
--st-font-size-toggle-label: px;
--st-font-size-l: 60px;
}
visibility:
- condition: user
users:
- fc5eca5eec334095bdbaf0583043a051
- condition: state
entity: input_text.selection_pieces
state: S.D.B
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
- type: custom:simple-thermostat
entity: climate.thermostat_salon
hide:
state: true
temperature: true
control:
preset:
eco:
icon: mdi:leaf
frost:
icon: mdi:snowflake
comfort:
icon: mdi:sofa
boost:
icon: mdi:rocket-launch
none: false
layout:
step: null
mode:
icons: true
headings: false
names: true
sensors:
- entity: sensor.salon_capteurs_temperature
icon: mdi:thermometer
- entity: sensor.salon_capteurs_humidity
icon: mdi:water-percent
- entity: sensor.salon_capteurs_battery
icon: mdi:battery
header:
name: .
faults:
- entity: switch.salon_radiateur1
icon: mdi:power
- entity: switch.salon_radiateur2
icon: mdi:power
- entity: binary_sensor.fenetres_salon
icon: mdi:window-open-variant
hide_inactive: true
card_mod:
style: |
ha-card {
background: rgba(0,0,0, 0.5);
--st-font-size-xl: 60px;
--st-font-size-m: 50px;
--st-font-size-title: 0px;
--st-font-size-sensors: 20px;
--st-spacing: 1px;
--st-font-size-toggle-label: px;
--st-font-size-l: 60px;
}
visibility:
- condition: user
users:
- fc5eca5eec334095bdbaf0583043a051
- condition: state
entity: input_text.selection_pieces
state: Salon
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
- type: custom:simple-thermostat
entity: climate.thermostat_cuisine
hide:
state: true
temperature: true
control:
preset:
eco:
icon: mdi:leaf
frost:
icon: mdi:snowflake
comfort:
icon: mdi:sofa
boost:
icon: mdi:rocket-launch
none: false
layout:
step: null
mode:
icons: true
headings: false
names: true
sensors:
- entity: sensor.cuisine_capteurs_temperature
icon: mdi:thermometer
- entity: sensor.cuisine_capteurs_humidity
icon: mdi:water-percent
- entity: sensor.cuisine_capteurs_battery
icon: mdi:battery
header:
name: .
faults:
- entity: switch.cuisine_radiateur
icon: mdi:power
- entity: binary_sensor.fenetres_cuisine_contact
icon: mdi:window-open-variant
hide_inactive: true
card_mod:
style: |
ha-card {
background: rgba(0,0,0, 0.5);
--st-font-size-xl: 60px;
--st-font-size-m: 50px;
--st-font-size-title: 0px;
--st-font-size-sensors: 20px;
--st-spacing: 1px;
--st-font-size-toggle-label: px;
--st-font-size-l: 60px;
}
visibility:
- condition: user
users:
- fc5eca5eec334095bdbaf0583043a051
- condition: state
entity: input_text.selection_pieces
state: Cuisine
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
- type: custom:simple-thermostat
entity: climate.thermostat_ch_filles
hide:
state: true
temperature: true
control:
preset:
eco:
icon: mdi:leaf
frost:
icon: mdi:snowflake
comfort:
icon: mdi:sofa
boost:
icon: mdi:rocket-launch
none: false
layout:
step: null
mode:
icons: true
headings: false
names: true
sensors:
- entity: sensor.ch_filles_capteurs_temperature
icon: mdi:thermometer
- entity: sensor.ch_filles_capteurs_humidity
icon: mdi:water-percent
- entity: sensor.ch_filles_capteurs_battery
icon: mdi:battery
header:
name: .
faults:
- entity: switch.chambre_filles_radiateur
icon: mdi:power
- entity: binary_sensor.fenetre_filles_contact
icon: mdi:window-open-variant
hide_inactive: true
card_mod:
style: |
ha-card {
background: rgba(0,0,0, 0.5);
--st-font-size-xl: 60px;
--st-font-size-m: 50px;
--st-font-size-title: 0px;
--st-font-size-sensors: 20px;
--st-spacing: 1px;
--st-font-size-toggle-label: px;
--st-font-size-l: 60px;
}
visibility:
- condition: user
users:
- fc5eca5eec334095bdbaf0583043a051
- condition: state
entity: input_text.selection_pieces
state: Ch.Filles
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
- type: custom:simple-thermostat
entity: climate.thermostat_parent
hide:
state: true
temperature: true
control:
preset:
eco:
icon: mdi:leaf
frost:
icon: mdi:snowflake
comfort:
icon: mdi:sofa
boost:
icon: mdi:rocket-launch
none: false
layout:
step: null
mode:
icons: true
headings: false
names: true
sensors:
- entity: sensor.ch_parents_capteurs_temperature
icon: mdi:thermometer
- entity: sensor.ch_parents_capteurs_humidity
icon: mdi:water-percent
- entity: sensor.ch_parents_capteurs_battery
icon: mdi:battery
header:
name: .
faults:
- entity: switch.chambre_parents_radiateur
icon: mdi:power
- entity: binary_sensor.fenetre_parents_contact
icon: mdi:window-open-variant
hide_inactive: true
card_mod:
style: |
ha-card {
background: rgba(0,0,0, 0.5);
--st-font-size-xl: 60px;
--st-font-size-m: 50px;
--st-font-size-title: 0px;
--st-font-size-sensors: 20px;
--st-spacing: 1px;
--st-font-size-toggle-label: px;
--st-font-size-l: 60px;
}
visibility:
- condition: user
users:
- fc5eca5eec334095bdbaf0583043a051
- condition: state
entity: input_text.selection_pieces
state: Ch.Parents
- type: grid
cards:
- show_name: true
show_icon: false
type: custom:button-card
grid_options:
columns: full
rows: 0.5
styles:
card:
- background: none
- border: none
- type: custom:simple-thermostat
entity: climate.thermostat_bureau
hide:
state: true
temperature: true
control:
preset:
eco:
icon: mdi:leaf
frost:
icon: mdi:snowflake
comfort:
icon: mdi:sofa
boost:
icon: mdi:rocket-launch
none: false
layout:
step: null
mode:
icons: true
headings: false
names: true
sensors:
- entity: sensor.bureau_capteur_temperature
icon: mdi:thermometer
- entity: sensor.bureau_capteur_humidity
icon: mdi:water-percent
- entity: sensor.bureau_capteur_battery
icon: mdi:battery
header:
name: .
faults:
- entity: switch.chambre1_radiateur
icon: mdi:power
- entity: binary_sensor.fenetre_bureau_contact
icon: mdi:window-open-variant
hide_inactive: true
card_mod:
style: |
ha-card {
background: rgba(0,0,0, 0.5);
--st-font-size-xl: 60px;
--st-font-size-m: 50px;
--st-font-size-title: 0px;
--st-font-size-sensors: 20px;
--st-spacing: 1px;
--st-font-size-toggle-label: px;
--st-font-size-l: 60px;
}
visibility:
- condition: user
users:
- fc5eca5eec334095bdbaf0583043a051
- condition: state
entity: input_text.selection_pieces
state: Bureau
cards: []
background:
opacity: 45
alignment: center
size: cover
repeat: no-repeat
attachment: fixed
image: https://w.wallhaven.cc/full/d6/wallhaven-d6o6wg.png
dense_section_placement: true
subview: true
icon: mdi:radiator-disabled
le code pour la vue PC n’est pas encore entièrement terminé