ayml avec correction de démarrage:
Code :
alias: Tesla - Charge adaptative solaire
description: >
Ajuste la charge entre 2A et 8A selon lux et conso maison avec tolérance 100W,
descend automatiquement à 2A en cas de dépassement persistant, coupe le
chargeur si lux < 12500 et rallume dès que lux >= 13000, activable
manuellement via input_boolean.solaire_tesla_auto.
triggers:
- entity_id:
- sensor.voltronic_1_conso_maison_watt
- sensor.capteur_solaire_io_luminance
- select.voltronic_1_param01
trigger: state
conditions:
- condition: state
entity_id: select.voltronic_1_param01
state: SOL
- condition: state
entity_id: input_boolean.solaire_tesla_auto
state: "on"
actions:
- target:
entity_id: button.stf_force_data_update
action: button.press
data: {}
- delay: "00:00:05"
- variables:
conso_maison: "{{ states('sensor.voltronic_1_conso_maison_watt') | float(0) }}"
limite_onduleur: 3200
tolerance_watt: 100
hysteresis_watt: 200
lux: "{{ states('sensor.capteur_solaire_io_luminance') | float(0) }}"
seuil_on: 13000
seuil_off: 12500
seuils_lux:
"2": 14000
"3": 25000
"4": 30000
"5": 35000
"6": 50000
"7": 55000
"8": 59000
charges_watt:
"2": 460
"3": 690
"4": 920
"5": 1150
"6": 1380
"7": 1610
"8": 1840
current_amp: "{{ states('number.stf_charging_amps') | int(0) }}"
- choose:
- conditions:
- condition: template
value_template: "{{ lux < seuil_off }}"
sequence:
- target:
entity_id: input_boolean.solaire_tesla_auto
action: input_boolean.turn_off
data: {}
- stop: Lux < 12500, chargeur éteint.
- conditions:
- condition: template
value_template: "{{ lux >= seuil_on }}"
- condition: state
entity_id: input_boolean.solaire_tesla_auto
state: "off"
sequence:
- target:
entity_id: input_boolean.solaire_tesla_auto
action: input_boolean.turn_on
data: {}
- stop: Lux >= 13000, chargeur rallumé.
- choose:
- conditions:
- condition: template
value_template: "{{ states('select.voltronic_1_param01') in ['SOL', 'UTI'] }}"
sequence:
- condition: state
entity_id: input_boolean.solaire_tesla_auto
state: "off"
- target:
entity_id: input_boolean.solaire_tesla_auto
action: input_boolean.turn_on
data: {}
- stop: Mode SOL/UTI actif, chargeur forcé ON.
- conditions:
- condition: state
entity_id: select.voltronic_1_param01
state: SBU
sequence:
- target:
entity_id: input_boolean.solaire_tesla_auto
action: input_boolean.turn_off
data: {}
- stop: Mode SBU actif, chargeur forcé OFF.
- repeat:
for_each:
- 8
- 7
- 6
- 5
- 4
- 3
- 2
sequence:
- variables:
a: "{{ repeat.item }}"
seuil_lux: "{{ seuils_lux[repeat.item|string] }}"
charge_w: "{{ charges_watt[repeat.item|string] }}"
- condition: template
value_template: |
{{ lux >= seuil_lux and
((conso_maison + charge_w) <= (limite_onduleur + tolerance_watt) or
(a == current_amp and (conso_maison + charge_w) <= (limite_onduleur + tolerance_watt + hysteresis_watt))) }}
- target:
entity_id: number.stf_charging_amps
data:
value: "{{ a }}"
action: number.set_value
- target:
entity_id: input_boolean.solaire_tesla_auto
action: input_boolean.turn_on
data: {}
- stop: Ampérage ajusté à {{ a }}A.
- delay: "00:00:05"
- variables:
a: 2
charge_w: "{{ charges_watt['2'] }}"
- target:
entity_id: number.stf_charging_amps
data:
value: "{{ a }}"
action: number.set_value
- target:
entity_id: input_boolean.solaire_tesla_auto
action: input_boolean.turn_on
data: {}
- stop: Dépassement persistant, passage à 2A.
mode: single


