Mon problème
J’utilise plotly-graph pour faire une représentation schématique de certaines pièces dans une maison.
Dans cette maison, j’ai des zones qui restent fixes et d’autres qui bougent. Mais surtout certaines zones doivent apparaître ou disparaitre en fonction de l’état d’une entité.
Je me dis que le teste à faire c’est quelque chose comme ça :
hass.states["switch.zout2_enable"].state == "on"
Mais j’ai beau retourner le problème dans tous les sens, je n’arrive pas à comprendre comment faire disparaître une zone en fonction de l’état de mon switch.
Voici le code complet pour info
type: custom:plotly-graph
title: Zones
refresh_interval: 2
hours_to_show: current_day
ha_theme: true
layout:
legend:
'y': 8000
orientation: h
autosize: true
margin:
autoexpand: true
l: 50
r: 20
t: 20
b: 40
showlegend: true
xaxis:
dtick: 1000
gridcolor: RGBA(200,200,200,0.15)
zerolinecolor: RGBA(200,200,200,0.15)
type: number
fixedrange: true
range:
- -4000
- 4000
yaxis:
dtick: 1000
gridcolor: RGBA(200,200,200,0.15)
zerolinecolor: RGBA(200,200,200,0.15)
scaleanchor: x
scaleratio: 1
fixedrange: true
range:
- 8000
- 0
entities:
- entity: ''
name: Person1
show_value: true
unit_of_measurement: mm
marker:
size: 12
line:
shape: spline
width: 5
x:
- $ex hass.states["sensor.target1_x"].state
'y':
- $ex hass.states["sensor.target1_y"].state
- entity: ''
name: Person2
show_value: true
unit_of_measurement: mm
marker:
size: 12
line:
shape: spline
width: 5
x:
- $ex hass.states["sensor.target2_x"].state
'y':
- $ex hass.states["sensor.target2_y"].state
- entity: ''
name: Person3
show_value: true
unit_of_measurement: mm
marker:
size: 12
line:
shape: spline
width: 5
x:
- $ex hass.states["sensor.target3_x"].state
'y':
- $ex hass.states["sensor.target3_y"].state
- entity: ''
name: Zone1
mode: lines
fill: toself
fillcolor: RGBA(20,200,0,0.1)
line:
color: RGBA(20,200,0,0.4)
shape: line
width: 2
x:
- $ex hass.states["number.zone1_x_begin"].state
- $ex hass.states["number.zone1_x_begin"].state
- $ex hass.states["number.zone1_x_end"].state
- $ex hass.states["number.zone1_x_end"].state
- $ex hass.states["number.zone1_x_begin"].state
'y':
- $ex hass.states["number.zone1_y_begin"].state
- $ex hass.states["number.zone1_y_end"].state
- $ex hass.states["number.zone1_y_end"].state
- $ex hass.states["number.zone1_y_begin"].state
- $ex hass.states["number.zone1_y_begin"].state
- entity: ''
name: Zone2
mode: lines
fill: toself
fillcolor: RGBA(255,233,107,0.1)
line:
color: RGBA(255,233,107,0.4)
shape: line
width: 2
x:
- $ex hass.states["number.zone2_x_begin"].state
- $ex hass.states["number.zone2_x_begin"].state
- $ex hass.states["number.zone2_x_end"].state
- $ex hass.states["number.zone2_x_end"].state
- $ex hass.states["number.zone2_x_begin"].state
'y':
- $ex hass.states["number.zone2_y_begin"].state
- $ex hass.states["number.zone2_y_end"].state
- $ex hass.states["number.zone2_y_end"].state
- $ex hass.states["number.zone2_y_begin"].state
- $ex hass.states["number.zone2_y_begin"].state
- entity: ''
name: Zone3
mode: lines
fill: toself
fillcolor: RGBA(0,137,207,0.1)
line:
color: RGBA(0,137,207,0.4)
shape: line
width: 2
x:
- $ex hass.states["number.zone3_x_begin"].state
- $ex hass.states["number.zone3_x_begin"].state
- $ex hass.states["number.zone3_x_end"].state
- $ex hass.states["number.zone3_x_end"].state
- $ex hass.states["number.zone3_x_begin"].state
'y':
- $ex hass.states["number.zone3_y_begin"].state
- $ex hass.states["number.zone3_y_end"].state
- $ex hass.states["number.zone3_y_end"].state
- $ex hass.states["number.zone3_y_begin"].state
- $ex hass.states["number.zone3_y_begin"].state
- entity: ''
name: Zone4
mode: lines
fill: toself
fillcolor: RGBA(0,169,164,0.1)
line:
color: RGBA(0,169,164,0.4)
shape: line
width: 2
x:
- $ex hass.states["number.zone4_x_begin"].state
- $ex hass.states["number.zone4_x_begin"].state
- $ex hass.states["number.zone4_x_end"].state
- $ex hass.states["number.zone4_x_end"].state
- $ex hass.states["number.zone4_x_begin"].state
'y':
- $ex hass.states["number.zone4_y_begin"].state
- $ex hass.states["number.zone4_y_end"].state
- $ex hass.states["number.zone4_y_end"].state
- $ex hass.states["number.zone4_y_begin"].state
- $ex hass.states["number.zone4_y_begin"].state
- entity: ''
name: Zone5
mode: lines
fill: toself
fillcolor: RGBA(244,143,159,0.1)
line:
color: RGBA(244,143,159,0.4)
shape: line
width: 2
x:
- $ex hass.states["number.zone5_x_begin"].state
- $ex hass.states["number.zone5_x_begin"].state
- $ex hass.states["number.zone5_x_end"].state
- $ex hass.states["number.zone5_x_end"].state
- $ex hass.states["number.zone5_x_begin"].state
'y':
- $ex hass.states["number.zone5_y_begin"].state
- $ex hass.states["number.zone5_y_end"].state
- $ex hass.states["number.zone5_y_end"].state
- $ex hass.states["number.zone5_y_begin"].state
- $ex hass.states["number.zone5_y_begin"].state
- entity: ''
name: Zone6
mode: lines
fill: toself
fillcolor: RGBA(255,194,34,0.1)
line:
color: RGBA(255,194,34,0.4)
shape: line
width: 2
x:
- $ex hass.states["number.zone6_x_begin"].state
- $ex hass.states["number.zone6_x_begin"].state
- $ex hass.states["number.zone6_x_end"].state
- $ex hass.states["number.zone6_x_end"].state
- $ex hass.states["number.zone6_x_begin"].state
'y':
- $ex hass.states["number.zone6_y_begin"].state
- $ex hass.states["number.zone6_y_end"].state
- $ex hass.states["number.zone6_y_end"].state
- $ex hass.states["number.zone6_y_begin"].state
- $ex hass.states["number.zone6_y_begin"].state
- entity: ''
name: Zout1
mode: lines
fill: toself
fillcolor: RGBA(238,48,78,0.2)
line:
color: RGBA(238,48,78,0.4)
width: 3
dash: dash
x:
- $ex hass.states["number.zout1_x_begin"].state
- $ex hass.states["number.zout1_x_begin"].state
- $ex hass.states["number.zout1_x_end"].state
- $ex hass.states["number.zout1_x_end"].state
- $ex hass.states["number.zout1_x_begin"].state
'y':
- $ex hass.states["number.zout1_y_begin"].state
- $ex hass.states["number.zout1_y_end"].state
- $ex hass.states["number.zout1_y_end"].state
- $ex hass.states["number.zout1_y_begin"].state
- $ex hass.states["number.zout1_y_begin"].state
- entity: ''
name: Zout2
mode: lines
fill: toself
fillcolor: RGBA(215,11,140,0.2)
line:
color: RGBA(215,11,140,0.4)
width: 3
dash: hass.states["switch.zout2_enable"].state == "on"
x:
- $ex hass.states["number.zout2_x_begin"].state
- $ex hass.states["number.zout2_x_begin"].state
- $ex hass.states["number.zout2_x_end"].state
- $ex hass.states["number.zout2_x_end"].state
- $ex hass.states["number.zout2_x_begin"].state
'y':
- $ex hass.states["number.zout2_y_begin"].state
- $ex hass.states["number.zout2_y_end"].state
- $ex hass.states["number.zout2_y_end"].state
- $ex hass.states["number.zout2_y_begin"].state
- $ex hass.states["number.zout2_y_begin"].state
- entity: ''
name: Zout3
mode: lines
fill: toself
fillcolor: RGBA(255,48,140,0.2)
line:
color: RGBA(246,140,30,0.4)
width: 3
dash: dash
x:
- $ex hass.states["number.zout3_x_begin"].state
- $ex hass.states["number.zout3_x_begin"].state
- $ex hass.states["number.zout3_x_end"].state
- $ex hass.states["number.zout3_x_end"].state
- $ex hass.states["number.zout3_x_begin"].state
'y':
- $ex hass.states["number.zout3_y_begin"].state
- $ex hass.states["number.zout3_y_end"].state
- $ex hass.states["number.zout3_y_end"].state
- $ex hass.states["number.zout3_y_begin"].state
- $ex hass.states["number.zout3_y_begin"].state
- entity: ''
name: Coverage
mode: lines
fill: tonexty
fillcolor: rgba(168, 216, 234, 0.08)
line:
width: 1
dash: dot
x:
- 0
- 1000
- 3700
- 3500
- 2000
- 0
- -2000
- -3500
- -3700
- -1000
- 0
'y':
- 0
- 500
- 3700
- 6000
- 7400
- 8000
- 7400
- 6000
- 3700
- 500
- 0
raw_plotly_config: true
J’ai beau fouiller sur le web francophone ou anglophone, je séche…
Merci d’avance à ceux et celles qui m’aideront.