Voila mon processus (je me le suis fait dans le cas d’ajout d’equipement) :
-
ouvrir fichier sh3D
-
installer une lampe
-
choisir le point de vue (faut réussir a trouver un point de vue sympa et penser a l’enregistrer)
-
allumer la nouvelle lumiere à 30%
-
Creer une photo en 2000x1000
-
ouvrir eteint.png avec gimp (c’est l’image de fond non eclairé pour moi date du 28/11/2022 à 18h avec un eclairage au dessus qui est plus grand que le plan complet)
-
ouvrir en tant que calque la nouvelle photo
-
mode difference
-
couleur>Couleur vers alpha
-
Changer le blanc par noir.
-
Supprimer le calque eteint pour ne garder que le filtre.
-
Exporter le nouveau filtre
-
Ouvrir le nouveau filtre dans photofiltre
-
selectionner la forme de selection puis faites un recadrage (par rapport a la forme ca c’est pour avoir la meme dimension d’image et effacer le sol autour de la maison, je l’ai fait sur toutes mes images)
-
copier coller l’image pour la mettre dans un calque
-
supprimer l’image (en gardant le claque)
-
calque>transformation parametree> image en haut au milieu et hauteur 600
-
Reste plus qu’a l’implanter dans le floor
mon image finale fait cette taille:
1540x600
Pour l’integration des pieces eclairées, dans picture element:
- type: image
entity: light.lampe_salon_light
tap_action:
action: none
state_image:
'on': /local/floorplan/images de base/lampe salon.png
'off': /local/floorplan/images de base/trans.png
unavailable: /local/floorplan/images de base/trans.png
style:
top: 50%
left: 50%
width: 100%
Pour ce qui est de l’integration des capteurs, moi j’ai des icones et j’integre ca comme ca:
lumiere:
- type: image
entity: light.lampe_salon_light
tap_action:
action: toggle
state_image:
'on': /local/floorplan/icones/bulb-on2.png
'off': /local/floorplan/icones/bulb-off2.png
unavailable: /local/floorplan/icones/bulb-out2.png
style:
top: 4%
left: 45%
width: 2%
La clim (le orange):
- type: image
entity: climate.clim_salon_2
tap_action:
action: fire-dom-event
browser_mod:
command: call-service
service: browser_mod.popup
data:
deviceID:
- this
content:
type: custom:mushroom-climate-card
entity: climate.clim_salon_2
name: Climatisation salon
layout: horizontal
fill_container: true
hvac_modes: []
show_temperature_control: true
icon_type: entity-picture
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
state_image:
heat_cool: /local/floorplan/icones/clim_auto2.png
fan_only: /local/floorplan/icones/clim_fan2.png
dry: /local/floorplan/icones/clim_dry2.png
cool: /local/floorplan/icones/clim_cool2.png
Inactif: /local/floorplan/icones/clim_off2.png
heat: /local/floorplan/icones/clim_heat2.png
'off': /local/floorplan/icones/clim_off2.png
unavailable: /local/floorplan/icones/clim_off2.png
style:
top: 18%
left: 57%
width: 2%
Capteur de temperature:
- type: state-badge
entity: sensor.thermometre_Enfant2_temperature_2
tap_action:
action: fire-dom-event
browser_mod:
command: call-service
service: browser_mod.popup
data:
deviceID:
- this
title: Thermomètre Enfant2
content:
type: entities
entities:
- entity: sensor.thermometre_Enfant2_battery_2
- entity: sensor.thermometre_Enfant2_humidity_2
- entity: sensor.thermometre_Enfant2_temperature_2
state_color: true
style:
top: 50%
left: 43%
text-align: center
font-weight: bold
Le code complet de mon floorplan, tu peux t’en inspirer librement:
` title: Floorplan
type: panel
cards:
- type: picture-elements
card_mod:
style:
hui-state-badge-element:
$ ha-state-label-badge:
$ ha-label-badge $: |
.badge-container .title {
display:none;
}
.badge-container .label-badge {
border-width: 0.3em;
}
.badge-container .label-badge .label span {
font-size: 9px;
}
.: |
[title='Thermometre Enfant1 Temperature']{
font-size: 9px;
--label-badge-background-color: {% if states('sensor.thermometre_Enfant1_humidity_2') | int > 62 %} #4a5654 {% elif states('sensor.thermometre_Enfant1_battery_2')|int < 15 %} #4a5654 {% else %} white {% endif %};
--label-badge-text-color: {% if states('sensor.thermometre_Enfant1_humidity_2') | int > 62 %} white {% elif states('sensor.thermometre_Enfant1_battery_2')|int < 15 %} white {% else %} black {% endif %};
--label-badge-red: {% if states('sensor.thermometre_Enfant1_humidity_2') | int > 62 %} blue {% elif states('sensor.thermometre_Enfant1_battery_2')|int < 15 %} red {% else %} green {% endif %};
}
[title='Thermometre Enfant2 Temperature']{
font-size: 9px;
--label-badge-background-color: {% if states('sensor.thermometre_Enfant2_humidity_2') | int > 62 %} #4a5654 {% elif states('sensor.thermometre_Enfant2_battery_2')|int < 15 %} #4a5654 {% else %} white {% endif %};
--label-badge-text-color: {% if states('sensor.thermometre_Enfant2_humidity_2') | int > 62 %} white {% elif states('sensor.thermometre_Enfant2_battery_2')|int < 15 %} white {% else %} black {% endif %};
--label-badge-red: {% if states('sensor.thermometre_Enfant2_humidity_2') | int > 62 %} blue {% elif states('sensor.thermometre_Enfant2_battery_2')|int < 15 %} red {% else %} green {% endif %};
}
[title='Thermometre parent Temperature']{
font-size: 9px;
--label-badge-background-color: {% if states('sensor.thermometre_e_and_o_humidity') | int > 62 %} #4a5654 {% elif states('sensor.thermometre_e_and_o_battery')|int < 15 %} #4a5654 {% else %} white {% endif %};
--label-badge-text-color: {% if states('sensor.thermometre_e_and_o_humidity') | int > 62 %} white {% elif states('sensor.thermometre_e_and_o_battery')|int < 15 %} white {% else %} black {% endif %};
--label-badge-red: {% if states('sensor.thermometre_e_and_o_humidity') | int > 62 %} blue {% elif states('sensor.thermometre_e_and_o_battery')|int < 15 %} red {% else %} green {% endif %};
}
[title='Thermometre SDB Temperature']{
font-size: 9px;
--label-badge-background-color: {% if states('sensor.thermometre_sdb_humidity_3') | int > 62 %} #4a5654 {% elif states('sensor.thermometre_sdb_battery_3')|int < 15 %} #4a5654 {% else %} white {% endif %};
--label-badge-text-color: {% if states('sensor.thermometre_sdb_humidity_3') | int > 62 %} white {% elif states('sensor.thermometre_sdb_battery_3')|int < 15 %} white {% else %} black {% endif %};
--label-badge-red: {% if states('sensor.thermometre_sdb_humidity_3') | int > 62 %} blue {% elif states('sensor.thermometre_sdb_battery_3')|int < 15 %} red {% else %} green {% endif %};
}
[title='Thermometre Salon Temperature']{
font-size: 9px;
--label-badge-background-color: {% if states('sensor.thermometre_salon_humidity') | int > 62 %} #4a5654 {% elif states('sensor.thermometre_salon_battery')|int < 15 %} #4a5654 {% else %} white {% endif %};
--label-badge-text-color: {% if states('sensor.thermometre_salon_humidity') | int > 62 %} white {% elif states('sensor.thermometre_salon_battery')|int < 15 %} white {% else %} black {% endif %};
--label-badge-red: {% if states('sensor.thermometre_salon_humidity') | int > 62 %} blue {% elif states('sensor.thermometre_salon_battery')|int < 15 %} red {% else %} green {% endif %};
}
image: /local/floorplan/images de base/eteint2.png
style:
width: 160px
elements:
- type: image
entity: light.mur_de_meuble
tap_action:
action: none
state_image:
'on': /local/floorplan/images de base/mur de meuble.png
'off': /local/floorplan/images de base/trans.png
unavailable: /local/floorplan/images de base/trans.png
style:
top: 50%
left: 50%
width: 100%
- type: image
entity: light.lampe_salon_light
tap_action:
action: none
state_image:
'on': /local/floorplan/images de base/lampe salon.png
'off': /local/floorplan/images de base/trans.png
unavailable: /local/floorplan/images de base/trans.png
style:
top: 50%
left: 50%
width: 100%
- type: image
entity: light.etagere_salon_light
tap_action:
action: none
state_image:
'on': /local/floorplan/images de base/etagere salon.png
'off': /local/floorplan/images de base/trans.png
unavailable: /local/floorplan/images de base/trans.png
style:
top: 50%
left: 50%
width: 100%
- type: image
entity: light.colr_Enfant1_light
tap_action:
action: none
state_image:
'on': /local/floorplan/images de base/couloir Enfant1.png
'off': /local/floorplan/images de base/trans.png
unavailable: /local/floorplan/images de base/trans.png
style:
top: 50%
left: 50%
width: 100%
- type: image
entity: light.colr_sdb_light_2
tap_action:
action: none
state_image:
'on': /local/floorplan/images de base/sdb.png
'off': /local/floorplan/images de base/trans.png
unavailable: /local/floorplan/images de base/trans.png
style:
top: 50%
left: 50%
width: 100%
- type: image
entity: light.ruban_Enfant2_light
tap_action:
action: none
state_image:
'on': /local/floorplan/images de base/bureau Enfant2.png
'off': /local/floorplan/images de base/trans.png
unavailable: /local/floorplan/images de base/trans.png
style:
top: 50%
left: 50%
width: 100%
- type: image
entity: light.lumiere_Enfant2_light
tap_action:
action: none
state_image:
'on': /local/floorplan/images de base/lampe Enfant2.png
'off': /local/floorplan/images de base/trans.png
unavailable: /local/floorplan/images de base/trans.png
style:
top: 50%
left: 50%
width: 100%
- type: image
entity: switch.multiprise_estelle_switch
tap_action:
action: none
state_image:
'on': /local/floorplan/images de base/estelle.png
'off': /local/floorplan/images de base/trans.png
unavailable: /local/floorplan/images de base/trans.png
style:
top: 50%
left: 50%
width: 100%
- type: image
entity: light.lumiere_barre_de_son
tap_action:
action: none
state_image:
'on': /local/floorplan/images de base/barre de son.png
'off': /local/floorplan/images de base/trans.png
unavailable: /local/floorplan/images de base/trans.png
style:
top: 50%
left: 50%
width: 100%
- type: image
entity: light.colr_sdb_light_2
tap_action:
action: call-service
confirmation: false
service: switch.toggle
target:
entity_id: switch.nodered_1ab61715d6b72698
hold_action:
action: call-service
confirmation: false
service: button.press
target:
entity_id: button.dodo_ma_puce
state_image:
'on': /local/floorplan/icones/bulb-on2.png
'off': /local/floorplan/icones/bulb-off2.png
unavailable: /local/floorplan/icones/bulb-out2.png
style:
top: 60%
left: 47%
width: 2%
- type: image
entity: light.colr_Enfant1_light
tap_action:
action: call-service
confirmation: false
service: switch.toggle
target:
entity_id: switch.nodered_1ab61715d6b72698
hold_action:
action: call-service
confirmation: false
service: button.press
target:
entity_id: button.dodo_ma_puce
state_image:
'on': /local/floorplan/icones/bulb-on2.png
'off': /local/floorplan/icones/bulb-off2.png
unavailable: /local/floorplan/icones/bulb-out2.png
style:
top: 60%
left: 36%
width: 2%
- type: image
entity: light.etagere_salon_light
tap_action:
action: toggle
state_image:
'on': /local/floorplan/icones/bulb-on2.png
'off': /local/floorplan/icones/bulb-off2.png
unavailable: /local/floorplan/icones/bulb-out2.png
style:
top: 4%
left: 55%
width: 2%
- type: image
entity: light.lampe_salon_light
tap_action:
action: toggle
state_image:
'on': /local/floorplan/icones/bulb-on2.png
'off': /local/floorplan/icones/bulb-off2.png
unavailable: /local/floorplan/icones/bulb-out2.png
style:
top: 4%
left: 45%
width: 2%
- type: image
entity: light.lumiere_barre_de_son
tap_action:
action: toggle
state_image:
'on': /local/floorplan/icones/bulb-on2.png
'off': /local/floorplan/icones/bulb-off2.png
unavailable: /local/floorplan/icones/bulb-out2.png
style:
top: 13%
left: 44%
width: 2%
- type: image
entity: binary_sensor.heiman_smokesensor_ef_3_0_iaszone
state_image:
'on': /local/floorplan/icones/detecteur feu pas ok.png
'off': /local/floorplan/icones/detecteur feu ok.png
unavailable: /local/floorplan/icones/detecteur feu out.png
style:
top: 60%
left: 39%
width: 2%
- type: image
entity: switch.multiprise_estelle_switch
tap_action:
action: toggle
state_image:
'on': /local/floorplan/icones/bulb-on2.png
'off': /local/floorplan/icones/bulb-off2.png
unavailable: /local/floorplan/icones/bulb-out2.png
style:
top: 55%
left: 25%
width: 2%
- type: image
entity: light.mur_de_meuble
tap_action:
action: toggle
state_image:
'on': /local/floorplan/icones/bulb-on2.png
'off': /local/floorplan/icones/bulb-off2.png
unavailable: /local/floorplan/icones/bulb-out2.png
style:
top: 4%
left: 50%
width: 2%
- type: image
entity: light.colr_Enfant1_light
tap_action:
action: call-service
confirmation: true
service: button.press
target:
entity_id: button.dodo_ma_puce
state_image:
'on': /local/floorplan/icones/bulb-on2.png
'off': /local/floorplan/icones/bulb-off2.png
unavailable: /local/floorplan/icones/bulb-out2.png
style:
top: 15%
left: 65%
width: 3%
- type: service-button
title: Veilleuse Enfant1
style:
top: 15%
left: 73%
'--primary-color': black
service: button.press
service_data:
entity_id: button.dodo_ma_puce
- type: image
entity: switch.commande_salon
tap_action:
action: toggle
state_image:
'on': /local/floorplan/icones/bulb-on2.png
'off': /local/floorplan/icones/bulb-off2.png
unavailable: /local/floorplan/icones/bulb-out2.png
style:
top: 8%
left: 65%
width: 3%
- type: service-button
title: interrupteur du salon
style:
top: 8%
left: 73%
'--primary-color': black
service: homeassistant.toggle
service_data:
entity_id: switch.commande_salon
- type: state-badge
entity: sensor.thermometre_salon_temperature
tap_action:
action: fire-dom-event
browser_mod:
command: call-service
service: browser_mod.popup
data:
deviceID:
- this
title: Thermomètre Salon
content:
type: entities
entities:
- entity: sensor.thermometre_salon_battery
- entity: sensor.thermometre_salon_humidity
- entity: sensor.thermometre_salon_temperature
state_color: true
style:
top: 20%
left: 49%
text-align: center
font-weight: bold
- type: state-badge
entity: sensor.thermometre_sdb_temperature_3
tap_action:
action: fire-dom-event
browser_mod:
command: call-service
service: browser_mod.popup
data:
deviceID:
- this
title: Thermomètre salle de bain
content:
type: entities
entities:
- entity: sensor.thermometre_sdb_battery_3
- entity: sensor.thermometre_sdb_humidity_3
- entity: sensor.thermometre_sdb_temperature_3
state_color: true
style:
top: 60%
left: 52%
text-align: center
font-weight: bold
- type: state-badge
entity: sensor.thermometre_Enfant1_temperature_2
tap_action:
action: fire-dom-event
browser_mod:
command: call-service
service: browser_mod.popup
data:
deviceID:
- this
title: Thermomètre Enfant1
content:
type: entities
entities:
- entity: sensor.thermometre_Enfant1_battery_2
- entity: sensor.thermometre_Enfant1_humidity_2
- entity: sensor.thermometre_Enfant1_temperature_2
state_color: true
style:
top: 50%
left: 35%
text-align: center
font-weight: bold
- type: state-badge
entity: sensor.thermometre_Enfant2_temperature_2
tap_action:
action: fire-dom-event
browser_mod:
command: call-service
service: browser_mod.popup
data:
deviceID:
- this
title: Thermomètre Enfant2
content:
type: entities
entities:
- entity: sensor.thermometre_Enfant2_battery_2
- entity: sensor.thermometre_Enfant2_humidity_2
- entity: sensor.thermometre_Enfant2_temperature_2
state_color: true
style:
top: 50%
left: 43%
text-align: center
font-weight: bold
- type: state-badge
entity: sensor.thermometre_e_and_o_temperature
tap_action:
action: fire-dom-event
browser_mod:
command: call-service
service: browser_mod.popup
data:
deviceID:
- this
title: Thermomètre parent
content:
type: entities
entities:
- entity: sensor.thermometre_e_and_o_battery
- entity: sensor.thermometre_e_and_o_humidity
- entity: sensor.thermometre_e_and_o_temperature
state_color: true
style:
top: 50%
left: 23%
text-align: center
font-weight: bold
- type: image
entity: climate.clim_salon_2
tap_action:
action: fire-dom-event
browser_mod:
command: call-service
service: browser_mod.popup
data:
deviceID:
- this
content:
type: custom:mushroom-climate-card
entity: climate.clim_salon_2
name: Climatisation salon
layout: horizontal
fill_container: true
hvac_modes: []
show_temperature_control: true
icon_type: entity-picture
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
state_image:
heat_cool: /local/floorplan/icones/clim_auto2.png
fan_only: /local/floorplan/icones/clim_fan2.png
dry: /local/floorplan/icones/clim_dry2.png
cool: /local/floorplan/icones/clim_cool2.png
Inactif: /local/floorplan/icones/clim_off2.png
heat: /local/floorplan/icones/clim_heat2.png
'off': /local/floorplan/icones/clim_off2.png
unavailable: /local/floorplan/icones/clim_off2.png
style:
top: 18%
left: 57%
width: 2%
- type: image
entity: climate.clim_Enfant1
tap_action:
action: fire-dom-event
browser_mod:
command: call-service
service: browser_mod.popup
data:
deviceID:
- this
content:
type: custom:mushroom-climate-card
entity: climate.clim_Enfant1
name: Climatisation chambre Enfant1
layout: horizontal
fill_container: true
hvac_modes: []
show_temperature_control: true
icon_type: entity-picture
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
state_image:
heat_cool: /local/floorplan/icones/clim_auto2.png
fan_only: /local/floorplan/icones/clim_fan2.png
dry: /local/floorplan/icones/clim_dry2.png
cool: /local/floorplan/icones/clim_cool2.png
Inactif: /local/floorplan/icones/clim_off2.png
heat: /local/floorplan/icones/clim_heat2.png
'off': /local/floorplan/icones/clim_off2.png
unavailable: /local/floorplan/icones/clim_off2.png
style:
top: 39%
left: 29%
width: 2%
- type: image
entity: climate.clim_parent
tap_action:
action: fire-dom-event
browser_mod:
command: call-service
service: browser_mod.popup
data:
deviceID:
- this
content:
type: custom:mushroom-climate-card
entity: climate.clim_parent
name: Climatisation chambre parents
layout: horizontal
fill_container: true
hvac_modes: []
show_temperature_control: true
icon_type: entity-picture
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
state_image:
heat_cool: /local/floorplan/icones/clim_auto2.png
fan_only: /local/floorplan/icones/clim_fan2.png
dry: /local/floorplan/icones/clim_dry2.png
cool: /local/floorplan/icones/clim_cool2.png
Inactif: /local/floorplan/icones/clim_off2.png
heat: /local/floorplan/icones/clim_heat2.png
'off': /local/floorplan/icones/clim_off2.png
unavailable: /local/floorplan/icones/clim_off2.png
style:
top: 39%
left: 26%
width: 2%
- type: image
entity: climate.clim_Enfant2_2
tap_action:
action: fire-dom-event
browser_mod:
command: call-service
service: browser_mod.popup
data:
deviceID:
- this
content:
type: custom:mushroom-climate-card
entity: climate.clim_Enfant2_2
name: Climatisation chambre Enfant2
layout: horizontal
fill_container: true
hvac_modes: []
show_temperature_control: true
icon_type: entity-picture
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
state_image:
heat_cool: /local/floorplan/icones/clim_auto2.png
fan_only: /local/floorplan/icones/clim_fan2.png
dry: /local/floorplan/icones/clim_dry2.png
cool: /local/floorplan/icones/clim_cool2.png
Inactif: /local/floorplan/icones/clim_off2.png
heat: /local/floorplan/icones/clim_heat2.png
'off': /local/floorplan/icones/clim_off2.png
unavailable: /local/floorplan/icones/clim_off2.png
style:
top: 39%
left: 43%
width: 2%`