En version 0.203.0. Cela concerne le forecast uniquement.
Ok j’ai modifié le code effectivement ça marche mieux.
Il me semble qu’une partie du code ne sert pas.
J’ai modifié le code pour que prendre les prix tempo dans des inputs à ajouter que j’utilisais déjà pour le ZLinky :
input_number.tarif_tempo_bleu_hc
input_number.tarif_tempo_bleu_hp
input_number.tarif_tempo_blanc_hc
input_number.tarif_tempo_blanc_hp
input_number.tarif_tempo_rouge_hc
input_number.tarif_tempo_rouge_hp
alias: EVCC Tarif Tempo vers MQTT
description: ""
triggers:
- entity_id:
- sensor.rte_tempo_prochaine_couleur
trigger: state
- event: start
trigger: homeassistant
conditions: []
actions:
- alias: Publier le forecast via MQTT
metadata: {}
data:
qos: "0"
retain: true
topic: tempo/grid/forecast
payload: >-
{% set current_color = states('sensor.rte_tempo_couleur_actuelle') %}
{% set next_color = states('sensor.rte_tempo_prochaine_couleur') %}
{% set isOffPeak = is_state('binary_sensor.rte_tempo_heures_creuses',
'on') %}
{% set current_time = as_timestamp(utcnow()) |
timestamp_custom('%Y-%m-%dT%H:%M:%SZ', false) %}
{% set next_period_sensor_state =
states('sensor.rte_tempo_heures_creuses_changement') %}
{% set next_period = as_timestamp(next_period_sensor_state) |
timestamp_custom('%Y-%m-%dT%H:%M:%SZ', false) %}
{% set next_color_sensor_date =
states('sensor.rte_tempo_prochaine_couleur_changement') %}
{%- set tempoTariffs = {
'offpeak_bleu' : states('input_number.tarif_tempo_bleu_hc'),
'peak_bleu' : states('input_number.tarif_tempo_bleu_hp'),
'offpeak_blanc' : states('input_number.tarif_tempo_blanc_hc'),
'peak_blanc' : states('input_number.tarif_tempo_blanc_hp'),
'offpeak_rouge' : states('input_number.tarif_tempo_rouge_hc'),
'peak_rouge' : states('input_number.tarif_tempo_rouge_hp')
}
-%}
{%- macro tempoTariff(tempoColor, offPeakHours) -%}
{%- set tariff = '' -%}
{%- if tempoColor == 'Bleu' -%}
{%- if offPeakHours -%}
{%- set tariff = tempoTariffs.offpeak_bleu -%}
{%- else -%}
{%- set tariff = tempoTariffs.peak_bleu -%}
{%- endif -%}
{%- elif tempoColor == 'Blanc' %}
{%- if offPeakHours -%}
{%- set tariff = tempoTariffs.offpeak_blanc -%}
{%- else -%}
{%- set tariff = tempoTariffs.peak_blanc -%}
{%- endif -%}
{%- elif tempoColor == 'Rouge' %}
{%- if offPeakHours -%}
{%- set tariff = tempoTariffs.offpeak_rouge -%}
{%- else -%}
{%- set tariff = tempoTariffs.peak_rouge -%}
{%- endif -%}
{%- else -%}
{%- set tariff = 'unknown' -%}
{%- endif -%}
{{ tariff }}
{%- endmacro -%}
{% set forecast_items_count = 2 if next_color != 'unknown' and
next_color != '' else 1 %}
{% set forecast = [] %} {% set forecast = namespace(forecast_items=[])%}
{# Loop to generate forecast items #} {% for i in
range(forecast_items_count) %}
{% set is_current_color = (i == 0) %}
{% if is_current_color %}
{% set color = current_color %}
{% set start_time = current_time %}
{% set end_time = next_period %}
{% set forecast_item = {
"start": start_time,
"end": next_period,
"value": tempoTariff(current_color, isOffPeak) | float
} %}
{% set forecast.forecast_items = forecast.forecast_items + [forecast_item] %}
{% if is_current_color and not isOffPeak %}
{% set color = current_color %}
{% set start_time = current_time %}
{% set end_time = next_period %}
{% set forecast_item = {
"start": next_period,
"end": (as_timestamp(states('sensor.rte_tempo_heures_creuses_changement')) + 8*3600 ) | timestamp_custom('%Y-%m-%dT%H:%M:%SZ', false),
"value": tempoTariff(current_color, not isOffPeak) | float
} %}
{% set forecast.forecast_items = forecast.forecast_items + [forecast_item] %}
{% endif %}
{% else %}
{% set next_color_time = as_timestamp(states('sensor.rte_tempo_prochaine_couleur_changement')) | timestamp_custom('%Y-%m-%dT%H:%M:%SZ', false) %}
{% set next_color_peak_start = as_timestamp(next_color_sensor_date) |
timestamp_custom('%Y-%m-%dT%H:%M:%SZ', false) %} {% set
next_color_peak_end = (as_timestamp(next_color_sensor_date) + 16*3600) |
timestamp_custom('%Y-%m-%dT%H:%M:%SZ', false) %} {% set
next_color_offpeak_end = (as_timestamp(next_color_sensor_date) +
24*3600) | timestamp_custom('%Y-%m-%dT%H:%M:%SZ', false) %}
{% set color = next_color %}
{% set start_time = next_time %}
{% set forecast_item = {
"start": next_color_peak_start,
"end": next_color_peak_end,
"value": tempoTariff(next_color, false) | float
} %}
{% set forecast.forecast_items = forecast.forecast_items + [forecast_item] %}
{% set forecast_item = {
"start": next_color_peak_end,
"end": next_color_offpeak_end,
"value": tempoTariff(next_color, true) | float
} %}
{% set forecast.forecast_items = forecast.forecast_items + [forecast_item] %}
{% endif %}
{% endfor %}
{{forecast.forecast_items | tojson }}
action: mqtt.publish
mode: single
Je viens de l’installer pour essayer sans être trop convaincu. L’avantage c’est qu’il est dispo dans les community apps de Unraid, donc installation en 2 click chez moi.
Voiture pas connectée (pas dispo sur mon niveau de finition) donc configuration à ce niveau on ne peut plus simple.
Compteur réseau : Shelly pro EM, pas connu par EVCC mais enregistré comme un Shello pro 3EM… il s’emble y trouver ses petits.
Solaire : Hoymiles OpenDTU : connu en natif par EVCC, rien de spécial à configurer à par l’adresse IP.
Borne de charge OpenEVSE : connu par EVCC donc configuration simple aussi.
Je suis pas allé plus loin pour l’instant. ça charge, avec une gestion du surplus solaire qui semble meilleur que ce sui est intégré à OpenEVSE (pas de mal en même temps…)
A voir dans le temps. Trop tôt pour se prononcer mais je vais creuser le sujet.
Bonjour,
savous vous si on peut recevoir les informations de la batterie d’une TESLA avec TeslaBLE?
Oui, depuis la version 1.3.
Bonjour à tous
Merci pour ce tuto particulièrement bien détaillé.
Ma configuration est très proche de celle présentée : Tesla Model 3, production solaire via micro-onduleurs Enphase IQ pilotés par un Envoy-S Metered, le tout intégré dans Home Assistant et EVCC.
Je voulais apporter une précision concernant une autre intégration disponible dans Home Assistant : Tessie.
Tessie est une API tierce payante, mais elle offre une interface REST particulièrement réactive avec les serveurs Tesla. Elle permet, entre autres :
- l’interrogation en temps réel des états du véhicule (batterie, charge, localisation) ;
- la mise en veille contrôlée du véhicule (évite les wake-ups intempestifs) ;
- la programmation horaire du départ directement depuis l’interface HA avec conditionnement du véhicule.
L’intégration Tessie est prise en charge nativement par EVCC, ce qui simplifie la configuration. Elle évite notamment l’utilisation directe de l’API officielle Tesla.
En résumé, Tessie offre une couche d’abstraction robuste entre HA et Tesla, avec un niveau de fiabilité et de réactivité supérieur aux autres intégrations existantes.
Architecture de communication :
Home Assistant ⇄ EVCC ⇄ Tessie ⇄ Tesla Servers ⇄ Tesla Vehicle
Bonjour à tous,
Je déterre un peu ce post car je découvre un peu l’univers Tesla sur HomeAssistant et j’ai énormément d’interrogations…
J’ai depuis quelques jours un model Y Juniper, 3kw de panneaux solaires sur micro onduleurs DEYE, et une borne V2C Trydan (A domicile, la Tesla ne sera jamais alimentée par une prise locale mais uniquement via la borne).
Je supervise mon consommation et ma production à l’aide d’un Shelly Pro 3EM en mode monophasé (pince 1 sur l’arrivée du linky et pince 2 sur la production de mes panneaux solaires)
J’ai également un serveur local Teslamate qui pousse les infos sur le boker MQTT configuré sur mon HA
Pour le moment, j’ai réussi à intégrer la Tesla sur HA via 3 moyens:
- l’app officielle Tesla Fleet avec la limitation du nombre de requêtes pour que cela reste gratuit
- MQTT + Teslamate (pour la lecture)
- MQTT /BLE (pour lecture et envoi de commande)
Dans un premier temps, avant de parler EVCC, pouvez-vous me dire si l’une des trois méthodes est à privilégier pour éviter les réveils intempestifs de la voiture et donc préserver la batterie au repos.
Dans un second temps parlons de chargeur!
Vous me confirmez que la puissance de charge que nous pouvons régler sur la borne n’est que la valeur maximum que la borne indique pouvoir délivrer à la voiture mais que c’est la voiture qui selon son réglage décidera quelle puissance elle souhaite recevoir (dans la limite du max que la borne lui indique pouvoir lui envoyer)?
Enfin parlons EVCC…Je l’ai installé via l’add-on sur HA.
Sur ce que j’ai compris, EVCC fait une analyse de la situation toutes les X secondes et gère les déclenchements de charge et arrêts de charge en fonction de la consommation globale, de la production des panneaux solaires, du tarif, etc…
Mais si j’ai bien compris le principe de la charge sur borne, en fait, EVCC va donner l’ordre à la voiture de se charger à un certain courant, et donc n’agit absolument pas sur la borne… Est ce bien cela?
Par conséquent, pourquoi configurer la borne sur EVCC? D’ailleurs, en essayant d’ajouter la V2C, j’ai le message suivant:
[main ] FATAL 2025/09/25 21:35:32 charger [my_charger] cannot create charger 'my_charger': cannot create charger type 'template': cannot create charger type 'trydan': sponsorship required, see https://docs.evcc.io/docs/sponsorship
J’en conclue que le sponsorship n’est pas libre mais que je dois payer si je veux pouvoir intégrer ma borne dans la configuration. Mais je reviens à ma question précédente… pourquoi ajouter ma borne?
Merci pour m’aider à comprendre ce monde nouveau pour moi!
Je ne sais pas comment ça fonctionne avec une Tesla. Mais chez moi EVCC pilote la borne.
Pareil chez moi aussi pas de Tesla et EVCC pilote la borne. EVCC en direct avec la borne peut avoir deux avantages.
Rester en local. Mais à priori c’est peut être possible avec la Tesla en BLE?
Limiter la borne pour maximiser l’utilisation du surplus solaire.
Limiter la borne comme pour le délestage dynamique si ça n’est pas déjà en place sur la borne. A priori sur une V2C c’est fournis sans surcoût donc.
Limiter la borne avec des circuit imbriqués. Typiquement un tableau divisionnaire où il y a moins de puissance que sur le tableau principal. Et ou il y a d’autres consommateurs.
J’ai un Model Y également. Une borne Hager 7kW pour le recharger, et ca tourne avec EVCC depuis un moment déjà.
La borne n’est pas ajoutée dans EVCC, j’utilise à la place un wall charger virtuel via TeslaMate + cet outil. La voiture communique la puissance maximale délivrable par la borne sur laquelle elle est branchée, via teslamate. EVCC gère le reste, les commandes sont envoyées par bluetooth. Le tout ne nécessite pas de sponso.
Bon pour le moment, je suis toujours en phase de test sur EVCC.
Je me permets d’expliquer ce que j’ai compris pour qu’on me corrige si je me trompe et éventuellement pour expliquer au personne qui auraient les mêmes interrogations que moi.
J’ai fini par comprendre qu’effectivement, on devait mettre la limite de charge à 32A sur la Tesla et laisser EVCC contrôler la borne, EVCC indiquant à la borne quelle puissance maximale disponible doit être affichée.
Ainsi la voiture demande toujours 32A mais c’est la borne qui commandera la puissance de charge en limitant son courant de charge, valeur que lui a indiquée EVCC…
Pour les 4 modes de charge disponibles sous EVCC:
- Arrêté: Aucune charge.
- Solaire: Toute la puissance produite par les PV et qui n’est pas consommée par la maison va dans la charge (Au détail prêt qu’il faut un minimum de 6A pour lancer une charge donc environ 1.4kW de surplus) Si les PV produisent moins de 1.4kW de surplus, la charge n’est pas lancée et la production des PV est injectée sur le réseau de distribution
- Min+Sol: La charge est assurée. On prend la production des PV disponible après consommation de la maison et on complète éventuellement avec le distributeur pour atteindre un minimum de 6A pour assurer une charge. A noter que si l’excédent de production des PV est à minima de 6A, pas de besoin de puiser chez le distributeur. Et si on a plus de puissance disponible, on augmente la puissance de la charge pour consommer le surplus d’énergie. Attention, toutefois la puissance de charge de la borne étant modulée par le courant de charge qui a des pas de 1A, on ne pourra donc augmenter par des pas de 230W environ. Si le surplus se situe en deça des 230W, on ne pourra pas franchir le palier supérieur de charge
- Rapide: La charge est assurée à la puissance maximale de la borne
A noter qu’il est possible de définir une puissance maximale de la grille (la puissance de notre abonnement électrique) pour que la recharge pilotée par EVCC ne fasse pas croitre le soutirage depuis le fournisseur au delà des limites de l’abonnement (rubrique “circuit” sur EVCC mais je n’ai pas encore testé) En gros c’est du délestage…Mais je doute que cela fonctionne bien si le calcul est fait seulement toutes les 10s…
Maintenant, je dois faire des tests entre les planifications de charge et les limites de prix configurables dans la partie chargeur pour voir comment tout cela fonctionne et avec lesquels des modes cela fonctionne… A priori, pas mal de choses sont réservées au mode “Solaire” uniquement…
J’ai compris différemment. Ça prends 6A depuis le réseau ou le solaire en partant du principe que 6A c’est le minimum que la borne doit annoncer à la voiture pour que ça charge. S’il a assez de production solaire c’est complété avec.
Pour les incréments par 1A il est possible d’aller au delà mais il faut une borne compatible mA voir la liste sur le site de EVCC.io Chargers | evcc - Sonne tanken ☀️🚘
Je n’ai pas le bon modèle et je pense que la voiture doit être compatible.
Il est possible de changer les 10s avec autre chose. Et je pense pas que le Linky soit beaucoup plus agressif. Perso je n’ai que deux mesures toutes les 10 secondes sur le ZLinky. Une fois que c’est changé sur la borne il faut que la voiture le fasse pour de vrai donc le décalage est quand même assez long.
J’ai déjà regardé sur Home Assistante quand le courant que la borne propose change. J’ai 6 secondes de décalage avant changement effectif du courant consommé.
Je trouve le délestage dans EVCC intéressant car il est capable de tenir compte de la capacité du tableau général ET du tableau divisionnaire s’il a une puissance réduite.
Comme quoi, même si EVCC semble être interessant, il y a un vrai problème de documentation, même en anglais!
Pour ma part, pince ampèremétrique à l’appui, je te confirme que “Min+sol” est bien le comportement que je décris. Quand mon surplus solaire atteint les 1400W et que je suis dans ce mode là, je n’ai plus aucun soutirage depuis le réseau de distribution et la puissance de charge peut même augmenter si le surplus solaire est encore plus grand. En deça des1400W, la charge sera fixe à 6A et la production solaire sera donc épaulée par le soutirage depuis le réseau de distribution.
Moi également, combo V2C Trydan + Tesla, je fonctionne par pas de 1A. Je viens de commander une batterie domestique pour essayer de capter le surplus d’energie non utilisé lors des recharges du VE
Je vais faire des tests avec EVCC en mode “demo” et MQTT (qui publie les différentes consommations) en simulant des pics de charge du soutirage. On verra si tout cela fonctionne bien.
Il me reste donc pas mal de tests à faire et surtout comprendre comment la limite de prix et le planificateur de charge fonctionnent (manifestement il est indiqué que cela fonctionne qu’en mode solaire …).
Je pense que j’ai mal compris le premier post donc on a compris pareil.
Avec une batterie c’est beaucoup plus simple.
Elle pourra prendre la charge en dessous de 6A.
Elle pourra aussi compléter une charge en min+sol pour atteindre les 6A sans le réseau.
Sinon avec l’intégration dans Home Assistant on peut régler les seuils de déclenchement du solaire. C’est aussi faisable depuis le fichier mais là on peut les changer à la volée.
J’utilise le planificateur pour charger à minima en HC Tempo pour avoir 50% au minimum. Du coup je branche et je n’ai rien à gérer. C’est vraiment top ce système. Ça me laisse de la marge pour faire des charges opportunistes et en solaire.
Sur Tesla ca change un peu la donne.
- La voiture pilote entièrement la charge, elle demande elle même l’ampérage dont elle a besoin en fonction du surplus. La borne ne fait rien, pas besoin de l’ajouter dans le système, un TWC virtuel fait office de relai (voir mon post plus haut).
- Tu peux charger a partir de 1A sur tesla, meme si les avis diffèrent sur l’utilité réelle de la chose.
- Pour les tarifs, reste en mode pv et ajoute des plages horaires sur lesquelles charger via la grille. Fixes si tu es sur du HP/HC classique, pour tempo et autres c’est un peu plus compliqué mais ca reste faisable.
Avec quelques automatisations HA ca tourne tout seul sans problème.