YAML
alias: __Zendure_New_Automation v4
description: ""
triggers:
- trigger: time_pattern
seconds: /30
conditions: []
actions:
- sequence: []
- alias: HP ou HC ?
choose:
- conditions:
- condition: state
entity_id: sensor.linky_current_price
state:
- HEURE PLEINE
sequence:
- alias: Etat de QCELLS
choose:
- conditions:
- condition: state
entity_id: sensor.qcells_etat
state:
- Standby
sequence:
- alias: >-
Si il est à -10% (vide) alors on compense si nécessaire
avec SF2400
choose:
- conditions:
- condition: and
conditions:
- type: is_battery_level
condition: device
device_id: afda895cc1812b99521eb78710326b89
entity_id: f25a2fe7b99ed232a00fd0c82cb205e2
domain: sensor
below: 11
- condition: numeric_state
entity_id: sensor.te31njn8n387601_l3_p
above: 50
sequence:
- sequence:
- if:
- condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: selected_option
option: Input mode
then:
- device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: select_option
option: Output mode
alias: >-
SF2400 - Changement d'état IN to Out si
necessaire
- action: number.set_value
target:
entity_id: number.eeb4aep1p032084_outputlimit
data:
value: >
{% set current =
states('sensor.te31njn8n387601_l3_p') |
float(0) %} {% set output =
states('number.eeb4aep1p032084_outputlimit')
| float(0) %}
{% if -50 <= current <= 50 %}
{{ output | round(0) }}
{% else %}
{% set delta = 0.7 * current %}
{% set cible = output + delta %}
{% set result = cible - 50 if cible > 0 else cible %}
{{ [result, 900] | min | round(0) }}
{% endif %}
- sequence:
- if:
- condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: selected_option
option: Input mode
then:
- device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: select_option
option: Output mode
alias: >-
SF2400 - Changement d'état IN to Out si
necessaire
- action: number.set_value
target:
entity_id: number.eeb4aep1p032084_outputlimit
data:
value: >
{% set current =
states('sensor.te31njn8n387601_l3_p') |
float(0) %} {% set output =
states('number.eeb4aep1p032084_outputlimit')
| float(0) %}
{% if -50 <= current <= 50 %}
{{ output | round(0) }}
{% else %}
{% set delta = 0.7 * current %}
{% set cible = output + delta %}
{% set result = cible - 50 if cible > 0 else cible %}
{{ [result, 900] | min | round(0) }}
{% endif %}
enabled: false
alias: Si 3CT > 50W, on compense avec xW pour arriver à 50W
- conditions:
- condition: numeric_state
entity_id: sensor.te31njn8n387601_l3_p
below: -200
- type: is_battery_level
condition: device
device_id: afda895cc1812b99521eb78710326b89
entity_id: f25a2fe7b99ed232a00fd0c82cb205e2
domain: sensor
above: 90
alias: QCELLs > 90%
sequence:
- alias: >-
On demarre la charge de SF2400 avec 0.3 de ce
qu'on inject en trop
sequence:
- device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: select_option
option: Input mode
- device_id: a9bed78637a3d4199888177480ba0f4b
domain: number
entity_id: f2984ee0e6ebcf40e208c5a0d56b90d8
type: set_value
value: 0
- action: number.set_value
target:
entity_id: number.eeb4aep1p032084_inputlimit
data:
value: >
{% set current =
states('sensor.te31njn8n387601_l3_p') |
float(0) %} {% set input =
states('number.eeb4aep1p032084_inputlimit')
| float(0) %}
{% if -50 <= current <= 50 %}
{{ input | round(0) }}
{% else %}
{% set current = current * -1 %}
{% set delta = 0.3 * current %}
{% set cible = input + delta %}
{% set result = cible - 50 if cible > 0 else cible %}
{{ [result, 900] | min | round(0) }}
{% endif %}
- device_id: a9bed78637a3d4199888177480ba0f4b
domain: number
entity_id: 446540682f8a0142e01a5f8a2272926d
type: set_value
value: 200
enabled: false
alias: QCELLs full
alias: QCELLS en Standby
- conditions:
- condition: state
entity_id: sensor.qcells_etat
state:
- En charge
sequence:
- alias: Si surplus de production
choose:
- conditions:
- condition: and
conditions:
- condition: numeric_state
entity_id: sensor.qcells_inverter_production_2
below: 20
- type: is_power
condition: device
device_id: 181b299767530862f68a9d7f84c40146
entity_id: 04b888d40622ee63c389a1da5046b77f
domain: sensor
below: -50
sequence:
- alias: Faut-il lancer la charge du SF2400 ?
choose:
- conditions:
- condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: selected_option
option: Output mode
sequence:
- target:
entity_id: number.eeb4aep1p032084_outputlimit
data:
value: >
{% set current =
states('sensor.te31njn8n387601_l3_p') |
float %} {% set output =
states('number.eeb4aep1p032084_outputlimit')
| float %}
{% if -50 <= current <= 50 %}
{{ output | round(0) }}
{% else %}
{% set surplus = current * -1 %}
{% set delta = 0.7 * surplus %}
{{ (output - delta) | round(0) }}
{% endif %}
action: number.set_value
alias: >-
SF2400 est-il en output, auquel ca il faut
réduire son injection
- conditions: []
sequence:
- sequence:
- alias: >-
SF2400 - Changement d'état OUT to IN si
necessaire
if:
- condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: selected_option
option: Output mode
then:
- device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: select_option
option: Input mode
- target:
entity_id: number.eeb4aep1p032084_inputlimit
data:
value: >
{% set current =
states('sensor.te31njn8n387601_l3_p') |
float %} {% set input =
states('number.eeb4aep1p032084_inputlimit')
| float %}
{% if -50 <= current <= 50 %}
{{ input | round(0) }}
{% else %}
{% set surplus = current * -1 %}
{% set delta = 0.7 * surplus %}
{{ (input + delta) | round(0) }}
{% endif %}
action: number.set_value
alias: 3CT negatif < -50W vérification sur QCELLS inject
- conditions:
- condition: or
conditions:
- condition: and
conditions:
- condition: numeric_state
entity_id: sensor.qcells_inverter_production_2
below: 10
- condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: selected_option
option: Output mode
- condition: and
conditions:
- condition: numeric_state
entity_id: sensor.qcells_inverter_production_2
below: sensor.qcells_production_solaire
enabled: false
sequence:
- target:
entity_id: number.eeb4aep1p032084_outputlimit
data:
value: >
{% set current =
states('sensor.te31njn8n387601_l3_p') | float
%} {% set output =
states('number.eeb4aep1p032084_outputlimit') |
float %} {% set qcell =
states('sensor.qcells_inverter_production_2') |
float %}
{% if qcell <= 10 %}
{{ output | round(0) }}
{% else %}
{% set surplus = current * -1 %}
{% set delta = 0.1 * output %}
{{ (output - delta) | round(0) }}
{% endif %}
action: number.set_value
alias: QCELLS en Charge
- conditions:
- condition: state
entity_id: sensor.qcells_etat
state:
- En décharge
sequence:
- choose:
- conditions:
- alias: >-
QCELLs à plus de 90%, on réduit la charge de
SF2400 si en charge
condition: and
conditions:
- condition: and
conditions: []
- condition: numeric_state
entity_id: sensor.qcells_batterie_level
above: 90
- condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: selected_option
option: Input mode
sequence:
- action: number.set_value
target:
entity_id: number.eeb4aep1p032084_inputlimit
data:
value: >
{% set current =
states('sensor.te31njn8n387601_l3_p') | float(0)
%}
{% set input =
states('number.eeb4aep1p032084_inputlimit') |
float(0) %}
{% if -50 <= current <= 50 %}
{{ input | round(0) }}
{% else %}
{% set delta = 0.7 * current * -1 %}
{% set cible = input - delta %}
{% set result = cible - 50 if cible > 0 else cible %}
{{ [result, 900] | min | round(0) }}
{% endif %}
- conditions:
- condition: numeric_state
entity_id: sensor.te31njn8n387601_l3_p
above: 50
- type: is_power
condition: device
device_id: afda895cc1812b99521eb78710326b89
entity_id: ef2eee2418adb0259f2f29dbd7ed8206
domain: sensor
above: 1900
sequence:
- sequence:
- if:
- condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: selected_option
option: Input mode
then:
- device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: select_option
option: Output mode
alias: >-
SF2400 - Changement d'état IN to Out si
necessaire
- action: number.set_value
target:
entity_id: number.eeb4aep1p032084_outputlimit
data:
value: >
{% set current =
states('sensor.te31njn8n387601_l3_p') |
float(0) %} {% set output =
states('number.eeb4aep1p032084_outputlimit')
| float(0) %}
{% if -50 <= current <= 50 %}
{{ output | round(0) }}
{% else %}
{% set delta = 0.7 * current %}
{% set cible = output + delta %}
{% set result = cible - 50 if cible > 0 else cible %}
{{ [result, 900] | min | round(0) }}
{% endif %}
alias: >-
Qcells en Décharge mais on tire toujours de l'EDF, on
compense avec SF2400
- conditions:
- type: is_power
condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
entity_id: b220a07315cd6e8c253e8c771528fd3e
domain: sensor
above: 50
sequence:
- sequence:
- action: number.set_value
target:
entity_id: number.eeb4aep1p032084_outputlimit
data:
value: >
{% set current =
states('sensor.te31njn8n387601_l3_p') |
float(0) %}
{% set output =
states('number.eeb4aep1p032084_outputlimit')
| float(0) %}
{% set delta = 0.3 * output %}
{% set cible = output - delta %}
{% set result = cible - 50 if cible > 0 else
cible %}
{% if -50 <= result <= 50 %}
{{ output | round(0) }}
{% else %}
{{ [result, 900] | min | round(0) }}
{% endif %}
alias: QCELLs est en Decharge mais SF aussi, on reduit SF
alias: QCELLS en Decharge
alias: Si HP
- conditions:
- condition: state
entity_id: sensor.linky_current_price
state:
- HEURE CREUSE
sequence:
- alias: Faut-il lancer la charge du SF2400 ?
choose:
- conditions:
- condition: state
entity_id: sensor.qcells_etat
state:
- En décharge
sequence:
- sequence:
- target:
entity_id: number.eeb4aep1p032084_inputlimit
data:
value: "0"
action: number.set_value
alias: >-
QCELLs est en Décharge alors mettre le SF2400 en input mais à
0W !
- conditions:
- condition: and
conditions:
- condition: state
entity_id: sensor.qcells_etat
state:
- Standby
alias: Si Qcells est Standby
- condition: numeric_state
entity_id: sensor.qcells_batterie_level
below: 11
alias: Si QCells < 11%
- type: is_battery_level
condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
entity_id: 23f1ec717c4dcf6732d11bfaac92d296
domain: sensor
below: 35
alias: Si SF2400 < 35%
sequence:
- sequence:
- alias: SF2400 - Changement d'état OUT to IN si necessaire
if:
- condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: selected_option
option: Output mode
then:
- device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: select_option
option: Input mode
- target:
entity_id: number.eeb4aep1p032084_inputlimit
data:
value: "900"
action: number.set_value
- if:
- condition: numeric_state
entity_id: number.eeb4aep1p032084_inputlimit
below: 800
then:
- device_id: a9bed78637a3d4199888177480ba0f4b
domain: number
entity_id: 446540682f8a0142e01a5f8a2272926d
type: set_value
value: 900
alias: Charge SF2400 Si Qcells vide et SF2400 <35%
- conditions:
- type: is_battery_level
condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
entity_id: 23f1ec717c4dcf6732d11bfaac92d296
domain: sensor
above: 89
sequence:
- sequence:
- alias: SF2400 - Changement d'état IN to OUT si necessaire
if:
- condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: selected_option
option: Input mode
then:
- device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: select_option
option: Output mode
- target:
entity_id: number.eeb4aep1p032084_outputlimit
data:
value: "300"
action: number.set_value
alias: SF2400 est à >=90%
- conditions:
- condition: and
conditions:
- condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
domain: select
entity_id: faa8306ea0f42cc0b510209a0e408c8e
type: selected_option
option: Output mode
alias: "SF2400 Mode : output"
- type: is_battery_level
condition: device
device_id: a9bed78637a3d4199888177480ba0f4b
entity_id: 23f1ec717c4dcf6732d11bfaac92d296
domain: sensor
below: 41
alias: SF2400 Bat <=41%
alias: SF2400 <=41% et AC Output
sequence:
- sequence:
- target:
entity_id: number.eeb4aep1p032084_outputlimit
data:
value: "0"
action: number.set_value
alias: "SF2400 Stop decharge : Output 0W"
alias: Stop decharge SF2400
alias: SF2400 est à <=40% et si il etait en décharge, on stop
alias: Si HC
mode: single
No comments to display
No comments to display