Plotly-graph : Afficher difference entre 2 courbes

Bonjour,

dans le card « plotly-graph », est-ce qu’il est possible d’avoir une 3e entités qui affiche la différence entre la premier et secondes ?

Merci

type: custom:plotly-graph
defaults:
  entity:
    show_value: true # active l'affichage de la valeur à droite de la courbe sur l'ensemble des courbes
  
entities:
  - entity: sensor.virt_snd_tp_sdb
    name:  |
     $ex "Tp SDB : " + ys[ys.length - 1]
    legendgroup: 1
    
  - entity: sensor.virt_snd_tp_grand_grenier
    name:  |
     $ex "Tp Grand Grenier : " + ys[ys.length - 1]
    legendgroup: 1
    #show_value: true
 
  


layout:
  xaxis:
    rangeselector:
      'y': 1.4
      'x': 0.6
      buttons:
        - count: 1
          step: hour
        - count: 6
          step: hour
        - count: 12
          step: hour
        - count: 1
          step: day
        - count: 7
          step: day
  dragmode: pan
  margin:
    t: 0
    l: 40
    r: 65
    b: 60
  showlegend: true
  height: 600

config:
  displayModeBar: true
hours_to_show: 24
refresh_interval: 10

Merci

Bonjour,

Je pense qu’il te faut un template sensor qui calcule la difference entre les deux valeurs

cordialement,

Abel

T’as une idée de comment ?

Dans ton fichier de configuration, tu crées un nouveau sensor par l’intermédiaire d’un template, qui calcule la différence entre tes 2 sensors.
Tu auras donc 3 sensors disponibles pour ton graph: les deux actuels + le nouveau que tu auras créé.

Ha ok. Ça je sais faire. Je pensais que c’était possible en calcul dynamique
Sinon ça va me faire beaucoup de sensors

J’arrive plus ou moins à quelque chose, mais ça additionne au lieu de faire la difference ::`

type: custom:plotly-graph
defaults:
  entity:
    show_value: true
entities:
  - entity: sensor.virt_snd_tp_sdb
    name: |
      $ex "Tp SDB : " + ys[ys.length - 1]
    legendgroup: 1
  - entity: sensor.virt_snd_tp_grand_grenier
    name: |
      $ex "Tp Grand Grenier : " + ys[ys.length - 1]
    legendgroup: 1
  - entity: sensor.virt_snd_tp_sdb
    name: Différence de température
    unit: °C
    'y': >-
      return entity('sensor.virt_snd_tp_sdb').state -
      entity('sensor.virt_snd_tp_grand_grenier').state;

layout:
  xaxis:
    rangeselector:
      'y': 1.4
      x: 0.6
      buttons:
        - count: 1
          step: hour
        - count: 6
          step: hour
        - count: 12
          step: hour
        - count: 1
          step: day
        - count: 7
          step: day
  dragmode: pan
  margin:
    t: 0
    l: 40
    r: 65
    b: 60
  showlegend: true
  height: 600
config:
  displayModeBar: true
hours_to_show: 24
refresh_interval: 10

Je ne pense pas qu’un sensor de plus ou de moins change beaucoup. L’intérêt est que tu pourras le réutiliser pour d’autres scénarios si besoin.
J’ai peut être tord, mais j’ai tendance à créer des sensors séparés dans ce genre de cas, ce qui rend le debuggage plus facile et évite les formules trop longues dans lesquelles il se cache souvent des erreurs de syntaxe :slight_smile: