Créer un capteur Puissance produit deux capteurs (Voltage * Current)

Mon problème

Bonjour
Je souhaite créer un capteur qui me calcule la puissance de chacun de mes MPTT de mon installation solaire (2 au total).
J’ai bien les 4 entités de base.

J’ai essayé de créer un template binaire avec ce code

> sensor:
>   - platform: template
>     sensors:
>       - sensor.inverter_pv_1_current
>       - sensor.inverter_pv_1_voltage
>     unit_of_measurement: "{{ W }}" # Unité de mesure du produit
>     state_template: "{{ states('sensor.inverter_pv_1_current') | float * states('sensor.inverter_pv_1_voltage') | float }}"
>     friendly_name: "Inverter_PV_1_power"

mais je n’obtiens aucun resultat. la capteur est non détecté.

Qu’est ce que je fais d’incorrect ?

J’ai besoin de ce calcul car mon onduleur ne retourne que la puissance totale. et j’aimerai avoir la puissance de chacun des strings

Merci d’avance

Ma configuration


System Information

version core-2024.5.5
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.2
os_name Linux
os_version 6.6.28-haos-raspi
arch aarch64
timezone Europe/Zurich
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.34.0
Stage running
Available Repositories 1398
Downloaded Repositories 14
HACS Data ok
Home Assistant Cloud
logged_in true
subscription_expiration 11 avril 2025 à 02:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled false
google_enabled true
remote_server eu-central-1-18.ui.nabu.casa
certificate_status ready
instance_id 9b4f4a9bf21b4f6f82792b63641dc1b5
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 12.3
update_channel stable
supervisor_version supervisor-2024.05.1
agent_version 1.6.0
docker_version 25.0.5
disk_total 457.7 GB
disk_used 8.5 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.14.0), AppDaemon (0.16.6), Studio Code Server (5.15.0), Samba share (12.3.1), File editor (5.8.0), Mosquitto broker (6.4.1), Zigbee2MQTT (1.37.1-1)
Dashboards
dashboards 7
resources 7
views 5
mode storage
Recorder
oldest_recorder_run 24 mai 2024 à 07:07
current_recorder_run 29 mai 2024 à 17:09
estimated_db_size 176.93 MiB
database_engine sqlite
database_version 3.44.2
Spotify
api_endpoint_reachable ok
___

Salut

Sait tu ce qu’est un capteur binaire ? Binaire veux dire 2 états soit 0 soit 1 (ouvert/fermé, plein/vide etc…)
Donc non ce n’est pas une entrée modèle capteur binaire qu’il te faut mais l’autre modèle capteur de modèle.

Ensuite concernant le template en lui même :

> sensor:
>   - platform: template
>     sensors:
>       - sensor.inverter_pv_1_current
>       - sensor.inverter_pv_1_voltage
>     unit_of_measurement: "{{ W }}" # Unité de mesure du produit
>     state_template: "{{ states('sensor.inverter_pv_1_current') | float * states('sensor.inverter_pv_1_voltage') | float }}"
>     friendly_name: "Inverter_PV_1_power"

Ce n’est pas tout ça mais juste :

{{ states('sensor.inverter_pv_1_current') | float(0) * states('sensor.inverter_pv_1_voltage') | float(0) }}

Puisque tu passe par l’ui la déclaration du sensor, se fait également dans l’ui et juste le calcul va dans le template.

La tu mélanges tout entre le yaml et l’ui.

Merci pour ton aide.
J’ai prit le terme binaire dans le sens 2 entités… mais c’était effectivement idiot.

Pour la classe d’état, j’ai choisi Mesure, c’est correct ?

Encore merci.

Oui la classe d’état pour la puissance c’est mesure en général mais ce n’est pas obligatoire.

Le fait de mettre une classe d’état fait que le capteurs va s’enregistrer dans la BDD statistiques à long terme et donc la faire grossir inutilement.

Je n’y vois aucune pertinence.

Que dans tes stats tu ais la consommation d’eau, electricité, gaz… ok mais les puissances instantanées bof

1 « J'aime »

Bonsoir
Merci Tochy car la réponse peut m’être utile mais où déclare t on un capteur de modèle dans HA?
Merci d’avance

Tous les sensors (capteurs) que l’on peut définir par l’ui se trouvent au même endroit à savoir :

paramètres - appareils et services - entrées et le bouton + nouvelle entrée

Il n’y a pas le type ‹ capteur de modèle ›; j’en déduis qu’il faut le créer !

Pourtant il y est bien, il faut juste fouiller un peu dans toutes les entrées proposées. Parfois il faut penser en anglais également la traduction française n’étant pas forcement très claire.

Tips: template

Tips2: C’est justement en farfouillant partout et en lisant la documentation qui malgré le fait qu’elle soit en anglais est relativement bien faite, que j’ai appris ce que je sais sur home assistant il ne faut pas avoir peur.

Attention, mais ça risque de ne pas être juste le résultat (même si ça donne une idée et peu se compenser)
Toi tu utilise tension*ampere, mais c’est pas aussi simple. Tu es en courant alternatif il y ades notion de trigonometrie dans le calcul

C’est important si tu veux pouvoir comparer avec le linky
Maintenant tu peux essayer de le déterminer en enregistrant le linky et ton photovoltaique et comparer les enregistrement. Si la différence entre les 2 est toujours identique, tu peux corriger par un coef (principe de la regle par 3)

À qui est ce que tu réponds?
Je me suis pas en courant alternatif… Je veux regarder ce que produisent les strings des mes panneaux. Donc DC. L’AC est en sortie de l’onduleur pas en entrée.

Et pas de linky en Suisse :wink:

Salut,
Dans les entrées c’est le type « template » puis « modéliser un capteur »

1 « J'aime »

Tu n’as pas eu la notification de réponse ?

Si c’est sur le DC, ma remarque n’est effectivement pas pertinente.

1 « J'aime »

D’un nouveau message oui mais vu qu’il y a aussi Alprech qui a posté et que tu message etait attaché à aucun autre, j’avais un doute ;-).

Merci Alex pour cette précision mais je bute à l’étape suivante; mon objectif est de créer un capteur de puissance qui représente 1.2 fois la valeur d’un autre capteur car j’ai deux installations solaires dont les puissances sont dans le rapport 1.2 mais une seule installation me remontent des data pour l’instant.

La capture d’écran jointe montre ma ligne de code et l’erreur indiquée par HA.

Merci pour ton aide

Compare nos deux captures d’écran et tu devrais voir une différence dans le code (hors le fait que nous n’utilisons pas le même capteur)

Tu peux aussi tester tes lignes de template dans outils de développement / modèle avant pour voir si il y’a une erreur et faire des essais.

Merci TOCHY
Je ne connaissais pas le « test des lignes de template dans outils de développement / modèle ». C’est super et j’ai pu faire ce que je souhaitais.
Bravo

Bonjour,
faut emplacer les {%...%} par des {{...}}.
avec des {%...%} ca calcule, mais affiche pas.