Je suis en train de mettre au point un automatisme pour recharger ma voiture avec une borne Feyree en fonction de ma production solaire.
J’ai fait un premier automatisme avec une incrémentation de l’ampérage qui fonctionne correctement. Pour plus de dynamisme dans les changements d’ampérages lors d’une production solaire instable (passages de nuages), j’ai remplacer l’incrémentation par une formule qui calcule l’ampérage. Mais je n’arrive pas à exprimer cette formule pourtant simple en Yaml. Voici la formule avec ses conditions d’exécution :
Voici ci-dessous la formule sans les conditions d’exécution. Elle veut dire : (Injection ou soutirage avec une valeur négative + puissance de la borne actuelle) / tension de la borne actuelle = ampérage à affecter à la borne entre 8 et 20 A :
Malheureusement le résultat de cette formule donne systématiquement pour résultat 8 A au lieu de l’ampérage calculé normalement par la formule.
Avez-vous une idée sur la syntaxe à utiliser pour une formule du type (capteur A + capteur B) / capteur C => résultat affecté à l’ampérage ?
Bien cordialement
Ma configuration
System Information
version
core-2025.4.2
installation_type
Home Assistant OS
dev
false
hassio
true
docker
true
user
root
virtualenv
false
python_version
3.13.2
os_name
Linux
os_version
6.6.74-haos-raspi
arch
aarch64
timezone
Europe/Paris
config_dir
/config
Home Assistant Community Store
GitHub API
ok
GitHub Content
ok
GitHub Web
ok
HACS Data
ok
GitHub API Calls Remaining
5000
Installed Version
2.0.5
Stage
running
Available Repositories
2009
Downloaded Repositories
14
Home Assistant Cloud
logged_in
true
subscription_expiration
22 juin 2025 à 02:00
relayer_connected
true
relayer_region
eu-central-1
remote_enabled
true
remote_connected
true
alexa_enabled
true
google_enabled
true
cloud_ice_servers_enabled
true
remote_server
eu-central-1-25.ui.nabu.casa
certificate_status
ready
instance_id
af5b81a0034c4e058047b7b14c063eee
can_reach_cert_server
ok
can_reach_cloud_auth
ok
can_reach_cloud
ok
Home Assistant Supervisor
host_os
Home Assistant OS 15.2
update_channel
stable
supervisor_version
supervisor-2025.05.3
agent_version
1.7.2
docker_version
28.0.4
disk_total
916.2 GB
disk_used
6.6 GB
healthy
true
supported
true
host_connectivity
true
supervisor_connectivity
true
ntp_synchronized
true
virtualization
board
rpi5-64
supervisor_api
ok
version_api
ok
installed_addons
Terminal & SSH (9.17.0), File editor (5.8.0), Get HACS (1.3.1)
Le | int convertit la valeur en entier avant qu’elle ne soit triée avec 8 et 20. Si ton calcul donne, par exemple, 8.9, il est converti en 8, ce qui explique pourquoi tu obtiens toujours 8 comme résultat.
tu devrais applique le | float dans le calcul, fais le min/max avec min() et max(), ou garde les valeurs en float dans la liste, puis convertis le résultat final en int :
Merci pour vos réponses, je vais tester ça demain lorsqu’il y aura du soleil. Le but c’est d’encadrer le résultat entre 8A et 20A pour ne pas sortir des limites inférieures et supérieures de la borne de recharge.
Merci hackdiy,
Après plusieurs test j’ai déjà modifié la formule où il y avait une erreur de signe sur la puissance bidirectionnelle du Shelly, et une conversion à faire sur la puissance active de la borne Feyree exprimée en kW que j’ai donc multiplié par 1000 pour la convertir en W.
Maintenant j’ai pu tester avec succès dans l’éditeur de modèles de outils de développement de HA la formule suivante sans les limites d’ampérage entre 8 et 20 A et sans arrondir au nombre entier inférieur et la formule a produit des résultats justes :
Maintenant j’ai essayé d’introduire les limites entre 8 et 20 A et arrondir au nombre entier inférieur avec cette formule qui renvoie systématiquement un résultat faux de 8A :