Rhooooo… c’est compliqué sans infos…
C’est pas tellement le nombre de message (2 en 1h) qui va te donner la chance d’avoir une réponse, mais les détails que tu fournis (sans qu’on ai besoin de refaire l’historique de tous tes messages)… Là ils sont trop légers
Tu crées tes sensors à partir de quoi . Quel code pour le sensor de base ? Qu’as-tu déjà essayé ? Quel message d’erreur ? Qu’est ce que ça produit ?
Bien merci Pulpy pour ces informations et navré pour les deux messages .
J’ai un sensor qui remonte ma consommation électrique en positif si je ne produis pas de courant de mes panneaux solaires et en négatif si ma production est supérieur a ma consommation.
Pour suivre ma consommation et ma production, je souhaite créer deux sensor, un qui m’indique le positif et l’autre le négatif. Mon capteur un shelly EM . Image du graphique d’aujourd’hui, j’aimerais le voir en deux graphiques pour faire deux courbes
OK… et niveau code/YAML, ton sensor de base s’appelle comment ?
Par ailleurs avoir 2 graphiques, ça veut pas forcément dire avoir 2 sensors +/- ?
Et tu as déjà essayé de faire quoi et comment ?
Le non de mon sensor: sensor.shelly_shem_485519c9c2da_2_current_consumption
Je ne savais pas que c’était possible d’avoir deux graphique avec un seul sensor!
J’ai essayer de suivre ce lien Configuration sensor Energie mais je n’arrive pas a configurer les entitées de production et de consomation.
# consommation énergie
- platform: template
sensors:
solar_consumption:
friendly_name: "solar_conso_net"
value_template: >-
{% set solar = states('sensor.envoy_122012103733_current_energy_consumption') | int %}
{% set house = states('sensor.envoy_122012103733_current_energy_production') | int %}
{{ solar if house > solar else house }}
device_class: power
unit_of_measurement: W
- platform: template
sensors:
energy_import_export:
friendly_name: "Energy"
value_template: "{% if (states('sensor.envoy_122012103733_current_energy_production') | int - states('sensor.envoy_122012103733_current_energy_consumption') | int) > 0 %}Exporting{% else %}Importing{% endif %}"
icon_template: "{% if (states('sensor.envoy_122012103733_current_energy_production') | int - states('sensor.envoy_122012103733_current_energy_consumption') | int) > 0 %}mdi:arrow-up-box{% else %}mdi:arrow-down-box{% endif %}"
# calcul power export
- platform: template
sensors:
energy_exporting:
friendly_name: "Current Energy Exporting"
value_template: "{{ [0, (states('sensor.envoy_122012103733_current_energy_production') | int - states('sensor.envoy_122012103733_current_energy_consumption') | int)] | max }}"
unit_of_measurement: 'W'
icon_template: 'mdi:flash'
# calcul power import
- platform: template
sensors:
energy_importing:
friendly_name: "Current Energy Importing"
value_template: "{{ [0, (states('sensor.envoy_122012103733_current_energy_consumption') | int - states('sensor.envoy_122012103733_current_energy_production') | int)] | max }}"
unit_of_measurement: 'W'
icon_template: 'mdi:flash'
# Création de l'énergie exportée sur le réseau en Wh
- platform: integration
source: sensor.energy_exporting
name: energy_exported_wh
unit_prefix: k
round: 2
method: left
# Création de l'énergie importée du réseau en Wh
- platform: integration
source: sensor.energy_importing
name: energy_imported_wh
unit_prefix: k
round: 2
method: left
# history demarrage panneaux solaire
- platform: history_stats
name: temps de production aujourd'hui
entity_id: binary_sensor.solar_run
state: "on"
type: time
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
end: "{{ now() }}"
#energy
#enphase special Net energy. calcul pour l’energie exporte ou importe avec un changement de nom et d’icon suivant si c’est de l’import ou de l’export
- platform: template
sensors:
inst_energy_difference:
friendly_name: Instant Energy Difference
icon_template: >
{% if (states("sensor.inst_energy_difference") | int > 0) -%}
mdi:solar-panel
{%- elif (states("sensor.inst_energy_difference") | int < 0) -%}
mdi:transmission-tower
{%- else -%}
mdi:power-off
{%- endif %}
friendly_name_template: >
{% if (states("sensor.inst_energy_difference") | int > 0) -%}
Currently Exporting
{%- elif (states("sensor.inst_energy_difference") | int < 0) -%}
Currently Importing
{%- else -%}
Balanced
{%- endif %}
unit_of_measurement: "W"
device_class: power
value_template: >
{{ '%0.0f' | format(states('sensor.envoy_122012103733_current_energy_production') | int - states('sensor.envoy_122012103733_current_energy_consumption') | int) }}
#production consommation en KWh
- platform: template
sensors:
pv_solar_production_kwh:
friendly_name: "production_solaire_kwh"
unit_of_measurement: 'kWh'
value_template: "{{ states('sensor.envoy_122012103733_today_s_energy_production') | float / 1000 }}"
pv_solar_todays_consumption_kwh:
friendly_name: "pv_solar_todays_consumption_kwh"
unit_of_measurement: 'kWh'
value_template: "{{ states('sensor.envoy_122012103733_today_s_energy_consumption') | float / 1000 }}"
En supposant que ton sensor consumption est positif quand tu ‹ produit › plus que tu consommes et négatif quand c’est l’inverse, utilise les fonctions min/max/abs
Je suis ravis cela fonctionne merci de l’aide et d’avoir cherché seul ça aide finalement à comprendre, je ne sais pas l’utiliser et ou le placer dans yaml?
Bon maintenant que tu as un code qui marche, il faut récupérer la partie du template qui t’interesse.
A mon avis ce dont tu as besoin ce sont :
{{ max(conso,0) }}
{{ min(conso,0)|abs }}
Le premier va indiquer le surprlus que tu produis, le deuxième ce que tu consommes (l’ancien négatif
Donc tu dois écrire 2 sensors dont la partie state definie par value_template contient ce code. Réfère toi au lien de la doc indiqué un peu plus haut et aux exemples que tu as produits (ceux de ta partie voltaïque) pour faire les bons copier/coller et adaptations